about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS3
-rw-r--r--.github/workflows/periodic-merge-24h.yml6
-rw-r--r--.github/workflows/periodic-merge-6h.yml2
-rw-r--r--doc/build-helpers/images/dockertools.section.md206
-rw-r--r--doc/build-helpers/trivial-build-helpers.chapter.md13
-rw-r--r--doc/doc-support/lib-function-docs.nix2
-rw-r--r--doc/hooks/python.section.md2
-rw-r--r--doc/languages-frameworks/beam.section.md2
-rw-r--r--doc/languages-frameworks/haskell.section.md62
-rw-r--r--doc/preface.chapter.md12
-rw-r--r--lib/fileset/internal.nix19
-rwxr-xr-xlib/fileset/tests.sh13
-rw-r--r--lib/licenses.nix5
-rwxr-xr-xlib/tests/modules.sh1
-rw-r--r--lib/tests/modules/error-nonEmptyListOf-submodule.nix7
-rw-r--r--lib/trivial.nix2
-rw-r--r--lib/types.nix1
-rw-r--r--maintainers/maintainer-list.nix139
-rw-r--r--maintainers/scripts/bootstrap-files/README.md85
-rwxr-xr-xmaintainers/scripts/bootstrap-files/refresh-tarballs.bash282
-rw-r--r--nixos/doc/manual/release-notes/rl-2405.section.md33
-rw-r--r--nixos/lib/utils.nix1
-rw-r--r--nixos/modules/config/no-x-libs.nix1
-rw-r--r--nixos/modules/image/repart-image.nix2
-rw-r--r--nixos/modules/image/repart.nix12
-rw-r--r--nixos/modules/module-list.nix5
-rw-r--r--nixos/modules/profiles/hardened.nix9
-rw-r--r--nixos/modules/programs/mouse-actions.nix15
-rw-r--r--nixos/modules/programs/nautilus-open-any-terminal.nix36
-rw-r--r--nixos/modules/security/pam.nix3
-rw-r--r--nixos/modules/security/wrappers/wrapper.c7
-rw-r--r--nixos/modules/services/audio/navidrome.nix1
-rw-r--r--nixos/modules/services/hardware/acpid.nix1
-rw-r--r--nixos/modules/services/hardware/handheld-daemon.nix44
-rw-r--r--nixos/modules/services/hardware/ratbagd.nix8
-rw-r--r--nixos/modules/services/mail/dovecot.nix8
-rw-r--r--nixos/modules/services/misc/moonraker.nix23
-rw-r--r--nixos/modules/services/misc/packagekit.nix4
-rw-r--r--nixos/modules/services/misc/paperless.nix28
-rw-r--r--nixos/modules/services/misc/portunus.nix95
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/openvpn.nix39
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/restic.nix131
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/snmp.nix1
-rw-r--r--nixos/modules/services/monitoring/zabbix-proxy.nix5
-rw-r--r--nixos/modules/services/monitoring/zabbix-server.nix5
-rw-r--r--nixos/modules/services/networking/kresd.nix2
-rw-r--r--nixos/modules/services/networking/pyload.nix147
-rw-r--r--nixos/modules/services/networking/seafile.nix278
-rw-r--r--nixos/modules/services/networking/strongswan-swanctl/module.nix13
-rw-r--r--nixos/modules/services/security/bitwarden-directory-connector-cli.nix64
-rw-r--r--nixos/modules/services/system/systemd-lock-handler.md47
-rw-r--r--nixos/modules/services/system/systemd-lock-handler.nix27
-rw-r--r--nixos/modules/services/web-apps/lemmy.nix3
-rw-r--r--nixos/modules/services/web-apps/mastodon.nix1
-rw-r--r--nixos/modules/services/web-apps/nextcloud-notify_push.nix2
-rw-r--r--nixos/modules/services/web-apps/nextcloud.md2
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix29
-rw-r--r--nixos/modules/services/web-apps/photoprism.nix3
-rw-r--r--nixos/modules/services/web-apps/pretalx.nix415
-rw-r--r--nixos/modules/services/web-apps/youtrack.md30
-rw-r--r--nixos/modules/services/web-apps/youtrack.nix237
-rw-r--r--nixos/modules/services/web-servers/zope2.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/budgie.nix4
-rw-r--r--nixos/modules/services/x11/desktop-managers/deepin.nix11
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix7
-rw-r--r--nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py2
-rw-r--r--nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix11
-rw-r--r--nixos/modules/system/boot/networkd.nix6
-rw-r--r--nixos/modules/system/boot/systemd/initrd.nix1
-rw-r--r--nixos/tests/all-tests.nix4
-rw-r--r--nixos/tests/appliance-repart-image.nix2
-rw-r--r--nixos/tests/budgie.nix7
-rw-r--r--nixos/tests/kernel-generic.nix1
-rw-r--r--nixos/tests/netbird.nix2
-rw-r--r--nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix2
-rw-r--r--nixos/tests/nextcloud/with-postgresql-and-redis.nix2
-rw-r--r--nixos/tests/nixos-rebuild-target-host.nix5
-rw-r--r--nixos/tests/pomerium.nix4
-rw-r--r--nixos/tests/prometheus-exporters.nix80
-rw-r--r--nixos/tests/pyload.nix33
-rw-r--r--nixos/tests/sane.nix85
-rw-r--r--nixos/tests/systemd-lock-handler.nix56
-rw-r--r--nixos/tests/web-apps/pretalx.nix31
-rw-r--r--nixos/tests/zfs.nix25
-rw-r--r--pkgs/README.md2
-rw-r--r--pkgs/applications/audio/bristol/default.nix30
-rw-r--r--pkgs/applications/audio/ensemble-chorus/default.nix2
-rw-r--r--pkgs/applications/audio/faustPhysicalModeling/default.nix4
-rw-r--r--pkgs/applications/audio/grandorgue/default.nix31
-rw-r--r--pkgs/applications/audio/ledfx/default.nix4
-rw-r--r--pkgs/applications/audio/monkeys-audio/default.nix4
-rw-r--r--pkgs/applications/audio/mympd/default.nix4
-rw-r--r--pkgs/applications/audio/netease-music-tui/default.nix1
-rw-r--r--pkgs/applications/audio/polyphone/default.nix5
-rw-r--r--pkgs/applications/audio/psst/default.nix6
-rw-r--r--pkgs/applications/audio/psst/make-build-reproducible.patch2
-rw-r--r--pkgs/applications/audio/reaper/default.nix8
-rw-r--r--pkgs/applications/audio/roomeqwizard/default.nix4
-rw-r--r--pkgs/applications/audio/sonic-pi/default.nix6
-rw-r--r--pkgs/applications/audio/tauon/default.nix4
-rw-r--r--pkgs/applications/backup/unifi-protect-backup/default.nix4
-rw-r--r--pkgs/applications/blockchains/ergo/default.nix4
-rw-r--r--pkgs/applications/editors/android-studio/default.nix4
-rw-r--r--pkgs/applications/editors/aseprite/skia.nix4
-rw-r--r--pkgs/applications/editors/neovim/neovide/default.nix6
-rw-r--r--pkgs/applications/editors/typora/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix13
-rw-r--r--pkgs/applications/emulators/craftos-pc/default.nix17
-rw-r--r--pkgs/applications/emulators/fceux/default.nix19
-rw-r--r--pkgs/applications/emulators/mame/default.nix4
-rw-r--r--pkgs/applications/emulators/pcsx2/default.nix8
-rw-r--r--pkgs/applications/emulators/yuzu/compat-list.nix6
-rw-r--r--pkgs/applications/emulators/yuzu/default.nix12
-rw-r--r--pkgs/applications/emulators/yuzu/early-access/default.nix1
-rw-r--r--pkgs/applications/emulators/yuzu/early-access/sources.nix8
-rwxr-xr-xpkgs/applications/emulators/yuzu/early-access/update.sh6
-rw-r--r--pkgs/applications/emulators/yuzu/mainline.nix7
-rw-r--r--pkgs/applications/emulators/yuzu/nx_tzdb.nix6
-rwxr-xr-xpkgs/applications/emulators/yuzu/update.sh2
-rw-r--r--pkgs/applications/file-managers/felix-fm/default.nix6
-rw-r--r--pkgs/applications/gis/qgis/unwrapped.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--pkgs/applications/graphics/digikam/default.nix1
-rw-r--r--pkgs/applications/graphics/djv/default.nix5
-rw-r--r--pkgs/applications/graphics/komikku/default.nix4
-rw-r--r--pkgs/applications/graphics/lazpaint/default.nix35
-rw-r--r--pkgs/applications/graphics/oculante/default.nix6
-rw-r--r--pkgs/applications/graphics/sane/backends/default.nix5
-rw-r--r--pkgs/applications/graphics/tev/default.nix2
-rw-r--r--pkgs/applications/graphics/vengi-tools/default.nix4
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix18
-rw-r--r--pkgs/applications/misc/avrdudess/default.nix6
-rw-r--r--pkgs/applications/misc/bambu-studio/default.nix4
-rw-r--r--pkgs/applications/misc/bemenu/default.nix4
-rw-r--r--pkgs/applications/misc/diff-pdf/default.nix4
-rw-r--r--pkgs/applications/misc/diffuse/default.nix4
-rw-r--r--pkgs/applications/misc/ganttproject-bin/default.nix10
-rw-r--r--pkgs/applications/misc/goldendict-ng/default.nix9
-rw-r--r--pkgs/applications/misc/gramps/default.nix93
-rw-r--r--pkgs/applications/misc/hamster/default.nix6
-rw-r--r--pkgs/applications/misc/harsh/default.nix6
-rw-r--r--pkgs/applications/misc/khal/default.nix9
-rw-r--r--pkgs/applications/misc/logseq/default.nix1
-rw-r--r--pkgs/applications/misc/loxodo/default.nix2
-rw-r--r--pkgs/applications/misc/meerk40t/default.nix44
-rw-r--r--pkgs/applications/misc/monitorcontrol/default.nix19
-rw-r--r--pkgs/applications/misc/mozphab/default.nix4
-rw-r--r--pkgs/applications/misc/nwg-bar/default.nix6
-rw-r--r--pkgs/applications/misc/nwg-displays/default.nix4
-rw-r--r--pkgs/applications/misc/nwg-look/default.nix6
-rw-r--r--pkgs/applications/misc/nwg-menu/default.nix6
-rw-r--r--pkgs/applications/misc/opencpn/default.nix39
-rw-r--r--pkgs/applications/misc/organicmaps/default.nix4
-rw-r--r--pkgs/applications/misc/oversteer/default.nix4
-rw-r--r--pkgs/applications/misc/process-compose/default.nix6
-rw-r--r--pkgs/applications/misc/prusa-slicer/default.nix4
-rw-r--r--pkgs/applications/misc/pure-maps/default.nix4
-rw-r--r--pkgs/applications/misc/pydf/default.nix1
-rw-r--r--pkgs/applications/misc/qdirstat/default.nix4
-rw-r--r--pkgs/applications/misc/remarkable/restream/default.nix6
-rw-r--r--pkgs/applications/misc/sigal/copytree-permissions.patch16
-rw-r--r--pkgs/applications/misc/sigal/default.nix12
-rw-r--r--pkgs/applications/misc/stretchly/default.nix31
-rw-r--r--pkgs/applications/misc/sway-contrib/default.nix21
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix18
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix11
-rw-r--r--pkgs/applications/misc/tippecanoe/default.nix4
-rw-r--r--pkgs/applications/misc/tui-journal/default.nix8
-rw-r--r--pkgs/applications/misc/udiskie/default.nix10
-rw-r--r--pkgs/applications/misc/waypaper/default.nix7
-rw-r--r--pkgs/applications/misc/wmenu/default.nix4
-rw-r--r--pkgs/applications/misc/wordnet/default.nix3
-rw-r--r--pkgs/applications/misc/xcruiser/default.nix14
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix16
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix11
-rw-r--r--pkgs/applications/networking/browsers/librewolf/src.json10
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/netsurf/buildsystem.nix4
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/cilium/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix6
-rw-r--r--pkgs/applications/networking/cluster/hubble/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubecm/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubectl-explore/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubectl-node-shell/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubedog/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubergrunt/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubeseal/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubeshark/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/linkerd/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/linkerd/edge.nix6
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/roxctl/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform-compliance/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json236
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/tfupdate/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/tilt/assets.nix2
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/deck/default.nix6
-rw-r--r--pkgs/applications/networking/discordo/default.nix8
-rw-r--r--pkgs/applications/networking/firewalld/default.nix4
-rw-r--r--pkgs/applications/networking/gnmic/default.nix6
-rw-r--r--pkgs/applications/networking/ids/zeek/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/armcord/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/beeper/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/chatty/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix32
-rw-r--r--pkgs/applications/networking/instant-messengers/element/pin.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix110
-rw-r--r--pkgs/applications/networking/instant-messengers/qq/sources.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/webcord/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/zulip/default.nix4
-rw-r--r--pkgs/applications/networking/ipfs-cluster/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/default.nix6
-rw-r--r--pkgs/applications/networking/mkchromecast/default.nix4
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/deluge/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/flood-for-transmission/default.nix6
-rw-r--r--pkgs/applications/networking/pyload-ng/declarative-default-user.patch15
-rw-r--r--pkgs/applications/networking/pyload-ng/declarative-env-config.patch18
-rw-r--r--pkgs/applications/networking/pyload-ng/default.nix32
-rw-r--r--pkgs/applications/networking/qv2ray/default.nix4
-rw-r--r--pkgs/applications/networking/remote/vmware-horizon-client/default.nix6
-rw-r--r--pkgs/applications/networking/seahub/default.nix15
-rw-r--r--pkgs/applications/networking/shellhub-agent/default.nix6
-rw-r--r--pkgs/applications/networking/sync/storj-uplink/default.nix6
-rw-r--r--pkgs/applications/networking/vnstat/default.nix4
-rw-r--r--pkgs/applications/office/activitywatch/default.nix9
-rw-r--r--pkgs/applications/office/jameica/default.nix6
-rw-r--r--pkgs/applications/office/libreoffice/darwin/default.nix1
-rw-r--r--pkgs/applications/office/paperless-ngx/default.nix6
-rw-r--r--pkgs/applications/office/paperwork/paperwork-gtk.nix2
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/super-productivity/default.nix4
-rw-r--r--pkgs/applications/office/timeular/default.nix4
-rw-r--r--pkgs/applications/office/treesheets/default.nix6
-rw-r--r--pkgs/applications/office/tryton/default.nix4
-rw-r--r--pkgs/applications/office/zotero/default.nix1
-rw-r--r--pkgs/applications/radio/gnuradio/3.8.nix2
-rw-r--r--pkgs/applications/radio/gnuradio/3.9.nix6
-rw-r--r--pkgs/applications/radio/gnuradio/shared.nix2
-rw-r--r--pkgs/applications/science/biology/deeptools/default.nix36
-rw-r--r--pkgs/applications/science/biology/igv/default.nix11
-rw-r--r--pkgs/applications/science/biology/obitools/obitools3.nix4
-rw-r--r--pkgs/applications/science/biology/samtools/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/mopac/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/octopus/default.nix48
-rw-r--r--pkgs/applications/science/electronics/dsview/default.nix13
-rw-r--r--pkgs/applications/science/electronics/dsview/install.patch2
-rw-r--r--pkgs/applications/science/electronics/fritzing/default.nix27
-rw-r--r--pkgs/applications/science/electronics/kicad/versions.nix32
-rw-r--r--pkgs/applications/science/logic/btor2tools/default.nix10
-rw-r--r--pkgs/applications/science/logic/cvc5/default.nix4
-rw-r--r--pkgs/applications/science/logic/easycrypt/default.nix3
-rw-r--r--pkgs/applications/science/logic/egglog/Cargo.lock383
-rw-r--r--pkgs/applications/science/logic/egglog/default.nix12
-rw-r--r--pkgs/applications/science/logic/lean4/default.nix21
-rw-r--r--pkgs/applications/science/logic/why3/default.nix24
-rw-r--r--pkgs/applications/science/logic/z3/default.nix4
-rw-r--r--pkgs/applications/science/math/eigenmath/default.nix6
-rw-r--r--pkgs/applications/science/misc/boinc/default.nix4
-rw-r--r--pkgs/applications/science/misc/foldingathome/client.nix17
-rw-r--r--pkgs/applications/science/misc/gplates/default.nix2
-rw-r--r--pkgs/applications/science/misc/root/default.nix12
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix4
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/contour/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix9
-rw-r--r--pkgs/applications/terminal-emulators/wezterm/Cargo.lock2234
-rw-r--r--pkgs/applications/terminal-emulators/wezterm/default.nix8
-rw-r--r--pkgs/applications/version-management/forgejo/default.nix8
-rw-r--r--pkgs/applications/version-management/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/git-cinnabar/default.nix6
-rw-r--r--pkgs/applications/version-management/git-cola/default.nix4
-rw-r--r--pkgs/applications/version-management/git-mit/default.nix6
-rw-r--r--pkgs/applications/version-management/git-publish/default.nix4
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json18
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix48
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-elasticsearch-indexer/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-pages/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile51
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock178
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix203
-rw-r--r--pkgs/applications/version-management/gitstatus/romkatv_libgit2.nix4
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix2
-rw-r--r--pkgs/applications/version-management/pass-git-helper/default.nix6
-rw-r--r--pkgs/applications/version-management/silver-platter/default.nix17
-rw-r--r--pkgs/applications/video/kodi/addons/netflix/default.nix4
-rw-r--r--pkgs/applications/video/memento/default.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix7
-rw-r--r--pkgs/applications/video/pipe-viewer/default.nix4
-rw-r--r--pkgs/applications/video/vdr/default.nix4
-rw-r--r--pkgs/applications/video/vdr/markad/default.nix4
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--pkgs/applications/virtualization/distrobox/always-mount-nix.patch137
-rw-r--r--pkgs/applications/virtualization/distrobox/default.nix15
-rw-r--r--pkgs/applications/virtualization/docker/compose.nix6
-rw-r--r--pkgs/applications/virtualization/docker/default.nix11
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix9
-rw-r--r--pkgs/applications/virtualization/runc/default.nix4
-rw-r--r--pkgs/applications/virtualization/singularity/packages.nix6
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix5
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix3
-rw-r--r--pkgs/applications/window-managers/evilwm/default.nix4
-rw-r--r--pkgs/applications/window-managers/miriway/default.nix6
-rw-r--r--pkgs/applications/window-managers/picom/default.nix4
-rw-r--r--pkgs/build-support/bintools-wrapper/default.nix2
-rw-r--r--pkgs/build-support/fetchgithub/default.nix6
-rw-r--r--pkgs/build-support/kernel/compress-firmware-xz.nix9
-rw-r--r--pkgs/build-support/rust/build-rust-crate/configure-crate.nix16
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix10
-rw-r--r--pkgs/build-support/testers/hasPkgConfigModules/tester.nix5
-rw-r--r--pkgs/build-support/trivial-builders/default.nix127
-rw-r--r--pkgs/build-support/trivial-builders/test/writeShellApplication.nix152
-rw-r--r--pkgs/build-support/writers/default.nix1
-rw-r--r--pkgs/build-support/writers/scripts.nix107
-rw-r--r--pkgs/build-support/writers/test.nix118
-rw-r--r--pkgs/by-name/aa/aaaaxy/package.nix6
-rw-r--r--pkgs/by-name/al/alsa-lib-with-plugins/package.nix52
-rw-r--r--pkgs/by-name/am/amazon-ssm-agent/package.nix4
-rw-r--r--pkgs/by-name/an/anytype/package.nix8
-rw-r--r--pkgs/by-name/ap/apt/package.nix4
-rw-r--r--pkgs/by-name/as/ast-grep/package.nix6
-rw-r--r--pkgs/by-name/au/authentik/ldap.nix18
-rw-r--r--pkgs/by-name/au/authentik/outposts.nix5
-rw-r--r--pkgs/by-name/au/authentik/package.nix254
-rw-r--r--pkgs/by-name/bi/bitbake-language-server/package.nix4
-rw-r--r--pkgs/by-name/bi/bitmagnet/package.nix6
-rw-r--r--pkgs/by-name/bl/bluez/package.nix2
-rw-r--r--pkgs/by-name/bn/bngblaster/package.nix4
-rw-r--r--pkgs/by-name/bo/bobcat/package.nix72
-rw-r--r--pkgs/by-name/bo/boxed-cpp/package.nix4
-rw-r--r--pkgs/by-name/bu/bullshit/package.nix43
-rw-r--r--pkgs/by-name/c-/c-periphery/package.nix35
-rw-r--r--pkgs/by-name/c2/c2fmzq/package.nix6
-rw-r--r--pkgs/by-name/ca/cargo-xwin/package.nix6
-rw-r--r--pkgs/by-name/cl/clamtk/package.nix15
-rw-r--r--pkgs/by-name/co/codeium/package.nix10
-rw-r--r--pkgs/by-name/co/cook-cli/package.nix58
-rw-r--r--pkgs/by-name/co/cosmic-comp/package.nix27
-rw-r--r--pkgs/by-name/co/cosmic-edit/Cargo.lock195
-rw-r--r--pkgs/by-name/co/cosmic-edit/package.nix39
-rw-r--r--pkgs/by-name/co/cosmic-icons/package.nix6
-rw-r--r--pkgs/by-name/cr/crawley/package.nix6
-rw-r--r--pkgs/by-name/cr/cryptor/package.nix4
-rw-r--r--pkgs/by-name/dc/dc3dd/package.nix41
-rw-r--r--pkgs/by-name/do/docfd/package.nix44
-rw-r--r--pkgs/by-name/do/doge/package.nix17
-rw-r--r--pkgs/by-name/do/dorion/package.nix4
-rw-r--r--pkgs/by-name/dp/dpp/package.nix49
-rw-r--r--pkgs/by-name/dy/dynamodb-local/package.nix14
-rw-r--r--pkgs/by-name/ea/easyeasm/package.nix51
-rw-r--r--pkgs/by-name/ei/eigenlayer/package.nix4
-rw-r--r--pkgs/by-name/ei/eiwd/package.nix4
-rw-r--r--pkgs/by-name/el/elektroid/package.nix4
-rw-r--r--pkgs/by-name/ex/exegol/package.nix44
-rw-r--r--pkgs/by-name/ez/eza/package.nix6
-rw-r--r--pkgs/by-name/fa/fanbox-dl/package.nix6
-rw-r--r--pkgs/by-name/fa/fast-float/package.nix29
-rw-r--r--pkgs/by-name/fb/fbset/package.nix42
-rw-r--r--pkgs/by-name/fe/fennel-ls/package.nix29
-rw-r--r--pkgs/by-name/fi/files-cli/package.nix6
-rw-r--r--pkgs/by-name/fl/flarectl/package.nix4
-rw-r--r--pkgs/by-name/fo/fortune-kind/package.nix6
-rw-r--r--pkgs/by-name/fu/fuchsia-cursor/package.nix60
-rw-r--r--pkgs/by-name/ga/galerio/package.nix23
-rw-r--r--pkgs/by-name/gc/gcs/package.nix86
-rw-r--r--pkgs/by-name/ge/geist-font/package.nix43
-rw-r--r--pkgs/by-name/go/goldwarden/package.nix4
-rw-r--r--pkgs/by-name/go/golink/package.nix32
-rw-r--r--pkgs/by-name/go/gomarkdoc/package.nix44
-rw-r--r--pkgs/by-name/gr/graphite-cli/package-lock.json237
-rw-r--r--pkgs/by-name/gr/graphite-cli/package.nix44
-rwxr-xr-xpkgs/by-name/gr/graphite-cli/update.sh30
-rw-r--r--pkgs/by-name/gr/gruvbox-gtk-theme/package.nix (renamed from pkgs/data/themes/gruvbox-gtk-theme/default.nix)2
-rw-r--r--pkgs/by-name/gt/gtimelog/package.nix60
-rw-r--r--pkgs/by-name/gu/guile-chickadee/package.nix80
-rw-r--r--pkgs/by-name/gu/guile-goblins/package.nix7
-rw-r--r--pkgs/by-name/ha/handheld-daemon/package.nix54
-rw-r--r--pkgs/by-name/he/helix-gpt/package.nix63
-rw-r--r--pkgs/by-name/he/helix-gpt/pin.json6
-rw-r--r--pkgs/by-name/hu/hugo/package.nix6
-rw-r--r--pkgs/by-name/ia/ianny/package.nix43
-rw-r--r--pkgs/by-name/ig/igir/package.nix (renamed from pkgs/tools/games/igir/default.nix)13
-rw-r--r--pkgs/by-name/in/incus-unwrapped/package.nix17
-rw-r--r--pkgs/by-name/in/invidtui/package.nix6
-rw-r--r--pkgs/by-name/ja/jazz2/package.nix4
-rw-r--r--pkgs/by-name/kp/kplex/package.nix32
-rw-r--r--pkgs/by-name/kt/ktfmt/package.nix4
-rw-r--r--pkgs/by-name/le/legba/package.nix6
-rw-r--r--pkgs/by-name/li/libbfio/package.nix29
-rw-r--r--pkgs/by-name/li/libbgcode/package.nix1
-rw-r--r--pkgs/by-name/li/lint-staged/package.nix6
-rw-r--r--pkgs/by-name/li/littlefs-fuse/package.nix4
-rw-r--r--pkgs/by-name/md/md4c/0001-fix-pkgconfig.patch (renamed from pkgs/development/libraries/md4c/fix-pkgconfig.patch)0
-rw-r--r--pkgs/by-name/md/md4c/package.nix (renamed from pkgs/development/libraries/md4c/default.nix)39
-rw-r--r--pkgs/by-name/me/mercure/package.nix6
-rw-r--r--pkgs/by-name/mo/mouse-actions/package.nix49
-rw-r--r--pkgs/by-name/mu/muparser/package.nix40
-rw-r--r--pkgs/by-name/my/mystmd/package.nix6
-rw-r--r--pkgs/by-name/na/namespace-cli/package.nix6
-rw-r--r--pkgs/by-name/na/narsil/package.nix51
-rw-r--r--pkgs/by-name/ne/newsraft/package.nix4
-rw-r--r--pkgs/by-name/ne/nextpnr/package.nix (renamed from pkgs/development/compilers/nextpnr/default.nix)6
-rw-r--r--pkgs/by-name/ni/nightfox-gtk-theme/package.nix43
-rw-r--r--pkgs/by-name/ni/nimlsp/package.nix4
-rw-r--r--pkgs/by-name/ni/nixfmt-rfc-style/date.txt2
-rw-r--r--pkgs/by-name/ni/nixfmt-rfc-style/generated-package.nix4
-rw-r--r--pkgs/by-name/no/nomnatong/package.nix4
-rw-r--r--pkgs/by-name/nr/nrr/package.nix40
-rw-r--r--pkgs/by-name/nv/nvmetcfg/package.nix27
-rw-r--r--pkgs/by-name/oa/oam-tools/package.nix30
-rw-r--r--pkgs/by-name/oe/oelint-adv/package.nix4
-rw-r--r--pkgs/by-name/of/offpunk/package.nix7
-rw-r--r--pkgs/by-name/on/onedrivegui/package.nix2
-rw-r--r--pkgs/by-name/op/openscad-unstable/package.nix159
-rw-r--r--pkgs/by-name/ot/oterm/package.nix21
-rw-r--r--pkgs/by-name/pa/paper-age/package.nix6
-rw-r--r--pkgs/by-name/pa/paper-clip/package.nix4
-rw-r--r--pkgs/by-name/pa/parsify/package.nix36
-rw-r--r--pkgs/by-name/pd/pdfannots2json/package.nix25
-rw-r--r--pkgs/by-name/pi/pixi/package.nix2
-rw-r--r--pkgs/by-name/pm/pm2/package.nix29
-rw-r--r--pkgs/by-name/pm/pmtiles/package.nix6
-rw-r--r--pkgs/by-name/pp/ppsspp/package.nix43
-rw-r--r--pkgs/by-name/pr/presenterm/package.nix18
-rw-r--r--pkgs/by-name/pr/pretalx/package.nix201
-rw-r--r--pkgs/by-name/pr/prometheus-restic-exporter/package.nix49
-rw-r--r--pkgs/by-name/pr/prowler/package.nix69
-rw-r--r--pkgs/by-name/pu/pupdate/package.nix4
-rw-r--r--pkgs/by-name/py/pysqlrecon/package.nix49
-rw-r--r--pkgs/by-name/qs/qsreplace/package.nix28
-rw-r--r--pkgs/by-name/qt/qtractor/package.nix (renamed from pkgs/applications/audio/qtractor/default.nix)24
-rw-r--r--pkgs/by-name/re/renode-dts2repl/package.nix6
-rw-r--r--pkgs/by-name/re/renode-unstable/package.nix4
-rw-r--r--pkgs/by-name/rm/rmg/package.nix20
-rw-r--r--pkgs/by-name/sb/sbcl/bootstrap.nix (renamed from pkgs/development/compilers/sbcl/bootstrap.nix)0
-rw-r--r--pkgs/by-name/sb/sbcl/fix-2.4.0-aarch64-darwin.patch (renamed from pkgs/development/compilers/sbcl/fix-2.4.0-aarch64-darwin.patch)0
-rw-r--r--pkgs/by-name/sb/sbcl/package.nix (renamed from pkgs/development/compilers/sbcl/2.x.nix)6
-rw-r--r--pkgs/by-name/sh/shopware-cli/package.nix6
-rw-r--r--pkgs/by-name/sh/show-midi/package.nix4
-rw-r--r--pkgs/by-name/si/simdutf/package.nix4
-rw-r--r--pkgs/by-name/si/sirius/package.nix14
-rw-r--r--pkgs/by-name/sn/snicat/deps.nix12
-rw-r--r--pkgs/by-name/sn/snicat/package.nix45
-rw-r--r--pkgs/by-name/sp/spotube/package.nix109
-rw-r--r--pkgs/by-name/su/supersonic/package.nix6
-rw-r--r--pkgs/by-name/sv/svp/mpv.nix24
-rw-r--r--pkgs/by-name/sv/svp/package.nix147
-rw-r--r--pkgs/by-name/sy/syslogng/package.nix (renamed from pkgs/tools/system/syslog-ng/default.nix)7
-rw-r--r--pkgs/by-name/sy/systemd-lock-handler/package.nix51
-rw-r--r--pkgs/by-name/ta/tailscale-nginx-auth/package.nix4
-rw-r--r--pkgs/by-name/ti/tigerbeetle/package.nix4
-rw-r--r--pkgs/by-name/ui/uiua/package.nix10
-rw-r--r--pkgs/by-name/um/umpire/package.nix28
-rw-r--r--pkgs/by-name/ux/uxn/package.nix6
-rw-r--r--pkgs/by-name/ve/ventoy/000-nixos-sanitization.patch (renamed from pkgs/tools/cd-dvd/ventoy/000-nixos-sanitization.patch)0
-rw-r--r--pkgs/by-name/ve/ventoy/package.nix (renamed from pkgs/tools/cd-dvd/ventoy/default.nix)41
-rw-r--r--pkgs/by-name/wh/whistle/package.nix6
-rw-r--r--pkgs/by-name/wo/worker/package.nix4
-rw-r--r--pkgs/by-name/xs/xscreensaver/package.nix3
-rw-r--r--pkgs/by-name/xs/xsct/package.nix4
-rw-r--r--pkgs/by-name/yg/yggdrasil/package.nix6
-rw-r--r--pkgs/by-name/yo/youplot/Gemfile2
-rw-r--r--pkgs/by-name/yo/youplot/Gemfile.lock18
-rw-r--r--pkgs/by-name/yo/youplot/gemset.nix34
-rw-r--r--pkgs/by-name/yo/youplot/package.nix19
-rw-r--r--pkgs/by-name/yo/youtrack/package.nix43
-rwxr-xr-xpkgs/by-name/yo/youtrack/update.sh9
-rw-r--r--pkgs/by-name/yo/youtrack_2022_3/package.nix (renamed from pkgs/servers/jetbrains/youtrack.nix)14
-rw-r--r--pkgs/data/fonts/0xproto/default.nix4
-rw-r--r--pkgs/data/fonts/ibm-plex/default.nix4
-rw-r--r--pkgs/data/fonts/kode-mono/default.nix4
-rw-r--r--pkgs/data/fonts/sketchybar-app-font/default.nix4
-rw-r--r--pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--pkgs/data/misc/v2ray-domain-list-community/default.nix4
-rw-r--r--pkgs/data/themes/dracula-theme/default.nix6
-rw-r--r--pkgs/desktops/budgie/budgie-desktop/default.nix9
-rw-r--r--pkgs/desktops/budgie/budgie-session/default.nix101
-rw-r--r--pkgs/desktops/budgie/budgie-session/fix-paths.patch35
-rw-r--r--pkgs/desktops/budgie/default.nix1
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-session/default.nix4
-rw-r--r--pkgs/desktops/deepin/apps/deepin-compressor/default.nix13
-rw-r--r--pkgs/desktops/deepin/library/dtkcore/default.nix5
-rw-r--r--pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix10
-rw-r--r--pkgs/desktops/gnome/core/gnome-session/default.nix3
-rw-r--r--pkgs/desktops/gnome/core/nautilus/default.nix1
-rw-r--r--pkgs/desktops/lomiri/development/deviceinfo/default.nix5
-rw-r--r--pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2002-Nixpkgs-versioned-QML-path.patch.in29
-rw-r--r--pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix6
-rw-r--r--pkgs/desktops/mate/atril/default.nix10
-rw-r--r--pkgs/desktops/mate/mate-system-monitor/default.nix4
-rw-r--r--pkgs/desktops/xfce/core/libxfce4windowing/default.nix18
-rw-r--r--pkgs/desktops/xfce/default.nix2
-rw-r--r--pkgs/development/compilers/circt/default.nix4
-rw-r--r--pkgs/development/compilers/erg/default.nix6
-rw-r--r--pkgs/development/compilers/fstar/default.nix4
-rw-r--r--pkgs/development/compilers/intel-graphics-compiler/default.nix13
-rw-r--r--pkgs/development/compilers/koka/default.nix63
-rw-r--r--pkgs/development/compilers/llvm/10/clang/compiler-rt-baremetal.patch53
-rw-r--r--pkgs/development/compilers/llvm/10/clang/default.nix133
-rw-r--r--pkgs/development/compilers/llvm/10/clang/gnu-install-dirs.patch248
-rw-r--r--pkgs/development/compilers/llvm/10/clang/purity.patch30
-rw-r--r--pkgs/development/compilers/llvm/10/compiler-rt/X86-support-extension.patch23
-rw-r--r--pkgs/development/compilers/llvm/10/compiler-rt/armv7l.patch32
-rw-r--r--pkgs/development/compilers/llvm/10/compiler-rt/default.nix134
-rw-r--r--pkgs/development/compilers/llvm/10/compiler-rt/find-darwin-sdk-version.patch62
-rw-r--r--pkgs/development/compilers/llvm/10/compiler-rt/gnu-install-dirs.patch129
-rw-r--r--pkgs/development/compilers/llvm/10/default.nix270
-rw-r--r--pkgs/development/compilers/llvm/10/libcxx/default.nix88
-rw-r--r--pkgs/development/compilers/llvm/10/libcxx/gnu-install-dirs.patch99
-rw-r--r--pkgs/development/compilers/llvm/10/libcxxabi/default.nix85
-rw-r--r--pkgs/development/compilers/llvm/10/libcxxabi/gnu-install-dirs.patch34
-rw-r--r--pkgs/development/compilers/llvm/10/libunwind/default.nix31
-rw-r--r--pkgs/development/compilers/llvm/10/libunwind/gnu-install-dirs.patch34
-rw-r--r--pkgs/development/compilers/llvm/10/lld/default.nix46
-rw-r--r--pkgs/development/compilers/llvm/10/lld/gnu-install-dirs.patch68
-rw-r--r--pkgs/development/compilers/llvm/10/lldb/gnu-install-dirs.patch91
-rw-r--r--pkgs/development/compilers/llvm/10/lldb/procfs.patch31
-rw-r--r--pkgs/development/compilers/llvm/10/llvm/default.nix355
-rw-r--r--pkgs/development/compilers/llvm/10/llvm/gnu-install-dirs-polly.patch106
-rw-r--r--pkgs/development/compilers/llvm/10/llvm/gnu-install-dirs.patch416
-rw-r--r--pkgs/development/compilers/llvm/10/openmp/default.nix37
-rw-r--r--pkgs/development/compilers/llvm/8/clang/HIP-use-PATH-8.patch80
-rw-r--r--pkgs/development/compilers/llvm/8/clang/compiler-rt-baremetal.patch53
-rw-r--r--pkgs/development/compilers/llvm/8/clang/default.nix145
-rw-r--r--pkgs/development/compilers/llvm/8/clang/gnu-install-dirs.patch290
-rw-r--r--pkgs/development/compilers/llvm/8/clang/static-pie.patch157
-rw-r--r--pkgs/development/compilers/llvm/8/clang/unwindlib.patch372
-rw-r--r--pkgs/development/compilers/llvm/8/clang/xpc.patch41
-rw-r--r--pkgs/development/compilers/llvm/8/compiler-rt/armv7l.patch38
-rw-r--r--pkgs/development/compilers/llvm/8/compiler-rt/crtbegin-and-end.patch595
-rw-r--r--pkgs/development/compilers/llvm/8/compiler-rt/default.nix117
-rw-r--r--pkgs/development/compilers/llvm/8/compiler-rt/gnu-install-dirs.patch117
-rw-r--r--pkgs/development/compilers/llvm/8/default.nix273
-rw-r--r--pkgs/development/compilers/llvm/8/libcxx/default.nix92
-rw-r--r--pkgs/development/compilers/llvm/8/libcxx/gnu-install-dirs.patch72
-rw-r--r--pkgs/development/compilers/llvm/8/libcxxabi/default.nix85
-rw-r--r--pkgs/development/compilers/llvm/8/libcxxabi/gnu-install-dirs.patch28
-rw-r--r--pkgs/development/compilers/llvm/8/libunwind/default.nix40
-rw-r--r--pkgs/development/compilers/llvm/8/libunwind/gnu-install-dirs.patch28
-rw-r--r--pkgs/development/compilers/llvm/8/lld/default.nix46
-rw-r--r--pkgs/development/compilers/llvm/8/lld/gnu-install-dirs.patch68
-rw-r--r--pkgs/development/compilers/llvm/8/lldb/default.nix109
-rw-r--r--pkgs/development/compilers/llvm/8/lldb/gnu-install-dirs.patch120
-rw-r--r--pkgs/development/compilers/llvm/8/lldb/lldb-gdb-remote-no-libcompress.patch30
-rw-r--r--pkgs/development/compilers/llvm/8/llvm/default.nix329
-rw-r--r--pkgs/development/compilers/llvm/8/llvm/gnu-install-dirs-polly.patch106
-rw-r--r--pkgs/development/compilers/llvm/8/llvm/gnu-install-dirs.patch394
-rw-r--r--pkgs/development/compilers/llvm/8/openmp/default.nix37
-rw-r--r--pkgs/development/compilers/rust/clippy.nix1
-rw-r--r--pkgs/development/compilers/spirv-llvm-translator/default.nix10
-rw-r--r--pkgs/development/compilers/unison/default.nix6
-rw-r--r--pkgs/development/compilers/yosys/plugins/synlig.nix10
-rw-r--r--pkgs/development/coq-modules/vscoq-language-server/default.nix32
-rw-r--r--pkgs/development/gnuradio-modules/ais/default.nix3
-rw-r--r--pkgs/development/gnuradio-modules/grnet/default.nix5
-rw-r--r--pkgs/development/gnuradio-modules/gsm/default.nix3
-rw-r--r--pkgs/development/gnuradio-modules/limesdr/default.nix3
-rw-r--r--pkgs/development/gnuradio-modules/mkDerivation.nix10
-rw-r--r--pkgs/development/gnuradio-modules/nacl/default.nix3
-rw-r--r--pkgs/development/gnuradio-modules/osmosdr/default.nix3
-rw-r--r--pkgs/development/gnuradio-modules/rds/default.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-darwin.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix17
-rw-r--r--pkgs/development/interpreters/elixir/1.16.nix4
-rw-r--r--pkgs/development/interpreters/j/default.nix88
-rw-r--r--pkgs/development/interpreters/lfe/2.1.nix6
-rw-r--r--pkgs/development/interpreters/lfe/generic-builder.nix5
-rw-r--r--pkgs/development/interpreters/luau/default.nix4
-rw-r--r--pkgs/development/interpreters/nextflow/default.nix2
-rw-r--r--pkgs/development/interpreters/php/8.1.nix12
-rw-r--r--pkgs/development/interpreters/python/python-packages-base.nix4
-rw-r--r--pkgs/development/interpreters/rakudo/moarvm.nix11
-rw-r--r--pkgs/development/interpreters/risor/default.nix6
-rw-r--r--pkgs/development/interpreters/spidermonkey/common.nix1
-rw-r--r--pkgs/development/interpreters/wasmtime/default.nix6
-rw-r--r--pkgs/development/libraries/abseil-cpp/202401.nix42
-rw-r--r--pkgs/development/libraries/agda/1lab/default.nix6
-rw-r--r--pkgs/development/libraries/amf-headers/default.nix4
-rw-r--r--pkgs/development/libraries/bobcat/default.nix44
-rw-r--r--pkgs/development/libraries/catch2/3.nix2
-rw-r--r--pkgs/development/libraries/catch2/default.nix2
-rw-r--r--pkgs/development/libraries/cglm/default.nix4
-rw-r--r--pkgs/development/libraries/clap/default.nix14
-rw-r--r--pkgs/development/libraries/cmark/default.nix4
-rw-r--r--pkgs/development/libraries/dbus-cplusplus/default.nix19
-rw-r--r--pkgs/development/libraries/entt/default.nix4
-rw-r--r--pkgs/development/libraries/example-robot-data/default.nix4
-rw-r--r--pkgs/development/libraries/fbjni/default.nix8
-rw-r--r--pkgs/development/libraries/gdcm/default.nix4
-rw-r--r--pkgs/development/libraries/glfw/3.x.nix4
-rw-r--r--pkgs/development/libraries/httplib/default.nix4
-rw-r--r--pkgs/development/libraries/libbacktrace/default.nix6
-rw-r--r--pkgs/development/libraries/libcint/default.nix4
-rw-r--r--pkgs/development/libraries/libetpan/default.nix1
-rw-r--r--pkgs/development/libraries/libhwy/default.nix15
-rw-r--r--pkgs/development/libraries/libmilter/default.nix4
-rw-r--r--pkgs/development/libraries/libplacebo/default.nix3
-rw-r--r--pkgs/development/libraries/libredwg/default.nix9
-rw-r--r--pkgs/development/libraries/libsolv/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt/default.nix4
-rw-r--r--pkgs/development/libraries/mailcore2/default.nix23
-rw-r--r--pkgs/development/libraries/maplibre-gl-native/default.nix6
-rw-r--r--pkgs/development/libraries/mbedtls/2.nix4
-rw-r--r--pkgs/development/libraries/mbedtls/3.nix4
-rw-r--r--pkgs/development/libraries/muparser/default.nix22
-rw-r--r--pkgs/development/libraries/ncnn/cmakelists.patch23
-rw-r--r--pkgs/development/libraries/ncnn/default.nix6
-rw-r--r--pkgs/development/libraries/openvdb/default.nix5
-rw-r--r--pkgs/development/libraries/openvino/cmake.patch31
-rw-r--r--pkgs/development/libraries/openvino/default.nix99
-rw-r--r--pkgs/development/libraries/protobuf/25.nix4
-rw-r--r--pkgs/development/libraries/qwlroots/default.nix69
-rw-r--r--pkgs/development/libraries/rapidfuzz-cpp/default.nix8
-rw-r--r--pkgs/development/libraries/rlottie/default.nix8
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/default.nix4
-rw-r--r--pkgs/development/libraries/science/chemistry/simple-dftd3/python.nix42
-rw-r--r--pkgs/development/libraries/science/networking/ns-3/default.nix2
-rw-r--r--pkgs/development/libraries/simdjson/default.nix4
-rw-r--r--pkgs/development/libraries/spglib/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/default.nix5
-rw-r--r--pkgs/development/libraries/talloc/default.nix4
-rw-r--r--pkgs/development/libraries/tdlib/default.nix6
-rw-r--r--pkgs/development/libraries/vigra/default.nix2
-rw-r--r--pkgs/development/libraries/wasilibc/default.nix4
-rw-r--r--pkgs/development/libraries/waylib/default.nix74
-rw-r--r--pkgs/development/libraries/xxHash/default.nix1
-rw-r--r--pkgs/development/misc/umr/default.nix44
-rw-r--r--pkgs/development/node-packages/aliases.nix3
-rw-r--r--pkgs/development/node-packages/main-programs.nix5
-rw-r--r--pkgs/development/node-packages/node-packages.json2
-rw-r--r--pkgs/development/node-packages/node-packages.nix261
-rw-r--r--pkgs/development/node-packages/overrides.nix17
-rw-r--r--pkgs/development/ocaml-modules/lambdapi/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/riot/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/timedesc/default.nix36
-rw-r--r--pkgs/development/ocaml-modules/timedesc/tzdb.nix15
-rw-r--r--pkgs/development/ocaml-modules/timedesc/tzlocal.nix16
-rw-r--r--pkgs/development/ocaml-modules/tiny_httpd/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/zipc/default.nix4
-rw-r--r--pkgs/development/python-modules/acquire/default.nix4
-rw-r--r--pkgs/development/python-modules/adjusttext/default.nix16
-rw-r--r--pkgs/development/python-modules/agate-sql/default.nix4
-rw-r--r--pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix17
-rw-r--r--pkgs/development/python-modules/aio-geojson-usgs-earthquakes/default.nix17
-rw-r--r--pkgs/development/python-modules/aioelectricitymaps/default.nix17
-rw-r--r--pkgs/development/python-modules/aioftp/default.nix28
-rw-r--r--pkgs/development/python-modules/aioopenexchangerates/default.nix9
-rw-r--r--pkgs/development/python-modules/aioquic/default.nix6
-rw-r--r--pkgs/development/python-modules/aiortm/default.nix6
-rw-r--r--pkgs/development/python-modules/aiovodafone/default.nix4
-rw-r--r--pkgs/development/python-modules/airthings-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/alive-progress/default.nix19
-rw-r--r--pkgs/development/python-modules/ansible/default.nix4
-rw-r--r--pkgs/development/python-modules/anthropic/default.nix4
-rw-r--r--pkgs/development/python-modules/aocd-example-parser/default.nix37
-rw-r--r--pkgs/development/python-modules/aocd/default.nix64
-rw-r--r--pkgs/development/python-modules/apache-beam/default.nix2
-rw-r--r--pkgs/development/python-modules/apprise/default.nix5
-rw-r--r--pkgs/development/python-modules/approvaltests/default.nix6
-rw-r--r--pkgs/development/python-modules/appthreat-vulnerability-db/default.nix10
-rw-r--r--pkgs/development/python-modules/asyncsleepiq/default.nix4
-rw-r--r--pkgs/development/python-modules/atom/default.nix9
-rw-r--r--pkgs/development/python-modules/autofaiss/default.nix4
-rw-r--r--pkgs/development/python-modules/autopep8/default.nix1
-rw-r--r--pkgs/development/python-modules/awsipranges/default.nix51
-rw-r--r--pkgs/development/python-modules/awswrangler/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-batch/default.nix21
-rw-r--r--pkgs/development/python-modules/azure-common/default.nix2
-rw-r--r--pkgs/development/python-modules/azure-mgmt-common/default.nix4
-rw-r--r--pkgs/development/python-modules/backports-zoneinfo/default.nix2
-rw-r--r--pkgs/development/python-modules/bip-utils/default.nix4
-rw-r--r--pkgs/development/python-modules/blebox-uniapi/default.nix4
-rw-r--r--pkgs/development/python-modules/boto3-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--pkgs/development/python-modules/breezy/Cargo.lock103
-rw-r--r--pkgs/development/python-modules/breezy/default.nix27
-rw-r--r--pkgs/development/python-modules/celery/default.nix6
-rw-r--r--pkgs/development/python-modules/censys/default.nix4
-rw-r--r--pkgs/development/python-modules/cirq-ft/default.nix12
-rw-r--r--pkgs/development/python-modules/cirq-google/default.nix14
-rw-r--r--pkgs/development/python-modules/clarifai-grpc/default.nix4
-rw-r--r--pkgs/development/python-modules/clickhouse-connect/default.nix4
-rw-r--r--pkgs/development/python-modules/cryptodatahub/default.nix45
-rw-r--r--pkgs/development/python-modules/cryptolyzer/default.nix35
-rw-r--r--pkgs/development/python-modules/cryptoparser/default.nix11
-rw-r--r--pkgs/development/python-modules/cvelib/default.nix4
-rw-r--r--pkgs/development/python-modules/cx-freeze/default.nix4
-rw-r--r--pkgs/development/python-modules/cyclonedx-python-lib/default.nix4
-rw-r--r--pkgs/development/python-modules/daiquiri/default.nix4
-rw-r--r--pkgs/development/python-modules/deebot-client/default.nix82
-rw-r--r--pkgs/development/python-modules/dissect-cstruct/default.nix8
-rw-r--r--pkgs/development/python-modules/dissect-esedb/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-extfs/default.nix6
-rw-r--r--pkgs/development/python-modules/dissect-hypervisor/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-ntfs/default.nix6
-rw-r--r--pkgs/development/python-modules/dissect-target/default.nix13
-rw-r--r--pkgs/development/python-modules/dissect-util/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-volume/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect-xfs/default.nix4
-rw-r--r--pkgs/development/python-modules/dissect/default.nix4
-rw-r--r--pkgs/development/python-modules/distutils-cfg/default.nix2
-rw-r--r--pkgs/development/python-modules/django-cleanup/default.nix4
-rw-r--r--pkgs/development/python-modules/django-crispy-bootstrap5/default.nix42
-rw-r--r--pkgs/development/python-modules/django-maintenance-mode/default.nix24
-rw-r--r--pkgs/development/python-modules/django-reversion/default.nix4
-rw-r--r--pkgs/development/python-modules/django-silk/default.nix4
-rw-r--r--pkgs/development/python-modules/django-vite/default.nix4
-rw-r--r--pkgs/development/python-modules/django-webpack-loader/default.nix4
-rw-r--r--pkgs/development/python-modules/dploot/default.nix48
-rw-r--r--pkgs/development/python-modules/dulwich/default.nix2
-rw-r--r--pkgs/development/python-modules/dvc-objects/default.nix4
-rw-r--r--pkgs/development/python-modules/dvc/default.nix4
-rw-r--r--pkgs/development/python-modules/es-client/default.nix12
-rw-r--r--pkgs/development/python-modules/fingerprints/default.nix19
-rw-r--r--pkgs/development/python-modules/fontparts/default.nix4
-rw-r--r--pkgs/development/python-modules/frigidaire/default.nix15
-rw-r--r--pkgs/development/python-modules/fuse-python/default.nix4
-rw-r--r--pkgs/development/python-modules/gehomesdk/default.nix11
-rw-r--r--pkgs/development/python-modules/gentools/default.nix4
-rw-r--r--pkgs/development/python-modules/georss-client/default.nix16
-rw-r--r--pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix14
-rw-r--r--pkgs/development/python-modules/git-annex-adapter/default.nix51
-rw-r--r--pkgs/development/python-modules/githubkit/default.nix4
-rw-r--r--pkgs/development/python-modules/gitlike-commands/default.nix14
-rw-r--r--pkgs/development/python-modules/glean-parser/default.nix6
-rw-r--r--pkgs/development/python-modules/glfw/default.nix4
-rw-r--r--pkgs/development/python-modules/google-ai-generativelanguage/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-asset/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-dataproc/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-monitoring/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-redis/default.nix11
-rw-r--r--pkgs/development/python-modules/google-cloud-tasks/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-texttospeech/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-trace/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-videointelligence/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix4
-rw-r--r--pkgs/development/python-modules/govee-ble/default.nix18
-rw-r--r--pkgs/development/python-modules/gpaw/default.nix4
-rw-r--r--pkgs/development/python-modules/gradio-pdf/default.nix4
-rw-r--r--pkgs/development/python-modules/griffe/default.nix4
-rw-r--r--pkgs/development/python-modules/gruut-ipa/default.nix2
-rw-r--r--pkgs/development/python-modules/gtimelog/default.nix60
-rw-r--r--pkgs/development/python-modules/gurobipy/linux.nix2
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/hatch-requirements-txt/default.nix4
-rw-r--r--pkgs/development/python-modules/hg-commitsigs/default.nix4
-rw-r--r--pkgs/development/python-modules/hwi/default.nix4
-rw-r--r--pkgs/development/python-modules/influxdb-client/default.nix4
-rw-r--r--pkgs/development/python-modules/ipwhois/default.nix6
-rw-r--r--pkgs/development/python-modules/jq/jq-py-setup.patch111
-rw-r--r--pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix9
-rw-r--r--pkgs/development/python-modules/jsonargparse/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter-book/default.nix28
-rw-r--r--pkgs/development/python-modules/kaa-base/default.nix10
-rw-r--r--pkgs/development/python-modules/kaa-metadata/default.nix10
-rw-r--r--pkgs/development/python-modules/keyring-pass/default.nix78
-rw-r--r--pkgs/development/python-modules/langchain-community/default.nix4
-rw-r--r--pkgs/development/python-modules/langchain-core/default.nix4
-rw-r--r--pkgs/development/python-modules/ldfparser/default.nix4
-rw-r--r--pkgs/development/python-modules/libknot/default.nix4
-rw-r--r--pkgs/development/python-modules/libvirt/default.nix4
-rw-r--r--pkgs/development/python-modules/litellm/default.nix4
-rw-r--r--pkgs/development/python-modules/losant-rest/default.nix4
-rw-r--r--pkgs/development/python-modules/maestral/default.nix2
-rw-r--r--pkgs/development/python-modules/meep/default.nix2
-rw-r--r--pkgs/development/python-modules/meshtastic/default.nix4
-rw-r--r--pkgs/development/python-modules/mkdocs-material/default.nix4
-rw-r--r--pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix4
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix6
-rw-r--r--pkgs/development/python-modules/myjwt/default.nix12
-rw-r--r--pkgs/development/python-modules/mypy-boto3-builder/default.nix4
-rw-r--r--pkgs/development/python-modules/napari-npe2/default.nix2
-rw-r--r--pkgs/development/python-modules/napari-svg/default.nix15
-rw-r--r--pkgs/development/python-modules/neo4j/default.nix4
-rw-r--r--pkgs/development/python-modules/niaarm/default.nix4
-rw-r--r--pkgs/development/python-modules/nibabel/default.nix12
-rw-r--r--pkgs/development/python-modules/nipreps-versions/default.nix46
-rw-r--r--pkgs/development/python-modules/niworkflows/default.nix101
-rw-r--r--pkgs/development/python-modules/nose2/default.nix11
-rw-r--r--pkgs/development/python-modules/oelint-parser/default.nix10
-rw-r--r--pkgs/development/python-modules/openai/default.nix4
-rw-r--r--pkgs/development/python-modules/opower/default.nix4
-rw-r--r--pkgs/development/python-modules/oras/default.nix4
-rw-r--r--pkgs/development/python-modules/pglast/default.nix4
-rw-r--r--pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--pkgs/development/python-modules/pmdarima/default.nix2
-rw-r--r--pkgs/development/python-modules/posthog/default.nix4
-rw-r--r--pkgs/development/python-modules/preshed/default.nix4
-rw-r--r--pkgs/development/python-modules/publicsuffixlist/default.nix4
-rw-r--r--pkgs/development/python-modules/py-sonic/default.nix4
-rw-r--r--pkgs/development/python-modules/pycaption/default.nix8
-rw-r--r--pkgs/development/python-modules/pyenphase/default.nix4
-rw-r--r--pkgs/development/python-modules/pyformlang/default.nix4
-rw-r--r--pkgs/development/python-modules/pygit2/default.nix14
-rw-r--r--pkgs/development/python-modules/pygls/default.nix4
-rw-r--r--pkgs/development/python-modules/pygmo/default.nix2
-rw-r--r--pkgs/development/python-modules/pylgnetcast/default.nix4
-rw-r--r--pkgs/development/python-modules/pylutron-caseta/default.nix25
-rw-r--r--pkgs/development/python-modules/pylutron/default.nix4
-rw-r--r--pkgs/development/python-modules/pymatting/01-kdtree-signature.patch13
-rw-r--r--pkgs/development/python-modules/pymatting/default.nix17
-rw-r--r--pkgs/development/python-modules/pymilvus/default.nix4
-rw-r--r--pkgs/development/python-modules/pyngo/default.nix4
-rw-r--r--pkgs/development/python-modules/pysnmplib/default.nix4
-rw-r--r--pkgs/development/python-modules/pyspellchecker/default.nix4
-rw-r--r--pkgs/development/python-modules/pytedee-async/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-django/default.nix4
-rw-r--r--pkgs/development/python-modules/python-docs-theme/default.nix4
-rw-r--r--pkgs/development/python-modules/python-fsutil/default.nix13
-rw-r--r--pkgs/development/python-modules/python-kasa/default.nix4
-rw-r--r--pkgs/development/python-modules/pytrafikverket/default.nix4
-rw-r--r--pkgs/development/python-modules/qcs-api-client/default.nix7
-rw-r--r--pkgs/development/python-modules/rdkit/default.nix2
-rw-r--r--pkgs/development/python-modules/recipe-scrapers/default.nix4
-rw-r--r--pkgs/development/python-modules/reconplogger/default.nix4
-rw-r--r--pkgs/development/python-modules/recursive-pth-loader/default.nix2
-rw-r--r--pkgs/development/python-modules/regenmaschine/default.nix4
-rw-r--r--pkgs/development/python-modules/reptor/default.nix4
-rw-r--r--pkgs/development/python-modules/requests-pkcs12/default.nix4
-rw-r--r--pkgs/development/python-modules/rich-pixels/default.nix9
-rw-r--r--pkgs/development/python-modules/ring-doorbell/default.nix4
-rw-r--r--pkgs/development/python-modules/rmrl/default.nix24
-rw-r--r--pkgs/development/python-modules/rmscene/default.nix47
-rw-r--r--pkgs/development/python-modules/robotframework-databaselibrary/default.nix22
-rw-r--r--pkgs/development/python-modules/robotframework-excellib/default.nix39
-rw-r--r--pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix21
-rw-r--r--pkgs/development/python-modules/robotframework/default.nix32
-rw-r--r--pkgs/development/python-modules/robotstatuschecker/default.nix26
-rw-r--r--pkgs/development/python-modules/rokuecp/default.nix4
-rw-r--r--pkgs/development/python-modules/safetensors/default.nix11
-rw-r--r--pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--pkgs/development/python-modules/scmrepo/default.nix4
-rw-r--r--pkgs/development/python-modules/scs/default.nix13
-rw-r--r--pkgs/development/python-modules/seaborn/default.nix4
-rw-r--r--pkgs/development/python-modules/selenium/default.nix2
-rw-r--r--pkgs/development/python-modules/sharp-aquos-rc/default.nix36
-rw-r--r--pkgs/development/python-modules/snakemake-interface-common/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix4
-rw-r--r--pkgs/development/python-modules/stdlibs/default.nix4
-rw-r--r--pkgs/development/python-modules/subarulink/default.nix4
-rw-r--r--pkgs/development/python-modules/svg-py/default.nix49
-rw-r--r--pkgs/development/python-modules/svgutils/default.nix40
-rw-r--r--pkgs/development/python-modules/tables/default.nix17
-rw-r--r--pkgs/development/python-modules/tcxreader/default.nix5
-rw-r--r--pkgs/development/python-modules/templateflow/default.nix45
-rw-r--r--pkgs/development/python-modules/tensordict/default.nix4
-rw-r--r--pkgs/development/python-modules/tesla-fleet-api/default.nix45
-rw-r--r--pkgs/development/python-modules/tilequant/default.nix9
-rw-r--r--pkgs/development/python-modules/torchrl/default.nix18
-rw-r--r--pkgs/development/python-modules/transformers/default.nix4
-rw-r--r--pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--pkgs/development/python-modules/trytond/default.nix4
-rw-r--r--pkgs/development/python-modules/types-aiobotocore/default.nix4
-rw-r--r--pkgs/development/python-modules/types-awscrt/default.nix4
-rw-r--r--pkgs/development/python-modules/types-docutils/default.nix4
-rw-r--r--pkgs/development/python-modules/types-markdown/default.nix4
-rw-r--r--pkgs/development/python-modules/types-protobuf/default.nix4
-rw-r--r--pkgs/development/python-modules/types-pyopenssl/default.nix4
-rw-r--r--pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--pkgs/development/python-modules/types-setuptools/default.nix4
-rw-r--r--pkgs/development/python-modules/uamqp/default.nix12
-rw-r--r--pkgs/development/python-modules/weaviate-client/default.nix4
-rw-r--r--pkgs/development/python-modules/xiaomi-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/yalexs/default.nix4
-rw-r--r--pkgs/development/python-modules/ytmusicapi/default.nix4
-rw-r--r--pkgs/development/python-modules/zcbor/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy-znp/default.nix2
-rw-r--r--pkgs/development/python2-modules/pygtk/default.nix4
-rw-r--r--pkgs/development/r-modules/default.nix2
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix10
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix4
-rw-r--r--pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix2
-rw-r--r--pkgs/development/tools/analysis/snyk/default.nix6
-rw-r--r--pkgs/development/tools/api-linter/default.nix14
-rw-r--r--pkgs/development/tools/azcopy/default.nix4
-rw-r--r--pkgs/development/tools/bearer/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/gup/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/moon/default.nix6
-rw-r--r--pkgs/development/tools/buildah/default.nix4
-rw-r--r--pkgs/development/tools/buildkit/default.nix4
-rw-r--r--pkgs/development/tools/capnproto-java/default.nix4
-rw-r--r--pkgs/development/tools/check-jsonschema/default.nix6
-rw-r--r--pkgs/development/tools/cloudsmith-cli/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/master.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/pkg.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/plugins.nix42
-rw-r--r--pkgs/development/tools/continuous-integration/buildbot/worker.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/cirrus-cli/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/fly/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/common.nix21
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/frontend.nix57
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/server.nix8
-rwxr-xr-xpkgs/development/tools/continuous-integration/woodpecker/update.sh25
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json77
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/yarn.lock3219
-rw-r--r--pkgs/development/tools/database/clickhouse-backup/default.nix6
-rw-r--r--pkgs/development/tools/database/pgweb/default.nix4
-rw-r--r--pkgs/development/tools/database/sqlite-web/default.nix4
-rw-r--r--pkgs/development/tools/detekt/default.nix4
-rw-r--r--pkgs/development/tools/devpi-client/default.nix4
-rw-r--r--pkgs/development/tools/documentation/antora/default.nix6
-rw-r--r--pkgs/development/tools/earthly/default.nix6
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/faas-cli/default.nix4
-rw-r--r--pkgs/development/tools/fable/default.nix4
-rw-r--r--pkgs/development/tools/glslviewer/default.nix1
-rw-r--r--pkgs/development/tools/go-containerregistry/default.nix4
-rw-r--r--pkgs/development/tools/goimports-reviser/default.nix4
-rw-r--r--pkgs/development/tools/golines/default.nix6
-rw-r--r--pkgs/development/tools/gptcommit/default.nix6
-rw-r--r--pkgs/development/tools/gqlgenc/default.nix4
-rw-r--r--pkgs/development/tools/grpc-gateway/default.nix6
-rw-r--r--pkgs/development/tools/jaq/default.nix6
-rw-r--r--pkgs/development/tools/jira-cli-go/default.nix4
-rw-r--r--pkgs/development/tools/k6/default.nix4
-rw-r--r--pkgs/development/tools/kdash/default.nix6
-rw-r--r--pkgs/development/tools/kube-linter/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/beancount-language-server/default.nix12
-rw-r--r--pkgs/development/tools/language-servers/jq-lsp/default.nix21
-rw-r--r--pkgs/development/tools/minizinc/ide.nix26
-rw-r--r--pkgs/development/tools/misc/act/default.nix6
-rw-r--r--pkgs/development/tools/misc/circleci-cli/default.nix4
-rw-r--r--pkgs/development/tools/misc/devspace/default.nix4
-rw-r--r--pkgs/development/tools/misc/edb/default.nix10
-rw-r--r--pkgs/development/tools/misc/kool/default.nix6
-rw-r--r--pkgs/development/tools/misc/n98-magerun2/default.nix4
-rw-r--r--pkgs/development/tools/misc/opengrok/default.nix4
-rw-r--r--pkgs/development/tools/misc/runme/default.nix6
-rw-r--r--pkgs/development/tools/misc/slint-lsp/default.nix6
-rw-r--r--pkgs/development/tools/misc/strace/default.nix8
-rw-r--r--pkgs/development/tools/misc/texlab/default.nix6
-rw-r--r--pkgs/development/tools/mysql-shell/innovation.nix12
-rw-r--r--pkgs/development/tools/oh-my-posh/default.nix4
-rw-r--r--pkgs/development/tools/okteto/default.nix6
-rw-r--r--pkgs/development/tools/open-policy-agent/default.nix4
-rw-r--r--pkgs/development/tools/packer/default.nix6
-rw-r--r--pkgs/development/tools/postiats-utilities/default.nix2
-rw-r--r--pkgs/development/tools/protoc-gen-go-vtproto/default.nix6
-rw-r--r--pkgs/development/tools/pscale/default.nix6
-rw-r--r--pkgs/development/tools/purescript/spago/default.nix3
-rw-r--r--pkgs/development/tools/refurb/default.nix4
-rw-r--r--pkgs/development/tools/reindeer/default.nix8
-rw-r--r--pkgs/development/tools/rover/default.nix17
-rw-r--r--pkgs/development/tools/rover/schema/etag.id1
-rw-r--r--pkgs/development/tools/rover/schema/hash.id1
-rw-r--r--pkgs/development/tools/rover/schema/schema.graphql1980
-rwxr-xr-xpkgs/development/tools/rover/update.sh24
-rw-r--r--pkgs/development/tools/rust/cargo-binstall/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-bisect-rustc/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-component/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-deny/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-dist/default.nix9
-rw-r--r--pkgs/development/tools/rust/cargo-license/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-semver-checks/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-zigbuild/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/development/tools/sentry-cli/default.nix6
-rw-r--r--pkgs/development/tools/snazy/default.nix6
-rw-r--r--pkgs/development/tools/sqlboiler/default.nix6
-rw-r--r--pkgs/development/tools/supabase-cli/default.nix4
-rw-r--r--pkgs/development/tools/symfony-cli/default.nix4
-rw-r--r--pkgs/development/tools/the-way/default.nix6
-rw-r--r--pkgs/development/tools/turso-cli/default.nix4
-rw-r--r--pkgs/development/tools/twilio-cli/default.nix4
-rw-r--r--pkgs/development/tools/uftrace/default.nix4
-rw-r--r--pkgs/development/tools/vsce/default.nix7
-rw-r--r--pkgs/development/tools/zed/default.nix6
-rw-r--r--pkgs/development/web/bootstrap-studio/default.nix4
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/development/web/deno/librusty_v8.nix10
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/development/web/function-runner/default.nix6
-rw-r--r--pkgs/development/web/grails/default.nix4
-rw-r--r--pkgs/development/web/minify/default.nix6
-rw-r--r--pkgs/games/armagetronad/default.nix6
-rw-r--r--pkgs/games/bugdom/default.nix8
-rw-r--r--pkgs/games/ckan/default.nix4
-rw-r--r--pkgs/games/ddnet/default.nix6
-rw-r--r--pkgs/games/ferium/default.nix6
-rw-r--r--pkgs/games/gcs/default.nix81
-rw-r--r--pkgs/games/gogdl/default.nix6
-rw-r--r--pkgs/games/instawow/default.nix6
-rw-r--r--pkgs/games/nethack/default.nix18
-rw-r--r--pkgs/games/nile/default.nix6
-rw-r--r--pkgs/games/nxengine-evo/default.nix2
-rw-r--r--pkgs/games/osu-lazer/bin.nix8
-rw-r--r--pkgs/games/osu-lazer/default.nix4
-rw-r--r--pkgs/games/osu-lazer/deps.nix53
-rw-r--r--pkgs/games/quakespasm/vulkan.nix4
-rw-r--r--pkgs/games/steam/runtime.nix4
-rw-r--r--pkgs/games/unciv/default.nix12
-rw-r--r--pkgs/games/vintagestory/default.nix4
-rw-r--r--pkgs/misc/jitsi-meet-prosody/default.nix4
-rw-r--r--pkgs/misc/lilypond/unstable.nix4
-rw-r--r--pkgs/misc/tmux-plugins/default.nix17
-rw-r--r--pkgs/os-specific/darwin/airbuddy/default.nix15
-rw-r--r--pkgs/os-specific/darwin/aldente/default.nix21
-rw-r--r--pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch22
-rw-r--r--pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch2
-rw-r--r--pkgs/os-specific/darwin/moltenvk/default.nix17
-rw-r--r--pkgs/os-specific/darwin/sketchybar/default.nix4
-rw-r--r--pkgs/os-specific/darwin/yabai/default.nix6
-rw-r--r--pkgs/os-specific/linux/bpftrace/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix2
-rw-r--r--pkgs/os-specific/linux/fwts/default.nix4
-rw-r--r--pkgs/os-specific/linux/intel-compute-runtime/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/config.nix39
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json70
-rw-r--r--pkgs/os-specific/linux/kernel/kernels-org.json16
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-6.1.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix14
-rw-r--r--pkgs/os-specific/linux/kernel/rust-1.75.patch373
-rw-r--r--pkgs/os-specific/linux/kernel/zen-kernels.nix8
-rw-r--r--pkgs/os-specific/linux/libbpf/default.nix7
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix10
-rw-r--r--pkgs/os-specific/linux/lxc/docbook-hack.patch21
-rwxr-xr-xpkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh7
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix8
-rw-r--r--pkgs/os-specific/linux/rdma-core/default.nix4
-rw-r--r--pkgs/os-specific/linux/setools/default.nix6
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix45
-rw-r--r--pkgs/os-specific/linux/zfs/unstable.nix9
-rw-r--r--pkgs/os-specific/windows/default.nix3
-rw-r--r--pkgs/os-specific/windows/mingw-w64/default.nix19
-rw-r--r--pkgs/servers/apache-airflow/python-package.nix2
-rw-r--r--pkgs/servers/atlassian/jira.nix4
-rw-r--r--pkgs/servers/baserow/default.nix4
-rw-r--r--pkgs/servers/computing/slurm/default.nix4
-rw-r--r--pkgs/servers/db-rest/default.nix15
-rw-r--r--pkgs/servers/dex/default.nix19
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix4
-rw-r--r--pkgs/servers/elasticmq-server-bin/default.nix4
-rw-r--r--pkgs/servers/gpsd/default.nix2
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix3
-rw-r--r--pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix4
-rw-r--r--pkgs/servers/home-assistant/custom-lovelace-modules/mini-graph-card/default.nix6
-rw-r--r--pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix6
-rw-r--r--pkgs/servers/home-automation/evcc/default.nix6
-rw-r--r--pkgs/servers/homepage-dashboard/default.nix4
-rw-r--r--pkgs/servers/http/apache-modules/mod_wsgi/default.nix4
-rw-r--r--pkgs/servers/http/pomerium/default.nix2
-rw-r--r--pkgs/servers/icingaweb2/default.nix4
-rw-r--r--pkgs/servers/icingaweb2/ipl.nix4
-rw-r--r--pkgs/servers/icingaweb2/thirdparty.nix4
-rw-r--r--pkgs/servers/jicofo/default.nix4
-rw-r--r--pkgs/servers/jitsi-videobridge/default.nix4
-rw-r--r--pkgs/servers/keycloak/default.nix4
-rw-r--r--pkgs/servers/komga/default.nix4
-rw-r--r--pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix4
-rw-r--r--pkgs/servers/mail/mailpit/default.nix8
-rw-r--r--pkgs/servers/mail/rspamd/default.nix4
-rw-r--r--pkgs/servers/mastodon/default.nix12
-rw-r--r--pkgs/servers/mastodon/source.nix4
-rw-r--r--pkgs/servers/matrix-synapse/default.nix6
-rw-r--r--pkgs/servers/minio/default.nix6
-rw-r--r--pkgs/servers/misc/gobgpd/default.nix4
-rw-r--r--pkgs/servers/misc/navidrome/default.nix8
-rw-r--r--pkgs/servers/monitoring/grafana-agent/default.nix6
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix119
-rwxr-xr-xpkgs/servers/monitoring/grafana/update.sh40
-rw-r--r--pkgs/servers/monitoring/icinga2/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/domain-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/exportarr/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/knot-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/openvpn-exporter.nix23
-rw-r--r--pkgs/servers/monitoring/prometheus/sql-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/unbound-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix6
-rw-r--r--pkgs/servers/nextcloud/default.nix6
-rw-r--r--pkgs/servers/nextcloud/notify_push.nix2
-rw-r--r--pkgs/servers/nosql/aerospike/default.nix19
-rw-r--r--pkgs/servers/nosql/ferretdb/default.nix6
-rw-r--r--pkgs/servers/osmocom/osmo-bsc/default.nix4
-rw-r--r--pkgs/servers/osmocom/osmo-bts/default.nix4
-rw-r--r--pkgs/servers/osmocom/osmo-iuh/default.nix4
-rw-r--r--pkgs/servers/osmocom/osmo-mgw/default.nix4
-rw-r--r--pkgs/servers/osmocom/osmo-msc/default.nix4
-rw-r--r--pkgs/servers/osmocom/osmo-pcu/default.nix4
-rw-r--r--pkgs/servers/readarr/default.nix8
-rw-r--r--pkgs/servers/redpanda/default.nix4
-rw-r--r--pkgs/servers/roadrunner/default.nix6
-rw-r--r--pkgs/servers/rustdesk-server/Cargo.lock6
-rw-r--r--pkgs/servers/rustdesk-server/default.nix4
-rw-r--r--pkgs/servers/sabnzbd/default.nix4
-rw-r--r--pkgs/servers/seafile-server/default.nix36
-rw-r--r--pkgs/servers/search/meilisearch/Cargo.lock30
-rw-r--r--pkgs/servers/search/meilisearch/default.nix4
-rw-r--r--pkgs/servers/search/qdrant/Cargo.lock4
-rw-r--r--pkgs/servers/search/qdrant/default.nix4
-rw-r--r--pkgs/servers/snac2/default.nix4
-rw-r--r--pkgs/servers/sql/mariadb/galera/default.nix4
-rw-r--r--pkgs/servers/sql/materialize/Cargo.lock8421
-rw-r--r--pkgs/servers/sql/materialize/default.nix97
-rw-r--r--pkgs/servers/sql/materialize/npm_deps.nix8
-rw-r--r--pkgs/servers/sql/mysql/8.0.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/citus.nix52
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgvector.nix4
-rw-r--r--pkgs/servers/sql/postgresql/packages.nix2
-rw-r--r--pkgs/servers/unifi/default.nix4
-rw-r--r--pkgs/servers/unpackerr/default.nix6
-rw-r--r--pkgs/servers/uxplay/default.nix4
-rw-r--r--pkgs/servers/web-apps/jitsi-meet/default.nix4
-rw-r--r--pkgs/servers/web-apps/vikunja/api.nix6
-rw-r--r--pkgs/servers/web-apps/vikunja/frontend.nix4
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix6
-rw-r--r--pkgs/shells/nushell/nu_scripts/default.nix6
-rw-r--r--pkgs/shells/zsh/zinit/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-forgit/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-fzf-tab/default.nix6
-rw-r--r--pkgs/shells/zsh/zsh-powerlevel10k/default.nix4
-rw-r--r--pkgs/stdenv/darwin/bootstrap-files/aarch64-apple-darwin.nix12
-rw-r--r--pkgs/stdenv/darwin/bootstrap-files/x86_64-apple-darwin.nix12
-rw-r--r--pkgs/stdenv/darwin/default.nix28
-rw-r--r--pkgs/test/buildFHSEnv/default.nix84
-rw-r--r--pkgs/test/default.nix6
-rw-r--r--pkgs/test/nixpkgs-check-by-name/scripts/pinned-tool.json4
-rwxr-xr-xpkgs/test/nixpkgs-check-by-name/scripts/run-local.sh2
-rwxr-xr-xpkgs/test/nixpkgs-check-by-name/scripts/update-pinned-tool.sh2
-rw-r--r--pkgs/test/texlive/default.nix36
-rw-r--r--pkgs/tools/admin/afterburn/default.nix6
-rw-r--r--pkgs/tools/admin/aliyun-cli/default.nix6
-rw-r--r--pkgs/tools/admin/aws-sso-creds/default.nix6
-rw-r--r--pkgs/tools/admin/balena-cli/default.nix6
-rw-r--r--pkgs/tools/admin/copilot-cli/default.nix6
-rw-r--r--pkgs/tools/admin/credhub-cli/default.nix4
-rw-r--r--pkgs/tools/admin/fits-cloudctl/default.nix4
-rw-r--r--pkgs/tools/admin/gam/default.nix4
-rw-r--r--pkgs/tools/admin/meshcentral/default.nix8
-rw-r--r--pkgs/tools/admin/meshcentral/package.json2
-rwxr-xr-xpkgs/tools/admin/meshcentral/update.sh2
-rw-r--r--pkgs/tools/admin/meshcentral/yarn.lock242
-rw-r--r--pkgs/tools/admin/qovery-cli/default.nix4
-rw-r--r--pkgs/tools/admin/salt/default.nix4
-rw-r--r--pkgs/tools/admin/simplotask/default.nix4
-rw-r--r--pkgs/tools/admin/syft/default.nix6
-rw-r--r--pkgs/tools/admin/trivy/default.nix6
-rw-r--r--pkgs/tools/audio/audiowaveform/default.nix4
-rw-r--r--pkgs/tools/audio/tts/default.nix2
-rw-r--r--pkgs/tools/audio/video2midi/default.nix6
-rw-r--r--pkgs/tools/backup/sigtop/default.nix6
-rw-r--r--pkgs/tools/backup/tarsnapper/default.nix35
-rw-r--r--pkgs/tools/backup/tarsnapper/remove-argparse.patch10
-rw-r--r--pkgs/tools/backup/zfs-replicate/default.nix4
-rw-r--r--pkgs/tools/compression/lziprecover/default.nix4
-rw-r--r--pkgs/tools/filesystems/bashmount/default.nix1
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/default.nix1
-rw-r--r--pkgs/tools/filesystems/rmfuse/default.nix14
-rw-r--r--pkgs/tools/filesystems/snapraid/default.nix4
-rw-r--r--pkgs/tools/games/minecraft/mcaselector/default.nix4
-rw-r--r--pkgs/tools/graphics/maskromtool/default.nix4
-rw-r--r--pkgs/tools/graphics/vulkan-caps-viewer/default.nix4
-rw-r--r--pkgs/tools/graphics/vulkan-tools/default.nix11
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix111
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix4
-rw-r--r--pkgs/tools/inputmethods/remote-touchpad/default.nix4
-rw-r--r--pkgs/tools/misc/asdf-vm/default.nix4
-rw-r--r--pkgs/tools/misc/barman/default.nix4
-rw-r--r--pkgs/tools/misc/btrfs-assistant/default.nix4
-rw-r--r--pkgs/tools/misc/colord/default.nix4
-rw-r--r--pkgs/tools/misc/copier/default.nix6
-rw-r--r--pkgs/tools/misc/ddcutil/default.nix4
-rw-r--r--pkgs/tools/misc/debian-devscripts/default.nix2
-rw-r--r--pkgs/tools/misc/dooit/default.nix4
-rw-r--r--pkgs/tools/misc/esphome/default.nix15
-rw-r--r--pkgs/tools/misc/fastfetch/default.nix4
-rw-r--r--pkgs/tools/misc/fedifetcher/default.nix4
-rw-r--r--pkgs/tools/misc/fzf/default.nix6
-rw-r--r--pkgs/tools/misc/github-backup/default.nix4
-rw-r--r--pkgs/tools/misc/gotify-desktop/default.nix6
-rw-r--r--pkgs/tools/misc/grizzly/default.nix4
-rw-r--r--pkgs/tools/misc/ipxe/default.nix6
-rw-r--r--pkgs/tools/misc/miniserve/default.nix9
-rw-r--r--pkgs/tools/misc/mise/default.nix6
-rw-r--r--pkgs/tools/misc/most/default.nix9
-rw-r--r--pkgs/tools/misc/most/parallel-make.patch18
-rw-r--r--pkgs/tools/misc/mutagen-compose/default.nix6
-rw-r--r--pkgs/tools/misc/nautilus-open-any-terminal/default.nix8
-rw-r--r--pkgs/tools/misc/nautilus-open-any-terminal/hardcode-gsettings.patch22
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix6
-rw-r--r--pkgs/tools/misc/panoply/default.nix4
-rw-r--r--pkgs/tools/misc/pre-commit/default.nix1
-rw-r--r--pkgs/tools/misc/pre-commit/pygrep-pythonpath.patch13
-rw-r--r--pkgs/tools/misc/steampipe/default.nix4
-rw-r--r--pkgs/tools/misc/tbls/default.nix6
-rw-r--r--pkgs/tools/misc/turbo/default.nix29
-rw-r--r--pkgs/tools/misc/twm/default.nix6
-rw-r--r--pkgs/tools/misc/vtm/default.nix4
-rw-r--r--pkgs/tools/misc/wakapi/default.nix6
-rw-r--r--pkgs/tools/misc/wasm-tools/default.nix6
-rw-r--r--pkgs/tools/misc/xcp/default.nix6
-rw-r--r--pkgs/tools/misc/ytcast/default.nix4
-rw-r--r--pkgs/tools/misc/yubico-piv-tool/default.nix4
-rw-r--r--pkgs/tools/misc/yubikey-manager/default.nix6
-rw-r--r--pkgs/tools/networking/bandwhich/Cargo.lock684
-rw-r--r--pkgs/tools/networking/bandwhich/default.nix4
-rw-r--r--pkgs/tools/networking/dd-agent/datadog-agent.nix6
-rw-r--r--pkgs/tools/networking/gobgp/default.nix4
-rw-r--r--pkgs/tools/networking/godns/default.nix4
-rw-r--r--pkgs/tools/networking/grpc_cli/default.nix4
-rw-r--r--pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--pkgs/tools/networking/hblock/default.nix4
-rw-r--r--pkgs/tools/networking/hysteria/default.nix6
-rw-r--r--pkgs/tools/networking/linux-router/default.nix4
-rw-r--r--pkgs/tools/networking/minio-client/default.nix6
-rw-r--r--pkgs/tools/networking/nbd/default.nix13
-rw-r--r--pkgs/tools/networking/netbird/default.nix7
-rw-r--r--pkgs/tools/networking/openapi-generator-cli/default.nix17
-rw-r--r--pkgs/tools/networking/openvpn/default.nix103
-rw-r--r--pkgs/tools/networking/pacparser/default.nix4
-rw-r--r--pkgs/tools/networking/prettyping/default.nix1
-rw-r--r--pkgs/tools/networking/xdp-tools/default.nix4
-rw-r--r--pkgs/tools/networking/xh/default.nix10
-rw-r--r--pkgs/tools/networking/ytcc/default.nix15
-rw-r--r--pkgs/tools/networking/zrok/default.nix8
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py47
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/tests/test_auto_id_prefix.py92
-rw-r--r--pkgs/tools/package-management/apt-dater/default.nix6
-rw-r--r--pkgs/tools/package-management/apx/default.nix8
-rw-r--r--pkgs/tools/package-management/emplace/default.nix6
-rw-r--r--pkgs/tools/package-management/home-manager/default.nix6
-rw-r--r--pkgs/tools/package-management/nfpm/default.nix6
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix11
-rw-r--r--pkgs/tools/package-management/pdm/default.nix4
-rw-r--r--pkgs/tools/security/arubaotp-seed-extractor/default.nix2
-rw-r--r--pkgs/tools/security/aws-iam-authenticator/default.nix4
-rw-r--r--pkgs/tools/security/browserpass/default.nix3
-rw-r--r--pkgs/tools/security/cloudfox/default.nix11
-rw-r--r--pkgs/tools/security/cnquery/default.nix6
-rw-r--r--pkgs/tools/security/cnspec/default.nix6
-rw-r--r--pkgs/tools/security/commix/default.nix18
-rw-r--r--pkgs/tools/security/cosign/default.nix6
-rw-r--r--pkgs/tools/security/creds/default.nix6
-rw-r--r--pkgs/tools/security/cyclonedx-gomod/default.nix6
-rw-r--r--pkgs/tools/security/dalfox/default.nix13
-rw-r--r--pkgs/tools/security/deepsecrets/default.nix10
-rw-r--r--pkgs/tools/security/echidna/default.nix49
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/gotestwaf/default.nix4
-rw-r--r--pkgs/tools/security/govulncheck/default.nix4
-rw-r--r--pkgs/tools/security/gpg-tui/default.nix4
-rw-r--r--pkgs/tools/security/grype/default.nix6
-rw-r--r--pkgs/tools/security/hash-slinger/default.nix2
-rw-r--r--pkgs/tools/security/kube-bench/default.nix6
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock13
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix10
-rw-r--r--pkgs/tools/security/netexec/default.nix164
-rw-r--r--pkgs/tools/security/notation/default.nix7
-rw-r--r--pkgs/tools/security/nuclei/default.nix6
-rw-r--r--pkgs/tools/security/pass/extensions/audit/default.nix2
-rw-r--r--pkgs/tools/security/pgpdump/default.nix4
-rw-r--r--pkgs/tools/security/quark-engine/default.nix6
-rw-r--r--pkgs/tools/security/tlsx/default.nix15
-rw-r--r--pkgs/tools/security/trufflehog/default.nix6
-rw-r--r--pkgs/tools/system/automatic-timezoned/default.nix6
-rw-r--r--pkgs/tools/system/netdata/go.d.plugin.nix6
-rw-r--r--pkgs/tools/system/zram-generator/Cargo.lock4
-rw-r--r--pkgs/tools/text/comrak/default.nix6
-rw-r--r--pkgs/tools/text/crowdin-cli/default.nix4
-rw-r--r--pkgs/tools/text/diffstat/default.nix4
-rw-r--r--pkgs/tools/text/dos2unix/default.nix4
-rw-r--r--pkgs/tools/text/markdownlint-cli/default.nix6
-rw-r--r--pkgs/tools/text/nltk_data/default.nix5
-rw-r--r--pkgs/tools/text/ov/default.nix4
-rw-r--r--pkgs/tools/text/vale/default.nix6
-rw-r--r--pkgs/tools/text/yx/default.nix20
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix4
-rw-r--r--pkgs/tools/typesetting/pulldown-cmark/default.nix14
-rw-r--r--pkgs/tools/typesetting/sile/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/auctex/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/blahtexml/default.nix5
-rw-r--r--pkgs/tools/typesetting/tex/texlive/UPGRADING.md7
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix123
-rw-r--r--pkgs/tools/typesetting/tex/texlive/build-tex-env.nix36
-rw-r--r--pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix23
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix38
-rw-r--r--pkgs/tools/typesetting/tex/texlive/fix-implicit-int.patch22
-rw-r--r--pkgs/tools/typesetting/tex/texlive/fixed-hashes.nix1596
-rw-r--r--pkgs/tools/typesetting/tex/texlive/make-bin-containers.sh8
-rw-r--r--pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix47
-rw-r--r--pkgs/tools/typesetting/tex/texlive/tlpdb.nix7820
-rw-r--r--pkgs/tools/virtualization/cloud-init/default.nix4
-rw-r--r--pkgs/tools/wayland/hyprland-per-window-layout/default.nix6
-rw-r--r--pkgs/tools/wayland/swayr/default.nix6
-rw-r--r--pkgs/tools/wayland/wl-mirror/default.nix4
-rw-r--r--pkgs/top-level/aliases.nix16
-rw-r--r--pkgs/top-level/all-packages.nix167
-rw-r--r--pkgs/top-level/coq-packages.nix1
-rw-r--r--pkgs/top-level/gnuradio-packages.nix1
-rw-r--r--pkgs/top-level/linux-kernels.nix5
-rw-r--r--pkgs/top-level/ocaml-packages.nix8
-rw-r--r--pkgs/top-level/perl-packages.nix4
-rw-r--r--pkgs/top-level/php-packages.nix3
-rw-r--r--pkgs/top-level/python-aliases.nix2
-rw-r--r--pkgs/top-level/python-packages.nix41
-rw-r--r--pkgs/top-level/qt6-packages.nix6
1323 files changed, 27945 insertions, 25192 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 3ef3d178fe5d..9adde04e5c76 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -325,6 +325,9 @@ pkgs/applications/version-management/forgejo @bendlas @emilylange
 /pkgs/build-support/node/fetch-npm-deps         @lilyinstarlight @winterqt
 /doc/languages-frameworks/javascript.section.md @lilyinstarlight @winterqt
 
+# environment.noXlibs option aka NoX
+/nixos/modules/config/no-x-libs.nix  @SuperSandro2000
+
 # OCaml
 /pkgs/build-support/ocaml           @ulrikstrid
 /pkgs/development/compilers/ocaml   @ulrikstrid
diff --git a/.github/workflows/periodic-merge-24h.yml b/.github/workflows/periodic-merge-24h.yml
index 9ce6a7c74cc1..bd7aadfbade1 100644
--- a/.github/workflows/periodic-merge-24h.yml
+++ b/.github/workflows/periodic-merge-24h.yml
@@ -35,10 +35,6 @@ jobs:
         pairs:
           - from: master
             into: haskell-updates
-          - from: release-23.05
-            into: staging-next-23.05
-          - from: staging-next-23.05
-            into: staging-23.05
           - from: release-23.11
             into: staging-next-23.11
           - from: staging-next-23.11
@@ -56,7 +52,7 @@ jobs:
           github_token: ${{ secrets.GITHUB_TOKEN }}
 
       - name: Comment on failure
-        uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
+        uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
         if: ${{ failure() }}
         with:
           issue-number: 105153
diff --git a/.github/workflows/periodic-merge-6h.yml b/.github/workflows/periodic-merge-6h.yml
index f3151ead6a0f..61a489ad7156 100644
--- a/.github/workflows/periodic-merge-6h.yml
+++ b/.github/workflows/periodic-merge-6h.yml
@@ -50,7 +50,7 @@ jobs:
           github_token: ${{ secrets.GITHUB_TOKEN }}
 
       - name: Comment on failure
-        uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
+        uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
         if: ${{ failure() }}
         with:
           issue-number: 105153
diff --git a/doc/build-helpers/images/dockertools.section.md b/doc/build-helpers/images/dockertools.section.md
index b09766524043..677b429ba3c0 100644
--- a/doc/build-helpers/images/dockertools.section.md
+++ b/doc/build-helpers/images/dockertools.section.md
@@ -880,25 +880,211 @@ $ nix run nixpkgs#nix-prefetch-docker -- --help
 
 ## exportImage {#ssec-pkgs-dockerTools-exportImage}
 
-This function is analogous to the `docker export` command, in that it can be used to flatten a Docker image that contains multiple layers. It is in fact the result of the merge of all the layers of the image. As such, the result is suitable for being imported in Docker with `docker import`.
+This function is similar to the `docker container export` command, which means it can be used to export an image's filesystem as an uncompressed tarball archive.
+The difference is that `docker container export` is applied to containers, but `dockerTools.exportImage` applies to Docker images.
+The resulting archive will not contain any image metadata (such as command to run with `docker container run`), only the filesystem contents.
 
-> **_NOTE:_** Using this function requires the `kvm` device to be available.
+You can use this function to import an archive in Docker with `docker image import`.
+See [](#ex-dockerTools-exportImage-importingDocker) to understand how to do that.
 
-The parameters of `exportImage` are the following:
+:::{.caution}
+`exportImage` works by unpacking the given image inside a VM.
+Because of this, using this function requires the `kvm` device to be available, see [`system-features`](https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-system-features).
+:::
+
+### Inputs {#ssec-pkgs-dockerTools-exportImage-inputs}
+
+`exportImage` expects an argument with the following attributes:
+
+`fromImage` (Attribute Set or String)
+
+: The repository tarball of the image whose filesystem will be exported.
+  It must be a valid Docker image, such as one exported by `docker image save`, or another image built with the `dockerTools` utility functions.
+
+  If `name` is not specified, `fromImage` must be an Attribute Set corresponding to a derivation, i.e. it can't be a path to a tarball.
+  If `name` is specified, `fromImage` can be either an Attribute Set corresponding to a derivation or simply a path to a tarball.
+
+  See [](#ex-dockerTools-exportImage-naming) and [](#ex-dockerTools-exportImage-fromImagePath) to understand the connection between `fromImage`, `name`, and the name used for the output of `exportImage`.
+
+`fromImageName` (String or Null; _optional_)
+
+: Used to specify the image within the repository tarball in case it contains multiple images.
+  A value of `null` means that `exportImage` will use the first image available in the repository.
+
+  :::{.note}
+  This must be used with `fromImageTag`. Using only `fromImageName` without `fromImageTag` will make `exportImage` use the first image available in the repository.
+  :::
+
+  _Default value:_ `null`.
+
+`fromImageTag` (String or Null; _optional_)
+
+: Used to specify the image within the repository tarball in case it contains multiple images.
+  A value of `null` means that `exportImage` will use the first image available in the repository.
+
+  :::{.note}
+  This must be used with `fromImageName`. Using only `fromImageTag` without `fromImageName` will make `exportImage` use the first image available in the repository
+  :::
+
+  _Default value:_ `null`.
+
+`diskSize` (Number; _optional_)
+
+: Controls the disk size (in megabytes) of the VM used to unpack the image.
+
+  _Default value:_ 1024.
+
+`name` (String; _optional_)
+
+: The name used for the output in the Nix store path.
+
+  _Default value:_ the value of `fromImage.name`.
+
+### Examples {#ssec-pkgs-dockerTools-exportImage-examples}
+
+:::{.example #ex-dockerTools-exportImage-hello}
+# Exporting a Docker image with `dockerTools.exportImage`
+
+This example first builds a layered image with [`dockerTools.buildLayeredImage`](#ssec-pkgs-dockerTools-buildLayeredImage), and then exports its filesystem with `dockerTools.exportImage`.
+
+```nix
+{ dockerTools, hello }:
+dockerTools.exportImage {
+  name = "hello";
+  fromImage = dockerTools.buildLayeredImage {
+    name = "hello";
+    contents = [ hello ];
+  };
+}
+```
+
+When building the package above, we can see the layers of the Docker image being unpacked to produce the final output:
+
+```shell
+$ nix-build
+(some output removed for clarity)
+Unpacking base image...
+From-image name or tag wasn't set. Reading the first ID.
+Unpacking layer 5731199219418f175d1580dbca05677e69144425b2d9ecb60f416cd57ca3ca42/layer.tar
+tar: Removing leading `/' from member names
+Unpacking layer e2897bf34bb78c4a65736510204282d9f7ca258ba048c183d665bd0f3d24c5ec/layer.tar
+tar: Removing leading `/' from member names
+Unpacking layer 420aa5876dca4128cd5256da7dea0948e30ef5971712f82601718cdb0a6b4cda/layer.tar
+tar: Removing leading `/' from member names
+Unpacking layer ea5f4e620e7906c8ecbc506b5e6f46420e68d4b842c3303260d5eb621b5942e5/layer.tar
+tar: Removing leading `/' from member names
+Unpacking layer 65807b9abe8ab753fa97da8fb74a21fcd4725cc51e1b679c7973c97acd47ebcf/layer.tar
+tar: Removing leading `/' from member names
+Unpacking layer b7da2076b60ebc0ea6824ef641978332b8ac908d47b2d07ff31b9cc362245605/layer.tar
+Executing post-mount steps...
+Packing raw image...
+[    1.660036] reboot: Power down
+/nix/store/x6a5m7c6zdpqz1d8j7cnzpx9glzzvd2h-hello
+```
+
+The following command lists some of the contents of the output to verify that the structure of the archive is as expected:
+
+```shell
+$ tar --exclude '*/share/*' --exclude 'nix/store/*/*' -tvf /nix/store/x6a5m7c6zdpqz1d8j7cnzpx9glzzvd2h-hello
+drwxr-xr-x root/0            0 1979-12-31 16:00 ./
+drwxr-xr-x root/0            0 1979-12-31 16:00 ./bin/
+lrwxrwxrwx root/0            0 1979-12-31 16:00 ./bin/hello -> /nix/store/h92a9jd0lhhniv2q417hpwszd4jhys7q-hello-2.12.1/bin/hello
+dr-xr-xr-x root/0            0 1979-12-31 16:00 ./nix/
+dr-xr-xr-x root/0            0 1979-12-31 16:00 ./nix/store/
+dr-xr-xr-x root/0            0 1979-12-31 16:00 ./nix/store/05zbwhz8a7i2v79r9j21pl6m6cj0xi8k-libunistring-1.1/
+dr-xr-xr-x root/0            0 1979-12-31 16:00 ./nix/store/ayg5rhjhi9ic73hqw33mjqjxwv59ndym-xgcc-13.2.0-libgcc/
+dr-xr-xr-x root/0            0 1979-12-31 16:00 ./nix/store/h92a9jd0lhhniv2q417hpwszd4jhys7q-hello-2.12.1/
+dr-xr-xr-x root/0            0 1979-12-31 16:00 ./nix/store/m59xdgkgnjbk8kk6k6vbxmqnf82mk9s0-libidn2-2.3.4/
+dr-xr-xr-x root/0            0 1979-12-31 16:00 ./nix/store/p3jshbwxiwifm1py0yq544fmdyy98j8a-glibc-2.38-27/
+drwxr-xr-x root/0            0 1979-12-31 16:00 ./share/
+```
+:::
+
+:::{.example #ex-dockerTools-exportImage-importingDocker}
+# Importing an archive built with `dockerTools.exportImage` in Docker
+
+We will use the same package from [](#ex-dockerTools-exportImage-hello) and import it into Docker.
 
 ```nix
-exportImage {
-  fromImage = someLayeredImage;
-  fromImageName = null;
-  fromImageTag = null;
+{ dockerTools, hello }:
+dockerTools.exportImage {
+  name = "hello";
+  fromImage = dockerTools.buildLayeredImage {
+    name = "hello";
+    contents = [ hello ];
+  };
+}
+```
+
+Building and importing it into Docker:
+
+```shell
+$ nix-build
+(output removed for clarity)
+/nix/store/x6a5m7c6zdpqz1d8j7cnzpx9glzzvd2h-hello
+$ docker image import /nix/store/x6a5m7c6zdpqz1d8j7cnzpx9glzzvd2h-hello
+sha256:1d42dba415e9b298ea0decf6497fbce954de9b4fcb2984f91e307c8fedc1f52f
+$ docker image ls
+REPOSITORY                              TAG                IMAGE ID       CREATED         SIZE
+<none>                                  <none>             1d42dba415e9   4 seconds ago   32.6MB
+```
+:::
+
+:::{.example #ex-dockerTools-exportImage-naming}
+# Exploring output naming with `dockerTools.exportImage`
+
+`exportImage` does not require a `name` attribute if `fromImage` is a derivation, which means that the following works:
 
-  name = someLayeredImage.name;
+```nix
+{ dockerTools, hello }:
+dockerTools.exportImage {
+  fromImage = dockerTools.buildLayeredImage {
+    name = "hello";
+    contents = [ hello ];
+  };
 }
 ```
 
-The parameters relative to the base image have the same synopsis as described in [buildImage](#ssec-pkgs-dockerTools-buildImage), except that `fromImage` is the only required argument in this case.
+However, since [`dockerTools.buildLayeredImage`](#ssec-pkgs-dockerTools-buildLayeredImage)'s output ends with `.tar.gz`, the output of `exportImage` will also end with `.tar.gz`, even though the archive created with `exportImage` is uncompressed:
+
+```shell
+$ nix-build
+(output removed for clarity)
+/nix/store/by3f40xvc4l6bkis74l0fj4zsy0djgkn-hello.tar.gz
+$ file /nix/store/by3f40xvc4l6bkis74l0fj4zsy0djgkn-hello.tar.gz
+/nix/store/by3f40xvc4l6bkis74l0fj4zsy0djgkn-hello.tar.gz: POSIX tar archive (GNU)
+```
+
+If the archive was actually compressed, the output of file would've mentioned that fact.
+Because of this, it may be important to set a proper `name` attribute when using `exportImage` with other functions from `dockerTools`.
+:::
+
+:::{.example #ex-dockerTools-exportImage-fromImagePath}
+# Using `dockerTools.exportImage` with a path as `fromImage`
+
+It is possible to use a path as the value of the `fromImage` attribute when calling `dockerTools.exportImage`.
+However, when doing so, a `name` attribute **MUST** be specified, or you'll encounter an error when evaluating the Nix code.
+
+For this example, we'll assume a Docker tarball image named `image.tar.gz` exists in the same directory where our package is defined:
 
-The `name` argument is the name of the derivation output, which defaults to `fromImage.name`.
+```nix
+{ dockerTools }:
+dockerTools.exportImage {
+  name = "filesystem.tar";
+  fromImage = ./image.tar.gz;
+}
+```
+
+Building this will give us the expected output:
+
+```shell
+$ nix-build
+(output removed for clarity)
+/nix/store/w13l8h3nlkg0zv56k7rj0ai0l2zlf7ss-filesystem.tar
+```
+
+If you don't specify a `name` attribute, you'll encounter an evaluation error and the package won't build.
+:::
 
 ## Environment Helpers {#ssec-pkgs-dockerTools-helpers}
 
diff --git a/doc/build-helpers/trivial-build-helpers.chapter.md b/doc/build-helpers/trivial-build-helpers.chapter.md
index 4648c7985542..384e25035060 100644
--- a/doc/build-helpers/trivial-build-helpers.chapter.md
+++ b/doc/build-helpers/trivial-build-helpers.chapter.md
@@ -502,9 +502,14 @@ concatScript "my-file" [ file1 file2 ]
 
 ## `writeShellApplication` {#trivial-builder-writeShellApplication}
 
-This can be used to easily produce a shell script that has some dependencies (`runtimeInputs`). It automatically sets the `PATH` of the script to contain all of the listed inputs, sets some sanity shellopts (`errexit`, `nounset`, `pipefail`), and checks the resulting script with [`shellcheck`](https://github.com/koalaman/shellcheck).
+`writeShellApplication` is similar to `writeShellScriptBin` and `writeScriptBin` but supports runtime dependencies with `runtimeInputs`.
+Writes an executable shell script to `/nix/store/<store path>/bin/<name>` and checks its syntax with [`shellcheck`](https://github.com/koalaman/shellcheck) and the `bash`'s `-n` option.
+Some basic Bash options are set by default (`errexit`, `nounset`, and `pipefail`), but can be overridden with `bashOptions`.
 
-For example, look at the following code:
+Extra arguments may be passed to `stdenv.mkDerivation` by setting `derivationArgs`; note that variables set in this manner will be set when the shell script is _built,_ not when it's run.
+Runtime environment variables can be set with the `runtimeEnv` argument.
+
+For example, the following shell application can refer to `curl` directly, rather than needing to write `${curl}/bin/curl`:
 
 ```nix
 writeShellApplication {
@@ -518,10 +523,6 @@ writeShellApplication {
 }
 ```
 
-Unlike with normal `writeShellScriptBin`, there is no need to manually write out `${curl}/bin/curl`, setting the PATH
-was handled by `writeShellApplication`. Moreover, the script is being checked with `shellcheck` for more strict
-validation.
-
 ## `symlinkJoin` {#trivial-builder-symlinkJoin}
 
 This can be used to put many derivations into the same directory structure. It works by creating a new derivation and adding symlinks to each of the paths listed. It expects two arguments, `name`, and `paths`. `name` is the name used in the Nix store path for the created derivation. `paths` is a list of paths that will be symlinked. These paths can be to Nix store derivations or any other subdirectory contained within.
diff --git a/doc/doc-support/lib-function-docs.nix b/doc/doc-support/lib-function-docs.nix
index 8592fafbbd15..5faa99b3e89e 100644
--- a/doc/doc-support/lib-function-docs.nix
+++ b/doc/doc-support/lib-function-docs.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     mkdir -p "$out"
 
     cat > "$out/index.md" << 'EOF'
-    ```{=include=} sections
+    ```{=include=} sections auto-id-prefix=auto-generated
     EOF
 
     ${lib.concatMapStrings ({ name, baseName ? name, description }: ''
diff --git a/doc/hooks/python.section.md b/doc/hooks/python.section.md
index ecaae491e994..b7862650f167 100644
--- a/doc/hooks/python.section.md
+++ b/doc/hooks/python.section.md
@@ -1,3 +1,3 @@
 # Python {#setup-hook-python}
 
-Adds the `lib/${python.libPrefix}/site-packages` subdirectory of each build input to the `PYTHONPATH` environment variable.
+Adds the `python.sitePackages` subdirectory (i.e. `lib/pythonX.Y/site-packages`) of each build input to the `PYTHONPATH` environment variable.
diff --git a/doc/languages-frameworks/beam.section.md b/doc/languages-frameworks/beam.section.md
index 1e83d4b93c7c..992149090c63 100644
--- a/doc/languages-frameworks/beam.section.md
+++ b/doc/languages-frameworks/beam.section.md
@@ -216,7 +216,7 @@ in packages.mixRelease {
 Setup will require the following steps:
 
 - Move your secrets to runtime environment variables. For more information refer to the [runtime.exs docs](https://hexdocs.pm/mix/Mix.Tasks.Release.html#module-runtime-configuration). On a fresh Phoenix build that would mean that both `DATABASE_URL` and `SECRET_KEY` need to be moved to `runtime.exs`.
-- `cd assets` and `nix-shell -p node2nix --run node2nix --development` will generate a Nix expression containing your frontend dependencies
+- `cd assets` and `nix-shell -p node2nix --run "node2nix --development"` will generate a Nix expression containing your frontend dependencies
 - commit and push those changes
 - you can now `nix-build .`
 - To run the release, set the `RELEASE_TMP` environment variable to a directory that your program has write access to. It will be used to store the BEAM settings.
diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md
index 0edf0b6f019f..bec72cb3c0d3 100644
--- a/doc/languages-frameworks/haskell.section.md
+++ b/doc/languages-frameworks/haskell.section.md
@@ -1229,10 +1229,12 @@ in
   in
 
   {
-    haskell = lib.recursiveUpdate prev.haskell {
-      compiler.${ghcName} = prev.haskell.compiler.${ghcName}.override {
-        # Unfortunately, the GHC setting is named differently for historical reasons
-        enableProfiledLibs = enableProfiling;
+    haskell = prev.haskell // {
+      compiler = prev.haskell.compiler // {
+        ${ghcName} = prev.haskell.compiler.${ghcName}.override {
+          # Unfortunately, the GHC setting is named differently for historical reasons
+          enableProfiledLibs = enableProfiling;
+        };
       };
     };
   })
@@ -1244,31 +1246,33 @@ in
   in
 
   {
-    haskell = lib.recursiveUpdate prev.haskell {
-      packages.${ghcName} = prev.haskell.packages.${ghcName}.override {
-        overrides = hfinal: hprev: {
-          mkDerivation = args: hprev.mkDerivation (args // {
-            # Since we are forcing our ideas upon mkDerivation, this change will
-            # affect every package in the package set.
-            enableLibraryProfiling = enableProfiling;
-
-            # To actually use profiling on an executable, executable profiling
-            # needs to be enabled for the executable you want to profile. You
-            # can either do this globally or…
-            enableExecutableProfiling = enableProfiling;
-          });
-
-          # …only for the package that contains an executable you want to profile.
-          # That saves on unnecessary rebuilds for packages that you only depend
-          # on for their library, but also contain executables (e.g. pandoc).
-          my-executable = haskellLib.enableExecutableProfiling hprev.my-executable;
-
-          # If you are disabling profiling to save on build time, but want to
-          # retain the ability to substitute from the binary cache. Drop the
-          # override for mkDerivation above and instead have an override like
-          # this for the specific packages you are building locally and want
-          # to make cheaper to build.
-          my-library = haskellLib.disableLibraryProfiling hprev.my-library;
+    haskell = prev.haskell // {
+      packages = prev.haskell.packages // {
+        ${ghcName} = prev.haskell.packages.${ghcName}.override {
+          overrides = hfinal: hprev: {
+            mkDerivation = args: hprev.mkDerivation (args // {
+              # Since we are forcing our ideas upon mkDerivation, this change will
+              # affect every package in the package set.
+              enableLibraryProfiling = enableProfiling;
+
+              # To actually use profiling on an executable, executable profiling
+              # needs to be enabled for the executable you want to profile. You
+              # can either do this globally or…
+              enableExecutableProfiling = enableProfiling;
+            });
+
+            # …only for the package that contains an executable you want to profile.
+            # That saves on unnecessary rebuilds for packages that you only depend
+            # on for their library, but also contain executables (e.g. pandoc).
+            my-executable = haskellLib.enableExecutableProfiling hprev.my-executable;
+
+            # If you are disabling profiling to save on build time, but want to
+            # retain the ability to substitute from the binary cache. Drop the
+            # override for mkDerivation above and instead have an override like
+            # this for the specific packages you are building locally and want
+            # to make cheaper to build.
+            my-library = haskellLib.disableLibraryProfiling hprev.my-library;
+          };
         };
       };
     };
diff --git a/doc/preface.chapter.md b/doc/preface.chapter.md
index 93cd1a00b4f2..e6a0905c5a95 100644
--- a/doc/preface.chapter.md
+++ b/doc/preface.chapter.md
@@ -27,18 +27,18 @@ With these expressions the Nix package manager can build binary packages.
 Packages, including the Nix packages collection, are distributed through
 [channels](https://nixos.org/nix/manual/#sec-channels). The collection is
 distributed for users of Nix on non-NixOS distributions through the channel
-`nixpkgs`. Users of NixOS generally use one of the `nixos-*` channels, e.g.
-`nixos-22.11`, which includes all packages and modules for the stable NixOS
+`nixpkgs-unstable`. Users of NixOS generally use one of the `nixos-*` channels,
+e.g. `nixos-22.11`, which includes all packages and modules for the stable NixOS
 22.11. Stable NixOS releases are generally only given
 security updates. More up to date packages and modules are available via the
 `nixos-unstable` channel.
 
-Both `nixos-unstable` and `nixpkgs` follow the `master` branch of the Nixpkgs
-repository, although both do lag the `master` branch by generally
+Both `nixos-unstable` and `nixpkgs-unstable` follow the `master` branch of the
+nixpkgs repository, although both do lag the `master` branch by generally
 [a couple of days](https://status.nixos.org/). Updates to a channel are
 distributed as soon as all tests for that channel pass, e.g.
 [this table](https://hydra.nixos.org/job/nixpkgs/trunk/unstable#tabs-constituents)
-shows the status of tests for the `nixpkgs` channel.
+shows the status of tests for the `nixpkgs-unstable` channel.
 
 The tests are conducted by a cluster called [Hydra](https://nixos.org/hydra/),
 which also builds binary packages from the Nix expressions in Nixpkgs for
@@ -46,5 +46,5 @@ which also builds binary packages from the Nix expressions in Nixpkgs for
 The binaries are made available via a [binary cache](https://cache.nixos.org).
 
 The current Nix expressions of the channels are available in the
-[`nixpkgs`](https://github.com/NixOS/nixpkgs) repository in branches
+[nixpkgs repository](https://github.com/NixOS/nixpkgs) in branches
 that correspond to the channel names (e.g. `nixos-22.11-small`).
diff --git a/lib/fileset/internal.nix b/lib/fileset/internal.nix
index 4059d2e24426..f4fcc83e1012 100644
--- a/lib/fileset/internal.nix
+++ b/lib/fileset/internal.nix
@@ -5,6 +5,7 @@ let
     isAttrs
     isPath
     isString
+    nixVersion
     pathExists
     readDir
     split
@@ -17,6 +18,7 @@ let
     attrNames
     attrValues
     mapAttrs
+    optionalAttrs
     zipAttrsWith
     ;
 
@@ -56,6 +58,7 @@ let
     substring
     stringLength
     hasSuffix
+    versionAtLeast
     ;
 
   inherit (lib.trivial)
@@ -840,6 +843,10 @@ rec {
   # https://github.com/NixOS/nix/commit/55cefd41d63368d4286568e2956afd535cb44018
   _fetchGitSubmodulesMinver = "2.4";
 
+  # Support for `builtins.fetchGit` with `shallow = true` was introduced in 2.4
+  # https://github.com/NixOS/nix/commit/d1165d8791f559352ff6aa7348e1293b2873db1c
+  _fetchGitShallowMinver = "2.4";
+
   # Mirrors the contents of a Nix store path relative to a local path as a file set.
   # Some notes:
   # - The store path is read at evaluation time.
@@ -894,7 +901,17 @@ rec {
           # However a simpler alternative still would be [a builtins.gitLsFiles](https://github.com/NixOS/nix/issues/2944).
           fetchResult = fetchGit ({
             url = path;
-          } // extraFetchGitAttrs);
+          }
+          # In older Nix versions, repositories were always assumed to be deep clones, which made `fetchGit` fail for shallow clones
+          # For newer versions this was fixed, but the `shallow` flag is required.
+          # The only behavioral difference is that for shallow clones, `fetchGit` doesn't return a `revCount`,
+          # which we don't need here, so it's fine to always pass it.
+
+          # Unfortunately this means older Nix versions get a poor error message for shallow repositories, and there's no good way to improve that.
+          # Checking for `.git/shallow` doesn't seem worth it, especially since that's more of an implementation detail,
+          # and would also require more code to handle worktrees where `.git` is a file.
+          // optionalAttrs (versionAtLeast nixVersion _fetchGitShallowMinver) { shallow = true; }
+          // extraFetchGitAttrs);
         in
         # We can identify local working directories by checking for .git,
         # see https://git-scm.com/docs/gitrepository-layout#_description.
diff --git a/lib/fileset/tests.sh b/lib/fileset/tests.sh
index e809aef6935a..af8338eb7855 100755
--- a/lib/fileset/tests.sh
+++ b/lib/fileset/tests.sh
@@ -1439,6 +1439,19 @@ if [[ -n "$fetchGitSupportsSubmodules" ]]; then
 fi
 rm -rf -- *
 
+# shallow = true is not supported on all Nix versions
+# and older versions don't support shallow clones at all
+if [[ "$(nix-instantiate --eval --expr "$prefixExpression (versionAtLeast builtins.nixVersion _fetchGitShallowMinver)")" == true ]]; then
+    createGitRepo full
+    # Extra commit such that there's a commit that won't be in the shallow clone
+    git -C full commit --allow-empty -q -m extra
+    git clone -q --depth 1 "file://${PWD}/full" shallow
+    cd shallow
+    checkGitTracked
+    cd ..
+    rm -rf -- *
+fi
+
 # Go through all stages of Git files
 # See https://www.git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository
 
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 8dc01e560746..47b7005c561d 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -337,6 +337,11 @@ in mkLicense lset) ({
     fullName = "Creative Commons Attribution 1.0";
   };
 
+  cc-by-20 = {
+    spdxId = "CC-BY-2.0";
+    fullName = "Creative Commons Attribution 2.0";
+  };
+
   cc-by-30 = {
     spdxId = "CC-BY-3.0";
     fullName = "Creative Commons Attribution 3.0";
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index a90ff4ad9a2f..0755670c5987 100755
--- a/lib/tests/modules.sh
+++ b/lib/tests/modules.sh
@@ -101,6 +101,7 @@ checkConfigError 'It seems as if you.re trying to declare an option by placing i
 checkConfigError 'It seems as if you.re trying to declare an option by placing it into .config. rather than .options.' config.nest.wrong2 ./error-mkOption-in-config.nix
 checkConfigError 'The option .sub.wrong2. does not exist. Definition values:' config.sub ./error-mkOption-in-submodule-config.nix
 checkConfigError '.*This can happen if you e.g. declared your options in .types.submodule.' config.sub ./error-mkOption-in-submodule-config.nix
+checkConfigError '.*A definition for option .bad. is not of type .non-empty .list of .submodule...\.' config.bad ./error-nonEmptyListOf-submodule.nix
 
 # types.pathInStore
 checkConfigOutput '".*/store/0lz9p8xhf89kb1c1kk6jxrzskaiygnlh-bash-5.2-p15.drv"' config.pathInStore.ok1 ./types.nix
diff --git a/lib/tests/modules/error-nonEmptyListOf-submodule.nix b/lib/tests/modules/error-nonEmptyListOf-submodule.nix
new file mode 100644
index 000000000000..1189e8891560
--- /dev/null
+++ b/lib/tests/modules/error-nonEmptyListOf-submodule.nix
@@ -0,0 +1,7 @@
+{ lib, ... }:
+{
+  options.bad = lib.mkOption {
+    type = lib.types.nonEmptyListOf (lib.types.submodule { });
+    default = [ ];
+  };
+}
diff --git a/lib/trivial.nix b/lib/trivial.nix
index b2796096e8bc..f27cfb04f074 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -189,7 +189,7 @@ in {
      they take effect as soon as the oldest release reaches end of life. */
   oldestSupportedRelease =
     # Update on master only. Do not backport.
-    2305;
+    2311;
 
   /* Whether a feature is supported in all supported releases (at the time of
      release branch-off, if applicable). See `oldestSupportedRelease`. */
diff --git a/lib/types.nix b/lib/types.nix
index cea63c598321..7b2062f13059 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -557,6 +557,7 @@ rec {
       in list // {
         description = "non-empty ${optionDescriptionPhrase (class: class == "noun") list}";
         emptyValue = { }; # no .value attr, meaning unset
+        substSubModules = m: nonEmptyListOf (elemType.substSubModules m);
       };
 
     attrsOf = elemType: mkOptionType rec {
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 3e7ccb2db116..64db85e00369 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -60,6 +60,18 @@
     See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data.
 */
 {
+  _0b11stan = {
+    name = "Tristan Auvinet Pinaudeau";
+    email = "tristan@tic.sh";
+    github = "0b11stan";
+    githubId = 27831931;
+  };
+  _0nyr = {
+    email = "onyr.maintainer@gmail.com";
+    github = "0nyr";
+    githubId = 47721040;
+    name = "Florian Rascoussier";
+  };
   _0qq = {
     email = "0qqw0qqw@gmail.com";
     github = "0qq";
@@ -1904,6 +1916,12 @@
     githubId = 1217745;
     name = "Aldwin Vlasblom";
   };
+  averagebit = {
+    email = "averagebit@pm.me";
+    github = "averagebit";
+    githubId = 97070581;
+    name = "averagebit";
+  };
   averelld = {
     email = "averell+nixos@rxd4.com";
     github = "averelld";
@@ -2795,6 +2813,12 @@
     githubId = 40476330;
     name = "brokenpip3";
   };
+  brpaz = {
+    email = "oss@brunopaz.dev";
+    github = "brpaz";
+    githubId = 184563;
+    name = "Bruno Paz";
+  };
   bryanasdev000 = {
     email = "bryanasdev000@gmail.com";
     matrix = "@bryanasdev000:matrix.org";
@@ -3253,6 +3277,9 @@
     github = "LostAttractor";
     githubId = 46527539;
     name = "ChaosAttractor";
+    keys = [{
+      fingerprint = "A137 4415 DB7C 6439 10EA  5BF1 0FEE 4E47 5940 E125";
+    }];
   };
   charlesbaynham = {
     email = "charlesbaynham@gmail.com";
@@ -3332,6 +3359,13 @@
     githubId = 4526429;
     name = "Philipp Dargel";
   };
+  chito = {
+    email = "iamchito@protonmail.com";
+    github = "chitochi";
+    githubId = 153365419;
+    matrix = "@chito:nichijou.dev";
+    name = "Chito";
+  };
   chivay = {
     email = "hubert.jasudowicz@gmail.com";
     github = "chivay";
@@ -4364,6 +4398,15 @@
     githubId = 3179832;
     name = "D. Bohdan";
   };
+  dbrgn = {
+    email = "nix@dbrgn.ch";
+    github = "dbrgn";
+    githubId = 105168;
+    name = "Danilo B.";
+    keys = [{
+      fingerprint = "20EE 002D 778A E197 EF7D  0D2C B993 FF98 A90C 9AB1";
+    }];
+  };
   dbrock = {
     email = "daniel@brockman.se";
     github = "dbrock";
@@ -5259,6 +5302,13 @@
     github = "edlimerkaj";
     githubId = 71988351;
   };
+  edmundmiller = {
+    name = "Edmund Miller";
+    email = "git@edmundmiller.dev";
+    matrix = "@emiller:beeper.com";
+    github = "edmundmiller";
+    githubId = 20095261;
+  };
   edrex = {
     email = "ericdrex@gmail.com";
     github = "edrex";
@@ -5482,6 +5532,12 @@
     githubId = 428026;
     name = "embr";
   };
+  emilioziniades = {
+    email = "emilioziniades@protonmail.com";
+    github = "emilioziniades";
+    githubId = 75438244;
+    name = "Emilio Ziniades";
+  };
   emily = {
     email = "nixpkgs@emily.moe";
     github = "emilazy";
@@ -6932,6 +6988,12 @@
     email = "nix@quidecco.pl";
     name = "Isidor Zeuner";
   };
+  gmacon = {
+    name = "George Macon";
+    matrix = "@gmacon:matrix.org";
+    github = "gmacon";
+    githubId = 238853;
+  };
   gmemstr = {
     email = "git@gmem.ca";
     github = "gmemstr";
@@ -10060,6 +10122,12 @@
     githubId = 264372;
     name = "Jan van den Berg";
   };
+  koppor = {
+    email = "kopp.dev@gmail.com";
+    github = "koppor";
+    githubId = 1366654;
+    name = "Oliver Kopp";
+  };
   koral = {
     email = "koral@mailoo.org";
     github = "k0ral";
@@ -10150,6 +10218,13 @@
     githubId = 22116767;
     name = "Kritnich";
   };
+  krloer = {
+    email = "kriloneri@gmail.com";
+    github = "krloer";
+    githubId = 45591621;
+    name = "Kristoffer Longva Eriksen";
+    matrix = "@krisleri:pvv.ntnu.no";
+  };
   kroell = {
     email = "nixosmainter@makroell.de";
     github = "rokk4";
@@ -11231,6 +11306,15 @@
     githubId = 42545625;
     name = "Maas Lalani";
   };
+  mabster314 = {
+    name = "Max Haland";
+    email = "max@haland.org";
+    github = "mabster314";
+    githubId = 5741741;
+    keys = [{
+      fingerprint = "71EF 8F1F 0C24 8B4D 5CDC 1B47 74B3 D790 77EE 37A8";
+    }];
+  };
   macalinao = {
     email = "me@ianm.com";
     name = "Ian Macalinao";
@@ -12344,6 +12428,12 @@
     githubId = 92937;
     name = "Breland Miley";
   };
+  minersebas = {
+    email = "scherthan_sebastian@web.de";
+    github = "MinerSebas";
+    githubId = 66798382;
+    name = "Sebastian Maximilian Scherthan";
+  };
   minijackson = {
     email = "minijackson@riseup.net";
     github = "minijackson";
@@ -13071,6 +13161,12 @@
     githubId = 1222539;
     name = "Roman Naumann";
   };
+  nanotwerp = {
+    email = "nanotwerp@gmail.com";
+    github = "nanotwerp";
+    githubId = 17240342;
+    name = "Nano Twerpus";
+  };
   naphta = {
     github = "naphta";
     githubId = 6709831;
@@ -14472,6 +14568,12 @@
     github = "pbsds";
     githubId = 140964;
   };
+  pca006132 = {
+    name = "pca006132";
+    email = "john.lck40@gmail.com";
+    github = "pca006132";
+    githubId = 12198657;
+  };
   pcarrier = {
     email = "pc@rrier.ca";
     github = "pcarrier";
@@ -15824,6 +15926,11 @@
     githubId = 811827;
     name = "Gabriel Lievano";
   };
+  rgri = {
+    name = "shortcut";
+    github = "rgri";
+    githubId = 45253749;
+  };
   rgrinberg = {
     name = "Rudi Grinberg";
     email = "me@rgrinberg.com";
@@ -16087,7 +16194,7 @@
     name = "Robert Walter";
   };
   roconnor = {
-    email = "roconnor@theorem.ca";
+    email = "roconnor@r6.ca";
     github = "roconnor";
     githubId = 852967;
     name = "Russell O'Connor";
@@ -16757,12 +16864,6 @@
       fingerprint = "E173 237A C782 296D 98F5  ADAC E13D FD4B 4712 7951";
     }];
   };
-  scubed2 = {
-    email = "scubed2@gmail.com";
-    github = "scubed2";
-    githubId = 7401858;
-    name = "Sterling Stein";
-  };
   sdier = {
     email = "scott@dier.name";
     matrix = "@sdier:matrix.org";
@@ -20410,6 +20511,22 @@
     githubId = 13489144;
     name = "Calle Rosenquist";
   };
+  xbz = {
+    email = "renatochavez7@gmail.com";
+    github = "Xbz-24";
+    githubId = 68678258;
+    name = "Renato German Chavez Chicoma";
+  };
+  xddxdd = {
+    email = "b980120@hotmail.com";
+    github = "xddxdd";
+    githubId = 5778879;
+    keys = [
+      { fingerprint = "2306 7C13 B6AE BDD7 C0BB  5673 27F3 1700 E751 EC22"; }
+      { fingerprint = "B195 E8FB 873E 6020 DCD1  C0C6 B50E C319 385F CB0D"; }
+    ];
+    name = "Yuhui Xu";
+  };
   xdhampus = {
     name = "Hampus";
     github = "xdHampus";
@@ -20430,7 +20547,6 @@
   };
   xfix = {
     email = "kamila@borowska.pw";
-    matrix = "@xfix:matrix.org";
     github = "KamilaBorowska";
     githubId = 1297598;
     name = "Kamila Borowska";
@@ -20604,6 +20720,13 @@
     githubId = 11229748;
     name = "Lin Yinfeng";
   };
+  yisraeldov = {
+    email = "lebow@lebowtech.com";
+    name = "Yisrael Dov Lebow";
+    github = "yisraeldov";
+    githubId = 138219;
+    matrix = "@yisraeldov:matrix.org";
+  };
   yisuidenghua = {
     email = "bileiner@gmail.com";
     name = "Milena Yisui";
diff --git a/maintainers/scripts/bootstrap-files/README.md b/maintainers/scripts/bootstrap-files/README.md
new file mode 100644
index 000000000000..ae385cbd6ce8
--- /dev/null
+++ b/maintainers/scripts/bootstrap-files/README.md
@@ -0,0 +1,85 @@
+# Bootstrap files
+
+Currently `nixpkgs` builds most of it's packages using bootstrap seed
+binaries (without the reliance on external inputs):
+
+- `bootstrap-tools`: an archive with the compiler toolchain and other
+  helper tools enough to build the rest of the `nixpkgs`.
+- initial binaries needed to unpack `bootstrap-tools.*`. On `linux`
+  it's just `busybox`, on `darwin` it's `sh`, `bzip2`, `mkdir` and
+  `cpio`. These binaries can be executed directly from the store.
+
+These are called "bootstrap files".
+
+Bootstrap files should always be fetched from hydra and uploaded to
+`tarballs.nixos.org` to guarantee that all the binaries were built from
+the code committed into `nixpkgs` repository.
+
+The uploads to `tarballs.nixos.org` are done by `@lovesegfault` today.
+
+This document describes the procedure of updating bootstrap files in
+`nixpkgs`.
+
+## How to request the bootstrap seed update
+
+To get the tarballs updated let's use an example `i686-unknown-linux-gnu`
+target:
+
+1. Create a local update:
+
+   ```
+   $ maintainers/scripts/bootstrap-files/refresh-tarballs.bash --commit --targets=i686-unknown-linux-gnu
+   ```
+
+2. Test the update locally. I'll build local `hello` derivation with
+   the result:
+
+   ```
+   $ nix-build -A hello --argstr system i686-linux
+   ```
+
+   To validate cross-targets `binfmt` `NixOS` helper can be useful.
+   For `riscv64-unknown-linux-gnu` the `/etc/nixox/configuraqtion.nix`
+   entry would be `boot.binfmt.emulatedSystems = [ "riscv64-linux" ]`.
+
+3. Propose the commit as a PR to update bootstrap tarballs, tag people
+   who can help you test the updated architecture and once reviewed tag
+  `@lovesegfault` to upload the tarballs.
+
+## Bootstrap files job definitions
+
+There are two types of bootstrap files:
+
+- natively built `stdenvBootstrapTools.build` hydra jobs in
+  [`nixpkgs:trunk`](https://hydra.nixos.org/jobset/nixpkgs/trunk#tabs-jobs)
+  jobset. Incomplete list of examples is:
+
+  * `aarch64-unknown-linux-musl.nix`
+  * `i686-unknown-linux-gnu.nix`
+
+  These are Tier 1 hydra platforms.
+
+- cross-built by `bootstrapTools.build` hydra jobs in
+  [`nixpkgs:cross-trunk`](https://hydra.nixos.org/jobset/nixpkgs/cross-trunk#tabs-jobs)
+  jobset. Incomplete list of examples is:
+
+  * `mips64el-unknown-linux-gnuabi64.nix`
+  * `mips64el-unknown-linux-gnuabin32.nix`
+  * `mipsel-unknown-linux-gnu.nix`
+  * `powerpc64le-unknown-linux-gnu.nix`
+  * `riscv64-unknown-linux-gnu.nix`
+
+  These are usually Tier 2 and lower targets.
+
+The `.build` job contains `/on-server/` subdirectory with binaries to
+be uploaded to `tarballs.nixos.org`.
+The files are uploaded to `tarballs.nixos.org` by writers to `S3` store.
+
+## TODOs
+
+- `pkgs/stdenv/darwin` file layout is slightly different from
+  `pkgs/stdenv/linux`. Once `linux` seed update becomes a routine we can
+  bring `darwin` in sync if it's feasible.
+- `darwin` definition of `.build` `on-server/` directory layout differs
+  and should be updated.
+
diff --git a/maintainers/scripts/bootstrap-files/refresh-tarballs.bash b/maintainers/scripts/bootstrap-files/refresh-tarballs.bash
new file mode 100755
index 000000000000..21c43ade27f1
--- /dev/null
+++ b/maintainers/scripts/bootstrap-files/refresh-tarballs.bash
@@ -0,0 +1,282 @@
+#!/usr/bin/env nix-shell
+#! nix-shell --pure
+#! nix-shell -i bash
+#! nix-shell -p curl cacert
+#! nix-shell -p git
+#! nix-shell -p nix
+#! nix-shell -p jq
+
+# How the refresher works:
+#
+# For a given list of <targets>:
+# 1. fetch latest successful '.build` job
+# 2. fetch oldest evaluation that contained that '.build', extract nixpkgs commit
+# 3. fetch all the `.build` artifacts from '$out/on-server/' directory
+# 4. calculate hashes and craft the commit message with the details on
+#    how to upload the result to 'tarballs.nixos.org'
+
+usage() {
+    cat >&2 <<EOF
+Usage:
+    $0 [ --commit ] --targets=<target>[,<target>,...]
+
+    The tool must be ran from the root directory of 'nixpkgs' repository.
+
+Synopsis:
+    'refresh-tarballs.bash' script fetches latest bootstrapFiles built
+    by hydra, registers them in 'nixpkgs' and provides commands to
+    upload seed files to 'tarballs.nixos.org'.
+
+    This is usually done in the following cases:
+
+    1. Single target fix: current bootstrap files for a single target
+       are problematic for some reason (target-specific bug). In this
+       case we can refresh just that target as:
+
+       \$ $0 --commit --targets=i686-unknown-linux-gnu
+
+    2. Routine refresh: all bootstrap files should be refreshed to avoid
+       debugging problems that only occur on very old binaries.
+
+       \$ $0 --commit --all-targets
+
+To get help on uploading refreshed binaries to 'tarballs.nixos.org'
+please have a look at <maintainers/scripts/bootstrap-files/README.md>.
+EOF
+    exit 1
+}
+
+# log helpers
+
+die() {
+    echo "ERROR: $*" >&2
+    exit 1
+}
+
+info() {
+    echo "INFO: $*" >&2
+}
+
+[[ ${#@} -eq 0 ]] && usage
+
+# known targets
+
+NATIVE_TARGETS=(
+    aarch64-unknown-linux-gnu
+    aarch64-unknown-linux-musl
+    i686-unknown-linux-gnu
+    x86_64-unknown-linux-gnu
+    x86_64-unknown-linux-musl
+
+    # TODO: add darwin here once a few prerequisites are satisfied:
+    #   - bootstrap-files are factored out into a separate file
+    #   - the build artifacts are factored out into an `on-server`
+    #     directory. Right onw if does not match `linux` layout.
+    #
+    #aarch64-apple-darwin
+    #x86_64-apple-darwin
+)
+
+is_native() {
+    local t target=$1
+    for t in "${NATIVE_TARGETS[@]}"; do
+        [[ $t == $target ]] && return 0
+    done
+    return 1
+}
+
+CROSS_TARGETS=(
+    armv5tel-unknown-linux-gnueabi
+    armv6l-unknown-linux-gnueabihf
+    armv6l-unknown-linux-musleabihf
+    armv7l-unknown-linux-gnueabihf
+    mips64el-unknown-linux-gnuabi64
+    mips64el-unknown-linux-gnuabin32
+    mipsel-unknown-linux-gnu
+    powerpc64le-unknown-linux-gnu
+    riscv64-unknown-linux-gnu
+)
+
+is_cross() {
+    local t target=$1
+    for t in "${CROSS_TARGETS[@]}"; do
+        [[ $t == $target ]] && return 0
+    done
+    return 1
+}
+
+# collect passed options
+
+targets=()
+commit=no
+
+for arg in "$@"; do
+    case "$arg" in
+        --all-targets)
+            targets+=(
+                ${CROSS_TARGETS[@]}
+                ${NATIVE_TARGETS[@]}
+            )
+            ;;
+        --targets=*)
+            # Convert "--targets=a,b,c" to targets=(a b c) bash array.
+            comma_targets=${arg#--targets=}
+            targets+=(${comma_targets//,/ })
+            ;;
+        --commit)
+            commit=yes
+            ;;
+        *)
+            usage
+            ;;
+    esac
+done
+
+for target in "${targets[@]}"; do
+    # Native and cross jobsets differ a bit. We'll have to pick the
+    # one based on target name:
+    if is_native $target; then
+        jobset=nixpkgs/trunk
+        job="stdenvBootstrapTools.${target}.build"
+    elif is_cross $target; then
+        jobset=nixpkgs/cross-trunk
+        job="bootstrapTools.${target}.build"
+    else
+        die "'$target' is not present in either of 'NATIVE_TARGETS' or 'CROSS_TARGETS'. Please add one."
+    fi
+
+    # 'nixpkgs' prefix where we will write new tarball hashes
+    case "$target" in
+        *linux*) nixpkgs_prefix="pkgs/stdenv/linux" ;;
+        *darwin*) nixpkgs_prefix="pkgs/stdenv/darwin" ;;
+        *) die "don't know where to put '$target'" ;;
+    esac
+
+    # We enforce s3 prefix for all targets here. This slightly differs
+    # from manual uploads targets where names were chosen inconsistently.
+    s3_prefix="stdenv/$target"
+
+    # resolve 'latest' build to the build 'id', construct the link.
+    latest_build_uri="https://hydra.nixos.org/job/$jobset/$job/latest"
+    latest_build="$target.latest-build"
+    info "Fetching latest successful build from '${latest_build_uri}'"
+    curl -s -H "Content-Type: application/json" -L "$latest_build_uri" > "$latest_build"
+    [[ $? -ne 0 ]] && die "Failed to fetch latest successful build"
+    latest_build_id=$(jq '.id' < "$latest_build")
+    [[ $? -ne 0 ]] && die "Did not find 'id' in latest build"
+    build_uri="https://hydra.nixos.org/build/${latest_build_id}"
+
+    # We pick oldest jobset evaluation and extract the 'nicpkgs' commit.
+    #
+    # We use oldest instead of latest to make the result more stable
+    # across unrelated 'nixpkgs' updates. Ideally two subsequent runs of
+    # this refresher should produce the same output (provided there are
+    # no bootstrapTools updates committed between the two runs).
+    oldest_eval_id=$(jq '.jobsetevals|min' < "$latest_build")
+    [[ $? -ne 0 ]] && die "Did not find 'jobsetevals' in latest build"
+    eval_uri="https://hydra.nixos.org/eval/${oldest_eval_id}"
+    eval_meta="$target.eval-meta"
+    info "Fetching oldest eval details from '${eval_uri}' (can take a minute)"
+    curl -s -H "Content-Type: application/json"  -L "${eval_uri}" > "$eval_meta"
+    [[ $? -ne 0 ]] && die "Failed to fetch eval metadata"
+    nixpkgs_revision=$(jq --raw-output ".jobsetevalinputs.nixpkgs.revision" < "$eval_meta")
+    [[ $? -ne 0 ]] && die "Failed to fetch revision"
+
+    # Extract the build paths out of the build metadata
+    drvpath=$(jq --raw-output '.drvpath' < "${latest_build}")
+    [[ $? -ne 0 ]] && die "Did not find 'drvpath' in latest build"
+    outpath=$(jq --raw-output '.buildoutputs.out.path' < "${latest_build}")
+    [[ $? -ne 0 ]] && die "Did not find 'buildoutputs' in latest build"
+    build_timestamp=$(jq --raw-output '.timestamp' < "${latest_build}")
+    [[ $? -ne 0 ]] && die "Did not find 'timestamp' in latest build"
+    build_time=$(TZ=UTC LANG=C date --date="@${build_timestamp}" --rfc-email)
+    [[ $? -ne 0 ]] && die "Failed to format timestamp"
+
+    info "Fetching bootstrap tools to calculate hashes from '${outpath}'"
+    nix-store --realize "$outpath"
+    [[ $? -ne 0 ]] && die "Failed to fetch '${outpath}' from hydra"
+
+    fnames=()
+
+    target_file="${nixpkgs_prefix}/bootstrap-files/${target}.nix"
+    info "Writing '${target_file}'"
+    {
+        # header
+        cat <<EOF
+# Autogenerated by maintainers/scripts/bootstrap-files/refresh-tarballs.bash as:
+# $ ./refresh-tarballs.bash --targets=${target}
+#
+# Metadata:
+# - nixpkgs revision: ${nixpkgs_revision}
+# - hydra build: ${latest_build_uri}
+# - resolved hydra build: ${build_uri}
+# - instantiated derivation: ${drvpath}
+# - output directory: ${outpath}
+# - build time: ${build_time}
+{
+EOF
+      for p in "${outpath}/on-server"/*; do
+          fname=$(basename "$p")
+          fnames+=("$fname")
+          case "$fname" in
+              bootstrap-tools.tar.xz) attr=bootstrapTools ;;
+              busybox) attr=$fname ;;
+              *) die "Don't know how to map '$fname' to attribute name. Please update me."
+          esac
+
+          executable_arg=
+          executable_nix=
+          if [[ -x "$p" ]]; then
+              executable_arg="--executable"
+              executable_nix="    executable = true;"
+          fi
+          sha256=$(nix-prefetch-url $executable_arg --name "$fname" "file://$p")
+          [[ $? -ne 0 ]] && die "Failed to get the hash for '$p'"
+          sri=$(nix-hash --to-sri "sha256:$sha256")
+          [[ $? -ne 0 ]] && die "Failed to convert '$sha256' hash to an SRI form"
+
+          # individual file entries
+          cat <<EOF
+  $attr = import <nix/fetchurl.nix> {
+    url = "http://tarballs.nixos.org/${s3_prefix}/${nixpkgs_revision}/$fname";
+    hash = "${sri}";$(printf "\n%s" "${executable_nix}")
+  };
+EOF
+      done
+      # footer
+      cat <<EOF
+}
+EOF
+    } > "${target_file}"
+
+        target_file_commit_msg=${target}.commit_message
+        cat > "$target_file_commit_msg" <<EOF
+${nixpkgs_prefix}: update ${target} bootstrap-files
+
+sha256sum of files to be uploaded:
+
+$(
+echo "$ sha256sum ${outpath}/on-server/*"
+sha256sum ${outpath}/on-server/*
+)
+
+Suggested commands to upload files to 'tarballs.nixos.org':
+
+    $ nix-store --realize ${outpath}
+    $ aws s3 cp --recursive --acl public-read ${outpath}/on-server/ s3://nixpkgs-tarballs/${s3_prefix}/${nixpkgs_revision}
+    $ aws s3 cp --recursive s3://nixpkgs-tarballs/${s3_prefix}/${nixpkgs_revision} ./
+    $ sha256sum ${fnames[*]}
+    $ sha256sum ${outpath}/on-server/*
+EOF
+
+    cat "$target_file_commit_msg"
+    if [[ $commit == yes ]]; then
+        git commit "${target_file}" -F "$target_file_commit_msg"
+    else
+        info "DRY RUN: git commit ${target_file} -F $target_file_commit_msg"
+    fi
+    rm -- "$target_file_commit_msg"
+
+    # delete temp files
+    rm -- "$latest_build" "$eval_meta"
+done
diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md
index 8b5d020d0af3..06c3e1949b70 100644
--- a/nixos/doc/manual/release-notes/rl-2405.section.md
+++ b/nixos/doc/manual/release-notes/rl-2405.section.md
@@ -38,14 +38,20 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
 
+- [Handheld Daemon](https://github.com/hhd-dev/hhd), support for gaming handhelds like the Legion Go, ROG Ally, and GPD Win. Available as [services.handheld-daemon](#opt-services.handheld-daemon.enable).
+
 - [Guix](https://guix.gnu.org), a functional package manager inspired by Nix. Available as [services.guix](#opt-services.guix.enable).
 
+- [pyLoad](https://pyload.net/), a FOSS download manager written in Python. Available as [services.pyload](#opt-services.pyload.enable)
+
 - [maubot](https://github.com/maubot/maubot), a plugin-based Matrix bot framework. Available as [services.maubot](#opt-services.maubot.enable).
 
 - systemd's gateway, upload, and remote services, which provides ways of sending journals across the network. Enable using [services.journald.gateway](#opt-services.journald.gateway.enable), [services.journald.upload](#opt-services.journald.upload.enable), and [services.journald.remote](#opt-services.journald.remote.enable).
 
 - [GNS3](https://www.gns3.com/), a network software emulator. Available as [services.gns3-server](#opt-services.gns3-server.enable).
 
+- [pretalx](https://github.com/pretalx/pretalx), a conference planning tool. Available as [services.pretalx](#opt-services.pretalx.enable).
+
 - [rspamd-trainer](https://gitlab.com/onlime/rspamd-trainer), script triggered by a helper which reads mails from a specific mail inbox and feeds them into rspamd for spam/ham training.
 
 - [ollama](https://ollama.ai), server for running large language models locally.
@@ -69,6 +75,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - [RustDesk](https://rustdesk.com), a full-featured open source remote control alternative for self-hosting and security with minimal configuration. Alternative to TeamViewer.
 
+- [systemd-lock-handler](https://git.sr.ht/~whynothugo/systemd-lock-handler/), a bridge between logind D-Bus events and systemd targets. Available as [services.systemd-lock-handler.enable](#opt-services.systemd-lock-handler.enable).
+
 ## Backward Incompatibilities {#sec-release-24.05-incompatibilities}
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
@@ -112,6 +120,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
   release notes of [v19](https://github.com/systemd/mkosi/releases/tag/v19) and
   [v20](https://github.com/systemd/mkosi/releases/tag/v20) for a list of changes.
 
+- The `woodpecker-*` packages have been updated to v2 which includes [breaking changes](https://woodpecker-ci.org/docs/next/migrations#200).
+
 - `services.nginx` will no longer advertise HTTP/3 availability automatically. This must now be manually added, preferably to each location block.
   Example:
 
@@ -242,15 +252,15 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - [Lilypond](https://lilypond.org/index.html) and [Denemo](https://www.denemo.org) are now compiled with Guile 3.0.
 
-- The following options of the Nextcloud module were moved into [`services.nextcloud.extraOptions`](#opt-services.nextcloud.extraOptions) and renamed to match the name from Nextcloud's `config.php`:
-  - `logLevel` -> [`loglevel`](#opt-services.nextcloud.extraOptions.loglevel),
-  - `logType` -> [`log_type`](#opt-services.nextcloud.extraOptions.log_type),
-  - `defaultPhoneRegion` -> [`default_phone_region`](#opt-services.nextcloud.extraOptions.default_phone_region),
-  - `overwriteProtocol` -> [`overwriteprotocol`](#opt-services.nextcloud.extraOptions.overwriteprotocol),
-  - `skeletonDirectory` -> [`skeletondirectory`](#opt-services.nextcloud.extraOptions.skeletondirectory),
-  - `globalProfiles` -> [`profile.enabled`](#opt-services.nextcloud.extraOptions._profile.enabled_),
-  - `extraTrustedDomains` -> [`trusted_domains`](#opt-services.nextcloud.extraOptions.trusted_domains) and
-  - `trustedProxies` -> [`trusted_proxies`](#opt-services.nextcloud.extraOptions.trusted_proxies).
+- The following options of the Nextcloud module were moved into [`services.nextcloud.settings`](#opt-services.nextcloud.settings) and renamed to match the name from Nextcloud's `config.php`:
+  - `logLevel` -> [`loglevel`](#opt-services.nextcloud.settings.loglevel),
+  - `logType` -> [`log_type`](#opt-services.nextcloud.settings.log_type),
+  - `defaultPhoneRegion` -> [`default_phone_region`](#opt-services.nextcloud.settings.default_phone_region),
+  - `overwriteProtocol` -> [`overwriteprotocol`](#opt-services.nextcloud.settings.overwriteprotocol),
+  - `skeletonDirectory` -> [`skeletondirectory`](#opt-services.nextcloud.settings.skeletondirectory),
+  - `globalProfiles` -> [`profile.enabled`](#opt-services.nextcloud.settings._profile.enabled_),
+  - `extraTrustedDomains` -> [`trusted_domains`](#opt-services.nextcloud.settings.trusted_domains) and
+  - `trustedProxies` -> [`trusted_proxies`](#opt-services.nextcloud.settings.trusted_proxies).
 
 - The option [`services.nextcloud.config.dbport`] of the Nextcloud module was removed to match upstream.
   The port can be specified in [`services.nextcloud.config.dbhost`](#opt-services.nextcloud.config.dbhost).
@@ -290,6 +300,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
   - Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`
   - New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command.
 
+- The `services.paperless` module no longer uses the previously downloaded NLTK data stored in `/var/cache/paperless/nltk`. This directory can be removed.
+
 - The `hardware.pulseaudio` module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes [issue 114399](https://github.com/NixOS/nixpkgs/issues/114399).
 
 - The `btrbk` module now automatically selects and provides required compression
@@ -299,5 +311,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - The `mpich` package expression now requires `withPm` to be a list, e.g. `"hydra:gforker"` becomes `[ "hydra" "gforker" ]`.
 
+- YouTrack is bumped to 2023.3. The update is not performed automatically, it requires manual interaction. See the YouTrack section in the manual for details.
+
 - QtMultimedia has changed its default backend to `QT_MEDIA_BACKEND=ffmpeg` (previously `gstreamer` on Linux or `darwin` on MacOS).
   The previous native backends remain available but are now minimally maintained. Refer to [upstream documentation](https://doc.qt.io/qt-6/qtmultimedia-index.html#ffmpeg-as-the-default-backend) for further details about each platform.
+
diff --git a/nixos/lib/utils.nix b/nixos/lib/utils.nix
index e618cf2f861a..49ba2e5c8386 100644
--- a/nixos/lib/utils.nix
+++ b/nixos/lib/utils.nix
@@ -109,6 +109,7 @@ rec {
       recurse = prefix: item:
         if item ? ${attr} then
           nameValuePair prefix item.${attr}
+        else if isDerivation item then []
         else if isAttrs item then
           map (name:
             let
diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix
index 4727e5b85ef2..a50a03ce52d4 100644
--- a/nixos/modules/config/no-x-libs.nix
+++ b/nixos/modules/config/no-x-libs.nix
@@ -37,6 +37,7 @@ with lib;
       ghostscript = super.ghostscript.override { cupsSupport = false; x11Support = false; };
       gjs = super.gjs.overrideAttrs { doCheck = false; installTests = false; }; # avoid test dependency on gtk3
       gobject-introspection = super.gobject-introspection.override { x11Support = false; };
+      gpg-tui = super.gpg-tui.override { x11Support = false; };
       gpsd = super.gpsd.override { guiSupport = false; };
       graphviz = super.graphviz-nox;
       gst_all_1 = super.gst_all_1 // {
diff --git a/nixos/modules/image/repart-image.nix b/nixos/modules/image/repart-image.nix
index a12b4fb14fb1..7ac47ee32ff4 100644
--- a/nixos/modules/image/repart-image.nix
+++ b/nixos/modules/image/repart-image.nix
@@ -32,6 +32,7 @@
 , split
 , seed
 , definitionsDirectory
+, sectorSize
 }:
 
 let
@@ -94,6 +95,7 @@ runCommand imageFileBasename
     --definitions="$amendedRepartDefinitions" \
     --split="${lib.boolToString split}" \
     --json=pretty \
+    ${lib.optionalString (sectorSize != null) "--sector-size=${toString sectorSize}"} \
     ${imageFileBasename}.raw \
     | tee repart-output.json
 
diff --git a/nixos/modules/image/repart.nix b/nixos/modules/image/repart.nix
index ed584d9bf997..6a933f0d83cc 100644
--- a/nixos/modules/image/repart.nix
+++ b/nixos/modules/image/repart.nix
@@ -135,6 +135,16 @@ in
       '';
     };
 
+    sectorSize = lib.mkOption {
+      type = with lib.types; nullOr int;
+      default = 512;
+      example = lib.literalExpression "4096";
+      description = lib.mdDoc ''
+        The sector size of the disk image produced by systemd-repart. This
+        value must be a power of 2 between 512 and 4096.
+      '';
+    };
+
     package = lib.mkPackageOption pkgs "systemd-repart" {
       # We use buildPackages so that repart images are built with the build
       # platform's systemd, allowing for cross-compiled systems to work.
@@ -232,7 +242,7 @@ in
       in
       pkgs.callPackage ./repart-image.nix {
         systemd = cfg.package;
-        inherit (cfg) imageFileBasename compression split seed;
+        inherit (cfg) imageFileBasename compression split seed sectorSize;
         inherit fileSystems definitionsDirectory partitions;
       };
 
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 0839422ac2e9..37f822721f48 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -215,6 +215,7 @@
   ./programs/minipro.nix
   ./programs/miriway.nix
   ./programs/mosh.nix
+  ./programs/mouse-actions.nix
   ./programs/msmtp.nix
   ./programs/mtr.nix
   ./programs/nano.nix
@@ -534,6 +535,7 @@
   ./services/hardware/fancontrol.nix
   ./services/hardware/freefall.nix
   ./services/hardware/fwupd.nix
+  ./services/hardware/handheld-daemon.nix
   ./services/hardware/hddfancontrol.nix
   ./services/hardware/illum.nix
   ./services/hardware/interception-tools.nix
@@ -1061,6 +1063,7 @@
   ./services/networking/openvpn.nix
   ./services/networking/ostinato.nix
   ./services/networking/owamp.nix
+  ./services/networking/pyload.nix
   ./services/networking/pdns-recursor.nix
   ./services/networking/pdnsd.nix
   ./services/networking/peroxide.nix
@@ -1236,6 +1239,7 @@
   ./services/system/saslauthd.nix
   ./services/system/self-deploy.nix
   ./services/system/systembus-notify.nix
+  ./services/system/systemd-lock-handler.nix
   ./services/system/uptimed.nix
   ./services/system/zram-generator.nix
   ./services/torrent/deluge.nix
@@ -1340,6 +1344,7 @@
   ./services/web-apps/plantuml-server.nix
   ./services/web-apps/plausible.nix
   ./services/web-apps/powerdns-admin.nix
+  ./services/web-apps/pretalx.nix
   ./services/web-apps/prosody-filer.nix
   ./services/web-apps/restya-board.nix
   ./services/web-apps/rimgo.nix
diff --git a/nixos/modules/profiles/hardened.nix b/nixos/modules/profiles/hardened.nix
index 74dc2cb1b9aa..b85a2ac7e69d 100644
--- a/nixos/modules/profiles/hardened.nix
+++ b/nixos/modules/profiles/hardened.nix
@@ -39,14 +39,17 @@ with lib;
   security.apparmor.killUnconfinedConfinables = mkDefault true;
 
   boot.kernelParams = [
-    # Slab/slub sanity checks, redzoning, and poisoning
-    "slub_debug=FZP"
+    # Don't merge slabs
+    "slab_nomerge"
 
-    # Overwrite free'd memory
+    # Overwrite free'd pages
     "page_poison=1"
 
     # Enable page allocator randomization
     "page_alloc.shuffle=1"
+
+    # Disable debugfs
+    "debugfs=off"
   ];
 
   boot.blacklistedKernelModules = [
diff --git a/nixos/modules/programs/mouse-actions.nix b/nixos/modules/programs/mouse-actions.nix
new file mode 100644
index 000000000000..fdf39d56d383
--- /dev/null
+++ b/nixos/modules/programs/mouse-actions.nix
@@ -0,0 +1,15 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.programs.mouse-actions;
+in
+  {
+    options.programs.mouse-actions = {
+      enable = lib.mkEnableOption ''
+        mouse-actions udev rules. This is a prerequisite for using mouse-actions without being root.
+      '';
+    };
+    config = lib.mkIf cfg.enable {
+      services.udev.packages = [ pkgs.mouse-actions ];
+    };
+  }
diff --git a/nixos/modules/programs/nautilus-open-any-terminal.nix b/nixos/modules/programs/nautilus-open-any-terminal.nix
new file mode 100644
index 000000000000..d205fb3ec916
--- /dev/null
+++ b/nixos/modules/programs/nautilus-open-any-terminal.nix
@@ -0,0 +1,36 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.programs.nautilus-open-any-terminal;
+in
+{
+  options.programs.nautilus-open-any-terminal = {
+    enable = lib.mkEnableOption (lib.mdDoc "nautilus-open-any-terminal");
+
+    terminal = lib.mkOption {
+      type = with lib.types; nullOr str;
+      default = null;
+      description = lib.mdDoc ''
+        The terminal emulator to add to context-entry of nautilus. Supported terminal
+        emulators are listed in https://github.com/Stunkymonkey/nautilus-open-any-terminal#supported-terminal-emulators.
+      '';
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    environment.systemPackages = with pkgs; [
+      gnome.nautilus-python
+      nautilus-open-any-terminal
+    ];
+    programs.dconf = lib.optionalAttrs (cfg.terminal != null) {
+      enable = true;
+      profiles.user.databases = [{
+        settings."com/github/stunkymonkey/nautilus-open-any-terminal".terminal = cfg.terminal;
+        lockAll = true;
+      }];
+    };
+  };
+  meta = {
+    maintainers = with lib.maintainers; [ stunkymonkey linsui ];
+  };
+}
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index 111be7057afc..ffbb558549f6 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -867,9 +867,6 @@ let
           { name = "gnupg"; enable = cfg.gnupg.enable; control = "optional"; modulePath = "${pkgs.pam_gnupg}/lib/security/pam_gnupg.so"; settings = {
             no-autostart = cfg.gnupg.noAutostart;
           }; }
-          { name = "cgfs"; enable = config.virtualisation.lxc.lxcfs.enable; control = "optional"; modulePath = "${pkgs.lxc}/lib/security/pam_cgfs.so"; args = [
-            "-c" "all"
-          ]; }
         ];
       };
     };
diff --git a/nixos/modules/security/wrappers/wrapper.c b/nixos/modules/security/wrappers/wrapper.c
index 3277e7ef6f79..3e126875c687 100644
--- a/nixos/modules/security/wrappers/wrapper.c
+++ b/nixos/modules/security/wrappers/wrapper.c
@@ -172,6 +172,13 @@ static int make_caps_ambient(const char *self_path) {
 int main(int argc, char **argv) {
     ASSERT(argc >= 1);
 
+    // argv[0] goes into a lot of places, to a far greater degree than other elements
+    // of argv. glibc has had buffer overflows relating to argv[0], eg CVE-2023-6246.
+    // Since we expect the wrappers to be invoked from either $PATH or /run/wrappers/bin,
+    // there should be no reason to pass any particularly large values here, so we can
+    // be strict for strictness' sake.
+    ASSERT(strlen(argv[0]) < 512);
+
     int debug = getenv(wrapper_debug) != NULL;
 
     // Drop insecure environment variables explicitly
diff --git a/nixos/modules/services/audio/navidrome.nix b/nixos/modules/services/audio/navidrome.nix
index e44fc822e4ad..912edb03aa4c 100644
--- a/nixos/modules/services/audio/navidrome.nix
+++ b/nixos/modules/services/audio/navidrome.nix
@@ -53,6 +53,7 @@ in {
         RuntimeDirectory = "navidrome";
         RootDirectory = "/run/navidrome";
         ReadWritePaths = "";
+        BindPaths = lib.optional (cfg.settings ? DataFolder) cfg.settings.DataFolder;
         BindReadOnlyPaths = [
           # navidrome uses online services to download additional album metadata / covers
           "${config.environment.etc."ssl/certs/ca-certificates.crt".source}:/etc/ssl/certs/ca-certificates.crt"
diff --git a/nixos/modules/services/hardware/acpid.nix b/nixos/modules/services/hardware/acpid.nix
index 6021aad09f45..821f4ef205fc 100644
--- a/nixos/modules/services/hardware/acpid.nix
+++ b/nixos/modules/services/hardware/acpid.nix
@@ -135,7 +135,6 @@ in
       wantedBy = [ "multi-user.target" ];
 
       serviceConfig = {
-        PrivateNetwork = true;
         ExecStart = escapeShellArgs
           ([ "${pkgs.acpid}/bin/acpid"
              "--foreground"
diff --git a/nixos/modules/services/hardware/handheld-daemon.nix b/nixos/modules/services/hardware/handheld-daemon.nix
new file mode 100644
index 000000000000..e8a7a39f441d
--- /dev/null
+++ b/nixos/modules/services/hardware/handheld-daemon.nix
@@ -0,0 +1,44 @@
+{ config
+, lib
+, pkgs
+, ...
+}:
+with lib; let
+  cfg = config.services.handheld-daemon;
+in
+{
+  options.services.handheld-daemon = {
+    enable = mkEnableOption "Enable Handheld Daemon";
+    package = mkPackageOption pkgs "handheld-daemon" { };
+
+    user = mkOption {
+      type = types.str;
+      description = lib.mdDoc ''
+        The user to run Handheld Daemon with.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ cfg.package ];
+    services.udev.packages = [ cfg.package ];
+    systemd.packages = [ cfg.package ];
+
+    systemd.services.handheld-daemon = {
+      description = "Handheld Daemon";
+
+      wantedBy = [ "multi-user.target" ];
+
+      restartIfChanged = true;
+
+      serviceConfig = {
+        ExecStart = "${ lib.getExe cfg.package } --user ${ cfg.user }";
+        Nice = "-12";
+        Restart = "on-failure";
+        RestartSec = "10";
+      };
+    };
+  };
+
+  meta.maintainers = [ maintainers.appsforartists ];
+}
diff --git a/nixos/modules/services/hardware/ratbagd.nix b/nixos/modules/services/hardware/ratbagd.nix
index c939d5e40a24..5567bcbafd16 100644
--- a/nixos/modules/services/hardware/ratbagd.nix
+++ b/nixos/modules/services/hardware/ratbagd.nix
@@ -11,6 +11,8 @@ in
   options = {
     services.ratbagd = {
       enable = mkEnableOption (lib.mdDoc "ratbagd for configuring gaming mice");
+
+      package = mkPackageOption pkgs "libratbag" { };
     };
   };
 
@@ -18,10 +20,10 @@ in
 
   config = mkIf cfg.enable {
     # Give users access to the "ratbagctl" tool
-    environment.systemPackages = [ pkgs.libratbag ];
+    environment.systemPackages = [ cfg.package ];
 
-    services.dbus.packages = [ pkgs.libratbag ];
+    services.dbus.packages = [ cfg.package ];
 
-    systemd.packages = [ pkgs.libratbag ];
+    systemd.packages = [ cfg.package ];
   };
 }
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index 8d298de6945b..71baa2bb1852 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -1,8 +1,8 @@
-{ options, config, lib, pkgs, ... }:
+{ config, lib, pkgs, ... }:
 
 let
-  inherit (lib) any attrValues concatMapStringsSep concatStrings
-    concatStringsSep flatten imap1 isList literalExpression mapAttrsToList
+  inherit (lib) attrValues concatMapStringsSep concatStrings
+    concatStringsSep flatten imap1 literalExpression mapAttrsToList
     mkEnableOption mkIf mkOption mkRemovedOptionModule optional optionalAttrs
     optionalString singleton types mkRenamedOptionModule nameValuePair
     mapAttrs' listToAttrs filter;
@@ -14,7 +14,7 @@ let
   baseDir = "/run/dovecot2";
   stateDir = "/var/lib/dovecot";
 
-  sieveScriptSettings = mapAttrs' (to: from: nameValuePair "sieve_${to}" "${stateDir}/sieve/${from}") cfg.sieve.scripts;
+  sieveScriptSettings = mapAttrs' (to: _: nameValuePair "sieve_${to}" "${stateDir}/sieve/${to}") cfg.sieve.scripts;
   imapSieveMailboxSettings = listToAttrs (flatten (imap1 (idx: el:
     singleton {
       name = "imapsieve_mailbox${toString idx}_name";
diff --git a/nixos/modules/services/misc/moonraker.nix b/nixos/modules/services/misc/moonraker.nix
index 4e419aafa990..f043cc83bf05 100644
--- a/nixos/modules/services/misc/moonraker.nix
+++ b/nixos/modules/services/misc/moonraker.nix
@@ -103,17 +103,18 @@ in {
 
   config = mkIf cfg.enable {
     warnings = []
-      ++ optional (cfg.settings.update_manager.enable_system_updates or false)
-        ''Enabling update_manager is not supported on NixOS and will lead to non-removable warnings in some clients.''
-      ++ optional (cfg.configDir != null)
-        ''
-          services.moonraker.configDir has been deprecated upstream and will be removed.
-
-          Action: ${
-            if cfg.configDir == unifiedConfigDir then "Simply remove services.moonraker.configDir from your config."
-            else "Move files from `${cfg.configDir}` to `${unifiedConfigDir}` then remove services.moonraker.configDir from your config."
-          }
-        '';
+      ++ (optional (head (cfg.settings.update_manager.enable_system_updates or [false])) ''
+        Enabling system updates is not supported on NixOS and will lead to non-removable warnings in some clients.
+      '')
+      ++ (optional (cfg.configDir != null) ''
+        services.moonraker.configDir has been deprecated upstream and will be removed.
+
+        Action: ${
+          if cfg.configDir == unifiedConfigDir
+          then "Simply remove services.moonraker.configDir from your config."
+          else "Move files from `${cfg.configDir}` to `${unifiedConfigDir}` then remove services.moonraker.configDir from your config."
+        }
+        '');
 
     assertions = [
       {
diff --git a/nixos/modules/services/misc/packagekit.nix b/nixos/modules/services/misc/packagekit.nix
index 5a0d314d25cd..f4191a4453ca 100644
--- a/nixos/modules/services/misc/packagekit.nix
+++ b/nixos/modules/services/misc/packagekit.nix
@@ -13,7 +13,7 @@ let
     (iniFmt.generate "PackageKit.conf" (recursiveUpdate
       {
         Daemon = {
-          DefaultBackend = "nix";
+          DefaultBackend = "test_nop";
           KeepCache = false;
         };
       }
@@ -35,7 +35,7 @@ let
 in
 {
   imports = [
-    (mkRemovedOptionModule [ "services" "packagekit" "backend" ] "Always set to Nix.")
+    (mkRemovedOptionModule [ "services" "packagekit" "backend" ] "Always set to test_nop, Nix backend is broken see #177946.")
   ];
 
   options.services.packagekit = {
diff --git a/nixos/modules/services/misc/paperless.nix b/nixos/modules/services/misc/paperless.nix
index ca34a327dbdf..1256d8315c8b 100644
--- a/nixos/modules/services/misc/paperless.nix
+++ b/nixos/modules/services/misc/paperless.nix
@@ -6,7 +6,6 @@ let
   pkg = cfg.package;
 
   defaultUser = "paperless";
-  nltkDir = "/var/cache/paperless/nltk";
   defaultFont = "${pkgs.liberation_ttf}/share/fonts/truetype/LiberationSerif-Regular.ttf";
 
   # Don't start a redis instance if the user sets a custom redis connection
@@ -17,13 +16,17 @@ let
     PAPERLESS_DATA_DIR = cfg.dataDir;
     PAPERLESS_MEDIA_ROOT = cfg.mediaDir;
     PAPERLESS_CONSUMPTION_DIR = cfg.consumptionDir;
-    PAPERLESS_NLTK_DIR = nltkDir;
     PAPERLESS_THUMBNAIL_FONT_NAME = defaultFont;
     GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}";
   } // optionalAttrs (config.time.timeZone != null) {
     PAPERLESS_TIME_ZONE = config.time.timeZone;
   } // optionalAttrs enableRedis {
     PAPERLESS_REDIS = "unix://${redisServer.unixSocket}";
+  } // optionalAttrs (cfg.settings.PAPERLESS_ENABLE_NLTK or true) {
+    PAPERLESS_NLTK_DIR = pkgs.symlinkJoin {
+      name = "paperless_ngx_nltk_data";
+      paths = pkg.nltkData;
+    };
   } // (lib.mapAttrs (_: s:
     if (lib.isAttrs s || lib.isList s) then builtins.toJSON s
     else if lib.isBool s then lib.boolToString s
@@ -141,12 +144,12 @@ in
         `''${dataDir}/paperless-manage createsuperuser`.
 
         The default superuser name is `admin`. To change it, set
-        option {option}`extraConfig.PAPERLESS_ADMIN_USER`.
+        option {option}`settings.PAPERLESS_ADMIN_USER`.
         WARNING: When changing the superuser name after the initial setup, the old superuser
         will continue to exist.
 
         To disable login for the web interface, set the following:
-        `extraConfig.PAPERLESS_AUTO_LOGIN_USERNAME = "admin";`.
+        `settings.PAPERLESS_AUTO_LOGIN_USERNAME = "admin";`.
         WARNING: Only use this on a trusted system without internet access to Paperless.
       '';
     };
@@ -292,23 +295,6 @@ in
       };
     };
 
-    # Download NLTK corpus data
-    systemd.services.paperless-download-nltk-data = {
-      wantedBy = [ "paperless-scheduler.service" ];
-      before = [ "paperless-scheduler.service" ];
-      after = [ "network-online.target" ];
-      wants = [ "network-online.target" ];
-      serviceConfig = defaultServiceConfig // {
-        User = cfg.user;
-        Type = "oneshot";
-        # Enable internet access
-        PrivateNetwork = false;
-        ExecStart = let pythonWithNltk = pkg.python.withPackages (ps: [ ps.nltk ]); in ''
-          ${pythonWithNltk}/bin/python -m nltk.downloader -d '${nltkDir}' punkt snowball_data stopwords
-        '';
-      };
-    };
-
     systemd.services.paperless-consumer = {
       description = "Paperless document consumer";
       # Bind to `paperless-scheduler` so that the consumer never runs
diff --git a/nixos/modules/services/misc/portunus.nix b/nixos/modules/services/misc/portunus.nix
index 47af24f024cd..ebb3bc8f0851 100644
--- a/nixos/modules/services/misc/portunus.nix
+++ b/nixos/modules/services/misc/portunus.nix
@@ -37,6 +37,15 @@ in
       '';
     };
 
+    seedSettings = lib.mkOption {
+      type = with lib.types; nullOr (attrsOf (listOf (attrsOf anything)));
+      default = null;
+      description = lib.mdDoc ''
+        Seed settings for users and groups.
+        See upstream for format <https://github.com/majewsky/portunus#seeding-users-and-groups-from-static-configuration>
+      '';
+    };
+
     stateDir = mkOption {
       type = types.path;
       default = "/var/lib/portunus";
@@ -172,49 +181,53 @@ in
       "127.0.0.1" = [ cfg.domain ];
     };
 
-    services.dex = mkIf cfg.dex.enable {
-      enable = true;
-      settings = {
-        issuer = "https://${cfg.domain}/dex";
-        web.http = "127.0.0.1:${toString cfg.dex.port}";
-        storage = {
-          type = "sqlite3";
-          config.file = "/var/lib/dex/dex.db";
-        };
-        enablePasswordDB = false;
-        connectors = [{
-          type = "ldap";
-          id = "ldap";
-          name = "LDAP";
-          config = {
-            host = "${cfg.domain}:636";
-            bindDN = "uid=${cfg.ldap.searchUserName},ou=users,${cfg.ldap.suffix}";
-            bindPW = "$DEX_SEARCH_USER_PASSWORD";
-            userSearch = {
-              baseDN = "ou=users,${cfg.ldap.suffix}";
-              filter = "(objectclass=person)";
-              username = "uid";
-              idAttr = "uid";
-              emailAttr = "mail";
-              nameAttr = "cn";
-              preferredUsernameAttr = "uid";
-            };
-            groupSearch = {
-              baseDN = "ou=groups,${cfg.ldap.suffix}";
-              filter = "(objectclass=groupOfNames)";
-              nameAttr = "cn";
-              userMatchers = [{ userAttr = "DN"; groupAttr = "member"; }];
-            };
+    services = {
+      dex = mkIf cfg.dex.enable {
+        enable = true;
+        settings = {
+          issuer = "https://${cfg.domain}/dex";
+          web.http = "127.0.0.1:${toString cfg.dex.port}";
+          storage = {
+            type = "sqlite3";
+            config.file = "/var/lib/dex/dex.db";
           };
-        }];
-
-        staticClients = forEach cfg.dex.oidcClients (client: {
-          inherit (client) id;
-          redirectURIs = [ client.callbackURL ];
-          name = "OIDC for ${client.id}";
-          secretEnv = "DEX_CLIENT_${client.id}";
-        });
+          enablePasswordDB = false;
+          connectors = [{
+            type = "ldap";
+            id = "ldap";
+            name = "LDAP";
+            config = {
+              host = "${cfg.domain}:636";
+              bindDN = "uid=${cfg.ldap.searchUserName},ou=users,${cfg.ldap.suffix}";
+              bindPW = "$DEX_SEARCH_USER_PASSWORD";
+              userSearch = {
+                baseDN = "ou=users,${cfg.ldap.suffix}";
+                filter = "(objectclass=person)";
+                username = "uid";
+                idAttr = "uid";
+                emailAttr = "mail";
+                nameAttr = "cn";
+                preferredUsernameAttr = "uid";
+              };
+              groupSearch = {
+                baseDN = "ou=groups,${cfg.ldap.suffix}";
+                filter = "(objectclass=groupOfNames)";
+                nameAttr = "cn";
+                userMatchers = [{ userAttr = "DN"; groupAttr = "member"; }];
+              };
+            };
+          }];
+
+          staticClients = forEach cfg.dex.oidcClients (client: {
+            inherit (client) id;
+            redirectURIs = [ client.callbackURL ];
+            name = "OIDC for ${client.id}";
+            secretEnv = "DEX_CLIENT_${client.id}";
+          });
+        };
       };
+
+      portunus.seedPath = lib.mkIf (cfg.seedSettings != null) (pkgs.writeText "seed.json" (builtins.toJSON cfg.seedSettings));
     };
 
     systemd.services = {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index 35db8a7376b1..6be6ba7edf72 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -60,7 +60,6 @@ let
     "node"
     "nut"
     "openldap"
-    "openvpn"
     "pgbouncer"
     "php-fpm"
     "pihole"
@@ -71,6 +70,7 @@ let
     "pve"
     "py-air-control"
     "redis"
+    "restic"
     "rspamd"
     "rtl_433"
     "sabnzbd"
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/openvpn.nix b/nixos/modules/services/monitoring/prometheus/exporters/openvpn.nix
deleted file mode 100644
index 5b54dad99805..000000000000
--- a/nixos/modules/services/monitoring/prometheus/exporters/openvpn.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.services.prometheus.exporters.openvpn;
-in {
-  port = 9176;
-  extraOpts = {
-    statusPaths = mkOption {
-      type = types.listOf types.str;
-      description = lib.mdDoc ''
-        Paths to OpenVPN status files. Please configure the OpenVPN option
-        `status` accordingly.
-      '';
-    };
-    telemetryPath = mkOption {
-      type = types.str;
-      default = "/metrics";
-      description = lib.mdDoc ''
-        Path under which to expose metrics.
-      '';
-    };
-  };
-
-  serviceOpts = {
-    serviceConfig = {
-      PrivateDevices = true;
-      ProtectKernelModules = true;
-      NoNewPrivileges = true;
-      ExecStart = ''
-        ${pkgs.prometheus-openvpn-exporter}/bin/openvpn_exporter \
-          -openvpn.status_paths "${concatStringsSep "," cfg.statusPaths}" \
-          -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
-          -web.telemetry-path ${cfg.telemetryPath}
-      '';
-    };
-  };
-}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/restic.nix b/nixos/modules/services/monitoring/prometheus/exporters/restic.nix
new file mode 100644
index 000000000000..5b32c93a666d
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/restic.nix
@@ -0,0 +1,131 @@
+{ config, lib, pkgs, options }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.restic;
+in
+{
+  port = 9753;
+  extraOpts = {
+    repository = mkOption {
+      type = types.str;
+      description = lib.mdDoc ''
+        URI pointing to the repository to monitor.
+      '';
+      example = "sftp:backup@192.168.1.100:/backups/example";
+    };
+
+    passwordFile = mkOption {
+      type = types.path;
+      description = lib.mdDoc ''
+        File containing the password to the repository.
+      '';
+      example = "/etc/nixos/restic-password";
+    };
+
+    environmentFile = mkOption {
+      type = with types; nullOr path;
+      default = null;
+      description = lib.mdDoc ''
+        File containing the credentials to access the repository, in the
+        format of an EnvironmentFile as described by systemd.exec(5)
+      '';
+    };
+
+    refreshInterval = mkOption {
+      type = types.ints.unsigned;
+      default = 60;
+      description = lib.mdDoc ''
+        Refresh interval for the metrics in seconds.
+        Computing the metrics is an expensive task, keep this value as high as possible.
+      '';
+    };
+
+    rcloneOptions = mkOption {
+      type = with types; attrsOf (oneOf [ str bool ]);
+      default = { };
+      description = lib.mdDoc ''
+        Options to pass to rclone to control its behavior.
+        See <https://rclone.org/docs/#options> for
+        available options. When specifying option names, strip the
+        leading `--`. To set a flag such as
+        `--drive-use-trash`, which does not take a value,
+        set the value to the Boolean `true`.
+      '';
+    };
+
+    rcloneConfig = mkOption {
+      type = with types; attrsOf (oneOf [ str bool ]);
+      default = { };
+      description = lib.mdDoc ''
+        Configuration for the rclone remote being used for backup.
+        See the remote's specific options under rclone's docs at
+        <https://rclone.org/docs/>. When specifying
+        option names, use the "config" name specified in the docs.
+        For example, to set `--b2-hard-delete` for a B2
+        remote, use `hard_delete = true` in the
+        attribute set.
+
+        ::: {.warning}
+        Secrets set in here will be world-readable in the Nix
+        store! Consider using the {option}`rcloneConfigFile`
+        option instead to specify secret values separately. Note that
+        options set here will override those set in the config file.
+        :::
+      '';
+    };
+
+    rcloneConfigFile = mkOption {
+      type = with types; nullOr path;
+      default = null;
+      description = lib.mdDoc ''
+        Path to the file containing rclone configuration. This file
+        must contain configuration for the remote specified in this backup
+        set and also must be readable by root.
+
+        ::: {.caution}
+        Options set in `rcloneConfig` will override those set in this
+        file.
+        :::
+      '';
+    };
+  };
+
+  serviceOpts = {
+    serviceConfig = {
+      ExecStart = ''
+        ${pkgs.prometheus-restic-exporter}/bin/restic-exporter.py \
+          ${concatStringsSep " \\\n  " cfg.extraFlags}
+      '';
+      EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile;
+    };
+    environment =
+      let
+        rcloneRemoteName = builtins.elemAt (splitString ":" cfg.repository) 1;
+        rcloneAttrToOpt = v: "RCLONE_" + toUpper (builtins.replaceStrings [ "-" ] [ "_" ] v);
+        rcloneAttrToConf = v: "RCLONE_CONFIG_" + toUpper (rcloneRemoteName + "_" + v);
+        toRcloneVal = v: if lib.isBool v then lib.boolToString v else v;
+      in
+      {
+        RESTIC_REPO_URL = cfg.repository;
+        RESTIC_REPO_PASSWORD_FILE = cfg.passwordFile;
+        LISTEN_ADDRESS = cfg.listenAddress;
+        LISTEN_PORT = toString cfg.port;
+        REFRESH_INTERVAL = toString cfg.refreshInterval;
+      }
+      // (mapAttrs'
+        (name: value:
+          nameValuePair (rcloneAttrToOpt name) (toRcloneVal value)
+        )
+        cfg.rcloneOptions)
+      // optionalAttrs (cfg.rcloneConfigFile != null) {
+        RCLONE_CONFIG = cfg.rcloneConfigFile;
+      }
+      // (mapAttrs'
+        (name: value:
+          nameValuePair (rcloneAttrToConf name) (toRcloneVal value)
+        )
+        cfg.rcloneConfig);
+  };
+}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix b/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
index 840ce493ee81..452cb154bcf6 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/snmp.nix
@@ -3,6 +3,7 @@
 with lib;
 
 let
+  logPrefix = "services.prometheus.exporters.snmp";
   cfg = config.services.prometheus.exporters.snmp;
 
   # This ensures that we can deal with string paths, path types and
diff --git a/nixos/modules/services/monitoring/zabbix-proxy.nix b/nixos/modules/services/monitoring/zabbix-proxy.nix
index 503e81b48a58..fea5704af6f6 100644
--- a/nixos/modules/services/monitoring/zabbix-proxy.nix
+++ b/nixos/modules/services/monitoring/zabbix-proxy.nix
@@ -299,10 +299,7 @@ in
         fi
       '' + optionalString (cfg.database.passwordFile != null) ''
         # create a copy of the supplied password file in a format zabbix can consume
-        touch ${passwordFile}
-        chmod 0600 ${passwordFile}
-        echo -n "DBPassword = " > ${passwordFile}
-        cat ${cfg.database.passwordFile} >> ${passwordFile}
+        install -m 0600 <(echo "DBPassword = $(cat ${cfg.database.passwordFile})") ${passwordFile}
       '';
 
       serviceConfig = {
diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix
index 0607188d2131..f2fb5fbe7ac6 100644
--- a/nixos/modules/services/monitoring/zabbix-server.nix
+++ b/nixos/modules/services/monitoring/zabbix-server.nix
@@ -292,10 +292,7 @@ in
         fi
       '' + optionalString (cfg.database.passwordFile != null) ''
         # create a copy of the supplied password file in a format zabbix can consume
-        touch ${passwordFile}
-        chmod 0600 ${passwordFile}
-        echo -n "DBPassword = " > ${passwordFile}
-        cat ${cfg.database.passwordFile} >> ${passwordFile}
+        install -m 0600 <(echo "DBPassword = $(cat ${cfg.database.passwordFile})") ${passwordFile}
       '';
 
       serviceConfig = {
diff --git a/nixos/modules/services/networking/kresd.nix b/nixos/modules/services/networking/kresd.nix
index 0c7363e564dc..307414abf170 100644
--- a/nixos/modules/services/networking/kresd.nix
+++ b/nixos/modules/services/networking/kresd.nix
@@ -11,7 +11,7 @@ let
   mkListen = kind: addr: let
     al_v4 = builtins.match "([0-9.]+):([0-9]+)($)" addr;
     al_v6 = builtins.match "\\[(.+)]:([0-9]+)(%.*|$)" addr;
-    al_portOnly = builtins.match "([0-9]+)" addr;
+    al_portOnly = builtins.match "(^)([0-9]+)" addr;
     al = findFirst (a: a != null)
       (throw "services.kresd.*: incorrect address specification '${addr}'")
       [ al_v4 al_v6 al_portOnly ];
diff --git a/nixos/modules/services/networking/pyload.nix b/nixos/modules/services/networking/pyload.nix
new file mode 100644
index 000000000000..f2b85499d4dd
--- /dev/null
+++ b/nixos/modules/services/networking/pyload.nix
@@ -0,0 +1,147 @@
+{ config, lib, pkgs, utils, ... }:
+let
+  cfg = config.services.pyload;
+
+  stateDir = "/var/lib/pyload";
+in
+{
+  meta.maintainers = with lib.maintainers; [ ambroisie ];
+
+  options = with lib; {
+    services.pyload = {
+      enable = mkEnableOption "pyLoad download manager";
+
+      package = mkPackageOption pkgs "pyLoad" { default = [ "pyload-ng" ]; };
+
+      listenAddress = mkOption {
+        type = types.str;
+        default = "localhost";
+        example = "0.0.0.0";
+        description = "Address to listen on for the web UI.";
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = 8000;
+        example = 9876;
+        description = "Port to listen on for the web UI.";
+      };
+
+      downloadDirectory = mkOption {
+        type = types.path;
+        default = "${stateDir}/downloads";
+        example = "/mnt/downloads";
+        description = "Directory to store downloads.";
+      };
+
+      credentialsFile = mkOption {
+        type = with types; nullOr path;
+        default = null;
+        example = "/run/secrets/pyload-credentials.env";
+        description = ''
+          File containing {env}`PYLOAD_DEFAULT_USERNAME` and
+          {env}`PYLOAD_DEFAULT_PASSWORD` in the format of an `EnvironmentFile=`,
+          as described by {manpage}`systemd.exec(5)`.
+
+          If not given, they default to the username/password combo of
+          pyload/pyload.
+        '';
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    systemd.tmpfiles.settings.pyload = {
+      ${cfg.downloadDirectory}.d = { };
+    };
+
+    systemd.services.pyload = {
+      description = "pyLoad download manager";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      # NOTE: unlike what the documentation says, it looks like `HOME` is not
+      # defined with this service definition...
+      # Since pyload tries to do the equivalent of `cd ~`, it needs to be able
+      # to resolve $HOME, which fails when `RootDirectory` is set.
+      # FIXME: check if `SetLoginEnvironment` fixes this issue in version 255
+      environment = {
+        HOME = stateDir;
+        PYLOAD__WEBUI__HOST = cfg.listenAddress;
+        PYLOAD__WEBUI__PORT = builtins.toString cfg.port;
+      };
+
+      serviceConfig = {
+        ExecStart = utils.escapeSystemdExecArgs [
+          (lib.getExe cfg.package)
+          "--userdir"
+          "${stateDir}/config"
+          "--storagedir"
+          cfg.downloadDirectory
+        ];
+
+        User = "pyload";
+        Group = "pyload";
+        DynamicUser = true;
+
+        EnvironmentFile = lib.optional (cfg.credentialsFile != null) cfg.credentialsFile;
+
+        StateDirectory = "pyload";
+        WorkingDirectory = stateDir;
+        RuntimeDirectory = "pyload";
+        RuntimeDirectoryMode = "0700";
+        RootDirectory = "/run/pyload";
+        BindReadOnlyPaths = [
+          builtins.storeDir # Needed to run the python interpreter
+        ];
+        BindPaths = [
+          cfg.downloadDirectory
+        ];
+
+        # Hardening options
+        LockPersonality = true;
+        NoNewPrivileges = true;
+        PrivateDevices = true;
+        PrivateMounts = true;
+        PrivateTmp = true;
+        PrivateUsers = true;
+        ProcSubset = "pid";
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectProc = "invisible";
+        ProtectSystem = "strict";
+        RemoveIPC = true;
+        RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX";
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        RestrictSUIDSGID = true;
+        SystemCallArchitectures = "native";
+        SystemCallFilter = [ "@system-service" "~@resources" "~@privileged" ];
+        UMask = "0002";
+        CapabilityBoundingSet = [
+          "~CAP_BLOCK_SUSPEND"
+          "~CAP_BPF"
+          "~CAP_CHOWN"
+          "~CAP_IPC_LOCK"
+          "~CAP_KILL"
+          "~CAP_LEASE"
+          "~CAP_LINUX_IMMUTABLE"
+          "~CAP_NET_ADMIN"
+          "~CAP_SYS_ADMIN"
+          "~CAP_SYS_BOOT"
+          "~CAP_SYS_CHROOT"
+          "~CAP_SYS_NICE"
+          "~CAP_SYS_PACCT"
+          "~CAP_SYS_PTRACE"
+          "~CAP_SYS_RESOURCE"
+          "~CAP_SYS_TTY_CONFIG"
+        ];
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/seafile.nix b/nixos/modules/services/networking/seafile.nix
index 9caabc60c78f..b2d12234900a 100644
--- a/nixos/modules/services/networking/seafile.nix
+++ b/nixos/modules/services/networking/seafile.nix
@@ -32,7 +32,8 @@ let
   dataDir = "${seafRoot}/data";
   seahubDir = "${seafRoot}/seahub";
 
-in {
+in
+{
 
   ###### Interface
 
@@ -147,146 +148,151 @@ in {
       description = "Seafile components";
     };
 
-    systemd.services = let
-      securityOptions = {
-        ProtectHome = true;
-        PrivateUsers = true;
-        PrivateDevices = true;
-        ProtectClock = true;
-        ProtectHostname = true;
-        ProtectProc = "invisible";
-        ProtectKernelModules = true;
-        ProtectKernelTunables = true;
-        ProtectKernelLogs = true;
-        ProtectControlGroups = true;
-        RestrictNamespaces = true;
-        LockPersonality = true;
-        RestrictRealtime = true;
-        RestrictSUIDSGID = true;
-        MemoryDenyWriteExecute = true;
-        SystemCallArchitectures = "native";
-        RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" ];
-      };
-    in {
-      seaf-server = {
-        description = "Seafile server";
-        partOf = [ "seafile.target" ];
-        after = [ "network.target" ];
-        wantedBy = [ "seafile.target" ];
-        restartTriggers = [ ccnetConf seafileConf ];
-        path = [ pkgs.sqlite ];
-        serviceConfig = securityOptions // {
-          User = "seafile";
-          Group = "seafile";
-          DynamicUser = true;
-          StateDirectory = "seafile";
-          RuntimeDirectory = "seafile";
-          LogsDirectory = "seafile";
-          ConfigurationDirectory = "seafile";
-          ExecStart = ''
-            ${cfg.seafilePackage}/bin/seaf-server \
-            --foreground \
-            -F /etc/seafile \
-            -c ${ccnetDir} \
-            -d ${dataDir} \
-            -l /var/log/seafile/server.log \
-            -P /run/seafile/server.pid \
-            -p /run/seafile
-          '';
+    systemd.services =
+      let
+        securityOptions = {
+          ProtectHome = true;
+          PrivateUsers = true;
+          PrivateDevices = true;
+          ProtectClock = true;
+          ProtectHostname = true;
+          ProtectProc = "invisible";
+          ProtectKernelModules = true;
+          ProtectKernelTunables = true;
+          ProtectKernelLogs = true;
+          ProtectControlGroups = true;
+          RestrictNamespaces = true;
+          LockPersonality = true;
+          RestrictRealtime = true;
+          RestrictSUIDSGID = true;
+          MemoryDenyWriteExecute = true;
+          SystemCallArchitectures = "native";
+          RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" ];
         };
-        preStart = ''
-          if [ ! -f "${seafRoot}/server-setup" ]; then
-              mkdir -p ${dataDir}/library-template
-              mkdir -p ${ccnetDir}/{GroupMgr,misc,OrgMgr,PeerMgr}
-              sqlite3 ${ccnetDir}/GroupMgr/groupmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/groupmgr.sql"
-              sqlite3 ${ccnetDir}/misc/config.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/config.sql"
-              sqlite3 ${ccnetDir}/OrgMgr/orgmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/org.sql"
-              sqlite3 ${ccnetDir}/PeerMgr/usermgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/user.sql"
-              sqlite3 ${dataDir}/seafile.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/seafile.sql"
-              echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
-          fi
-          # checking for upgrades and handling them
-          # WARNING: needs to be extended to actually handle major version migrations
-          installedMajor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f1)
-          installedMinor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f2)
-          pkgMajor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f1)
-          pkgMinor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f2)
-
-          if [[ $installedMajor == $pkgMajor && $installedMinor == $pkgMinor ]]; then
-             :
-          elif [[ $installedMajor == 8 && $installedMinor == 0 && $pkgMajor == 9 && $pkgMinor == 0 ]]; then
-              # Upgrade from 8.0 to 9.0
-              sqlite3 ${dataDir}/seafile.db ".read ${pkgs.seahub}/scripts/upgrade/sql/9.0.0/sqlite3/seafile.sql"
-              echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
-          else
-              echo "Unsupported upgrade" >&2
-              exit 1
-          fi
-        '';
-      };
+      in
+      {
+        seaf-server = {
+          description = "Seafile server";
+          partOf = [ "seafile.target" ];
+          after = [ "network.target" ];
+          wantedBy = [ "seafile.target" ];
+          restartTriggers = [ ccnetConf seafileConf ];
+          path = [ pkgs.sqlite ];
+          serviceConfig = securityOptions // {
+            User = "seafile";
+            Group = "seafile";
+            DynamicUser = true;
+            StateDirectory = "seafile";
+            RuntimeDirectory = "seafile";
+            LogsDirectory = "seafile";
+            ConfigurationDirectory = "seafile";
+            ExecStart = ''
+              ${cfg.seafilePackage}/bin/seaf-server \
+              --foreground \
+              -F /etc/seafile \
+              -c ${ccnetDir} \
+              -d ${dataDir} \
+              -l /var/log/seafile/server.log \
+              -P /run/seafile/server.pid \
+              -p /run/seafile
+            '';
+          };
+          preStart = ''
+            if [ ! -f "${seafRoot}/server-setup" ]; then
+                mkdir -p ${dataDir}/library-template
+                mkdir -p ${ccnetDir}/{GroupMgr,misc,OrgMgr,PeerMgr}
+                sqlite3 ${ccnetDir}/GroupMgr/groupmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/groupmgr.sql"
+                sqlite3 ${ccnetDir}/misc/config.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/config.sql"
+                sqlite3 ${ccnetDir}/OrgMgr/orgmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/org.sql"
+                sqlite3 ${ccnetDir}/PeerMgr/usermgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/user.sql"
+                sqlite3 ${dataDir}/seafile.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/seafile.sql"
+                echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
+            fi
+            # checking for upgrades and handling them
+            installedMajor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f1)
+            installedMinor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f2)
+            pkgMajor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f1)
+            pkgMinor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f2)
 
-      seahub = {
-        description = "Seafile Server Web Frontend";
-        wantedBy = [ "seafile.target" ];
-        partOf = [ "seafile.target" ];
-        after = [ "network.target" "seaf-server.service" ];
-        requires = [ "seaf-server.service" ];
-        restartTriggers = [ seahubSettings ];
-        environment = {
-          PYTHONPATH = "${pkgs.seahub.pythonPath}:${pkgs.seahub}/thirdpart:${pkgs.seahub}";
-          DJANGO_SETTINGS_MODULE = "seahub.settings";
-          CCNET_CONF_DIR = ccnetDir;
-          SEAFILE_CONF_DIR = dataDir;
-          SEAFILE_CENTRAL_CONF_DIR = "/etc/seafile";
-          SEAFILE_RPC_PIPE_PATH = "/run/seafile";
-          SEAHUB_LOG_DIR = "/var/log/seafile";
+            if [[ $installedMajor == $pkgMajor && $installedMinor == $pkgMinor ]]; then
+               :
+            elif [[ $installedMajor == 8 && $installedMinor == 0 && $pkgMajor == 9 && $pkgMinor == 0 ]]; then
+                # Upgrade from 8.0 to 9.0
+                sqlite3 ${dataDir}/seafile.db ".read ${pkgs.seahub}/scripts/upgrade/sql/9.0.0/sqlite3/seafile.sql"
+                echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
+            elif [[ $installedMajor == 9 && $installedMinor == 0 && $pkgMajor == 10 && $pkgMinor == 0 ]]; then
+                # Upgrade from 9.0 to 10.0
+                sqlite3 ${dataDir}/seafile.db ".read ${pkgs.seahub}/scripts/upgrade/sql/10.0.0/sqlite3/seafile.sql"
+                echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
+            else
+                echo "Unsupported upgrade" >&2
+                exit 1
+            fi
+          '';
         };
-        serviceConfig = securityOptions // {
-          User = "seafile";
-          Group = "seafile";
-          DynamicUser = true;
-          RuntimeDirectory = "seahub";
-          StateDirectory = "seafile";
-          LogsDirectory = "seafile";
-          ConfigurationDirectory = "seafile";
-          ExecStart = ''
-            ${pkgs.seahub.python.pkgs.gunicorn}/bin/gunicorn seahub.wsgi:application \
-            --name seahub \
-            --workers ${toString cfg.workers} \
-            --log-level=info \
-            --preload \
-            --timeout=1200 \
-            --limit-request-line=8190 \
-            --bind unix:/run/seahub/gunicorn.sock
+
+        seahub = {
+          description = "Seafile Server Web Frontend";
+          wantedBy = [ "seafile.target" ];
+          partOf = [ "seafile.target" ];
+          after = [ "network.target" "seaf-server.service" ];
+          requires = [ "seaf-server.service" ];
+          restartTriggers = [ seahubSettings ];
+          environment = {
+            PYTHONPATH = "${pkgs.seahub.pythonPath}:${pkgs.seahub}/thirdpart:${pkgs.seahub}";
+            DJANGO_SETTINGS_MODULE = "seahub.settings";
+            CCNET_CONF_DIR = ccnetDir;
+            SEAFILE_CONF_DIR = dataDir;
+            SEAFILE_CENTRAL_CONF_DIR = "/etc/seafile";
+            SEAFILE_RPC_PIPE_PATH = "/run/seafile";
+            SEAHUB_LOG_DIR = "/var/log/seafile";
+          };
+          serviceConfig = securityOptions // {
+            User = "seafile";
+            Group = "seafile";
+            DynamicUser = true;
+            RuntimeDirectory = "seahub";
+            StateDirectory = "seafile";
+            LogsDirectory = "seafile";
+            ConfigurationDirectory = "seafile";
+            ExecStart = ''
+              ${pkgs.seahub.python.pkgs.gunicorn}/bin/gunicorn seahub.wsgi:application \
+              --name seahub \
+              --workers ${toString cfg.workers} \
+              --log-level=info \
+              --preload \
+              --timeout=1200 \
+              --limit-request-line=8190 \
+              --bind unix:/run/seahub/gunicorn.sock
+            '';
+          };
+          preStart = ''
+            mkdir -p ${seahubDir}/media
+            # Link all media except avatars
+            for m in `find ${pkgs.seahub}/media/ -maxdepth 1 -not -name "avatars"`; do
+              ln -sf $m ${seahubDir}/media/
+            done
+            if [ ! -e "${seafRoot}/.seahubSecret" ]; then
+                ${pkgs.seahub.python}/bin/python ${pkgs.seahub}/tools/secret_key_generator.py > ${seafRoot}/.seahubSecret
+                chmod 400 ${seafRoot}/.seahubSecret
+            fi
+            if [ ! -f "${seafRoot}/seahub-setup" ]; then
+                # avatars directory should be writable
+                install -D -t ${seahubDir}/media/avatars/ ${pkgs.seahub}/media/avatars/default.png
+                install -D -t ${seahubDir}/media/avatars/groups ${pkgs.seahub}/media/avatars/groups/default.png
+                # init database
+                ${pkgs.seahub}/manage.py migrate
+                # create admin account
+                ${pkgs.expect}/bin/expect -c 'spawn ${pkgs.seahub}/manage.py createsuperuser --email=${cfg.adminEmail}; expect "Password: "; send "${cfg.initialAdminPassword}\r"; expect "Password (again): "; send "${cfg.initialAdminPassword}\r"; expect "Superuser created successfully."'
+                echo "${pkgs.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
+            fi
+            if [ $(cat "${seafRoot}/seahub-setup" | cut -d"-" -f1) != "${pkgs.seahub.version}" ]; then
+                # update database
+                ${pkgs.seahub}/manage.py migrate
+                echo "${pkgs.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
+            fi
           '';
         };
-        preStart = ''
-          mkdir -p ${seahubDir}/media
-          # Link all media except avatars
-          for m in `find ${pkgs.seahub}/media/ -maxdepth 1 -not -name "avatars"`; do
-            ln -sf $m ${seahubDir}/media/
-          done
-          if [ ! -e "${seafRoot}/.seahubSecret" ]; then
-              ${pkgs.seahub.python}/bin/python ${pkgs.seahub}/tools/secret_key_generator.py > ${seafRoot}/.seahubSecret
-              chmod 400 ${seafRoot}/.seahubSecret
-          fi
-          if [ ! -f "${seafRoot}/seahub-setup" ]; then
-              # avatars directory should be writable
-              install -D -t ${seahubDir}/media/avatars/ ${pkgs.seahub}/media/avatars/default.png
-              install -D -t ${seahubDir}/media/avatars/groups ${pkgs.seahub}/media/avatars/groups/default.png
-              # init database
-              ${pkgs.seahub}/manage.py migrate
-              # create admin account
-              ${pkgs.expect}/bin/expect -c 'spawn ${pkgs.seahub}/manage.py createsuperuser --email=${cfg.adminEmail}; expect "Password: "; send "${cfg.initialAdminPassword}\r"; expect "Password (again): "; send "${cfg.initialAdminPassword}\r"; expect "Superuser created successfully."'
-              echo "${pkgs.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
-          fi
-          if [ $(cat "${seafRoot}/seahub-setup" | cut -d"-" -f1) != "${pkgs.seahub.version}" ]; then
-              # update database
-              ${pkgs.seahub}/manage.py migrate
-              echo "${pkgs.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
-          fi
-        '';
       };
-    };
   };
 }
diff --git a/nixos/modules/services/networking/strongswan-swanctl/module.nix b/nixos/modules/services/networking/strongswan-swanctl/module.nix
index a98850923955..c1f0aeb64e96 100644
--- a/nixos/modules/services/networking/strongswan-swanctl/module.nix
+++ b/nixos/modules/services/networking/strongswan-swanctl/module.nix
@@ -5,6 +5,9 @@ with (import ./param-lib.nix lib);
 
 let
   cfg = config.services.strongswan-swanctl;
+  configFile = pkgs.writeText "swanctl.conf"
+      ( (paramsToConf cfg.swanctl swanctlParams)
+      + (concatMapStrings (i: "\ninclude ${i}") cfg.includes));
   swanctlParams = import ./swanctl-params.nix lib;
 in  {
   options.services.strongswan-swanctl = {
@@ -21,6 +24,13 @@ in  {
     };
 
     swanctl = paramsToOptions swanctlParams;
+    includes = mkOption {
+      type = types.listOf types.path;
+      default = [];
+      description = ''
+        Extra configuration files to include in the swanctl configuration. This can be used to provide secret values from outside the nix store.
+      '';
+    };
   };
 
   config = mkIf cfg.enable {
@@ -31,8 +41,7 @@ in  {
       }
     ];
 
-    environment.etc."swanctl/swanctl.conf".text =
-      paramsToConf cfg.swanctl swanctlParams;
+    environment.etc."swanctl/swanctl.conf".source = configFile;
 
     # The swanctl command complains when the following directories don't exist:
     # See: https://wiki.strongswan.org/projects/strongswan/wiki/Swanctldirectory
diff --git a/nixos/modules/services/security/bitwarden-directory-connector-cli.nix b/nixos/modules/services/security/bitwarden-directory-connector-cli.nix
index 18c02e22fd7e..a55758322a75 100644
--- a/nixos/modules/services/security/bitwarden-directory-connector-cli.nix
+++ b/nixos/modules/services/security/bitwarden-directory-connector-cli.nix
@@ -277,42 +277,42 @@ in {
           BITWARDENCLI_CONNECTOR_PLAINTEXT_SECRETS = "true";
         };
 
+        preStart = ''
+          set -eo pipefail
+
+          # create the config file
+          ${lib.getExe cfg.package} data-file
+          touch /tmp/data.json.tmp
+          chmod 600 /tmp/data.json{,.tmp}
+
+          ${lib.getExe cfg.package} config server ${cfg.domain}
+
+          # now login to set credentials
+          export BW_CLIENTID="$(< ${escapeShellArg cfg.secrets.bitwarden.client_path_id})"
+          export BW_CLIENTSECRET="$(< ${escapeShellArg cfg.secrets.bitwarden.client_path_secret})"
+          ${lib.getExe cfg.package} login
+
+          jq '.authenticatedAccounts[0] as $account
+            | .[$account].directoryConfigurations.ldap |= $ldap_data
+            | .[$account].directorySettings.organizationId |= $orgID
+            | .[$account].directorySettings.sync |= $sync_data' \
+            --argjson ldap_data ${escapeShellArg cfg.ldap.finalJSON} \
+            --arg orgID "''${BW_CLIENTID//organization.}" \
+            --argjson sync_data ${escapeShellArg cfg.sync.finalJSON} \
+            /tmp/data.json \
+            > /tmp/data.json.tmp
+
+          mv -f /tmp/data.json.tmp /tmp/data.json
+
+          # final config
+          ${lib.getExe cfg.package} config directory 0
+          ${lib.getExe cfg.package} config ldap.password --secretfile ${cfg.secrets.ldap}
+        '';
+
         serviceConfig = {
           Type = "oneshot";
           User = "${cfg.user}";
           PrivateTmp = true;
-          preStart = ''
-            set -eo pipefail
-
-            # create the config file
-            ${lib.getExe cfg.package} data-file
-            touch /tmp/data.json.tmp
-            chmod 600 /tmp/data.json{,.tmp}
-
-            ${lib.getExe cfg.package} config server ${cfg.domain}
-
-            # now login to set credentials
-            export BW_CLIENTID="$(< ${escapeShellArg cfg.secrets.bitwarden.client_path_id})"
-            export BW_CLIENTSECRET="$(< ${escapeShellArg cfg.secrets.bitwarden.client_path_secret})"
-            ${lib.getExe cfg.package} login
-
-            jq '.authenticatedAccounts[0] as $account
-              | .[$account].directoryConfigurations.ldap |= $ldap_data
-              | .[$account].directorySettings.organizationId |= $orgID
-              | .[$account].directorySettings.sync |= $sync_data' \
-              --argjson ldap_data ${escapeShellArg cfg.ldap.finalJSON} \
-              --arg orgID "''${BW_CLIENTID//organization.}" \
-              --argjson sync_data ${escapeShellArg cfg.sync.finalJSON} \
-              /tmp/data.json \
-              > /tmp/data.json.tmp
-
-            mv -f /tmp/data.json.tmp /tmp/data.json
-
-            # final config
-            ${lib.getExe cfg.package} config directory 0
-            ${lib.getExe cfg.package} config ldap.password --secretfile ${cfg.secrets.ldap}
-          '';
-
           ExecStart = "${lib.getExe cfg.package} sync";
         };
       };
diff --git a/nixos/modules/services/system/systemd-lock-handler.md b/nixos/modules/services/system/systemd-lock-handler.md
new file mode 100644
index 000000000000..ac9ee00ae4bc
--- /dev/null
+++ b/nixos/modules/services/system/systemd-lock-handler.md
@@ -0,0 +1,47 @@
+# systemd-lock-handler {#module-services-systemd-lock-handler}
+
+The `systemd-lock-handler` module provides a service that bridges
+D-Bus events from `logind` to user-level systemd targets:
+
+  - `lock.target` started by `loginctl lock-session`,
+  - `unlock.target` started by `loginctl unlock-session` and
+  - `sleep.target` started by `systemctl suspend`.
+
+You can create a user service that starts with any of these targets.
+
+For example, to create a service for `swaylock`:
+
+```nix
+{
+  services.systemd-lock-handler.enable = true;
+
+  systemd.user.services.swaylock = {
+    description = "Screen locker for Wayland";
+    documentation = ["man:swaylock(1)"];
+
+    # If swaylock exits cleanly, unlock the session:
+    onSuccess = ["unlock.target"];
+
+    # When lock.target is stopped, stops this too:
+    partOf = ["lock.target"];
+
+    # Delay lock.target until this service is ready:
+    before = ["lock.target"];
+    wantedBy = ["lock.target"];
+
+    serviceConfig = {
+      # systemd will consider this service started when swaylock forks...
+      Type = "forking";
+
+      # ... and swaylock will fork only after it has locked the screen.
+      ExecStart = "${lib.getExe pkgs.swaylock} -f";
+
+      # If swaylock crashes, always restart it immediately:
+      Restart = "on-failure";
+      RestartSec = 0;
+    };
+  };
+}
+```
+
+See [upstream documentation](https://sr.ht/~whynothugo/systemd-lock-handler) for more information.
diff --git a/nixos/modules/services/system/systemd-lock-handler.nix b/nixos/modules/services/system/systemd-lock-handler.nix
new file mode 100644
index 000000000000..1ecb13b75bb3
--- /dev/null
+++ b/nixos/modules/services/system/systemd-lock-handler.nix
@@ -0,0 +1,27 @@
+{ config
+, pkgs
+, lib
+, ...
+}:
+let
+  cfg = config.services.systemd-lock-handler;
+  inherit (lib) mkIf mkEnableOption mkPackageOption;
+in
+{
+  options.services.systemd-lock-handler = {
+    enable = mkEnableOption (lib.mdDoc "systemd-lock-handler");
+    package = mkPackageOption pkgs "systemd-lock-handler" { };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.packages = [ cfg.package ];
+
+    # https://github.com/NixOS/nixpkgs/issues/81138
+    systemd.user.services.systemd-lock-handler.wantedBy = [ "default.target" ];
+  };
+
+  meta = {
+    maintainers = with lib.maintainers; [ liff ];
+    doc = ./systemd-lock-handler.md;
+  };
+}
diff --git a/nixos/modules/services/web-apps/lemmy.nix b/nixos/modules/services/web-apps/lemmy.nix
index bde9051a7033..968dcac93fab 100644
--- a/nixos/modules/services/web-apps/lemmy.nix
+++ b/nixos/modules/services/web-apps/lemmy.nix
@@ -204,7 +204,6 @@ in
           };
           "/" = {
             # mixed frontend and backend requests, based on the request headers
-            proxyPass = "$proxpass";
             recommendedProxySettings = true;
             extraConfig = ''
               set $proxpass "${ui}";
@@ -220,6 +219,8 @@ in
 
               # Cuts off the trailing slash on URLs to make them valid
               rewrite ^(.+)/+$ $1 permanent;
+
+              proxy_pass $proxpass;
             '';
           };
         };
diff --git a/nixos/modules/services/web-apps/mastodon.nix b/nixos/modules/services/web-apps/mastodon.nix
index 538e728fcc72..8d09d1b97828 100644
--- a/nixos/modules/services/web-apps/mastodon.nix
+++ b/nixos/modules/services/web-apps/mastodon.nix
@@ -133,6 +133,7 @@ let
         RestartSec = 20;
         EnvironmentFile = [ "/var/lib/mastodon/.secrets_env" ] ++ cfg.extraEnvFiles;
         WorkingDirectory = cfg.package;
+        LimitNOFILE = "1024000";
         # System Call Filtering
         SystemCallFilter = [ ("~" + lib.concatStringsSep " " systemCallsList) "@chown" "pipe" "pipe2" ];
       } // cfgService;
diff --git a/nixos/modules/services/web-apps/nextcloud-notify_push.nix b/nixos/modules/services/web-apps/nextcloud-notify_push.nix
index 759daa0c50dc..7b90e0bbaa9b 100644
--- a/nixos/modules/services/web-apps/nextcloud-notify_push.nix
+++ b/nixos/modules/services/web-apps/nextcloud-notify_push.nix
@@ -116,7 +116,7 @@ in
       }
 
       (lib.mkIf cfg.bendDomainToLocalhost {
-        nextcloud.extraOptions.trusted_proxies = [ "127.0.0.1" "::1" ];
+        nextcloud.settings.trusted_proxies = [ "127.0.0.1" "::1" ];
       })
     ];
   };
diff --git a/nixos/modules/services/web-apps/nextcloud.md b/nixos/modules/services/web-apps/nextcloud.md
index ce8f96a6a389..5db83d7e4463 100644
--- a/nixos/modules/services/web-apps/nextcloud.md
+++ b/nixos/modules/services/web-apps/nextcloud.md
@@ -51,7 +51,7 @@ to ensure that changes can be applied by changing the module's options.
 In case the application serves multiple domains (those are checked with
 [`$_SERVER['HTTP_HOST']`](https://www.php.net/manual/en/reserved.variables.server.php))
 it's needed to add them to
-[`services.nextcloud.extraOptions.trusted_domains`](#opt-services.nextcloud.extraOptions.trusted_domains).
+[`services.nextcloud.settings.trusted_domains`](#opt-services.nextcloud.settings.trusted_domains).
 
 Auto updates for Nextcloud apps can be enabled using
 [`services.nextcloud.autoUpdateApps`](#opt-services.nextcloud.autoUpdateApps.enable).
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index 0b19265942c0..8669f84b1cbb 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -183,8 +183,8 @@ let
     ];
 
     $CONFIG = array_replace_recursive($CONFIG, nix_decode_json_file(
-      "${jsonFormat.generate "nextcloud-extraOptions.json" cfg.extraOptions}",
-      "impossible: this should never happen (decoding generated extraOptions file %s failed)"
+      "${jsonFormat.generate "nextcloud-settings.json" cfg.settings}",
+      "impossible: this should never happen (decoding generated settings file %s failed)"
     ));
 
     ${optionalString (cfg.secretFile != null) ''
@@ -205,21 +205,22 @@ in {
       Add port to services.nextcloud.config.dbhost instead.
     '')
     (mkRenamedOptionModule
-      [ "services" "nextcloud" "logLevel" ] [ "services" "nextcloud" "extraOptions" "loglevel" ])
+      [ "services" "nextcloud" "logLevel" ] [ "services" "nextcloud" "settings" "loglevel" ])
     (mkRenamedOptionModule
-      [ "services" "nextcloud" "logType" ] [ "services" "nextcloud" "extraOptions" "log_type" ])
+      [ "services" "nextcloud" "logType" ] [ "services" "nextcloud" "settings" "log_type" ])
     (mkRenamedOptionModule
-      [ "services" "nextcloud" "config" "defaultPhoneRegion" ] [ "services" "nextcloud" "extraOptions" "default_phone_region" ])
+      [ "services" "nextcloud" "config" "defaultPhoneRegion" ] [ "services" "nextcloud" "settings" "default_phone_region" ])
     (mkRenamedOptionModule
-      [ "services" "nextcloud" "config" "overwriteProtocol" ] [ "services" "nextcloud" "extraOptions" "overwriteprotocol" ])
+      [ "services" "nextcloud" "config" "overwriteProtocol" ] [ "services" "nextcloud" "settings" "overwriteprotocol" ])
     (mkRenamedOptionModule
-      [ "services" "nextcloud" "skeletonDirectory" ] [ "services" "nextcloud" "extraOptions" "skeletondirectory" ])
+      [ "services" "nextcloud" "skeletonDirectory" ] [ "services" "nextcloud" "settings" "skeletondirectory" ])
     (mkRenamedOptionModule
-      [ "services" "nextcloud" "globalProfiles" ] [ "services" "nextcloud" "extraOptions" "profile.enabled" ])
+      [ "services" "nextcloud" "globalProfiles" ] [ "services" "nextcloud" "settings" "profile.enabled" ])
     (mkRenamedOptionModule
-      [ "services" "nextcloud" "config" "extraTrustedDomains" ] [ "services" "nextcloud" "extraOptions" "trusted_domains" ])
+      [ "services" "nextcloud" "config" "extraTrustedDomains" ] [ "services" "nextcloud" "settings" "trusted_domains" ])
     (mkRenamedOptionModule
-      [ "services" "nextcloud" "config" "trustedProxies" ] [ "services" "nextcloud" "extraOptions" "trusted_proxies" ])
+      [ "services" "nextcloud" "config" "trustedProxies" ] [ "services" "nextcloud" "settings" "trusted_proxies" ])
+    (mkRenamedOptionModule ["services" "nextcloud" "extraOptions" ] [ "services" "nextcloud" "settings" ])
   ];
 
   options.services.nextcloud = {
@@ -648,7 +649,7 @@ in {
       '';
     };
 
-    extraOptions = mkOption {
+    settings = mkOption {
       type = types.submodule {
         freeformType = jsonFormat.type;
         options = {
@@ -770,7 +771,7 @@ in {
       default = null;
       description = lib.mdDoc ''
         Secret options which will be appended to Nextcloud's config.php file (written as JSON, in the same
-        form as the [](#opt-services.nextcloud.extraOptions) option), for example
+        form as the [](#opt-services.nextcloud.settings) option), for example
         `{"redis":{"password":"secret"}}`.
       '';
     };
@@ -930,7 +931,7 @@ in {
             (i: v: ''
               ${occ}/bin/nextcloud-occ config:system:set trusted_domains \
                 ${toString i} --value="${toString v}"
-            '') ([ cfg.hostName ] ++ cfg.extraOptions.trusted_domains));
+            '') ([ cfg.hostName ] ++ cfg.settings.trusted_domains));
 
         in {
           wantedBy = [ "multi-user.target" ];
@@ -1056,7 +1057,7 @@ in {
 
       services.nextcloud = {
         caching.redis = lib.mkIf cfg.configureRedis true;
-        extraOptions = mkMerge [({
+        settings = mkMerge [({
           datadirectory = lib.mkDefault "${datadir}/data";
           trusted_domains = [ cfg.hostName ];
         }) (lib.mkIf cfg.configureRedis {
diff --git a/nixos/modules/services/web-apps/photoprism.nix b/nixos/modules/services/web-apps/photoprism.nix
index e25b03484424..1716840e84e5 100644
--- a/nixos/modules/services/web-apps/photoprism.nix
+++ b/nixos/modules/services/web-apps/photoprism.nix
@@ -18,6 +18,9 @@ let
     in
     pkgs.writeShellScript "manage" ''
       ${setupEnv}
+      eval "$(${config.systemd.package}/bin/systemctl show -pUID,MainPID photoprism.service | ${pkgs.gnused}/bin/sed "s/UID/ServiceUID/")"
+      exec ${pkgs.util-linux}/bin/nsenter \
+        -t $MainPID -m -S $ServiceUID -G $ServiceUID --wdns=${cfg.storagePath} \
       exec ${cfg.package}/bin/photoprism "$@"
     '';
 in
diff --git a/nixos/modules/services/web-apps/pretalx.nix b/nixos/modules/services/web-apps/pretalx.nix
new file mode 100644
index 000000000000..ff6218112d2f
--- /dev/null
+++ b/nixos/modules/services/web-apps/pretalx.nix
@@ -0,0 +1,415 @@
+{ config
+, lib
+, pkgs
+, utils
+, ...
+}:
+
+let
+  cfg = config.services.pretalx;
+  format = pkgs.formats.ini { };
+
+  configFile = format.generate "pretalx.cfg" cfg.settings;
+
+  extras = cfg.package.optional-dependencies.redis
+    ++ lib.optionals (cfg.settings.database.backend == "mysql") cfg.package.optional-dependencies.mysql
+    ++ lib.optionals (cfg.settings.database.backend == "postgresql") cfg.package.optional-dependencies.postgres;
+
+  pythonEnv = cfg.package.python.buildEnv.override {
+    extraLibs = [ (cfg.package.python.pkgs.toPythonModule cfg.package) ]
+      ++ (with cfg.package.python.pkgs; [ gunicorn ]
+      ++ lib.optional cfg.celery.enable celery) ++ extras;
+  };
+in
+
+{
+  meta = with lib; {
+    maintainers = teams.c3d2.members;
+  };
+
+  options.services.pretalx = {
+    enable = lib.mkEnableOption (lib.mdDoc "pretalx");
+
+    package = lib.mkPackageOptionMD pkgs "pretalx" {};
+
+    group = lib.mkOption {
+      type = lib.types.str;
+      default = "pretalx";
+      description = "Group under which pretalx should run.";
+    };
+
+    user = lib.mkOption {
+      type = lib.types.str;
+      default = "pretalx";
+      description = "User under which pretalx should run.";
+    };
+
+    gunicorn.extraArgs = lib.mkOption {
+      type = with lib.types; listOf str;
+      default = [
+        "--name=pretalx"
+      ];
+      example = [
+        "--name=pretalx"
+        "--workers=4"
+        "--max-requests=1200"
+        "--max-requests-jitter=50"
+        "--log-level=info"
+      ];
+      description = lib.mdDoc ''
+        Extra arguments to pass to gunicorn.
+        See <https://docs.pretalx.org/administrator/installation.html#step-6-starting-pretalx-as-a-service> for details.
+      '';
+      apply = lib.escapeShellArgs;
+    };
+
+    celery = {
+      enable = lib.mkOption {
+        type = lib.types.bool;
+        default = true;
+        example = false;
+        description = lib.mdDoc ''
+          Whether to set up celery as an asynchronous task runner.
+        '';
+      };
+
+      extraArgs = lib.mkOption {
+        type = with lib.types; listOf str;
+        default = [ ];
+        description = lib.mdDoc ''
+          Extra arguments to pass to celery.
+
+          See <https://docs.celeryq.dev/en/stable/reference/cli.html#celery-worker> for more info.
+        '';
+        apply = utils.escapeSystemdExecArgs;
+      };
+    };
+
+    nginx = {
+      enable = lib.mkOption {
+        type = lib.types.bool;
+        default = true;
+        example = false;
+        description = lib.mdDoc ''
+          Whether to set up an nginx virtual host.
+        '';
+      };
+
+      domain = lib.mkOption {
+        type = lib.types.str;
+        example = "talks.example.com";
+        description = lib.mdDoc ''
+          The domain name under which to set up the virtual host.
+        '';
+      };
+    };
+
+    database.createLocally = lib.mkOption {
+      type = lib.types.bool;
+      default = true;
+      example = false;
+      description = lib.mdDoc ''
+        Whether to automatically set up the database on the local DBMS instance.
+
+        Currently only supported for PostgreSQL. Not required for sqlite.
+      '';
+    };
+
+    settings = lib.mkOption {
+      type = lib.types.submodule {
+        freeformType = format.type;
+        options = {
+          database = {
+            backend = lib.mkOption {
+              type = lib.types.enum [
+                "postgresql"
+              ];
+              default = "postgresql";
+              description = lib.mdDoc ''
+                Database backend to use.
+
+                Currently only PostgreSQL gets tested, and as such we don't support any other DBMS.
+              '';
+              readOnly = true; # only postgres supported right now
+            };
+
+            host = lib.mkOption {
+              type = with lib.types; nullOr types.path;
+              default = if cfg.settings.database.backend == "postgresql" then "/run/postgresql"
+                else if cfg.settings.database.backend == "mysql" then "/run/mysqld/mysqld.sock"
+                else null;
+              defaultText = lib.literalExpression ''
+                if config.services.pretalx.settings..database.backend == "postgresql" then "/run/postgresql"
+                else if config.services.pretalx.settings.database.backend == "mysql" then "/run/mysqld/mysqld.sock"
+                else null
+              '';
+              description = lib.mdDoc ''
+                Database host or socket path.
+              '';
+            };
+
+            name = lib.mkOption {
+              type = lib.types.str;
+              default = "pretalx";
+              description = lib.mdDoc ''
+                Database name.
+              '';
+            };
+
+            user = lib.mkOption {
+              type = lib.types.str;
+              default = "pretalx";
+              description = lib.mdDoc ''
+                Database username.
+              '';
+            };
+          };
+
+          filesystem = {
+            data = lib.mkOption {
+              type = lib.types.path;
+              default = "/var/lib/pretalx";
+              description = lib.mdDoc ''
+                Base path for all other storage paths.
+              '';
+            };
+            logs = lib.mkOption {
+              type = lib.types.path;
+              default = "/var/log/pretalx";
+              description = lib.mdDoc ''
+                Path to the log directory, that pretalx logs message to.
+              '';
+            };
+            static = lib.mkOption {
+              type = lib.types.path;
+              default = "${cfg.package.static}/";
+              defaultText = lib.literalExpression "\${config.services.pretalx.package}.static}/";
+              readOnly = true;
+              description = lib.mdDoc ''
+                Path to the directory that contains static files.
+              '';
+            };
+          };
+
+          celery = {
+            backend = lib.mkOption {
+              type = with lib.types; nullOr str;
+              default = lib.optionalString cfg.celery.enable "redis+socket://${config.services.redis.servers.pretalx.unixSocket}?virtual_host=1";
+              defaultText = lib.literalExpression ''
+                optionalString config.services.pretalx.celery.enable "redis+socket://''${config.services.redis.servers.pretalx.unixSocket}?virtual_host=1"
+              '';
+              description = lib.mdDoc ''
+                URI to the celery backend used for the asynchronous job queue.
+              '';
+            };
+
+            broker = lib.mkOption {
+              type = with lib.types; nullOr str;
+              default = lib.optionalString cfg.celery.enable "redis+socket://${config.services.redis.servers.pretalx.unixSocket}?virtual_host=2";
+              defaultText = lib.literalExpression ''
+                optionalString config.services.pretalx.celery.enable "redis+socket://''${config.services.redis.servers.pretalx.unixSocket}?virtual_host=2"
+              '';
+              description = lib.mdDoc ''
+                URI to the celery broker used for the asynchronous job queue.
+              '';
+            };
+          };
+
+          redis = {
+            location = lib.mkOption {
+              type = with lib.types; nullOr str;
+              default = "unix://${config.services.redis.servers.pretalx.unixSocket}?db=0";
+              defaultText = lib.literalExpression ''
+                "unix://''${config.services.redis.servers.pretalx.unixSocket}?db=0"
+              '';
+              description = lib.mdDoc ''
+                URI to the redis server, used to speed up locking, caching and session storage.
+              '';
+            };
+
+            session = lib.mkOption {
+              type = lib.types.bool;
+              default = true;
+              example = false;
+              description = lib.mdDoc ''
+                Whether to use redis as the session storage.
+              '';
+            };
+          };
+
+          site = {
+            url = lib.mkOption {
+              type = lib.types.str;
+              default = "https://${cfg.nginx.domain}";
+              defaultText = lib.literalExpression "https://\${config.services.pretalx.nginx.domain}";
+              example = "https://talks.example.com";
+              description = lib.mdDoc ''
+                The base URI below which your pretalx instance will be reachable.
+              '';
+            };
+          };
+        };
+      };
+      default = { };
+      description = lib.mdDoc ''
+        pretalx configuration as a Nix attribute set. All settings can also be passed
+        from the environment.
+
+        See <https://docs.pretalx.org/administrator/configure.html> for possible options.
+      '';
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    # https://docs.pretalx.org/administrator/installation.html
+
+    environment.systemPackages = [
+      (pkgs.writeScriptBin "pretalx-manage" ''
+        cd ${cfg.settings.filesystem.data}
+        sudo=exec
+        if [[ "$USER" != ${cfg.user} ]]; then
+          sudo='exec /run/wrappers/bin/sudo -u ${cfg.user} --preserve-env=PRETALX_CONFIG_FILE'
+        fi
+        export PRETALX_CONFIG_FILE=${configFile}
+        $sudo ${lib.getExe' pythonEnv "pretalx-manage"} "$@"
+      '')
+    ];
+
+    services = {
+      nginx = lib.mkIf cfg.nginx.enable {
+        enable = true;
+        recommendedGzipSettings = lib.mkDefault true;
+        recommendedOptimisation = lib.mkDefault true;
+        recommendedProxySettings = lib.mkDefault true;
+        recommendedTlsSettings = lib.mkDefault true;
+        upstreams.pretalx.servers."unix:/run/pretalx/pretalx.sock" = { };
+        virtualHosts.${cfg.nginx.domain} = {
+          # https://docs.pretalx.org/administrator/installation.html#step-7-ssl
+          extraConfig = ''
+            more_set_headers Referrer-Policy same-origin;
+            more_set_headers X-Content-Type-Options nosniff;
+          '';
+          locations = {
+            "/".proxyPass = "http://pretalx";
+            "/media/" = {
+              alias = "${cfg.settings.filesystem.data}/data/media/";
+              extraConfig = ''
+                access_log off;
+                more_set_headers Content-Disposition 'attachment; filename="$1"';
+                expires 7d;
+              '';
+            };
+            "/static/" = {
+              alias = cfg.settings.filesystem.static;
+              extraConfig = ''
+                access_log off;
+                more_set_headers Cache-Control "public";
+                expires 365d;
+              '';
+            };
+          };
+        };
+      };
+
+      postgresql = lib.mkIf (cfg.database.createLocally && cfg.settings.database.backend == "postgresql") {
+        enable = true;
+        ensureUsers = [ {
+          name = cfg.settings.database.user;
+          ensureDBOwnership = true;
+        } ];
+        ensureDatabases = [ cfg.settings.database.name ];
+      };
+
+      redis.servers.pretalx.enable = true;
+    };
+
+    systemd.services = let
+      commonUnitConfig = {
+        environment.PRETALX_CONFIG_FILE = configFile;
+        serviceConfig = {
+          User = "pretalx";
+          Group = "pretalx";
+          StateDirectory = [ "pretalx" "pretalx/media" ];
+          LogsDirectory = "pretalx";
+          WorkingDirectory = cfg.settings.filesystem.data;
+          SupplementaryGroups = [ "redis-pretalx" ];
+        };
+      };
+    in {
+      pretalx-web = lib.recursiveUpdate commonUnitConfig {
+        description = "pretalx web service";
+        after = [
+          "network.target"
+          "redis-pretalx.service"
+        ] ++ lib.optionals (cfg.settings.database.backend == "postgresql") [
+          "postgresql.service"
+        ] ++ lib.optionals (cfg.settings.database.backend == "mysql") [
+          "mysql.service"
+        ];
+        wantedBy = [ "multi-user.target" ];
+        preStart = ''
+          versionFile="${cfg.settings.filesystem.data}/.version"
+          version=$(cat "$versionFile" 2>/dev/null || echo 0)
+
+          if [[ $version != ${cfg.package.version} ]]; then
+            ${lib.getExe' pythonEnv "pretalx-manage"} migrate
+
+            echo "${cfg.package.version}" > "$versionFile"
+          fi
+        '';
+        serviceConfig = {
+          ExecStart = "${lib.getExe' pythonEnv "gunicorn"} --bind unix:/run/pretalx/pretalx.sock ${cfg.gunicorn.extraArgs} pretalx.wsgi";
+          RuntimeDirectory = "pretalx";
+        };
+      };
+
+      pretalx-periodic = lib.recursiveUpdate commonUnitConfig {
+        description = "pretalx periodic task runner";
+        # every 15 minutes
+        startAt = [ "*:3,18,33,48" ];
+        serviceConfig = {
+          Type = "oneshot";
+          ExecStart = "${lib.getExe' pythonEnv "pretalx-manage"} runperiodic";
+        };
+      };
+
+      pretalx-clear-sessions = lib.recursiveUpdate commonUnitConfig {
+        description = "pretalx session pruning";
+        startAt = [ "monthly" ];
+        serviceConfig = {
+          Type = "oneshot";
+          ExecStart = "${lib.getExe' pythonEnv "pretalx-manage"} clearsessions";
+        };
+      };
+
+      pretalx-worker = lib.mkIf cfg.celery.enable (lib.recursiveUpdate commonUnitConfig {
+        description = "pretalx asynchronous job runner";
+        after = [
+          "network.target"
+          "redis-pretalx.service"
+        ] ++ lib.optionals (cfg.settings.database.backend == "postgresql") [
+          "postgresql.service"
+        ] ++ lib.optionals (cfg.settings.database.backend == "mysql") [
+          "mysql.service"
+        ];
+        wantedBy = [ "multi-user.target" ];
+        serviceConfig.ExecStart = "${lib.getExe' pythonEnv "celery"} -A pretalx.celery_app worker ${cfg.celery.extraArgs}";
+      });
+    };
+
+    systemd.sockets.pretalx-web.socketConfig = {
+      ListenStream = "/run/pretalx/pretalx.sock";
+      SocketUser = "nginx";
+    };
+
+    users = {
+      groups."${cfg.group}" = {};
+      users."${cfg.user}" = {
+        isSystemUser = true;
+        createHome = true;
+        home = cfg.settings.filesystem.data;
+        inherit (cfg) group;
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/web-apps/youtrack.md b/nixos/modules/services/web-apps/youtrack.md
new file mode 100644
index 000000000000..f33f482ff970
--- /dev/null
+++ b/nixos/modules/services/web-apps/youtrack.md
@@ -0,0 +1,30 @@
+# YouTrack {#module-services-youtrack}
+
+YouTrack is a browser-based bug tracker, issue tracking system and project management software.
+
+## Installation {#module-services-youtrack-installation}
+
+YouTrack exposes a web GUI installer on first login.
+You need a token to access it.
+You can find this token in the log of the `youtrack` service. The log line looks like
+```
+* JetBrains YouTrack 2023.3 Configuration Wizard will be available on [http://127.0.0.1:8090/?wizard_token=somelongtoken] after start
+```
+
+## Upgrade from 2022.3 to 2023.x {#module-services-youtrack-upgrade-2022_3-2023_1}
+
+Starting with YouTrack 2023.1, JetBrains no longer distributes it as as JAR.
+The new distribution with the JetBrains Launcher as a ZIP changed the basic data structure and also some configuration parameters.
+Check out https://www.jetbrains.com/help/youtrack/server/YouTrack-Java-Start-Parameters.html for more information on the new configuration options.
+When upgrading to YouTrack 2023.1 or higher, a migration script will move the old state directory to `/var/lib/youtrack/2022_3` as a backup.
+A one-time manual update is required:
+
+1. Before you update take a backup of your YouTrack instance!
+2. Migrate the options you set in `services.youtrack.extraParams` and `services.youtrack.jvmOpts` to `services.youtrack.generalParameters` and `services.youtrack.environmentalParameters` (see the examples and [the YouTrack docs](https://www.jetbrains.com/help/youtrack/server/2023.3/YouTrack-Java-Start-Parameters.html))
+2. To start the upgrade set `services.youtrack.package = pkgs.youtrack`
+3. YouTrack then starts in upgrade mode, meaning you need to obtain the wizard token as above
+4. Select you want to **Upgrade** YouTrack
+5. As source you select `/var/lib/youtrack/2022_3/teamsysdata/` (adopt if you have a different state path)
+6. Change the data directory location to `/var/lib/youtrack/data/`. The other paths should already be right.
+
+If you migrate a larger YouTrack instance, it might be useful to set `-Dexodus.entityStore.refactoring.forceAll=true` in `services.youtrack.generalParameters` for the first startup of YouTrack 2023.x.
diff --git a/nixos/modules/services/web-apps/youtrack.nix b/nixos/modules/services/web-apps/youtrack.nix
index 79e1d12e0abb..abb4292113b6 100644
--- a/nixos/modules/services/web-apps/youtrack.nix
+++ b/nixos/modules/services/web-apps/youtrack.nix
@@ -1,130 +1,224 @@
 { config, lib, pkgs, ... }:
 
-with lib;
-
 let
   cfg = config.services.youtrack;
-
-  extraAttr = concatStringsSep " " (mapAttrsToList (k: v: "-D${k}=${v}") (stdParams // cfg.extraParams));
-  mergeAttrList = lib.foldl' lib.mergeAttrs {};
-
-  stdParams = mergeAttrList [
-    (optionalAttrs (cfg.baseUrl != null) {
-      "jetbrains.youtrack.baseUrl" = cfg.baseUrl;
-    })
-    {
-    "java.aws.headless" = "true";
-    "jetbrains.youtrack.disableBrowser" = "true";
-    }
-  ];
 in
 {
-  options.services.youtrack = {
+  imports = [
+    (lib.mkRenamedOptionModule [ "services" "youtrack" "baseUrl" ] [ "services" "youtrack" "environmentalParameters" "base-url" ])
+    (lib.mkRenamedOptionModule [ "services" "youtrack" "port" ] [ "services" "youtrack" "environmentalParameters" "listen-port" ])
+    (lib.mkRemovedOptionModule [ "services" "youtrack" "maxMemory" ] "Please instead use `services.youtrack.generalParameters`.")
+    (lib.mkRemovedOptionModule [ "services" "youtrack" "maxMetaspaceSize" ] "Please instead use `services.youtrack.generalParameters`.")
+  ];
 
-    enable = mkEnableOption (lib.mdDoc "YouTrack service");
+  options.services.youtrack = {
+    enable = lib.mkEnableOption (lib.mdDoc "YouTrack service");
 
-    address = mkOption {
+    address = lib.mkOption {
       description = lib.mdDoc ''
         The interface youtrack will listen on.
       '';
       default = "127.0.0.1";
-      type = types.str;
+      type = lib.types.str;
     };
 
-    baseUrl = mkOption {
-      description = lib.mdDoc ''
-        Base URL for youtrack. Will be auto-detected and stored in database.
-      '';
-      type = types.nullOr types.str;
-      default = null;
-    };
-
-    extraParams = mkOption {
+    extraParams = lib.mkOption {
       default = {};
       description = lib.mdDoc ''
-        Extra parameters to pass to youtrack. See
+        Extra parameters to pass to youtrack.
+        Use to configure YouTrack 2022.x, deprecated with YouTrack 2023.x. Use `services.youtrack.generalParameters`.
         https://www.jetbrains.com/help/youtrack/standalone/YouTrack-Java-Start-Parameters.html
         for more information.
       '';
-      example = literalExpression ''
+      example = lib.literalExpression ''
         {
           "jetbrains.youtrack.overrideRootPassword" = "tortuga";
         }
       '';
-      type = types.attrsOf types.str;
+      type = lib.types.attrsOf lib.types.str;
+      visible = false;
     };
 
-    package = mkPackageOption pkgs "youtrack" { };
-
-    port = mkOption {
+    package = lib.mkOption {
       description = lib.mdDoc ''
-        The port youtrack will listen on.
+        Package to use.
       '';
-      default = 8080;
-      type = types.port;
+      type = lib.types.package;
+      default = null;
+      relatedPackages = [ "youtrack_2022_3" "youtrack" ];
     };
 
-    statePath = mkOption {
+
+    statePath = lib.mkOption {
       description = lib.mdDoc ''
-        Where to keep the youtrack database.
+        Path were the YouTrack state is stored.
+        To this path the base version (e.g. 2023_1) of the used package will be appended.
       '';
-      type = types.path;
+      type = lib.types.path;
       default = "/var/lib/youtrack";
     };
 
-    virtualHost = mkOption {
+    virtualHost = lib.mkOption {
       description = lib.mdDoc ''
         Name of the nginx virtual host to use and setup.
         If null, do not setup anything.
       '';
       default = null;
-      type = types.nullOr types.str;
+      type = lib.types.nullOr lib.types.str;
     };
 
-    jvmOpts = mkOption {
+    jvmOpts = lib.mkOption {
       description = lib.mdDoc ''
         Extra options to pass to the JVM.
+        Only has a use with YouTrack 2022.x, deprecated with YouTrack 2023.x. Use `serivces.youtrack.generalParameters`.
         See https://www.jetbrains.com/help/youtrack/standalone/Configure-JVM-Options.html
         for more information.
       '';
-      type = types.separatedString " ";
-      example = "-XX:MetaspaceSize=250m";
+      type = lib.types.separatedString " ";
+      example = "--J-XX:MetaspaceSize=250m";
       default = "";
+      visible = false;
     };
 
-    maxMemory = mkOption {
+    autoUpgrade = lib.mkOption {
+      type = lib.types.bool;
+      default = true;
+      description = lib.mdDoc "Whether YouTrack should auto upgrade it without showing the upgrade dialog.";
+    };
+
+    generalParameters = lib.mkOption {
+      type = with lib.types; listOf str;
       description = lib.mdDoc ''
-        Maximum Java heap size
+        General configuration parameters and other JVM options.
+        Only has an effect for YouTrack 2023.x.
+        See https://www.jetbrains.com/help/youtrack/server/2023.3/youtrack-java-start-parameters.html#general-parameters
+        for more information.
       '';
-      type = types.str;
-      default = "1g";
+      example = lib.literalExpression ''
+        [
+          "-Djetbrains.youtrack.admin.restore=true"
+          "-Xmx1024m"
+        ];
+      '';
+      default = [];
     };
 
-    maxMetaspaceSize = mkOption {
+    environmentalParameters = lib.mkOption {
+      type = lib.types.submodule {
+        freeformType = with lib.types; attrsOf (oneOf [ int str port ]);
+        options = {
+          listen-address = lib.mkOption {
+            type = lib.types.str;
+            default = "0.0.0.0";
+            description = lib.mdDoc "The interface YouTrack will listen on.";
+          };
+          listen-port = lib.mkOption {
+            type = lib.types.port;
+            default = 8080;
+            description = lib.mdDoc "The port YouTrack will listen on.";
+          };
+        };
+      };
       description = lib.mdDoc ''
-        Maximum java Metaspace memory.
+        Environmental configuration parameters, set imperatively. The values doesn't get removed, when removed in Nix.
+        Only has an effect for YouTrack 2023.x.
+        See https://www.jetbrains.com/help/youtrack/server/2023.3/youtrack-java-start-parameters.html#environmental-parameters
+        for more information.
+      '';
+      example = lib.literalExpression ''
+        {
+          secure-mode = "tls";
+        }
       '';
-      type = types.str;
-      default = "350m";
+      default = {};
     };
   };
 
-  config = mkIf cfg.enable {
-
-    systemd.services.youtrack = {
-      environment.HOME = cfg.statePath;
-      environment.YOUTRACK_JVM_OPTS = "${extraAttr}";
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-      path = with pkgs; [ unixtools.hostname ];
-      serviceConfig = {
-        Type = "simple";
-        User = "youtrack";
-        Group = "youtrack";
-        Restart = "on-failure";
-        ExecStart = ''${cfg.package}/bin/youtrack --J-Xmx${cfg.maxMemory} --J-XX:MaxMetaspaceSize=${cfg.maxMetaspaceSize} ${cfg.jvmOpts} ${cfg.address}:${toString cfg.port}'';
+  config = lib.mkIf cfg.enable {
+    warnings = lib.optional (lib.versions.major cfg.package.version <= "2022")
+      "YouTrack 2022.x is deprecated. See https://nixos.org/manual/nixos/unstable/index.html#module-services-youtrack for details on how to upgrade."
+    ++ lib.optional (cfg.extraParams != "" && (lib.versions.major cfg.package.version >= "2023"))
+      "'services.youtrack.extraParams' is deprecated and has no effect on YouTrack 2023.x and newer. Please migrate to 'services.youtrack.generalParameters'"
+    ++ lib.optional (cfg.jvmOpts != "" && (lib.versions.major cfg.package.version >= "2023"))
+      "'services.youtrack.jvmOpts' is deprecated and has no effect on YouTrack 2023.x and newer. Please migrate to 'services.youtrack.generalParameters'";
+
+    # XXX: Drop all version feature switches at the point when we consider YT 2022.3 as outdated.
+    services.youtrack.package = lib.mkDefault (
+      if lib.versionAtLeast config.system.stateVersion "24.11" then pkgs.youtrack
+      else pkgs.youtrack_2022_3
+    );
+
+    services.youtrack.generalParameters = lib.optional (lib.versions.major cfg.package.version >= "2023")
+      "-Ddisable.configuration.wizard.on.upgrade=${lib.boolToString cfg.autoUpgrade}"
+      ++ (lib.mapAttrsToList (k: v: "-D${k}=${v}") cfg.extraParams);
+
+    systemd.services.youtrack = let
+      service_jar = let
+        mergeAttrList = lib.foldl' lib.mergeAttrs {};
+        stdParams = mergeAttrList [
+          (lib.optionalAttrs (cfg.environmentalParameters ? base-url && cfg.environmentalParameters.base-url != null) {
+            "jetbrains.youtrack.baseUrl" = cfg.environmentalParameters.base-url;
+          })
+          {
+          "java.aws.headless" = "true";
+          "jetbrains.youtrack.disableBrowser" = "true";
+          }
+        ];
+        extraAttr = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "-D${k}=${v}") (stdParams // cfg.extraParams));
+      in {
+        environment.HOME = cfg.statePath;
+        environment.YOUTRACK_JVM_OPTS = "${extraAttr}";
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+        path = with pkgs; [ unixtools.hostname ];
+        serviceConfig = {
+          Type = "simple";
+          User = "youtrack";
+          Group = "youtrack";
+          Restart = "on-failure";
+          ExecStart = ''${cfg.package}/bin/youtrack ${cfg.jvmOpts} ${cfg.environmentalParameters.listen-address}:${toString cfg.environmentalParameters.listen-port}'';
+        };
       };
-    };
+      service_zip = let
+        jvmoptions = pkgs.writeTextFile {
+          name = "youtrack.jvmoptions";
+          text = (lib.concatStringsSep "\n" cfg.generalParameters);
+        };
+
+        package = cfg.package.override {
+          statePath = cfg.statePath;
+        };
+      in {
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+        path = with pkgs; [ unixtools.hostname ];
+        preStart = ''
+          # This detects old (i.e. <= 2022.3) installations that were not migrated yet
+          # and migrates them to the new state directory style
+          if [[ -d ${cfg.statePath}/teamsysdata ]] && [[ ! -d ${cfg.statePath}/2022_3 ]]
+          then
+            mkdir -p ${cfg.statePath}/2022_3
+            mv ${cfg.statePath}/teamsysdata ${cfg.statePath}/2022_3
+            mv ${cfg.statePath}/.youtrack ${cfg.statePath}/2022_3
+          fi
+          mkdir -p ${cfg.statePath}/{backups,conf,data,logs,temp}
+          ${pkgs.coreutils}/bin/ln -fs ${jvmoptions} ${cfg.statePath}/conf/youtrack.jvmoptions
+          ${package}/bin/youtrack configure ${lib.concatStringsSep " " (lib.mapAttrsToList (name: value: "--${name}=${toString value}") cfg.environmentalParameters )}
+        '';
+        serviceConfig = lib.mkMerge [
+          {
+            Type = "simple";
+            User = "youtrack";
+            Group = "youtrack";
+            Restart = "on-failure";
+            ExecStart = "${package}/bin/youtrack run";
+          }
+          (lib.mkIf (cfg.statePath == "/var/lib/youtrack") {
+            StateDirectory = "youtrack";
+          })
+        ];
+      };
+    in if (lib.versions.major cfg.package.version >= "2023") then service_zip else service_jar;
 
     users.users.youtrack = {
       description = "Youtrack service user";
@@ -136,7 +230,7 @@ in
 
     users.groups.youtrack = {};
 
-    services.nginx = mkIf (cfg.virtualHost != null) {
+    services.nginx = lib.mkIf (cfg.virtualHost != null) {
       upstreams.youtrack.servers."${cfg.address}:${toString cfg.port}" = {};
       virtualHosts.${cfg.virtualHost}.locations = {
         "/" = {
@@ -166,9 +260,10 @@ in
             proxy_set_header X-Forwarded-Proto $scheme;
           '';
         };
-
       };
     };
-
   };
+
+  meta.doc = ./youtrack.md;
+  meta.maintainers = [ lib.maintainers.leona ];
 }
diff --git a/nixos/modules/services/web-servers/zope2.nix b/nixos/modules/services/web-servers/zope2.nix
index a17fe6bc2082..29731b29eea4 100644
--- a/nixos/modules/services/web-servers/zope2.nix
+++ b/nixos/modules/services/web-servers/zope2.nix
@@ -147,7 +147,7 @@ in
               name = "zope2-${name}-env";
               paths = [
                 pkgs.python27
-                pkgs.python27Packages.recursivePthLoader
+                pkgs.python27Packages.recursive-pth-loader
                 pkgs.python27Packages."plone.recipe.zope2instance"
               ] ++ attrValues pkgs.python27.modules
                 ++ opts.packages;
diff --git a/nixos/modules/services/x11/desktop-managers/budgie.nix b/nixos/modules/services/x11/desktop-managers/budgie.nix
index de4b2c0e50f5..463c45675cee 100644
--- a/nixos/modules/services/x11/desktop-managers/budgie.nix
+++ b/nixos/modules/services/x11/desktop-managers/budgie.nix
@@ -118,9 +118,7 @@ in {
         (budgie.budgie-desktop-with-plugins.override { plugins = cfg.extraPlugins; })
         budgie.budgie-desktop-view
         budgie.budgie-screensaver
-
-        # Required by the Budgie Desktop session.
-        (gnome.gnome-session.override { gnomeShellSupport = false; })
+        budgie.budgie-session
 
         # Required by Budgie Menu.
         gnome-menus
diff --git a/nixos/modules/services/x11/desktop-managers/deepin.nix b/nixos/modules/services/x11/desktop-managers/deepin.nix
index 7fdd50b1ed26..7d3acada6073 100644
--- a/nixos/modules/services/x11/desktop-managers/deepin.nix
+++ b/nixos/modules/services/x11/desktop-managers/deepin.nix
@@ -96,18 +96,10 @@ in
         "/share/dde-daemon"
         "/share/dsg"
         "/share/deepin-themes"
+        "/share/deepin"
       ];
 
       environment.etc = {
-        "distribution.info".text = ''
-          [Distribution]
-          Name=NixOS
-          WebsiteName=www.nixos.org
-          Website=https://www.nixos.org
-          Logo=${pkgs.nixos-icons}/share/icons/hicolor/96x96/apps/nix-snowflake.png
-          LogoLight=${pkgs.nixos-icons}/share/icons/hicolor/32x32/apps/nix-snowflake.png
-          LogoTransparent=${pkgs.deepin.deepin-desktop-base}/share/pixmaps/distribution_logo_transparent.svg
-        '';
         "deepin-installer.conf".text = ''
           system_info_vendor_name="Copyright (c) 2003-2023 NixOS contributors"
         '';
@@ -156,6 +148,7 @@ in
             deepin-sound-theme
             deepin-gtk-theme
             deepin-wallpapers
+            deepin-desktop-base
 
             startdde
             dde-dock
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index fc9de2500ba4..677465f55c47 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -185,6 +185,8 @@ in
         };
       };
 
+      qt.enable = true;
+
       environment.systemPackages =
         with pkgs.plasma5Packages;
         let
@@ -253,6 +255,9 @@ in
             plasma-integration
             polkit-kde-agent
 
+            qqc2-breeze-style
+            qqc2-desktop-style
+
             plasma-desktop
             plasma-workspace
             plasma-workspace-wallpapers
@@ -480,7 +485,7 @@ in
           pkgs.maliit-framework
           pkgs.maliit-keyboard
         ]
-        ++ lib.optionals (cfg.mobile.installRecommendedSoftware) (with libsForQt5.plasmaMobileGear;[
+        ++ lib.optionals (cfg.mobile.installRecommendedSoftware) (with pkgs.plasma5Packages.plasmaMobileGear; [
           # Additional software made for Plasma Mobile.
           alligator
           angelfish
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index 055afe95df60..a9978d7adf80 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -18,7 +18,7 @@ from dataclasses import dataclass
 # These values will be replaced with actual values during the package build
 EFI_SYS_MOUNT_POINT = "@efiSysMountPoint@"
 TIMEOUT = "@timeout@"
-EDITOR = bool("@editor@")
+EDITOR = "@editor@" == "1"
 CONSOLE_MODE = "@consoleMode@"
 BOOTSPEC_TOOLS = "@bootspecTools@"
 DISTRO_NAME = "@distroName@"
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
index 3b140726c2d6..ea4553b8208f 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
@@ -22,11 +22,9 @@ let
 
     timeout = optionalString (config.boot.loader.timeout != null) config.boot.loader.timeout;
 
-    editor = if cfg.editor then "True" else "False";
-
     configurationLimit = if cfg.configurationLimit == null then 0 else cfg.configurationLimit;
 
-    inherit (cfg) consoleMode graceful;
+    inherit (cfg) consoleMode graceful editor;
 
     inherit (efi) efiSysMountPoint canTouchEfiVariables;
 
@@ -54,17 +52,18 @@ let
   checkedSystemdBootBuilder = pkgs.runCommand "systemd-boot" {
     nativeBuildInputs = [ pkgs.mypy ];
   } ''
-    install -m755 ${systemdBootBuilder} $out
+    mkdir -p $out/bin
+    install -m755 ${systemdBootBuilder} $out/bin/systemd-boot-builder
     mypy \
       --no-implicit-optional \
       --disallow-untyped-calls \
       --disallow-untyped-defs \
-      $out
+      $out/bin/systemd-boot-builder
   '';
 
   finalSystemdBootBuilder = pkgs.writeScript "install-systemd-boot.sh" ''
     #!${pkgs.runtimeShell}
-    ${checkedSystemdBootBuilder} "$@"
+    ${checkedSystemdBootBuilder}/bin/systemd-boot-builder "$@"
     ${cfg.extraInstallCommands}
   '';
 in {
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index f236a4c005ad..a7399bd55e77 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -2989,15 +2989,9 @@ let
 
       systemd.services.systemd-networkd = {
         wantedBy = [ "initrd.target" ];
-        # These before and conflicts lines can be removed when this PR makes it into a release:
-        # https://github.com/systemd/systemd/pull/27791
-        before = ["initrd-switch-root.target"];
-        conflicts = ["initrd-switch-root.target"];
       };
       systemd.sockets.systemd-networkd = {
         wantedBy = [ "initrd.target" ];
-        before = ["initrd-switch-root.target"];
-        conflicts = ["initrd-switch-root.target"];
       };
 
       systemd.services.systemd-network-generator.wantedBy = [ "sysinit.target" ];
diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix
index 26cc016869b3..9641921fc795 100644
--- a/nixos/modules/system/boot/systemd/initrd.nix
+++ b/nixos/modules/system/boot/systemd/initrd.nix
@@ -57,6 +57,7 @@ let
     "systemd-ask-password-console.service"
     "systemd-fsck@.service"
     "systemd-halt.service"
+    "systemd-hibernate-resume.service"
     "systemd-journald-audit.socket"
     "systemd-journald-dev-log.socket"
     "systemd-journald.service"
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 3f9dd173d3bf..fbb4573d8135 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -390,6 +390,7 @@ in {
   installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {});
   invidious = handleTest ./invidious.nix {};
   livebook-service = handleTest ./livebook-service.nix {};
+  pyload = handleTest ./pyload.nix {};
   oci-containers = handleTestOn ["aarch64-linux" "x86_64-linux"] ./oci-containers.nix {};
   odoo = handleTest ./odoo.nix {};
   odoo15 = handleTest ./odoo.nix { package = pkgs.odoo15; };
@@ -712,6 +713,7 @@ in {
   power-profiles-daemon = handleTest ./power-profiles-daemon.nix {};
   pppd = handleTest ./pppd.nix {};
   predictable-interface-names = handleTest ./predictable-interface-names.nix {};
+  pretalx = runTest ./web-apps/pretalx.nix;
   printing-socket = handleTest ./printing.nix { socket = true; };
   printing-service = handleTest ./printing.nix { socket = false; };
   privoxy = handleTest ./privoxy.nix {};
@@ -762,6 +764,7 @@ in {
   sabnzbd = handleTest ./sabnzbd.nix {};
   samba = handleTest ./samba.nix {};
   samba-wsdd = handleTest ./samba-wsdd.nix {};
+  sane = handleTest ./sane.nix {};
   sanoid = handleTest ./sanoid.nix {};
   scaphandre = handleTest ./scaphandre.nix {};
   schleuder = handleTest ./schleuder.nix {};
@@ -856,6 +859,7 @@ in {
   systemd-journal = handleTest ./systemd-journal.nix {};
   systemd-journal-gateway = handleTest ./systemd-journal-gateway.nix {};
   systemd-journal-upload = handleTest ./systemd-journal-upload.nix {};
+  systemd-lock-handler = runTestOn ["aarch64-linux" "x86_64-linux"] ./systemd-lock-handler.nix;
   systemd-machinectl = handleTest ./systemd-machinectl.nix {};
   systemd-networkd = handleTest ./systemd-networkd.nix {};
   systemd-networkd-dhcpserver = handleTest ./systemd-networkd-dhcpserver.nix {};
diff --git a/nixos/tests/appliance-repart-image.nix b/nixos/tests/appliance-repart-image.nix
index b18968d3b963..861369b9f3ca 100644
--- a/nixos/tests/appliance-repart-image.nix
+++ b/nixos/tests/appliance-repart-image.nix
@@ -40,6 +40,8 @@ in
 
     image.repart = {
       name = "appliance-gpt-image";
+      # OVMF does not work with the default repart sector size of 4096
+      sectorSize = 512;
       partitions = {
         "esp" = {
           contents =
diff --git a/nixos/tests/budgie.nix b/nixos/tests/budgie.nix
index 19d9b2bd0bed..fe0ed2cf80ed 100644
--- a/nixos/tests/budgie.nix
+++ b/nixos/tests/budgie.nix
@@ -33,14 +33,13 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     ''
       with subtest("Wait for login"):
           # wait_for_x() checks graphical-session.target, which is expected to be
-          # inactive on Budgie before #228946 (i.e. systemd managed gnome-session) is
-          # done on upstream.
-          # https://github.com/BuddiesOfBudgie/budgie-desktop/blob/v10.7.2/src/session/budgie-desktop.in#L16
+          # inactive on Budgie before Budgie manages user session with systemd.
+          # https://github.com/BuddiesOfBudgie/budgie-desktop/blob/39e9f0895c978f76/src/session/budgie-desktop.in#L16
           #
           # Previously this was unconditionally touched by xsessionWrapper but was
           # changed in #233981 (we have Budgie:GNOME in XDG_CURRENT_DESKTOP).
           # machine.wait_for_x()
-          machine.wait_until_succeeds('journalctl -t gnome-session-binary --grep "Entering running state"')
+          machine.wait_until_succeeds('journalctl -t budgie-session-binary --grep "Entering running state"')
           machine.wait_for_file("${user.home}/.Xauthority")
           machine.succeed("xauth merge ${user.home}/.Xauthority")
 
diff --git a/nixos/tests/kernel-generic.nix b/nixos/tests/kernel-generic.nix
index 72d31246b75d..34c04e8351ce 100644
--- a/nixos/tests/kernel-generic.nix
+++ b/nixos/tests/kernel-generic.nix
@@ -32,6 +32,7 @@ let
       linux_6_1_hardened
       linux_6_5_hardened
       linux_6_6_hardened
+      linux_6_7_hardened
       linux_rt_5_4
       linux_rt_5_10
       linux_rt_5_15
diff --git a/nixos/tests/netbird.nix b/nixos/tests/netbird.nix
index ef793cfe9881..7342e8d04a39 100644
--- a/nixos/tests/netbird.nix
+++ b/nixos/tests/netbird.nix
@@ -14,7 +14,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
 
   testScript = ''
     start_all()
-    node.wait_for_unit("netbird.service")
+    node.wait_for_unit("netbird-wt0.service")
     node.wait_for_file("/var/run/netbird/sock")
     node.succeed("netbird status | grep -q 'Daemon status: NeedsLogin'")
   '';
diff --git a/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix b/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix
index addc898bd760..b09ee1276a13 100644
--- a/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix
+++ b/nixos/tests/nextcloud/with-declarative-redis-and-secrets.nix
@@ -41,7 +41,7 @@ in {
         };
         secretFile = "/etc/nextcloud-secrets.json";
 
-        extraOptions = {
+        settings = {
           allow_local_remote_servers = true;
           redis = {
             dbindex = 0;
diff --git a/nixos/tests/nextcloud/with-postgresql-and-redis.nix b/nixos/tests/nextcloud/with-postgresql-and-redis.nix
index d95af8a89d07..3c090f0d3c3b 100644
--- a/nixos/tests/nextcloud/with-postgresql-and-redis.nix
+++ b/nixos/tests/nextcloud/with-postgresql-and-redis.nix
@@ -41,7 +41,7 @@ in {
         extraApps = {
           inherit (pkgs."nextcloud${lib.versions.major config.services.nextcloud.package.version}Packages".apps) notify_push;
         };
-        extraOptions.trusted_proxies = [ "::1" ];
+        settings.trusted_proxies = [ "::1" ];
       };
 
       services.redis.servers."nextcloud".enable = true;
diff --git a/nixos/tests/nixos-rebuild-target-host.nix b/nixos/tests/nixos-rebuild-target-host.nix
index 8d60b788abf3..bf80b2fa6606 100644
--- a/nixos/tests/nixos-rebuild-target-host.nix
+++ b/nixos/tests/nixos-rebuild-target-host.nix
@@ -132,5 +132,10 @@ import ./make-test-python.nix ({ pkgs, ... }: {
         deployer.succeed("passh -c 3 -C -p ${nodes.target.users.users.bob.password} -P \"\[sudo\] password\" nixos-rebuild switch -I nixos-config=/root/configuration-3.nix --target-host bob@target --use-remote-sudo &>/dev/console")
         target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip()
         assert target_hostname == "config-3-deployed", f"{target_hostname=}"
+
+      with subtest("Deploy works with very long TMPDIR"):
+        tmp_dir = "/var/folder/veryveryveryveryverylongpathnamethatdoesnotworkwithcontrolpath"
+        deployer.succeed(f"mkdir -p {tmp_dir}")
+        deployer.succeed(f"TMPDIR={tmp_dir} nixos-rebuild switch -I nixos-config=/root/configuration-1.nix --target-host root@target &>/dev/console")
     '';
 })
diff --git a/nixos/tests/pomerium.nix b/nixos/tests/pomerium.nix
index abaf56c518e0..d0204488e8ef 100644
--- a/nixos/tests/pomerium.nix
+++ b/nixos/tests/pomerium.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "pomerium";
   meta = with lib.maintainers; {
-    maintainers = [ lukegb ];
+    maintainers = [ lukegb devusb ];
   };
 
   nodes = let base = myIP: { pkgs, lib, ... }: {
@@ -103,7 +103,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     with subtest("ui"):
         pomerium.succeed(
           # check for a string that only appears if the UI is displayed correctly
-            "chromium --no-sandbox --headless --disable-gpu --dump-dom --host-resolver-rules='MAP login.required 127.0.0.1:80' http://login.required/.pomerium | grep 'contact your administrator'"
+            "chromium --no-sandbox --headless --disable-gpu --dump-dom --host-resolver-rules='MAP login.required 127.0.0.1:80' http://login.required/.pomerium | grep 'User Details Not Available'"
         )
   '';
 })
diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix
index 5872b02b609e..7e74f27174ec 100644
--- a/nixos/tests/prometheus-exporters.nix
+++ b/nixos/tests/prometheus-exporters.nix
@@ -257,21 +257,6 @@ let
       '';
     };
 
-    exportarr-sonarr = {
-      nodeName = "exportarr_sonarr";
-      exporterConfig = {
-        enable = true;
-        url = "http://127.0.0.1:8989";
-        # testing for real data is tricky, because the api key can not be preconfigured
-        apiKeyFile = pkgs.writeText "dummy-api-key" "eccff6a992bc2e4b88e46d064b26bb4e";
-      };
-      exporterTest = ''
-        wait_for_unit("prometheus-exportarr-sonarr-exporter.service")
-        wait_for_open_port(9707)
-        succeed("curl -sSf 'http://localhost:9707/metrics")
-      '';
-    };
-
     fastly = {
       exporterConfig = {
         enable = true;
@@ -957,31 +942,6 @@ let
       '';
     };
 
-    openvpn = {
-      exporterConfig = {
-        enable = true;
-        group = "openvpn";
-        statusPaths = [ "/run/openvpn-test" ];
-      };
-      metricProvider = {
-        users.groups.openvpn = { };
-        services.openvpn.servers.test = {
-          config = ''
-            dev tun
-            status /run/openvpn-test
-            status-version 3
-          '';
-          up = "chmod g+r /run/openvpn-test";
-        };
-        systemd.services."openvpn-test".serviceConfig.Group = "openvpn";
-      };
-      exporterTest = ''
-        wait_for_unit("openvpn-test.service")
-        wait_for_unit("prometheus-openvpn-exporter.service")
-        succeed("curl -sSf http://localhost:9176/metrics | grep 'openvpn_up{.*} 1'")
-      '';
-    };
-
     pgbouncer = {
       exporterConfig = {
         enable = true;
@@ -1217,6 +1177,39 @@ let
       '';
     };
 
+    restic =
+      let
+        repository = "rest:http://127.0.0.1:8000";
+        passwordFile = pkgs.writeText "restic-test-password" "test-password";
+      in
+      {
+        exporterConfig = {
+          enable = true;
+          inherit repository passwordFile;
+        };
+        metricProvider = {
+          services.restic.server = {
+            enable = true;
+            extraFlags = [ "--no-auth" ];
+          };
+          environment.systemPackages = [ pkgs.restic ];
+        };
+        exporterTest = ''
+          # prometheus-restic-exporter.service fails without initialised repository
+          systemctl("stop prometheus-restic-exporter.service")
+
+          # Initialise the repository
+          wait_for_unit("restic-rest-server.service")
+          wait_for_open_port(8000)
+          succeed("restic init --repo ${repository} --password-file ${passwordFile}")
+
+          systemctl("start prometheus-restic-exporter.service")
+          wait_for_unit("prometheus-restic-exporter.service")
+          wait_for_open_port(9753)
+          wait_until_succeeds("curl -sSf localhost:9753/metrics | grep 'restic_check_success 1.0'")
+        '';
+      };
+
     rspamd = {
       exporterConfig = {
         enable = true;
@@ -1724,7 +1717,12 @@ mapAttrs
       testScript = ''
         ${nodeName}.start()
         ${concatStringsSep "\n" (map (line:
-          if (builtins.substring 0 1 line == " " || builtins.substring 0 1 line == ")")
+          if builtins.any (b: b) [
+            (builtins.match "^[[:space:]]*$" line != null)
+            (builtins.substring 0 1 line == "#")
+            (builtins.substring 0 1 line == " ")
+            (builtins.substring 0 1 line == ")")
+          ]
           then line
           else "${nodeName}.${line}"
         ) (splitString "\n" (removeSuffix "\n" testConfig.exporterTest)))}
diff --git a/nixos/tests/pyload.nix b/nixos/tests/pyload.nix
new file mode 100644
index 000000000000..f913e822b2ff
--- /dev/null
+++ b/nixos/tests/pyload.nix
@@ -0,0 +1,33 @@
+import ./make-test-python.nix ({ lib, ... }: {
+  name = "pyload";
+  meta.maintainers = with lib.maintainers; [ ambroisie ];
+
+  nodes = {
+    machine = { ... }: {
+      services.pyload = {
+        enable = true;
+
+        listenAddress = "0.0.0.0";
+        port = 9876;
+      };
+
+      networking.firewall.allowedTCPPorts = [ 9876 ];
+    };
+
+    client = { };
+  };
+
+  testScript = ''
+    start_all()
+
+    machine.wait_for_unit("pyload.service")
+
+    with subtest("Web interface accessible locally"):
+        machine.wait_until_succeeds("curl -fs localhost:9876")
+
+    client.wait_for_unit("network.target")
+
+    with subtest("Web interface accessible from a different machine"):
+        client.wait_until_succeeds("curl -fs machine:9876")
+  '';
+})
diff --git a/nixos/tests/sane.nix b/nixos/tests/sane.nix
new file mode 100644
index 000000000000..cba1b4d1dc4d
--- /dev/null
+++ b/nixos/tests/sane.nix
@@ -0,0 +1,85 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+/*
+  SANE NixOS test
+  ===============
+  SANE is intrisically tied to hardware, so testing it is not straightforward.
+  However:
+  - a fake webcam can be created with v4l2loopback
+  - sane has a backend (v4l) to use a webcam as a scanner
+  This test creates a webcam /dev/video0, streams a still image with some text
+  through this webcam, uses SANE to scan from the webcam, and uses OCR to check
+  that the expected text was scanned.
+*/
+let
+  text = "66263666188646651519653683416";
+  fontsConf = pkgs.makeFontsConf {
+    fontDirectories = [
+      pkgs.dejavu_fonts.minimal
+    ];
+  };
+  # an image with black on white text spelling "${text}"
+  # for some reason, the test fails if it's jpg instead of png
+  # the font is quite large to make OCR easier
+  image = pkgs.runCommand "image.png"
+    {
+      # only imagemagickBig can render text
+      nativeBuildInputs = [ pkgs.imagemagickBig ];
+      FONTCONFIG_FILE = fontsConf;
+    } ''
+    magick -pointsize 100 label:${text} $out
+  '';
+in
+{
+  name = "sane";
+  nodes.machine = { pkgs, config, ... }: {
+    boot = {
+      # create /dev/video0 as a fake webcam whose content is filled by ffmpeg
+      extraModprobeConfig = ''
+        options v4l2loopback devices=1 max_buffers=2 exclusive_caps=1 card_label=VirtualCam
+      '';
+      kernelModules = [ "v4l2loopback" ];
+      extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
+    };
+    systemd.services.fake-webcam = {
+      wantedBy = [ "multi-user.target" ];
+      description = "fill /dev/video0 with ${image}";
+      /* HACK: /dev/video0 is a v4l2 only device, it misses one single v4l1
+      ioctl, VIDIOCSPICT. But sane only supports v4l1, so it will log that this
+      ioctl failed, and assume that the pixel format is Y8 (gray). So we tell
+      ffmpeg to produce this pixel format.
+      */
+      serviceConfig.ExecStart = [ "${pkgs.ffmpeg}/bin/ffmpeg -framerate 30 -re -stream_loop -1 -i ${image} -f v4l2 -pix_fmt gray /dev/video0" ];
+    };
+    hardware.sane.enable = true;
+    system.extraDependencies = [ image ];
+    environment.systemPackages = [
+      pkgs.fswebcam
+      pkgs.tesseract
+      pkgs.v4l-utils
+    ];
+    environment.variables.SANE_DEBUG_V4L = "128";
+  };
+  testScript = ''
+    start_all()
+    machine.wait_for_unit("fake-webcam.service")
+
+    # the device only appears when ffmpeg starts producing frames
+    machine.wait_until_succeeds("scanimage -L | grep /dev/video0")
+
+    machine.succeed("scanimage -L >&2")
+
+    with subtest("debugging: /dev/video0 works"):
+      machine.succeed("v4l2-ctl --all >&2")
+      machine.succeed("fswebcam --no-banner /tmp/webcam.jpg")
+      machine.copy_from_vm("/tmp/webcam.jpg", "webcam")
+
+    # scan with the webcam
+    machine.succeed("scanimage -o /tmp/scan.png >&2")
+    machine.copy_from_vm("/tmp/scan.png", "scan")
+
+    # the image should contain "${text}"
+    output = machine.succeed("tesseract /tmp/scan.png -")
+    print(output)
+    assert "${text}" in output, f"expected text ${text} was not found, OCR found {output!r}"
+  '';
+})
diff --git a/nixos/tests/systemd-lock-handler.nix b/nixos/tests/systemd-lock-handler.nix
new file mode 100644
index 000000000000..d6fb8f545900
--- /dev/null
+++ b/nixos/tests/systemd-lock-handler.nix
@@ -0,0 +1,56 @@
+{ lib, ... }: {
+  name = "systemd-lock-handler";
+
+  meta.maintainers = with lib.maintainers; [ liff ];
+
+  enableOCR = true;
+
+  nodes.machine = { config, pkgs, lib, ... }:
+    let
+      touch = "${lib.getBin pkgs.coreutils}/bin/touch";
+    in
+    {
+      imports = [ common/wayland-cage.nix ];
+
+      services.systemd-lock-handler.enable = true;
+
+      systemd.user.services = {
+        test-lock = {
+          partOf = [ "lock.target" ];
+          onSuccess = [ "unlock.target" ];
+          before = [ "lock.target" ];
+          wantedBy = [ "lock.target" ];
+          serviceConfig.ExecStart = "${touch} /tmp/lock.target.activated";
+        };
+        test-unlock = {
+          partOf = [ "unlock.target" ];
+          after = [ "unlock.target" ];
+          wantedBy = [ "unlock.target" ];
+          serviceConfig.ExecStart = "${touch} /tmp/unlock.target.activated";
+        };
+        test-sleep = {
+          partOf = [ "sleep.target" ];
+          before = [ "sleep.target" ];
+          wantedBy = [ "sleep.target" ];
+          serviceConfig.ExecStart = "${touch} /tmp/sleep.target.activated";
+        };
+      };
+    };
+
+  testScript = ''
+    machine.wait_for_unit('graphical.target')
+    machine.wait_for_text('alice@machine')
+
+    machine.send_chars('loginctl lock-session\n')
+    machine.wait_for_file('/tmp/lock.target.activated')
+    machine.wait_for_file('/tmp/unlock.target.activated')
+
+    machine.send_chars('systemctl suspend\n')
+    # wait_for_file won’t complete before the machine is asleep,
+    # so we’ll watch the log instead.
+    machine.wait_for_console_text('Started test-sleep.service.')
+
+    # The VM is asleep, regular shutdown won’t work.
+    machine.crash()
+  '';
+}
diff --git a/nixos/tests/web-apps/pretalx.nix b/nixos/tests/web-apps/pretalx.nix
new file mode 100644
index 000000000000..a226639b076b
--- /dev/null
+++ b/nixos/tests/web-apps/pretalx.nix
@@ -0,0 +1,31 @@
+{ lib, ... }:
+
+{
+  name = "pretalx";
+  meta.maintainers = lib.teams.c3d2.members;
+
+  nodes = {
+    pretalx = {
+      networking.extraHosts = ''
+        127.0.0.1 talks.local
+      '';
+
+      services.pretalx = {
+        enable = true;
+        nginx.domain = "talks.local";
+        settings = {
+          site.url = "http://talks.local";
+        };
+      };
+    };
+  };
+
+  testScript = ''
+    start_all()
+
+    pretalx.wait_for_unit("pretalx-web.service")
+    pretalx.wait_for_unit("pretalx-worker.service")
+
+    pretalx.wait_until_succeeds("curl -q --fail http://talks.local/orga/")
+  '';
+}
diff --git a/nixos/tests/zfs.nix b/nixos/tests/zfs.nix
index 8fedcf095af6..0b411b0b9d8a 100644
--- a/nixos/tests/zfs.nix
+++ b/nixos/tests/zfs.nix
@@ -8,12 +8,9 @@ with import ../lib/testing-python.nix { inherit system pkgs; };
 let
 
   makeZfsTest = name:
-    { kernelPackage ? if enableUnstable
-                      then pkgs.zfsUnstable.latestCompatibleLinuxPackages
-                      else pkgs.linuxPackages
-    , enableUnstable ? false
+    { kernelPackages
     , enableSystemdStage1 ? false
-    , zfsPackage ? if enableUnstable then pkgs.zfs else pkgs.zfsUnstable
+    , zfsPackage
     , extraTest ? ""
     }:
     makeTest {
@@ -35,7 +32,7 @@ let
         boot.loader.timeout = 0;
         boot.loader.efi.canTouchEfiVariables = true;
         networking.hostId = "deadbeef";
-        boot.kernelPackages = kernelPackage;
+        boot.kernelPackages = kernelPackages;
         boot.zfs.package = zfsPackage;
         boot.supportedFilesystems = [ "zfs" ];
         boot.initrd.systemd.enable = enableSystemdStage1;
@@ -197,16 +194,22 @@ in {
   # maintainer: @raitobezarius
   series_2_1 = makeZfsTest "2.1-series" {
     zfsPackage = pkgs.zfs_2_1;
+    kernelPackages = pkgs.linuxPackages;
   };
 
-  stable = makeZfsTest "stable" { };
+  stable = makeZfsTest "stable" {
+    zfsPackage = pkgs.zfsStable;
+    kernelPackages = pkgs.linuxPackages;
+  };
 
-  unstable = makeZfsTest "unstable" {
-    enableUnstable = true;
+  unstable = makeZfsTest "unstable" rec {
+    zfsPackage = pkgs.zfsUnstable;
+    kernelPackages = zfsPackage.latestCompatibleLinuxPackages;
   };
 
-  unstableWithSystemdStage1 = makeZfsTest "unstable" {
-    enableUnstable = true;
+  unstableWithSystemdStage1 = makeZfsTest "unstable" rec {
+    zfsPackage = pkgs.zfsUnstable;
+    kernelPackages = zfsPackage.latestCompatibleLinuxPackages;
     enableSystemdStage1 = true;
   };
 
diff --git a/pkgs/README.md b/pkgs/README.md
index f614f1f72976..963e58a16fe9 100644
--- a/pkgs/README.md
+++ b/pkgs/README.md
@@ -348,7 +348,7 @@ There are a few naming guidelines:
 
 - The `pname` and the `version` attribute _must not_ contain uppercase letters — e.g., `"mplayer" instead of `"MPlayer"`.
 
-- The `version` attribute _must_ start with a digit e.g`"0.3.1rc2".
+- The `version` attribute _must_ start with a digit e.g., `"0.3.1rc2"`.
 
 - If a package is a commit from a repository without a version assigned, then the `version` attribute _should_ be the latest upstream version preceding that commit, followed by `-unstable-` and the date of the (fetched) commit. The date _must_ be in `"YYYY-MM-DD"` format.
 
diff --git a/pkgs/applications/audio/bristol/default.nix b/pkgs/applications/audio/bristol/default.nix
index 39227fd06522..fc50691155ec 100644
--- a/pkgs/applications/audio/bristol/default.nix
+++ b/pkgs/applications/audio/bristol/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl, alsa-lib, libjack2, pkg-config, libpulseaudio, xorg }:
+{ lib, stdenv, fetchurl, alsa-lib, libjack2, pkg-config, libpulseaudio, xorg, copyDesktopItems, makeDesktopItem }:
 
-stdenv.mkDerivation  rec {
+stdenv.mkDerivation rec {
   pname = "bristol";
   version = "0.60.11";
 
@@ -9,9 +9,13 @@ stdenv.mkDerivation  rec {
     sha256 = "1fi2m4gmvxdi260821y09lxsimq82yv4k5bbgk3kyc3x1nyhn7vx";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config copyDesktopItems ];
   buildInputs = [
-    alsa-lib libjack2 libpulseaudio xorg.libX11 xorg.libXext
+    alsa-lib
+    libjack2
+    libpulseaudio
+    xorg.libX11
+    xorg.libXext
     xorg.xorgproto
   ];
 
@@ -30,11 +34,27 @@ stdenv.mkDerivation  rec {
     sed -e "s@\`which brighton\`@$out/bin/brighton@g" -i bin/startBristol
   '';
 
+  postInstall = ''
+    mkdir -p $out/share/icons/hicolor/scalable/apps/
+    ln -s $out/share/bristol/bitmaps/bicon.svg $out/share/icons/hicolor/scalable/apps/
+  '';
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "Bristol";
+      exec = "bristol";
+      icon = "bicon";
+      desktopName = "Bristol";
+      comment = "Graphical user interface for the Bristol synthesizer emulator";
+      categories = [ "AudioVideo" ];
+    })
+  ];
+
   meta = with lib; {
     description = "A range of synthesiser, electric piano and organ emulations";
     homepage = "https://bristol.sourceforge.net";
     license = licenses.gpl3;
-    platforms = ["x86_64-linux" "i686-linux"];
+    platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ maintainers.goibhniu ];
   };
 }
diff --git a/pkgs/applications/audio/ensemble-chorus/default.nix b/pkgs/applications/audio/ensemble-chorus/default.nix
index b3255126205a..7fcf412dd593 100644
--- a/pkgs/applications/audio/ensemble-chorus/default.nix
+++ b/pkgs/applications/audio/ensemble-chorus/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "ensemble-chorus";
-  version = "unstable-15-02-2019";
+  version = "0-unstable-2019-02-15";
 
   src = fetchFromGitHub {
     owner = "jpcima";
diff --git a/pkgs/applications/audio/faustPhysicalModeling/default.nix b/pkgs/applications/audio/faustPhysicalModeling/default.nix
index d5e15a190235..75b3ae06556f 100644
--- a/pkgs/applications/audio/faustPhysicalModeling/default.nix
+++ b/pkgs/applications/audio/faustPhysicalModeling/default.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }:
 stdenv.mkDerivation rec {
   pname = "faustPhysicalModeling";
-  version = "2.69.3";
+  version = "2.70.3";
 
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faust";
     rev = version;
-    sha256 = "sha256-E7cHDeQV7NVKyoCgI8P3gennpBidk7JmdnFGSIulvvQ=";
+    sha256 = "sha256-QkksliLu2TnJ1GoM91e+Qf3SlRv3T06WNU++S3qq3e0=";
   };
 
   buildInputs = [ faust2jaqt faust2lv2 ];
diff --git a/pkgs/applications/audio/grandorgue/default.nix b/pkgs/applications/audio/grandorgue/default.nix
index 9856b81c92b8..6ca3f39a9dc0 100644
--- a/pkgs/applications/audio/grandorgue/default.nix
+++ b/pkgs/applications/audio/grandorgue/default.nix
@@ -1,18 +1,34 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, fftwFloat, alsa-lib
-, zlib, wavpack, wxGTK32, udev, jackaudioSupport ? false, libjack2
-, imagemagick, libicns, makeWrapper, Cocoa
-, includeDemo ? true }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, fftwFloat
+, alsa-lib
+, zlib
+, wavpack
+, wxGTK32
+, udev
+, jackaudioSupport ? false
+, libjack2
+, imagemagick
+, libicns
+, yaml-cpp
+, makeWrapper
+, Cocoa
+, includeDemo ? true
+}:
 
 stdenv.mkDerivation rec {
   pname = "grandorgue";
-  version = "3.11.0";
+  version = "3.14.0";
 
   src = fetchFromGitHub {
     owner = "GrandOrgue";
     repo = pname;
     rev = version;
     fetchSubmodules = true;
-    sha256 = "sha256-l1KqER/vkNwgKLXIFUzHnYLw2ivGNP7hRiKhIOzn7pw=";
+    hash = "sha256-kPz11V2yNmBe80egNLYxh/m2B1nDca3C5sGbEnrkqnw=";
   };
 
   postPatch = ''
@@ -24,7 +40,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config imagemagick libicns makeWrapper ];
 
-  buildInputs = [ fftwFloat zlib wavpack wxGTK32 ]
+  buildInputs = [ fftwFloat zlib wavpack wxGTK32 yaml-cpp ]
     ++ lib.optionals stdenv.isLinux [ alsa-lib udev ]
     ++ lib.optionals stdenv.isDarwin [ Cocoa ]
     ++ lib.optional jackaudioSupport libjack2;
@@ -53,5 +69,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.puzzlewolf ];
+    mainProgram = "GrandOrgue";
   };
 }
diff --git a/pkgs/applications/audio/ledfx/default.nix b/pkgs/applications/audio/ledfx/default.nix
index 96b9f59eaccd..fb1557b0d2f8 100644
--- a/pkgs/applications/audio/ledfx/default.nix
+++ b/pkgs/applications/audio/ledfx/default.nix
@@ -5,12 +5,12 @@
 
 python3.pkgs.buildPythonPackage rec {
   pname = "ledfx";
-  version = "2.0.89";
+  version = "2.0.90";
   pyproject= true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PBOj6u0TukT6wRKMQML4+XNQQZvsGyRzXBk9YsISst4=";
+    hash = "sha256-ZlZtC0bi9ZUf/1D9hUxxhdix6F8l7Lg5IUOOg+JHGYU=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/applications/audio/monkeys-audio/default.nix b/pkgs/applications/audio/monkeys-audio/default.nix
index bee339aba1f7..f1e351294fa6 100644
--- a/pkgs/applications/audio/monkeys-audio/default.nix
+++ b/pkgs/applications/audio/monkeys-audio/default.nix
@@ -5,13 +5,13 @@
 }:
 
 stdenv.mkDerivation (finalAttrs: {
-  version = "10.43";
+  version = "10.44";
   pname = "monkeys-audio";
 
   src = fetchzip {
     url = "https://monkeysaudio.com/files/MAC_${
       builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
-    sha256 = "sha256-Y1X0KWf87L8Qjx/G6/RV37iiN7enwXTAaqQ+45FfTT4=";
+    sha256 = "sha256-1JuzlCp9CI979ZT3a3zYfJIowrtQ42p1f9PPG6clQ4s=";
     stripRoot = false;
   };
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/mympd/default.nix b/pkgs/applications/audio/mympd/default.nix
index 3b2765367d66..3dc49ad3bd92 100644
--- a/pkgs/applications/audio/mympd/default.nix
+++ b/pkgs/applications/audio/mympd/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "mympd";
-  version = "13.0.6";
+  version = "14.0.0";
 
   src = fetchFromGitHub {
     owner = "jcorporation";
     repo = "myMPD";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-7yqpm2qMDHWVM5m5FueYlkEFY+VIW8Cx+aRa1iY2vZ4=";
+    sha256 = "sha256-srwLnoQSPex7/PtgF6RWpJM39fpOqN3wze5ABSRTIRA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/netease-music-tui/default.nix b/pkgs/applications/audio/netease-music-tui/default.nix
index 4449a8907a20..a76ae5a0d71a 100644
--- a/pkgs/applications/audio/netease-music-tui/default.nix
+++ b/pkgs/applications/audio/netease-music-tui/default.nix
@@ -29,5 +29,6 @@ rustPlatform.buildRustPackage rec {
     description = "netease cloud music terminal client by rust";
     maintainers = with maintainers; [ vonfry ];
     license = licenses.mit;
+    mainProgram = "ncmt";
   };
 }
diff --git a/pkgs/applications/audio/polyphone/default.nix b/pkgs/applications/audio/polyphone/default.nix
index f7008bf66bba..0e73861aa0f4 100644
--- a/pkgs/applications/audio/polyphone/default.nix
+++ b/pkgs/applications/audio/polyphone/default.nix
@@ -29,8 +29,13 @@ mkDerivation rec {
   '';
 
   installPhase = ''
+    runHook preInstall
     install -d $out/bin
     install -m755 bin/polyphone $out/bin/
+
+    install -Dm444 ./contrib/com.polyphone_soundfonts.polyphone.desktop -t $out/share/applications/
+    install -Dm444 ./contrib/polyphone.svg -t $out/share/icons/hicolor/scalable/apps/
+    runHook postInstall
   '';
 
   qmakeFlags = [
diff --git a/pkgs/applications/audio/psst/default.nix b/pkgs/applications/audio/psst/default.nix
index 0a4c7c6c1362..58d39e874720 100644
--- a/pkgs/applications/audio/psst/default.nix
+++ b/pkgs/applications/audio/psst/default.nix
@@ -16,13 +16,13 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "psst";
-  version = "unstable-2024-01-12";
+  version = "unstable-2024-01-28";
 
   src = fetchFromGitHub {
     owner = "jpochyla";
     repo = pname;
-    rev = "c70ace50e8c50c38dc6c4ea1156de2b50e6e76b5";
-    hash = "sha256-WCtD06fZHdn0kT5SDE7aTUZvQlX9OBSAqHu+qopBzTM=";
+    rev = "38422b1795c98d8d0e3bc8dc479d12f8d5bd7154";
+    hash = "sha256-VTbjlSfkbon38IPBCazwrZtWR8dH9mE0sSVIlmxcUks=";
   };
 
   cargoLock = {
diff --git a/pkgs/applications/audio/psst/make-build-reproducible.patch b/pkgs/applications/audio/psst/make-build-reproducible.patch
index 459638c2c5f7..e70b7e726ea5 100644
--- a/pkgs/applications/audio/psst/make-build-reproducible.patch
+++ b/pkgs/applications/audio/psst/make-build-reproducible.patch
@@ -51,7 +51,7 @@ index fcbd491..2d71ee3 100644
 -pub const GIT_VERSION: &str = git_version!();
 -pub const BUILD_TIME: &str = include!(concat!(env!("OUT_DIR"), "/build-time.txt"));
 -pub const REMOTE_URL: &str = include!(concat!(env!("OUT_DIR"), "/remote-url.txt"));
-+pub const GIT_VERSION: &str = "c70ace50e8c50c38dc6c4ea1156de2b50e6e76b5";
++pub const GIT_VERSION: &str = "38422b1795c98d8d0e3bc8dc479d12f8d5bd7154";
 +pub const BUILD_TIME: &str = "1970-01-01 00:00:00";
 +pub const REMOTE_URL: &str = "https://github.com/jpochyla/psst";
  
diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix
index 9d943ca9c415..aef236d4cd8b 100644
--- a/pkgs/applications/audio/reaper/default.nix
+++ b/pkgs/applications/audio/reaper/default.nix
@@ -28,13 +28,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "7.08";
+  version = "7.09";
 
   src = fetchurl {
     url = url_for_platform version stdenv.hostPlatform.qemuArch;
-    hash = if stdenv.isDarwin then "sha256-PgYAwSSRwew+QLx6/Gs+J1v3iZ4U22bn6V8XWZk8Pz0=" else {
-      x86_64-linux = "sha256-lya/B9k9uWrvRbMnWRT0YDV9o+DpmjPGynBVPFij3rs=";
-      aarch64-linux = "sha256-0ePUvVrArUdg0t+CQK37yXA4UlHlMj2Mafe0dTyz5JU=";
+    hash = if stdenv.isDarwin then "sha256-MztA9Azj20tyg/nFtXmvojeABNX11HCkmIcgMhNYyMQ=" else {
+      x86_64-linux = "sha256-Mo7k8XbKLUkBvo2A73qeqHgDtXD/fBVtSVv74k/WGRo=";
+      aarch64-linux = "sha256-ttNHMC8Ouin2fNnIb5X5pnKwGrAML192oZdg/Q8SFlg=";
     }.${stdenv.hostPlatform.system};
   };
 
diff --git a/pkgs/applications/audio/roomeqwizard/default.nix b/pkgs/applications/audio/roomeqwizard/default.nix
index 26a8d00071fe..7292f9694b00 100644
--- a/pkgs/applications/audio/roomeqwizard/default.nix
+++ b/pkgs/applications/audio/roomeqwizard/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "roomeqwizard";
-  version = "5.30.4";
+  version = "5.30.5";
 
   src = fetchurl {
     url = "https://www.roomeqwizard.com/installers/REW_linux_no_jre_${lib.replaceStrings [ "." ] [ "_" ] version}.sh";
-    sha256 = "sha256-585xfNzhWFdtNS4E5BE84zjkWDr/p1Nu9CJ3nTJc7dw=";
+    sha256 = "sha256-lxOI6vvPFtC/oYs2cKV0IhRbvaFzK8wBmSXPUwhAsi0=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix
index 74e488e436df..6635cb4784f9 100644
--- a/pkgs/applications/audio/sonic-pi/default.nix
+++ b/pkgs/applications/audio/sonic-pi/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sonic-pi";
-  version = "4.4.0";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "sonic-pi-net";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-rXMCaI9zvWIXmT7ZqIArsvZmEkEEbs+5jYDYsSGeCXc=";
+    hash = "sha256-s9B3OBwiUdCJyxbeQXeidv38pzmvC442Byl+llabqp0=";
   };
 
   mixFodDeps = beamPackages.fetchMixDeps {
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
     pname = "mix-deps-${pname}";
     mixEnv = "test";
     src = "${src}/app/server/beam/tau";
-    hash = "sha256-YbYe+hljnoWFgV72OQ2YaUcnhucEtVb+TCLcMYzqUWU=";
+    hash = "sha256-7wqFI3f0CRVrXK2IUguqHNANwKMmTak/Xh9nr624TXc=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/audio/tauon/default.nix b/pkgs/applications/audio/tauon/default.nix
index 47c2297274c8..979907202835 100644
--- a/pkgs/applications/audio/tauon/default.nix
+++ b/pkgs/applications/audio/tauon/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tauon";
-  version = "7.7.0";
+  version = "7.7.1";
 
   src = fetchFromGitHub {
     owner = "Taiko2k";
     repo = "TauonMusicBox";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-FNRG0NKHQpPHb3P1M0eshFuGu9lyWFgmufFC5aqr7n0=";
+    hash = "sha256-rRYM8wdvwfetoIpS/lzAV/uV5XVpXyXsHSrClPWcsCo=";
   };
 
   postUnpack = ''
diff --git a/pkgs/applications/backup/unifi-protect-backup/default.nix b/pkgs/applications/backup/unifi-protect-backup/default.nix
index 4bf36e164896..ee8ca7e486d7 100644
--- a/pkgs/applications/backup/unifi-protect-backup/default.nix
+++ b/pkgs/applications/backup/unifi-protect-backup/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "unifi-protect-backup";
-  version = "0.10.3";
+  version = "0.10.4";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "ep1cman";
     repo = "unifi-protect-backup";
     rev = "refs/tags/v${version}";
-    hash = "sha256-jICnm9EfPyOLVbZfF+TYcQJo0ZXUDpFgYpL5Zf9b8Bc=";
+    hash = "sha256-KT2saPpkAS/6X491i0Y8+jr8JPD51iQx+YGT5zRTtcU=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/applications/blockchains/ergo/default.nix b/pkgs/applications/blockchains/ergo/default.nix
index 04a4f8c6f73b..1cb3cceb7d57 100644
--- a/pkgs/applications/blockchains/ergo/default.nix
+++ b/pkgs/applications/blockchains/ergo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ergo";
-  version = "5.0.18";
+  version = "5.0.19";
 
   src = fetchurl {
     url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
-    sha256 = "sha256-WwchK7qyy+J7TiWj4exBMLGkLmbPFDA7yNQVZ779nmk=";
+    sha256 = "sha256-ogr2tdXVQcUOE26PGsYeAGi8+5zbM5m/BVuHxemVNGM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 15db790b6a1f..5a0ec24a3808 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -18,8 +18,8 @@ let
     sha256Hash = "sha256-cFEPgFAKkFx0d7PC4fTElTQVrBZMQs0RL3wR+hqTh2I=";
   };
   latestVersion = {
-    version = "2023.3.1.5"; # "Android Studio Jellyfish | 2023.3.1 Canary 5"
-    sha256Hash = "sha256-cxlACtSpDBoM5KHAWCEvqPbuKnvH7aDzOo3P+Folgqk=";
+    version = "2023.3.1.7"; # "Android Studio Jellyfish | 2023.3.1 Canary 7"
+    sha256Hash = "sha256-PnhqSKgxs0XQ5cm/PB11Oms2p1aAibXKe52QC+8lX8c=";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/aseprite/skia.nix b/pkgs/applications/editors/aseprite/skia.nix
index 71fa62157d8a..03487aa8941e 100644
--- a/pkgs/applications/editors/aseprite/skia.nix
+++ b/pkgs/applications/editors/aseprite/skia.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, fetchgit, python3, gn, ninja
-, fontconfig, expat, icu58, libglvnd, libjpeg, libpng, libwebp, zlib
+, fontconfig, expat, icu, libglvnd, libjpeg, libpng, libwebp, zlib
 , mesa, libX11, harfbuzzFull
 }:
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ python3 gn ninja ];
 
   buildInputs = [
-    fontconfig expat icu58 libglvnd libjpeg libpng libwebp zlib
+    fontconfig expat icu libglvnd libjpeg libpng libwebp zlib
     mesa libX11 harfbuzzFull
   ];
 
diff --git a/pkgs/applications/editors/neovim/neovide/default.nix b/pkgs/applications/editors/neovim/neovide/default.nix
index 9f6e2a3f0739..db789c4babd3 100644
--- a/pkgs/applications/editors/neovim/neovide/default.nix
+++ b/pkgs/applications/editors/neovim/neovide/default.nix
@@ -26,16 +26,16 @@
 
 rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
   pname = "neovide";
-  version = "0.12.1";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "neovide";
     repo = "neovide";
     rev = version;
-    sha256 = "sha256-lmhTTBlhyEepUNHrm2hq42G1kA7siAsJUcYjBfajaHA=";
+    sha256 = "sha256-M19LKNjUmC0WkVGm4t7vjxgMMe0FdMTmB1mLcG33OUg=";
   };
 
-  cargoSha256 = "sha256-1R1JrNhcgC16anr5Gl1b9rHgfRLPJElef5D65joHxj0=";
+  cargoHash = "sha256-2fPprZVT7V+Ot8aCpWj6WTdyFylmzlujFdTJCrtE0rk=";
 
   SKIA_SOURCE_DIR =
     let
diff --git a/pkgs/applications/editors/typora/default.nix b/pkgs/applications/editors/typora/default.nix
index 5da53b328fd5..08e3d7c78fed 100644
--- a/pkgs/applications/editors/typora/default.nix
+++ b/pkgs/applications/editors/typora/default.nix
@@ -22,10 +22,10 @@
 
 let
   pname = "typora";
-  version = "1.8.6";
+  version = "1.8.9";
   src = fetchurl {
     url = "https://download.typora.io/linux/typora_${version}_amd64.deb";
-    hash = "sha256-5hA9wEP3Hf3RxYC6KKe6JCiMEYKIHk9YhcA9tnSvirc=";
+    hash = "sha256-1FAVY9NSvpZOCZJmNadx5ZlqfaCc2N3D+T/08F4TOzY=";
   };
 
   typoraBase = stdenv.mkDerivation {
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 6a163d5bc3e5..11db90fa4050 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -952,8 +952,8 @@ let
         mktplcRef = {
           name = "vscode-markdownlint";
           publisher = "DavidAnson";
-          version = "0.53.0";
-          sha256 = "sha256-ApCX636M51zN9obFqrUHmaJB3YoFmJPQfjKEWf9bosk=";
+          version = "0.54.0";
+          sha256 = "sha256-BrPFFRspJIz1U08hPbLziCmRUeZv2NhRrTCx6qvhOJw=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/DavidAnson.vscode-markdownlint/changelog";
@@ -985,8 +985,8 @@ let
         mktplcRef = {
           name = "vscode-eslint";
           publisher = "dbaeumer";
-          version = "2.4.2";
-          sha256 = "sha256-eIjaiVQ7PNJUtOiZlM+lw6VmW07FbMWPtY7UoedWtbw=";
+          version = "2.4.4";
+          sha256 = "sha256-NJGsMme/+4bvED/93SGojYTH03EZbtKe5LyvocywILA=";
         };
         meta = {
           changelog = "https://marketplace.visualstudio.com/items/dbaeumer.vscode-eslint/changelog";
@@ -3235,11 +3235,12 @@ let
         mktplcRef = {
           name = "crates";
           publisher = "serayuzgur";
-          version = "0.6.5";
-          sha256 = "sha256-HgqM4PKGk3R5MLY4cVjKxv79p5KlOkVDeDbv7/6FmpM=";
+          version = "0.6.6";
+          sha256 = "sha256-HXoH1IgMLniq0kxHs2snym4rerScu9qCqUaqwEC+O/E=";
         };
         meta = {
           license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.wackbyte ];
         };
       };
 
diff --git a/pkgs/applications/emulators/craftos-pc/default.nix b/pkgs/applications/emulators/craftos-pc/default.nix
index 9c1c31c689ca..12c86c3680f8 100644
--- a/pkgs/applications/emulators/craftos-pc/default.nix
+++ b/pkgs/applications/emulators/craftos-pc/default.nix
@@ -16,18 +16,18 @@
 }:
 
 let
-  version = "2.8";
+  version = "2.8.1";
   craftos2-lua = fetchFromGitHub {
     owner = "MCJack123";
     repo = "craftos2-lua";
     rev = "v${version}";
-    hash = "sha256-xuNcWt3Wnh3WlYe6pB4dvP3PY9S5ghL9QQombGn8iyY=";
+    hash = "sha256-8bl83AOIWtUQ06F2unYEF08VT13o9EGo9YDZpdNxd8w=";
   };
   craftos2-rom = fetchFromGitHub {
     owner = "McJack123";
     repo = "craftos2-rom";
     rev = "v${version}";
-    hash = "sha256-WZs/KIdpqLLzvpH2hiJpe/AehluoQMtewBbAb4htz8k=";
+    hash = "sha256-aCRJ3idSrRM8ydt8hP8nA1RR0etPnWpQKphXcOGgTfk=";
   };
 in
 
@@ -39,18 +39,9 @@ stdenv.mkDerivation rec {
     owner = "MCJack123";
     repo = "craftos2";
     rev = "v${version}";
-    hash = "sha256-nT/oN2XRU1Du1/IHlkRCzLqFwQ5s9Sr4FQs3ES+aPFs=";
+    hash = "sha256-iQCv4EDdqmnU0fYxMwpCZ2Z5p43P0MGBNIG/dZrWndg=";
   };
 
-  patches = [
-    ( # Fixes CCEmuX. This is a one-character change that did not make it into the release.
-      fetchpatch {
-        url = "https://github.com/MCJack123/craftos2/commit/9ef7e16b69ead69b5fe076724842a1e24b3de058.patch";
-        hash = "sha256-SjNnsooDFt3JoVOO0xf6scrGXEQQmrQf91GY7VWaTOw=";
-      }
-    )
-  ];
-
   buildInputs = [ patchelf poco openssl SDL2 SDL2_mixer ncurses libpng pngpp libwebp ];
 
   preBuild = ''
diff --git a/pkgs/applications/emulators/fceux/default.nix b/pkgs/applications/emulators/fceux/default.nix
index 0225f76a2aaf..8c5c554d6dc0 100644
--- a/pkgs/applications/emulators/fceux/default.nix
+++ b/pkgs/applications/emulators/fceux/default.nix
@@ -1,24 +1,24 @@
 { lib
-, stdenv
-, fetchFromGitHub
 , SDL2
 , cmake
+, fetchFromGitHub
 , lua
 , minizip
 , pkg-config
+, stdenv
 , wrapQtAppsHook
 , x264
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fceux";
-  version = "2.6.4";
+  version = "2.6.6-unstable-2024-01-19";
 
   src = fetchFromGitHub {
     owner = "TASEmulators";
     repo = "fceux";
-    rev = "fceux-${finalAttrs.version}";
-    hash = "sha256-Q6r/iBlmi0z40+U6OLZCahS0io4IBBGZMP1mJH7szRM=";
+    rev = "2fce5ffe745bb89be471e450d9cd6284cd5614d9";
+    hash = "sha256-5uUTw7ZkmBrGuntSQFNAp1Xz69ANmmIxNGd0/enPoW8=";
   };
 
   nativeBuildInputs = [
@@ -34,11 +34,12 @@ stdenv.mkDerivation (finalAttrs: {
     x264
   ];
 
-  meta = with lib; {
+  meta = {
     homepage = "http://www.fceux.com/";
     description = "A Nintendo Entertainment System (NES) Emulator";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ sbruder scubed2 ];
-    platforms = platforms.linux;
+    changelog = "https://github.com/TASEmulators/blob/fceux/${finalAttrs.src.rev}/changelog.txt";
+    license = with lib.licenses; [ gpl2Plus ];
+    maintainers = with lib.maintainers; [ AndersonTorres sbruder ];
+    platforms = lib.platforms.linux;
   };
 })
diff --git a/pkgs/applications/emulators/mame/default.nix b/pkgs/applications/emulators/mame/default.nix
index 6a17905ccb29..c12135370d6c 100644
--- a/pkgs/applications/emulators/mame/default.nix
+++ b/pkgs/applications/emulators/mame/default.nix
@@ -38,14 +38,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mame";
-  version = "0.261";
+  version = "0.262";
   srcVersion = builtins.replaceStrings [ "." ] [ "" ] version;
 
   src = fetchFromGitHub {
     owner = "mamedev";
     repo = "mame";
     rev = "mame${srcVersion}";
-    hash = "sha256-Tbsu4dYOBGwsPW94W0xN2+t4vqb1cWI7J1C2l6WU3qI=";
+    hash = "sha256-avVHtnmKPUq+mMtxyaqSaGyrdsi5LXF1YS8JAb2QvBo=";
   };
 
   outputs = [ "out" "tools" ];
diff --git a/pkgs/applications/emulators/pcsx2/default.nix b/pkgs/applications/emulators/pcsx2/default.nix
index 6f7d0a6a7d6a..ce14caab746d 100644
--- a/pkgs/applications/emulators/pcsx2/default.nix
+++ b/pkgs/applications/emulators/pcsx2/default.nix
@@ -36,20 +36,20 @@ let
   pcsx2_patches = fetchFromGitHub {
     owner = "PCSX2";
     repo = "pcsx2_patches";
-    rev = "619e75bb8db50325b44863f2ccf3c39470c3d5a3";
-    sha256 = "sha256-2KE0W3WwBJCLe8DosyDVsFtEofKgBsChpQEQe+3O+Hg=";
+    rev = "189f79d73f8cd9fd85c7394a14ee4419ddfa267b";
+    sha256 = "sha256-gxwAxR7N7QU4sTGHTdd656dmsW8MrcfroYPvv2UoeRc=";
   };
 in
 llvmPackages_17.stdenv.mkDerivation rec {
   pname = "pcsx2";
-  version = "1.7.5474";
+  version = "1.7.5497";
 
   src = fetchFromGitHub {
     owner = "PCSX2";
     repo = "pcsx2";
     fetchSubmodules = true;
     rev = "v${version}";
-    sha256 = "sha256-5ZCXw6PEQ6Ed6kEP27m9O0U79uVGEFR/vwee6/dZBD8=";
+    sha256 = "sha256-gbJkeelSyEHwD4DH/hbzPNNv47hmdgc4kyvX38txYhc=";
   };
 
   patches = [
diff --git a/pkgs/applications/emulators/yuzu/compat-list.nix b/pkgs/applications/emulators/yuzu/compat-list.nix
index d549a17a9064..8b285d825558 100644
--- a/pkgs/applications/emulators/yuzu/compat-list.nix
+++ b/pkgs/applications/emulators/yuzu/compat-list.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, unstableGitUpdater }:
 stdenv.mkDerivation {
   pname = "yuzu-compatibility-list";
-  version = "unstable-2024-01-21";
+  version = "unstable-2024-01-30";
 
   src = fetchFromGitHub {
     owner = "flathub";
     repo = "org.yuzu_emu.yuzu";
-    rev = "a3dd360e8b6e8c0c93d40f00416534c8b4bcd59a";
-    hash = "sha256-nXh5cJTS1zCa6GoH+AoisTIohsRruycqosxpmFAsaSw=";
+    rev = "82194fa23ec35545ade47cc3dc2035b2b07badcb";
+    hash = "sha256-LsQZml8I43fZDFACtVZpc76/62Pv11Z6bm8w/9hTHdI=";
   };
 
   buildCommand = ''
diff --git a/pkgs/applications/emulators/yuzu/default.nix b/pkgs/applications/emulators/yuzu/default.nix
index 116f12b2a963..6852da378650 100644
--- a/pkgs/applications/emulators/yuzu/default.nix
+++ b/pkgs/applications/emulators/yuzu/default.nix
@@ -1,4 +1,4 @@
-{ qt6Packages, makeScopeWithSplicing', generateSplicesForMkScope, vulkan-headers, fetchFromGitHub }:
+{ qt6Packages, makeScopeWithSplicing', generateSplicesForMkScope }:
 
 makeScopeWithSplicing' {
   otherSplices = generateSplicesForMkScope "yuzuPackages";
@@ -8,15 +8,5 @@ makeScopeWithSplicing' {
 
     mainline = self.callPackage ./mainline.nix {};
     early-access = self.callPackage ./early-access {};
-
-    vulkan-headers = vulkan-headers.overrideAttrs(old: rec {
-      version = "1.3.274";
-      src = fetchFromGitHub {
-        owner = "KhronosGroup";
-        repo = "Vulkan-Headers";
-        rev = "v${version}";
-        hash = "sha256-SsS5VlEnhjOSu8MlIVC0d2r2EAf8QsNJPEAXNtbDOJ4=";
-      };
-    });
   };
 }
diff --git a/pkgs/applications/emulators/yuzu/early-access/default.nix b/pkgs/applications/emulators/yuzu/early-access/default.nix
index 842f7c107975..f2ad5197d0bb 100644
--- a/pkgs/applications/emulators/yuzu/early-access/default.nix
+++ b/pkgs/applications/emulators/yuzu/early-access/default.nix
@@ -23,6 +23,7 @@ let
   '';
 
   rehydratedSrc = fetchgit {
+    name = "yuzu-ea-rehydrated";
     url = gitSrc;
     fetchSubmodules = true;
     hash = sources.fullHash;
diff --git a/pkgs/applications/emulators/yuzu/early-access/sources.nix b/pkgs/applications/emulators/yuzu/early-access/sources.nix
index 94f20f5e948c..ee7cc6edb500 100644
--- a/pkgs/applications/emulators/yuzu/early-access/sources.nix
+++ b/pkgs/applications/emulators/yuzu/early-access/sources.nix
@@ -1,7 +1,7 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2024-01-22
+# Last updated: 2024-01-28
 {
-  version = "4079";
-  distHash = "sha256:12cwzgdnpla9m24cla1596p773zpdgmi0zlyvdypmdx0qzwgwkpp";
-  fullHash = "sha256:1zp2nz9blsim2xmwb3pah38nrdysa3yrlqgb051n8b8qp6fp5979";
+  version = "4093";
+  distHash = "sha256:0f6ffs0qvq516vcc6w132p9lg888cy6id9cgkdmzc6039aymdgki";
+  fullHash = "sha256:1scn06anfjvy4ysxmv8qq7p5dzkfqyxbm6h6lpywy3nkpyx1cz15";
 }
diff --git a/pkgs/applications/emulators/yuzu/early-access/update.sh b/pkgs/applications/emulators/yuzu/early-access/update.sh
index 0e98185bbf9a..f7ea2ca34a41 100755
--- a/pkgs/applications/emulators/yuzu/early-access/update.sh
+++ b/pkgs/applications/emulators/yuzu/early-access/update.sh
@@ -31,7 +31,7 @@ log "Unpacking dist..."
 tar xf "$eaDist"/*.tar.xz --directory="$eaDistUnpacked" --strip-components=1
 
 log "Rehydrating..."
-eaFullHash="$(nix-prefetch-git --fetch-submodules "$eaDistUnpacked" | jq -r '.sha256')"
+eaFullHash="$(nix-prefetch-git --fetch-submodules --quiet "$eaDistUnpacked" | jq -r '.sha256')"
 
 cat >sources.nix <<EOF
 # Generated by ./update.sh - do not update manually!
@@ -42,7 +42,3 @@ cat >sources.nix <<EOF
   fullHash = "sha256:$eaFullHash";
 }
 EOF
-
-if [ "${COMMIT:-0}" == "1" ]; then
-    git commit -m "yuzu-ea: ${oldVersion} -> ${newVersion}" ./sources.nix
-fi
diff --git a/pkgs/applications/emulators/yuzu/mainline.nix b/pkgs/applications/emulators/yuzu/mainline.nix
index 3daed1c7c8c0..62df80750bd6 100644
--- a/pkgs/applications/emulators/yuzu/mainline.nix
+++ b/pkgs/applications/emulators/yuzu/mainline.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , wrapQtAppsHook
 , alsa-lib
@@ -47,13 +48,13 @@
 }:
 stdenv.mkDerivation(finalAttrs: {
   pname = "yuzu";
-  version = "1689";
+  version = "1696";
 
   src = fetchFromGitHub {
     owner = "yuzu-emu";
     repo = "yuzu-mainline";
     rev = "mainline-0-${finalAttrs.version}";
-    hash = "sha256-5ITGFWS0OJLXyNoAleZrJob2jz1He1LEOvQzjIlMmPQ=";
+    hash = "sha256-9xIhOA8hA7rsjtO0sgg1ucqghSzaOtkuTAHyQvmT+y4=";
     fetchSubmodules = true;
   };
 
@@ -154,7 +155,7 @@ stdenv.mkDerivation(finalAttrs: {
 
     # provide pre-downloaded tz data
     mkdir -p build/externals/nx_tzdb
-    ln -sf ${nx_tzdb} build/externals/nx_tzdb/${nx_tzdb.version}.zip
+    ln -s ${nx_tzdb} build/externals/nx_tzdb/nx_tzdb
   '';
 
   # This must be done after cmake finishes as it overwrites the file
diff --git a/pkgs/applications/emulators/yuzu/nx_tzdb.nix b/pkgs/applications/emulators/yuzu/nx_tzdb.nix
index faca41e24737..de847e2b0c78 100644
--- a/pkgs/applications/emulators/yuzu/nx_tzdb.nix
+++ b/pkgs/applications/emulators/yuzu/nx_tzdb.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gitUpdater }:
+{ stdenv, fetchurl, unzip, gitUpdater }:
 stdenv.mkDerivation rec {
   pname = "nx_tzdb";
   version = "221202";
@@ -8,10 +8,10 @@ stdenv.mkDerivation rec {
     hash = "sha256-mRzW+iIwrU1zsxHmf+0RArU8BShAoEMvCz+McXFFK3c=";
   };
 
-  dontUnpack = true;
+  nativeBuildInputs = [ unzip ];
 
   buildCommand = ''
-    cp $src $out
+    unzip $src -d $out
   '';
 
   passthru.updateScript = gitUpdater {
diff --git a/pkgs/applications/emulators/yuzu/update.sh b/pkgs/applications/emulators/yuzu/update.sh
index 4bb96b2105b4..25ea10fc9aa0 100755
--- a/pkgs/applications/emulators/yuzu/update.sh
+++ b/pkgs/applications/emulators/yuzu/update.sh
@@ -4,4 +4,4 @@
 nix-update -u yuzuPackages.nx_tzdb "$@"
 nix-update -u yuzuPackages.compat-list "$@"
 nix-update -u yuzuPackages.mainline "$@"
-nix-update -u yuzuPackages.early-access "$@"
+nix-update -u yuzuPackages.early-access --override-filename pkgs/applications/emulators/yuzu/early-access/sources.nix "$@"
diff --git a/pkgs/applications/file-managers/felix-fm/default.nix b/pkgs/applications/file-managers/felix-fm/default.nix
index 6cbc47901562..f7ffdf854b54 100644
--- a/pkgs/applications/file-managers/felix-fm/default.nix
+++ b/pkgs/applications/file-managers/felix-fm/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "felix";
-  version = "2.11.1";
+  version = "2.12.0";
 
   src = fetchFromGitHub {
     owner = "kyoheiu";
     repo = "felix";
     rev = "v${version}";
-    hash = "sha256-Q+D5A4KVhVuas7sGy0CqN95cvTLAw5LWet/BECjJUPg=";
+    hash = "sha256-pFU1gE1dkW2MmnkS9DWV0GcPTnDPbjd8w8ASy0M+3x4=";
   };
 
-  cargoHash = "sha256-RfBRm/YiTPxkAN8A+uAoN047DBHEVSL0isQfJgO1Bo0=";
+  cargoHash = "sha256-nzbgTEl6vVT30xSrMVa4FkIHv5lzeNB5ayBZn4xPxA4=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix
index 5322b1fb3441..4d89cacece79 100644
--- a/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/pkgs/applications/gis/qgis/unwrapped.nix
@@ -77,14 +77,14 @@ let
     urllib3
   ];
 in mkDerivation rec {
-  version = "3.34.2";
+  version = "3.34.3";
   pname = "qgis-unwrapped";
 
   src = fetchFromGitHub {
     owner = "qgis";
     repo = "QGIS";
     rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
-    hash = "sha256-RKxIJpp0lmRqyMYJuX2U4/GJh0FTnklFOcUft6LsuHc=";
+    hash = "sha256-uf4qUalY6LxPykgUt/atHBTu+A6ITrcnfez/jwVMLvA=";
   };
 
   passthru = {
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index b2d5dacb20fc..965271fc83bb 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -49,13 +49,13 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "imagemagick";
-  version = "7.1.1-26";
+  version = "7.1.1-27";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = finalAttrs.version;
-    hash = "sha256-diJhCRDT0SbAYZdBPoxZJWlrUW2Nz4/d7H0Nnybw0Yw=";
+    hash = "sha256-jZ5mLqhNZw8V9D61Nv2gB+6Wo9KP+P3KouQ+u2OUL6I=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index be714028ec9a..8bc94f9c2b23 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -158,6 +158,7 @@ mkDerivation rec {
     description = "Photo Management Program";
     license = licenses.gpl2;
     homepage = "https://www.digikam.org";
+    maintainers = with maintainers; [ spacefault ];
     platforms = platforms.linux;
     mainProgram = "digikam";
   };
diff --git a/pkgs/applications/graphics/djv/default.nix b/pkgs/applications/graphics/djv/default.nix
index 8e36e5b70db1..735807691af7 100644
--- a/pkgs/applications/graphics/djv/default.nix
+++ b/pkgs/applications/graphics/djv/default.nix
@@ -112,6 +112,11 @@ stdenv.mkDerivation rec {
     # Pull fix ending upstream inclusion for gcc-12+ support:
     #   https://github.com/darbyjohnston/DJV/pull/477
     (fetchpatch {
+      name = "gcc-13-cstdint-include.patch";
+      url = "https://github.com/darbyjohnston/DJV/commit/be0dd90c256f30c0305ff7b180fd932a311e66e5.patch";
+      hash = "sha256-x8GAfakhgjBiCKHbfgCukT5iFNad+zqURDJkQr092uk=";
+    })
+    (fetchpatch {
       name = "gcc-11-limits.patch";
       url = "https://github.com/darbyjohnston/DJV/commit/0544ffa1a263a6b8e8518b47277de7601b21b4f4.patch";
       hash = "sha256-x6ye0xMwTlKyNW4cVFb64RvAayvo71kuOooPj3ROn0g=";
diff --git a/pkgs/applications/graphics/komikku/default.nix b/pkgs/applications/graphics/komikku/default.nix
index bbe7bd88c9c4..a98300e1f9e5 100644
--- a/pkgs/applications/graphics/komikku/default.nix
+++ b/pkgs/applications/graphics/komikku/default.nix
@@ -19,7 +19,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "komikku";
-  version = "1.35.0";
+  version = "1.36.0";
 
   format = "other";
 
@@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "valos";
     repo = "Komikku";
     rev = "v${version}";
-    hash = "sha256-oyXeh+/9tzykt2fhsKNrk1iaO8556LyCHGVxAxRojLw=";
+    hash = "sha256-sX/4Sez6gKSgaUJC7iW2BeVp0y9h64YqQi7FL5fzZ4o=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/lazpaint/default.nix b/pkgs/applications/graphics/lazpaint/default.nix
index 91562bb5d49e..d2d799dadaf6 100644
--- a/pkgs/applications/graphics/lazpaint/default.nix
+++ b/pkgs/applications/graphics/lazpaint/default.nix
@@ -1,30 +1,30 @@
 { lib, stdenv, fetchFromGitHub, lazarus, fpc, pango, cairo, glib
-, atk, gtk2, libX11, gdk-pixbuf, busybox, python3, makeWrapper }:
-
-with stdenv;
+, atk, gtk2, libX11, gdk-pixbuf, busybox, python3
+, makeWrapper
+}:
 
 let
   bgrabitmap = fetchFromGitHub {
     owner = "bgrabitmap";
     repo = "bgrabitmap";
-    rev = "v11.5.3";
-    sha256 = "sha256-qjBD9TVZQy1tKWHFWkuu6vdLjASzQb3+HRy0FLdd9a8=";
+    rev = "2814b069d55f726b9f3b4774d85d00dd72be9c05";
+    hash = "sha256-YibwdhlgjgI30gqYsKchgDPlOSpBiDBDJNlUDFMygGs=";
   };
   bgracontrols = fetchFromGitHub {
     owner = "bgrabitmap";
     repo = "bgracontrols";
-    rev = "v7.6";
-    sha256 = "sha256-btg9DMdYg+C8h0H7MU+uoo2Kb4OeLHoxFYHAv7LbLBA=";
+    rev = "v8.0";
+    hash = "sha256-5L05eGVN+xncd0/0XLFN6EL2ux4aAOsiU0BMoy0dKgg=";
   };
 in stdenv.mkDerivation rec {
   pname = "lazpaint";
-  version = "7.2.2";
+  version = "7.2.2-unstable-2024-01-20";
 
   src = fetchFromGitHub {
     owner = "bgrabitmap";
     repo = "lazpaint";
-    rev = "v${version}";
-    sha256 = "sha256-J6s0GnGJ7twEYW5+B72bB3EX4AYvLnhSPLbdhZWzlkw=";
+    rev = "fe54c2e2561c51218a5a2755842ce3fc2e0ebb35";
+    hash = "sha256-LaOTJiS+COJUlyJiN9H2kEKwv5lbJqOHsUXOnb+IQFA=";
   };
 
   nativeBuildInputs = [ lazarus fpc makeWrapper ];
@@ -49,23 +49,16 @@ in stdenv.mkDerivation rec {
       lazpaint/lazpaint.lpi
   '';
 
-  installPhase = ''
-    # Reuse existing install script
-    substituteInPlace Makefile --replace "/bin/bash" $BASH
-    cd lazpaint/release/debian
-    substituteInPlace makedeb.sh --replace "rm -rf" "ls"
-    patchShebangs ./makedeb.sh
-    PATH=$PATH:${busybox}/bin ./makedeb.sh
-    cp -r staging/usr $out
-
+  postBuild = ''
     # Python is needed for scripts
-    makeWrapper $out/share/lazpaint/lazpaint $out/bin/lazpaint \
+    wrapProgram $out/bin/lazpaint \
       --prefix PATH : ${lib.makeBinPath [ python3 ]}
   '';
 
   meta = with lib; {
     description = "Image editor like PaintBrush or Paint.Net";
-    homepage = "https://sourceforge.net/projects/lazpaint/";
+    homepage = "https://lazpaint.github.io";
+    downloadPage = "https://github.com/bgrabitmap/lazpaint/";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/applications/graphics/oculante/default.nix b/pkgs/applications/graphics/oculante/default.nix
index f4a29a539c5c..e8a82a71aee4 100644
--- a/pkgs/applications/graphics/oculante/default.nix
+++ b/pkgs/applications/graphics/oculante/default.nix
@@ -22,16 +22,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oculante";
-  version = "0.8.6";
+  version = "0.8.7";
 
   src = fetchFromGitHub {
     owner = "woelper";
     repo = "oculante";
     rev = version;
-    hash = "sha256-AuHiOZuRhO6PVyDyOtmNG6n/CN5brvJ/Ppn25QCshmE=";
+    hash = "sha256-49reMm9woxekJUqHq7biHvlYii9BmLvq6u9RFkASpUw=";
   };
 
-  cargoHash = "sha256-EYwey8dDiyYGJa+scENOpaNK2qAVagTJrAPkSZj12w0=";
+  cargoHash = "sha256-93J0/INcQEvu14pPZeLRfwKECeEGcsch9hUZ0IjYivM=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix
index 1dc46e1b5ebe..000e8c17f9c9 100644
--- a/pkgs/applications/graphics/sane/backends/default.nix
+++ b/pkgs/applications/graphics/sane/backends/default.nix
@@ -3,6 +3,7 @@
 , avahi, libgphoto2, libieee1284, libjpeg, libpng, libtiff, libusb1, libv4l, net-snmp
 , curl, systemd, libxml2, poppler, gawk
 , sane-drivers
+, nixosTests
 
 # List of { src name backend } attibute sets - see installFirmware below:
 , extraFirmware ? []
@@ -132,6 +133,10 @@ stdenv.mkDerivation {
   # https://github.com/NixOS/nixpkgs/issues/224569
   enableParallelInstalling = false;
 
+  passthru.tests = {
+    inherit (nixosTests) sane;
+  };
+
   meta = with lib; {
     description = "SANE (Scanner Access Now Easy) backends";
     longDescription = ''
diff --git a/pkgs/applications/graphics/tev/default.nix b/pkgs/applications/graphics/tev/default.nix
index 88afa4a5fbca..ff97eb65f17c 100644
--- a/pkgs/applications/graphics/tev/default.nix
+++ b/pkgs/applications/graphics/tev/default.nix
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
       --prefix PATH ":" "${gnome.zenity}/bin"
   '';
 
+  env.CXXFLAGS = "-include cstdint";
+
   meta = with lib; {
     description = "A high dynamic range (HDR) image comparison tool";
     longDescription = ''
diff --git a/pkgs/applications/graphics/vengi-tools/default.nix b/pkgs/applications/graphics/vengi-tools/default.nix
index dd13f8ba4503..23b6f5009ce4 100644
--- a/pkgs/applications/graphics/vengi-tools/default.nix
+++ b/pkgs/applications/graphics/vengi-tools/default.nix
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vengi-tools";
-  version = "0.0.27";
+  version = "0.0.28";
 
   src = fetchFromGitHub {
     owner = "mgerhardy";
     repo = "vengi";
     rev = "v${version}";
-    hash = "sha256-A37IY66wZZK7Tv0zWsORO6CuRRRj7YmKLnEPSbfAvwI=";
+    hash = "sha256-UjSm/J/y7MUg3Exmw0P56+bcjiLxXdGS2brocdzgJ+c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index 3261b02e7607..7fccd80e71c7 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -9,43 +9,43 @@
 let
 
   pname = "1password";
-  version = if channel == "stable" then "8.10.23" else "8.10.24-35.BETA";
+  version = if channel == "stable" then "8.10.24" else "8.10.26-1.BETA";
 
   sources = {
     stable = {
       x86_64-linux = {
         url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
-        hash = "sha256-TqZ9AffyHl1mAKyZvADVGh5OXKZEGXjKSkXq7ZI/obA=";
+        hash = "sha256-vYk7WHGVOzrrep6vmA58ELa6aDsZFUw5D2StCYP0Ioc=";
       };
       aarch64-linux = {
         url = "https://downloads.1password.com/linux/tar/stable/aarch64/1password-${version}.arm64.tar.gz";
-        hash = "sha256-vEdpqlGXc5gR9kr+iRRvRI4r48H6AWr+sDZt2kNQxB4=";
+        hash = "sha256-HuhoGG2aQ2NcbZlQfUmGUl0IvhXPO5uV7x4WKJRR7Ew=";
       };
       x86_64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
-        hash = "sha256-1vZbZdAyK/J+lMPwgeyEO5Qvj6nBd0TMkG4Y71Bgfoc=";
+        hash = "sha256-RHn1JJoRLWfqOTx0Di0nfHM7fbLs54DdWlI+PTQs1sQ=";
       };
       aarch64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
-        hash = "sha256-SGvzRGfoMrHSYOlJjsjS0ETIZelctzVbd/SyCv40+QI=";
+        hash = "sha256-ZjmgkGTY6KQ0vv7ILMMLYsK7N2YLmJGCBS6954v0JX8=";
       };
     };
     beta = {
       x86_64-linux = {
         url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
-        hash = "sha256-NO8jxXvdjDn7uTyboav8UnHfc0plHDLoKQ/FHZJqpsE=";
+        hash = "sha256-dAasy1D5HXQ8Eu5cx0u9exobNMf2TIV4iCTcys/uCtQ=";
       };
       aarch64-linux = {
         url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
-        hash = "sha256-9qnODNE3kNRZyj5+2nfoz9zBmY2MqxVPo3rpLOCFAsI=";
+        hash = "sha256-sIPNv4HiU/6CLaER6deMG88zOOFwu6cm5XoB2Cr4qLQ=";
       };
       x86_64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
-        hash = "sha256-gU11xBIGOCRbQshOQ4ktYVgHe6dxJ0GnONkVnZkCiEE=";
+        hash = "sha256-Va4WgbPKrI7u+GYzVmA8Gp6NRY4EdJuoz00Pc5HsMIg=";
       };
       aarch64-darwin = {
         url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
-        hash = "sha256-YcnVIgV+2MZOS+a+3lFuNMgnLaGVrOP53B/k70zRoTI=";
+        hash = "sha256-Dj96QoEcmJxV7qBkb68ovonr+XYqQdScb9GMeL8OCJo=";
       };
     };
   };
diff --git a/pkgs/applications/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix
index 1a59729ae9a7..4133fd8e5a29 100644
--- a/pkgs/applications/misc/avrdudess/default.nix
+++ b/pkgs/applications/misc/avrdudess/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
   pname = "avrdudess";
-  version = "2.15";
+  version = "2.16";
 
   src = fetchurl {
-    url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.15/AVRDUDESS-2.15-portable.zip";
-    sha256 = "sha256-TILveSFlZOzkd7XpW6haWZzrWTb7f/GMoj+fHNEJYLA=";
+    url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.16/AVRDUDESS-2.16-portable.zip";
+    sha256 = "sha256-Ow6WYdQfEDldI9q9CTpd13wtLZGTEkcHxz0Zg7QIZIs=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/misc/bambu-studio/default.nix b/pkgs/applications/misc/bambu-studio/default.nix
index 1de4a02254e3..1455558dcc2e 100644
--- a/pkgs/applications/misc/bambu-studio/default.nix
+++ b/pkgs/applications/misc/bambu-studio/default.nix
@@ -58,13 +58,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bambu-studio";
-  version = "01.08.02.56";
+  version = "01.08.04.51";
 
   src = fetchFromGitHub {
     owner = "bambulab";
     repo = "BambuStudio";
     rev = "v${version}";
-    hash = "sha256-9AUHS7dXqWx8LPkTP7/scxu3Cc/mxuK+v+5PrCvUPf0=";
+    hash = "sha256-rqD1+3Q4ZUBgS57iCItuLX6ZMP7VQuedaJmgKB1szgs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/bemenu/default.nix b/pkgs/applications/misc/bemenu/default.nix
index 57d87d906e82..2640cbd154d2 100644
--- a/pkgs/applications/misc/bemenu/default.nix
+++ b/pkgs/applications/misc/bemenu/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "bemenu";
-  version = "0.6.16";
+  version = "0.6.17";
 
   src = fetchFromGitHub {
     owner = "Cloudef";
     repo = finalAttrs.pname;
     rev = finalAttrs.version;
-    sha256 = "sha256-K9a9BUodpKwvEOhnF2/TGo5zLm7F9RzqSCcWzuhKcWA=";
+    sha256 = "sha256-HfA8VtYP8YHMQNXrg3E6IwX7rR3rp/gyE62InsddjZE=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/misc/diff-pdf/default.nix b/pkgs/applications/misc/diff-pdf/default.nix
index 1f37a8e94210..f88af3be2721 100644
--- a/pkgs/applications/misc/diff-pdf/default.nix
+++ b/pkgs/applications/misc/diff-pdf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "diff-pdf";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "vslavik";
     repo = "diff-pdf";
     rev = "v${version}";
-    sha256 = "sha256-jt11wssl8cH2cH3NXF+iWHxVNxPJm0I8toignBHq3q0=";
+    sha256 = "sha256-6aKF3Xqp/1BoHEiZVZJSemTjn5Qwwr3QyhsXOIjTr08=";
   };
 
   nativeBuildInputs = [ autoconf automake pkg-config ];
diff --git a/pkgs/applications/misc/diffuse/default.nix b/pkgs/applications/misc/diffuse/default.nix
index a75587335cad..9ac27085105f 100644
--- a/pkgs/applications/misc/diffuse/default.nix
+++ b/pkgs/applications/misc/diffuse/default.nix
@@ -14,13 +14,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "diffuse";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "MightyCreak";
     repo = "diffuse";
     rev = "v${version}";
-    sha256 = "aGg5uh9KitVP2bBUizgGIZWvzTxfJGid0WUGVNyHdlk=";
+    sha256 = "6GdUtdVhhIQL1cD9/e7Byv37PVKXmzVWhJC6GROK7OA=";
   };
 
   format = "other";
diff --git a/pkgs/applications/misc/ganttproject-bin/default.nix b/pkgs/applications/misc/ganttproject-bin/default.nix
index 694665727414..985a67ab963f 100644
--- a/pkgs/applications/misc/ganttproject-bin/default.nix
+++ b/pkgs/applications/misc/ganttproject-bin/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   pname = "ganttproject-bin";
-  version = "2.8.10";
+  version = "3.3.3300";
 
-  src = let build = "r2364"; in fetchzip {
-    sha256 = "0cclgyqv4f9pjsdlh93cqvgbzrp8ajvrpc2xszs03sknqz2kdh7r";
-    url = "https://dl.ganttproject.biz/ganttproject-${version}/"
-        + "ganttproject-${version}-${build}.zip";
+  src = fetchzip {
+    url = "https://dl.ganttproject.biz/ganttproject-${version}/ganttproject-${version}.zip";
+    stripRoot = false;
+    hash = "sha256-U9x64UIBuVtW44zbsdWuMRZyEJhZ8VUWbDVtapTGPMo=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/goldendict-ng/default.nix b/pkgs/applications/misc/goldendict-ng/default.nix
index fcae98b53078..5d86aece035d 100644
--- a/pkgs/applications/misc/goldendict-ng/default.nix
+++ b/pkgs/applications/misc/goldendict-ng/default.nix
@@ -31,13 +31,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "goldendict-ng";
-  version = "23.09.10";
+  version = "24.01.22";
 
   src = fetchFromGitHub {
     owner = "xiaoyifang";
     repo = "goldendict-ng";
-    rev = "v${finalAttrs.version}-WhiteDew.54c8bd56";
-    hash = "sha256-X9xqodCqHjppz1zIHLnb87NiDE4FWlXiQufhDu/rJq4=";
+    rev = "v${finalAttrs.version}-LoongYear.3dddb3be";
+    hash = "sha256-+OiZEkhNV06fZXPXv9zDzgJS5M3isHlcOXee3p/ejpw=";
   };
 
   nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook wrapGAppsHook ];
@@ -49,6 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
     qt5compat
     qtmultimedia
     qtspeech
+    qtwayland
     libvorbis
     tomlplusplus
     fmt
@@ -86,7 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "An advanced multi-dictionary lookup program";
     platforms = platforms.linux;
     mainProgram = "goldendict";
-    maintainers = with maintainers; [ slbtty ];
+    maintainers = with maintainers; [ slbtty michojel ];
     license = licenses.gpl3Plus;
   };
 })
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
index 173afec4aa60..7539b22087c3 100644
--- a/pkgs/applications/misc/gramps/default.nix
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -1,18 +1,48 @@
-{ lib, fetchFromGitHub, gtk3, pythonPackages, intltool, gexiv2,
-  pango, gobject-introspection, wrapGAppsHook, gettext,
-# Optional packages:
- enableOSM ? true, osm-gps-map, glib-networking,
- enableGraphviz ? true, graphviz,
- enableGhostscript ? true, ghostscript
- }:
+{ lib
+, fetchpatch
+, fetchFromGitHub
+, gtk3
+, pythonPackages
+, glibcLocales
+, intltool
+, gexiv2
+, pango
+, gobject-introspection
+, wrapGAppsHook
+, gettext
+, # Optional packages:
+  enableOSM ? true
+, osm-gps-map
+, glib-networking
+, enableGraphviz ? true
+, graphviz
+, enableGhostscript ? true
+, ghostscript
+}:
 
 let
   inherit (pythonPackages) python buildPythonApplication;
-in buildPythonApplication rec {
-  version = "5.1.4";
+in
+buildPythonApplication rec {
+  version = "5.1.6";
   pname = "gramps";
+  pyproject = true;
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    intltool
+    gettext
+    gobject-introspection
+    pythonPackages.setuptools
+  ];
+
+  nativeCheckInputs = [
+    glibcLocales
+    pythonPackages.jsonschema
+    pythonPackages.mock
+    pythonPackages.lxml
+  ];
 
-  nativeBuildInputs = [ wrapGAppsHook intltool gettext gobject-introspection ];
   buildInputs = [ gtk3 pango gexiv2 ]
     # Map support
     ++ lib.optionals enableOSM [ osm-gps-map glib-networking ]
@@ -26,35 +56,53 @@ in buildPythonApplication rec {
     owner = "gramps-project";
     repo = "gramps";
     rev = "v${version}";
-    sha256 = "00358nzyw686ypqv45imc5k9frcqnhla0hpx9ynna3iy6iz5006x";
+    hash = "sha256-BerkDXdFYfZ3rV5AeMo/uk53IN2U5z4GFs757Ar26v0=";
   };
 
-  pythonPath = with pythonPackages; [ bsddb3 pyicu pygobject3 pycairo ];
+  pythonPath = with pythonPackages; [
+    bsddb3
+    pyicu
+    pygobject3
+    pycairo
+  ];
+
+  patches = [
+    # fix for running tests with a temporary home - remove next release
+    # https://gramps-project.org/bugs/view.php?id=12577
+    (fetchpatch {
+      url = "https://github.com/gramps-project/gramps/commit/1e95d8a6b5193d655d8caec1e6ab13628ad123db.patch";
+      hash = "sha256-2riWB13Yl+tk9+Tuo0YDLoxY2Rc0xrJKfb+ZU7Puzxk=";
+    })
+  ];
 
   # Same installPhase as in buildPythonApplication but without --old-and-unmanageble
   # install flag.
   installPhase = ''
     runHook preInstall
 
-    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+    mkdir -p "$out/${python.sitePackages}"
 
-    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+    export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
 
     ${python}/bin/${python.executable} setup.py install \
-      --install-lib=$out/lib/${python.libPrefix}/site-packages \
+      --install-lib=$out/${python.sitePackages} \
       --prefix="$out"
 
-    eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
+    eapth="$out/${python.sitePackages}/easy-install.pth"
     if [ -e "$eapth" ]; then
         # move colliding easy_install.pth to specifically named one
         mv "$eapth" $(dirname "$eapth")/${pname}-${version}.pth
     fi
 
-    rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+    rm -f "$out/${python.sitePackages}"/site.py*
 
     runHook postInstall
   '';
 
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
   # https://github.com/NixOS/nixpkgs/issues/149812
   # https://nixos.org/manual/nixpkgs/stable/#ssec-gnome-hooks-gobject-introspection
   strictDeps = false;
@@ -62,6 +110,15 @@ in buildPythonApplication rec {
   meta = with lib; {
     description = "Genealogy software";
     homepage = "https://gramps-project.org";
-    license = licenses.gpl2;
+    maintainers = with maintainers; [ jk pinpox ];
+    changelog = "https://github.com/gramps-project/gramps/blob/v${version}/ChangeLog";
+    longDescription = ''
+      Every person has their own story but they are also part of a collective
+      family history. Gramps gives you the ability to record the many details of
+      an individual's life as well as the complex relationships between various
+      people, places and events. All of your research is kept organized,
+      searchable and as precise as you need it to be.
+    '';
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/misc/hamster/default.nix b/pkgs/applications/misc/hamster/default.nix
index 925d246ba844..5f7b51bb6ee6 100644
--- a/pkgs/applications/misc/hamster/default.nix
+++ b/pkgs/applications/misc/hamster/default.nix
@@ -3,15 +3,15 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "hamster";
-  version = "3.0.2";
+  version = "3.0.3";
 
   format = "other";
 
   src = fetchFromGitHub {
     owner = "projecthamster";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "09ikiwc2izjvwqbbyp8knn190x5y4anwslkmb9k2h3r3jwrg2vd2";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-cUmUvJP9Y3de5OaNgIxvigDsX2ww7NNRY5son/gg+WI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/harsh/default.nix b/pkgs/applications/misc/harsh/default.nix
index 6d01105ac0de..2cac2498ce52 100644
--- a/pkgs/applications/misc/harsh/default.nix
+++ b/pkgs/applications/misc/harsh/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "harsh";
-  version = "0.8.30";
+  version = "0.8.31";
 
   src = fetchFromGitHub {
     owner = "wakatara";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-X9YCxDgxIuJyTUurDQ574nKBAUsdKHNx1T6DkcygYS4=";
+    hash = "sha256-q2kQAQu1rewCDk+UPuEHS4AJlhuC8azHk5MWP6uQ4fI=";
   };
 
-  vendorHash = "sha256-zkz7X/qj8FwtQZXGuq4Oaoe5G9a4AJE1kv3j7wwQEp4=";
+  vendorHash = "sha256-zjLXq64uC5iRm9uxUGDW5127z25gNSVV2qhVVXuYqY0=";
 
   meta = with lib; {
     description = "CLI habit tracking for geeks";
diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix
index 2366556a8968..ef5f0cbb9242 100644
--- a/pkgs/applications/misc/khal/default.nix
+++ b/pkgs/applications/misc/khal/default.nix
@@ -24,9 +24,7 @@ let
     };
   };
 in
-with py.pkgs;
-
-buildPythonApplication rec {
+py.pkgs.buildPythonApplication rec {
   pname = "khal";
   version = "0.11.2";
   pyproject = true;
@@ -41,8 +39,7 @@ buildPythonApplication rec {
   nativeBuildInputs = [
     glibcLocales
     installShellFiles
-  ] ++ (with python3.pkgs; [
-    setuptools
+  ] ++ (with py.pkgs; [
     setuptools-scm
     sphinx
     sphinxcontrib-newsfeed
@@ -66,7 +63,7 @@ buildPythonApplication rec {
     urwid
   ];
 
-  nativeCheckInputs = with python3.pkgs;[
+  nativeCheckInputs = with py.pkgs;[
     freezegun
     hypothesis
     packaging
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index 837efc04491b..f1e86b632129 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -71,6 +71,7 @@ in {
     homepage = "https://github.com/logseq/logseq";
     changelog = "https://github.com/logseq/logseq/releases/tag/${version}";
     license = lib.licenses.agpl3Plus;
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
     maintainers = with lib.maintainers; [ ];
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/applications/misc/loxodo/default.nix b/pkgs/applications/misc/loxodo/default.nix
index 78d01af1f08b..77dd39bc0601 100644
--- a/pkgs/applications/misc/loxodo/default.nix
+++ b/pkgs/applications/misc/loxodo/default.nix
@@ -22,7 +22,7 @@ python3.pkgs.buildPythonApplication {
     [Desktop Entry]
     Type=Application
     Exec=$out/bin/loxodo
-    Icon=$out/lib/${python3.libPrefix}/site-packages/resources/loxodo-icon.png
+    Icon=$out/${python3.sitePackages}/resources/loxodo-icon.png
     Name=Loxodo
     GenericName=Password Vault
     Categories=Application;Other;
diff --git a/pkgs/applications/misc/meerk40t/default.nix b/pkgs/applications/misc/meerk40t/default.nix
index 125ca9750abc..dfa643ec3a7a 100644
--- a/pkgs/applications/misc/meerk40t/default.nix
+++ b/pkgs/applications/misc/meerk40t/default.nix
@@ -1,40 +1,60 @@
 { lib
 , fetchFromGitHub
 , meerk40t-camera
-, python3
+, python3Packages
 , gtk3
 , wrapGAppsHook
 }:
 
-python3.pkgs.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "MeerK40t";
-  version = "0.8.1000";
-  format = "setuptools";
+  version = "0.9.3010";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "meerk40t";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-YCcnqaH4Npmct5IBHsnufswRz8bS7mUb1YFwTta/Dxc=";
+    hash = "sha256-RlIWqxmUiL1gFMxwcdWxDiebmEzVz6kTaSlAZHr8S+I=";
   };
 
   nativeBuildInputs = [
     wrapGAppsHook
-  ];
+  ] ++ (with python3Packages; [
+    setuptools
+  ]);
 
   # prevent double wrapping
   dontWrapGApps = true;
 
-  propagatedBuildInputs = with python3.pkgs; [
-    ezdxf
+  # https://github.com/meerk40t/meerk40t/blob/main/setup.py
+  propagatedBuildInputs = with python3Packages; [
     meerk40t-camera
-    opencv4
-    pillow
+    numpy
     pyserial
     pyusb
     setuptools
     wxpython
-  ];
+  ]
+  ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
+
+  passthru.optional-dependencies = with python3Packages; {
+    cam = [
+      opencv4
+    ];
+    camhead = [
+      opencv4
+    ];
+    dxf = [
+      ezdxf
+    ];
+    gui = [
+      wxpython
+      pillow
+      opencv4
+      ezdxf
+    ];
+  };
 
   preFixup = ''
     gappsWrapperArgs+=(
@@ -43,7 +63,7 @@ python3.pkgs.buildPythonApplication rec {
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
   '';
 
-  nativeCheckInputs = with python3.pkgs; [
+  nativeCheckInputs = with python3Packages; [
     unittestCheckHook
   ];
 
diff --git a/pkgs/applications/misc/monitorcontrol/default.nix b/pkgs/applications/misc/monitorcontrol/default.nix
index f9002b10b063..6c3a1ccec34e 100644
--- a/pkgs/applications/misc/monitorcontrol/default.nix
+++ b/pkgs/applications/misc/monitorcontrol/default.nix
@@ -1,19 +1,28 @@
-{ lib, fetchurl, stdenv, undmg }:
+{ lib, fetchurl, stdenv, _7zz }:
 
 # This cannot be built from source due to the problematic nature of XCode - so
 # this is what it's like when doves cry?
 
 stdenv.mkDerivation rec {
   pname = "MonitorControl";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchurl {
     url =
       "https://github.com/MonitorControl/${pname}/releases/download/v${version}/MonitorControl.${version}.dmg";
-    sha256 = "iaxM9j78Sq1EH5TCY240N+D5bG6quk2dZj8T7nt9ATo=";
+    sha256 = "Q96uK6wVe1D2uLvWL+pFR6LcmrU7cgmr2Y5tPvvTDgI=";
   };
 
-  nativeBuildInputs = [ undmg ];
+  # MonitorControl.${version}.dmg is APFS formatted, unpack with 7zz
+  unpackCmd = ''
+    runHook preUnpack
+
+    7zz x $src
+
+    runHook postUnpack
+  '';
+
+  nativeBuildInputs = [ _7zz ];
 
   sourceRoot = "MonitorControl.app";
 
@@ -27,7 +36,7 @@ stdenv.mkDerivation rec {
     longDescription = "Controls your external display brightness and volume and shows native OSD. Use menulet sliders or the keyboard, including native Apple keys!";
     homepage = "https://github.com/MonitorControl/MonitorControl#readme";
     license = licenses.mit;
-    maintainers = with maintainers; [ cbleslie ];
+    maintainers = with maintainers; [ cbleslie cottand ];
     platforms = platforms.darwin;
   };
 }
diff --git a/pkgs/applications/misc/mozphab/default.nix b/pkgs/applications/misc/mozphab/default.nix
index 05f04ed0aba0..6d8455e6915d 100644
--- a/pkgs/applications/misc/mozphab/default.nix
+++ b/pkgs/applications/misc/mozphab/default.nix
@@ -10,14 +10,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "mozphab";
-  version = "1.4.3";
+  version = "1.5.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "mozilla-conduit";
     repo = "review";
     rev = "refs/tags/${version}";
-    hash = "sha256-FUHT4MPzSxO3MCNYWodNxvFR2kL0P4eGmSHPtCt0Cug=";
+    hash = "sha256-HxwQ+mGtjnruppPAD01QUg3aca+k5vpj814BWM+3VfQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/nwg-bar/default.nix b/pkgs/applications/misc/nwg-bar/default.nix
index 7e9aecd387cd..0b4b7cd1e255 100644
--- a/pkgs/applications/misc/nwg-bar/default.nix
+++ b/pkgs/applications/misc/nwg-bar/default.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "nwg-bar";
-  version = "0.1.5";
+  version = "0.1.6";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-e64qCthZfGeFIe/g4Bu342d/C46qzJRBdxzzP6rM408=";
+    sha256 = "sha256-5N+WKZ+fuHQ0lVLd95/KkNAwzg/C4ImZ4DnSuKNGunk=";
   };
 
   patches = [ ./fix-paths.patch ];
@@ -24,7 +24,7 @@ buildGoModule rec {
     substituteInPlace tools.go --subst-var out
   '';
 
-  vendorHash = "sha256-YMpq9pgA3KjQMcw7JDwEDbHZ5h3N7ziFVIGvQ+xA3Ds=";
+  vendorHash = "sha256-/kqhZcIuoN/XA0i1ua3lzVGn4ghkekFYScL1o3kgBX4=";
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
 
diff --git a/pkgs/applications/misc/nwg-displays/default.nix b/pkgs/applications/misc/nwg-displays/default.nix
index 804198d5a641..b73df6de31ee 100644
--- a/pkgs/applications/misc/nwg-displays/default.nix
+++ b/pkgs/applications/misc/nwg-displays/default.nix
@@ -14,13 +14,13 @@
 
 python310Packages.buildPythonApplication rec {
   pname = "nwg-displays";
-  version = "0.3.12";
+  version = "0.3.13";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-displays";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cr+2ejpXEOg0e86tT37o9400J299DQSkOrQUZE5+V2s=";
+    hash = "sha256-ZXEnlcifwJTnpSKVET/ThIA0NHLP9fQTIM2bQbJ7qZ8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/nwg-look/default.nix b/pkgs/applications/misc/nwg-look/default.nix
index a9aceb33c391..5ce8ad87ba37 100644
--- a/pkgs/applications/misc/nwg-look/default.nix
+++ b/pkgs/applications/misc/nwg-look/default.nix
@@ -15,16 +15,16 @@
 
 buildGoModule rec {
   pname = "nwg-look";
-  version = "0.2.5";
+  version = "0.2.6";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-look";
     rev = "v${version}";
-    hash = "sha256-Gw0C5PCVwXuwXWF39P7pc8KdnmCYRH24zizShmniynM=";
+    hash = "sha256-kOoYhJKt7/BsQ0/RuVhj0bWnX9GU8ET3MSq6NMCOw5E=";
   };
 
-  vendorHash = "sha256-vHqnIkzsoQHiP6mmrwNetq6Pp5UB1CmX7mYvgsbvb0s=";
+  vendorHash = "sha256-V0KXK6jxBYI+tixBLq24pJJcnu4gDF6nfyns2IBTss4=";
 
   # Replace /usr/ directories with the packages output location
   # This means it references the correct path
diff --git a/pkgs/applications/misc/nwg-menu/default.nix b/pkgs/applications/misc/nwg-menu/default.nix
index a911873dee41..e587396e151a 100644
--- a/pkgs/applications/misc/nwg-menu/default.nix
+++ b/pkgs/applications/misc/nwg-menu/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nwg-menu";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-menu";
     rev = "v${version}";
-    sha256 = "sha256-M948RGU9/PwUtFRmf1Po7KlrGxqRPiOZKfS1Vv3vqW8=";
+    sha256 = "sha256-UFyC0gpKn0Ei5aOPC28iG4YI2BM5lrnl/J7RM4GjInc=";
   };
 
-  vendorHash = "sha256-HyrjquJ91ddkyS8JijHd9HjtfwSQykXCufa2wzl8RNk=";
+  vendorHash = "sha256-/kqhZcIuoN/XA0i1ua3lzVGn4ghkekFYScL1o3kgBX4=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/opencpn/default.nix b/pkgs/applications/misc/opencpn/default.nix
index 313f61e28ce0..89d656798008 100644
--- a/pkgs/applications/misc/opencpn/default.nix
+++ b/pkgs/applications/misc/opencpn/default.nix
@@ -7,15 +7,17 @@
 , cmake
 , curl
 , dbus
+, elfutils
 , fetchFromGitHub
-, fetchpatch
 , flac
 , gtk3
+, glew
+, gtest
 , jasper
+, lame
 , libGLU
 , libarchive
 , libdatrie
-, libelf
 , libepoxy
 , libexif
 , libogg
@@ -30,10 +32,13 @@
 , libxkbcommon
 , lsb-release
 , lz4
+, libmpg123
 , makeWrapper
 , pcre
+, pcre2
 , pkg-config
 , portaudio
+, rapidjson
 , sqlite
 , tinyxml
 , udev
@@ -42,31 +47,25 @@
 , xorg
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "opencpn";
-  version = "5.6.2";
+  version = "5.8.4";
 
   src = fetchFromGitHub {
     owner = "OpenCPN";
     repo = "OpenCPN";
-    rev = "Release_${version}";
-    hash = "sha256-sNZYf/2gtjRrrGPuazVnKTgcuIQpKPazhexqlK21T4g=";
+    rev = "Release_${finalAttrs.version}";
+    hash = "sha256-axRI3sssj2Q6IBfIeyvOa494b0EgKFP+lFL/QrGIybQ=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/OpenCPN/OpenCPN/commit/30fa16850ba97d3df0622273947e3e3975b8e6c0.patch";
-      sha256 = "sha256-Sb4FE9QJA5kMJi52/x1Az6rMTS3WSURPx4QAhcv2j9E=";
-    })
-  ];
-
   postPatch = lib.optionalString stdenv.isDarwin ''
-    sed -i '/fixup_bundle/d' CMakeLists.txt
+    sed -i '/fixup_bundle/d; /NO_DEFAULT_PATH/d' CMakeLists.txt
   '';
 
   nativeBuildInputs = [
     cmake
     pkg-config
+    gtest
   ] ++ lib.optionals stdenv.isLinux [
     lsb-release
   ] ++ lib.optionals stdenv.isDarwin [
@@ -80,15 +79,14 @@ stdenv.mkDerivation rec {
     dbus
     flac
   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
-    # gtk3 propagates AppKit from the 10.12 SDK
     AppKit
   ] ++ [
     gtk3
+    glew
     jasper
     libGLU
     libarchive
     libdatrie
-    libelf
     libepoxy
     libexif
     libogg
@@ -100,19 +98,24 @@ stdenv.mkDerivation rec {
     libvorbis
     libxkbcommon
     lz4
+    libmpg123
     pcre
+    pcre2
     portaudio
+    rapidjson
     sqlite
     tinyxml
     wxGTK32
   ] ++ lib.optionals stdenv.isLinux [
     alsa-utils
+    elfutils
     libselinux
     libsepol
-    udev
     util-linux
     xorg.libXdmcp
     xorg.libXtst
+  ] ++ lib.optionals stdenv.isDarwin [
+    lame
   ];
 
   cmakeFlags = [ "-DOCPN_BUNDLE_DOCS=true" ];
@@ -136,4 +139,4 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     homepage = "https://opencpn.org/";
   };
-}
+})
diff --git a/pkgs/applications/misc/organicmaps/default.nix b/pkgs/applications/misc/organicmaps/default.nix
index 3d18c951c671..ec6fbca5d1d0 100644
--- a/pkgs/applications/misc/organicmaps/default.nix
+++ b/pkgs/applications/misc/organicmaps/default.nix
@@ -29,13 +29,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "organicmaps";
-  version = "2023.12.20-4";
+  version = "2024.01.09-5";
 
   src = fetchFromGitHub {
     owner = "organicmaps";
     repo = "organicmaps";
     rev = "${version}-android";
-    hash = "sha256-9yQMBP5Jta6P/FmYL6Ek3MzU1DKtVEwlwYAkNxC5pn4=";
+    hash = "sha256-VIznPMr+XKIobR4eFUVx880MND+EGAHKCYAkdDfgLDA=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/oversteer/default.nix b/pkgs/applications/misc/oversteer/default.nix
index 67a9e2766713..a7567380c5f0 100644
--- a/pkgs/applications/misc/oversteer/default.nix
+++ b/pkgs/applications/misc/oversteer/default.nix
@@ -14,7 +14,7 @@ let
       pygobject3
     ]);
 
-  version = "0.8.0";
+  version = "0.8.1";
 in stdenv.mkDerivation {
   inherit version;
 
@@ -24,7 +24,7 @@ in stdenv.mkDerivation {
     owner = "berarma";
     repo = "oversteer";
     rev = version;
-    sha256 = "sha256-fkf6sa4yYbxGOehyLzuFj5nZiPK3B1D/VVvobhKB4Uo=";
+    sha256 = "sha256-J23fgEDkfZMjVEYHaSPbU9zh5CQFjPmqMsm09VybBv8=";
   };
 
   buildInputs = [ bash gtk3 ];
diff --git a/pkgs/applications/misc/process-compose/default.nix b/pkgs/applications/misc/process-compose/default.nix
index 0c760dbbcc19..fa92fbfe3c70 100644
--- a/pkgs/applications/misc/process-compose/default.nix
+++ b/pkgs/applications/misc/process-compose/default.nix
@@ -8,13 +8,13 @@ let config-module = "github.com/f1bonacc1/process-compose/src/config";
 in
 buildGoModule rec {
   pname = "process-compose";
-  version = "0.80.0";
+  version = "0.81.4";
 
   src = fetchFromGitHub {
     owner = "F1bonacc1";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-9a850AKcHpKaZJ5C7l8y2dz6zHWyoZ7dIdEqtmXN3ww=";
+    hash = "sha256-HGrqW56gU5IiX5vyMmJyr63LlJaalCY1kWZi7ahrr0o=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -43,7 +43,7 @@ buildGoModule rec {
     installShellFiles
   ];
 
-  vendorHash = "sha256-NYb5FLMXRoOTEH7nD3+1LUGD7wY0N8FTTUZ85uxTPrk=";
+  vendorHash = "sha256-vcx8wHqJzL+huCPdzN5h3dLs3PE7NaFWJEFJX22EZV4=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix
index ab13a68d60e5..724bfcc4ecce 100644
--- a/pkgs/applications/misc/prusa-slicer/default.nix
+++ b/pkgs/applications/misc/prusa-slicer/default.nix
@@ -9,6 +9,7 @@
 , cereal
 , cgal
 , curl
+, darwin
 , dbus
 , eigen
 , expat
@@ -111,6 +112,8 @@ stdenv.mkDerivation (finalAttrs: {
     catch2
   ] ++ lib.optionals withSystemd [
     systemd
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk_11_0.frameworks.CoreWLAN
   ];
 
   separateDebugInfo = true;
@@ -190,6 +193,7 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://github.com/prusa3d/PrusaSlicer";
     license = licenses.agpl3;
     maintainers = with maintainers; [ moredread tweber tmarkus ];
+    platforms = platforms.unix;
   } // lib.optionalAttrs (stdenv.isDarwin) {
     mainProgram = "PrusaSlicer";
   };
diff --git a/pkgs/applications/misc/pure-maps/default.nix b/pkgs/applications/misc/pure-maps/default.nix
index 0220778277c1..d1bfe4132583 100644
--- a/pkgs/applications/misc/pure-maps/default.nix
+++ b/pkgs/applications/misc/pure-maps/default.nix
@@ -6,13 +6,13 @@
 
 mkDerivation rec {
   pname = "pure-maps";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "rinigus";
     repo = "pure-maps";
     rev = version;
-    hash = "sha256-07Jk5ufYbBAa/UY1B0IoyuOAVt15rGCxCRXu3OeYyWU=";
+    hash = "sha256-AZt0JcNegHkUkWy+NW5CNLZfxjjFyKWBrhLJgSTv3to=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/pydf/default.nix b/pkgs/applications/misc/pydf/default.nix
index f02b97461a14..61f79edeab16 100644
--- a/pkgs/applications/misc/pydf/default.nix
+++ b/pkgs/applications/misc/pydf/default.nix
@@ -18,6 +18,7 @@ python3Packages.buildPythonPackage rec {
   meta = with lib; {
     description = "colourised df(1)-clone";
     homepage = "http://kassiopeia.juls.savba.sk/~garabik/software/pydf/";
+    mainProgram = "pydf";
     license = licenses.publicDomain;
     maintainers = with maintainers; [ monsieurp ];
   };
diff --git a/pkgs/applications/misc/qdirstat/default.nix b/pkgs/applications/misc/qdirstat/default.nix
index 92949ad4a893..dc112d2d6935 100644
--- a/pkgs/applications/misc/qdirstat/default.nix
+++ b/pkgs/applications/misc/qdirstat/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "qdirstat";
-  version = "1.8.1";
+  version = "1.9";
 
   src = fetchFromGitHub {
     owner = "shundhammer";
     repo = pname;
     rev = version;
-    sha256 = "sha256-yWv41iWtdTdlFuvLHKCbwmnSXq7Z5pIJq28GMDltdxM=";
+    sha256 = "sha256-pwdmltHDNwUMx1FNOoiXl5Pna0zlKqahmicBCN6UVSU=";
   };
 in
 
diff --git a/pkgs/applications/misc/remarkable/restream/default.nix b/pkgs/applications/misc/remarkable/restream/default.nix
index 9af70769e3d9..c5958aff724c 100644
--- a/pkgs/applications/misc/remarkable/restream/default.nix
+++ b/pkgs/applications/misc/remarkable/restream/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "restream";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "rien";
     repo = pname;
-    rev = version;
-    sha256 = "0vyj0kng8c9inv2rbw1qdr43ic15s5x8fvk9mbw0vpc6g723x99g";
+    rev = "v${version}";
+    hash = "sha256-AXHKOfdIM3LsHF6u3M/lMhhcuPZADoEal7de3zlx7L4=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/misc/sigal/copytree-permissions.patch b/pkgs/applications/misc/sigal/copytree-permissions.patch
deleted file mode 100644
index 352e1f0d2dcc..000000000000
--- a/pkgs/applications/misc/sigal/copytree-permissions.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -Nurp sigal-2.3.orig/sigal/writer.py sigal-2.3/sigal/writer.py
---- sigal-2.3.orig/sigal/writer.py	2022-08-08 19:43:10.934707194 +0200
-+++ sigal-2.3/sigal/writer.py	2022-08-08 19:44:57.542382532 +0200
-@@ -103,7 +103,11 @@ class AbstractWriter:
-             os.path.join(THEMES_PATH, 'default', 'static'),
-             os.path.join(self.theme, 'static'),
-         ):
--            shutil.copytree(static_path, self.theme_path, dirs_exist_ok=True)
-+            # https://stackoverflow.com/a/17022146/4935114
-+            orig_copystat = shutil.copystat
-+            shutil.copystat = lambda x, y: x
-+            shutil.copytree(static_path, self.theme_path, dirs_exist_ok=True, copy_function=shutil.copy)
-+            shutil.copystat = orig_copystat
- 
-         if self.settings["user_css"]:
-             if not os.path.exists(self.settings["user_css"]):
diff --git a/pkgs/applications/misc/sigal/default.nix b/pkgs/applications/misc/sigal/default.nix
index 7a3988a4cda3..145c34b7f8c0 100644
--- a/pkgs/applications/misc/sigal/default.nix
+++ b/pkgs/applications/misc/sigal/default.nix
@@ -7,15 +7,17 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sigal";
-  version = "2.3";
-  format = "setuptools";
+  version = "2.4";
+  pyproject = true;
 
   src = fetchPypi {
     inherit version pname;
-    hash = "sha256-4Zsb/OBtU/jV0gThEYe8bcrb+6hW+hnzQS19q1H409Q=";
+    hash = "sha256-pDTaqtqfuk7tACkyaKClTJotuVcTKli5yx1wbEM93TM=";
   };
 
-  patches = [ ./copytree-permissions.patch ];
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools-scm
+  ];
 
   propagatedBuildInputs = with python3.pkgs; [
     # install_requires
@@ -31,8 +33,6 @@ python3.pkgs.buildPythonApplication rec {
     feedgenerator
     zopfli
     cryptography
-
-    setuptools # needs pkg_resources
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/applications/misc/stretchly/default.nix b/pkgs/applications/misc/stretchly/default.nix
index 8584dbbf1ee2..67ffdee86c98 100644
--- a/pkgs/applications/misc/stretchly/default.nix
+++ b/pkgs/applications/misc/stretchly/default.nix
@@ -8,19 +8,18 @@
 , makeDesktopItem
 }:
 
-stdenv.mkDerivation rec {
-
+stdenv.mkDerivation (finalAttrs: {
   pname = "stretchly";
-  version = "1.8.1";
+  version = "1.15.1";
 
   src = fetchurl {
-    url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz";
-    sha256 = "sha256-/v74vDGxD5iiOPeBXPAaV42JpyBjeJSO/Lk88pCkDng=";
+    url = "https://github.com/hovancik/stretchly/releases/download/v${finalAttrs.version}/stretchly-${finalAttrs.version}.tar.xz";
+    hash = "sha256-suTH6o7vtUr2DidPXAwqrya5/WukQOFmS/34LaiWDBs=";
   };
 
   icon = fetchurl {
-    url = "https://raw.githubusercontent.com/hovancik/stretchly/v${version}/stretchly_128x128.png";
-    sha256 = "0whfg1fy2hjyk1lzpryikc1aj8agsjhfrb0bf7ggl6r9m8s1rvdl";
+    url = "https://raw.githubusercontent.com/hovancik/stretchly/v${finalAttrs.version}/stretchly_128x128.png";
+    hash = "sha256-tO0cNKopG/recQus7KDUTyGpApvR5/tpmF5C4V14DnI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -28,14 +27,14 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    mkdir -p $out/bin $out/share/${pname}/
-    mv resources/app.asar* $out/share/${pname}/
+    mkdir -p $out/bin $out/share/${finalAttrs.pname}/
+    mv resources/app.asar* $out/share/${finalAttrs.pname}/
 
     mkdir -p $out/share/applications
-    ln -s ${desktopItem}/share/applications/* $out/share/applications/
+    ln -s ${finalAttrs.desktopItem}/share/applications/* $out/share/applications/
 
-    makeWrapper ${electron}/bin/electron $out/bin/${pname} \
-      --add-flags $out/share/${pname}/app.asar
+    makeWrapper ${electron}/bin/electron $out/bin/${finalAttrs.pname} \
+      --add-flags $out/share/${finalAttrs.pname}/app.asar
 
     runHook postInstall
   '';
@@ -54,9 +53,9 @@ stdenv.mkDerivation rec {
   };
 
   desktopItem = makeDesktopItem {
-    name = pname;
-    exec = pname;
-    icon = icon;
+    name = finalAttrs.pname;
+    exec = finalAttrs.pname;
+    icon = finalAttrs.icon;
     desktopName = "Stretchly";
     genericName = "Stretchly";
     categories = [ "Utility" ];
@@ -77,4 +76,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ _1000101 ];
     platforms = platforms.linux;
   };
-}
+})
diff --git a/pkgs/applications/misc/sway-contrib/default.nix b/pkgs/applications/misc/sway-contrib/default.nix
index df5ad07b1c5a..4ddca21774e0 100644
--- a/pkgs/applications/misc/sway-contrib/default.nix
+++ b/pkgs/applications/misc/sway-contrib/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv
+{ lib, stdenvNoCC
 , fetchFromGitHub
 , coreutils
 , makeWrapper
@@ -15,12 +15,12 @@
 }:
 
 let
-  version = "unstable-2023-06-30";
+  version = "0-unstable-2024-01-20";
   src = fetchFromGitHub {
     owner = "OctopusET";
     repo = "sway-contrib";
-    rev = "7e138bfc112872b79ac9fd766bc57c0f125b96d4";
-    hash = "sha256-u4sw1NeAhl4FJCG2YOeY45SHoN7tw6cSJwEL5iqr0uQ=";
+    rev = "b7825b218e677c65f6849be061b93bd5654991bf";
+    hash = "sha256-ZTfItJ77mrNSzXFVcj7OV/6zYBElBj+1LcLLHxBFypk=";
   };
 
   meta = with lib; {
@@ -31,7 +31,7 @@ let
 in
 {
 
-grimshot = stdenv.mkDerivation rec {
+grimshot = stdenvNoCC.mkDerivation {
   inherit version src;
 
   pname = "grimshot";
@@ -70,7 +70,7 @@ grimshot = stdenv.mkDerivation rec {
     fi
   '';
 
-  meta = with lib; {
+  meta = with lib; meta // {
     description = "A helper for screenshots within sway";
     maintainers = with maintainers; [ evils ];
     mainProgram = "grimshot";
@@ -78,11 +78,12 @@ grimshot = stdenv.mkDerivation rec {
 };
 
 
-inactive-windows-transparency = python3Packages.buildPythonApplication rec {
-  inherit version src;
-
+inactive-windows-transparency = let
   # long name is long
   lname = "inactive-windows-transparency";
+in python3Packages.buildPythonApplication {
+  inherit version src;
+
   pname = "sway-${lname}";
 
   format = "other";
@@ -95,7 +96,7 @@ inactive-windows-transparency = python3Packages.buildPythonApplication rec {
     install -Dm 0755 $src/${lname}.py $out/bin/${lname}.py
   '';
 
-  meta = with lib; {
+  meta = with lib; meta // {
     description = "It makes inactive sway windows transparent";
     mainProgram = "${lname}.py";
     maintainers = with maintainers; [
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index 5755c5610281..2c8f9993fed5 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -3,9 +3,7 @@
 , fetchurl
 , makeWrapper
 , makeDesktopItem
-# sweethome3d 6.5.2 does not yet fully build&run with jdk 9 and later?
-, jdk8
-, jre8
+, jdk
 , ant
 , gtk3
 , gsettings-desktop-schemas
@@ -13,6 +11,7 @@
 , autoPatchelfHook
 , libXxf86vm
 , unzip
+, libGL
 }:
 
 let
@@ -42,7 +41,7 @@ let
     };
 
     postPatch = ''
-      addAutoPatchelfSearchPath ${jre8}/lib/openjdk/jre/lib/
+      addAutoPatchelfSearchPath ${jdk}/lib/openjdk/lib/
       autoPatchelf lib
 
       # Nix cannot see the runtime references to the paths we just patched in
@@ -52,7 +51,7 @@ let
     '';
 
     nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
-    buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas libXxf86vm ];
+    buildInputs = [ ant jdk p7zip gtk3 gsettings-desktop-schemas libXxf86vm ];
 
     buildPhase = ''
       runHook preBuild
@@ -75,13 +74,9 @@ let
 
       cp "${sweethome3dItem}/share/applications/"* $out/share/applications
 
-      # MESA_GL_VERSION_OVERRIDE is needed since the update from MESA 19.3.3 to 20.0.2:
-      # without it a "Profiles [GL4bc, GL3bc, GL2, GLES1] not available on device null"
-      # exception is thrown on startup.
-      # https://discourse.nixos.org/t/glx-not-recognised-after-mesa-update/6753
-      makeWrapper ${jre8}/bin/java $out/bin/$exec \
-        --set MESA_GL_VERSION_OVERRIDE 2.1 \
+      makeWrapper ${jdk}/bin/java $out/bin/$exec \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
+        --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \
         --add-flags "-Dsun.java2d.opengl=true -jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}"
 
 
@@ -102,6 +97,7 @@ let
       inherit license;
       maintainers = [ lib.maintainers.edwtjo ];
       platforms = lib.platforms.linux;
+      mainProgram = exec;
     };
   };
 
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index 6c737f469c67..d5cdebb76282 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -3,9 +3,7 @@
 , fetchurl
 , makeWrapper
 , makeDesktopItem
-# sweethome3d 6.5.2 does not yet fully build&run with jdk 9 and later?
-, jdk8
-, jre8
+, jdk
 , ant
 , gtk3
 , gsettings-desktop-schemas
@@ -44,7 +42,7 @@ let
     };
 
     nativeBuildInputs = [ makeWrapper unzip ];
-    buildInputs = [ ant jre8 jdk8 gtk3 gsettings-desktop-schemas ];
+    buildInputs = [ ant jdk gtk3 gsettings-desktop-schemas ];
 
     postPatch = ''
       sed -i -e 's,../SweetHome3D,${applicationSrc},g' build.xml
@@ -54,7 +52,7 @@ let
     buildPhase = ''
       runHook preBuild
 
-      ant -lib ${applicationSrc}/libtest -lib ${applicationSrc}/lib -lib ${jdk8}/lib
+      ant -lib ${applicationSrc}/libtest -lib ${applicationSrc}/lib -lib ${jdk}/lib
 
       runHook postBuild
     '';
@@ -64,7 +62,7 @@ let
       mkdir -p $out/share/{java,applications}
       cp ${module}-${version}.jar $out/share/java/.
       cp "${editorItem}/share/applications/"* $out/share/applications
-      makeWrapper ${jre8}/bin/java $out/bin/$exec \
+      makeWrapper ${jdk}/bin/java $out/bin/$exec \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
         --add-flags "-jar $out/share/java/${module}-${version}.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}"
     '';
@@ -77,6 +75,7 @@ let
       inherit license;
       maintainers = [ lib.maintainers.edwtjo ];
       platforms = lib.platforms.linux;
+      mainProgram = exec;
     };
 
   };
diff --git a/pkgs/applications/misc/tippecanoe/default.nix b/pkgs/applications/misc/tippecanoe/default.nix
index 19afb4fba29c..af730d0dd9a5 100644
--- a/pkgs/applications/misc/tippecanoe/default.nix
+++ b/pkgs/applications/misc/tippecanoe/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "tippecanoe";
-  version = "2.41.2";
+  version = "2.41.3";
 
   src = fetchFromGitHub {
     owner = "felt";
     repo = "tippecanoe";
     rev = finalAttrs.version;
-    hash = "sha256-d5+0/+4NaW7BBYsRZ3WK8BJYVpUZUmwtvzjfBhS9lcc=";
+    hash = "sha256-yHX0hQbuPFaosBR/N7TmQKOHnd2LG6kkfGUBlaSkA8E=";
   };
 
   buildInputs = [ sqlite zlib ];
diff --git a/pkgs/applications/misc/tui-journal/default.nix b/pkgs/applications/misc/tui-journal/default.nix
index 9eb97da95ffa..633351e46e22 100644
--- a/pkgs/applications/misc/tui-journal/default.nix
+++ b/pkgs/applications/misc/tui-journal/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tui-journal";
-  version = "0.6.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "AmmarAbouZor";
     repo = "tui-journal";
     rev = "v${version}";
-    hash = "sha256-0qedRXjuISJst6cZ7rwz/4a935XsBMSzGN8JrzBKjeQ=";
+    hash = "sha256-1cCtWhWOzCezi29oQsa0L1LTIb87ITaJk0teDP2xV78=";
   };
 
-  cargoHash = "sha256-d79NTaW0zs8g62EKqiphWEdgYEnLeRk4NFog0rivr3s=";
+  cargoHash = "sha256-uWxzJONzRDeZVuilpEj4KprF3PtjRhJk8C9zjs5yCvg=";
 
   nativeBuildInputs = [
     pkg-config
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "Your journal app if you live in a terminl";
+    description = "Your journal app if you live in a terminal";
     homepage = "https://github.com/AmmarAbouZor/tui-journal";
     changelog = "https://github.com/AmmarAbouZor/tui-journal/blob/${src.rev}/CHANGELOG.ron";
     license = licenses.mit;
diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix
index 277aba5c8074..94ea64d3792b 100644
--- a/pkgs/applications/misc/udiskie/default.nix
+++ b/pkgs/applications/misc/udiskie/default.nix
@@ -10,11 +10,13 @@
 , python3
 , udisks2
 , wrapGAppsHook
+, testers
+, udiskie
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "udiskie";
-  version = "2.5.1";
+  version = "2.5.2";
 
   pyproject = true;
 
@@ -22,7 +24,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "coldfix";
     repo = "udiskie";
     rev = "v${version}";
-    hash = "sha256-bmpofyW5IBRmVlzHP9YRlI/JNnnamKfF9jCG85G0wBc=";
+    hash = "sha256-r9ppuWYY3e2thsfFh4ooOgfqNvmCVw7fS0SpJCJcysQ=";
   };
 
   patches = [
@@ -78,6 +80,10 @@ python3.pkgs.buildPythonApplication rec {
     pytestCheckHook
   ];
 
+  passthru.tests.version = testers.testVersion {
+    package = udiskie;
+  };
+
   meta = with lib; {
     homepage = "https://github.com/coldfix/udiskie";
     changelog = "https://github.com/coldfix/udiskie/blob/${src.rev}/CHANGES.rst";
diff --git a/pkgs/applications/misc/waypaper/default.nix b/pkgs/applications/misc/waypaper/default.nix
index b17e8b974e41..1b2ca4843461 100644
--- a/pkgs/applications/misc/waypaper/default.nix
+++ b/pkgs/applications/misc/waypaper/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "waypaper";
-  version = "1.9";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "anufrievroman";
     repo = "waypaper";
     rev = "refs/tags/${version}";
-    hash = "sha256-6hv+f2fbrbLodJIRHl5MYTkiZ51iZOAK42Vg73zSw/E=";
+    hash = "sha256-AIOrn5I0WX8S4iaK6mVEbdn1tQiED0JYA0GXDXJ6eNE=";
   };
 
   nativeBuildInputs = [
@@ -24,6 +24,9 @@ python3.pkgs.buildPythonApplication rec {
 
   propagatedBuildInputs = [
     python3.pkgs.pygobject3
+    python3.pkgs.platformdirs
+    python3.pkgs.importlib-metadata
+    python3.pkgs.pillow
     killall
   ];
 
diff --git a/pkgs/applications/misc/wmenu/default.nix b/pkgs/applications/misc/wmenu/default.nix
index d2715546b375..9d068bb61e68 100644
--- a/pkgs/applications/misc/wmenu/default.nix
+++ b/pkgs/applications/misc/wmenu/default.nix
@@ -15,7 +15,7 @@
 
 stdenv.mkDerivation rec {
   pname = "wmenu";
-  version = "0.1.4";
+  version = "0.1.6";
 
   strictDeps = true;
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     owner = "~adnano";
     repo = "wmenu";
     rev = version;
-    hash = "sha256-aB23wi8kLBKAvQv2UPsfqVMCjakdsM6AzH8LgGv3HPs=";
+    hash = "sha256-Xsnf7T39up6E5kzV37sM9j3PpA2eqxItbGt+tOfjsjE=";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja ];
diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix
index 88cc16ae7645..fccd7585e41e 100644
--- a/pkgs/applications/misc/wordnet/default.nix
+++ b/pkgs/applications/misc/wordnet/default.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation rec {
     sed "13i#define USE_INTERP_RESULT 1" -i src/stubs.c
   '';
 
+  # Fails the build on clang-16 and on upcoming gcc-14.
+  env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-int";
+
   # Needs the path to `tclConfig.sh' and `tkConfig.sh'.
   configureFlags = [
     "--with-tcl=${tcl}/lib"
diff --git a/pkgs/applications/misc/xcruiser/default.nix b/pkgs/applications/misc/xcruiser/default.nix
index 7e3a391eb5bb..8144a66fb2ff 100644
--- a/pkgs/applications/misc/xcruiser/default.nix
+++ b/pkgs/applications/misc/xcruiser/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, gccmakedep, imake, libXt, libXaw, libXpm, libXext }:
+{ lib, stdenv, fetchurl, gccmakedep, imake, libXt, libXaw, libXpm, libXext, copyDesktopItems, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
   pname = "xcruiser";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1r8whva38xizqdh7jmn6wcmfmsndc67pkw22wzfzr6rq0vf6hywi";
   };
 
-  nativeBuildInputs = [ gccmakedep imake ];
+  nativeBuildInputs = [ gccmakedep imake copyDesktopItems ];
   buildInputs = [ libXt libXaw libXpm libXext ];
 
   makeFlags = [
@@ -19,6 +19,16 @@ stdenv.mkDerivation rec {
     "XAPPLOADDIR=${placeholder "out"}/etc/X11/app-defaults"
   ];
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "XCruiser";
+      exec = "xcruiser";
+      desktopName = "XCruiser";
+      comment = "filesystem visualization utility";
+      categories = [ "Utility" ];
+    })
+  ];
+
   meta = with lib; {
     description = "Filesystem visualization utility";
     longDescription = ''
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index 9ded680d513d..7e84255957e6 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -92,11 +92,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.62.153";
+  version = "1.62.156";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    hash = "sha256-7ifBFWKsegXe0zBdVQO2BiKoBd2zhYX8RYiYcs8v0bg=";
+    hash = "sha256-U+MjXuF3rv5N4juKeIzUfnSNVLx1LGn+Ws+b5p252Qk=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index a976871fdfda..88c66f4ae119 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -22,18 +22,18 @@
   ungoogled-chromium = {
     deps = {
       gn = {
-        hash = "sha256-dwluGOfq05swtBM5gg4a6gY3IpFHaKKkD0TV1XW7c7k=";
-        rev = "e4702d7409069c4f12d45ea7b7f0890717ca3f4b";
+        hash = "sha256-eD3KORYYuIH+94+BgL+yFD5lTQFvj/MqPU9DPiHc98s=";
+        rev = "7367b0df0a0aa25440303998d54045bda73935a5";
         url = "https://gn.googlesource.com/gn";
-        version = "2023-10-23";
+        version = "2023-11-28";
       };
       ungoogled-patches = {
-        hash = "sha256-feMWYdxQSgn1ZTdnXTYHUBi3pV1fsaAcKjbf+qHzYnU=";
-        rev = "120.0.6099.224-1";
+        hash = "sha256-Fopr+SiezOs3w52juXvMyfxOAzrVXrRO8j0744oeO5k=";
+        rev = "223fe76bb263a216341739ce2ee333752642cf47";
       };
     };
-    hash = "sha256-HFQ7QAL4hcux3jmMmLYFNym3sfWR1o1hWV75bokID4I=";
-    hash_deb_amd64 = "sha256-dFllEHRYH3yAPg3uaaCzdpiZxSLENEwmtIb/gg53/ZU=";
-    version = "120.0.6099.224";
+    hash = "sha256-2TMTLCqoCxdy9PDlZIUa/5oXjmim1T2/LJu+3/Kf4fQ=";
+    hash_deb_amd64 = "sha256-9vPQAiZPw60oILm0He4Iz9lOc+WvtHCBE9CHA1ejc7s=";
+    version = "121.0.6167.85";
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 4396d7e85d41..9f0826f0ba08 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -292,6 +292,9 @@ buildStdenv.mkDerivation {
     # Runs autoconf through ./mach configure in configurePhase
     configureScript="$(realpath ./mach) configure"
 
+    # Set reproducible build date; https://bugzilla.mozilla.org/show_bug.cgi?id=885777#c21
+    export MOZ_BUILD_DATE=$(head -n1 sourcestamp.txt)
+
     # Set predictable directories for build and state
     export MOZ_OBJDIR=$(pwd)/mozobj
     export MOZBUILD_STATE_PATH=$(pwd)/mozbuild
@@ -320,11 +323,9 @@ buildStdenv.mkDerivation {
           unset 'configureFlagsArray[i]'
         fi
       done
-      configureFlagsArray+=(
-        "--enable-profile-use=cross"
-        "--with-pgo-profile-path="$TMPDIR/merged.profdata""
-        "--with-pgo-jarlog="$TMPDIR/jarlog""
-      )
+      appendToVar configureFlags --enable-profile-use=cross
+      appendToVar configureFlags --with-pgo-profile-path=$TMPDIR/merged.profdata
+      appendToVar configureFlags --with-pgo-jarlog=$TMPDIR/jarlog
       ${lib.optionalString stdenv.hostPlatform.isMusl ''
         LDFLAGS="$OLD_LDFLAGS"
         unset OLD_LDFLAGS
diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json
index 1c40bc81703a..357868b665fb 100644
--- a/pkgs/applications/networking/browsers/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/librewolf/src.json
@@ -1,12 +1,12 @@
 {
-  "packageVersion": "122.0-1",
+  "packageVersion": "122.0-2",
   "source": {
-    "rev": "122.0-1",
-    "sha256": "18b2pfh61cxkl7ww0fi5wjv580ca7i5sshviqym8w0w38lhp7rsv"
+    "rev": "122.0-2",
+    "sha256": "139vqa0czhbsg8naz75pcf5d8dql30slwrn4l8hkr4r1s1mslyq1"
   },
   "settings": {
-    "rev": "41623492f2b6970972014f6ce196015d3d7f1b59",
-    "sha256": "0ayyyw44q0gh668bzlv6cfl7baa0818bnz83g53l5j2f10xd52by"
+    "rev": "fe568fa26d52fa917c89d735468a17b990a23e2c",
+    "sha256": "1gska84ib386a1021r1n54mb1a47bqn459v5n26g4wqx3xrma48n"
   },
   "firefox": {
     "version": "122.0",
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
index ae312d92368c..3836453ee645 100644
--- a/pkgs/applications/networking/browsers/microsoft-edge/default.nix
+++ b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
@@ -1,20 +1,20 @@
 {
   stable = import ./browser.nix {
     channel = "stable";
-    version = "120.0.2210.144";
+    version = "121.0.2277.83";
     revision = "1";
-    hash = "sha256-O/7LdopcMfSYx8cg9BNDU6KxbPfnF9rYXD7Q6jugBLU=";
+    hash = "sha256-WuDu44elNlkYZEtol+TZNpcRAkAq8HHATYCc9Or/bvU=";
   };
   beta = import ./browser.nix {
     channel = "beta";
-    version = "121.0.2277.71";
+    version = "121.0.2277.83";
     revision = "1";
-    hash = "sha256-PsfUZJ5ftHxSFGaXjzFMEff7Czfq88yL31mqNkFilNM=";
+    hash = "sha256-eW8Bpcjw1aY5lMqsGCJ3hORVLhzW8Fmaio+kpSOzPeU=";
   };
   dev = import ./browser.nix {
     channel = "dev";
-    version = "122.0.2348.0";
+    version = "122.0.2353.0";
     revision = "1";
-    hash = "sha256-Vsnrc43d70fLDncMeQeYhZJhnYex2LsIV1U2KPlkP9U=";
+    hash = "sha256-llLaq13SU4ZpqhOYK0hy6ZD6amAqijStk8TIHX3gydQ=";
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/buildsystem.nix b/pkgs/applications/networking/browsers/netsurf/buildsystem.nix
index 385deef99fdf..d08ffda76b49 100644
--- a/pkgs/applications/networking/browsers/netsurf/buildsystem.nix
+++ b/pkgs/applications/networking/browsers/netsurf/buildsystem.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "netsurf-buildsystem";
-  version = "1.9";
+  version = "1.10";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/buildsystem-${finalAttrs.version}.tar.gz";
-    hash = "sha256-k4QeMUpoggmiC4dF8GU5PzqQ8Bvmj0Xpa8jS9KKqmio=";
+    hash = "sha256-PT451WnkRnfEsXkSm95hTGV5jis+YlMWAjnR/W6uTXk=";
   };
 
   makeFlags = [
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 13430a882dcc..4995a5b9340e 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -24,7 +24,7 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "6.5.3206.50";
+  version = "6.5.3206.55";
 
   suffix = {
     aarch64-linux = "arm64";
@@ -34,8 +34,8 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
     hash = {
-      aarch64-linux = "sha256-8Ozhad6aRskhhNqtUQFYLT14JHZnhLnHtuB+SmtwL8g=";
-      x86_64-linux = "sha256-hpWPDnnJGx2pokR1JFe3Uuq299HvsnjKMyg89wAo53I=";
+      aarch64-linux = "sha256-lr+9+w1vRZSG/2dP5K3mcKLCQijckPdkM/I2DgjO4wg=";
+      x86_64-linux = "sha256-ElkuuaZfK8F6CVA5xbKszkbqdcPACFR+xd0pRxnd6+U=";
     }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   };
 
diff --git a/pkgs/applications/networking/cluster/cilium/default.nix b/pkgs/applications/networking/cluster/cilium/default.nix
index 80f67b3a1bde..52d5f222fe9f 100644
--- a/pkgs/applications/networking/cluster/cilium/default.nix
+++ b/pkgs/applications/networking/cluster/cilium/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cilium-cli";
-  version = "0.15.19";
+  version = "0.15.21";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-52i3Ek/rXFF9rMMiXNMnRjT2HYsknGKvVtCRrVDmo9U=";
+    hash = "sha256-jagNtaR7YAOdvy/yJrIRQfr8UQTrEoVrPLaGklt8mUk=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
index 0a1f99e1d679..87494186377b 100644
--- a/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
+++ b/pkgs/applications/networking/cluster/helm/plugins/helm-s3.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helm-s3";
-  version = "0.15.1";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "hypnoglow";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-D79nUIueOV2FC3I2LreHMzl/xOpzNa+OsfL5wcnyY78=";
+    hash = "sha256-0wx8q93y8goXNh2x/XI3FQEXImVTpONURiDW2dCAi6o=";
   };
 
-  vendorHash = "sha256-dKKggD/VlBiopt2ygh07+6bTBbRgQfWbiY/1qJSSx/0=";
+  vendorHash = "sha256-i+rWg0/EUes5soFVRu9M5/iktbtudII7Ly5pcnOU2hU=";
 
   # NOTE: Remove the install and upgrade hooks.
   postPatch = ''
diff --git a/pkgs/applications/networking/cluster/hubble/default.nix b/pkgs/applications/networking/cluster/hubble/default.nix
index 7160da0f63e8..ecbe56d09885 100644
--- a/pkgs/applications/networking/cluster/hubble/default.nix
+++ b/pkgs/applications/networking/cluster/hubble/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "hubble";
-  version = "0.12.3";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GVfPrKPX/y/trtZjIftUW1bH5Z/O/oIUoIjjEET38Mk=";
+    sha256 = "sha256-jFzxAzLv3EfqWgbXsN8d0OPY8pDy7OBjJIzr+x5yFF0=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index 8aa3656007ef..24a0df3f70b5 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.20.1";
+  version = "1.20.2";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    hash = "sha256-baY9O2F5qte6v8HM905VYdvqQZxkTSeu3ydB4Y4UM4E=";
+    hash = "sha256-0Ep7HPc+1e2M87Z6qCKvAxpYxWjajruTrpP9EBe1PC0=";
   };
-  vendorHash = "sha256-QEP7qG3RLVhEGsNJU0r/grVrcepouAC8usL9nLeaJFs=";
+  vendorHash = "sha256-o9NFRVAY5AD5CB9GGSJTvxJM6uXBrDQVBy1slOByIrU=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/kubecm/default.nix b/pkgs/applications/networking/cluster/kubecm/default.nix
index 9f9433253944..5fe9f237b6fa 100644
--- a/pkgs/applications/networking/cluster/kubecm/default.nix
+++ b/pkgs/applications/networking/cluster/kubecm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubecm";
-  version = "0.27.1";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner = "sunny0826";
     repo = "kubecm";
     rev = "v${version}";
-    hash = "sha256-Fg+jlnYkdv9Vfj94lxfmhoc6pyM0EAqwIBepFXYoO5M=";
+    hash = "sha256-v2frNvJUvDjPhV1RCR3DHk04kYEqP6hMXeA4j3cWlss=";
   };
 
-  vendorHash = "sha256-wj/IHNN8r6pwkKk0ZmpRjxr5nE2c+iypjCsZb+i5vwo=";
+  vendorHash = "sha256-uM9/rqu5WOXK6bqxhtmje+Zd9dtdv3qwt+Xr0SJHjPs=";
   ldflags = [ "-s" "-w" "-X github.com/sunny0826/kubecm/version.Version=${version}"];
 
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/kubectl-explore/default.nix b/pkgs/applications/networking/cluster/kubectl-explore/default.nix
index e19929b9e3e6..2eb7b6befb75 100644
--- a/pkgs/applications/networking/cluster/kubectl-explore/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl-explore/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubectl-explore";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "keisku";
     repo = "kubectl-explore";
     rev = "v${version}";
-    hash = "sha256-4WxvVsA05Mta7AcrGe26B+Up+x/gwdlCnb/PN9Ehu18=";
+    hash = "sha256-OVPct3EvtchH9pmMulIddsiR9VFoCegx9+O7lkecoJc=";
   };
 
-  vendorHash = "sha256-z/bPfY9UVqOnrA9jNUtM7jg53/URAMAJQAqH9D5KVPQ=";
+  vendorHash = "sha256-l6SANWkDQSuLbyixbO/Xr2oRG8HR/qquTT9b/IM+JVg=";
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/cluster/kubectl-node-shell/default.nix b/pkgs/applications/networking/cluster/kubectl-node-shell/default.nix
index 36238ae746ff..d8718b1d254c 100644
--- a/pkgs/applications/networking/cluster/kubectl-node-shell/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl-node-shell/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "kubectl-node-shell";
-  version = "1.8.1";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "kvaps";
     repo = "kubectl-node-shell";
     rev = "v${version}";
-    sha256 = "sha256-ZVLL++QTc4fvOTsFfaWVad/jj4EqPiZUpL7HsMb2AdE=";
+    hash = "sha256-QG1YQH2qd4TBkH42z9htni4llL13sEoBXlih4yc8r4w=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/networking/cluster/kubedog/default.nix b/pkgs/applications/networking/cluster/kubedog/default.nix
index fb6ff9632bf1..9618fcbf4457 100644
--- a/pkgs/applications/networking/cluster/kubedog/default.nix
+++ b/pkgs/applications/networking/cluster/kubedog/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "kubedog";
-  version = "0.12.2";
+  version = "0.12.3";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "kubedog";
     rev = "v${version}";
-    hash = "sha256-B6ITVr+Zk1+uMU9RAupvUIBwj8SICp7UyXi0RfIFiME=";
+    hash = "sha256-dk6ieIUoS1N2UtiLig5dFq0476xh69bjueN05ZKjcLg=";
   };
 
   vendorHash = "sha256-lLyIVA7Mkj1bfA/u8VMTwmKmhNfibYpT+dgIWFdOiPs=";
diff --git a/pkgs/applications/networking/cluster/kubergrunt/default.nix b/pkgs/applications/networking/cluster/kubergrunt/default.nix
index 0e26d0165c5f..e5a5e1ba9f4b 100644
--- a/pkgs/applications/networking/cluster/kubergrunt/default.nix
+++ b/pkgs/applications/networking/cluster/kubergrunt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubergrunt";
-  version = "0.14.0";
+  version = "0.14.2";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = "kubergrunt";
     rev = "v${version}";
-    sha256 = "sha256-2wyqCiP+hb5dLdaS322eo2yMSTjcQb+eBvr3HRnaTD0=";
+    sha256 = "sha256-r2lx+R/TQxD/miCJK3V//N3gKiCrg/mneT9BS+ZqRiU=";
   };
 
-  vendorHash = "sha256-cr3VVS+ASg3vmppvTYpaOLJNHDN0b+C9uSln7jeqTX4=";
+  vendorHash = "sha256-K24y41qpuyBHqljUAtNQu3H8BNqznxYOsvEVo+57OtY=";
 
   # Disable tests since it requires network access and relies on the
   # presence of certain AWS infrastructure
diff --git a/pkgs/applications/networking/cluster/kubeseal/default.nix b/pkgs/applications/networking/cluster/kubeseal/default.nix
index 991469dc0b57..eef739ebdbf4 100644
--- a/pkgs/applications/networking/cluster/kubeseal/default.nix
+++ b/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubeseal";
-  version = "0.24.5";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "bitnami-labs";
     repo = "sealed-secrets";
     rev = "v${version}";
-    sha256 = "sha256-OyYVilc5QEK7Mjp9NKQpvhR4HyNSUh/82eCl1LHf4fQ=";
+    sha256 = "sha256-maDfKFrszKexwzHw50iPu+aLLhi/QqKj6zmes9kS5Lk=";
   };
 
-  vendorHash = "sha256-TdEfw/f7dSIoueJoi7qqOegEBJQLHc6Em21dcDnCuJU=";
+  vendorHash = "sha256-3SrfD+6Gg9T9Qtb2PbipJZTe8Szs8Cef/61alwgHUUA=";
 
   subPackages = [ "cmd/kubeseal" ];
 
diff --git a/pkgs/applications/networking/cluster/kubeshark/default.nix b/pkgs/applications/networking/cluster/kubeshark/default.nix
index f4f04f6ce685..c04dfb0dca79 100644
--- a/pkgs/applications/networking/cluster/kubeshark/default.nix
+++ b/pkgs/applications/networking/cluster/kubeshark/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubeshark";
-  version = "52.0.0";
+  version = "52.1.9";
 
   src = fetchFromGitHub {
     owner = "kubeshark";
     repo = "kubeshark";
     rev = "v${version}";
-    hash = "sha256-CBiRQ3i3kPVMuhws30Pl/7deuEiUHnRiDKhad6/c7zU=";
+    hash = "sha256-VtL/fuXMc+vTaP3nSBQm0wfe8m3/yqv5nzjP0BDLVw8=";
   };
 
-  vendorHash = "sha256-LBvQ9Z6bEBzAzdaEBRJbixBjy1u7MlVTAn6vD/ZvCNM=";
+  vendorHash = "sha256-SmvO9DYOXxnmN2dmHPPOguVwEbWSH/xNLBB+idpzopo=";
 
   ldflags = let t = "github.com/kubeshark/kubeshark"; in [
    "-s" "-w"
diff --git a/pkgs/applications/networking/cluster/linkerd/default.nix b/pkgs/applications/networking/cluster/linkerd/default.nix
index c205b8431a2a..0a80fd2bac2d 100644
--- a/pkgs/applications/networking/cluster/linkerd/default.nix
+++ b/pkgs/applications/networking/cluster/linkerd/default.nix
@@ -2,7 +2,7 @@
 
 (callPackage ./generic.nix { }) {
   channel = "stable";
-  version = "2.14.8";
-  sha256 = "1iag3j3wr3q9sx85rj5nhzs4ygknx2xyazs5kd0vq2l8vb1ihbnn";
+  version = "2.14.9";
+  sha256 = "135x5q0a8knckbjkag2xqcr76zy49i57zf2hlsa70iknynq33ys7";
   vendorHash = "sha256-bGl8IZppwLDS6cRO4HmflwIOhH3rOhE/9slJATe+onI=";
 }
diff --git a/pkgs/applications/networking/cluster/linkerd/edge.nix b/pkgs/applications/networking/cluster/linkerd/edge.nix
index 0378e6c31be8..f0a42e167971 100644
--- a/pkgs/applications/networking/cluster/linkerd/edge.nix
+++ b/pkgs/applications/networking/cluster/linkerd/edge.nix
@@ -2,7 +2,7 @@
 
 (callPackage ./generic.nix { }) {
   channel = "edge";
-  version = "23.12.4";
-  sha256 = "0q6bizch27z1lmw7as7f34zf8b95605wpr27c2mb8s1375q9lixd";
-  vendorHash = "sha256-Mp2iZuESfTSe5whejJ7a43WSP6kmxFqoIlDxWx7vBLc=";
+  version = "24.1.2";
+  sha256 = "1rwdjlf20k84g94ca724wcpykpd9z0q8ymi0mdyz86kfry6hr5sz";
+  vendorHash = "sha256-8fNse2ZuyWqZsHSUh+buEIYPf8JsEL+0Z8tkbxfiCwA=";
 }
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index ee9defe2eeca..84d27a186c12 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-6YMDGvNl1uNMWR1xTPRjYGwaKXC5c4oUy88VRY2Bedw=";
+    hash = "sha256-Y76H/88/esziIermnzfOS48FLBRnVBN8u4C381n184M=";
   };
 
-  vendorHash = "sha256-tXLuOZUoMhVfhhYxnxNw+nYofhEFMKI1b94lVPySd3E=";
+  vendorHash = "sha256-oiBgZQtqFwq189h/Bb4CrFhs4RDYUoEEOjrccujGclU=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/roxctl/default.nix b/pkgs/applications/networking/cluster/roxctl/default.nix
index 9099f1e48dd9..607137c8d77a 100644
--- a/pkgs/applications/networking/cluster/roxctl/default.nix
+++ b/pkgs/applications/networking/cluster/roxctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "roxctl";
-  version = "4.3.3";
+  version = "4.3.4";
 
   src = fetchFromGitHub {
     owner = "stackrox";
     repo = "stackrox";
     rev = version;
-    sha256 = "sha256-G+BmcGrVxZmVHNl2VsN7nankEIB7uV/PFpQekipdT3c=";
+    sha256 = "sha256-5UMU3oKi3QhREum2YevOzwF5OOi8quPWgt+kgGjkeFQ=";
   };
 
   vendorHash = "sha256-Jzv4ozR8RJiwkgVGGq6dlV/7rbBLq8hFe/Pm4SJZCkU=";
diff --git a/pkgs/applications/networking/cluster/terraform-compliance/default.nix b/pkgs/applications/networking/cluster/terraform-compliance/default.nix
index e6dbc1883acc..ce1915242e43 100644
--- a/pkgs/applications/networking/cluster/terraform-compliance/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-compliance/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "terraform-compliance";
-  version = "1.3.46";
+  version = "1.3.47";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "terraform-compliance";
     repo = "cli";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-30aQA+VJY2qarpYGZpgt5ebYFt5UHUHJcuBNgKiGnt0=";
+    sha256 = "sha256-QJDKBM5CTOdF7oT42vL+Yp1UsQXWvkSZzo+WSsDxAZw=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 2655acbb8c09..67add3187d08 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -1,22 +1,22 @@
 {
   "aci": {
-    "hash": "sha256-8oQSliSbuSXCXFkwVca33E8g+qUP1Yf9I4n1/c6O8BA=",
+    "hash": "sha256-1N9Ya8WWb2gL84jYj4B8zllB5jQxRneVSNESYeRhj+c=",
     "homepage": "https://registry.terraform.io/providers/CiscoDevNet/aci",
     "owner": "CiscoDevNet",
     "repo": "terraform-provider-aci",
-    "rev": "v2.12.0",
+    "rev": "v2.13.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
   "acme": {
-    "hash": "sha256-hDZY+AY+MRHNbceVdAzLso9isUo/6/qTCk9hSZLBd2g=",
+    "hash": "sha256-wyDlI8G1MxZsoYPBjqQ32+/gK8DqQMXZWgTkATaOztQ=",
     "homepage": "https://registry.terraform.io/providers/vancluever/acme",
     "owner": "vancluever",
     "proxyVendor": true,
     "repo": "terraform-provider-acme",
-    "rev": "v2.19.0",
+    "rev": "v2.19.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-1OfGAuzd+rLAgLmzzkm3Biru0vb/xd3C5DJQcXwdlME="
+    "vendorHash": "sha256-PoykgWxMKmQzKUSojFICwjDucukfHYxHdgn60uD+UQ8="
   },
   "age": {
     "hash": "sha256-bJrzjvkrCX93bNqCA+FdRibHnAw6cb61StqtwUY5ok4=",
@@ -28,13 +28,13 @@
     "vendorHash": "sha256-jK7JuARpoxq7hvq5+vTtUwcYot0YqlOZdtDwq4IqKvk="
   },
   "aiven": {
-    "hash": "sha256-GlrHHg3byM18P2YSRoZGsJe+IH1DyYqey18KbkjpYrs=",
+    "hash": "sha256-7dKlhPGkt1WB/nlXV2IrNT7E3w2kNdishJB/xL299Cw=",
     "homepage": "https://registry.terraform.io/providers/aiven/aiven",
     "owner": "aiven",
     "repo": "terraform-provider-aiven",
-    "rev": "v4.12.1",
+    "rev": "v4.13.2",
     "spdx": "MIT",
-    "vendorHash": "sha256-S0C5utY/xNs8Jh1vOCFiq/GM/GV/Dt6jJmsnrAAsVSI="
+    "vendorHash": "sha256-rIyAhe4YQ9XG3nODCSxZRohHgNIPQ94pDLrh7+4Rj1k="
   },
   "akamai": {
     "hash": "sha256-CBBrX0mm6hyobOdhbDaud4HKupIMnDTJp7+kWSej+NI=",
@@ -46,11 +46,11 @@
     "vendorHash": "sha256-Y30DSv7gAW7JzaTYt0XGwLhTArFILPPnxYmP2mKe9Sc="
   },
   "alicloud": {
-    "hash": "sha256-We0Dfqh7qCY2XSQ5Jj+vFtTf2YIsZmCCxufC8vUeoDw=",
+    "hash": "sha256-LgpEooWXTefhH4HLVO1BIBUXXZBMO11ZS6NwsEbbnog=",
     "homepage": "https://registry.terraform.io/providers/aliyun/alicloud",
     "owner": "aliyun",
     "repo": "terraform-provider-alicloud",
-    "rev": "v1.214.1",
+    "rev": "v1.215.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -64,13 +64,13 @@
     "vendorHash": "sha256-OAd8SeTqTrH0kMoM2LsK3vM2PI23b3gl57FaJYM9hM0="
   },
   "archive": {
-    "hash": "sha256-uoHuh4LTbF27ns4oBRfmR7f/NvFd7j0NNmFWywl5x7U=",
+    "hash": "sha256-jkqbj7NGrTQeMQcg52JVurV3ce8iosxAJjBGdoQ3PLY=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/archive",
     "owner": "hashicorp",
     "repo": "terraform-provider-archive",
-    "rev": "v2.4.1",
+    "rev": "v2.4.2",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-F3bCFX57QTw5h/pnPB6pIrszXYqbwe0kzStOpmPgzHM="
+    "vendorHash": "sha256-buKYDNVCIcSDLCrCL4ZAKNQ7HqkH3+/7RHjyyR4dLmU="
   },
   "argocd": {
     "hash": "sha256-nJrXbeI/07LlKngEkAnqPG6CiOLFTFugmZMVl2FEvIo=",
@@ -82,22 +82,22 @@
     "vendorHash": "sha256-q9PO9tMbaXTs3nBLElwU05GcDZMZqNmLVVGDmiSRSfo="
   },
   "artifactory": {
-    "hash": "sha256-6WtnjsXzGZAIilm3N52G07o7eU9UQ6LXWqd7sDcV2Bg=",
+    "hash": "sha256-hcdd762uNBYJx2KL4kouR8qWuSZBtGO2egUwaWufOMg=",
     "homepage": "https://registry.terraform.io/providers/jfrog/artifactory",
     "owner": "jfrog",
     "repo": "terraform-provider-artifactory",
-    "rev": "v10.0.2",
+    "rev": "v10.1.2",
     "spdx": "Apache-2.0",
-    "vendorHash": "sha256-iYm8xaHDWqjq8ui5bsSMMKNRE0/KBkOkzmImOQwMA7w="
+    "vendorHash": "sha256-J/+OcqRtcHaqoDkrWIDpPlBHQ/UWupwchA1aeSoHSh4="
   },
   "auth0": {
-    "hash": "sha256-z40zGGgKtru83KbmhK5kQhbHdXjCQ7q5G0eAfvqfa4A=",
+    "hash": "sha256-6VwjKNX24r93EgVED+NK17dY577HL4tT76jSCgVIpHg=",
     "homepage": "https://registry.terraform.io/providers/auth0/auth0",
     "owner": "auth0",
     "repo": "terraform-provider-auth0",
-    "rev": "v1.1.1",
+    "rev": "v1.1.2",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-/rT/dVpla6r3pIouZZ7tmluKDyjdYuzdMGoPCNn+Ptk="
+    "vendorHash": "sha256-t40UZ9LF7PNhIqdEK6puuNeSDapTpC0+BTQgXQlMPTs="
   },
   "avi": {
     "hash": "sha256-EGpHajrTTOx7LrFHzsrrkGMqsuUEJLJAN6AJ48QdJis=",
@@ -109,22 +109,22 @@
     "vendorHash": "sha256-r42KHzvRBXuWgLgtg+WUVt0ThjSMXtUKjEE9y/s/1uQ="
   },
   "aviatrix": {
-    "hash": "sha256-PRYtkq4CLEbUJ7YOSlvDyz+z4icLi0DBkDCTs/tNoIQ=",
+    "hash": "sha256-84MtHPrDVaLMQQYnAfuP/pZuzruWxUTLpziwn3ny1oU=",
     "homepage": "https://registry.terraform.io/providers/AviatrixSystems/aviatrix",
     "owner": "AviatrixSystems",
     "repo": "terraform-provider-aviatrix",
-    "rev": "v3.1.3",
+    "rev": "v3.1.4",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
   "aws": {
-    "hash": "sha256-wEbpTOlIZjewEepvqTjQRZAY4BtpetMF+HzvmdFEHGw=",
+    "hash": "sha256-UI1ECQ1bHxwjxtBzpgwbyZLexRH+7L6rjrEcyxSed0g=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/aws",
     "owner": "hashicorp",
     "repo": "terraform-provider-aws",
-    "rev": "v5.31.0",
+    "rev": "v5.34.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-SVrPxBzcykecphwpHvcAhUbmf77eXC9VDdabGzg2bn8="
+    "vendorHash": "sha256-sccfJ5EUY9XTjDYah9/0R9L53Zzdfi06kWi5QaFp+og="
   },
   "azuread": {
     "hash": "sha256-lumXl3orK5Jq5+qnRfiIA94NjK2bCjd3LhRzHmW1h8I=",
@@ -136,11 +136,11 @@
     "vendorHash": null
   },
   "azurerm": {
-    "hash": "sha256-0AD30AibmJpfP+5ZT9aQDaeNWyViI9lajq2c4LzEUz4=",
+    "hash": "sha256-QNaTyyz7H5jf7znPOv6ZTUnaI2zPNHnfZXp2ns3Nv00=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/azurerm",
     "owner": "hashicorp",
     "repo": "terraform-provider-azurerm",
-    "rev": "v3.86.0",
+    "rev": "v3.89.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -154,13 +154,14 @@
     "vendorHash": null
   },
   "baiducloud": {
-    "hash": "sha256-YZC3Z9F2SvnUS7yN4blmXy9g4mRr0zPQ9G/yoKa/91g=",
+    "deleteVendor": true,
+    "hash": "sha256-+/QLVhVzT80IYwoXvRoxHok3PAw+ZPQhH+b5YARFFLU=",
     "homepage": "https://registry.terraform.io/providers/baidubce/baiducloud",
     "owner": "baidubce",
     "repo": "terraform-provider-baiducloud",
-    "rev": "v1.19.26",
+    "rev": "v1.19.31",
     "spdx": "MPL-2.0",
-    "vendorHash": null
+    "vendorHash": "sha256-7FA5bhb22C/OUhcHrcZK2D4esj+su/HLB7pTyX7ot44="
   },
   "bigip": {
     "hash": "sha256-itRFSpaso9AJpjsXNpVxUgoG13Ys7dSuG5XCcuCkuMk=",
@@ -217,31 +218,32 @@
     "vendorHash": null
   },
   "cloudamqp": {
-    "hash": "sha256-ways6qj4rwoBo0XS69aMIMlBssv4R8CFZ4l5Lsnlih0=",
+    "hash": "sha256-TWBilEfRrLUk1PIAO/Vq1wed1BTALKApeBGTa5WtN5g=",
     "homepage": "https://registry.terraform.io/providers/cloudamqp/cloudamqp",
     "owner": "cloudamqp",
     "repo": "terraform-provider-cloudamqp",
-    "rev": "v1.29.1",
+    "rev": "v1.29.3",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-+HZzsAsEJuzEZ61ARaNYC1WxI3M6UwFEf+8q3Bd/JWA="
   },
   "cloudflare": {
-    "hash": "sha256-X7bjuZQ0UMEmPBQg9U5ZykBViDrcvumsoGCaIegMxP8=",
+    "hash": "sha256-ftpfjKjW+60n+mmwdx/ivpge4Nt2H1I3ElSk3AhPevY=",
     "homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
     "owner": "cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v4.21.0",
+    "rev": "v4.23.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-0Ci2x2yVOU9ChlFJFFObR4DZqe4hX30/ARv+CGDa88k="
+    "vendorHash": "sha256-F+6bk+Lc0ziRJ/LBhrb5bS8oMN9zT7WqzPZKVUReNU4="
   },
   "cloudfoundry": {
-    "hash": "sha256-yEqsdgTSlwppt6ILRZQ6Epyh5WVN6Il3xsBOa/NfIdo=",
+    "hash": "sha256-1nYncJLVU/f9WD6Quh9IieIXgixPzbPk4zbtI1zmf9g=",
     "homepage": "https://registry.terraform.io/providers/cloudfoundry-community/cloudfoundry",
     "owner": "cloudfoundry-community",
+    "proxyVendor": true,
     "repo": "terraform-provider-cloudfoundry",
-    "rev": "v0.51.3",
+    "rev": "v0.52.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-0hq4dR1KqnE2IXMwif2/NVKQKRO/QplW/A6sB4pJ+FM="
+    "vendorHash": "sha256-g1T6kH8Rv9bpvb6Q3YHCseEi1ayydJIxlplH3k12s8c="
   },
   "cloudinit": {
     "hash": "sha256-etZeCGtYhO0szRGxnj1c3/WOelxScWiHEA9w1Jb7bEE=",
@@ -290,13 +292,13 @@
     "vendorHash": "sha256-ZCMSmOCPEMxCSpl3DjIUGPj1W/KNJgyjtHpmQ19JquA="
   },
   "datadog": {
-    "hash": "sha256-NEXA4oRPC+A8aDuecp45mQm3NbAQKIHR0GSfxDVkeUw=",
+    "hash": "sha256-JH0QDASZLFU9beexGze0vg1qrQutgAeGSExwHnYRyKs=",
     "homepage": "https://registry.terraform.io/providers/DataDog/datadog",
     "owner": "DataDog",
     "repo": "terraform-provider-datadog",
-    "rev": "v3.34.0",
+    "rev": "v3.35.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-57cwm7RqCqDR9PmnBFMnrM2vTogCOlpXwvVwnBkkA0Y="
+    "vendorHash": "sha256-eGOUtinVIi6R1R19nosw60I+DfdJNxmw3pBrS171tRI="
   },
   "dexidp": {
     "hash": "sha256-3UgiOeAGpGG2mkImPDvb24WjV2mavhY0E12j7W+SJs8=",
@@ -345,13 +347,13 @@
     "vendorHash": "sha256-z2p2tjTK7eL0gRU8XnXw9SY9qokqiqJOVhkiBQlHRnA="
   },
   "dnsimple": {
-    "hash": "sha256-6QubFsPp3sOmCSgIpRH+x+Q9YDDnOnfX5UzV+iy3uh4=",
+    "hash": "sha256-iH35dJLa/63s+CU5PdeMbqXUVGfWfpKIXH3znNUApEc=",
     "homepage": "https://registry.terraform.io/providers/dnsimple/dnsimple",
     "owner": "dnsimple",
     "repo": "terraform-provider-dnsimple",
-    "rev": "v1.3.1",
+    "rev": "v1.4.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-TTRxLal+oao8UtZpeZ4/HdR99WHGXARZWKqy1baT/mE="
+    "vendorHash": "sha256-fuIaNHlZica6PxFLzXGA+b6ODWrGWXdWYOeWzgiQRXo="
   },
   "docker": {
     "hash": "sha256-UyHOI8C0eDV5YllAi9clHp/CEldHjIp3FHHMPy1rK58=",
@@ -363,13 +365,13 @@
     "vendorHash": "sha256-XxltOTtCgmJ9wZX8Yw39HkwVVZb58kZjAH7jfKPhjKM="
   },
   "doppler": {
-    "hash": "sha256-zebkytKTBZ1WRS8oSdW/5B7McnL5GBClN79igdjcMvs=",
+    "hash": "sha256-YOJbeMFwEF+r4vOdKM5txdqPeYV1/8N/DKwlMjQiT6w=",
     "homepage": "https://registry.terraform.io/providers/DopplerHQ/doppler",
     "owner": "DopplerHQ",
     "repo": "terraform-provider-doppler",
-    "rev": "v1.3.0",
+    "rev": "v1.4.0",
     "spdx": "Apache-2.0",
-    "vendorHash": "sha256-Z5GKIty78BUFF3VbTcsZKi437gw/kOIHEKkAYu3uB2o="
+    "vendorHash": "sha256-qJ1mOuMyJ/f2/yCns7qY8zUt2lgDuBgzN0w1HCKBk7E="
   },
   "elasticsearch": {
     "hash": "sha256-a6kHN3w0sQCP+0+ZtFwcg9erfVBYkhNo+yOrnwweGWo=",
@@ -381,20 +383,20 @@
     "vendorHash": "sha256-oVTanZpCWs05HwyIKW2ajiBPz1HXOFzBAt5Us+EtTRw="
   },
   "equinix": {
-    "hash": "sha256-zjYMJfG+FJpgDWdDxlwp02lhs5yn15EIJqrAGIbrgDs=",
+    "hash": "sha256-WWW4X5fCQAZZiAVi79realf0EtB0AGnfS5yjSJrlZTU=",
     "homepage": "https://registry.terraform.io/providers/equinix/equinix",
     "owner": "equinix",
     "repo": "terraform-provider-equinix",
-    "rev": "v1.22.0",
+    "rev": "v1.26.0",
     "spdx": "MIT",
-    "vendorHash": "sha256-c40HqNBU0dXsidddgXuke8cSo/frAUKlxWMbsimiYMc="
+    "vendorHash": "sha256-vMmHoQEXXPbFS/q+wy35SQd5+yEXLQFVWX9AKsmbTn4="
   },
   "exoscale": {
-    "hash": "sha256-HVNGzcX0l7E4jB6TiWSPG9XRmpKL6HIt2gaYiDLFOb4=",
+    "hash": "sha256-SDvW6VC8MwrAWhFGNFMNXA55FbMwSBs9BjX9gnqesZ8=",
     "homepage": "https://registry.terraform.io/providers/exoscale/exoscale",
     "owner": "exoscale",
     "repo": "terraform-provider-exoscale",
-    "rev": "v0.54.1",
+    "rev": "v0.55.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -454,33 +456,33 @@
     "vendorHash": null
   },
   "gitlab": {
-    "hash": "sha256-J7jjGlvdxdAfbvSuekVaDTOZbY3MhxvLQMxGFH6LKEQ=",
+    "hash": "sha256-sk18gC7ZecdvXIzYrNhyYLduttZrVVgekNjgYR379TY=",
     "homepage": "https://registry.terraform.io/providers/gitlabhq/gitlab",
     "owner": "gitlabhq",
     "repo": "terraform-provider-gitlab",
-    "rev": "v16.7.0",
+    "rev": "v16.8.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-X+8WUPVpP27wWeWM1DA8P3fOToK791mtO6/grKyxcXg="
+    "vendorHash": "sha256-dfsIEyLyTTJJxMPXWyo0YuSaRrjL+qGL654TAgECWPM="
   },
   "google": {
-    "hash": "sha256-ZlU2ifri8yM6oUwS1tVmHkTbZfdcei7M0aaX8d4o4NE=",
+    "hash": "sha256-oGd2r/qCpiX/+vLDUlMhBBatZHmX0V+28jkhwy1zga4=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/google",
     "owner": "hashicorp",
     "proxyVendor": true,
     "repo": "terraform-provider-google",
-    "rev": "v5.11.0",
+    "rev": "v5.13.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-N/FsxRGQu7GQG54oUO4TYiBFjRSZaU1vxBidC56D7m8="
+    "vendorHash": "sha256-1VdjxH20jZw6u33TLVMw/qxTHdviqF45SmWiKald2yw="
   },
   "google-beta": {
-    "hash": "sha256-VZmoIR4yDh3uaaE9DOt6B04IIxsqla+dFWWXbU2qW1c=",
+    "hash": "sha256-Q7hQff48vpGoiUPDWF+IuiJYDRMJgajqc7Jzgb4aUj4=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
     "owner": "hashicorp",
     "proxyVendor": true,
     "repo": "terraform-provider-google-beta",
-    "rev": "v5.11.0",
+    "rev": "v5.13.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-N/FsxRGQu7GQG54oUO4TYiBFjRSZaU1vxBidC56D7m8="
+    "vendorHash": "sha256-1VdjxH20jZw6u33TLVMw/qxTHdviqF45SmWiKald2yw="
   },
   "googleworkspace": {
     "hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
@@ -492,13 +494,13 @@
     "vendorHash": "sha256-fqVBnAivVekV+4tpkl+E6eNA3wi8mhLevJRCs3W7L2g="
   },
   "grafana": {
-    "hash": "sha256-6A7+9LuKq7XvP65XB00wTKfbY0cXbGR2puVP3qMSVfA=",
+    "hash": "sha256-hC87cIbDqK9rTK/SOuLy4qBVpMUCPxrFb+ReDkGhU1o=",
     "homepage": "https://registry.terraform.io/providers/grafana/grafana",
     "owner": "grafana",
     "repo": "terraform-provider-grafana",
-    "rev": "v2.8.1",
+    "rev": "v2.10.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-FhpuE01EcxnZALAeMvSBxKmgJRNiJvQg6+WVKCI3Cek="
+    "vendorHash": "sha256-/cS4skB/p4QMeRqxpgp7JjnkTnTHVtb5M9YEVA1X+k0="
   },
   "gridscale": {
     "hash": "sha256-nOuckOEiHTMUOSjRwTHaitLOosraEl2mbU4gafi3gi4=",
@@ -510,13 +512,13 @@
     "vendorHash": null
   },
   "hcloud": {
-    "hash": "sha256-9yW3VbxtD+oSxmc2R9yzZisMTAOwjzyCzvZBRdFdH/w=",
+    "hash": "sha256-D7RBrpOxfSfeip7z+mAkWBjSTVnnM/MfN7Qvl/E+nA0=",
     "homepage": "https://registry.terraform.io/providers/hetznercloud/hcloud",
     "owner": "hetznercloud",
     "repo": "terraform-provider-hcloud",
-    "rev": "v1.44.1",
+    "rev": "v1.45.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-oGABaZRnwZdS5qPmksT4x7Tin2WpU2Jk9pejeHbghm8="
+    "vendorHash": "sha256-sipYN9Z76fib4j15VIn/1Rn7QelNNB2+KeFn5rIA6hM="
   },
   "helm": {
     "hash": "sha256-Zj0mZfQhZimk3QozKHNU7quO/SqV3278Y+l9bFa8w/k=",
@@ -528,11 +530,11 @@
     "vendorHash": "sha256-qoXWnAbjRsvFDtlDCfeaIjc5hZIbCgosyH0pXhHkWiA="
   },
   "heroku": {
-    "hash": "sha256-M1HdcKHOVf/rxjECvHqnU6FRXE6T8TpI24Fo0gkZ6FU=",
+    "hash": "sha256-B/NaFe8KOKGJJlF3vZnpdMnbD1VxBktqodPBk+4NZEc=",
     "homepage": "https://registry.terraform.io/providers/heroku/heroku",
     "owner": "heroku",
     "repo": "terraform-provider-heroku",
-    "rev": "v5.2.7",
+    "rev": "v5.2.8",
     "spdx": null,
     "vendorHash": null
   },
@@ -727,13 +729,13 @@
     "vendorHash": "sha256-T/YQsNpPISDSVi00KrLRX/+jFNQVl2ze/3D2ZRxmUjI="
   },
   "lxd": {
-    "hash": "sha256-2th4/2uLFnmSFKI94bSSt4OSX9wiML/OkThR6SbUCPE=",
+    "hash": "sha256-culY1Im8D4CtgC2LtTFFB0BgrNgLfDLT0I290+0NE3A=",
     "homepage": "https://registry.terraform.io/providers/terraform-lxd/lxd",
     "owner": "terraform-lxd",
     "repo": "terraform-provider-lxd",
-    "rev": "v1.10.4",
+    "rev": "v2.0.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-gcXX4XIyY2X7ZSDMVVzGL/ltaf8Z1/Zx8oJo/IDrIBA="
+    "vendorHash": "sha256-NHf6xjbbDHsTdjzZ0gIa08PE53Bjv2llBRIgNTx7fj4="
   },
   "mailgun": {
     "hash": "sha256-fg1I1lt2cA0DgxLnxYrm0V55pD9AkpAdonXVGYeFZwQ=",
@@ -763,13 +765,13 @@
     "vendorHash": "sha256-QxbZv6YMa5/I4bTeQBNdmG3EKtLEmstnH7HMiZzFJrI="
   },
   "migadu": {
-    "hash": "sha256-Alr9E9kaShDls8KZzi1OAennXi+T7y4F6AnpMLnhOgM=",
+    "hash": "sha256-4mT5BbOXl4OY99ao6nyQQgQImPk/1X7lOAZcAxYToQw=",
     "homepage": "https://registry.terraform.io/providers/metio/migadu",
     "owner": "metio",
     "repo": "terraform-provider-migadu",
-    "rev": "2023.12.21",
+    "rev": "2024.1.25",
     "spdx": "0BSD",
-    "vendorHash": "sha256-xCra7bh/vydRUAV/g5L8ZbJR3K+UeT8ovz7vMpsupAE="
+    "vendorHash": "sha256-eee9X1QTDqL9rIGOnnxLU6QlcSIeMLlTZnHYis+ht+w="
   },
   "minio": {
     "hash": "sha256-i3YYBffP7Jp3f0wN1ZwP+c7C8WN8EKUh7JOKzbH0R/I=",
@@ -808,13 +810,13 @@
     "vendorHash": null
   },
   "newrelic": {
-    "hash": "sha256-dRO12NFsZnRxbKBo7B0wK2C5HHBVA0iIdCU+sYzuSqA=",
+    "hash": "sha256-9oYJTB4GYnLqw7paELFA8MdhLa5C9+aTCbzHOqrX+Io=",
     "homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
     "owner": "newrelic",
     "repo": "terraform-provider-newrelic",
-    "rev": "v3.28.1",
+    "rev": "v3.29.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-mcw5BfZLmSidhkJz/NonraE77HonthI6WUwRfammM/g="
+    "vendorHash": "sha256-GwvO9w1WikBseQpGMJXZ4G6E4eyTxrpNWmFWpWGC4Vs="
   },
   "nomad": {
     "hash": "sha256-MEQK/HF9SNEKehLIUMBm2P0WdR5yISJ8DCpI0fVP/DA=",
@@ -845,20 +847,20 @@
   },
   "nutanix": {
     "deleteVendor": true,
-    "hash": "sha256-Okjb4MS28gY1UdYA8+qs45VV5QcGabvMn5bc+nhzbt4=",
+    "hash": "sha256-p1VhGSor/uxQYiSb9enAeu6dtLRuXMKk9m2DtPEj6vs=",
     "homepage": "https://registry.terraform.io/providers/nutanix/nutanix",
     "owner": "nutanix",
     "repo": "terraform-provider-nutanix",
-    "rev": "v1.9.4",
+    "rev": "v1.9.5",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI="
   },
   "oci": {
-    "hash": "sha256-s+yyvYJCEcG3BxcPbnHR88WzZfuwk2c4QNGkdqSwLn4=",
+    "hash": "sha256-WpBYrIm0Holm3ynEZjC7Pkqk8w4jGXu9Q7iOmKN8h/g=",
     "homepage": "https://registry.terraform.io/providers/oracle/oci",
     "owner": "oracle",
     "repo": "terraform-provider-oci",
-    "rev": "v5.23.0",
+    "rev": "v5.26.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -881,13 +883,13 @@
     "vendorHash": null
   },
   "opennebula": {
-    "hash": "sha256-WVNCZDb96vsDfRvAz0MQlHmQUj+PbJ2CVWJ/A7yOAGk=",
+    "hash": "sha256-Bz/JKPbdxKS7VDnQoXnZ5ajqh++ujl+4wIS49BDtT94=",
     "homepage": "https://registry.terraform.io/providers/OpenNebula/opennebula",
     "owner": "OpenNebula",
     "repo": "terraform-provider-opennebula",
-    "rev": "v1.3.1",
+    "rev": "v1.4.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-W7UGOtyFsIMXPqFDnde2XlzU7klR7Fs00mSuJ9ID20A="
+    "vendorHash": "sha256-Hd6vh4ihuR1rRk5yIu1mPuDMb4Not4soKld10MfOuGU="
   },
   "openstack": {
     "hash": "sha256-sFv7n5tf3aAwe6R1XeJdU3XMDF9ZMCM3t/vVLegZaXM=",
@@ -899,13 +901,13 @@
     "vendorHash": "sha256-hVsqlWTZoYAMWMeismKhiqFxSFbkTBSIEMSLZx5stnQ="
   },
   "opentelekomcloud": {
-    "hash": "sha256-KDVbrOwThgZJMD2qmHPhcV+ZbMz3sPM+ZOa4Cw7KEYA=",
+    "hash": "sha256-4AsU4O5YxyqUvxBPwQw56dPGXoEsHBxJfHc5tnEPz4Q=",
     "homepage": "https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud",
     "owner": "opentelekomcloud",
     "repo": "terraform-provider-opentelekomcloud",
-    "rev": "v1.35.15",
+    "rev": "v1.36.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-LWFUVxEF9u6ddVjFVjmzbrcqblKuNurluYlV8/2tn6s="
+    "vendorHash": "sha256-2XxpNnJkmXFd8CHETUlj1T3eQWDssFqPKzrWAbOOYzk="
   },
   "opsgenie": {
     "hash": "sha256-ZssKhfwFrzCjvlebEmKAHWBInN5daVqxbmVFoA92dv8=",
@@ -926,11 +928,11 @@
     "vendorHash": null
   },
   "pagerduty": {
-    "hash": "sha256-XP7Y8qCnsCDMfMV1ip09y5HZHZUmpvYzBZA3xodedTw=",
+    "hash": "sha256-PgMG1TfeJ5vMmp+DxjFKL3UdHpHmPUwF6GG/y36Km+s=",
     "homepage": "https://registry.terraform.io/providers/PagerDuty/pagerduty",
     "owner": "PagerDuty",
     "repo": "terraform-provider-pagerduty",
-    "rev": "v3.4.0",
+    "rev": "v3.6.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -1034,13 +1036,13 @@
     "vendorHash": null
   },
   "scaleway": {
-    "hash": "sha256-KSkVKPRBSdajQrf9XbcVDu+migRWqCKAYxVuywILzEo=",
+    "hash": "sha256-xJpCu2/7pf6kkZVPhozAXfeU5mbzdVDYT2DvDmjajCc=",
     "homepage": "https://registry.terraform.io/providers/scaleway/scaleway",
     "owner": "scaleway",
     "repo": "terraform-provider-scaleway",
-    "rev": "v2.35.0",
+    "rev": "v2.36.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-vG5wLysF76t4eGIaV8eyrH7TNeZKci2gJ/AfZEUlhdA="
+    "vendorHash": "sha256-E/qBdcSPq/hpG0b0pmeY6ugItNrtu0HUdlJxpakAVwE="
   },
   "secret": {
     "hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
@@ -1061,13 +1063,13 @@
     "vendorHash": "sha256-FjJosTjFRJnBW22IB9UHfZe9KWrT1h12InyUl0q7a28="
   },
   "sentry": {
-    "hash": "sha256-VTgD19eWeRtDFOuUjnSANkNz8pN/UutJeFgS5qkMpH8=",
+    "hash": "sha256-sUXOH0cbD5Zf3e4KHLUYM8vu2knJdfIWZ+fq9HMfJ54=",
     "homepage": "https://registry.terraform.io/providers/jianyuan/sentry",
     "owner": "jianyuan",
     "repo": "terraform-provider-sentry",
-    "rev": "v0.12.1",
+    "rev": "v0.12.2",
     "spdx": "MIT",
-    "vendorHash": "sha256-lwTsKX3rQObMvysvcPYxJxd09LRlWTH2s+APiOhnalo="
+    "vendorHash": "sha256-C4gyHcfWN7v5a5gB8CjoDkAlqRxgd6bpsT8n9St2tEM="
   },
   "shell": {
     "hash": "sha256-LTWEdXxi13sC09jh+EFZ6pOi1mzuvgBz5vceIkNE/JY=",
@@ -1079,11 +1081,11 @@
     "vendorHash": "sha256-MIO0VHofPtKPtynbvjvEukMNr5NXHgk7BqwIhbc9+u0="
   },
   "signalfx": {
-    "hash": "sha256-ILh5mdTyzU0AfJzyGH9JK1QsOER0BtKn9vXyRaGeb8g=",
+    "hash": "sha256-kUubyCd00VhB72JEvWDBLF4/uglzkBmijcbotTyQgyA=",
     "homepage": "https://registry.terraform.io/providers/splunk-terraform/signalfx",
     "owner": "splunk-terraform",
     "repo": "terraform-provider-signalfx",
-    "rev": "v9.0.0",
+    "rev": "v9.0.1",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-PQU4VC5wHcB70UkZaRT8jtz+qOAONU2SxtRrTmml9vY="
   },
@@ -1097,11 +1099,11 @@
     "vendorHash": null
   },
   "snowflake": {
-    "hash": "sha256-G/LHNXkK/pOwNqpoCudM3eGQgv1U2r5l4N/gJfJ5JzU=",
+    "hash": "sha256-uMXU/0LqOMBRaIOw1hxCdWuogrkWW9r/28YHniOxCbA=",
     "homepage": "https://registry.terraform.io/providers/Snowflake-Labs/snowflake",
     "owner": "Snowflake-Labs",
     "repo": "terraform-provider-snowflake",
-    "rev": "v0.82.0",
+    "rev": "v0.84.1",
     "spdx": "MIT",
     "vendorHash": "sha256-nT/zEQgHWnCrlm6TL/DnXIvwDxEs147OfXn/qnlvIH0="
   },
@@ -1115,13 +1117,13 @@
     "vendorHash": "sha256-8W1PK4T98iK1N6EB6AVjvr1P9Ja51+kSOmYAEosxrh8="
   },
   "spotinst": {
-    "hash": "sha256-LJVaD0GW3a4sDwUuxB8C0Rp+s1wFknMo0LFPDkClp68=",
+    "hash": "sha256-cLP/I54ClS0aQ14cWrtV57WrDJzBO3fpOMjd9GPR/Z0=",
     "homepage": "https://registry.terraform.io/providers/spotinst/spotinst",
     "owner": "spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.158.0",
+    "rev": "v1.160.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-7hgpA6ck7I5r1rkTjJSZ2vbLAe0suS+GaVJ80LlbJsM="
+    "vendorHash": "sha256-xsV1Co7kSDUrhT6wL6WAzNV/ciHyinW2V6svsezY3/s="
   },
   "stackpath": {
     "hash": "sha256-aCaoRxlV/UxYobHC5OqFO8nt9oQgyug1AuJffhnwauc=",
@@ -1142,11 +1144,11 @@
     "vendorHash": "sha256-9M1DsE/FPQK8TG7xCJWbU3HAJCK3p/7lxdzjO1oAfWs="
   },
   "sumologic": {
-    "hash": "sha256-HMjghu/2Q7rPkVKO5qtKAqEZFexbK3lfiylwB8Q2sYw=",
+    "hash": "sha256-LQ+EDvnQVuNhMMAlU27R9aytWsfdyaHHiGLF4zBs4d0=",
     "homepage": "https://registry.terraform.io/providers/SumoLogic/sumologic",
     "owner": "SumoLogic",
     "repo": "terraform-provider-sumologic",
-    "rev": "v2.28.0",
+    "rev": "v2.28.1",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-iNBM4Y24vDGPKyb5cppSogk145F0/pAFmOzEeiWgfLI="
   },
@@ -1169,11 +1171,11 @@
     "vendorHash": "sha256-FWwHAaUKUw7DyNs4sAlkLkGNj48wMJgpFvfQgbp8lFs="
   },
   "tencentcloud": {
-    "hash": "sha256-pgG8Y/Bnyg86TNK4pjhBXXLijQE2nCe/Q35L+SY1AJs=",
+    "hash": "sha256-miYELvWd/b33JUe74j3pYmyDIRrOI+8PEv4mJ+MfhNE=",
     "homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud",
     "owner": "tencentcloudstack",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.81.64",
+    "rev": "v1.81.71",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -1187,11 +1189,11 @@
     "vendorHash": "sha256-lxXTiJeZ/8psry2dxrecB+o0xElSQrCjwZ9zXijI9Bs="
   },
   "thunder": {
-    "hash": "sha256-wS50I4iTnHq0rDUoz7tQXpqW84wugQQiw42xhzxFiRw=",
+    "hash": "sha256-ezolcZ652YUV/CDoNKNRZkiRpRoa5AMqHxeYLxluA5A=",
     "homepage": "https://registry.terraform.io/providers/a10networks/thunder",
     "owner": "a10networks",
     "repo": "terraform-provider-thunder",
-    "rev": "v1.3.0",
+    "rev": "v1.4.1",
     "spdx": "BSD-2-Clause",
     "vendorHash": null
   },
@@ -1242,22 +1244,22 @@
     "vendorHash": null
   },
   "utils": {
-    "hash": "sha256-WbJy1lwEX6RCYxZydCJ+0U/mJB4NoYiUg9+zf8Mxnwk=",
+    "hash": "sha256-7o3pVJvwnO80bXPJ5i0wfgz9mVqmXJRvGsVWj7N92gA=",
     "homepage": "https://registry.terraform.io/providers/cloudposse/utils",
     "owner": "cloudposse",
     "repo": "terraform-provider-utils",
-    "rev": "1.14.0",
+    "rev": "1.15.0",
     "spdx": "Apache-2.0",
-    "vendorHash": "sha256-vFfwa8DfmiHpbBbXPNovPC7SFoXRjyHRwOVqBcWCEtI="
+    "vendorHash": "sha256-jz1eQG7pyeYt96KndzY1iR8n5Xm/1NNM7AD5eR8W/k0="
   },
   "vault": {
-    "hash": "sha256-Db56SNnIHUuiIUKFKC5NwWaIbfsT85GZ95UBR+PUSMY=",
+    "hash": "sha256-nFthtHwWuWEgtrw6mhqDlXW5sOuxqHlMyReHvYNcasQ=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/vault",
     "owner": "hashicorp",
     "repo": "terraform-provider-vault",
-    "rev": "v3.23.0",
+    "rev": "v3.24.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-5rRWlInDRj7hw4GZqTxfH7Y8tyTvzJgBWA1I5j0EyaI="
+    "vendorHash": "sha256-SjKFRIrIQD9rsoHkoBxNDdCd8iBF1aHdJodII1ml7Ds="
   },
   "vcd": {
     "hash": "sha256-TP9COMofx4c2GZ0dQkfopn4iq8ddfV3WwuNjTu6yQnU=",
@@ -1323,12 +1325,12 @@
     "vendorHash": "sha256-GRnVhGpVgFI83Lg34Zv1xgV5Kp8ioKTFV5uaqS80ATg="
   },
   "yandex": {
-    "hash": "sha256-piN10vAmUjI/jHTGVWvSGFNR7T01/51E8rJ+UZZt5Vk=",
+    "hash": "sha256-B0gc1PfAlwq//JvfEx4r+QUBDE1eO4ACJO6H2/TZvz8=",
     "homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex",
     "owner": "yandex-cloud",
     "repo": "terraform-provider-yandex",
-    "rev": "v0.104.0",
+    "rev": "v0.106.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-W/i1r+SdYPTU4kha5Pr4i8+Xr8KqTEKFZDA3+vMP8pk="
+    "vendorHash": "sha256-6GLzXkRrDAsTxdrzz+sWf2AxkTHdyjfu72l4s0KwndY="
   }
 }
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index bc75fce9d69e..6aec8341b7ba 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -167,9 +167,9 @@ rec {
   mkTerraform = attrs: pluggable (generic attrs);
 
   terraform_1 = mkTerraform {
-    version = "1.7.1";
-    hash = "sha256-e+YXOqXgiUXtm6P8PulZowRK0OLA8ekmS+MZRQP/srg=";
-    vendorHash = "sha256-77W0x6DENB+U3yB4LI3PwJU9bTuH7Eqz2a9FNoERuJg=";
+    version = "1.7.2";
+    hash = "sha256-jTzZWmYeKF87Er2i7XHquM8oQyF4q/qoBf4DdMqv7L8=";
+    vendorHash = "sha256-DI4YTjdFFvfby8ExEY3KoK4J9YKK5LPpMbelzFMDVVs=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = {
       inherit plugins;
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index 0b1f6c783912..52f02d11287f 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.54.16";
+  version = "0.54.22";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-UWldCHuRZI3pKl65VVorik9ucN0+xWyfl6r3X5m2xoI=";
+    hash = "sha256-Kxj/Op+XWKJ5C0sShnXp8zovpn0BZh7CYm8FwLHTXpI=";
   };
 
-  vendorHash = "sha256-kGHcVWO59LyFGDjh9fC++z6PSirepa5QNHDJoojT5kA=";
+  vendorHash = "sha256-Y5+XruUqya+sY3DuX/bVVT4ZVYmTBIDoFRAiRKFyX3M=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/tfupdate/default.nix b/pkgs/applications/networking/cluster/tfupdate/default.nix
index 1b9906856878..b60da990413b 100644
--- a/pkgs/applications/networking/cluster/tfupdate/default.nix
+++ b/pkgs/applications/networking/cluster/tfupdate/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tfupdate";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "minamijoyo";
     repo = "tfupdate";
     rev = "v${version}";
-    sha256 = "sha256-HyDWye7xL0g5vDoGl8FYFXfuMKU4rxAlFawQ5ynqkmc=";
+    sha256 = "sha256-WVYWoojNRAKmFt5kTaE86TNgodTld/vZ4O2LmLcU6sA=";
   };
 
-  vendorHash = "sha256-oPqAH+i9ryb1Ps1yCkxoPgMmf4RNtFBCeE94vZAEnuo=";
+  vendorHash = "sha256-BjusVkp7gN/w2uC1ZyUDaqvXvjEN6BVYNcwNZFOLjDc=";
 
   # Tests start http servers which need to bind to local addresses:
   # panic: httptest: failed to listen on a port: listen tcp6 [::1]:0: bind: operation not permitted
diff --git a/pkgs/applications/networking/cluster/tilt/assets.nix b/pkgs/applications/networking/cluster/tilt/assets.nix
index 0f98bbdb10db..6bc70de3213f 100644
--- a/pkgs/applications/networking/cluster/tilt/assets.nix
+++ b/pkgs/applications/networking/cluster/tilt/assets.nix
@@ -14,7 +14,7 @@ stdenvNoCC.mkDerivation rec {
 
   yarnOfflineCache = fetchYarnDeps {
     yarnLock = "${src}/web/yarn.lock";
-    hash = "sha256-UTxglGn3eIgahZg4kxolg2f2MTReCL4r/GyWNg4105E=";
+    hash = "sha256-0JpoAQKRmU7P1bzYNR/vqtPjOOSw8wSlNjXl2f6uBrw=";
   };
 
   configurePhase = ''
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
index 646f0c9a0a3d..819d3dbc5095 100644
--- a/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/pkgs/applications/networking/cluster/tilt/default.nix
@@ -5,13 +5,13 @@ let args = rec {
       /* Do not use "dev" as a version. If you do, Tilt will consider itself
         running in development environment and try to serve assets from the
         source tree, which is not there once build completes.  */
-      version = "0.33.6";
+      version = "0.33.10";
 
       src = fetchFromGitHub {
         owner = "tilt-dev";
         repo = "tilt";
         rev = "v${version}";
-        hash = "sha256-WtE8ExUKFRtdYeg0+My/DB+L/qT+J1EaKHKChNjC5oI=";
+        hash = "sha256-LPb2tC3xIGhjiLYkTU+NBIUoqiicO2ORM6Nt1eTnwQs=";
       };
     };
 
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index 235a3821919f..ae699b7f9e68 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.282";
+  version = "1.2.284";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    hash = "sha256-hlI9OLvirkY5LrcK21mcXe32d+X4s/SRelWWKZrcdu4=";
+    hash = "sha256-02dvkz8lgvbiTZ194pv5UruKgB5+BtDbogAkEOfzpaA=";
   };
 
-  vendorHash = "sha256-1rurHe3jFs+jOZhqBlH/IOoEyCEZoNpzBYnYC/UqYAU=";
+  vendorHash = "sha256-u7E+4VK3D36ipAqQVPeIyAhv/1JvgMHEuUUiQH/43ME=";
 
   proxyVendor = true;
 
diff --git a/pkgs/applications/networking/deck/default.nix b/pkgs/applications/networking/deck/default.nix
index c8db94b54345..2098f34180ec 100644
--- a/pkgs/applications/networking/deck/default.nix
+++ b/pkgs/applications/networking/deck/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "deck";
-  version = "1.29.2";
+  version = "1.32.1";
 
   src = fetchFromGitHub {
     owner = "Kong";
     repo = "deck";
     rev = "v${version}";
-    hash = "sha256-UQgNLlV4FoKd23zkReTftDnHBtjtKjoXuqJPGTNX+CI=";
+    hash = "sha256-7lE/Wnrlv3L6V1ex+357q6XXpdx0810m1rKkqITowXY=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -21,7 +21,7 @@ buildGoModule rec {
   ];
 
   proxyVendor = true; # darwin/linux hash mismatch
-  vendorHash = "sha256-qLcOL7XuXNR/9Q/D5I7KcMNdveACommFndHjqpbPfbE=";
+  vendorHash = "sha256-D260T3E0aufOAqlN918SChv3aNDCFHfe2e0It1pcPiU=";
 
   postInstall = ''
     installShellCompletion --cmd deck \
diff --git a/pkgs/applications/networking/discordo/default.nix b/pkgs/applications/networking/discordo/default.nix
index ab818c726798..bb426cbc777c 100644
--- a/pkgs/applications/networking/discordo/default.nix
+++ b/pkgs/applications/networking/discordo/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "discordo";
-  version = "unstable-2023-12-12";
+  version = "unstable-2024-01-25";
 
   src = fetchFromGitHub {
     owner = "ayn2op";
     repo = pname;
-    rev = "320ec7753d552974d4d5ede3fcf6fb3c0d52b6e4";
-    hash = "sha256-LVWOXw8+GbCE6N6kVSXDjjNqOcq7PS4KU7LXoowhBdQ=";
+    rev = "301b7c7a792b427595803679e37fe99007de9451";
+    hash = "sha256-ufAlwlH++g9L3aaA5soJ6r2oiJZi8Ny/6P530oV+BiY=";
   };
 
-  vendorHash = "sha256-8qr1erKGyJvR4LDKHkZf7nR0tQOcvUHQyJt7OlqNS44=";
+  vendorHash = "sha256-fy3FI1K57hLAgbw3WfmVNZT9ywCSXwRKSq+ATjG+Qpo=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/applications/networking/firewalld/default.nix b/pkgs/applications/networking/firewalld/default.nix
index 4bde73bd44f1..1b4e1f0a4248 100644
--- a/pkgs/applications/networking/firewalld/default.nix
+++ b/pkgs/applications/networking/firewalld/default.nix
@@ -31,13 +31,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "firewalld";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "firewalld";
     repo = "firewalld";
     rev = "v${version}";
-    sha256 = "sha256-3kP8Z8YtIcLHOFj9gqspSClsxWiefOqZlJQ5OzNZPeY=";
+    sha256 = "sha256-+EDJrHryO1pXkuKnQdh8hGyi8/TOkb3ZLulQkiaOOqs=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/gnmic/default.nix b/pkgs/applications/networking/gnmic/default.nix
index 3bd4697a6e6e..37d22d3e32d6 100644
--- a/pkgs/applications/networking/gnmic/default.nix
+++ b/pkgs/applications/networking/gnmic/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "gnmic";
-  version = "0.33.0";
+  version = "0.35.1";
 
   src = fetchFromGitHub {
     owner = "openconfig";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-7jykosmVG+oJ6/27x+VtlVVxq/OQIctcjB1Wjs1DcRU=";
+    hash = "sha256-1Rtq/tRDU8hwrEYhP2/2qPWAYeCPL03m4NpXO3sGUdo=";
   };
 
-  vendorHash = "sha256-VjeOSnCAdG+RlIg9uIyyQ8wKUqyX5uc2RXG75q84vm4=";
+  vendorHash = "sha256-HoOjVfpowb5jvAYdQ3cbCQmSl1RJKPDjvOaOGfhe5TY=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/applications/networking/ids/zeek/default.nix b/pkgs/applications/networking/ids/zeek/default.nix
index 7970a090407c..d5b07d7e5c03 100644
--- a/pkgs/applications/networking/ids/zeek/default.nix
+++ b/pkgs/applications/networking/ids/zeek/default.nix
@@ -26,11 +26,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "zeek";
-  version = "6.1.0";
+  version = "6.1.1";
 
   src = fetchurl {
     url = "https://download.zeek.org/zeek-${version}.tar.gz";
-    sha256 = "sha256-+3VvS5eAl1W13sOJJ8SUd/8GqmR9/NK4gCWxvhtqNY4=";
+    sha256 = "sha256-j8Vl6Vc/Wu1JpDV0UoXkLcEPUjRUnvwVAq91RPaDN+U=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/networking/instant-messengers/armcord/default.nix b/pkgs/applications/networking/instant-messengers/armcord/default.nix
index a48e9a4ebcf6..c52ed6fe5cc5 100644
--- a/pkgs/applications/networking/instant-messengers/armcord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/armcord/default.nix
@@ -3,7 +3,7 @@
 , fetchurl
 , autoPatchelfHook
 , dpkg
-, makeWrapper
+, makeBinaryWrapper
 , wrapGAppsHook
 , alsa-lib
 , at-spi2-atk
@@ -38,7 +38,7 @@
 
 stdenv.mkDerivation rec {
   pname = "armcord";
-  version = "3.2.5";
+  version = "3.2.6";
 
   src =
     let
@@ -47,15 +47,15 @@ stdenv.mkDerivation rec {
       {
         x86_64-linux = fetchurl {
           url = "${base}/v${version}/ArmCord_${version}_amd64.deb";
-          hash = "sha256-6zlYm4xuYpG+Bgsq5S+B/Zt9TRB2GZnueKAg2ywYLE4=";
+          hash = "sha256-9AcxqCxhLAjYclaw6lri06R0PgQQeRHTbLJLEdhDCWU=";
         };
         aarch64-linux = fetchurl {
           url = "${base}/v${version}/ArmCord_${version}_arm64.deb";
-          hash = "sha256-HJu1lRa3zOTohsPMe23puHxg1VMWNR2aOjDQJqc4TqE=";
+          hash = "sha256-/uk2slpNF1sSTW6z319Yg9yx/s45fJPvJQJpY11ULVw=";
         };
       }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
-  nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper wrapGAppsHook ];
+  nativeBuildInputs = [ autoPatchelfHook dpkg makeBinaryWrapper wrapGAppsHook ];
 
   dontWrapGApps = true;
 
@@ -114,7 +114,7 @@ stdenv.mkDerivation rec {
     chmod -R g-w "$out"
 
     # Wrap the startup command
-    makeWrapper $out/opt/ArmCord/armcord $out/bin/armcord \
+    makeBinaryWrapper $out/opt/ArmCord/armcord $out/bin/armcord \
       "''${gappsWrapperArgs[@]}" \
       --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WebRTCPipeWireCapturer }}" \
diff --git a/pkgs/applications/networking/instant-messengers/beeper/default.nix b/pkgs/applications/networking/instant-messengers/beeper/default.nix
index 71c088cc5e72..02069fd22c1b 100644
--- a/pkgs/applications/networking/instant-messengers/beeper/default.nix
+++ b/pkgs/applications/networking/instant-messengers/beeper/default.nix
@@ -11,11 +11,11 @@
 }:
 let
   pname = "beeper";
-  version = "3.92.23";
+  version = "3.93.36";
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.92.23-build-240111az2vz7kii-x86_64.AppImage";
-    hash = "sha256-M+3mJ+X/yr6yONOpdnCRECbswYlSuhlqqbg2d6Px/7s=";
+    url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.93.36-build-2401269p8vcb695-x86_64.AppImage";
+    hash = "sha256-3pOOAI4/BWdbWfPweRx5I2KRi9VOgJ5vcQ89FTJhPak=";
   };
   appimage = appimageTools.wrapType2 {
     inherit version pname src;
@@ -77,7 +77,7 @@ stdenvNoCC.mkDerivation rec {
     '';
     homepage = "https://beeper.com";
     license = licenses.unfree;
-    maintainers = with maintainers; [ jshcmpbll mjm ];
+    maintainers = with maintainers; [ jshcmpbll mjm edmundmiller ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/chatty/default.nix b/pkgs/applications/networking/instant-messengers/chatty/default.nix
index 81c1f6656eaa..9faecf609272 100644
--- a/pkgs/applications/networking/instant-messengers/chatty/default.nix
+++ b/pkgs/applications/networking/instant-messengers/chatty/default.nix
@@ -29,7 +29,7 @@
 
 stdenv.mkDerivation rec {
   pname = "chatty";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     repo = "Chatty";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-jyG6kubXTyHUw2F+MfjJiQ0us4PrbavF5PJS5Pg46Mw=";
+    hash = "sha256-5IkQnXAKl0duy/B6+z7PXYv5zxakxJCgQhWBw5wioWg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 1307e8e3f68b..fd5ec61bf07d 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -2,52 +2,52 @@
 let
   versions =
     if stdenv.isLinux then {
-      stable = "0.0.40";
-      ptb = "0.0.64";
-      canary = "0.0.248";
-      development = "0.0.8";
+      stable = "0.0.42";
+      ptb = "0.0.66";
+      canary = "0.0.265";
+      development = "0.0.11";
     } else {
-      stable = "0.0.291";
-      ptb = "0.0.94";
-      canary = "0.0.394";
-      development = "0.0.18";
+      stable = "0.0.292";
+      ptb = "0.0.96";
+      canary = "0.0.401";
+      development = "0.0.27";
     };
   version = versions.${branch};
   srcs = rec {
     x86_64-linux = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
-        hash = "sha256-kKWbD2fvRq+7VnOE3tEQ1LeGneZOQfD/79bG2uElYSw=";
+        hash = "sha256-7can15JhBc6OJAWZMk8uEdt/D1orCKG1MN1WBdTZrI0=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
-        hash = "sha256-loA/RdT6Y5c6Upius+vO/383FrutsJEYS/1uiR0gfqo=";
+        hash = "sha256-3ocygqp8eiF3n/BVlTp1T1CRsGj56MGp1yPsvBE7/H4=";
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-        hash = "sha256-4BjlvunODUSNq2uBiC82FTlNRO3ByLJzwMsB3LirNIw=";
+        hash = "sha256-uIo12mTFyvCyxazquLu2YlAbCqzQSBIY6O5AmC9hMpE=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
-        hash = "sha256-FD0qozLyNMPVpdD42A/pziwX7tKP3/9mFDIqdf4lopE=";
+        hash = "sha256-bN77yfmz/W3ohSKHV4pwnKEET6yi3p29ZfqH1BvFqXs=";
       };
     };
     x86_64-darwin = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
-        hash = "sha256-k0A5xBWG8cXhDp/d3dw5Eu1cpqayfOzrnwXK8i2CtVE=";
+        hash = "sha256-1BKMIWSb7+oQ+B80GUCslKn5VNdM0hPTNyZkI/RsxhM=";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
-        hash = "sha256-SUCVLCorwqQTkJs3UJguBYZwE1lrJgmZ9BU8fHIRgLE=";
+        hash = "sha256-dG0Wcx8X2+kzrpacFZmMCXfLsuLOLbDK4qVLAMzd4RA=";
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
-        hash = "sha256-lgnZEkXxfn1L5QUBGXcKrIEL5kEehRIc0HF3WXgB8yo=";
+        hash = "sha256-fz/LDQJ/B8luN6Ffobp82hnycBOLg9Kdi0kXLGltCDc=";
       };
       development = fetchurl {
         url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
-        hash = "sha256-q/8hHRBK9Quj2S1n5QQC3u3yF9OvxqWrC+ge4Jh9i0U=";
+        hash = "sha256-MRCBPe98Czm1OG2l3c1GAW4a27fV8XMtQ9pPIJMgqzA=";
       };
     };
     aarch64-darwin = x86_64-darwin;
diff --git a/pkgs/applications/networking/instant-messengers/element/pin.nix b/pkgs/applications/networking/instant-messengers/element/pin.nix
index 830c7080925a..9a10c2eddba8 100644
--- a/pkgs/applications/networking/instant-messengers/element/pin.nix
+++ b/pkgs/applications/networking/instant-messengers/element/pin.nix
@@ -1,9 +1,9 @@
 {
-  "version" = "1.11.55";
+  "version" = "1.11.57";
   "hashes" = {
-    "desktopSrcHash" = "sha256-Gk6RjhU0vJymz2KmaNJgnuGcSVyJo53iWR3naOx49X4=";
-    "desktopYarnHash" = "0v3j54a2ixik424za0iwj4sf60g934480jyp5lblhg7z8y5xqks8";
-    "webSrcHash" = "sha256-dAfPYw3qqj+xY3ZaACsT/Vtp57mag6PJtquxqXZ6F1Q=";
-    "webYarnHash" = "1aqhdk9mgz5hq7iawjclzfd78wi64kygkklwg6sp6qfv1ayi6b51";
+    "desktopSrcHash" = "sha256-U1Koq+YrTQnbJAQmMuBioU6lxtw3oH9U3W3iMIDbibY=";
+    "desktopYarnHash" = "03kx7g1fhm4qn6iq450156fgw1x6bf0sngmqhd2hrhp699mjxs5s";
+    "webSrcHash" = "sha256-ZoB6ALNUDYh8nYUYsPNeiCaXn3qvg3NRJzDRJaHT4oU=";
+    "webYarnHash" = "0vznx306p3racnq5xv27ywvlrdxql9x8i3fl77i5vlc8g7crpc3m";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix b/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
index 81562e69a66a..71253c52b643 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
@@ -1,60 +1,106 @@
-{ lib, stdenv
-, fetchurl
-, appimageTools
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, copyDesktopItems
+, makeDesktopItem
 , makeWrapper
+, libpng
+, libX11
+, libXi
+, libXtst
+, zlib
 , electron
-, xorg
 , pipewire
 }:
 
-stdenv.mkDerivation rec {
+buildNpmPackage rec {
   pname = "jitsi-meet-electron";
-  version = "2022.10.1";
+  version = "2023.11.3";
 
-  src = fetchurl {
-    url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
-    sha256 = "sha256-98zuAsGT30paxszSO1XcMY8tsrMBeBLDFjK/JWhLC8s=";
-    name = "${pname}-${version}.AppImage";
+  src = fetchFromGitHub {
+    owner = "jitsi";
+    repo = "jitsi-meet-electron";
+    rev = "v${version}";
+    hash = "sha256-gE5CP0l3SrAHGNS6Hr5/MefTtE86JTmc85CwOmylEpg=";
   };
 
-  appimageContents = appimageTools.extractType2 {
-    name = "${pname}-${version}";
-    inherit src;
-  };
+  nativeBuildInputs = [
+    copyDesktopItems
+    makeWrapper
+  ];
+
+  # robotjs node-gyp dependencies
+  buildInputs = [
+    libpng
+    libX11
+    libXi
+    libXtst
+    zlib
+  ];
+
+  npmDepsHash = "sha256-JZVJcKzG4X7YIUvIRWZsDQnHx+dNqCj6kFm8mZaSH2k=";
+
+  makeCacheWritable = true;
+
+  env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
 
-  dontUnpack = true;
-  dontConfigure = true;
-  dontBuild = true;
+  postPatch = ''
+    substituteInPlace main.js \
+        --replace "require('electron-is-dev')" "false"
+  '';
 
-  nativeBuildInputs = [ makeWrapper ];
+  preBuild = ''
+    # remove some prebuilt binaries
+    find node_modules -type d -name prebuilds -exec rm -r {} +
+  '';
+
+  postBuild = ''
+    # generate .asar file
+    # asarUnpack makes sure to unwrap binaries so that nix can see the RPATH
+    npm exec electron-builder -- \
+        --dir \
+        -c.asarUnpack="**/*.node" \
+        -c.electronDist=${electron}/libexec/electron \
+        -c.electronVersion=${electron.version}
+  '';
 
   installPhase = ''
     runHook preInstall
 
-    mkdir -p $out/bin $out/share/${pname} $out/share/applications
+    mkdir -p $out/share/jitsi-meet-electron
+    cp -r dist/*-unpacked/{locales,resources{,.pak}} $out/share/jitsi-meet-electron
 
-    cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
-    cp -a ${appimageContents}/jitsi-meet.desktop $out/share/applications/${pname}.desktop
-    cp -a ${appimageContents}/usr/share/icons $out/share
+    makeWrapper ${lib.getExe electron} $out/bin/jitsi-meet-electron \
+        --add-flags $out/share/jitsi-meet-electron/resources/app.asar \
+        --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pipewire ]} \
+        --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
+        --inherit-argv0
 
-    substituteInPlace $out/share/applications/${pname}.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
+    install -Dm644 resources/icons/512x512.png $out/share/icons/hicolor/512x512/apps/jitsi-meet-electron.png
 
     runHook postInstall
   '';
 
-  postFixup = ''
-    makeWrapper ${electron}/bin/electron $out/bin/${pname} \
-      --add-flags $out/share/${pname}/resources/app.asar \
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc xorg.libXtst pipewire ]}" \
-      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
-  '';
+  desktopItems = [
+    (makeDesktopItem {
+      name = "jitsi-meet-electron";
+      exec = "jitsi-meet-electron %U";
+      icon = "jitsi-meet-electron";
+      desktopName = "Jitsi Meet";
+      comment = meta.description;
+      categories = [ "VideoConference" "AudioVideo" "Audio" "Video" "Network" ];
+      mimeTypes = [ "x-scheme-handler/jitsi-meet" ];
+      terminal = false;
+    })
+  ];
 
   meta = with lib; {
+    changelog = "https://github.com/jitsi/jitsi-meet-electron/releases/tag/${src.rev}";
     description = "Jitsi Meet desktop application powered by Electron";
     homepage = "https://github.com/jitsi/jitsi-meet-electron";
     license = licenses.asl20;
-    maintainers = teams.jitsi.members;
-    platforms = [ "x86_64-linux" ];
+    mainProgram = "jitsi-meet-electron";
+    maintainers = teams.jitsi.members ++ [ maintainers.tomasajt ];
+    inherit (electron.meta) platforms;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/qq/sources.nix b/pkgs/applications/networking/instant-messengers/qq/sources.nix
index fa0a69328781..eda78b80edef 100644
--- a/pkgs/applications/networking/instant-messengers/qq/sources.nix
+++ b/pkgs/applications/networking/instant-messengers/qq/sources.nix
@@ -1,8 +1,8 @@
 # Generated by ./update.sh - do not update manually!
-# Last updated: 2024-01-19
+# Last updated: 2024-01-27
 {
-  version = "3.2.5-20979";
-  urlhash = "c64ca459";
-  arm64_hash = "sha256-zzLCWI/0L/6opFpTEQN2xdhqWA8i3pYI+K/0z63tOh4=";
-  amd64_hash = "sha256-XDQg98Bo0o7BGkMkl6vpUSvUd0wAbMa0cPVFPrIqWAY=";
+  version = "3.2.5-21159";
+  urlhash = "feb78c41";
+  arm64_hash = "sha256-3zbhFKQrO1tMSnWJllLJLaVeVpLs44WBbuuyU1LTMIU=";
+  amd64_hash = "sha256-pX99V18gjlMM6+jC9U7E5YvHDODGsrj0twt9K4rJN4Y=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix
index 6565f89e93f1..87f0cd4c9747 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "rambox";
-  version = "2.2.3";
+  version = "2.3.0";
 
   src = fetchurl {
     url = "https://github.com/ramboxapp/download/releases/download/v${version}/Rambox-${version}-linux-x64.AppImage";
-    sha256 = "sha256-V1Sxfgn3fcqW7t7oa1pfnrPYAqHdCLrWUbplE/I789A=";
+    sha256 = "sha256-PmTiXQp+AkTwCKisH1tR6B1+cHPx25P8FAAlLvKEb3w=";
   };
 
   desktopItem = (makeDesktopItem {
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
index c331c56eb7cd..c1ccec86b366 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-aarch64.nix
@@ -2,7 +2,7 @@
 callPackage ./generic.nix { } rec {
   pname = "signal-desktop";
   dir = "Signal";
-  version = "6.42.0";
+  version = "6.44.0";
   url = "https://github.com/0mniteck/Signal-Desktop-Mobian/raw/${version}/builds/release/signal-desktop_${version}_arm64.deb";
-  hash = "sha256-kr8FM+EAtL/7TrgJlI33oDd4CPGMJ+F2PpQCR4OL6j4=";
+  hash = "sha256-M4Xiy8cDQciMzgGl1/eeKZjEaelVtkk6JXJYBP4ua2s=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix
index 53a515c5bd00..c392151620dc 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop-beta.nix
@@ -2,7 +2,7 @@
 callPackage ./generic.nix {} rec {
   pname = "signal-desktop-beta";
   dir = "Signal Beta";
-  version = "6.44.0-beta.1";
+  version = "6.47.0-beta.1";
   url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
-  hash = "sha256-SW/br1k7lO0hQngST0qV9Qol1hA9f1NZe86A5uyYhcI=";
+  hash = "sha256-9vbdWdV8dVFyxDMGLvE/uQKeSl+ze5agI5QYZMr84/w=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
index 5c37bff9d2a5..bcc588785443 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/signal-desktop.nix
@@ -2,7 +2,7 @@
 callPackage ./generic.nix {} rec {
   pname = "signal-desktop";
   dir = "Signal";
-  version = "6.44.0";
+  version = "6.45.1";
   url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-  hash = "sha256-04KhjExUx+X2/vxSlobVOk9A50XwTlXcdVuttnUmJEw=";
+  hash = "sha256-yDXtWm+HFzqLTsa7gxy8e7ObVn7lrRewoHMyDGlmZkY=";
 }
diff --git a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
index 407b595a5426..74b54f10a75a 100644
--- a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "teams-for-linux";
-  version = "1.4.4";
+  version = "1.4.6";
 
   src = fetchFromGitHub {
     owner = "IsmaelMartinez";
     repo = "teams-for-linux";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-GNfFzJsWyu46mP0k1wT8SG22F9oKpLwoLQ0TnNFqvv8=";
+    hash = "sha256-aaUWc0G7KY3PwlIysoL++l7na2M5sxQFW2YsO0AIRY8=";
   };
 
   offlineCache = fetchYarnDeps {
diff --git a/pkgs/applications/networking/instant-messengers/webcord/default.nix b/pkgs/applications/networking/instant-messengers/webcord/default.nix
index 5e76ac99e277..06b1a7f9b36d 100644
--- a/pkgs/applications/networking/instant-messengers/webcord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/webcord/default.nix
@@ -14,16 +14,16 @@
 
 buildNpmPackage rec {
   pname = "webcord";
-  version = "4.6.1";
+  version = "4.7.0";
 
   src = fetchFromGitHub {
     owner = "SpacingBat3";
     repo = "WebCord";
     rev = "v${version}";
-    hash = "sha256-4ePjRs9CEnDHq9iVcQNEkefl0YP/tc1ePLhW/w9NPDs=";
+    hash = "sha256-h0JEIfNoYx0MrHeEg/kwn/10JVxNVXIuvWcTOfellbg=";
   };
 
-  npmDepsHash = "sha256-UzwLORlUeTMq3RyOHpvBrbxbwgpMBsbmfyXBhpB6pOQ=";
+  npmDepsHash = "sha256-L6ZrPqi4DjTn1P4O+lWDmvzQwqpsWmSOtnFMBHkNQAI=";
 
   nativeBuildInputs = [
     copyDesktopItems
diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix
index d2509990ff60..3b12634b0caa 100644
--- a/pkgs/applications/networking/instant-messengers/zulip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix
@@ -5,11 +5,11 @@
 
 let
   pname = "zulip";
-  version = "5.10.4";
+  version = "5.10.5";
 
   src = fetchurl {
     url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
-    hash = "sha256-M4h+kV4JjZ91K6OpxKc10XVohzKJEVxw8cYcVALibXA=";
+    hash = "sha256-dWTczjE6QAW26bGTIeFTuXl1JwYr3Ma+8Ab6MjeDr78=";
     name="${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/networking/ipfs-cluster/default.nix b/pkgs/applications/networking/ipfs-cluster/default.nix
index cecb3ce3b03b..19a1b38eed42 100644
--- a/pkgs/applications/networking/ipfs-cluster/default.nix
+++ b/pkgs/applications/networking/ipfs-cluster/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "ipfs-cluster";
-  version = "1.0.7";
+  version = "1.0.8";
 
-  vendorHash = "sha256-/Kjm/hM+lKsZ6fzStDyOitp7Vtt7Vb8ak7E/W0lbW20=";
+  vendorHash = "sha256-uwDXUy9mh/DvLuwj8Htm55wla5/JjvZH5ztJbqnox+U=";
 
   src = fetchFromGitHub {
     owner = "ipfs-cluster";
     repo = "ipfs-cluster";
     rev = "v${version}";
-    hash = "sha256-eBbbD77nnjcumhrsixAlI09B1ZAxK5IOHoBeJGgj+TY=";
+    hash = "sha256-qZUoYJjw3Qac7Kmg5PfNWTDM8Ra3rqrbjScLbK6FRx4=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix
index 4ca892d13125..2c776a05d053 100644
--- a/pkgs/applications/networking/mailreaders/aerc/default.nix
+++ b/pkgs/applications/networking/mailreaders/aerc/default.nix
@@ -12,17 +12,17 @@
 
 buildGoModule rec {
   pname = "aerc";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromSourcehut {
     owner = "~rjarry";
     repo = "aerc";
     rev = version;
-    hash = "sha256-vmr2U0bz6A7aMZZBtOitA5gKQpXKuNhYxRCmholHYa8=";
+    hash = "sha256-XpVUUAtm6o4DXIouTKRX/8mLERb/4nA+VUGeB21mfjE=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-j/wTmlVcyVI4gnjbi7KLzk5rdnZtZLrdSNbihtQJxRY=";
+  vendorHash = "sha256-rycAGqZhO48bPTFO2y2J1d16oon24sEEUns4EayWDvg=";
 
   nativeBuildInputs = [
     scdoc
diff --git a/pkgs/applications/networking/mkchromecast/default.nix b/pkgs/applications/networking/mkchromecast/default.nix
index fa734e7dea53..f6364f5ba572 100644
--- a/pkgs/applications/networking/mkchromecast/default.nix
+++ b/pkgs/applications/networking/mkchromecast/default.nix
@@ -70,11 +70,11 @@ python3Packages.buildPythonApplication {
   ];
 
   postInstall = ''
-    substituteInPlace $out/lib/${python3Packages.python.libPrefix}/site-packages/mkchromecast/video.py \
+    substituteInPlace $out/${python3Packages.python.sitePackages}/mkchromecast/video.py \
       --replace '/usr/share/mkchromecast/nodejs/' '${placeholder "out"}/share/mkchromecast/nodejs/'
   '' + lib.optionalString stdenv.isDarwin ''
     install -Dm 755 -t $out/bin bin/audiodevice
-    substituteInPlace $out/lib/${python3Packages.python.libPrefix}/site-packages/mkchromecast/audio_devices.py \
+    substituteInPlace $out/${python3Packages.python.sitePackages}/mkchromecast/audio_devices.py \
       --replace './bin/audiodevice' '${placeholder "out"}/bin/audiodevice'
   '';
 
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 63e84cba1d62..58cb1c6a71b6 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.11.0";
+  version = "3.11.1";
 
   outputs = [ "out" "dev" ];
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    hash = "sha256-rqSnCIsXQDf3cNQn4ofjGQkCgwYGyDau/WWUPHziNp4=";
+    hash = "sha256-gskFI6nxRb5lx6EwWuqghqg7NmCaj0JS7PpV0i4qUqQ=";
   };
 
   patches = [
@@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DBUILD_UPDATER=off"
     "-DCMAKE_INSTALL_LIBDIR=lib" # expected to be prefix-relative by build code setting RPATH
-    "-DNO_SHIBBOLETH=1" # allows to compile without qtwebkit
+    "-DMIRALL_VERSION_SUFFIX=" # remove git suffix from version
   ];
 
   postBuild = ''
diff --git a/pkgs/applications/networking/p2p/deluge/default.nix b/pkgs/applications/networking/p2p/deluge/default.nix
index 54c378a08625..35db62ef8e4e 100644
--- a/pkgs/applications/networking/p2p/deluge/default.nix
+++ b/pkgs/applications/networking/p2p/deluge/default.nix
@@ -77,7 +77,7 @@ let
         install -Dm444 -t $out/share/applications deluge/ui/data/share/applications/deluge.desktop
       '' else ''
         rm -r $out/bin/deluge-gtk
-        rm -r $out/lib/${python3Packages.python.libPrefix}/site-packages/deluge/ui/gtk3
+        rm -r $out/${python3Packages.python.sitePackages}/deluge/ui/gtk3
         rm -r $out/share/{icons,man/man1/deluge-gtk*,pixmaps}
       '');
 
diff --git a/pkgs/applications/networking/p2p/flood-for-transmission/default.nix b/pkgs/applications/networking/p2p/flood-for-transmission/default.nix
index 1de4e05c6cfc..2ffbeba1f40a 100644
--- a/pkgs/applications/networking/p2p/flood-for-transmission/default.nix
+++ b/pkgs/applications/networking/p2p/flood-for-transmission/default.nix
@@ -6,16 +6,16 @@
 
 buildNpmPackage rec {
   pname = "flood-for-transmission";
-  version = "2023-11-17T12-46-13";
+  version = "2024-01-24T16-52-06";
 
   src = fetchFromGitHub {
     owner = "johman10";
     repo = pname;
     rev = version;
-    hash = "sha256-TaLWhly/4hOigWY1XP7FmgN4LbrdLb79NQ47z5JiiYE=";
+    hash = "sha256-ZV/Gk9DlYkMh8j034YGvMVN7MeOJgFARyOr9Atrs3j4=";
   };
 
-  npmDepsHash = "sha256-PCeknfS81K8ttU4hV2D841tgQsGfIVaAOVIEDXe8fVQ=";
+  npmDepsHash = "sha256-VHWM0vxFKucrmoJiwYpjw7QqhBQw9rPPQVIIevp6Wn0=";
 
   npmInstallFlags = [ "--legacy-peer-deps" ];
 
diff --git a/pkgs/applications/networking/pyload-ng/declarative-default-user.patch b/pkgs/applications/networking/pyload-ng/declarative-default-user.patch
new file mode 100644
index 000000000000..3c3e6f4ba724
--- /dev/null
+++ b/pkgs/applications/networking/pyload-ng/declarative-default-user.patch
@@ -0,0 +1,15 @@
+diff --git a/src/pyload/core/__init__.py b/src/pyload/core/__init__.py
+index 4324fc700..f7fcd66ec 100644
+--- a/src/pyload/core/__init__.py
++++ b/src/pyload/core/__init__.py
+@@ -46,8 +46,8 @@ class Exit(Exception):
+ #  improve external scripts
+ class Core:
+     LOCALE_DOMAIN = APPID
+-    DEFAULT_USERNAME = APPID
+-    DEFAULT_PASSWORD = APPID
++    DEFAULT_USERNAME = os.getenv("PYLOAD_DEFAULT_USERNAME", APPID)
++    DEFAULT_PASSWORD = os.getenv("PYLOAD_DEFAULT_PASSWORD", APPID)
+     DEFAULT_DATADIR = os.path.join(
+         os.getenv("APPDATA") or USERHOMEDIR, "pyLoad" if os.name == "nt" else ".pyload"
+     )
diff --git a/pkgs/applications/networking/pyload-ng/declarative-env-config.patch b/pkgs/applications/networking/pyload-ng/declarative-env-config.patch
new file mode 100644
index 000000000000..42f89ee485cb
--- /dev/null
+++ b/pkgs/applications/networking/pyload-ng/declarative-env-config.patch
@@ -0,0 +1,18 @@
+diff --git a/src/pyload/core/__init__.py b/src/pyload/core/__init__.py
+index 4324fc700..5d915a85e 100644
+--- a/src/pyload/core/__init__.py
++++ b/src/pyload/core/__init__.py
+@@ -128,6 +128,13 @@ class Core:
+         else:
+             self._debug = max(0, int(debug))
+
++        # Allow setting any option declaratively, for the NixOS module
++        for env, value in os.environ.items():
++            if not env.startswith("PYLOAD__"):
++                continue
++            section, opt = env.removeprefix("PYLOAD__").lower().split("__")
++            self.config.set(section, opt, value)
++
+         # If no argument set, read storage dir from config file,
+         # otherwise save setting to config dir
+         if storagedir is None:
diff --git a/pkgs/applications/networking/pyload-ng/default.nix b/pkgs/applications/networking/pyload-ng/default.nix
index 4ead723f76e1..1f638d43daef 100644
--- a/pkgs/applications/networking/pyload-ng/default.nix
+++ b/pkgs/applications/networking/pyload-ng/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchPypi, python3 }:
+{ lib, fetchPypi, nixosTests, python3 }:
 
 python3.pkgs.buildPythonApplication rec {
   version = "0.5.0b3.dev75";
@@ -10,6 +10,14 @@ python3.pkgs.buildPythonApplication rec {
     hash = "sha256-1lPIKkZESonDaVCnac0iUu/gCqXVDBhNZrk5S0eC6F0=";
   };
 
+  patches = [
+    # Makes it possible to change the default username/password in the module
+    ./declarative-default-user.patch
+    # Makes it possible to change the configuration through environment variables
+    # in the NixOS module (aimed mostly at listen address/port)
+    ./declarative-env-config.patch
+  ];
+
   postPatch = ''
     # relax version bounds
     sed -i 's/\([A-z0-9]*\)~=.*$/\1/' setup.cfg
@@ -35,14 +43,20 @@ python3.pkgs.buildPythonApplication rec {
     setuptools
   ];
 
-  passthru.optional-dependencies = {
-    plugins = with python3.pkgs; [
-      beautifulsoup4 # for some plugins
-      colorlog # colorful console logging
-      pillow # for some CAPTCHA plugin
-      send2trash # send some files to trash instead of deleting them
-      slixmpp # XMPP plugin
-    ];
+  passthru = {
+    optional-dependencies = {
+      plugins = with python3.pkgs; [
+        beautifulsoup4 # for some plugins
+        colorlog # colorful console logging
+        pillow # for some CAPTCHA plugin
+        send2trash # send some files to trash instead of deleting them
+        slixmpp # XMPP plugin
+      ];
+    };
+
+    tests = {
+      inherit (nixosTests) pyload;
+    };
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/qv2ray/default.nix b/pkgs/applications/networking/qv2ray/default.nix
index ee2e7ddf3f08..af1fafea5e94 100644
--- a/pkgs/applications/networking/qv2ray/default.nix
+++ b/pkgs/applications/networking/qv2ray/default.nix
@@ -5,7 +5,6 @@
 , symlinkJoin
 , qttools
 , cmake
-, clang_8
 , grpc
 , protobuf
 , openssl
@@ -68,8 +67,7 @@ mkDerivation rec {
     pkg-config
     qttools
     curl
-    # The default clang_7 will result in reproducible ICE.
-  ] ++ lib.optional (stdenv.isDarwin) clang_8;
+  ];
 
   meta = with lib; {
     description = "An GUI frontend to v2ray";
diff --git a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
index 5d27f8adf244..ced76131e45b 100644
--- a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
+++ b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
@@ -11,7 +11,7 @@
 , configText ? ""
 }:
 let
-  version = "2309.1";
+  version = "2312";
 
   sysArch =
     if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
@@ -36,8 +36,8 @@ let
     pname = "vmware-horizon-files";
     inherit version;
     src = fetchurl {
-      url = "https://download3.vmware.com/software/CART24FQ4_LIN_2309.1_TARBALL/VMware-Horizon-Client-Linux-2309.1-8.11.1-22775487.tar.gz";
-      sha256 = "3f66d21c0e97324d1cb85ac75132a69768e8e7ff57da33841e4e8bd37089d245";
+      url = "https://download3.vmware.com/software/CART24FQ4_LIN_2312_TARBALL/VMware-Horizon-Client-Linux-2312-8.12.0-23149323.tar.gz";
+      sha256 = "15ca1d6028b9ca88e23fa363a2942fd76456c19e95ced4734595c3dc44db38d8";
     };
     nativeBuildInputs = [ makeWrapper ];
     installPhase = ''
diff --git a/pkgs/applications/networking/seahub/default.nix b/pkgs/applications/networking/seahub/default.nix
index 089eabf93d65..0e92e996aaa6 100644
--- a/pkgs/applications/networking/seahub/default.nix
+++ b/pkgs/applications/networking/seahub/default.nix
@@ -6,29 +6,22 @@
 , nixosTests
 }:
 let
-  # Seahub 8.x.x does not support django-webpack-loader >=1.x.x
   python = python3.override {
     packageOverrides = self: super: {
-      django-webpack-loader = super.django-webpack-loader.overridePythonAttrs (old: rec {
-        version = "0.7.0";
-        src = old.src.override {
-          inherit version;
-          hash = "sha256-ejyIIBqlRIH5OZRlYVy+e5rs6AgUlqbQKHt8uOIy9Ec=";
-        };
-      });
+      django = super.django_3;
     };
   };
 in
 python.pkgs.buildPythonApplication rec {
   pname = "seahub";
-  version = "9.0.10";
+  version = "10.0.1";
   pyproject = false;
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seahub";
-    rev = "5971bf25fe67d94ec4d9f53b785c15a098113620"; # using a fixed revision because upstream may re-tag releases :/
-    sha256 = "sha256-7Exvm3EShb/1EqwA4wzWB9zCdv0P/ISmjKSoqtOMnqk=";
+    rev = "e8c02236c0eaca6dde009872745f089da4b77e6e"; # using a fixed revision because upstream may re-tag releases :/
+    sha256 = "sha256-7JXWKEFqCsC+ZByhvyP8AmDpajT3hpgyYDNUqc3wXyg=";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/shellhub-agent/default.nix b/pkgs/applications/networking/shellhub-agent/default.nix
index e698f78c3e72..ece2ced88aaa 100644
--- a/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/pkgs/applications/networking/shellhub-agent/default.nix
@@ -11,18 +11,18 @@
 
 buildGoModule rec {
   pname = "shellhub-agent";
-  version = "0.13.6";
+  version = "0.14.2";
 
   src = fetchFromGitHub {
     owner = "shellhub-io";
     repo = "shellhub";
     rev = "v${version}";
-    hash = "sha256-jdZNfNdykkpuIzA0TXEXkH21HTJzhndyRlMj3Kt7WlM=";
+    hash = "sha256-VP1U5JSVsAcGeV/xUrToJfrdw0TWbHhmi2Y/tM5bHpQ=";
   };
 
   modRoot = "./agent";
 
-  vendorHash = "sha256-Dg9TL/B9KgYGA0lILxVt+kXy5kfnW2sYJuP0lc+CROM=";
+  vendorHash = "sha256-ISFnljpdOcvhNTM4jMGmi2xArjWSmjJj7dCnlcSfkVI=";
 
   ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];
 
diff --git a/pkgs/applications/networking/sync/storj-uplink/default.nix b/pkgs/applications/networking/sync/storj-uplink/default.nix
index c5a5e11ba255..d1f141be8229 100644
--- a/pkgs/applications/networking/sync/storj-uplink/default.nix
+++ b/pkgs/applications/networking/sync/storj-uplink/default.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "storj-uplink";
-  version = "1.94.2";
+  version = "1.96.2";
 
   src = fetchFromGitHub {
     owner = "storj";
     repo = "storj";
     rev = "v${version}";
-    hash = "sha256-q2QLsbJSVnRch4CIlGI2Thuz0OOpGURIdy1BEKxUZ1A=";
+    hash = "sha256-mQIrXDEfMMrubQyn90eu0k3isvnpaF237Tpd84HhUfU=";
   };
 
   subPackages = [ "cmd/uplink" ];
 
-  vendorHash = "sha256-UGx5pGfS7jWn7Uwjg1Gf/oQ3GbRTh5JSb38uPjxdUxc=";
+  vendorHash = "sha256-cUhdl0jqgkA89NeOdFSifR5LsTjeYifOXqBu3qCAovk=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/applications/networking/vnstat/default.nix b/pkgs/applications/networking/vnstat/default.nix
index 6eb7271d8f30..828a2514c766 100644
--- a/pkgs/applications/networking/vnstat/default.nix
+++ b/pkgs/applications/networking/vnstat/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vnstat";
-  version = "2.11";
+  version = "2.12";
 
   src = fetchFromGitHub {
     owner = "vergoh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IO5B+jyY6izPpam3Qt4Hu8BOGwfO10ER/GFEbsQORK0=";
+    sha256 = "sha256-JwVYhmCscEdbwNGa+aKdOt8cIclpvjl4tmWFU3zhcwc=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/office/activitywatch/default.nix b/pkgs/applications/office/activitywatch/default.nix
index 4187da1bfabb..32c490b0af3d 100644
--- a/pkgs/applications/office/activitywatch/default.nix
+++ b/pkgs/applications/office/activitywatch/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , rustPlatform
 , makeWrapper
 , pkg-config
@@ -164,6 +165,14 @@ rec {
         src = ./override-version.patch;
         version = sources.rev;
       })
+
+      # Can be removed with release 0.12.3
+      (fetchpatch {
+        name = "remove-unused-unstable-features.patch";
+        url = "https://github.com/ActivityWatch/aw-server-rust/commit/e1cd761d2f0a9309eb851b59732c2567a7ae2d3a.patch";
+        hash = "sha256-wP+3XZDkr148XY5b8RV3obuLczAFBE3FhaYPqnmmGcU=";
+        includes = [ "aw-server/src/lib.rs" ];
+      })
     ];
 
     nativeBuildInputs = [
diff --git a/pkgs/applications/office/jameica/default.nix b/pkgs/applications/office/jameica/default.nix
index 8fe04cf43ed9..655de5227bb0 100644
--- a/pkgs/applications/office/jameica/default.nix
+++ b/pkgs/applications/office/jameica/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, wrapGAppsHook, ant, jdk, jre, gtk2, glib, xorg, Cocoa }:
 
 let
-  _version = "2.10.2";
-  _build = "484";
+  _version = "2.10.4";
+  _build = "487";
   version = "${_version}-${_build}";
 
   swtSystem =
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "willuhn";
     repo = "jameica";
     rev = "V_${builtins.replaceStrings ["."] ["_"] _version}_BUILD_${_build}";
-    sha256 = "1x9sybknzsfxp9z0pvw9dx80732ynyap57y03p7xwwjbcrnjla57";
+    hash = "sha256-MSVSd5DyVL+dcfTDv1M99hxickPwT2Pt6QGNsu6DGZI=";
   };
 
   dontWrapGApps = true;
diff --git a/pkgs/applications/office/libreoffice/darwin/default.nix b/pkgs/applications/office/libreoffice/darwin/default.nix
index 3f69a7fd54e9..0cec562106ab 100644
--- a/pkgs/applications/office/libreoffice/darwin/default.nix
+++ b/pkgs/applications/office/libreoffice/darwin/default.nix
@@ -75,6 +75,7 @@ stdenvNoCC.mkDerivation {
     homepage = "https://libreoffice.org/";
     license = licenses.lgpl3;
     maintainers = with maintainers; [ tricktron ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     platforms = [ "x86_64-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix
index ebd70eac7ea9..94b4ac77b68a 100644
--- a/pkgs/applications/office/paperless-ngx/default.nix
+++ b/pkgs/applications/office/paperless-ngx/default.nix
@@ -18,16 +18,17 @@
 , xcbuild
 , pango
 , pkg-config
+, nltk-data
 }:
 
 let
-  version = "2.4.0";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "paperless-ngx";
     repo = "paperless-ngx";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bIiUG5yLpKOoxByef2Wm7MmSoL5zAYE9x6/zZywG9aE=";
+    hash = "sha256-uFaywZF1e1ELU6EcRxzMqGu3uiFK8MMfrTxb01Drd7k=";
   };
 
   python = python3;
@@ -293,6 +294,7 @@ python.pkgs.buildPythonApplication rec {
 
   passthru = {
     inherit python path frontend;
+    nltkData = with nltk-data; [ punkt snowball_data stopwords ];
     tests = { inherit (nixosTests) paperless; };
   };
 
diff --git a/pkgs/applications/office/paperwork/paperwork-gtk.nix b/pkgs/applications/office/paperwork/paperwork-gtk.nix
index e21379678a17..e783e8f4966f 100644
--- a/pkgs/applications/office/paperwork/paperwork-gtk.nix
+++ b/pkgs/applications/office/paperwork/paperwork-gtk.nix
@@ -64,7 +64,7 @@ python3Packages.buildPythonApplication rec {
     # fixes [WARNING] [openpaperwork_core.resources.setuptools] Failed to find
     # resource file paperwork_gtk.icon.out/paperwork_128.png, tried at path
     # /nix/store/3n5lz6y8k9yks76f0nar3smc8djan3xr-paperwork-2.0.2/lib/python3.8/site-packages/paperwork_gtk/icon/out/paperwork_128.png.
-    site=$out/lib/${python3Packages.python.libPrefix}/site-packages/paperwork_gtk
+    site=$out/${python3Packages.python.sitePackages}/paperwork_gtk
     for i in $site/data/paperwork_*.png; do
       ln -s $i $site/icon/out;
     done
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index 457982fae2e8..2b8f90d5a001 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -27,11 +27,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.67.1";
+  version = "0.67.2";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    hash = "sha256-Bx1Q7eXJuu/Vh6UuZYlkUlvw6FXTObYAynHV+60cNVY=";
+    hash = "sha256-YmbnV5/wwaDiuDUTx00sIdbVgtqD8vtvpTNFxXutP3U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index a61e58a86e4b..0476d6735dc6 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -19,14 +19,14 @@
 let
   pname = "qownnotes";
   appname = "QOwnNotes";
-  version = "24.1.4";
+  version = "24.1.5";
 in
 stdenv.mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
-    hash = "sha256-RWAg89rbmoOSzOu9YjAkDluyPiYjT6f8gmri5AAHyww=";
+    hash = "sha256-iw3MdsS1i7B8RXZk2GXwiOReSUC1IX5z0MTEk9B4nMM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/super-productivity/default.nix b/pkgs/applications/office/super-productivity/default.nix
index 1e5852b8cc83..60b7b9ba1129 100644
--- a/pkgs/applications/office/super-productivity/default.nix
+++ b/pkgs/applications/office/super-productivity/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "super-productivity";
-  version = "7.14.3";
+  version = "7.17.2";
 
   src = fetchurl {
     url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage";
-    sha256 = "sha256-wW72T1+RfejaI9LxSxa/g0lvIRmAeFa2ZaEa8K9mRcw=";
+    sha256 = "sha256-CcgjfA0BRfCrRb8N+KIgheUAF+JJK3yIv9Trp+gg+s0=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/office/timeular/default.nix b/pkgs/applications/office/timeular/default.nix
index c354f99c55bc..61b9de8029fe 100644
--- a/pkgs/applications/office/timeular/default.nix
+++ b/pkgs/applications/office/timeular/default.nix
@@ -5,12 +5,12 @@
 }:
 
 let
-  version = "6.6.5";
+  version = "6.6.8";
   pname = "timeular";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
-    hash = "sha256-Ok2EnRLKrLxZQfPj5/fGGJS4lW6DBEmSx+f+Z2Y77fM=";
+    hash = "sha256-giQjcUnhBGt2egRmYLEL8cFZYKjtUu34ozh1filNyiw=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/office/treesheets/default.nix b/pkgs/applications/office/treesheets/default.nix
index e7ba57adcc7a..1fda91523a5e 100644
--- a/pkgs/applications/office/treesheets/default.nix
+++ b/pkgs/applications/office/treesheets/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "treesheets";
-  version = "unstable-2024-01-21";
+  version = "unstable-2024-01-30";
 
   src = fetchFromGitHub {
     owner = "aardappel";
     repo = "treesheets";
-    rev = "c14f5ef716b9a565ec1d7fbc2e86c73ad144c447";
-    sha256 = "8QcMdkLkYaN7PA9vNYbzM8wwqZR4k7/mcn6USvSNKXk=";
+    rev = "f11a3418cb6e403898be215f3efcc2fcb7bc0f19";
+    sha256 = "FOeRfNPX1ER1ZMUWy+4b67XfrATPPZntfhywjaGgDpo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/tryton/default.nix b/pkgs/applications/office/tryton/default.nix
index cae2a4b68297..34c65d4e2fe7 100644
--- a/pkgs/applications/office/tryton/default.nix
+++ b/pkgs/applications/office/tryton/default.nix
@@ -21,13 +21,13 @@ with lib;
 
 python3Packages.buildPythonApplication rec {
   pname = "tryton";
-  version = "5.4.2";
+  version = "7.0.5";
 
   disabled = !python3Packages.isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1rca19krvmycdhmi1vb4ixwq0cagmrkhbqry4f19b725nlp8cv0q";
+    sha256 = "sha256-NAnNBfwnMky0qbtU3P5+kHJwCj6nfIQCtYgu6nXLcaQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index a23d7d3d8849..a5c49591f086 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -153,5 +153,6 @@ stdenv.mkDerivation rec {
     license = licenses.agpl3Only;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ i077 ];
+    mainProgram = "zotero";
   };
 }
diff --git a/pkgs/applications/radio/gnuradio/3.8.nix b/pkgs/applications/radio/gnuradio/3.8.nix
index 3113915bce8d..37533bb05d34 100644
--- a/pkgs/applications/radio/gnuradio/3.8.nix
+++ b/pkgs/applications/radio/gnuradio/3.8.nix
@@ -244,6 +244,8 @@ stdenv.mkDerivation (finalAttrs: (shared // {
     rm gr-fec/python/fec/qa_polar_encoder.py
     rm gr-fec/python/fec/qa_polar_encoder_systematic.py
     rm gr-filter/python/filter/qa_freq_xlating_fft_filter.py
+    # Failed with libstdc++ from GCC 13
+    rm gr-filter/python/filter/qa_filterbank.py
   '';
   patches = [
     # Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
diff --git a/pkgs/applications/radio/gnuradio/3.9.nix b/pkgs/applications/radio/gnuradio/3.9.nix
index 62ee880ce2be..606681b1d6c8 100644
--- a/pkgs/applications/radio/gnuradio/3.9.nix
+++ b/pkgs/applications/radio/gnuradio/3.9.nix
@@ -1,4 +1,5 @@
 { lib, stdenv
+, fetchpatch
 , fetchFromGitHub
 , cmake
 # Remove gcc and python references
@@ -277,6 +278,11 @@ stdenv.mkDerivation (finalAttrs: (shared // {
   patches = [
     # Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
     ./modtool-newmod-permissions.3_9.patch
+    # Fix compilation with GCC 13
+    (fetchpatch {
+      url = "https://github.com/gnuradio/gnuradio/commit/fe1b3592776c26e349e9985d47d3178568dfe6ec.patch";
+      hash = "sha256-bu6fJuUo/i4kM+cZqSw8moB0ymoSVooLfwUIW+WDpWI=";
+    })
   ];
   passthru = shared.passthru // {
     # Deps that are potentially overridden and are used inside GR plugins - the same version must
diff --git a/pkgs/applications/radio/gnuradio/shared.nix b/pkgs/applications/radio/gnuradio/shared.nix
index fbb4960dc8fa..cd674e41815e 100644
--- a/pkgs/applications/radio/gnuradio/shared.nix
+++ b/pkgs/applications/radio/gnuradio/shared.nix
@@ -104,6 +104,8 @@ in {
       featuresInfo
       python
     ;
+    gnuradioOlder = lib.versionOlder versionAttr.major;
+    gnuradioAtLeast = lib.versionAtLeast versionAttr.major;
   } // lib.optionalAttrs (hasFeature "gr-qtgui") {
     inherit qt;
   } // lib.optionalAttrs (hasFeature "gnuradio-companion") {
diff --git a/pkgs/applications/science/biology/deeptools/default.nix b/pkgs/applications/science/biology/deeptools/default.nix
index a199e41d50aa..a7a1f77dfe90 100644
--- a/pkgs/applications/science/biology/deeptools/default.nix
+++ b/pkgs/applications/science/biology/deeptools/default.nix
@@ -1,19 +1,25 @@
-{ lib, python, fetchFromGitHub }:
-with python.pkgs;
-buildPythonApplication rec {
-  pname = "deepTools";
+{ lib
+, python3
+, fetchFromGitHub
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "deeptools";
   version = "3.5.4";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "deeptools";
     repo = "deepTools";
     rev = version;
-    sha256 = "sha256-A8YdlMptmJyxWW0EYLjXFIWjIO/mttEC7VYdlCe9MaI=";
+    hash = "sha256-A8YdlMptmJyxWW0EYLjXFIWjIO/mttEC7VYdlCe9MaI=";
   };
 
-  format = "pyproject";
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools
+  ];
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3.pkgs; [
     numpy
     numpydoc
     scipy
@@ -26,7 +32,21 @@ buildPythonApplication rec {
     importlib-metadata
   ];
 
-  nativeCheckInputs = [ pytest ];
+  nativeCheckInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    export PATH="$out/bin:$PATH"
+  '';
+
+  disabledTestPaths = [
+    # tests trip on `len(sys.argv) == 1`
+    "deeptools/test/test_bigwigAverage.py"
+    "deeptools/test/test_bigwigCompare_and_multiBigwigSummary.py"
+    "deeptools/test/test_heatmapper.py"
+    "deeptools/test/test_multiBamSummary.py"
+  ];
 
   meta = with lib; {
     homepage = "https://deeptools.readthedocs.io/en/develop";
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
index f7be7119b85d..be663628a426 100644
--- a/pkgs/applications/science/biology/igv/default.nix
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchzip, jdk11, wrapGAppsHook }:
+{ lib, stdenv, fetchzip, jdk17, testers, wrapGAppsHook, igv }:
 
 stdenv.mkDerivation rec {
   pname = "igv";
@@ -13,10 +13,10 @@ stdenv.mkDerivation rec {
     cp -Rv * $out/share/
 
     sed -i "s#prefix=.*#prefix=$out/share#g" $out/share/igv.sh
-    sed -i 's#java#${jdk11}/bin/java#g' $out/share/igv.sh
+    sed -i 's#java#${jdk17}/bin/java#g' $out/share/igv.sh
 
     sed -i "s#prefix=.*#prefix=$out/share#g" $out/share/igvtools
-    sed -i 's#java#${jdk11}/bin/java#g' $out/share/igvtools
+    sed -i 's#java#${jdk17}/bin/java#g' $out/share/igvtools
 
     ln -s $out/share/igv.sh $out/bin/igv
     ln -s $out/share/igvtools $out/bin/igvtools
@@ -26,6 +26,11 @@ stdenv.mkDerivation rec {
   '';
   nativeBuildInputs = [ wrapGAppsHook ];
 
+  passthru.tests.version = testers.testVersion {
+    package = igv;
+  };
+
+
   meta = with lib; {
     homepage = "https://www.broadinstitute.org/igv/";
     description = "A visualization tool for interactive exploration of genomic datasets";
diff --git a/pkgs/applications/science/biology/obitools/obitools3.nix b/pkgs/applications/science/biology/obitools/obitools3.nix
index b38af2f64b54..9bf579a80c3b 100644
--- a/pkgs/applications/science/biology/obitools/obitools3.nix
+++ b/pkgs/applications/science/biology/obitools/obitools3.nix
@@ -17,8 +17,8 @@ python3Packages.buildPythonApplication rec {
   '';
 
   preBuild = ''
-    substituteInPlace src/CMakeLists.txt --replace \$'{PYTHONLIB}' "$out/lib/${python3.libPrefix}/site-packages";
-    export NIX_CFLAGS_COMPILE="-L $out/lib/${python3.libPrefix}/site-packages $NIX_CFLAGS_COMPILE"
+    substituteInPlace src/CMakeLists.txt --replace \$'{PYTHONLIB}' "$out/${python3.sitePackages}";
+    export NIX_CFLAGS_COMPILE="-L $out/${python3.sitePackages} $NIX_CFLAGS_COMPILE"
   '';
 
   dontConfigure = true;
diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix
index 7db1edcbe9e9..70f436a088e1 100644
--- a/pkgs/applications/science/biology/samtools/default.nix
+++ b/pkgs/applications/science/biology/samtools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "samtools";
-  version = "1.19";
+  version = "1.19.2";
 
   src = fetchurl {
     url = "https://github.com/samtools/samtools/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-+ms7GOIIUbbzy1WvrzIF0C/LedrjuEn89S6PwQ/wi4M=";
+    hash = "sha256-cfYEmWaOTAjn10X7/yTBXMigl3q6sazV0rtBm9sGXpY=";
   };
 
   # tests require `bgzip` from the htslib package
diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix
index 2d41342ff585..73ee9a3996da 100644
--- a/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/pkgs/applications/science/chemistry/jmol/default.nix
@@ -25,14 +25,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "16.1.49";
+  version = "16.1.51";
   pname = "jmol";
 
   src = let
     baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
   in fetchurl {
     url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
-    hash = "sha256-rzW0dB6LkKnbqHMLII6u3a6iJ1nz6gys/TN0fZFcrBk=";
+    hash = "sha256-7YOBpUeGutFPbMlQ1NnJ6BNyLbw54Meezwfs6mL71BQ=";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/chemistry/mopac/default.nix b/pkgs/applications/science/chemistry/mopac/default.nix
index c0cdc4eff410..4e8e29c993e1 100644
--- a/pkgs/applications/science/chemistry/mopac/default.nix
+++ b/pkgs/applications/science/chemistry/mopac/default.nix
@@ -12,13 +12,13 @@ assert blas.isILP64 == lapack.isILP64;
 
 stdenv.mkDerivation rec {
   pname = "mopac";
-  version = "22.1.0";
+  version = "22.1.1";
 
   src = fetchFromGitHub {
     owner = "openmopac";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-4jQ0WCHK07CXWUPj5Z1zSXObKxnitMj+FJQbLDiS2Dc=";
+    hash = "sha256-tdVb/u89EBggfG3Ofz1ICBE2ug4fbMsUWAILwJP9Ito=";
   };
 
   nativeBuildInputs = [ gfortran cmake ];
diff --git a/pkgs/applications/science/chemistry/octopus/default.nix b/pkgs/applications/science/chemistry/octopus/default.nix
index db08de018804..93fec7149604 100644
--- a/pkgs/applications/science/chemistry/octopus/default.nix
+++ b/pkgs/applications/science/chemistry/octopus/default.nix
@@ -1,5 +1,23 @@
-{ lib, stdenv, fetchFromGitLab, gfortran, which, perl, procps
-, libyaml, libxc, fftw, blas, lapack, gsl, netcdf, arpack, autoreconfHook
+{ lib
+, stdenv
+, fetchFromGitLab
+, gfortran
+, which
+, perl
+, procps
+, libvdwxc
+, libyaml
+, libxc
+, fftw
+, blas
+, lapack
+, gsl
+, netcdf
+, arpack
+, autoreconfHook
+, scalapack
+, mpi
+, enableMpi ? true
 , python3
 , enableFma ? stdenv.hostPlatform.fmaSupport
 , enableFma4 ? stdenv.hostPlatform.fma4Support
@@ -38,8 +56,12 @@ stdenv.mkDerivation rec {
     fftw
     netcdf
     arpack
+    libvdwxc
     (python3.withPackages (ps: [ ps.pyyaml ]))
-  ];
+  ] ++ lib.optional enableMpi scalapack;
+
+  propagatedBuildInputs = lib.optional enableMpi mpi;
+  propagatedUserEnvPkgs = lib.optional enableMpi mpi;
 
   configureFlags = with lib; [
     "--with-yaml-prefix=${lib.getDev libyaml}"
@@ -48,12 +70,22 @@ stdenv.mkDerivation rec {
     "--with-fftw-prefix=${lib.getDev fftw}"
     "--with-gsl-prefix=${lib.getDev gsl}"
     "--with-libxc-prefix=${lib.getDev libxc}"
+    "--with-libvdwxc"
     "--enable-openmp"
-  ] ++ optional enableFma "--enable-fma3"
-    ++ optional enableFma4 "--enable-fma4"
-    ++ optional enableAvx "--enable-avx"
-    ++ optional enableAvx512 "--enable-avx512";
+  ]
+  ++ optional enableFma "--enable-fma3"
+  ++ optional enableFma4 "--enable-fma4"
+  ++ optional enableAvx "--enable-avx"
+  ++ optional enableAvx512 "--enable-avx512"
+  ++ optionals enableMpi [
+    "--enable-mpi"
+    "--with-scalapack=-lscalapack"
+    "CC=mpicc"
+    "FC=mpif90"
+  ];
 
+
+  nativeCheckInputs = lib.optional.enableMpi mpi;
   doCheck = false;
   checkTarget = "check-short";
 
@@ -67,6 +99,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru = lib.attrsets.optionalAttrs enableMpi { inherit mpi; };
+
   meta = with lib; {
     description = "Real-space time dependent density-functional theory code";
     homepage = "https://octopus-code.org";
diff --git a/pkgs/applications/science/electronics/dsview/default.nix b/pkgs/applications/science/electronics/dsview/default.nix
index 98c35c37e8d5..ec53e976aec5 100644
--- a/pkgs/applications/science/electronics/dsview/default.nix
+++ b/pkgs/applications/science/electronics/dsview/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, pkg-config, cmake, wrapQtAppsHook
 , libzip, boost, fftw, qtbase, qtwayland, qtsvg, libusb1
-, python3, fetchpatch
+, python3, fetchpatch, desktopToDarwinBundle
 }:
 
 stdenv.mkDerivation rec {
@@ -20,18 +20,19 @@ stdenv.mkDerivation rec {
     ./install.patch
   ];
 
-  nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
+  nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]
+    ++ lib.optional stdenv.isDarwin desktopToDarwinBundle;
 
   buildInputs = [
-    boost fftw qtbase qtwayland qtsvg libusb1 libzip
+    boost fftw qtbase qtsvg libusb1 libzip
     python3
-  ];
+  ] ++ lib.optional stdenv.isLinux qtwayland;
 
   meta = with lib; {
     description = "A GUI program for supporting various instruments from DreamSourceLab, including logic analyzer, oscilloscope, etc";
     homepage = "https://www.dreamsourcelab.com/";
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ bachp ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ bachp carlossless ];
   };
 }
diff --git a/pkgs/applications/science/electronics/dsview/install.patch b/pkgs/applications/science/electronics/dsview/install.patch
index 9fd9133e2795..9fc660bf8148 100644
--- a/pkgs/applications/science/electronics/dsview/install.patch
+++ b/pkgs/applications/science/electronics/dsview/install.patch
@@ -16,8 +16,8 @@ index eb9be42..220817c 100644
 -		install(FILES DSView/DreamSourceLab.rules DESTINATION /etc/udev/rules.d RENAME 60-dreamsourcelab.rules)
 -	endif()
 -
-+	install(FILES DSView/DSView.desktop DESTINATION share/applications RENAME dsview.desktop)
 +	install(FILES DSView/DreamSourceLab.rules DESTINATION etc/udev/rules.d RENAME 60-dreamsourcelab.rules)
  endif()
++install(FILES DSView/DSView.desktop DESTINATION share/applications RENAME dsview.desktop)
  
  install(FILES NEWS25 DESTINATION share/DSView RENAME NEWS25)
diff --git a/pkgs/applications/science/electronics/fritzing/default.nix b/pkgs/applications/science/electronics/fritzing/default.nix
index 46307a133de3..efe70f125d04 100644
--- a/pkgs/applications/science/electronics/fritzing/default.nix
+++ b/pkgs/applications/science/electronics/fritzing/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , wrapQtAppsHook
 , qmake
 , pkg-config
@@ -15,6 +14,7 @@
 , libngspice
 , libgit2
 , quazip
+, clipper
 }:
 
 let
@@ -38,25 +38,17 @@ let
   };
 in
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "fritzing";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
-    owner = pname;
+    owner = "fritzing";
     repo = "fritzing-app";
-    rev = "8f5f1373835050ce014299c78d91c24beea9b633";
-    hash = "sha256-jLVNzSh2KwXpi3begtp/53sdBmQQbCnKMCm2p770etg=";
+    rev = "dbdbe34c843677df721c7b3fc3e32c0f737e7e95";
+    hash = "sha256-Xi5sPU2RGkqh7T+EOvwxJJKKYDhJfccyEZ8LBBTb2s4=";
   };
 
-  patches = [
-    # Fix error caused by implicit call
-    (fetchpatch {
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/0003-ParseResult-operator-bool-in-explicit.patch?h=fritzing&id=b2c79b55f0a2811e80bb1136b1e021fbc56937c9";
-      hash = "sha256-9HdcNqLHEB0HQbF7AaTdUIJUbafwsRKPA+wfF4g8veU=";
-    })
-  ];
-
   nativeBuildInputs = [ qmake pkg-config qttools wrapQtAppsHook ];
   buildInputs = [
     qtbase
@@ -68,6 +60,7 @@ stdenv.mkDerivation rec {
     libgit2
     quazip
     libngspice
+    clipper
   ];
 
   postPatch = ''
@@ -81,13 +74,17 @@ stdenv.mkDerivation rec {
     substituteInPlace src/fapplication.cpp \
       --replace 'PartsChecker::getSha(dir.absolutePath());' '"${partsSha}";'
 
+    substituteInPlace phoenix.pro \
+      --replace "6.5.10" "${qtbase.version}"
+
     mkdir parts
     cp -a ${parts}/* parts/
   '';
 
   env.NIX_CFLAGS_COMPILE = lib.concatStringsSep " " [
-    "-I${lib.getDev quazip}/include/QuaZip-Qt${lib.versions.major qtbase.version}-${quazip.version}/quazip"
+    "-I${lib.getDev quazip}/include/QuaZip-Qt${lib.versions.major qtbase.version}-${quazip.version}"
     "-I${svgpp}/include"
+    "-I${clipper}/include/polyclipping"
   ];
   env.NIX_LDFLAGS = "-lquazip1-qt${lib.versions.major qtbase.version}";
 
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index ffab1ba75121..11837638e1ab 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,36 +3,36 @@
 {
   "kicad" = {
     kicadVersion = {
-      version =			"7.0.9";
+      version =			"7.0.10";
       src = {
-        rev =			"1c81053cc40579ecd5febef1aeb1164008039deb";
-        sha256 =		"1hq9rba1gcks14zwbr8nbicpsil4imslgfch6ll33fhizbks3fq4";
+        rev =			"7daac78752749fc919e932be6156914aa83c926f";
+        sha256 =		"0z459yi0s02mwdgbr3xxw43gn9yjhvfkjnsxmns5mksgzsr5nmhh";
       };
     };
     libVersion = {
-      version =			"7.0.9";
+      version =			"7.0.10";
       libSources = {
-        symbols.rev =		"1ed4ed6c0696e50165b8e3d7978136a05db2d7c3";
-        symbols.sha256 =	"0ynsnjq3z126cjkgm1fjbjvdvpc0walnr42ya9dv46l27kxy2j77";
-        templates.rev =		"856bacc6782ea8c9bcb5a49a2d438a4689e0579b";
-        templates.sha256 =	"11582ldnv7hkljmhaym83962kixq1hjbfmdrn5laq7l4jk3l19vh";
-        footprints.rev =	"fe7b9aec7635caabbaa85fa8a15b85038394099b";
-        footprints.sha256 =	"16a4c2xs4i8wbm01a901yxabxk0qdsjkzlccfawddv82bkh4b87h";
-        packages3d.rev =	"5bc66f3c0f6dabf09df6c5188b8d955968500eab";
-        packages3d.sha256 =	"1cly28vc07i54v487zbb8d1h70nrd3naxvq146b0xnbrjwnd2q28";
+        symbols.rev =		"eedf6c9ddac2816023e817d4dc91032f9d7390b9";
+        symbols.sha256 =	"0nlgmxf9z1vf4g350dfkxql1dawgmw275wqxkgszsfxmhdfpmi9v";
+        templates.rev =		"9ce98cc45f3778e05c404edebf0f98de5c247ffe";
+        templates.sha256 =	"0mykfwwik7472i4r0isc5szj3dnmvd0538p0vlmzh4rcgj3pj3vm";
+        footprints.rev =	"7061fc9847ecc1b838e60dc6826db534028494f6";
+        footprints.sha256 =	"1az6fzh1lma71mj12bc4bblnmzjayrxhkb8w9rjvlhvvgv33cdmy";
+        packages3d.rev =	"d7345b34daaa23acf0d4506ed937fb424b5b18cd";
+        packages3d.sha256 =	"0xzyi4mgyifwc6dppdzh6jq294mkj0a71cwkqw2ymz1kfbksw626";
       };
     };
   };
   "kicad-testing" = {
     kicadVersion = {
-      version =			"7.0-2024-01-07";
+      version =			"7.0-2024-01-27";
       src = {
-        rev =			"ace6439758f8d211001235f36f02a60488337e41";
-        sha256 =		"0z4p2srz9rld7mq6k2y5fipz8mgsdhh2506wam4388nklzzkrccr";
+        rev =			"13fcb571f7e5bf4bf142d151651fc577aca32053";
+        sha256 =		"0wvk3wx5lm2jvyip6b96ja464hdzp9klb7b7ng5i3mdldabh0jba";
       };
     };
     libVersion = {
-      version =			"7.0-2024-01-07";
+      version =			"7.0-2024-01-27";
       libSources = {
         symbols.rev =		"eedf6c9ddac2816023e817d4dc91032f9d7390b9";
         symbols.sha256 =	"0nlgmxf9z1vf4g350dfkxql1dawgmw275wqxkgszsfxmhdfpmi9v";
diff --git a/pkgs/applications/science/logic/btor2tools/default.nix b/pkgs/applications/science/logic/btor2tools/default.nix
index 0cb9c8037cb2..ce73ea636f29 100644
--- a/pkgs/applications/science/logic/btor2tools/default.nix
+++ b/pkgs/applications/science/logic/btor2tools/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, cmake, fetchFromGitHub, fixDarwinDylibNames }:
+{ lib, stdenv, cmake, fetchFromGitHub, fetchpatch, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
   pname = "btor2tools";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "0mfqmkgvyw8fa2c09kww107dmk180ch1hp98r5kv41vnc04iqb0s";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "gcc-13.patch";
+      url = "https://github.com/Boolector/btor2tools/commit/037f1fa88fb439dca6f648ad48a3463256d69d8b.patch";
+      hash = "sha256-FX1yy9XdUs1tAReOxhEzNHu48DrISzNNMSYoIrhHoFY=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   installPhase = ''
diff --git a/pkgs/applications/science/logic/cvc5/default.nix b/pkgs/applications/science/logic/cvc5/default.nix
index 142668f382c3..4da837ca46f6 100644
--- a/pkgs/applications/science/logic/cvc5/default.nix
+++ b/pkgs/applications/science/logic/cvc5/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cvc5";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner  = "cvc5";
     repo   = "cvc5";
     rev    = "cvc5-${version}";
-    hash  = "sha256-BWmIxQz+if402f7zsFROWG1TXbcsg50FJbnffJFYun4=";
+    hash  = "sha256-TU2ZG6/9bXRPozvEVUiSWixImY38iavD3huhSU8DbCw=";
   };
 
   nativeBuildInputs = [ pkg-config cmake flex ];
diff --git a/pkgs/applications/science/logic/easycrypt/default.nix b/pkgs/applications/science/logic/easycrypt/default.nix
index 36ff9f2046f8..2869bcd6e1e3 100644
--- a/pkgs/applications/science/logic/easycrypt/default.nix
+++ b/pkgs/applications/science/logic/easycrypt/default.nix
@@ -22,11 +22,12 @@ stdenv.mkDerivation rec {
     batteries
     dune-build-info
     inifiles
+    why3
     yojson
     zarith
   ];
 
-  propagatedBuildInputs = [ why3 ];
+  propagatedBuildInputs = [ why3.out ];
 
   strictDeps = true;
 
diff --git a/pkgs/applications/science/logic/egglog/Cargo.lock b/pkgs/applications/science/logic/egglog/Cargo.lock
index cb023f2e05c1..0d2fbadc10bc 100644
--- a/pkgs/applications/science/logic/egglog/Cargo.lock
+++ b/pkgs/applications/science/logic/egglog/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
 
 [[package]]
 name = "ahash"
-version = "0.7.6"
+version = "0.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
 dependencies = [
  "getrandom",
  "once_cell",
@@ -15,56 +15,56 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.8.3"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
 dependencies = [
  "cfg-if 1.0.0",
  "once_cell",
  "version_check",
+ "zerocopy",
 ]
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.2"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "allocator-api2"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56fc6cf8dc8c4158eed8649f9b8b0ea1518eb62b544fe9490d66fa0b349eafe9"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
 
 [[package]]
 name = "anstream"
-version = "0.3.2"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
+checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
 dependencies = [
  "anstyle",
  "anstyle-parse",
  "anstyle-query",
  "anstyle-wincon",
  "colorchoice",
- "is-terminal",
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle"
-version = "1.0.1"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
+checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
 dependencies = [
  "utf8parse",
 ]
@@ -80,9 +80,9 @@ dependencies = [
 
 [[package]]
 name = "anstyle-wincon"
-version = "1.0.1"
+version = "3.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
+checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
 dependencies = [
  "anstyle",
  "windows-sys",
@@ -126,9 +126,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.3.3"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
 
 [[package]]
 name = "block-buffer"
@@ -141,15 +141,9 @@ dependencies = [
 
 [[package]]
 name = "bumpalo"
-version = "3.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
-
-[[package]]
-name = "cc"
-version = "1.0.79"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "cfg-if"
@@ -165,20 +159,19 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "clap"
-version = "4.3.11"
+version = "4.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d"
+checksum = "ac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17b"
 dependencies = [
  "clap_builder",
  "clap_derive",
- "once_cell",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.3.11"
+version = "4.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b"
+checksum = "c77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663"
 dependencies = [
  "anstream",
  "anstyle",
@@ -188,21 +181,21 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "4.3.2"
+version = "4.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.38",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
 
 [[package]]
 name = "colorchoice"
@@ -222,9 +215,9 @@ dependencies = [
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
 dependencies = [
  "libc",
 ]
@@ -304,10 +297,11 @@ dependencies = [
  "clap",
  "egraph-serialize",
  "env_logger",
+ "generic_symbolic_expressions",
  "getrandom",
  "glob",
- "hashbrown 0.14.0",
- "indexmap 2.0.0",
+ "hashbrown 0.14.2",
+ "indexmap",
  "instant",
  "lalrpop",
  "lalrpop-util",
@@ -323,17 +317,17 @@ dependencies = [
  "serde_json",
  "smallvec",
  "symbol_table",
- "symbolic_expressions",
  "thiserror",
 ]
 
 [[package]]
 name = "egraph-serialize"
 version = "0.1.0"
-source = "git+https://github.com/egraphs-good/egraph-serialize?rev=e406ffcec8c6e841089fd3e4f9b76c35ce448950#e406ffcec8c6e841089fd3e4f9b76c35ce448950"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a41150f383849cfc16ae6230f592112b3c0a2c0e3ec43eb0b09db037bfcce703"
 dependencies = [
  "graphviz-rust",
- "indexmap 2.0.0",
+ "indexmap",
  "once_cell",
  "ordered-float",
  "serde",
@@ -342,9 +336,9 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "ena"
@@ -376,30 +370,19 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
 name = "errno"
-version = "0.3.1"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
 dependencies = [
- "errno-dragonfly",
  "libc",
  "windows-sys",
 ]
 
 [[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
 name = "fastrand"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fixedbitset"
@@ -418,6 +401,11 @@ dependencies = [
 ]
 
 [[package]]
+name = "generic_symbolic_expressions"
+version = "5.0.3"
+source = "git+https://github.com/oflatt/symbolic-expressions?rev=655b6a4c06b4b3d3b2300e17779860b4abe440f0#655b6a4c06b4b3d3b2300e17779860b4abe440f0"
+
+[[package]]
 name = "getrandom"
 version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -458,16 +446,16 @@ version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 dependencies = [
- "ahash 0.7.6",
+ "ahash 0.7.7",
 ]
 
 [[package]]
 name = "hashbrown"
-version = "0.14.0"
+version = "0.14.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
 dependencies = [
- "ahash 0.8.3",
+ "ahash 0.8.6",
  "allocator-api2",
 ]
 
@@ -479,9 +467,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
 
 [[package]]
 name = "humantime"
@@ -491,22 +479,12 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown 0.12.3",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.0.0"
+version = "2.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.0",
+ "hashbrown 0.14.2",
  "serde",
 ]
 
@@ -595,7 +573,7 @@ dependencies = [
  "petgraph",
  "pico-args",
  "regex",
- "regex-syntax",
+ "regex-syntax 0.7.5",
  "string_cache",
  "term",
  "tiny-keccak",
@@ -619,9 +597,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.149"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
 
 [[package]]
 name = "libtest-mimic"
@@ -636,15 +614,15 @@ dependencies = [
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
 
 [[package]]
 name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -652,15 +630,15 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.19"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
 
 [[package]]
 name = "memory_units"
@@ -676,9 +654,9 @@ checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
 
 [[package]]
 name = "num-bigint"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
+checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
 dependencies = [
  "autocfg",
  "num-integer",
@@ -709,9 +687,9 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
 dependencies = [
  "autocfg",
 ]
@@ -734,9 +712,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "ordered-float"
-version = "3.7.0"
+version = "3.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fc2dbde8f8a79f2102cc474ceb0ad68e3b80b85289ea62389b60e66777e4213"
+checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc"
 dependencies = [
  "num-traits",
  "rand",
@@ -755,32 +733,33 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.8"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall 0.3.5",
+ "redox_syscall 0.4.1",
  "smallvec",
  "windows-targets",
 ]
 
 [[package]]
 name = "pest"
-version = "2.7.2"
+version = "2.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1acb4a4365a13f749a93f1a094a7805e5cfa0955373a9de860d962eaa3a5fe5a"
+checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5"
 dependencies = [
+ "memchr",
  "thiserror",
  "ucd-trie",
 ]
 
 [[package]]
 name = "pest_derive"
-version = "2.7.2"
+version = "2.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "666d00490d4ac815001da55838c500eafb0320019bbaa44444137c48b443a853"
+checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2"
 dependencies = [
  "pest",
  "pest_generator",
@@ -788,22 +767,22 @@ dependencies = [
 
 [[package]]
 name = "pest_generator"
-version = "2.7.2"
+version = "2.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68ca01446f50dbda87c1786af8770d535423fa8a53aec03b8f4e3d7eb10e0929"
+checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227"
 dependencies = [
  "pest",
  "pest_meta",
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.38",
 ]
 
 [[package]]
 name = "pest_meta"
-version = "2.7.2"
+version = "2.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56af0a30af74d0445c0bf6d9d051c979b516a1a5af790d251daee76005420a48"
+checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6"
 dependencies = [
  "once_cell",
  "pest",
@@ -812,12 +791,12 @@ dependencies = [
 
 [[package]]
 name = "petgraph"
-version = "0.6.3"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4"
+checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
 dependencies = [
  "fixedbitset",
- "indexmap 1.9.3",
+ "indexmap",
 ]
 
 [[package]]
@@ -849,18 +828,18 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.64"
+version = "1.0.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.29"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
  "proc-macro2",
 ]
@@ -908,9 +887,9 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags 1.3.2",
 ]
@@ -928,32 +907,38 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.9.1"
+version = "1.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
 dependencies = [
  "aho-corasick",
  "memchr",
  "regex-automata",
- "regex-syntax",
+ "regex-syntax 0.8.2",
 ]
 
 [[package]]
 name = "regex-automata"
-version = "0.3.2"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax",
+ "regex-syntax 0.8.2",
 ]
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.4"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rustc-hash"
@@ -963,11 +948,11 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "rustix"
-version = "0.38.4"
+version = "0.38.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
 dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.1",
  "errno",
  "libc",
  "linux-raw-sys",
@@ -976,9 +961,9 @@ dependencies = [
 
 [[package]]
 name = "rustversion"
-version = "1.0.13"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "ryu"
@@ -988,37 +973,37 @@ checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "serde"
-version = "1.0.171"
+version = "1.0.190"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
+checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.171"
+version = "1.0.190"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
+checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.38",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.103"
+version = "1.0.108"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
 dependencies = [
- "indexmap 2.0.0",
+ "indexmap",
  "itoa",
  "ryu",
  "serde",
@@ -1026,9 +1011,9 @@ dependencies = [
 
 [[package]]
 name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if 1.0.0",
  "cpufeatures",
@@ -1037,15 +1022,15 @@ dependencies = [
 
 [[package]]
 name = "siphasher"
-version = "0.3.10"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
 
 [[package]]
 name = "smallvec"
-version = "1.11.0"
+version = "1.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
 
 [[package]]
 name = "string_cache"
@@ -1068,19 +1053,15 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
 name = "symbol_table"
-version = "0.2.0"
-source = "git+https://github.com/mwillsey/symbol_table?rev=acddcf8938d1b4ed2fce048c9d83c30203d404b9#acddcf8938d1b4ed2fce048c9d83c30203d404b9"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "828f672b631c220bf6ea8a1d3b82c7d0fc998e5ba8373383d8604bc1e2a6245a"
 dependencies = [
- "ahash 0.7.6",
+ "ahash 0.7.7",
  "hashbrown 0.12.3",
 ]
 
 [[package]]
-name = "symbolic_expressions"
-version = "5.0.3"
-source = "git+https://github.com/oflatt/symbolic-expressions?rev=4c0ea5ca008f972450b2af72387e64d2c1c6a791#4c0ea5ca008f972450b2af72387e64d2c1c6a791"
-
-[[package]]
 name = "syn"
 version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1093,9 +1074,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.25"
+version = "2.0.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2"
+checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1104,13 +1085,13 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.7.1"
+version = "3.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
 dependencies = [
  "cfg-if 1.0.0",
  "fastrand",
- "redox_syscall 0.3.5",
+ "redox_syscall 0.4.1",
  "rustix",
  "windows-sys",
 ]
@@ -1128,31 +1109,31 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
 name = "thiserror"
-version = "1.0.43"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.43"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.38",
 ]
 
 [[package]]
@@ -1175,9 +1156,9 @@ dependencies = [
 
 [[package]]
 name = "typenum"
-version = "1.16.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "ucd-trie"
@@ -1187,9 +1168,9 @@ checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.10"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-xid"
@@ -1236,7 +1217,7 @@ dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.38",
  "wasm-bindgen-shared",
 ]
 
@@ -1258,7 +1239,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.38",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
@@ -1334,9 +1315,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
  "winapi",
 ]
@@ -1358,9 +1339,9 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.48.1"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
  "windows_aarch64_gnullvm",
  "windows_aarch64_msvc",
@@ -1373,42 +1354,62 @@ dependencies = [
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "zerocopy"
+version = "0.7.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd66a62464e3ffd4e37bd09950c2b9dd6c4f8767380fabba0d523f9a775bc85a"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "255c4596d41e6916ced49cfafea18727b24d67878fa180ddfd69b9df34fd1726"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.38",
+]
diff --git a/pkgs/applications/science/logic/egglog/default.nix b/pkgs/applications/science/logic/egglog/default.nix
index eedd90315db8..ab5653b50912 100644
--- a/pkgs/applications/science/logic/egglog/default.nix
+++ b/pkgs/applications/science/logic/egglog/default.nix
@@ -5,21 +5,21 @@
 
 rustPlatform.buildRustPackage {
   pname = "egglog";
-  version = "unstable-2023-09-12";
+  version = "0-unstable-2024-01-26";
 
   src = fetchFromGitHub {
     owner = "egraphs-good";
     repo = "egglog";
-    rev = "4d67f262a6f27aa5cfb62a2cfc7df968959105df";
-    hash = "sha256-1mc7dW2pgaK4D7ZmlSHohb+6lcr7M9SRLUV/Dod8Rv0=";
+    rev = "b78f69ca1f7187c363bb31271c8e8958f477f15d";
+    hash = "sha256-/1ktyz8wU1yLTdAFPnupK6jUFjiK6nQfotGRNOWiOsA=";
   };
 
+  useNextest = true;
+
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "egraph-serialize-0.1.0" = "sha256-sdkn7lmtmbLwAopabLWkrD6GjM3LIHseysuvwPz26G4=";
-      "symbol_table-0.2.0" = "sha256-f9UclMOUig+N5L3ibBXou0pJ4S/CQqtaji7tnebVbis=";
-      "symbolic_expressions-5.0.3" = "sha256-mSxnhveAItlTktQC4hM8o6TYjgtCUgkdZj7i6MR4Oeo=";
+      "generic_symbolic_expressions-5.0.3" = "sha256-UX6fS470YJMdNnn0GR3earMGQK3p/YvaFia7IEvGGKg=";
     };
   };
 
diff --git a/pkgs/applications/science/logic/lean4/default.nix b/pkgs/applications/science/logic/lean4/default.nix
index 092489f84456..97336c06b806 100644
--- a/pkgs/applications/science/logic/lean4/default.nix
+++ b/pkgs/applications/science/logic/lean4/default.nix
@@ -5,22 +5,23 @@
 , git
 , gmp
 , perl
+, testers
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "lean4";
-  version = "4.4.0";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "leanprover";
     repo = "lean4";
-    rev = "v${version}";
-    hash = "sha256-lU67wjl6yJP2r97lHYxrJqn+JhqMcBIbz/+qlCgY3/o=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-KTCTk4Fpbmm7FsUo03tAvenC6HuB3zJGax6iGTwLaXM=";
   };
 
   postPatch = ''
     substituteInPlace src/CMakeLists.txt \
-      --replace 'set(GIT_SHA1 "")' 'set(GIT_SHA1 "${src.rev}")'
+      --replace 'set(GIT_SHA1 "")' 'set(GIT_SHA1 "${finalAttrs.src.rev}")'
 
     # Remove tests that fails in sandbox.
     # It expects `sourceRoot` to be a git repository.
@@ -54,13 +55,19 @@ stdenv.mkDerivation rec {
     NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
   };
 
+  passthru.tests = {
+    version = testers.testVersion {
+      package = finalAttrs.finalPackage;
+    };
+  };
+
   meta = with lib; {
     description = "Automatic and interactive theorem prover";
     homepage = "https://leanprover.github.io/";
-    changelog = "https://github.com/leanprover/lean4/blob/${src.rev}/RELEASES.md";
+    changelog = "https://github.com/leanprover/lean4/blob/${finalAttrs.src.rev}/RELEASES.md";
     license = licenses.asl20;
     platforms = platforms.all;
     maintainers = with maintainers; [ marsam ];
     mainProgram = "lean";
   };
-}
+})
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index f0567fdda3b6..1676ca4c2a4f 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -1,6 +1,8 @@
 { callPackage, fetchurl, lib, stdenv
 , ocamlPackages, coqPackages, rubber, hevea, emacs
-, version ? "1.7.0"
+, version ? "1.7.1"
+, ideSupport ? true
+, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -10,15 +12,18 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "https://why3.gitlabpages.inria.fr/releases/${pname}-${version}.tar.gz";
     hash = {
-      "1.7.0" = "sha256-rygrjzuJVukOvpuXTG/yeoEP98ZFkLQHObgc3My1PVY=";
+      "1.7.1" = "sha256-rG1hcxFhQ2PlE9RTz9ELliDjCuSzLnJ1togRY637cU4=";
       "1.6.0" = "sha256-hFvM6kHScaCtcHCc6Vezl9CR7BFbiKPoTEh7kj0ZJxw=";
     }."${version}";
   };
 
   strictDeps = true;
 
-  nativeBuildInputs = with ocamlPackages;  [
+  nativeBuildInputs = lib.optional ideSupport
+    wrapGAppsHook
+  ++ (with ocamlPackages;  [
     ocaml findlib menhir
+  ]) ++ [
     # Coq Support
     coqPackages.coq
   ];
@@ -29,8 +34,10 @@ stdenv.mkDerivation rec {
     emacs
     # Documentation
     rubber hevea
+  ] ++ lib.optional ideSupport
     # GUI
     lablgtk3-sourceview3
+  ++ [
     # WebIDE
     js_of_ocaml js_of_ocaml-ppx
     # S-expression output for why3pp
@@ -44,10 +51,19 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  configureFlags = [ "--enable-verbose-make" ];
+  configureFlags = [ "--enable-verbose-make"
+    (lib.enableFeature ideSupport "ide")
+  ];
+
+  outputs = [ "out" "dev" ];
 
   installTargets = [ "install" "install-lib" ];
 
+  postInstall = ''
+    mkdir -p $dev/lib
+    mv $out/lib/ocaml $dev/lib/
+  '';
+
   passthru.withProvers = callPackage ./with-provers.nix {};
 
   meta = with lib; {
diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix
index 9ede6a922da6..b247599a0813 100644
--- a/pkgs/applications/science/logic/z3/default.nix
+++ b/pkgs/applications/science/logic/z3/default.nix
@@ -89,8 +89,8 @@ let common = { version, sha256, patches ? [ ], tag ? "z3" }:
 in
 {
   z3_4_12 = common {
-    version = "4.12.4";
-    sha256 = "sha256-cxl7D47dRn+uMVOHbF0avj5+ZFWjaJ7lXj/8l6r9q2I=";
+    version = "4.12.5";
+    sha256 = "sha256-Qj9w5s02OSMQ2qA7HG7xNqQGaUacA1d4zbOHynq5k+A=";
   };
   z3_4_11 = common {
     version = "4.11.2";
diff --git a/pkgs/applications/science/math/eigenmath/default.nix b/pkgs/applications/science/math/eigenmath/default.nix
index 3cd9384ecf1f..e23d252e3f27 100644
--- a/pkgs/applications/science/math/eigenmath/default.nix
+++ b/pkgs/applications/science/math/eigenmath/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "eigenmath";
-  version = "unstable-2024-01-22";
+  version = "unstable-2024-01-23";
 
   src = fetchFromGitHub {
     owner = "georgeweigt";
     repo = pname;
-    rev = "db4b22cd536cefbdf0b6c928f11c793a5580da0b";
-    hash = "sha256-T1GXh1go08XVTToEg5Dq4BuwTCxxqYwQsx+c8g1RPxg=";
+    rev = "1d55696b742fee0b4ef8e39b7a420c00c2f1e329";
+    hash = "sha256-AQdCFKDUWfNKxZoWp82DdxUA2GiMGWyuyh7Fkofm9kc=";
   };
 
   checkPhase = let emulator = stdenv.hostPlatform.emulator buildPackages; in ''
diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix
index 45209881f7a9..b2a76f5fb252 100644
--- a/pkgs/applications/science/misc/boinc/default.nix
+++ b/pkgs/applications/science/misc/boinc/default.nix
@@ -27,14 +27,14 @@
 
 stdenv.mkDerivation rec {
   pname = "boinc";
-  version = "7.24.2";
+  version = "7.24.3";
 
   src = fetchFromGitHub {
     name = "${pname}-${version}-src";
     owner = "BOINC";
     repo = "boinc";
     rev = "client_release/${lib.versions.majorMinor version}/${version}";
-    hash = "sha256-Aaoqf53wagCkzkZUs7mVbE2Z2P6GvxiQYxPrL6ahGqA=";
+    hash = "sha256-0gyCO5t8t0SbOCBClVVu+C2VpBlxsnoRHBRYgI8nNO4=";
   };
 
   nativeBuildInputs = [ libtool automake autoconf m4 pkg-config ];
diff --git a/pkgs/applications/science/misc/foldingathome/client.nix b/pkgs/applications/science/misc/foldingathome/client.nix
index f61fe5b01857..108dcc284ea9 100644
--- a/pkgs/applications/science/misc/foldingathome/client.nix
+++ b/pkgs/applications/science/misc/foldingathome/client.nix
@@ -8,13 +8,13 @@
 , extraPkgs ? [ ]
 }:
 let
-  version = "8.1.18";
+  version = "8.3.1";
 
   cbangSrc = fetchFromGitHub {
     owner = "cauldrondevelopmentllc";
     repo = "cbang";
     rev = "bastet-v${version}";
-    hash = "sha256-G0rknVmZiyC4sRTOowFjf7EQ5peGf+HLPPcLWXXFlX4=";
+    hash = "sha256-cuyfJG5aDJ6e2SllxwKTViG0j8FWHvjcTaaBBtkgEdU=";
   };
 
   fah-client = stdenv.mkDerivation {
@@ -25,7 +25,7 @@ let
       owner = "FoldingAtHome";
       repo = "fah-client-bastet";
       rev = "v${version}";
-      hash = "sha256-IgT/5NqCwN8N8OObjtASuT4IRb2EN4bdixxUdjiyddI=";
+      hash = "sha256-Ztc2im4Xmk8f6GotGRgA5zDkcyQFnodUvroJVl+ApT4=";
     };
 
     nativeBuildInputs = [ scons ];
@@ -45,14 +45,15 @@ let
     installPhase = ''
       runHook preInstall
 
-      mkdir -p $out/{bin,share/applications,share/feh-client}
+      mkdir -p $out/{bin,share/applications}
 
       cp fah-client $out/bin/fah-client
 
-      cp install/lin/fah-client.desktop $out/share/applications/
-      cp -r images $out/share/feh-client/
-
-      sed -e "s|Icon=.*|Icon=$out/share/feh-client/images/fahlogo.png|g" -i $out/share/applications/fah-client.desktop
+      cp install/lin/fah-client.desktop.in $out/share/applications/fah-client.desktop
+      sed \
+        -e "s|Icon=.*|Icon=$out/share/feh-client/images/fahlogo.png|g" \
+        -e "s|%(PACKAGE_URL)s|https://github.com/FoldingAtHome/fah-client-bastet|g" \
+        -i $out/share/applications/fah-client.desktop
 
       runHook postInstall
     '';
diff --git a/pkgs/applications/science/misc/gplates/default.nix b/pkgs/applications/science/misc/gplates/default.nix
index e6cebbc53b73..283a14e99650 100644
--- a/pkgs/applications/science/misc/gplates/default.nix
+++ b/pkgs/applications/science/misc/gplates/default.nix
@@ -12,6 +12,7 @@
 , gmp
 , libGL
 , libGLU
+, libSM
 , mpfr
 , proj
 , python3
@@ -58,6 +59,7 @@ in mkDerivation rec {
     gmp
     libGL
     libGLU
+    libSM
     mpfr
     proj
     python
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index ee3610c5f6f6..c5534c18d7bb 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -2,7 +2,6 @@
 , lib
 , callPackage
 , fetchurl
-, fetchpatch
 , makeWrapper
 , cmake
 , coreutils
@@ -58,7 +57,7 @@
 
 stdenv.mkDerivation rec {
   pname = "root";
-  version = "6.30.02";
+  version = "6.30.04";
 
   passthru = {
     tests = import ./tests { inherit callPackage; };
@@ -66,7 +65,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
-    hash = "sha256-eWWkVtGtHuDV/kdpv1qP7Cka9oTtk9sPMICpw2JDUYM=";
+    hash = "sha256-K0GAtpjznMZdkQhNgzqIRRWzJbxfZzyOOavoGLAl2Mw=";
   };
 
   nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
@@ -110,13 +109,6 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./sw_vers.patch
-
-    # Fix for builtin_llvm=OFF
-    # https://github.com/root-project/root/pull/14238
-    (fetchpatch {
-      url = "https://github.com/root-project/root/commit/1477d3adebf27a19f3a8b85f21c27a0a5649c7ff.diff";
-      hash = "sha256-g+FqXBTWXA7t7F/rMarnmOK2014oCNnNJbHhjH+Tvjw=";
-    })
   ];
 
   preConfigure = ''
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index 085b44bf586c..8590334449be 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "snakemake";
-  version = "8.2.1";
+  version = "8.3.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-NpsDJuxH+NHvE735OCHaISPSOhYDxWiKqCb4Yk9DHf4=";
+    hash = "sha256-urC8IVfliVzyWu7zqZN5EI6d3vXz80vHPhQaKBzTEVA=";
     # https://github.com/python-versioneer/python-versioneer/issues/217
     postFetch = ''
       sed -i "$out"/snakemake/_version.py -e 's#git_refnames = ".*"#git_refnames = " (tag: v${version})"#'
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index 1daeeb81410a..80eee27eb2d9 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -40,8 +40,8 @@ let
       }
     else
       {
-        version = "2023.3";
-        hash = "sha256-Tsj40MevdrE/j9FtuOLBIOdJ3kOa6VVNn2U/gS140cs=";
+        version = "2024";
+        hash = "sha256-BNIm1SBmqLw6QuANYhPec3tOwpLiZwMGWST/AZVoAeI=";
       };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/applications/terminal-emulators/contour/default.nix b/pkgs/applications/terminal-emulators/contour/default.nix
index a01975a73ef3..dd08debdd1e8 100644
--- a/pkgs/applications/terminal-emulators/contour/default.nix
+++ b/pkgs/applications/terminal-emulators/contour/default.nix
@@ -30,13 +30,13 @@
 
 stdenv.mkDerivation (final: {
   pname = "contour";
-  version = "0.4.0.6245";
+  version = "0.4.1.6292";
 
   src = fetchFromGitHub {
     owner = "contour-terminal";
     repo = "contour";
     rev = "v${final.version}";
-    hash = "sha256-0A3fGbQPfzV4V4f5GGyjbQLJK+tX7ZVerAL7TkHhjdo=";
+    hash = "sha256-t1rZixjpwg2JDBESmymNwUlpQd1VLaECxvpPP94jvH0=";
   };
 
   patches = [ ./dont-fix-app-bundle.diff ];
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index 3d6ed48a8c18..0cc73c17f393 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -30,14 +30,14 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.32.0";
+  version = "0.32.1";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "refs/tags/v${version}";
-    hash = "sha256-untfXvBAn39C+s1BxVjXoLpPvnw7TM/uPFB+zZHH8w8=";
+    hash = "sha256-d+Xwn+po/pclAy4UZ4pR4KWmriHCLPeMhXxoHp6wHT8=";
   };
 
   goModules = (buildGoModule {
@@ -240,7 +240,10 @@ buildPythonApplication rec {
     homepage = "https://github.com/kovidgoyal/kitty";
     description = "A modern, hackable, featureful, OpenGL based terminal emulator";
     license = licenses.gpl3Only;
-    changelog = "https://sw.kovidgoyal.net/kitty/changelog/";
+    changelog = [
+      "https://sw.kovidgoyal.net/kitty/changelog/"
+      "https://github.com/kovidgoyal/kitty/blob/v${version}/docs/changelog.rst"
+    ];
     platforms = platforms.darwin ++ platforms.linux;
     mainProgram = "kitty";
     maintainers = with maintainers; [ tex rvolosatovs Luflosi adamcstephens kashw2 ];
diff --git a/pkgs/applications/terminal-emulators/wezterm/Cargo.lock b/pkgs/applications/terminal-emulators/wezterm/Cargo.lock
index b41c47094f2f..cbf030948816 100644
--- a/pkgs/applications/terminal-emulators/wezterm/Cargo.lock
+++ b/pkgs/applications/terminal-emulators/wezterm/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
 
 [[package]]
 name = "addr2line"
-version = "0.20.0"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
 dependencies = [
  "gimli",
 ]
@@ -25,9 +25,9 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
 
 [[package]]
 name = "ahash"
-version = "0.7.6"
+version = "0.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd"
 dependencies = [
  "getrandom",
  "once_cell",
@@ -36,33 +36,31 @@ dependencies = [
 
 [[package]]
 name = "ahash"
-version = "0.8.3"
+version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
 dependencies = [
  "cfg-if",
  "getrandom",
  "once_cell",
  "version_check",
+ "zerocopy",
 ]
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.20"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
-name = "aho-corasick"
-version = "1.0.2"
+name = "allocator-api2"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
-dependencies = [
- "memchr",
-]
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
 
 [[package]]
 name = "android-tzdata"
@@ -87,58 +85,57 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
 
 [[package]]
 name = "anstream"
-version = "0.3.2"
+version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
+checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
 dependencies = [
  "anstyle",
  "anstyle-parse",
  "anstyle-query",
  "anstyle-wincon",
  "colorchoice",
- "is-terminal",
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle"
-version = "1.0.1"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.1"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
 dependencies = [
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.0"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "1.0.1"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
 dependencies = [
  "anstyle",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.71"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
 
 [[package]]
 name = "arrayref"
@@ -153,6 +150,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
+name = "as-raw-xcb-connection"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
+
+[[package]]
 name = "ash"
 version = "0.37.3+1.3.251"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -163,9 +166,9 @@ dependencies = [
 
 [[package]]
 name = "assert_fs"
-version = "1.0.13"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f070617a68e5c2ed5d06ee8dd620ee18fb72b99f6c094bed34cf8ab07c875b48"
+checksum = "2cd762e110c8ed629b11b6cde59458cc1c71de78ebbcc30099fc8e0403a2a2ec"
 dependencies = [
  "anstyle",
  "doc-comment",
@@ -182,7 +185,7 @@ version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b"
 dependencies = [
- "event-listener",
+ "event-listener 2.5.3",
  "futures-core",
 ]
 
@@ -193,21 +196,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
 dependencies = [
  "concurrent-queue",
- "event-listener",
+ "event-listener 2.5.3",
  "futures-core",
 ]
 
 [[package]]
+name = "async-channel"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
+dependencies = [
+ "concurrent-queue",
+ "event-listener 4.0.3",
+ "event-listener-strategy",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "async-executor"
-version = "1.5.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
 dependencies = [
- "async-lock",
+ "async-lock 3.3.0",
  "async-task",
  "concurrent-queue",
- "fastrand 1.9.0",
- "futures-lite",
+ "fastrand 2.0.1",
+ "futures-lite 2.2.0",
  "slab",
 ]
 
@@ -217,10 +233,10 @@ version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06"
 dependencies = [
- "async-lock",
+ "async-lock 2.8.0",
  "autocfg",
  "blocking",
- "futures-lite",
+ "futures-lite 1.13.0",
 ]
 
 [[package]]
@@ -229,85 +245,131 @@ version = "1.13.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
 dependencies = [
- "async-lock",
+ "async-lock 2.8.0",
  "autocfg",
  "cfg-if",
  "concurrent-queue",
- "futures-lite",
+ "futures-lite 1.13.0",
  "log",
  "parking",
- "polling",
- "rustix 0.37.23",
+ "polling 2.8.0",
+ "rustix 0.37.27",
  "slab",
- "socket2 0.4.9",
+ "socket2 0.4.10",
  "waker-fn",
 ]
 
 [[package]]
+name = "async-io"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
+dependencies = [
+ "async-lock 3.3.0",
+ "cfg-if",
+ "concurrent-queue",
+ "futures-io",
+ "futures-lite 2.2.0",
+ "parking",
+ "polling 3.3.2",
+ "rustix 0.38.30",
+ "slab",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "async-lock"
-version = "2.7.0"
+version = "2.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
+checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
 dependencies = [
- "event-listener",
+ "event-listener 2.5.3",
+]
+
+[[package]]
+name = "async-lock"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b"
+dependencies = [
+ "event-listener 4.0.3",
+ "event-listener-strategy",
+ "pin-project-lite",
 ]
 
 [[package]]
 name = "async-net"
-version = "1.7.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4051e67316bc7eff608fe723df5d32ed639946adcd69e07df41fd42a7b411f1f"
+checksum = "0434b1ed18ce1cf5769b8ac540e33f01fa9471058b5e89da9e06f3c882a8c12f"
 dependencies = [
- "async-io",
- "autocfg",
+ "async-io 1.13.0",
  "blocking",
- "futures-lite",
+ "futures-lite 1.13.0",
 ]
 
 [[package]]
 name = "async-process"
-version = "1.7.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9"
+checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88"
 dependencies = [
- "async-io",
- "async-lock",
- "autocfg",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
+ "async-signal",
  "blocking",
  "cfg-if",
- "event-listener",
- "futures-lite",
- "rustix 0.37.23",
- "signal-hook",
+ "event-listener 3.1.0",
+ "futures-lite 1.13.0",
+ "rustix 0.38.30",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "async-recursion"
-version = "1.0.4"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba"
+checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
+]
+
+[[package]]
+name = "async-signal"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
+dependencies = [
+ "async-io 2.3.1",
+ "async-lock 2.8.0",
+ "atomic-waker",
+ "cfg-if",
+ "futures-core",
+ "futures-io",
+ "rustix 0.38.30",
+ "signal-hook-registry",
+ "slab",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "async-task"
-version = "4.4.0"
+version = "4.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
+checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
 
 [[package]]
 name = "async-trait"
-version = "0.1.71"
+version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -325,9 +387,9 @@ checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba"
 
 [[package]]
 name = "atomic-waker"
-version = "1.1.1"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3"
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
 
 [[package]]
 name = "atty"
@@ -347,10 +409,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
+name = "az"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973"
+
+[[package]]
 name = "backtrace"
-version = "0.3.68"
+version = "0.3.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
 dependencies = [
  "addr2line",
  "cc",
@@ -369,9 +437,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
 name = "base64"
-version = "0.21.2"
+version = "0.21.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 
 [[package]]
 name = "base91"
@@ -427,9 +495,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.3.3"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 dependencies = [
  "serde",
 ]
@@ -451,17 +519,18 @@ dependencies = [
 
 [[package]]
 name = "blocking"
-version = "1.3.1"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65"
+checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
- "async-channel",
- "async-lock",
+ "async-channel 2.1.1",
+ "async-lock 3.3.0",
  "async-task",
- "atomic-waker",
- "fastrand 1.9.0",
- "futures-lite",
- "log",
+ "fastrand 2.0.1",
+ "futures-io",
+ "futures-lite 2.2.0",
+ "piper",
+ "tracing",
 ]
 
 [[package]]
@@ -477,68 +546,79 @@ dependencies = [
 
 [[package]]
 name = "bstr"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
-dependencies = [
- "lazy_static",
- "memchr",
- "regex-automata 0.1.10",
-]
-
-[[package]]
-name = "bstr"
-version = "1.6.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
+checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc"
 dependencies = [
  "memchr",
+ "regex-automata 0.4.5",
  "serde",
 ]
 
 [[package]]
 name = "bumpalo"
-version = "3.13.0"
+version = "3.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
 
 [[package]]
 name = "bytemuck"
-version = "1.13.1"
+version = "1.14.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
+checksum = "ed2490600f404f2b94c167e31d3ed1d5f3c225a0f3b80230053b3e0b7b962bd9"
 dependencies = [
  "bytemuck_derive",
 ]
 
 [[package]]
 name = "bytemuck_derive"
-version = "1.4.1"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192"
+checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
-version = "1.4.0"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "cairo-rs"
+version = "0.18.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2"
+dependencies = [
+ "bitflags 2.4.2",
+ "cairo-sys-rs",
+ "libc",
+ "once_cell",
+ "thiserror",
+]
+
+[[package]]
+name = "cairo-sys-rs"
+version = "0.18.0"
+dependencies = [
+ "cc",
+ "libc",
+]
 
 [[package]]
 name = "camino"
-version = "1.1.4"
+version = "1.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2"
+checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c"
 
 [[package]]
 name = "cassowary"
@@ -554,11 +634,12 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -578,23 +659,23 @@ dependencies = [
 
 [[package]]
 name = "chrono"
-version = "0.4.26"
+version = "0.4.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "num-traits",
  "pure-rust-locales",
  "serde",
- "winapi",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
 name = "ciborium"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
+checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
 dependencies = [
  "ciborium-io",
  "ciborium-ll",
@@ -603,18 +684,18 @@ dependencies = [
 
 [[package]]
 name = "ciborium-io"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
+checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
 
 [[package]]
 name = "ciborium-ll"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
+checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
 dependencies = [
  "ciborium-io",
- "half 1.8.2",
+ "half 2.3.1",
 ]
 
 [[package]]
@@ -642,57 +723,56 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.3.11"
+version = "4.4.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d"
+checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c"
 dependencies = [
  "clap_builder",
  "clap_derive",
- "once_cell",
 ]
 
 [[package]]
 name = "clap_builder"
-version = "4.3.11"
+version = "4.4.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b"
+checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7"
 dependencies = [
  "anstream",
  "anstyle",
- "clap_lex 0.5.0",
+ "clap_lex 0.6.0",
  "strsim",
- "terminal_size",
+ "terminal_size 0.3.0",
 ]
 
 [[package]]
 name = "clap_complete"
-version = "4.3.2"
+version = "4.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fc443334c81a804575546c5a8a79b4913b50e28d69232903604cada1de817ce"
+checksum = "df631ae429f6613fcd3a7c1adbdb65f637271e561b03680adaa6573015dfb106"
 dependencies = [
- "clap 4.3.11",
+ "clap 4.4.18",
 ]
 
 [[package]]
 name = "clap_complete_fig"
-version = "4.3.1"
+version = "4.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99fee1d30a51305a6c2ed3fc5709be3c8af626c9c958e04dd9ae94e27bcbce9f"
+checksum = "87e571d70e22ec91d34e1c5317c8308035a2280d925167646bf094fc5de1737c"
 dependencies = [
- "clap 4.3.11",
+ "clap 4.4.18",
  "clap_complete",
 ]
 
 [[package]]
 name = "clap_derive"
-version = "4.3.2"
+version = "4.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -706,9 +786,9 @@ dependencies = [
 
 [[package]]
 name = "clap_lex"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
 
 [[package]]
 name = "clipboard-win"
@@ -729,7 +809,37 @@ dependencies = [
  "block",
  "core-foundation 0.7.0",
  "core-graphics 0.19.2",
- "foreign-types",
+ "foreign-types 0.3.2",
+ "libc",
+ "objc",
+]
+
+[[package]]
+name = "cocoa"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c"
+dependencies = [
+ "bitflags 1.3.2",
+ "block",
+ "cocoa-foundation",
+ "core-foundation 0.9.4",
+ "core-graphics 0.23.1",
+ "foreign-types 0.5.0",
+ "libc",
+ "objc",
+]
+
+[[package]]
+name = "cocoa-foundation"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7"
+dependencies = [
+ "bitflags 1.3.2",
+ "block",
+ "core-foundation 0.9.4",
+ "core-graphics-types",
  "libc",
  "objc",
 ]
@@ -801,16 +911,26 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
 name = "colored"
-version = "1.9.3"
+version = "1.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59"
+checksum = "5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355"
 dependencies = [
- "atty",
+ "is-terminal",
  "lazy_static",
  "winapi",
 ]
 
 [[package]]
+name = "colored"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8"
+dependencies = [
+ "lazy_static",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "colorgrad"
 version = "0.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -827,9 +947,9 @@ checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642"
 
 [[package]]
 name = "concurrent-queue"
-version = "2.2.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
 dependencies = [
  "crossbeam-utils",
 ]
@@ -843,14 +963,14 @@ dependencies = [
  "colorgrad",
  "dirs-next",
  "enum-display-derive",
- "env_logger",
+ "env_logger 0.11.1",
  "hostname",
  "lazy_static",
  "libc",
  "log",
  "luahelper",
  "mlua",
- "nix 0.26.2",
+ "nix 0.26.4",
  "notify",
  "once_cell",
  "ordered-float",
@@ -861,7 +981,7 @@ dependencies = [
  "shlex",
  "smol",
  "termwiz",
- "toml 0.7.6",
+ "toml 0.8.8",
  "umask",
  "wezterm-bidi",
  "wezterm-config-derive",
@@ -884,11 +1004,11 @@ dependencies = [
 
 [[package]]
 name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys 0.8.6",
  "libc",
 ]
 
@@ -900,9 +1020,9 @@ checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "core-graphics"
@@ -912,43 +1032,43 @@ checksum = "b3889374e6ea6ab25dba90bb5d96202f61108058361f6dc72e8b03e6f8bbe923"
 dependencies = [
  "bitflags 1.3.2",
  "core-foundation 0.7.0",
- "foreign-types",
+ "foreign-types 0.3.2",
  "libc",
 ]
 
 [[package]]
 name = "core-graphics"
-version = "0.22.3"
+version = "0.23.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
+checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation 0.9.3",
+ "core-foundation 0.9.4",
  "core-graphics-types",
- "foreign-types",
+ "foreign-types 0.5.0",
  "libc",
 ]
 
 [[package]]
 name = "core-graphics-types"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33"
+checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation 0.9.3",
+ "core-foundation 0.9.4",
  "libc",
 ]
 
 [[package]]
 name = "core-text"
-version = "19.2.0"
+version = "20.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25"
+checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5"
 dependencies = [
- "core-foundation 0.9.3",
- "core-graphics 0.22.3",
- "foreign-types",
+ "core-foundation 0.9.4",
+ "core-graphics 0.23.1",
+ "foreign-types 0.5.0",
  "libc",
 ]
 
@@ -963,9 +1083,9 @@ dependencies = [
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -1053,11 +1173,10 @@ dependencies = [
 
 [[package]]
 name = "crossbeam"
-version = "0.8.2"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c"
+checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
 dependencies = [
- "cfg-if",
  "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-epoch",
@@ -1067,56 +1186,46 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.8"
+version = "0.5.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
- "memoffset 0.9.0",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-queue"
-version = "0.3.8"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
 dependencies = [
- "cfg-if",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crunchy"
@@ -1146,9 +1255,9 @@ dependencies = [
 
 [[package]]
 name = "csv"
-version = "1.2.2"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "626ae34994d3d8d668f4269922248239db4ae42d538b14c398b74a52208e8086"
+checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe"
 dependencies = [
  "csv-core",
  "itoa",
@@ -1158,29 +1267,29 @@ dependencies = [
 
 [[package]]
 name = "csv-core"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
+checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "d3d12"
-version = "0.6.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8f0de2f5a8e7bd4a9eec0e3c781992a4ce1724f68aec7d7a3715344de8b39da"
+checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20"
 dependencies = [
- "bitflags 1.3.2",
- "libloading 0.7.4",
+ "bitflags 2.4.2",
+ "libloading 0.8.1",
  "winapi",
 ]
 
 [[package]]
 name = "darling"
-version = "0.20.1"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944"
+checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -1188,27 +1297,27 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.20.1"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb"
+checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
  "strsim",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.20.1"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a"
+checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
 dependencies = [
  "darling_core",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1219,15 +1328,25 @@ checksum = "7762d17f1241643615821a8455a0b2c3e803784b058693d990b11f2dce25a0ca"
 
 [[package]]
 name = "data-encoding"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
 name = "deltae"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ef311e2c0a388b9ba56c839ac68d33b92d18ce7104d0acc4375cb479e2b9a53"
+checksum = "5729f5117e208430e437df2f4843f5e5952997175992d1414f94c57d61e270b4"
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+ "serde",
+]
 
 [[package]]
 name = "derivative"
@@ -1325,7 +1444,7 @@ version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
 dependencies = [
- "libloading 0.8.0",
+ "libloading 0.8.1",
 ]
 
 [[package]]
@@ -1356,9 +1475,9 @@ dependencies = [
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "embed-resource"
@@ -1370,23 +1489,23 @@ dependencies = [
  "rustc_version",
  "toml 0.5.11",
  "vswhom",
- "winreg",
+ "winreg 0.10.1",
 ]
 
 [[package]]
 name = "emojis"
-version = "0.6.0"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c15f3d10f3c4086c618edd197ad5b9084eb35d640d68d6f5dd34d6f54b3150f5"
+checksum = "4ee61eb945bff65ee7d19d157d39c67c33290ff0742907413fd5eefd29edc979"
 dependencies = [
  "phf",
 ]
 
 [[package]]
 name = "encoding_rs"
-version = "0.8.32"
+version = "0.8.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
+checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
 dependencies = [
  "cfg-if",
 ]
@@ -1404,9 +1523,9 @@ dependencies = [
 
 [[package]]
 name = "enumflags2"
-version = "0.7.7"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c041f5090df68b32bcd905365fd51769c8b9d553fe87fde0b683534f10c01bd2"
+checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939"
 dependencies = [
  "enumflags2_derive",
  "serde",
@@ -1414,13 +1533,13 @@ dependencies = [
 
 [[package]]
 name = "enumflags2_derive"
-version = "0.7.7"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
+checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1430,11 +1549,11 @@ dependencies = [
  "backtrace",
  "battery",
  "chrono",
- "cocoa",
+ "cocoa 0.20.2",
  "color-funcs",
  "config",
  "dirs-next",
- "env_logger",
+ "env_logger 0.10.2",
  "filesystem",
  "json",
  "lazy_static",
@@ -1451,15 +1570,26 @@ dependencies = [
  "termwiz",
  "termwiz-funcs",
  "time-funcs",
+ "url-funcs",
  "wezterm-version",
  "winapi",
 ]
 
 [[package]]
+name = "env_filter"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
+dependencies = [
+ "log",
+ "regex",
+]
+
+[[package]]
 name = "env_logger"
-version = "0.10.0"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
 dependencies = [
  "humantime",
  "is-terminal",
@@ -1469,30 +1599,32 @@ dependencies = [
 ]
 
 [[package]]
-name = "equivalent"
-version = "1.0.0"
+name = "env_logger"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1"
+checksum = "05e7cf40684ae96ade6232ed84582f40ce0a66efcd43a5117aef610534f8e0b8"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "env_filter",
+ "humantime",
+ "log",
+]
 
 [[package]]
-name = "errno"
-version = "0.3.1"
+name = "equivalent"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
-dependencies = [
- "errno-dragonfly",
- "libc",
- "windows-sys 0.48.0",
-]
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
 
 [[package]]
-name = "errno-dragonfly"
-version = "0.1.2"
+name = "errno"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
- "cc",
  "libc",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1511,14 +1643,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
 
 [[package]]
+name = "event-listener"
+version = "3.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener"
+version = "4.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+dependencies = [
+ "event-listener 4.0.3",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "exr"
-version = "1.7.0"
+version = "1.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1e481eb11a482815d3e9d618db8c42a93207134662873809335a92327440c18"
+checksum = "279d3efcc55e19917fff7ab3ddd6c14afb6a90881a0078465196fe2f99d08c56"
 dependencies = [
  "bit_field",
- "flume",
- "half 2.2.1",
+ "flume 0.10.14",
+ "half 2.3.1",
  "lebe",
  "miniz_oxide 0.7.1",
  "rayon-core",
@@ -1559,15 +1723,15 @@ dependencies = [
 
 [[package]]
 name = "fastrand"
-version = "2.0.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fdeflate"
-version = "0.3.0"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
 dependencies = [
  "simd-adler32",
 ]
@@ -1606,14 +1770,14 @@ dependencies = [
 
 [[package]]
 name = "filetime"
-version = "0.2.21"
+version = "0.2.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
+checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.2.16",
- "windows-sys 0.48.0",
+ "redox_syscall 0.4.1",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1623,6 +1787,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6"
 
 [[package]]
+name = "fixed"
+version = "1.24.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02c69ce7e7c0f17aa18fdd9d0de39727adb9c6281f2ad12f57cbe54ae6e76e7d"
+dependencies = [
+ "az",
+ "bytemuck",
+ "half 2.3.1",
+ "typenum",
+]
+
+[[package]]
 name = "fixedbitset"
 version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1630,9 +1806,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
 
 [[package]]
 name = "flate2"
-version = "1.0.26"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
+checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 dependencies = [
  "crc32fast",
  "miniz_oxide 0.7.1",
@@ -1661,6 +1837,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "flume"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+ "nanorand",
+ "spin 0.9.8",
+]
+
+[[package]]
 name = "fnv"
 version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1680,7 +1868,28 @@ version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
 dependencies = [
- "foreign-types-shared",
+ "foreign-types-shared 0.1.1",
+]
+
+[[package]]
+name = "foreign-types"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
+dependencies = [
+ "foreign-types-macros",
+ "foreign-types-shared 0.3.1",
+]
+
+[[package]]
+name = "foreign-types-macros"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1690,10 +1899,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
+name = "foreign-types-shared"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
+
+[[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
@@ -1713,6 +1928,7 @@ name = "freetype"
 version = "0.1.0"
 dependencies = [
  "cc",
+ "fixed",
 ]
 
 [[package]]
@@ -1726,9 +1942,9 @@ dependencies = [
 
 [[package]]
 name = "futures"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1741,9 +1957,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -1751,15 +1967,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -1768,9 +1984,9 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-lite"
@@ -1788,27 +2004,40 @@ dependencies = [
 ]
 
 [[package]]
+name = "futures-lite"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
+dependencies = [
+ "fastrand 2.0.1",
+ "futures-core",
+ "futures-io",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
 name = "futures-macro"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-timer"
@@ -1818,9 +2047,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1867,7 +2096,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
 dependencies = [
  "libc",
- "windows-targets 0.48.1",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
@@ -1881,9 +2110,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -1904,9 +2133,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.27.3"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "git2"
@@ -1957,33 +2186,33 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "globset"
-version = "0.4.10"
+version = "0.4.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc"
+checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
 dependencies = [
- "aho-corasick 0.7.20",
- "bstr 1.6.0",
- "fnv",
+ "aho-corasick",
+ "bstr 1.9.0",
  "log",
- "regex",
+ "regex-automata 0.4.5",
+ "regex-syntax",
 ]
 
 [[package]]
 name = "globwalk"
-version = "0.8.1"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc"
+checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "ignore",
  "walkdir",
 ]
 
 [[package]]
 name = "glow"
-version = "0.12.2"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "807edf58b70c0b5b2181dd39fe1839dbdb3ba02645630dc5f753e23da307f762"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
 dependencies = [
  "js-sys",
  "slotmap",
@@ -1992,6 +2221,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "glutin_wgl_sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead"
+dependencies = [
+ "gl_generator",
+]
+
+[[package]]
 name = "governor"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2008,54 +2246,55 @@ dependencies = [
 
 [[package]]
 name = "gpu-alloc"
-version = "0.5.4"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22beaafc29b38204457ea030f6fb7a84c9e4dd1b86e311ba0542533453d87f62"
+checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "gpu-alloc-types",
 ]
 
 [[package]]
 name = "gpu-alloc-types"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54804d0d6bc9d7f26db4eaec1ad10def69b599315f487d32c334a80d1efe67a5"
+checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
 name = "gpu-allocator"
-version = "0.22.0"
+version = "0.23.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce95f9e2e11c2c6fadfce42b5af60005db06576f231f5c92550fdded43c423e8"
+checksum = "40fe17c8a05d60c38c0a4e5a3c802f2f1ceb66b76c67d96ffb34bef0475a7fad"
 dependencies = [
  "backtrace",
  "log",
+ "presser",
  "thiserror",
  "winapi",
- "windows 0.44.0",
+ "windows 0.51.1",
 ]
 
 [[package]]
 name = "gpu-descriptor"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b0c02e1ba0bdb14e965058ca34e09c020f8e507a760df1121728e0aef68d57a"
+checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "gpu-descriptor-types",
- "hashbrown 0.12.3",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
 name = "gpu-descriptor-types"
-version = "0.1.1"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "363e3677e55ad168fef68cf9de3a4a310b53124c5e784c53a1d70e92d23f2126"
+checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
@@ -2070,9 +2309,9 @@ dependencies = [
 
 [[package]]
 name = "h2"
-version = "0.3.20"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049"
+checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
 dependencies = [
  "bytes",
  "fnv",
@@ -2080,7 +2319,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http",
- "indexmap 1.9.3",
+ "indexmap 2.2.1",
  "slab",
  "tokio",
  "tokio-util",
@@ -2095,10 +2334,11 @@ checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
 
 [[package]]
 name = "half"
-version = "2.2.1"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0"
+checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
 dependencies = [
+ "cfg-if",
  "crunchy",
 ]
 
@@ -2116,7 +2356,7 @@ version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
 dependencies = [
- "ahash 0.7.6",
+ "ahash 0.7.7",
 ]
 
 [[package]]
@@ -2125,7 +2365,7 @@ version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
 dependencies = [
- "ahash 0.7.6",
+ "ahash 0.7.7",
 ]
 
 [[package]]
@@ -2134,14 +2374,18 @@ version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
 dependencies = [
- "ahash 0.8.3",
+ "ahash 0.8.7",
 ]
 
 [[package]]
 name = "hashbrown"
-version = "0.14.0"
+version = "0.14.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+dependencies = [
+ "ahash 0.8.7",
+ "allocator-api2",
+]
 
 [[package]]
 name = "hashlink"
@@ -2169,11 +2413,11 @@ dependencies = [
 
 [[package]]
 name = "hdrhistogram"
-version = "7.5.2"
+version = "7.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8"
+checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d"
 dependencies = [
- "base64 0.13.1",
+ "base64 0.21.7",
  "byteorder",
  "crossbeam-channel",
  "flate2",
@@ -2198,9 +2442,9 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.2"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f"
 
 [[package]]
 name = "hex"
@@ -2215,6 +2459,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df"
 
 [[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "hostname"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2227,9 +2480,9 @@ dependencies = [
 
 [[package]]
 name = "http"
-version = "0.2.9"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
 dependencies = [
  "bytes",
  "fnv",
@@ -2238,9 +2491,9 @@ dependencies = [
 
 [[package]]
 name = "http-body"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
 dependencies = [
  "bytes",
  "http",
@@ -2249,9 +2502,9 @@ dependencies = [
 
 [[package]]
 name = "http_req"
-version = "0.9.2"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f680177f2ebe4aabd573d07b322d15a5e0fbc97cd739fd627b08043c89041f8"
+checksum = "90394b01e9de1f7eca6ca0664cc64bd92add9603c1aa4f961813f23789035e10"
 dependencies = [
  "native-tls",
  "unicase",
@@ -2265,9 +2518,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
 name = "httpdate"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
 
 [[package]]
 name = "humansize"
@@ -2286,9 +2539,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "hyper"
-version = "0.14.27"
+version = "0.14.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -2301,7 +2554,7 @@ dependencies = [
  "httpdate",
  "itoa",
  "pin-project-lite",
- "socket2 0.4.9",
+ "socket2 0.5.5",
  "tokio",
  "tower-service",
  "tracing",
@@ -2323,16 +2576,16 @@ dependencies = [
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.57"
+version = "0.1.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539"
 dependencies = [
  "android_system_properties",
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys 0.8.6",
  "iana-time-zone-haiku",
  "js-sys",
  "wasm-bindgen",
- "windows 0.48.0",
+ "windows-core 0.52.0",
 ]
 
 [[package]]
@@ -2352,9 +2605,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.4.0"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -2362,25 +2615,25 @@ dependencies = [
 
 [[package]]
 name = "ignore"
-version = "0.4.20"
+version = "0.4.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
+checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1"
 dependencies = [
+ "crossbeam-deque",
  "globset",
- "lazy_static",
  "log",
  "memchr",
- "regex",
+ "regex-automata 0.4.5",
  "same-file",
- "thread_local",
  "walkdir",
  "winapi-util",
 ]
 
 [[package]]
 name = "image"
-version = "0.24.5"
-source = "git+https://github.com/image-rs/image.git?rev=fe069785ae245a2c510fd724ef96da283b05a236#fe069785ae245a2c510fd724ef96da283b05a236"
+version = "0.24.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
 dependencies = [
  "bytemuck",
  "byteorder",
@@ -2388,7 +2641,6 @@ dependencies = [
  "exr",
  "gif",
  "jpeg-decoder",
- "num-rational 0.4.1",
  "num-traits",
  "png",
  "qoi",
@@ -2408,12 +2660,12 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "2.0.0"
+version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+checksum = "433de089bd45971eecf4668ee0ee8f4cec17db4f8bd8f7bc3197a6ce37aa7d9b"
 dependencies = [
  "equivalent",
- "hashbrown 0.14.0",
+ "hashbrown 0.14.3",
 ]
 
 [[package]]
@@ -2447,11 +2699,11 @@ dependencies = [
 
 [[package]]
 name = "intrusive-collections"
-version = "0.9.5"
+version = "0.9.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f4f90afb01281fdeffb0f8e082d230cbe4f888f837cc90759696b858db1a700"
+checksum = "b694dc9f70c3bda874626d2aed13b780f137aab435f4e9814121955cf706122e"
 dependencies = [
- "memoffset 0.8.0",
+ "memoffset 0.9.0",
 ]
 
 [[package]]
@@ -2460,7 +2712,7 @@ version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
 dependencies = [
- "hermit-abi 0.3.2",
+ "hermit-abi 0.3.4",
  "libc",
  "windows-sys 0.48.0",
 ]
@@ -2476,19 +2728,19 @@ dependencies = [
 
 [[package]]
 name = "ipnet"
-version = "2.8.0"
+version = "2.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
+checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
 
 [[package]]
 name = "is-terminal"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455"
 dependencies = [
- "hermit-abi 0.3.2",
- "rustix 0.38.3",
- "windows-sys 0.48.0",
+ "hermit-abi 0.3.4",
+ "rustix 0.38.30",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -2502,33 +2754,33 @@ dependencies = [
 
 [[package]]
 name = "itoa"
-version = "1.0.8"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "jobserver"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "jpeg-decoder"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
 dependencies = [
  "rayon",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.67"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -2551,7 +2803,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "32ddb58b0079a063218472916af599f2753ccb40942cdaba9d1f3fefccef17a9"
 dependencies = [
  "anyhow",
- "colored",
+ "colored 1.9.4",
  "diff",
  "lazy_static",
  "libc",
@@ -2562,13 +2814,30 @@ dependencies = [
 ]
 
 [[package]]
+name = "k9"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "088bcebb5b68b1b14b64d7f05b0f802719250b97fdc0338ec42529ea777ed614"
+dependencies = [
+ "anyhow",
+ "colored 2.1.0",
+ "diff",
+ "lazy_static",
+ "libc",
+ "proc-macro2",
+ "regex",
+ "syn 2.0.48",
+ "terminal_size 0.2.6",
+]
+
+[[package]]
 name = "khronos-egl"
-version = "4.1.0"
+version = "6.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c2352bd1d0bceb871cb9d40f24360c8133c11d7486b68b5381c1dd1a32015e3"
+checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76"
 dependencies = [
  "libc",
- "libloading 0.7.4",
+ "libloading 0.8.1",
  "pkg-config",
 ]
 
@@ -2580,9 +2849,9 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
 
 [[package]]
 name = "kqueue"
-version = "1.0.7"
+version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98"
+checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c"
 dependencies = [
  "kqueue-sys",
  "libc",
@@ -2590,9 +2859,9 @@ dependencies = [
 
 [[package]]
 name = "kqueue-sys"
-version = "1.0.3"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587"
+checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b"
 dependencies = [
  "bitflags 1.3.2",
  "libc",
@@ -2632,19 +2901,19 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
 name = "lfucache"
 version = "0.1.0"
 dependencies = [
- "ahash 0.8.3",
+ "ahash 0.8.7",
  "config",
  "fnv",
  "intrusive-collections",
- "k9",
+ "k9 0.11.6",
  "metrics",
 ]
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.152"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
 
 [[package]]
 name = "libflate"
@@ -2705,9 +2974,9 @@ dependencies = [
 
 [[package]]
 name = "libloading"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d580318f95776505201b28cf98eb1fa5e4be3b689633ba6a3e6cd880ff22d8cb"
+checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
 dependencies = [
  "cfg-if",
  "windows-sys 0.48.0",
@@ -2715,9 +2984,20 @@ dependencies = [
 
 [[package]]
 name = "libm"
-version = "0.2.7"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
+checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+[[package]]
+name = "libredox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+dependencies = [
+ "bitflags 2.4.2",
+ "libc",
+ "redox_syscall 0.4.1",
+]
 
 [[package]]
 name = "libsqlite3-sys"
@@ -2732,9 +3012,9 @@ dependencies = [
 
 [[package]]
 name = "libssh-rs"
-version = "0.2.0"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff892c443aa43a8e305913da313b5234bf33a7f17eae378f9c9ae4419dbbaa74"
+checksum = "eb3fe324fb06b71d28abb81382ac547f25b4895e853a9968482dc5002fb3db08"
 dependencies = [
  "bitflags 1.3.2",
  "libssh-rs-sys",
@@ -2744,9 +3024,9 @@ dependencies = [
 
 [[package]]
 name = "libssh-rs-sys"
-version = "0.2.0"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aad2e95f77dde4d6a636ca1c713f3efdaa46bb2dae33d7d2abeea992baeb9cb3"
+checksum = "3af07827858d82a7b74d6f935ad4201ff764fb1de8efcc26aeaa33e5f9c89ca2"
 dependencies = [
  "cc",
  "libz-sys",
@@ -2770,9 +3050,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.9"
+version = "1.1.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db"
+checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"
 dependencies = [
  "cc",
  "libc",
@@ -2812,15 +3092,15 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.3"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -2828,9 +3108,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.19"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "logging"
@@ -2853,9 +3133,9 @@ dependencies = [
 
 [[package]]
 name = "lua-src"
-version = "546.0.0"
+version = "546.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cb00c1380f1b4b4928dd211c07301ffa34872a239e590bd3219d9e5b213face"
+checksum = "2da0daa7eee611a4c30c8f5ee31af55266e26e573971ba9336d2993e2da129b2"
 dependencies = [
  "cc",
 ]
@@ -2864,7 +3144,7 @@ dependencies = [
 name = "luahelper"
 version = "0.1.0"
 dependencies = [
- "bstr 0.2.17",
+ "bstr 1.9.0",
  "log",
  "mlua",
  "wezterm-dynamic",
@@ -2872,11 +3152,12 @@ dependencies = [
 
 [[package]]
 name = "luajit-src"
-version = "210.4.5+resty2cf5186"
+version = "210.5.5+f2336c4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27b7992a40e602786272d84c6f2beca44a588ededcfd57b48ec6f82008a7cb97"
+checksum = "d8bcba9790f4e3b1c1467d75cdd011a63bbe6bc75da95af5d2cb4e3631f939c4"
 dependencies = [
  "cc",
+ "which",
 ]
 
 [[package]]
@@ -2921,9 +3202,9 @@ checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memmap2"
@@ -2944,6 +3225,15 @@ dependencies = [
 ]
 
 [[package]]
+name = "memmap2"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
+dependencies = [
+ "libc",
+]
+
+[[package]]
 name = "memmem"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2969,15 +3259,6 @@ dependencies = [
 
 [[package]]
 name = "memoffset"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "memoffset"
 version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
@@ -2987,16 +3268,17 @@ dependencies = [
 
 [[package]]
 name = "metal"
-version = "0.24.0"
+version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060"
+checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "block",
  "core-graphics-types",
- "foreign-types",
+ "foreign-types 0.5.0",
  "log",
  "objc",
+ "paste",
 ]
 
 [[package]]
@@ -3005,7 +3287,7 @@ version = "0.17.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "55586aa936c35f34ba8aa5d97356d554311206e1ce1f9e68fe7b07288e5ad827"
 dependencies = [
- "ahash 0.7.6",
+ "ahash 0.7.7",
  "metrics-macros",
 ]
 
@@ -3056,19 +3338,15 @@ dependencies = [
 
 [[package]]
 name = "mintex"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd7c5ba1c3b5a23418d7bbf98c71c3d4946a0125002129231da8d6b723d559cb"
-dependencies = [
- "once_cell",
- "sys-info",
-]
+checksum = "9bec4598fddb13cc7b528819e697852653252b760f1228b7642679bf2ff2cd07"
 
 [[package]]
 name = "mio"
-version = "0.8.8"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
 dependencies = [
  "libc",
  "log",
@@ -3078,30 +3356,38 @@ dependencies = [
 
 [[package]]
 name = "mlua"
-version = "0.8.9"
+version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07366ed2cd22a3b000aed076e2b68896fb46f06f1f5786c5962da73c0af01577"
+checksum = "1d3561f79659ff3afad7b25e2bf2ec21507fe601ebecb7f81088669ec4bfd51e"
 dependencies = [
- "bstr 0.2.17",
- "cc",
- "futures-core",
- "futures-task",
+ "bstr 1.9.0",
  "futures-util",
- "lua-src",
- "luajit-src",
+ "mlua-sys",
  "num-traits",
  "once_cell",
- "pkg-config",
  "rustc-hash",
 ]
 
 [[package]]
+name = "mlua-sys"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2847b42764435201d8cbee1f517edb79c4cca4181877b90047587c89e1b7bce4"
+dependencies = [
+ "cc",
+ "cfg-if",
+ "lua-src",
+ "luajit-src",
+ "pkg-config",
+]
+
+[[package]]
 name = "mux"
 version = "0.1.0"
 dependencies = [
  "anyhow",
  "async-trait",
- "base64 0.21.2",
+ "base64 0.21.7",
  "bintree",
  "bitflags 1.3.2",
  "chrono",
@@ -3111,9 +3397,9 @@ dependencies = [
  "fancy-regex",
  "filedescriptor",
  "finl_unicode",
- "flume",
+ "flume 0.10.14",
  "hostname",
- "k9",
+ "k9 0.11.6",
  "lazy_static",
  "libc",
  "log",
@@ -3159,21 +3445,23 @@ dependencies = [
  "portable-pty",
  "smol",
  "termwiz",
+ "termwiz-funcs",
+ "url-funcs",
  "wezterm-dynamic",
  "wezterm-term",
 ]
 
 [[package]]
 name = "naga"
-version = "0.12.3"
+version = "0.14.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbcc2e0513220fd2b598e6068608d4462db20322c0e77e47f6f488dfcfc279cb"
+checksum = "ae585df4b6514cf8842ac0f1ab4992edc975892704835b549cf818dc0191249e"
 dependencies = [
  "bit-set",
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "codespan-reporting",
  "hexf-parse",
- "indexmap 1.9.3",
+ "indexmap 2.2.1",
  "log",
  "num-traits",
  "rustc-hash",
@@ -3260,16 +3548,15 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.26.2"
+version = "0.26.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
+checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
 dependencies = [
  "bitflags 1.3.2",
  "cfg-if",
  "libc",
  "memoffset 0.7.1",
  "pin-utils",
- "static_assertions",
 ]
 
 [[package]]
@@ -3337,7 +3624,7 @@ dependencies = [
  "num-complex",
  "num-integer",
  "num-iter",
- "num-rational 0.3.2",
+ "num-rational",
  "num-traits",
 ]
 
@@ -3406,21 +3693,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "num-rational"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
 dependencies = [
  "autocfg",
 ]
@@ -3431,7 +3707,7 @@ version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.3.2",
+ "hermit-abi 0.3.4",
  "libc",
 ]
 
@@ -3456,18 +3732,18 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.31.1"
+version = "0.32.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "oorandom"
@@ -3477,19 +3753,31 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
 
 [[package]]
 name = "openssl"
-version = "0.10.38"
+version = "0.10.63"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95"
+checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "cfg-if",
- "foreign-types",
+ "foreign-types 0.3.2",
  "libc",
  "once_cell",
+ "openssl-macros",
  "openssl-sys",
 ]
 
 [[package]]
+name = "openssl-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
 name = "openssl-probe"
 version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3497,20 +3785,19 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-src"
-version = "300.1.2+3.1.1"
+version = "300.2.1+3.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94773a6131a4d91f737a31debb0b3258964a47d923ef539c8be1d496dfb5145d"
+checksum = "3fe476c29791a5ca0d1273c697e96085bbabbbea2ef7afd5617e78a4b40332d3"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.71"
+version = "0.9.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7df13d165e607909b363a4757a6f133f8a818a74e9d3a98d09c6128e15fa4c73"
+checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
 dependencies = [
- "autocfg",
  "cc",
  "libc",
  "openssl-src",
@@ -3520,9 +3807,9 @@ dependencies = [
 
 [[package]]
 name = "ordered-float"
-version = "3.7.0"
+version = "4.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fc2dbde8f8a79f2102cc474ceb0ad68e3b80b85289ea62389b60e66777e4213"
+checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e"
 dependencies = [
  "num-traits",
  "rand",
@@ -3541,15 +3828,15 @@ dependencies = [
 
 [[package]]
 name = "os_str_bytes"
-version = "6.5.1"
+version = "6.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac"
+checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
 
 [[package]]
 name = "parking"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e"
+checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
 
 [[package]]
 name = "parking_lot"
@@ -3569,7 +3856,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
  "lock_api",
- "parking_lot_core 0.9.8",
+ "parking_lot_core 0.9.9",
 ]
 
 [[package]]
@@ -3588,18 +3875,24 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.8"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.3.5",
+ "redox_syscall 0.4.1",
  "smallvec",
- "windows-targets 0.48.1",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
 name = "pem"
 version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3610,25 +3903,26 @@ dependencies = [
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pest"
-version = "2.7.0"
+version = "2.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9"
+checksum = "1f200d8d83c44a45b21764d1916299752ca035d15ecd46faca3e9a2a2bf6ad06"
 dependencies = [
+ "memchr",
  "thiserror",
  "ucd-trie",
 ]
 
 [[package]]
 name = "pest_derive"
-version = "2.7.0"
+version = "2.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b"
+checksum = "bcd6ab1236bbdb3a49027e920e693192ebfe8913f6d60e294de57463a493cfde"
 dependencies = [
  "pest",
  "pest_generator",
@@ -3636,22 +3930,22 @@ dependencies = [
 
 [[package]]
 name = "pest_generator"
-version = "2.7.0"
+version = "2.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190"
+checksum = "2a31940305ffc96863a735bef7c7994a00b325a7138fdbc5bda0f1a0476d3275"
 dependencies = [
  "pest",
  "pest_meta",
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "pest_meta"
-version = "2.7.0"
+version = "2.7.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0"
+checksum = "a7ff62f5259e53b78d1af898941cdcdccfae7385cf7d793a6e55de5d05bb4b7d"
 dependencies = [
  "once_cell",
  "pest",
@@ -3698,7 +3992,7 @@ dependencies = [
  "phf_shared",
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -3712,29 +4006,29 @@ dependencies = [
 
 [[package]]
 name = "pin-project"
-version = "1.1.2"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842"
+checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.1.2"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
+checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.10"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
 name = "pin-utils"
@@ -3743,21 +4037,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
+name = "piper"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
+dependencies = [
+ "atomic-waker",
+ "fastrand 2.0.1",
+ "futures-io",
+]
+
+[[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
 
 [[package]]
 name = "plist"
-version = "1.5.0"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06"
+checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef"
 dependencies = [
- "base64 0.21.2",
- "indexmap 1.9.3",
+ "base64 0.21.7",
+ "indexmap 2.2.1",
  "line-wrap",
- "quick-xml 0.29.0",
+ "quick-xml 0.31.0",
  "serde",
  "time",
 ]
@@ -3805,9 +4110,9 @@ dependencies = [
 
 [[package]]
 name = "png"
-version = "0.17.9"
+version = "0.17.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59871cc5b6cce7eaccca5a802b4173377a1c2ba90654246789a8fa2334426d11"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
@@ -3833,6 +4138,20 @@ dependencies = [
 ]
 
 [[package]]
+name = "polling"
+version = "3.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "pin-project-lite",
+ "rustix 0.38.30",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
 name = "portable-pty"
 version = "0.8.1"
 dependencies = [
@@ -3852,10 +4171,16 @@ dependencies = [
  "shell-words",
  "smol",
  "winapi",
- "winreg",
+ "winreg 0.10.1",
 ]
 
 [[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
 name = "ppv-lite86"
 version = "0.2.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3863,14 +4188,13 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "predicates"
-version = "3.0.3"
+version = "3.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09963355b9f467184c04017ced4a2ba2d75cbcb4e7462690d388233253d4b1a9"
+checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8"
 dependencies = [
  "anstyle",
  "difflib",
  "float-cmp",
- "itertools",
  "normalize-line-endings",
  "predicates-core",
  "regex",
@@ -3893,20 +4217,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "presser"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa"
+
+[[package]]
 name = "proc-macro-crate"
 version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
 dependencies = [
  "once_cell",
- "toml_edit",
+ "toml_edit 0.19.15",
 ]
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.64"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
@@ -3937,9 +4267,9 @@ dependencies = [
 
 [[package]]
 name = "profiling"
-version = "1.0.8"
+version = "1.0.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "332cd62e95873ea4f41f3dfd6bbbfc5b52aec892d7e8d534197c4720a0bbbab2"
+checksum = "d135ede8821cf6376eb7a64148901e1690b788c11ae94dc297ae917dbc91dc0e"
 
 [[package]]
 name = "promise"
@@ -3947,20 +4277,20 @@ version = "0.2.0"
 dependencies = [
  "anyhow",
  "async-executor",
- "async-io",
+ "async-io 1.13.0",
  "async-task",
- "flume",
+ "flume 0.10.14",
  "lazy_static",
  "thiserror",
 ]
 
 [[package]]
 name = "pulldown-cmark"
-version = "0.9.3"
+version = "0.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998"
+checksum = "80eb9f69aec5cd8828765a75f739383fbbe3e8b9d84370bde1cc90487700794a"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "getopts",
  "memchr",
  "unicase",
@@ -3968,9 +4298,9 @@ dependencies = [
 
 [[package]]
 name = "pure-rust-locales"
-version = "0.5.6"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b45c49fc4f91f35bae654f85ebb3a44d60ac64f11b3166ffa609def390c732d8"
+checksum = "ed02a829e62dc2715ceb8afb4f80e298148e1345749ceb369540fe0eb3368432"
 
 [[package]]
 name = "qoi"
@@ -3983,27 +4313,27 @@ dependencies = [
 
 [[package]]
 name = "quick-xml"
-version = "0.28.2"
+version = "0.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1"
+checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "quick-xml"
-version = "0.29.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.29"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -4070,9 +4400,9 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
 name = "rayon"
-version = "1.7.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
  "either",
  "rayon-core",
@@ -4080,14 +4410,12 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.11.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
- "crossbeam-channel",
  "crossbeam-deque",
  "crossbeam-utils",
- "num_cpus",
 ]
 
 [[package]]
@@ -4113,33 +4441,33 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
 dependencies = [
  "getrandom",
- "redox_syscall 0.2.16",
+ "libredox",
  "thiserror",
 ]
 
 [[package]]
 name = "regex"
-version = "1.9.1"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
- "aho-corasick 1.0.2",
+ "aho-corasick",
  "memchr",
- "regex-automata 0.3.2",
+ "regex-automata 0.4.5",
  "regex-syntax",
 ]
 
@@ -4151,26 +4479,26 @@ checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
 
 [[package]]
 name = "regex-automata"
-version = "0.3.2"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
 dependencies = [
- "aho-corasick 1.0.2",
+ "aho-corasick",
  "memchr",
  "regex-syntax",
 ]
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.3"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "relative-path"
-version = "1.8.0"
+version = "1.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bf2521270932c3c7bed1a59151222bd7643c79310f2916f01925e1e16255698"
+checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc"
 
 [[package]]
 name = "renderdoc-sys"
@@ -4180,11 +4508,11 @@ checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b"
 
 [[package]]
 name = "reqwest"
-version = "0.11.18"
+version = "0.11.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55"
+checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41"
 dependencies = [
- "base64 0.21.2",
+ "base64 0.21.7",
  "bytes",
  "encoding_rs",
  "futures-core",
@@ -4205,6 +4533,7 @@ dependencies = [
  "serde",
  "serde_json",
  "serde_urlencoded",
+ "system-configuration",
  "tokio",
  "tokio-native-tls",
  "tower-service",
@@ -4212,7 +4541,7 @@ dependencies = [
  "wasm-bindgen",
  "wasm-bindgen-futures",
  "web-sys",
- "winreg",
+ "winreg 0.50.0",
 ]
 
 [[package]]
@@ -4226,9 +4555,9 @@ dependencies = [
 
 [[package]]
 name = "rgb"
-version = "0.8.36"
+version = "0.8.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59"
+checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8"
 dependencies = [
  "bytemuck",
 ]
@@ -4256,9 +4585,9 @@ checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422"
 
 [[package]]
 name = "rstest"
-version = "0.18.1"
+version = "0.18.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b96577ca10cb3eade7b337eb46520108a67ca2818a24d0b63f41fd62bc9651c"
+checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199"
 dependencies = [
  "futures",
  "futures-timer",
@@ -4268,9 +4597,9 @@ dependencies = [
 
 [[package]]
 name = "rstest_macros"
-version = "0.18.1"
+version = "0.18.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225e674cf31712b8bb15fdbca3ec0c1b9d825c5a24407ff2b7e005fb6a29ba03"
+checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"
 dependencies = [
  "cfg-if",
  "glob",
@@ -4279,7 +4608,7 @@ dependencies = [
  "regex",
  "relative-path",
  "rustc_version",
- "syn 2.0.25",
+ "syn 2.0.48",
  "unicode-ident",
 ]
 
@@ -4316,14 +4645,14 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
 dependencies = [
- "semver 1.0.17",
+ "semver 1.0.21",
 ]
 
 [[package]]
 name = "rustix"
-version = "0.37.23"
+version = "0.37.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
+checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2"
 dependencies = [
  "bitflags 1.3.2",
  "errno",
@@ -4335,22 +4664,22 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.3"
+version = "0.38.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4"
+checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
 dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.2",
  "errno",
  "libc",
- "linux-raw-sys 0.4.3",
- "windows-sys 0.48.0",
+ "linux-raw-sys 0.4.13",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.14"
+version = "1.0.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9"
+checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
 
 [[package]]
 name = "safemem"
@@ -4369,11 +4698,11 @@ dependencies = [
 
 [[package]]
 name = "schannel"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -4384,30 +4713,30 @@ checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "security-framework"
-version = "2.9.1"
+version = "2.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8"
+checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
 dependencies = [
  "bitflags 1.3.2",
- "core-foundation 0.9.3",
- "core-foundation-sys 0.8.4",
+ "core-foundation 0.9.4",
+ "core-foundation-sys 0.8.6",
  "libc",
  "security-framework-sys",
 ]
 
 [[package]]
 name = "security-framework-sys"
-version = "2.9.0"
+version = "2.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7"
+checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
 dependencies = [
- "core-foundation-sys 0.8.4",
+ "core-foundation-sys 0.8.6",
  "libc",
 ]
 
@@ -4422,9 +4751,9 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.17"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 
 [[package]]
 name = "semver-parser"
@@ -4437,9 +4766,9 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.171"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
@@ -4456,20 +4785,20 @@ dependencies = [
 
 [[package]]
 name = "serde_derive"
-version = "1.0.171"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.100"
+version = "1.0.112"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c"
+checksum = "4d1bd37ce2324cf3bf85e5a25f96eb4baf0d5aa6eba43e7ae8958870c4ec48ed"
 dependencies = [
  "itoa",
  "ryu",
@@ -4478,20 +4807,20 @@ dependencies = [
 
 [[package]]
 name = "serde_repr"
-version = "0.1.14"
+version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d89a8107374290037607734c0b73a85db7ed80cae314b3c5791f192a496e731"
+checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_spanned"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
 dependencies = [
  "serde",
 ]
@@ -4533,16 +4862,16 @@ dependencies = [
  "darling",
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "serde_yaml"
-version = "0.9.22"
+version = "0.9.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "452e67b9c20c37fa79df53201dc03839651086ed9bbe92b3ca585ca9fdaa7d85"
+checksum = "b1bf28c79a99f70ee1f1d83d10c875d2e70618417fda01ad1785e027579d9d38"
 dependencies = [
- "indexmap 2.0.0",
+ "indexmap 2.2.1",
  "itoa",
  "ryu",
  "serde",
@@ -4593,9 +4922,9 @@ dependencies = [
 
 [[package]]
 name = "sha1"
-version = "0.10.5"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
+checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -4604,9 +4933,9 @@ dependencies = [
 
 [[package]]
 name = "sha2"
-version = "0.10.7"
+version = "0.10.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -4643,15 +4972,15 @@ checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
 
 [[package]]
 name = "shlex"
-version = "1.1.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
 
 [[package]]
 name = "signal-hook"
-version = "0.3.15"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
+checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
 dependencies = [
  "libc",
  "signal-hook-registry",
@@ -4668,51 +4997,51 @@ dependencies = [
 
 [[package]]
 name = "simd-adler32"
-version = "0.3.5"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
 
 [[package]]
 name = "siphasher"
-version = "0.3.10"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
 
 [[package]]
 name = "slab"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "slotmap"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342"
+checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
 dependencies = [
  "version_check",
 ]
 
 [[package]]
 name = "smallvec"
-version = "1.11.0"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "smawk"
-version = "0.3.1"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043"
+checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c"
 
 [[package]]
 name = "smithay-client-toolkit"
-version = "0.16.0"
+version = "0.16.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f307c47d32d2715eb2e0ece5589057820e0e5e70d07c247d1063e844e107f454"
+checksum = "870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9"
 dependencies = [
  "bitflags 1.3.2",
  "dlib",
@@ -4732,15 +5061,15 @@ version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1"
 dependencies = [
- "async-channel",
+ "async-channel 1.9.0",
  "async-executor",
  "async-fs",
- "async-io",
- "async-lock",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
  "async-net",
  "async-process",
  "blocking",
- "futures-lite",
+ "futures-lite 1.13.0",
 ]
 
 [[package]]
@@ -4749,7 +5078,7 @@ version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "894ffa61af5c0fab697c8c29b1ab10cb6ec4978a1ccac4a81b5b312df1ffd88e"
 dependencies = [
- "async-io",
+ "async-io 1.13.0",
  "smol-potat-macro",
 ]
 
@@ -4766,9 +5095,9 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
 dependencies = [
  "libc",
  "winapi",
@@ -4776,9 +5105,9 @@ dependencies = [
 
 [[package]]
 name = "socket2"
-version = "0.5.3"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 dependencies = [
  "libc",
  "windows-sys 0.48.0",
@@ -4798,7 +5127,7 @@ name = "spawn-funcs"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "bstr 0.2.17",
+ "bstr 1.9.0",
  "config",
  "log",
  "luahelper",
@@ -4900,7 +5229,7 @@ checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
 name = "strip-ansi-escapes"
 version = "0.1.0"
 dependencies = [
- "clap 4.3.11",
+ "clap 4.4.18",
  "termwiz",
 ]
 
@@ -4929,9 +5258,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.25"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -4945,7 +5274,7 @@ dependencies = [
  "anyhow",
  "color-funcs",
  "config",
- "env_logger",
+ "env_logger 0.11.1",
  "futures",
  "lazy_static",
  "libflate",
@@ -4958,18 +5287,29 @@ dependencies = [
  "tar",
  "tempfile",
  "tokio",
- "toml 0.7.6",
+ "toml 0.8.8",
  "wezterm-dynamic",
  "yaml-rust",
 ]
 
 [[package]]
-name = "sys-info"
-version = "0.9.1"
+name = "system-configuration"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b3a0d0aba8bf96a0e1ddfdc352fc53b3df7f39318c71854910c3c4b024ae52c"
+checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
 dependencies = [
- "cc",
+ "bitflags 1.3.2",
+ "core-foundation 0.9.4",
+ "system-configuration-sys",
+]
+
+[[package]]
+name = "system-configuration-sys"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9"
+dependencies = [
+ "core-foundation-sys 0.8.6",
  "libc",
 ]
 
@@ -4988,9 +5328,9 @@ checksum = "36ae8932fcfea38b7d3883ae2ab357b0d57a02caaa18ebb4f5ece08beaec4aa0"
 
 [[package]]
 name = "tar"
-version = "0.4.38"
+version = "0.4.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
+checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
 dependencies = [
  "filetime",
  "libc",
@@ -4999,16 +5339,15 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.6.0"
+version = "3.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
+checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
 dependencies = [
- "autocfg",
  "cfg-if",
- "fastrand 1.9.0",
- "redox_syscall 0.3.5",
- "rustix 0.37.23",
- "windows-sys 0.48.0",
+ "fastrand 2.0.1",
+ "redox_syscall 0.4.1",
+ "rustix 0.38.30",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -5023,9 +5362,9 @@ dependencies = [
 
 [[package]]
 name = "termcolor"
-version = "1.2.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 dependencies = [
  "winapi-util",
 ]
@@ -5036,7 +5375,17 @@ version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237"
 dependencies = [
- "rustix 0.37.23",
+ "rustix 0.37.27",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "terminal_size"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
+dependencies = [
+ "rustix 0.38.30",
  "windows-sys 0.48.0",
 ]
 
@@ -5082,11 +5431,11 @@ name = "termwiz"
 version = "0.22.0"
 dependencies = [
  "anyhow",
- "base64 0.21.2",
- "bitflags 2.3.3",
+ "base64 0.21.7",
+ "bitflags 2.4.2",
  "cassowary",
  "criterion 0.4.0",
- "env_logger",
+ "env_logger 0.11.1",
  "fancy-regex",
  "filedescriptor",
  "finl_unicode",
@@ -5094,12 +5443,12 @@ dependencies = [
  "fnv",
  "hex",
  "image",
- "k9",
+ "k9 0.11.6",
  "lazy_static",
  "libc",
  "log",
  "memmem",
- "nix 0.26.2",
+ "nix 0.26.4",
  "num-derive",
  "num-traits",
  "ordered-float",
@@ -5164,22 +5513,22 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.43"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.43"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5200,9 +5549,9 @@ dependencies = [
 
 [[package]]
 name = "tiff"
-version = "0.8.1"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7449334f9ff2baf290d55d73983a7d6fa15e01198faef72af07e2a8db851e471"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
 dependencies = [
  "flate2",
  "jpeg-decoder",
@@ -5211,11 +5560,13 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.23"
+version = "0.3.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446"
+checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
 dependencies = [
+ "deranged",
  "itoa",
+ "powerfmt",
  "serde",
  "time-core",
  "time-macros",
@@ -5223,9 +5574,9 @@ dependencies = [
 
 [[package]]
 name = "time-core"
-version = "0.1.1"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-funcs"
@@ -5244,18 +5595,18 @@ dependencies = [
 
 [[package]]
 name = "time-macros"
-version = "0.2.10"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4"
+checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f"
 dependencies = [
  "time-core",
 ]
 
 [[package]]
 name = "tiny-skia"
-version = "0.11.1"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4e37fdc219ee3d551882d24dc5e4df5f72fd9723cbca1ffaa57f7348bf7a47d"
+checksum = "b6a067b809476893fce6a254cf285850ff69c847e6cfbade6a20b655b6c7e80d"
 dependencies = [
  "arrayref",
  "arrayvec",
@@ -5268,9 +5619,9 @@ dependencies = [
 
 [[package]]
 name = "tiny-skia-path"
-version = "0.11.1"
+version = "0.11.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93a323d1de20dad9bc8b32daf57702c585ce76e80792d8151de1fc9dfc8d1ca7"
+checksum = "5de35e8a90052baaaf61f171680ac2f8e925a1e43ea9d2e3a00514772250e541"
 dependencies = [
  "arrayref",
  "bytemuck",
@@ -5304,31 +5655,30 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.29.1"
+version = "1.35.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
+checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
 dependencies = [
- "autocfg",
  "backtrace",
  "bytes",
  "libc",
  "mio",
  "num_cpus",
  "pin-project-lite",
- "socket2 0.4.9",
+ "socket2 0.5.5",
  "tokio-macros",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -5343,9 +5693,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-util"
-version = "0.7.8"
+version = "0.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
 dependencies = [
  "bytes",
  "futures-core",
@@ -5366,32 +5716,43 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.7.6"
+version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
+checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit",
+ "toml_edit 0.21.0",
 ]
 
 [[package]]
 name = "toml_datetime"
-version = "0.6.3"
+version = "0.6.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "toml_edit"
-version = "0.19.12"
+version = "0.19.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
+dependencies = [
+ "indexmap 2.2.1",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c500344a19072298cd05a7224b3c0c629348b78692bf48466c5238656e315a78"
+checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
 dependencies = [
- "indexmap 2.0.0",
+ "indexmap 2.2.1",
  "serde",
  "serde_spanned",
  "toml_datetime",
@@ -5406,11 +5767,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
 
 [[package]]
 name = "tracing"
-version = "0.1.37"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
- "cfg-if",
  "pin-project-lite",
  "tracing-attributes",
  "tracing-core",
@@ -5418,35 +5778,35 @@ dependencies = [
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.26"
+version = "0.1.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
+checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
 dependencies = [
  "once_cell",
 ]
 
 [[package]]
 name = "try-lock"
-version = "0.2.4"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
 
 [[package]]
 name = "typenum"
-version = "1.16.0"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 
 [[package]]
 name = "ucd-trie"
@@ -5456,10 +5816,11 @@ checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
 
 [[package]]
 name = "uds_windows"
-version = "1.0.2"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d"
+checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
 dependencies = [
+ "memoffset 0.9.0",
  "tempfile",
  "winapi",
 ]
@@ -5474,34 +5835,30 @@ dependencies = [
 
 [[package]]
 name = "unicase"
-version = "2.6.0"
+version = "2.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
 dependencies = [
  "version_check",
 ]
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.10"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unicode-linebreak"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137"
-dependencies = [
- "hashbrown 0.12.3",
- "regex",
-]
+checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
 
 [[package]]
 name = "unicode-normalization"
@@ -5520,9 +5877,9 @@ checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
 name = "unicode-xid"
@@ -5532,9 +5889,9 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
 
 [[package]]
 name = "unsafe-libyaml"
-version = "0.2.8"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1865806a559042e51ab5414598446a5871b561d21b6764f2eabb0dd481d880a6"
+checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"
 
 [[package]]
 name = "untrusted"
@@ -5554,9 +5911,9 @@ dependencies = [
 
 [[package]]
 name = "url"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -5564,6 +5921,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "url-funcs"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "config",
+ "luahelper",
+ "percent-encoding",
+ "url",
+ "wezterm-dynamic",
+]
+
+[[package]]
 name = "utf8parse"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5571,9 +5940,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "1.4.0"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be"
+checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
 dependencies = [
  "atomic",
  "getrandom",
@@ -5627,21 +5996,21 @@ dependencies = [
 name = "vtparse"
 version = "0.6.2"
 dependencies = [
- "k9",
+ "k9 0.11.6",
  "utf8parse",
 ]
 
 [[package]]
 name = "waker-fn"
-version = "1.1.0"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
+checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
 
 [[package]]
 name = "walkdir"
-version = "2.3.3"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
 dependencies = [
  "same-file",
  "winapi-util",
@@ -5664,9 +6033,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -5674,24 +6043,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.37"
+version = "0.4.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
+checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461"
 dependencies = [
  "cfg-if",
  "js-sys",
@@ -5701,9 +6070,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -5711,22 +6080,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.25",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
 
 [[package]]
 name = "wayland-client"
@@ -5822,9 +6191,9 @@ dependencies = [
 
 [[package]]
 name = "weezl"
-version = "0.1.7"
+version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
 
 [[package]]
 name = "wezterm"
@@ -5833,7 +6202,7 @@ dependencies = [
  "anyhow",
  "cc",
  "chrono",
- "clap 4.3.11",
+ "clap 4.4.18",
  "clap_complete",
  "clap_complete_fig",
  "codec",
@@ -5842,6 +6211,7 @@ dependencies = [
  "env-bootstrap",
  "filedescriptor",
  "hostname",
+ "image",
  "libc",
  "log",
  "mux",
@@ -5867,10 +6237,10 @@ dependencies = [
 
 [[package]]
 name = "wezterm-bidi"
-version = "0.2.2"
+version = "0.2.3"
 dependencies = [
- "env_logger",
- "k9",
+ "env_logger 0.11.1",
+ "k9 0.12.0",
  "log",
  "wezterm-dynamic",
 ]
@@ -5927,7 +6297,7 @@ dependencies = [
 
 [[package]]
 name = "wezterm-color-types"
-version = "0.2.0"
+version = "0.3.0"
 dependencies = [
  "csscolorparser",
  "deltae",
@@ -5947,7 +6317,7 @@ dependencies = [
 
 [[package]]
 name = "wezterm-dynamic"
-version = "0.1.0"
+version = "0.2.0"
 dependencies = [
  "log",
  "maplit",
@@ -5971,24 +6341,28 @@ name = "wezterm-font"
 version = "0.1.0"
 dependencies = [
  "anyhow",
+ "cairo-rs",
+ "cocoa 0.25.0",
  "config",
- "core-foundation 0.9.3",
+ "core-foundation 0.9.4",
  "core-text",
  "dwrote",
  "encoding_rs",
  "enum-display-derive",
- "env_logger",
+ "env_logger 0.11.1",
  "euclid",
  "finl_unicode",
  "fontconfig",
  "freetype",
  "harfbuzz",
- "k9",
+ "image",
+ "k9 0.11.6",
  "lazy_static",
  "lfucache",
  "log",
  "memmap2 0.2.3",
  "metrics",
+ "objc",
  "ordered-float",
  "rangeset",
  "termwiz",
@@ -6012,7 +6386,7 @@ dependencies = [
  "bytemuck",
  "cc",
  "chrono",
- "clap 4.3.11",
+ "clap 4.4.18",
  "codec",
  "colorgrad",
  "config",
@@ -6022,9 +6396,9 @@ dependencies = [
  "embed-resource",
  "emojis",
  "env-bootstrap",
- "env_logger",
+ "env_logger 0.11.1",
  "euclid",
- "fastrand 2.0.0",
+ "fastrand 2.0.1",
  "filedescriptor",
  "finl_unicode",
  "frecency",
@@ -6033,7 +6407,7 @@ dependencies = [
  "hdrhistogram",
  "http_req",
  "image",
- "k9",
+ "k9 0.12.0",
  "lazy_static",
  "lfucache",
  "libc",
@@ -6051,6 +6425,7 @@ dependencies = [
  "pulldown-cmark",
  "rangeset",
  "ratelim",
+ "rayon",
  "regex",
  "serde",
  "serde_json",
@@ -6071,6 +6446,7 @@ dependencies = [
  "unicode-segmentation",
  "unicode-width",
  "url",
+ "url-funcs",
  "walkdir",
  "wezterm-bidi",
  "wezterm-blob-leases",
@@ -6095,7 +6471,7 @@ name = "wezterm-gui-subcommands"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "clap 4.3.11",
+ "clap 4.4.18",
  "config",
 ]
 
@@ -6117,7 +6493,7 @@ dependencies = [
  "anyhow",
  "async_ossl",
  "cc",
- "clap 4.3.11",
+ "clap 4.4.18",
  "config",
  "embed-resource",
  "env-bootstrap",
@@ -6176,16 +6552,16 @@ dependencies = [
  "anyhow",
  "assert_fs",
  "async_ossl",
- "base64 0.21.2",
+ "base64 0.21.7",
  "bitflags 1.3.2",
  "camino",
- "clap 4.3.11",
+ "clap 4.4.18",
  "dirs-next",
- "env_logger",
+ "env_logger 0.11.1",
  "filedescriptor",
  "filenamegen",
  "gethostname",
- "k9",
+ "k9 0.12.0",
  "libc",
  "libssh-rs",
  "log",
@@ -6197,7 +6573,7 @@ dependencies = [
  "shell-words",
  "smol",
  "smol-potat",
- "socket2 0.5.3",
+ "socket2 0.5.5",
  "ssh2",
  "termwiz",
  "thiserror",
@@ -6212,12 +6588,12 @@ dependencies = [
  "bitflags 1.3.2",
  "csscolorparser",
  "downcast-rs",
- "env_logger",
+ "env_logger 0.11.1",
  "finl_unicode",
  "hex",
  "humansize",
  "image",
- "k9",
+ "k9 0.11.6",
  "lazy_static",
  "log",
  "lru",
@@ -6237,8 +6613,8 @@ dependencies = [
 name = "wezterm-toast-notification"
 version = "0.1.0"
 dependencies = [
- "async-io",
- "cocoa",
+ "async-io 1.13.0",
+ "cocoa 0.20.2",
  "core-foundation 0.7.0",
  "futures-util",
  "log",
@@ -6260,12 +6636,13 @@ dependencies = [
 
 [[package]]
 name = "wgpu"
-version = "0.16.2"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8aa4361a426ff9f028520da01e8fda28ab9bdb029e2a76901f1f88317e2796e9"
+checksum = "30e7d227c9f961f2061c26f4cb0fbd4df0ef37e056edd0931783599d6c94ef24"
 dependencies = [
  "arrayvec",
  "cfg-if",
+ "flume 0.11.0",
  "js-sys",
  "log",
  "naga",
@@ -6284,13 +6661,13 @@ dependencies = [
 
 [[package]]
 name = "wgpu-core"
-version = "0.16.1"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f478237b4bf0d5b70a39898a66fa67ca3a007d79f2520485b8b0c3dfc46f8c2"
+checksum = "ef91c1d62d1e9e81c79e600131a258edf75c9531cbdbde09c44a011a47312726"
 dependencies = [
  "arrayvec",
  "bit-vec",
- "bitflags 2.3.3",
+ "bitflags 2.4.2",
  "codespan-reporting",
  "log",
  "naga",
@@ -6307,20 +6684,20 @@ dependencies = [
 
 [[package]]
 name = "wgpu-hal"
-version = "0.16.2"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ecb3258078e936deee14fd4e0febe1cfe9bbb5ffef165cb60218d2ee5eb4448"
+checksum = "b84ecc802da3eb67b4cf3dd9ea6fe45bbb47ef13e6c49c5c3240868a9cc6cdd9"
 dependencies = [
  "android_system_properties",
  "arrayvec",
  "ash",
  "bit-set",
- "bitflags 2.3.3",
+ "bitflags 2.4.2",
  "block",
  "core-graphics-types",
  "d3d12",
- "foreign-types",
  "glow",
+ "glutin_wgl_sys",
  "gpu-alloc",
  "gpu-allocator",
  "gpu-descriptor",
@@ -6328,11 +6705,12 @@ dependencies = [
  "js-sys",
  "khronos-egl",
  "libc",
- "libloading 0.8.0",
+ "libloading 0.8.1",
  "log",
  "metal",
  "naga",
  "objc",
+ "once_cell",
  "parking_lot 0.12.1",
  "profiling",
  "range-alloc",
@@ -6349,16 +6727,29 @@ dependencies = [
 
 [[package]]
 name = "wgpu-types"
-version = "0.16.1"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0c153280bb108c2979eb5c7391cb18c56642dd3c072e55f52065e13e2a1252a"
+checksum = "0d5ed5f0edf0de351fe311c53304986315ce866f394a2e6df0c4b3c70774bcdd"
 dependencies = [
- "bitflags 2.3.3",
+ "bitflags 2.4.2",
  "js-sys",
  "web-sys",
 ]
 
 [[package]]
+name = "which"
+version = "5.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix 0.38.30",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "whoami"
 version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6392,9 +6783,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.5"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 dependencies = [
  "winapi",
 ]
@@ -6410,15 +6801,15 @@ name = "window"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "async-channel",
- "async-io",
+ "async-channel 1.9.0",
+ "async-io 1.13.0",
  "async-task",
  "async-trait",
  "bitflags 1.3.2",
  "bytes",
  "cgl",
  "clipboard-win",
- "cocoa",
+ "cocoa 0.25.0",
  "config",
  "core-foundation 0.7.0",
  "core-graphics 0.19.2",
@@ -6426,12 +6817,12 @@ dependencies = [
  "downcast-rs",
  "euclid",
  "filedescriptor",
- "futures-lite",
+ "futures-lite 1.13.0",
  "futures-util",
  "gl_generator",
  "glium",
  "guillotiere",
- "k9",
+ "k9 0.11.6",
  "lazy_static",
  "libc",
  "libloading 0.6.7",
@@ -6460,7 +6851,7 @@ dependencies = [
  "wezterm-input-types",
  "winapi",
  "windows 0.33.0",
- "winreg",
+ "winreg 0.10.1",
  "x11",
  "xcb",
  "xcb-imdkit",
@@ -6495,20 +6886,30 @@ dependencies = [
 
 [[package]]
 name = "windows"
-version = "0.44.0"
+version = "0.51.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b"
+checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
 dependencies = [
- "windows-targets 0.42.2",
+ "windows-core 0.51.1",
+ "windows-targets 0.48.5",
 ]
 
 [[package]]
-name = "windows"
-version = "0.48.0"
+name = "windows-core"
+version = "0.51.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-core"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.48.1",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -6526,7 +6927,16 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets 0.48.1",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -6546,17 +6956,32 @@ dependencies = [
 
 [[package]]
 name = "windows-targets"
-version = "0.48.1"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
 dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
 ]
 
 [[package]]
@@ -6567,9 +6992,15 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -6585,9 +7016,15 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -6603,9 +7040,15 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -6621,9 +7064,15 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -6639,9 +7088,15 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.48.0"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -6651,9 +7106,15 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -6669,15 +7130,21 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
 
 [[package]]
 name = "winnow"
-version = "0.4.9"
+version = "0.5.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81a2094c43cc94775293eaa0e499fbc30048a6d824ac82c0351a8c0bf9112529"
+checksum = "1931d78a9c73861da0134f453bb1f790ce49b2e30eba8410b4b79bac72b46a2d"
 dependencies = [
  "memchr",
 ]
@@ -6692,6 +7159,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "winreg"
+version = "0.50.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
+dependencies = [
+ "cfg-if",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "wio"
 version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6712,28 +7189,32 @@ dependencies = [
 
 [[package]]
 name = "xattr"
-version = "0.2.3"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
 dependencies = [
  "libc",
+ "linux-raw-sys 0.4.13",
+ "rustix 0.38.30",
 ]
 
 [[package]]
 name = "xcb"
-version = "1.2.1"
-source = "git+https://github.com/rust-x-bindings/rust-xcb?rev=dbdaa01c178c6fbe68bd51b7ad44c08172181083#dbdaa01c178c6fbe68bd51b7ad44c08172181083"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d27b37e69b8c05bfadcd968eb1a4fe27c9c52565b727f88512f43b89567e262"
 dependencies = [
+ "as-raw-xcb-connection",
  "bitflags 1.3.2",
  "libc",
- "quick-xml 0.28.2",
+ "quick-xml 0.30.0",
  "x11",
 ]
 
 [[package]]
 name = "xcb-imdkit"
-version = "0.2.0"
-source = "git+https://github.com/wez/xcb-imdkit-rs.git?branch=hangfix#e59e4a6df065b702e0c22fa2dcea00bd8301a446"
+version = "0.3.0"
+source = "git+https://github.com/wez/xcb-imdkit-rs.git?rev=215ce4b08ac9c4822e541efd4f4ffb1062806051#215ce4b08ac9c4822e541efd4f4ffb1062806051"
 dependencies = [
  "bitflags 1.3.2",
  "cc",
@@ -6744,12 +7225,9 @@ dependencies = [
 
 [[package]]
 name = "xcursor"
-version = "0.3.4"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7"
-dependencies = [
- "nom",
-]
+checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911"
 
 [[package]]
 name = "xdg-home"
@@ -6757,26 +7235,33 @@ version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd"
 dependencies = [
- "nix 0.26.2",
+ "nix 0.26.4",
  "winapi",
 ]
 
 [[package]]
 name = "xkbcommon"
-version = "0.5.0"
+version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acbee136714379ab22da0280207fdb7f47e0bb940adea97731b65598b8c7a92e"
+checksum = "13867d259930edc7091a6c41b4ce6eee464328c6ff9659b7e4c668ca20d4c91e"
 dependencies = [
+ "as-raw-xcb-connection",
  "libc",
- "memmap2 0.5.10",
- "xcb",
+ "memmap2 0.8.0",
+ "xkeysym",
 ]
 
 [[package]]
+name = "xkeysym"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621"
+
+[[package]]
 name = "xml-rs"
-version = "0.8.15"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a56c84a8ccd4258aed21c92f70c0f6dea75356b6892ae27c24139da456f9336"
+checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
 
 [[package]]
 name = "yaml-rust"
@@ -6805,8 +7290,8 @@ dependencies = [
  "async-broadcast",
  "async-executor",
  "async-fs",
- "async-io",
- "async-lock",
+ "async-io 1.13.0",
+ "async-lock 2.8.0",
  "async-process",
  "async-recursion",
  "async-task",
@@ -6815,12 +7300,12 @@ dependencies = [
  "byteorder",
  "derivative",
  "enumflags2",
- "event-listener",
+ "event-listener 2.5.3",
  "futures-core",
  "futures-sink",
  "futures-util",
  "hex",
- "nix 0.26.2",
+ "nix 0.26.4",
  "once_cell",
  "ordered-stream",
  "rand",
@@ -6863,6 +7348,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
 name = "zstd"
 version = "0.11.2+zstd.1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6883,12 +7388,11 @@ dependencies = [
 
 [[package]]
 name = "zstd-sys"
-version = "2.0.8+zstd.1.5.5"
+version = "2.0.9+zstd.1.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
+checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
 dependencies = [
  "cc",
- "libc",
  "pkg-config",
 ]
 
diff --git a/pkgs/applications/terminal-emulators/wezterm/default.nix b/pkgs/applications/terminal-emulators/wezterm/default.nix
index 4cb1fa54df66..d797410c17c0 100644
--- a/pkgs/applications/terminal-emulators/wezterm/default.nix
+++ b/pkgs/applications/terminal-emulators/wezterm/default.nix
@@ -32,14 +32,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wezterm";
-  version = "20230712-072601-f4abf8fd";
+  version = "20240128-202157-1e552d76";
 
   src = fetchFromGitHub {
     owner = "wez";
     repo = pname;
     rev = version;
     fetchSubmodules = true;
-    hash = "sha256-B6AakLbTWIN123qAMQk/vFN83HHNRSNkqicNRU1GaCc=";
+    hash = "sha256-ZmsWTtxW6/Sx2zvuX2aZSiFxoD4g29brby2cd2DCq0o=";
   };
 
   postPatch = ''
@@ -52,9 +52,7 @@ rustPlatform.buildRustPackage rec {
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "image-0.24.5" = "sha256-fTajVwm88OInqCPZerWcSAm1ga46ansQ3EzAmbT58Js=";
-      "xcb-1.2.1" = "sha256-zkuW5ATix3WXBAj2hzum1MJ5JTX3+uVQ01R1vL6F1rY=";
-      "xcb-imdkit-0.2.0" = "sha256-L+NKD0rsCk9bFABQF4FZi9YoqBHr4VAZeKAWgsaAegw=";
+      "xcb-imdkit-0.3.0" = "sha256-fTpJ6uNhjmCWv7dZqVgYuS2Uic36XNYTbqlaly5QBjI=";
     };
   };
 
diff --git a/pkgs/applications/version-management/forgejo/default.nix b/pkgs/applications/version-management/forgejo/default.nix
index 823928576b93..07ce100f2a9a 100644
--- a/pkgs/applications/version-management/forgejo/default.nix
+++ b/pkgs/applications/version-management/forgejo/default.nix
@@ -24,7 +24,7 @@ let
     pname = "forgejo-frontend";
     inherit (forgejo) src version;
 
-    npmDepsHash = "sha256-nXQew6PR5z+FGzmD15WBclnOYxzNZxTmHypuzh5+7Ew=";
+    npmDepsHash = "sha256-I7eq9PB2Od7aaji+VrZj05VVCsGtCiXEMy88xrA8Ktg=";
 
     patches = [
       ./package-json-npm-build-frontend.patch
@@ -39,17 +39,17 @@ let
 in
 buildGoModule rec {
   pname = "forgejo";
-  version = "1.21.4-0";
+  version = "1.21.5-0";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "forgejo";
     repo = "forgejo";
     rev = "v${version}";
-    hash = "sha256-m5y9lg1XAyOWA9jyeieGhzgJ9FaNorS45GCJPwMftXI=";
+    hash = "sha256-SmNmMlO9bEccrk0oWm7VnBaIRGJgTQ5hOSIn6DRiYqk=";
   };
 
-  vendorHash = "sha256-eL3wxoRjxpkv012SqqifNLN9IOez5TbfGfZRgEX0AEM=";
+  vendorHash = "sha256-5BznZiPZCwFEl74JVf7ujFtzsTyG6AcKvQG0LdaMKe4=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/version-management/gh/default.nix b/pkgs/applications/version-management/gh/default.nix
index aae3cbfafe27..33d968c53757 100644
--- a/pkgs/applications/version-management/gh/default.nix
+++ b/pkgs/applications/version-management/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.42.1";
+  version = "2.43.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-5kTBOWdL31UfFDp8XC+lc2vJrXZ0PBJafXyczMPn59o=";
+    hash = "sha256-FPKYp3tdYXncHjfo6E6tRnEG9AQ0RU6FaezwMlTOCtA=";
   };
 
-  vendorHash = "sha256-XBoC1sHfxInkamSHNm7Vb3AKCgIch6uYx0jJWqN7PN8=";
+  vendorHash = "sha256-r1zcwBz/mJOv1RU4Ilgg73yH37xu7a/BmqgAkiODq0I=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-cinnabar/default.nix b/pkgs/applications/version-management/git-cinnabar/default.nix
index ca6a0165f1d0..2d97b41cdd04 100644
--- a/pkgs/applications/version-management/git-cinnabar/default.nix
+++ b/pkgs/applications/version-management/git-cinnabar/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "git-cinnabar";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "glandium";
     repo = "git-cinnabar";
     rev = finalAttrs.version;
-    hash = "sha256-1Y4zd4rYNRatemDXRMkQQwBJdkfOGfDWk9QBvJOgi7s=";
+    hash = "sha256-RUrklp2hobHKnBZKVvxMGquNSZBG/rVWaD/m+7AWqHo=";
     fetchSubmodules = true;
   };
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit (finalAttrs) src;
-    hash = "sha256-p85AS2DukUzEbW9UGYmiF3hpnZvPrZ2sRaeA9dU8j/8=";
+    hash = "sha256-fTwHwZsBvp2F4w5reF94imaXnsw7xfgJQlGRZ3ztnK8=";
   };
 
   ZSTD_SYS_USE_PKG_CONFIG = true;
diff --git a/pkgs/applications/version-management/git-cola/default.nix b/pkgs/applications/version-management/git-cola/default.nix
index e9db7812cca5..a8d8cb8b7983 100644
--- a/pkgs/applications/version-management/git-cola/default.nix
+++ b/pkgs/applications/version-management/git-cola/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "git-cola";
-  version = "4.4.1";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "git-cola";
     repo = "git-cola";
     rev = "v${version}";
-    hash = "sha256-PtV2mzxOfZ88THiFD4K+qtOi41GeLF1GcdiFFhUR8Ak=";
+    hash = "sha256-HORGtpiZGWpeRDhr4E9KW5LSAD6r74l7rl6RhhVtiJo=";
   };
 
   buildInputs = lib.optionals stdenv.isLinux [ qt5.qtwayland ];
diff --git a/pkgs/applications/version-management/git-mit/default.nix b/pkgs/applications/version-management/git-mit/default.nix
index 8f0fc7b65af5..d4dece40ebde 100644
--- a/pkgs/applications/version-management/git-mit/default.nix
+++ b/pkgs/applications/version-management/git-mit/default.nix
@@ -10,7 +10,7 @@
 }:
 
 let
-  version = "5.12.184";
+  version = "5.12.186";
 in
 rustPlatform.buildRustPackage {
   pname = "git-mit";
@@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
     owner = "PurpleBooth";
     repo = "git-mit";
     rev = "v${version}";
-    hash = "sha256-KFfRfLOl6So9AnmrLiiG3sUG2OHQegb8Nx/ndcO1IjE=";
+    hash = "sha256-895QAtKUzqiWffw5IgovXBiARncelrmz1FUEbeHYoW0=";
   };
 
-  cargoHash = "sha256-17Ojhu7xPZYdFeV/rCa/K9HLHD/vsm0FU6Ag9EPngcQ=";
+  cargoHash = "sha256-E3xwZ9oB7oe5gVLAasvo1MWPjDPLKZgSX98VZAq2O3k=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/version-management/git-publish/default.nix b/pkgs/applications/version-management/git-publish/default.nix
index 94949396ee9f..d84c5f096b8c 100644
--- a/pkgs/applications/version-management/git-publish/default.nix
+++ b/pkgs/applications/version-management/git-publish/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, python, perl, fetchFromGitHub, installShellFiles }:
 stdenv.mkDerivation rec {
   pname = "git-publish";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "stefanha";
     repo = "git-publish";
     rev = "v${version}";
-    sha256 = "14rz5kli6sz171cvdc46z3z0nnpd57rliwr6nn6vjjc49yyfwgl4";
+    hash = "sha256-jjpbr+ZqG4U8/z0PurnXR+IUKQkG3QB8YqhDkH8uu2Y=";
   };
 
   nativeBuildInputs = [ perl installShellFiles ];
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 66f2f4e82ef3..09114d2275e7 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -20,12 +20,12 @@
 
 buildGoModule rec {
   pname = "gitea";
-  version = "1.21.4";
+  version = "1.21.5";
 
   # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz";
-    hash = "sha256-bkRI2m7aHrQH5wQbm4MoygrF5da7j4i8Qd/aoMJbhS0=";
+    hash = "sha256-VnJF6CSssQYs8yIKmXvxYHh2CfLiJhuKtjRdqKIQGxw=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 7e84cf7c7c17..dddcdf5812d4 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,15 +1,15 @@
 {
-  "version": "16.7.4",
-  "repo_hash": "sha256-rUEr9G/5T4yWnNY69I+IpjsVOSmfdL0j0u6et4jkIt8=",
-  "yarn_hash": "1qxz2p969qg7kzyvhwxws5zwdw986gdq9gxllzi58c5c56jz49zf",
+  "version": "16.8.1",
+  "repo_hash": "sha256-95YdEAUYoFDFX4COI6NnI6tDB+NLnihlJdUDM8NixXA=",
+  "yarn_hash": "1yhl4l2dln9ck4nbjjrlyjx17nxk4h12gb5hqjh4dq3rz3az3jvx",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v16.7.4-ee",
+  "rev": "v16.8.1-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "16.7.4",
-    "GITLAB_PAGES_VERSION": "16.7.4",
-    "GITLAB_SHELL_VERSION": "14.32.0",
-    "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.5.0",
-    "GITLAB_WORKHORSE_VERSION": "16.7.4"
+    "GITALY_SERVER_VERSION": "16.8.1",
+    "GITLAB_PAGES_VERSION": "16.8.1",
+    "GITLAB_SHELL_VERSION": "14.33.0",
+    "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.6.0",
+    "GITLAB_WORKHORSE_VERSION": "16.8.1"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index dbc86c730eea..b201b6f62ea0 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -1,7 +1,9 @@
 { stdenv, lib, fetchurl, fetchpatch, fetchFromGitLab, bundlerEnv
 , ruby_3_1, tzdata, git, nettools, nixosTests, nodejs, openssl
+, defaultGemConfig, buildRubyGem
 , gitlabEnterprise ? false, callPackage, yarn
 , prefetch-yarn-deps, replace, file, cacert, fetchYarnDeps, makeWrapper, pkg-config
+, cargo, rustc, rustPlatform
 }:
 
 let
@@ -19,20 +21,54 @@ let
     name = "gitlab-env-${version}";
     ruby = ruby_3_1;
     gemdir = ./rubyEnv;
-    gemset =
-      let x = import (gemdir + "/gemset.nix") src;
-      in x // {
-        gpgme = x.gpgme // {
+    gemset = import (gemdir + "/gemset.nix") src;
+    gemConfig = defaultGemConfig // {
+        gpgme = attrs: {
           nativeBuildInputs = [ pkg-config ];
         };
         # the openssl needs the openssl include files
-        openssl = x.openssl // {
+        openssl = attrs: {
           buildInputs = [ openssl ];
         };
-        ruby-magic = x.ruby-magic // {
+        ruby-magic = attrs: {
           buildInputs = [ file ];
           buildFlags = [ "--enable-system-libraries" ];
         };
+        gitlab-glfm-markdown = attrs: {
+          cargoDeps = rustPlatform.fetchCargoTarball {
+            src = stdenv.mkDerivation {
+              inherit (buildRubyGem { inherit (attrs) gemName version source; })
+                name
+                src
+                unpackPhase
+                nativeBuildInputs
+              ;
+              dontBuilt = true;
+              installPhase = ''
+                cp -R ext/glfm_markdown $out
+                cp Cargo.lock $out
+              '';
+            };
+            hash = "sha256-I5w/roDgnRe5eyXo0wiRcoWPpXEtpL3kOl9eDg99t/w=";
+          };
+
+          dontBuild = false;
+
+          nativeBuildInputs = [
+            cargo
+            rustc
+            rustPlatform.cargoSetupHook
+            rustPlatform.bindgenHook
+          ];
+
+          preInstall = ''
+            export CARGO_HOME="$PWD/../.cargo/"
+          '';
+
+          postInstall = ''
+            mv -v $GEM_HOME/gems/${attrs.gemName}-${attrs.version}/lib/{glfm_markdown/glfm_markdown.so,}
+          '';
+        };
       };
     groups = [
       "default" "unicorn" "ed25519" "metrics" "development" "puma" "test" "kerberos"
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 754f8027100f..e6d9ce605b4c 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  version = "16.7.4";
+  version = "16.8.1";
   package_version = "v${lib.versions.major version}";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
 
@@ -18,10 +18,10 @@ let
       owner = "gitlab-org";
       repo = "gitaly";
       rev = "v${version}";
-      hash = "sha256-4wdMwLsJiQzaZ8PhQz7gYj+dzA+92NFPm0twMdr65qA=";
+      hash = "sha256-yR8O9F6THymKKHbnfh67NhEcNNBz7XHja/fpeTmVoe0=";
     };
 
-    vendorHash = "sha256-btWHZMy1aBSsUVs30IqrdBCO79XQvTMXxkxYURF2Nqs=";
+    vendorHash = "sha256-AkL/BbCrqgXyvfiMxzMIXeZwh5aFL2a2+myk/4YXMNc=";
 
     ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ];
 
diff --git a/pkgs/applications/version-management/gitlab/gitlab-elasticsearch-indexer/default.nix b/pkgs/applications/version-management/gitlab/gitlab-elasticsearch-indexer/default.nix
index d6a35bc96cad..da6dbda266c6 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-elasticsearch-indexer/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-elasticsearch-indexer/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gitlab-elasticsearch-indexer";
-  version = "4.5.0";
+  version = "4.6.0";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-elasticsearch-indexer";
     rev = "v${version}";
-    sha256 = "sha256-6Y2ARnFjbz6nFhWGRhzgAY8s0aX24oLMY1016oRD9oo=";
+    sha256 = "sha256-HlT3Uj/DWbyK4xGq7SjKjZ90sww6oMiMDo05mtv6rTA=";
   };
 
-  vendorHash = "sha256-jpjfQl2z5yPnlGEYW6KKBfd4quchT+bU/RU6vwaB4gQ=";
+  vendorHash = "sha256-YUH/agSy/shHmHRXlfDtgumbka6BjX5NTxgvlNJS4hQ=";
 
   buildInputs = [ icu ];
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
index 0e21984866f2..202dd29c4fab 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "16.7.4";
+  version = "16.8.1";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    hash = "sha256-6OPpfn+nylTUp7rNI8NqipbHmLmaV0ezE1qrQqHcuqw=";
+    hash = "sha256-Wj15GHm+5Xd5wq4C3dH+i94jh7pecHM6KCDugLm5YAA=";
   };
 
-  vendorHash = "sha256-NMky8v0YmN2pSeKJ7G0+DWAZvUx2JlwFbqPHvciYroM=";
+  vendorHash = "sha256-9yogTSdEij/YwWGm3gz7jMn2AZcI+o7aEnjBvJ8E3vA=";
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index 568ba88deeca..ab79f9fac00a 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -2,21 +2,21 @@
 
 buildGoModule rec {
   pname = "gitlab-shell";
-  version = "14.32.0";
+  version = "14.33.0";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "sha256-fZttdcIdPeiy2ncDyseR1BnR6GBoSRsFkn7Mxc+mTA8=";
+    sha256 = "sha256-0C3ODs2NElJQ+A6x9lZxSParTZc3q4YqWsw7DxwhODo=";
   };
 
   buildInputs = [ ruby libkrb5 ];
 
   patches = [ ./remove-hardcoded-locations.patch ];
 
-  vendorHash = "sha256-tdYBEV/dKnIJ+OWTF3/5bIbWVdE/ulMrMD/LMzj1QZE=";
+  vendorHash = "sha256-sTAd/AbPx5WzBCzTDLvo/bDZcmz/xVhIhz9nFGBEYx4=";
 
   postInstall = ''
     cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index c05ced41045d..58361fbfb631 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "16.7.4";
+  version = "16.8.1";
 
   # nixpkgs-update: no auto update
   src = fetchFromGitLab {
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   sourceRoot = "${src.name}/workhorse";
 
-  vendorHash = "sha256-1oeToeqGXSj5CdL5dgWsnN/VpwALlus93P0Ed7G8TIw=";
+  vendorHash = "sha256-OcdfanSlH1ZUmKlhzMOD3oNySx1o92Is7EDf1Z3953A=";
   buildInputs = [ git ];
   ldflags = [ "-X main.Version=${version}" ];
   doCheck = false;
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 0ddaf9afb3a3..161dc46f7844 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -28,7 +28,7 @@ gem 'rails', '~> 7.0.8' # rubocop:todo Gemfile/MissingFeatureCategory
 
 gem 'activerecord-gitlab', path: 'gems/activerecord-gitlab' # rubocop:todo Gemfile/MissingFeatureCategory
 
-gem 'bootsnap', '~> 1.17.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'bootsnap', '~> 1.17.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
 gem 'openssl', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'ipaddr', '~> 1.2.5' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -133,11 +133,11 @@ gem 'gitlab_omniauth-ldap', '~> 2.2.0', require: 'omniauth-ldap' # rubocop:todo
 gem 'net-ldap', '~> 0.17.1' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # API
-gem 'grape', '~> 1.7.1', feature_category: :api
+gem 'grape', '~> 2.0.0', feature_category: :api
 gem 'grape-entity', '~> 0.10.0', feature_category: :api
-gem 'grape-swagger', '~> 1.6.1', group: [:development, :test], feature_category: :api
+gem 'grape-swagger', '~> 2.0.1', group: [:development, :test], feature_category: :api
 gem 'grape-swagger-entity', '~> 0.5.1', group: [:development, :test], feature_category: :api
-gem 'grape-path-helpers', '~> 1.7.1', feature_category: :api
+gem 'grape-path-helpers', '~> 2.0.0', feature_category: :api
 gem 'rack-cors', '~> 2.0.1', require: 'rack/cors' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # GraphQL API
@@ -203,17 +203,17 @@ gem 'seed-fu', '~> 2.3.7' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'elasticsearch-model', '~> 7.2' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'elasticsearch-api',   '7.13.3' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'aws-sdk-core', '~> 3.190.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'aws-sdk-core', '~> 3.190.2' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'aws-sdk-cloudformation', '~> 1' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'aws-sdk-s3', '~> 1.141.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'aws-sdk-s3', '~> 1.142.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'faraday_middleware-aws-sigv4', '~>0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Markdown and HTML processing
-gem 'html-pipeline', '~> 2.14.3' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'deckar01-task_list', '2.3.3' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'html-pipeline', '~> 2.14.3', feature_category: :team_planning
+gem 'deckar01-task_list', '2.3.3', feature_category: :team_planning
 gem 'gitlab-markup', '~> 1.9.0', require: 'github/markup' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'commonmarker', '~> 0.23.10' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'commonmarker', '~> 0.23.10', feature_category: :team_planning
 gem 'kramdown', '~> 2.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'RedCloth', '~> 4.3.3' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'org-ruby', '~> 0.9.12' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -225,7 +225,8 @@ gem 'asciidoctor-plantuml', '~> 0.0.16' # rubocop:todo Gemfile/MissingFeatureCat
 gem 'asciidoctor-kroki', '~> 0.8.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'rouge', '~> 4.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'truncato', '~> 0.7.12' # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'nokogiri', '~> 1.15', '>= 1.15.5' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'nokogiri', '~> 1.16' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'gitlab-glfm-markdown', '~> 0.0.11', feature_category: :team_planning
 
 # Calendar rendering
 gem 'icalendar' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -240,7 +241,7 @@ gem 'rack', '~> 2.2.8' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'rack-timeout', '~> 0.6.3', require: 'rack/timeout/base' # rubocop:todo Gemfile/MissingFeatureCategory
 
 group :puma do
-  gem 'puma', '~> 6.4', require: false # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'puma', '= 6.4.0', require: false, feature_category: :shared
   gem 'sd_notify', '~> 0.1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 end
 
@@ -251,7 +252,7 @@ gem 'state_machines-activerecord', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeat
 gem 'acts-as-taggable-on', '~> 10.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Background jobs
-gem 'sidekiq', '~> 6.5.10' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'sidekiq', '~> 7.1.6' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'sidekiq-cron', '~> 1.12.0', feature_category: :shared
 gem 'gitlab-sidekiq-fetcher', path: 'vendor/gems/sidekiq-reliable-fetch', require: 'sidekiq-reliable-fetch' # rubocop:todo Gemfile/MissingFeatureCategory
 
@@ -268,7 +269,7 @@ gem 'rainbow', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'ruby-progressbar', '~> 1.10' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Linear-time regex library for untrusted regular expressions
-gem 're2', '2.5.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 're2', '2.6.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Misc
 
@@ -288,7 +289,7 @@ gem 'redis-namespace', '~> 1.10.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'connection_pool', '~> 2.4' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Redis session store
-gem 'redis-actionpack', '~> 5.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'redis-actionpack', '~> 5.4.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Discord integration
 gem 'discordrb-webhooks', '~> 3.4', require: false, feature_category: :integrations
@@ -366,7 +367,7 @@ gem 'gitlab-http', path: 'gems/gitlab-http' # rubocop:todo Gemfile/MissingFeatur
 
 gem 'premailer-rails', '~> 1.10.3' # rubocop:todo Gemfile/MissingFeatureCategory
 
-gem 'gitlab-labkit', '~> 0.34.0' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'gitlab-labkit', '~> 0.35.0' # rubocop:todo Gemfile/MissingFeatureCategory
 gem 'thrift', '>= 0.16.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # I18n
@@ -387,7 +388,7 @@ gem 'snowplow-tracker', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
 # Metrics
 gem 'webrick', '~> 1.8.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
-gem 'prometheus-client-mmap', '~> 1.0', '>= 1.0.2', require: 'prometheus/client' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'prometheus-client-mmap', '~> 1.1', require: 'prometheus/client' # rubocop:todo Gemfile/MissingFeatureCategory
 
 gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
@@ -406,7 +407,7 @@ group :development do
 
   gem 'listen', '~> 3.7' # rubocop:todo Gemfile/MissingFeatureCategory
 
-  gem 'ruby-lsp', "~> 0.13.1", require: false, feature_category: :tooling
+  gem 'ruby-lsp', "~> 0.13.2", require: false, feature_category: :tooling
 
   gem 'ruby-lsp-rails', "~> 0.2.8", feature_category: :tooling
 
@@ -416,7 +417,7 @@ end
 group :development, :test do
   gem 'deprecation_toolkit', '~> 1.5.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'bullet', '~> 7.1.2' # rubocop:todo Gemfile/MissingFeatureCategory
-  gem 'parser', '~> 3.2', '>= 3.2.2.4' # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'parser', '~> 3.3', '>= 3.3.0.2' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'pry-byebug' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'pry-rails', '~> 0.3.9' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'pry-shell', '~> 0.6.4' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -424,7 +425,7 @@ group :development, :test do
   gem 'awesome_print', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
   gem 'database_cleaner-active_record', '~> 2.1.0', feature_category: :database
-  gem 'factory_bot_rails', '~> 6.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'factory_bot_rails', '~> 6.4.3' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'rspec-rails', '~> 6.1.0', feature_category: :shared
 
   # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
@@ -435,7 +436,7 @@ group :development, :test do
 
   gem 'gitlab-styles', '~> 11.0.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
-  gem 'haml_lint', '~> 0.52', require: false # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'haml_lint', '~> 0.53', require: false # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'bundler-audit', '~> 0.9.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
   # Benchmarking & profiling
@@ -457,7 +458,7 @@ group :development, :test do
 
   gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup' # rubocop:todo Gemfile/MissingFeatureCategory
 
-  gem 'pact', '~> 1.63' # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'pact', '~> 1.64' # rubocop:todo Gemfile/MissingFeatureCategory
 
   # For now we only use vite in development / test, and not for production builds
   # See: https://gitlab.com/gitlab-org/frontend/rfcs/-/issues/106
@@ -472,7 +473,7 @@ group :development, :test, :danger do
 end
 
 group :development, :test, :coverage do
-  gem 'simplecov', '~> 0.21', require: false, feature_category: :tooling
+  gem 'simplecov', '~> 0.22', require: false, feature_category: :tooling
   gem 'simplecov-lcov', '~> 0.8.0', require: false, feature_category: :tooling
   gem 'simplecov-cobertura', '~> 2.1.0', require: false, feature_category: :tooling
   gem 'undercover', '~> 0.4.4', require: false, feature_category: :tooling
@@ -511,12 +512,12 @@ group :test do
   gem 'test-prof', '~> 1.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'rspec_junit_formatter' # rubocop:todo Gemfile/MissingFeatureCategory
   gem 'guard-rspec' # rubocop:todo Gemfile/MissingFeatureCategory
-  gem 'axe-core-rspec' # rubocop:todo Gemfile/MissingFeatureCategory
+  gem 'axe-core-rspec', '~> 4.8.0', feature_category: :tooling
 
   # Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527
   gem 'derailed_benchmarks', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 
-  gem 'gitlab_quality-test_tooling', '~> 1.9.0', require: false, feature_category: :tooling
+  gem 'gitlab_quality-test_tooling', '~> 1.11.0', require: false, feature_category: :tooling
 end
 
 gem 'octokit', '~> 6.0' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -558,7 +559,7 @@ gem 'kas-grpc', '~> 0.3.0', feature_category: :deployment_management
 
 gem 'grpc', '~> 1.58.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
-gem 'google-protobuf', '~> 3.25', '>= 3.25.1' # rubocop:todo Gemfile/MissingFeatureCategory
+gem 'google-protobuf', '~> 3.25', '>= 3.25.2' # rubocop:todo Gemfile/MissingFeatureCategory
 
 gem 'toml-rb', '~> 2.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
 
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index e106367ae951..adbd0b47167f 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -33,6 +33,7 @@ PATH
   remote: gems/gitlab-housekeeper
   specs:
     gitlab-housekeeper (0.1.0)
+      activesupport
       httparty
       rubocop
 
@@ -44,7 +45,6 @@ PATH
       concurrent-ruby (~> 1.2)
       httparty (~> 0.21.0)
       ipaddress (~> 0.8.3)
-      nokogiri (~> 1.15.4)
       railties (~> 7)
 
 PATH
@@ -66,6 +66,7 @@ PATH
   remote: gems/gitlab-safe_request_store
   specs:
     gitlab-safe_request_store (0.1.0)
+      rack (~> 2.2.8)
       request_store
 
 PATH
@@ -79,6 +80,7 @@ PATH
   remote: gems/gitlab-secret_detection
   specs:
     gitlab-secret_detection (0.1.0)
+      parallel (~> 1.22)
       re2 (~> 2.4)
       toml-rb (~> 2.2)
 
@@ -89,7 +91,6 @@ PATH
       actionview (>= 6.1.7.2)
       activesupport (>= 6.1.7.2)
       addressable (~> 2.8)
-      nokogiri (~> 1.15.2)
       rake (~> 13.0)
 
 PATH
@@ -179,9 +180,9 @@ PATH
 PATH
   remote: vendor/gems/sidekiq-reliable-fetch
   specs:
-    gitlab-sidekiq-fetcher (0.10.0)
+    gitlab-sidekiq-fetcher (0.11.0)
       json (>= 2.5)
-      sidekiq (~> 6.1)
+      sidekiq (~> 7.0)
 
 GEM
   remote: https://rubygems.org/
@@ -296,28 +297,28 @@ GEM
     awesome_print (1.9.2)
     awrence (1.2.1)
     aws-eventstream (1.3.0)
-    aws-partitions (1.761.0)
+    aws-partitions (1.877.0)
     aws-sdk-cloudformation (1.41.0)
       aws-sdk-core (~> 3, >= 3.99.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-core (3.190.0)
+    aws-sdk-core (3.190.2)
       aws-eventstream (~> 1, >= 1.3.0)
       aws-partitions (~> 1, >= 1.651.0)
       aws-sigv4 (~> 1.8)
       jmespath (~> 1, >= 1.6.1)
-    aws-sdk-kms (1.64.0)
-      aws-sdk-core (~> 3, >= 3.165.0)
+    aws-sdk-kms (1.76.0)
+      aws-sdk-core (~> 3, >= 3.188.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.141.0)
+    aws-sdk-s3 (1.142.0)
       aws-sdk-core (~> 3, >= 3.189.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.8)
     aws-sigv4 (1.8.0)
       aws-eventstream (~> 1, >= 1.0.2)
-    axe-core-api (4.6.0)
+    axe-core-api (4.8.0)
       dumb_delegator
       virtus
-    axe-core-rspec (4.6.0)
+    axe-core-rspec (4.8.0)
       axe-core-api
       dumb_delegator
       virtus
@@ -352,7 +353,7 @@ GEM
     bindata (2.4.11)
     binding_of_caller (1.0.0)
       debug_inspector (>= 0.0.1)
-    bootsnap (1.17.0)
+    bootsnap (1.17.1)
       msgpack (~> 1.2)
     browser (5.3.1)
     builder (3.2.4)
@@ -500,7 +501,7 @@ GEM
       jwt (>= 2.5)
     dotenv (2.7.6)
     dry-cli (1.0.0)
-    dry-core (1.0.0)
+    dry-core (1.0.1)
       concurrent-ruby (~> 1.0)
       zeitwerk (~> 2.6)
     dry-inflector (1.0.0)
@@ -552,10 +553,10 @@ GEM
     expression_parser (0.9.0)
     extended-markdown-filter (0.7.0)
       html-pipeline (~> 2.9)
-    factory_bot (6.2.0)
+    factory_bot (6.4.5)
       activesupport (>= 5.0.0)
-    factory_bot_rails (6.2.0)
-      factory_bot (~> 6.2.0)
+    factory_bot_rails (6.4.3)
+      factory_bot (~> 6.4)
       railties (>= 5.0.0)
     faraday (1.10.0)
       faraday-em_http (~> 1.0)
@@ -596,7 +597,6 @@ GEM
       rake
     ffi-yajl (2.6.0)
       libyajl2 (>= 1.2)
-    filelock (1.1.1)
     find_a_port (1.0.1)
     flipper (0.26.2)
       concurrent-ruby (< 2)
@@ -693,13 +693,15 @@ GEM
       fog-core (= 2.1.0)
       fog-json (~> 1.2.0)
       mime-types
-    gitlab-labkit (0.34.0)
+    gitlab-glfm-markdown (0.0.11)
+      rb_sys (~> 0.9.86)
+    gitlab-labkit (0.35.0)
       actionpack (>= 5.0.0, < 8.0.0)
       activesupport (>= 5.0.0, < 8.0.0)
       grpc (>= 1.37)
       jaeger-client (~> 1.1.0)
       opentracing (~> 0.4)
-      pg_query (~> 4.2.3)
+      pg_query (>= 4.2.3, < 6.0)
       redis (> 3.0.0, < 6.0.0)
     gitlab-license (2.3.0)
     gitlab-mail_room (0.0.24)
@@ -727,7 +729,7 @@ GEM
       omniauth (>= 1.3, < 3)
       pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
       rubyntlm (~> 0.5)
-    gitlab_quality-test_tooling (1.9.0)
+    gitlab_quality-test_tooling (1.11.0)
       activesupport (>= 6.1, < 7.2)
       amatch (~> 0.4.1)
       gitlab (~> 4.19)
@@ -798,7 +800,7 @@ GEM
       google-cloud-core (~> 1.6)
       googleauth (>= 0.16.2, < 2.a)
       mini_mime (~> 1.0)
-    google-protobuf (3.25.1)
+    google-protobuf (3.25.2)
     googleapis-common-protos (1.4.0)
       google-protobuf (~> 3.14)
       googleapis-common-protos-types (~> 1.2)
@@ -814,23 +816,24 @@ GEM
       signet (>= 0.16, < 2.a)
     gpgme (2.0.23)
       mini_portile2 (~> 2.7)
-    grape (1.7.1)
-      activesupport
+    grape (2.0.0)
+      activesupport (>= 5)
       builder
       dry-types (>= 1.1)
       mustermann-grape (~> 1.0.0)
-      rack (>= 1.3.0, < 3)
+      rack (>= 1.3.0)
       rack-accept
     grape-entity (0.10.0)
       activesupport (>= 3.0.0)
       multi_json (>= 1.3.2)
-    grape-path-helpers (1.7.1)
+    grape-path-helpers (2.0.1)
       activesupport
-      grape (~> 1.3)
+      grape (~> 2.0)
       rake (> 12)
       ruby2_keywords (~> 0.0.2)
-    grape-swagger (1.6.1)
-      grape (~> 1.3)
+    grape-swagger (2.0.1)
+      grape (>= 1.7, < 3.0)
+      rack-test (~> 2)
     grape-swagger-entity (0.5.1)
       grape-entity (>= 0.6.0)
       grape-swagger (>= 1.2.0)
@@ -879,8 +882,8 @@ GEM
     haml (5.2.2)
       temple (>= 0.8.0)
       tilt
-    haml_lint (0.52.0)
-      haml (>= 4.0)
+    haml_lint (0.53.0)
+      haml (>= 5.0)
       parallel (~> 1.10)
       rainbow
       rubocop (>= 1.0)
@@ -1104,9 +1107,9 @@ GEM
       net-protocol
     net-ssh (7.2.0)
     netrc (0.11.0)
-    nio4r (2.5.8)
+    nio4r (2.7.0)
     no_proxy_fix (0.1.2)
-    nokogiri (1.15.5)
+    nokogiri (1.16.0)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     notiffany (0.1.3)
@@ -1206,31 +1209,29 @@ GEM
       rubypants (~> 0.2)
     orm_adapter (0.5.0)
     os (1.1.4)
-    pact (1.63.0)
+    pact (1.64.0)
       pact-mock_service (~> 3.0, >= 3.3.1)
       pact-support (~> 1.16, >= 1.16.9)
       rack-test (>= 0.6.3, < 3.0.0)
       rspec (~> 3.0)
-      term-ansicolor (~> 1.0)
+      term-ansicolor (~> 1.7)
       thor (>= 0.20, < 2.0)
-      webrick (~> 1.3)
-    pact-mock_service (3.10.0)
-      filelock (~> 1.1)
+      webrick (~> 1.8)
+    pact-mock_service (3.11.2)
       find_a_port (~> 1.0.1)
       json
       pact-support (~> 1.16, >= 1.16.4)
       rack (~> 2.0)
       rspec (>= 2.14)
-      term-ansicolor (~> 1.0)
       thor (>= 0.19, < 2.0)
-      webrick (~> 1.3)
-    pact-support (1.18.1)
+      webrick (~> 1.8)
+    pact-support (1.20.0)
       awesome_print (~> 1.9)
-      diff-lcs (~> 1.4)
+      diff-lcs (~> 1.5)
       expgen (~> 0.1)
       rainbow (~> 3.1.1)
     parallel (1.22.1)
-    parser (3.2.2.4)
+    parser (3.3.0.2)
       ast (~> 2.4.1)
       racc
     parslet (1.8.2)
@@ -1253,13 +1254,13 @@ GEM
     prime (0.1.2)
       forwardable
       singleton
-    prism (0.18.0)
+    prism (0.19.0)
     proc_to_ast (0.1.0)
       coderay
       parser
       unparser
-    prometheus-client-mmap (1.0.2)
-      rb_sys (~> 0.9)
+    prometheus-client-mmap (1.1.0)
+      rb_sys (~> 0.9.86)
     protocol (2.0.0)
       ruby_parser (~> 3.0)
     pry (0.14.2)
@@ -1297,6 +1298,8 @@ GEM
       rack
     rack-proxy (0.7.7)
       rack
+    rack-session (1.0.2)
+      rack (< 3)
     rack-test (2.1.0)
       rack (>= 1.3)
     rack-timeout (0.6.3)
@@ -1321,8 +1324,9 @@ GEM
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
-    rails-html-sanitizer (1.5.0)
-      loofah (~> 2.19, >= 2.19.1)
+    rails-html-sanitizer (1.6.0)
+      loofah (~> 2.21)
+      nokogiri (~> 1.14)
     rails-i18n (7.0.3)
       i18n (>= 0.7, < 2)
       railties (>= 6.0.0, < 8)
@@ -1338,31 +1342,33 @@ GEM
     rb-fsevent (0.11.2)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
-    rb_sys (0.9.83)
+    rb_sys (0.9.86)
     rbtrace (0.4.14)
       ffi (>= 1.0.6)
       msgpack (>= 0.4.3)
       optimist (>= 3.0.0)
     rbtree (0.4.6)
     rchardet (1.8.0)
-    re2 (2.5.0)
+    re2 (2.6.0)
       mini_portile2 (~> 2.8.5)
     recaptcha (5.12.3)
       json
     recursive-open-struct (1.1.3)
     redcarpet (3.6.0)
     redis (4.8.0)
-    redis-actionpack (5.3.0)
+    redis-actionpack (5.4.0)
       actionpack (>= 5, < 8)
-      redis-rack (>= 2.1.0, < 3)
+      redis-rack (>= 2.1.0, < 4)
       redis-store (>= 1.1.0, < 2)
+    redis-client (0.19.0)
+      connection_pool
     redis-namespace (1.10.0)
       redis (>= 4)
-    redis-rack (2.1.4)
-      rack (>= 2.0.8, < 3)
+    redis-rack (3.0.0)
+      rack-session (>= 0.2.0)
       redis-store (>= 1.2, < 2)
-    redis-store (1.9.1)
-      redis (>= 4, < 5)
+    redis-store (1.10.0)
+      redis (>= 4, < 6)
     regexp_parser (2.6.0)
     regexp_property_values (1.0.0)
     representable (3.2.0)
@@ -1469,9 +1475,9 @@ GEM
     ruby-fogbugz (0.3.0)
       crack (~> 0.4)
       multipart-post (~> 2.0)
-    ruby-lsp (0.13.1)
+    ruby-lsp (0.13.2)
       language_server-protocol (~> 3.17.0)
-      prism (>= 0.18.0, < 0.19)
+      prism (>= 0.19.0, < 0.20)
       sorbet-runtime (>= 0.5.5685)
     ruby-lsp-rails (0.2.8)
       actionpack (>= 6.0)
@@ -1542,10 +1548,11 @@ GEM
     shellany (0.0.1)
     shoulda-matchers (5.1.0)
       activesupport (>= 5.2.0)
-    sidekiq (6.5.12)
-      connection_pool (>= 2.2.5, < 3)
-      rack (~> 2.0)
-      redis (>= 4.5.0, < 5)
+    sidekiq (7.1.6)
+      concurrent-ruby (< 2)
+      connection_pool (>= 2.3.0)
+      rack (>= 2.2.4)
+      redis-client (>= 0.14.0)
     sidekiq-cron (1.12.0)
       fugit (~> 1.8)
       globalid (>= 1.0.1)
@@ -1713,7 +1720,7 @@ GEM
     unparser (0.6.7)
       diff-lcs (~> 1.3)
       parser (>= 3.2.0)
-    uri (0.12.2)
+    uri (0.13.0)
     uri_template (0.7.0)
     valid_email (0.1.3)
       activemodel
@@ -1808,9 +1815,9 @@ DEPENDENCIES
   autoprefixer-rails (= 10.2.5.1)
   awesome_print
   aws-sdk-cloudformation (~> 1)
-  aws-sdk-core (~> 3.190.0)
-  aws-sdk-s3 (~> 1.141.0)
-  axe-core-rspec
+  aws-sdk-core (~> 3.190.2)
+  aws-sdk-s3 (~> 1.142.0)
+  axe-core-rspec (~> 4.8.0)
   babosa (~> 2.0)
   base32 (~> 0.3.0)
   batch-loader (~> 2.0.1)
@@ -1818,7 +1825,7 @@ DEPENDENCIES
   benchmark-ips (~> 2.11.0)
   benchmark-memory (~> 0.1)
   better_errors (~> 2.10.1)
-  bootsnap (~> 1.17.0)
+  bootsnap (~> 1.17.1)
   browser (~> 5.3.1)
   bullet (~> 7.1.2)
   bundler-audit (~> 0.9.1)
@@ -1861,7 +1868,7 @@ DEPENDENCIES
   email_reply_trimmer (~> 0.1)
   email_spec (~> 2.2.0)
   error_tracking_open_api!
-  factory_bot_rails (~> 6.2.0)
+  factory_bot_rails (~> 6.4.3)
   faraday (~> 1.0)
   faraday_middleware-aws-sigv4 (~> 0.3.0)
   fast_blank (~> 1.0.1)
@@ -1884,9 +1891,10 @@ DEPENDENCIES
   gitlab-dangerfiles (~> 4.6.0)
   gitlab-experiment (~> 0.9.1)
   gitlab-fog-azure-rm (~> 1.8.0)
+  gitlab-glfm-markdown (~> 0.0.11)
   gitlab-housekeeper!
   gitlab-http!
-  gitlab-labkit (~> 0.34.0)
+  gitlab-labkit (~> 0.35.0)
   gitlab-license (~> 2.3)
   gitlab-mail_room (~> 0.0.24)
   gitlab-markup (~> 1.9.0)
@@ -1902,7 +1910,7 @@ DEPENDENCIES
   gitlab-utils!
   gitlab_chronic_duration (~> 0.12)
   gitlab_omniauth-ldap (~> 2.2.0)
-  gitlab_quality-test_tooling (~> 1.9.0)
+  gitlab_quality-test_tooling (~> 1.11.0)
   gon (~> 6.4.0)
   google-apis-androidpublisher_v3 (~> 0.34.0)
   google-apis-cloudbilling_v1 (~> 0.21.0)
@@ -1916,12 +1924,12 @@ DEPENDENCIES
   google-apis-sqladmin_v1beta4 (~> 0.41.0)
   google-apis-storage_v1 (~> 0.29)
   google-cloud-storage (~> 1.45.0)
-  google-protobuf (~> 3.25, >= 3.25.1)
+  google-protobuf (~> 3.25, >= 3.25.2)
   gpgme (~> 2.0.23)
-  grape (~> 1.7.1)
+  grape (~> 2.0.0)
   grape-entity (~> 0.10.0)
-  grape-path-helpers (~> 1.7.1)
-  grape-swagger (~> 1.6.1)
+  grape-path-helpers (~> 2.0.0)
+  grape-swagger (~> 2.0.1)
   grape-swagger-entity (~> 0.5.1)
   grape_logging (~> 1.8)
   graphiql-rails (~> 1.8.0)
@@ -1932,7 +1940,7 @@ DEPENDENCIES
   grpc (~> 1.58.0)
   gssapi (~> 1.3.1)
   guard-rspec
-  haml_lint (~> 0.52)
+  haml_lint (~> 0.53)
   hamlit (~> 2.15.0)
   hashie (~> 5.0.0)
   health_check (~> 3.0)
@@ -1979,7 +1987,7 @@ DEPENDENCIES
   net-ldap (~> 0.17.1)
   net-ntp
   net-protocol (~> 0.1.3)
-  nokogiri (~> 1.15, >= 1.15.5)
+  nokogiri (~> 1.16)
   oauth2 (~> 2.0)
   octokit (~> 6.0)
   ohai (~> 18.1)
@@ -2007,20 +2015,20 @@ DEPENDENCIES
   openssl (~> 3.0)
   org-ruby (~> 0.9.12)
   os (~> 1.1)
-  pact (~> 1.63)
+  pact (~> 1.64)
   parallel (~> 1.19)
-  parser (~> 3.2, >= 3.2.2.4)
+  parser (~> 3.3, >= 3.3.0.2)
   parslet (~> 1.8)
   peek (~> 1.1)
   pg (~> 1.5.4)
   pg_query (~> 4.2.3)
   png_quantizator (~> 0.2.1)
   premailer-rails (~> 1.10.3)
-  prometheus-client-mmap (~> 1.0, >= 1.0.2)
+  prometheus-client-mmap (~> 1.1)
   pry-byebug
   pry-rails (~> 0.3.9)
   pry-shell (~> 0.6.4)
-  puma (~> 6.4)
+  puma (= 6.4.0)
   rack (~> 2.2.8)
   rack-attack (~> 6.7.0)
   rack-cors (~> 2.0.1)
@@ -2032,10 +2040,10 @@ DEPENDENCIES
   rails-i18n (~> 7.0)
   rainbow (~> 3.0)
   rbtrace (~> 0.4)
-  re2 (= 2.5.0)
+  re2 (= 2.6.0)
   recaptcha (~> 5.12)
   redis (~> 4.8.0)
-  redis-actionpack (~> 5.3.0)
+  redis-actionpack (~> 5.4.0)
   redis-namespace (~> 1.10.0)
   request_store (~> 1.5.1)
   responders (~> 3.0)
@@ -2051,7 +2059,7 @@ DEPENDENCIES
   rspec_profiling (~> 0.0.6)
   rubocop
   ruby-fogbugz (~> 0.3.0)
-  ruby-lsp (~> 0.13.1)
+  ruby-lsp (~> 0.13.2)
   ruby-lsp-rails (~> 0.2.8)
   ruby-lsp-rspec (~> 0.1.8)
   ruby-magic (~> 0.6)
@@ -2071,11 +2079,11 @@ DEPENDENCIES
   sentry-ruby (~> 5.10.0)
   sentry-sidekiq (~> 5.10.0)
   shoulda-matchers (~> 5.1.0)
-  sidekiq (~> 6.5.10)
+  sidekiq (~> 7.1.6)
   sidekiq-cron (~> 1.12.0)
   sigdump (~> 0.2.4)
   simple_po_parser (~> 1.1.6)
-  simplecov (~> 0.21)
+  simplecov (~> 0.22)
   simplecov-cobertura (~> 2.1.0)
   simplecov-lcov (~> 0.8.0)
   slack-messenger (~> 2.3.4)
@@ -2117,4 +2125,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4.3)
 
 BUNDLED WITH
-   2.4.22
+   2.5.4
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index b419e76f259b..4086a43e089d 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -389,10 +389,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1whf6ppvdibfpsr660ajncig3hyc6q9dvnx645ajrjfz3r7487i9";
+      sha256 = "1zcwrlg4in3gzvsiynpzp9fzlr5grrhc2881xcgfs01ppmxysllm";
       type = "gem";
     };
-    version = "1.761.0";
+    version = "1.877.0";
   };
   aws-sdk-cloudformation = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -411,10 +411,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19nglxz49nlzgsvnivb3bdm17vxjn1ng2br8659xv48nzjrmyid3";
+      sha256 = "0z9f8ypvpwj3sfqh3nlnhrq7ryhrv7isqzg370fba27zpy7bv5sx";
       type = "gem";
     };
-    version = "3.190.0";
+    version = "3.190.2";
   };
   aws-sdk-kms = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -422,10 +422,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bcm0c9f7xy5qj5f0z3gddqslhb2vzrj9smc39pgqyq4jmn5kpj0";
+      sha256 = "0jfgw9a9c8xyjhkmgpd9rpi95h9i0rhbqszn8iqkbfm9rc9m1xz7";
       type = "gem";
     };
-    version = "1.64.0";
+    version = "1.76.0";
   };
   aws-sdk-s3 = {
     dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
@@ -433,10 +433,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bnhpmi0iiaj88rqc5lhhnp2gyrk4fs8xz51lj36wwzng94qinya";
+      sha256 = "1sfpipfdmixpc0madfx1yvpwpv52fdhxfx4bmvrjxzb6ra78ikbr";
       type = "gem";
     };
-    version = "1.141.0";
+    version = "1.142.0";
   };
   aws-sigv4 = {
     dependencies = ["aws-eventstream"];
@@ -455,10 +455,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qkcia7yg50j0ycmzqnl2dzzz9a35wlg5fk30g0qs41z6p1xw38v";
+      sha256 = "0bx67lskxslfd2mpim3kqrxa4sx4qhvnpjpr57j1ll2xppyl9kw8";
       type = "gem";
     };
-    version = "4.6.0";
+    version = "4.8.0";
   };
   axe-core-rspec = {
     dependencies = ["axe-core-api" "dumb_delegator" "virtus"];
@@ -466,10 +466,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zvlrnxcyam2574gzn44r0ibz4h0s9j3vrp5lixi731qvp4mphhi";
+      sha256 = "07niarqd2lrbgnw00biyigc48lbdv4vy68p57myliz7k82nizidj";
       type = "gem";
     };
-    version = "4.6.0";
+    version = "4.8.0";
   };
   axiom-types = {
     dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
@@ -653,10 +653,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iqkzby0fdgi786m873nm0ckmc847wy9a4ydinb29m7hd3fs83kb";
+      sha256 = "028qif22isxa5sg5gf1322d0qjhir5rr0jpkaiwcic4lspacdcnv";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "1.17.1";
   };
   browser = {
     groups = ["default"];
@@ -1391,10 +1391,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01gks2hrp7nl3pzb487azvd25dlbrc40d5cpk4n0szwnf2c0k4ks";
+      sha256 = "03a5qn74c4lk2rpy6wlhv66synjlyzc4wn086xzphkpmw12l4bzk";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.0.1";
   };
   dry-inflector = {
     groups = ["default" "development" "test"];
@@ -1674,10 +1674,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04vxmjr200akcil9fqxc9ghbb9q0lyrh2q03xxncycd5vln910fi";
+      sha256 = "1glq677vmd3xrdilcx6ar8sdaysm9ldrppg34yzw43jzr6dx47fp";
       type = "gem";
     };
-    version = "6.2.0";
+    version = "6.4.5";
   };
   factory_bot_rails = {
     dependencies = ["factory_bot" "railties"];
@@ -1685,10 +1685,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18fhcihkc074gk62iwqgbdgc3ymim4fm0b4p3ipffy5hcsb9d2r7";
+      sha256 = "1j6w4rr2cb5wng9yrn2ya9k40q52m0pbz47kzw8xrwqg3jncwwza";
       type = "gem";
     };
-    version = "6.2.0";
+    version = "6.4.3";
   };
   faraday = {
     dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
@@ -1897,16 +1897,6 @@ src:
     };
     version = "2.6.0";
   };
-  filelock = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "085vrb6wf243iqqnrrccwhjd4chphfdsybkvjbapa2ipfj1ja1sj";
-      type = "gem";
-    };
-    version = "1.1.1";
-  };
   find_a_port = {
     groups = ["default" "development" "test"];
     platforms = [];
@@ -2220,8 +2210,19 @@ src:
     };
     version = "1.8.0";
   };
+  gitlab-glfm-markdown = {
+    dependencies = ["rb_sys"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0z0h4bvfvlwyfx8ia03lr9dlpy38n75v2wxh424v6fhy4z08ycab";
+      type = "gem";
+    };
+    version = "0.0.11";
+  };
   gitlab-housekeeper = {
-    dependencies = ["httparty" "rubocop"];
+    dependencies = ["activesupport" "httparty" "rubocop"];
     groups = ["development" "test"];
     platforms = [];
     source = {
@@ -2231,7 +2232,7 @@ src:
     version = "0.1.0";
   };
   gitlab-http = {
-    dependencies = ["activesupport" "concurrent-ruby" "httparty" "ipaddress" "nokogiri" "railties"];
+    dependencies = ["activesupport" "concurrent-ruby" "httparty" "ipaddress" "railties"];
     groups = ["default"];
     platforms = [];
     source = {
@@ -2246,10 +2247,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1k9yd8b1xbq3l6l1n4pb0mh2wklz0ninr7h2l5xx031r05150p6a";
+      sha256 = "0ya6r3ij0fzz6p50h157bn224n7405nwak6lx80ppvil9sm0dzr6";
       type = "gem";
     };
-    version = "0.34.0";
+    version = "0.35.0";
   };
   gitlab-license = {
     groups = ["default"];
@@ -2313,7 +2314,7 @@ src:
     version = "0.1.0";
   };
   gitlab-safe_request_store = {
-    dependencies = ["request_store"];
+    dependencies = ["rack" "request_store"];
     groups = ["default"];
     platforms = [];
     source = {
@@ -2344,7 +2345,7 @@ src:
     version = "0.2.3";
   };
   gitlab-secret_detection = {
-    dependencies = ["re2" "toml-rb"];
+    dependencies = ["parallel" "re2" "toml-rb"];
     groups = ["default"];
     platforms = [];
     source = {
@@ -2361,7 +2362,7 @@ src:
       path = "${src}/vendor/gems/sidekiq-reliable-fetch";
       type = "path";
     };
-    version = "0.10.0";
+    version = "0.11.0";
   };
   gitlab-styles = {
     dependencies = ["rubocop" "rubocop-graphql" "rubocop-performance" "rubocop-rails" "rubocop-rspec"];
@@ -2375,7 +2376,7 @@ src:
     version = "11.0.0";
   };
   gitlab-utils = {
-    dependencies = ["actionview" "activesupport" "addressable" "nokogiri" "rake"];
+    dependencies = ["actionview" "activesupport" "addressable" "rake"];
     groups = ["monorepo"];
     platforms = [];
     source = {
@@ -2412,10 +2413,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18m35p6kizkaw829lwvh6mc7r8q94gmyhkq9qggx7r78h8iafiqd";
+      sha256 = "0anhwfn9dnd8zkjwkq3qycjswfxqksfnwvl7dr6azz2zvjnxnii1";
       type = "gem";
     };
-    version = "1.9.0";
+    version = "1.11.0";
   };
   globalid = {
     dependencies = ["activesupport"];
@@ -2663,10 +2664,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18yiqq657lbqbrbdfbxfspdrkiynd0wf49l3cgdw939z36cy0h77";
+      sha256 = "02sh4rp14wmpfv9r7xrap6xgcakg0lk6zjvq1gsi5y38swhn2blw";
       type = "gem";
     };
-    version = "3.25.1";
+    version = "3.25.2";
   };
   googleapis-common-protos = {
     dependencies = ["google-protobuf" "googleapis-common-protos-types" "grpc"];
@@ -2718,10 +2719,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dnbb3gxwbmvhzvzb22prwaim9wmvilm0nm91ndw2ggf324rsrvb";
+      sha256 = "0jj98w80ry1ir8lc3347130s0z8yd7gk727r9ynwwk782x6gkvrs";
       type = "gem";
     };
-    version = "1.7.1";
+    version = "2.0.0";
   };
   grape-entity = {
     dependencies = ["activesupport" "multi_json"];
@@ -2740,21 +2741,21 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ql1acy68n9xkvjzda1vpscf20zqqwjm959b7cx3w1yl40d2f9rf";
+      sha256 = "1mq2cwy0jvprq3wdilds1n865jdl58sqg00im4w6fybf5kjiclmd";
       type = "gem";
     };
-    version = "1.7.1";
+    version = "2.0.1";
   };
   grape-swagger = {
-    dependencies = ["grape"];
+    dependencies = ["grape" "rack-test"];
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17y6smk7shplblgic4jvi5njhd0x91n1xrvds3l6cjsjfs2d7lhg";
+      sha256 = "1467ni6f0yy4z3qldjs8x0h50n9ym6zyjbx5gqqzbq6zhvgbx40g";
       type = "gem";
     };
-    version = "1.6.1";
+    version = "2.0.1";
   };
   grape-swagger-entity = {
     dependencies = ["grape-entity" "grape-swagger"];
@@ -2913,10 +2914,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1shlh68vjqyj092ig2b571anbr5npg8kp66a7cq5h9a1387nnckn";
+      sha256 = "060vz5dx0ag3ggpwhwfcadfim0g8aabl0b1dvnzagizymfsw2g92";
       type = "gem";
     };
-    version = "0.52.0";
+    version = "0.53.0";
   };
   hamlit = {
     dependencies = ["temple" "thor" "tilt"];
@@ -4040,10 +4041,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v";
+      sha256 = "0xkjz56qc7hl7zy7i7bhiyw5pl85wwjsa4p70rj6s958xj2sd1lm";
       type = "gem";
     };
-    version = "2.5.8";
+    version = "2.7.0";
   };
   no_proxy_fix = {
     groups = ["default" "development"];
@@ -4061,10 +4062,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "004ip9x9281fxhpipwi8di1sb1dnabscq9dy1p3cxgdwbniqqi12";
+      sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl";
       type = "gem";
     };
-    version = "1.15.5";
+    version = "1.16.0";
   };
   notiffany = {
     dependencies = ["nenv" "shellany"];
@@ -4466,21 +4467,21 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ldi3j95dh3c29w4bliykfdd08r95d4zvbdblk385w9b4knr2afc";
+      sha256 = "1a3fbwzzzdsbzipv63mcq1q761mqc6w8k1vxkbrbf3aqi2489p8b";
       type = "gem";
     };
-    version = "1.63.0";
+    version = "1.64.0";
   };
   pact-mock_service = {
-    dependencies = ["filelock" "find_a_port" "json" "pact-support" "rack" "rspec" "term-ansicolor" "thor" "webrick"];
+    dependencies = ["find_a_port" "json" "pact-support" "rack" "rspec" "thor" "webrick"];
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09syv4y0g0pvjshxj8i0yg7mrvszgp503is1b78k86bgv6wc73l9";
+      sha256 = "0lds3xpkrx91lm74pa3n5167c8mkmqyki9axj7bjj0m18r2ybna2";
       type = "gem";
     };
-    version = "3.10.0";
+    version = "3.11.2";
   };
   pact-support = {
     dependencies = ["awesome_print" "diff-lcs" "expgen" "rainbow"];
@@ -4488,10 +4489,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xh4idg0m1mr0pkywj5f79nlr4g6n4waism86gj34h8wicf9c9aa";
+      sha256 = "0waq8ywxhljm5sjk7m3q7f6s2pvcfshg3ncs9dl7kcsg2ail7hs1";
       type = "gem";
     };
-    version = "1.18.1";
+    version = "1.20.0";
   };
   parallel = {
     groups = ["development" "test"];
@@ -4509,10 +4510,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0r69dbh6h6j4d54isany2ir4ni4gf2ysvk3k44awi6amz18nggpd";
+      sha256 = "181faqz59p2mbfab5q4l1r298pq0nxl0k85rjcb58g0lardmv321";
       type = "gem";
     };
-    version = "3.2.2.4";
+    version = "3.3.0.2";
   };
   parslet = {
     groups = ["default" "development" "test"];
@@ -4625,10 +4626,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "172qxf1zyrhxzwbn4c7gz12zdyb1jkdqrqvb2c7863lmxp53rrxs";
+      sha256 = "0qiv9irrca2la1awqgvzsg7a17z2nydqyq43w4fhapdkq2l7xwa7";
       type = "gem";
     };
-    version = "0.18.0";
+    version = "0.19.0";
   };
   proc_to_ast = {
     dependencies = ["coderay" "parser" "unparser"];
@@ -4647,10 +4648,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xfy4g3bwgqb1hn948aw3zfwxvak3886gxdyf0cnajzjfp9z33pq";
+      sha256 = "19mi424kwalrzdm7cvzjx2w0rw778mxqb75y9wn20nc277nxglvb";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.1.0";
   };
   protocol = {
     dependencies = ["ruby_parser"];
@@ -4834,6 +4835,17 @@ src:
     };
     version = "0.7.7";
   };
+  rack-session = {
+    dependencies = ["rack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xhxhlsz6shh8nm44jsmd9276zcnyzii364vhcvf0k8b8bjia8d0";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
   rack-test = {
     dependencies = ["rack"];
     groups = ["default" "development" "test"];
@@ -4889,15 +4901,15 @@ src:
     version = "2.0.3";
   };
   rails-html-sanitizer = {
-    dependencies = ["loofah"];
-    groups = ["default" "development" "test"];
+    dependencies = ["loofah" "nokogiri"];
+    groups = ["default" "development" "monorepo" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ygav4xyq943qqyhjmi3mzirn180j565mc9h5j4css59x1sn0cmz";
+      sha256 = "1pm4z853nyz1bhhqr7fzl44alnx4bjachcr6rh6qjj375sfz3sc6";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.6.0";
   };
   rails-i18n = {
     dependencies = ["i18n" "railties"];
@@ -4967,10 +4979,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pj5qq4phswviw9vybvz4ql5921ddxkkmn9iywm992x0kbvhvn0f";
+      sha256 = "131sa2jvc7b1yld3nzc0xq7lvwvql7b8c09i0xv2brzjybammlv5";
       type = "gem";
     };
-    version = "0.9.83";
+    version = "0.9.86";
   };
   rbtrace = {
     dependencies = ["ffi" "msgpack" "optimist"];
@@ -5009,10 +5021,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ih6igmfcb4b9a8hd46ggn85zfyclz9h828d0xafy2pq5qlz9fs2";
+      sha256 = "0sj80r3gy4sb27mrgc6pwcf2lra669p8p81axdv2p5pfm6k3mqbq";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "2.6.0";
   };
   recaptcha = {
     dependencies = ["json"];
@@ -5071,10 +5083,21 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h4iq67p5jjkg9kny7ki6yzkivyakmhbp6ckkhl6mlnriw5avc9z";
+      sha256 = "0h1mx8shrzpcj27k9kw77f4cq7i217vxfd1ksqb4g485md4zc37i";
       type = "gem";
     };
-    version = "5.3.0";
+    version = "5.4.0";
+  };
+  redis-client = {
+    dependencies = ["connection_pool"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0k9jaqsdc2s2qm713pdv19dawk1b11vxnfclsps7ra2szwisznbf";
+      type = "gem";
+    };
+    version = "0.19.0";
   };
   redis-namespace = {
     dependencies = ["redis"];
@@ -5088,15 +5111,15 @@ src:
     version = "1.10.0";
   };
   redis-rack = {
-    dependencies = ["rack" "redis-store"];
+    dependencies = ["rack-session" "redis-store"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k3pn706wnf7lb24l6hwsi00c8rx693hvgfnccw3qj1y635ywwh8";
+      sha256 = "10438w0y1jbgr205zndvmz6md0mrqazh2j9fr88lvb8hms10pddb";
       type = "gem";
     };
-    version = "2.1.4";
+    version = "3.0.0";
   };
   redis-store = {
     dependencies = ["redis"];
@@ -5104,10 +5127,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0787fwmlvpx5k360dxlcs8r7vijgl2iyvh3zyvl7qyvgshw78k3v";
+      sha256 = "17mhr1g3lmacrgjndbmrklngy32g55165n53111q70kykx7qjn7j";
       type = "gem";
     };
-    version = "1.9.1";
+    version = "1.10.0";
   };
   regexp_parser = {
     groups = ["default" "development" "test"];
@@ -5502,10 +5525,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zsd9ax4xzk8y1hflzbmfq1l0fpflwqhrggd8x2f4j9ap6z464lg";
+      sha256 = "1g1vdas991rv6lrjppjxjbfyzif4jxbncrcg9shgzrmibzilbnwr";
       type = "gem";
     };
-    version = "0.13.1";
+    version = "0.13.2";
   };
   ruby-lsp-rails = {
     dependencies = ["actionpack" "activerecord" "railties" "ruby-lsp" "sorbet-runtime"];
@@ -5837,15 +5860,15 @@ src:
     version = "5.1.0";
   };
   sidekiq = {
-    dependencies = ["connection_pool" "rack" "redis"];
+    dependencies = ["concurrent-ruby" "connection_pool" "rack" "redis-client"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zqr9is8y7mg5dfs1q8w5jl9spwvqkhbi9r6np8208n40hi3pydl";
+      sha256 = "18j3g31ps6ga9nzza0z0d00qjrn810fhkhx2pqi3rvxwsmkdlnbq";
       type = "gem";
     };
-    version = "6.5.12";
+    version = "7.1.6";
   };
   sidekiq-cron = {
     dependencies = ["fugit" "globalid" "sidekiq"];
@@ -6670,10 +6693,10 @@ src:
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fa49cdssxllj1j37a56kq27wsibx5lmqxkqdk1rz3452y0bsydy";
+      sha256 = "094gk72ckazf495qc76gk09b5i318d5l9m7bicg2wxlrjcm3qm96";
       type = "gem";
     };
-    version = "0.12.2";
+    version = "0.13.0";
   };
   uri_template = {
     groups = ["default"];
diff --git a/pkgs/applications/version-management/gitstatus/romkatv_libgit2.nix b/pkgs/applications/version-management/gitstatus/romkatv_libgit2.nix
index 73d35b1bd9b2..1caea82b048f 100644
--- a/pkgs/applications/version-management/gitstatus/romkatv_libgit2.nix
+++ b/pkgs/applications/version-management/gitstatus/romkatv_libgit2.nix
@@ -17,8 +17,8 @@ libgit2.overrideAttrs (oldAttrs: {
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "libgit2";
-    rev = "tag-0ad3d776aa86dd607dc86dcd7f77ad3ed7ebec61";
-    sha256 = "sha256-mXCmspM3fqI14DF9sAIMH5vGdMMjWkdDjdME4EiQuqY=";
+    rev = "tag-2ecf33948a4df9ef45a66c68b8ef24a5e60eaac6";
+    hash = "sha256-Bm3Gj9+AhNQMvkIqdrTkK5D9vrZ1qq6CS8Wrn9kfKiw=";
   };
 
   patches = [ ];
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 07cc4e7b8f58..058d01233889 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -62,7 +62,7 @@ let
       cp contrib/hgk $out/bin
       cat >> $out/etc/mercurial/hgrc << EOF
       [extensions]
-      hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
+      hgk=$out/${python.sitePackages}/hgext/hgk.py
       EOF
       # setting HG so that hgk can be run itself as well (not only hg view)
       WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
diff --git a/pkgs/applications/version-management/pass-git-helper/default.nix b/pkgs/applications/version-management/pass-git-helper/default.nix
index cc34a67c04b5..62e9a12a49df 100644
--- a/pkgs/applications/version-management/pass-git-helper/default.nix
+++ b/pkgs/applications/version-management/pass-git-helper/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname   = "pass-git-helper";
-  version = "1.2.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner  = "languitar";
     repo   = "pass-git-helper";
-    rev    = "v${version}";
-    sha256 = "sha256-An9JKnS/Uor7iZ+lbBGR3eOkxOgV+SjnCWN/QmqFI/I=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-wkayj7SvT3SOM+rol17+8LQJR/YXSC6I+iKbHRUbdZc=";
   };
 
   propagatedBuildInputs = [ pyxdg ];
diff --git a/pkgs/applications/version-management/silver-platter/default.nix b/pkgs/applications/version-management/silver-platter/default.nix
index 1e5720f0d0ab..f1653cf10389 100644
--- a/pkgs/applications/version-management/silver-platter/default.nix
+++ b/pkgs/applications/version-management/silver-platter/default.nix
@@ -1,6 +1,8 @@
 { buildPythonApplication
 , lib
+, stdenv
 , fetchFromGitHub
+, pkg-config
 , setuptools
 , setuptools-rust
 , rustPlatform
@@ -9,30 +11,37 @@
 , breezy
 , dulwich
 , jinja2
+, libiconv
+, openssl
 , pyyaml
 , ruamel-yaml
 }:
 
 buildPythonApplication rec {
   pname = "silver-platter";
-  version = "0.5.12";
+  version = "0.5.20";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "jelmer";
     repo = "silver-platter";
     rev = version;
-    hash = "sha256-QkTT9UcJuGDAwpp/CtXobPvfTYQzFakBR72MhF//Bpo=";
+    hash = "sha256-k+C4jrC4FO/yy9Eb6x4lv1zyyp/eGkpMcDqZ0KoxfBs=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-QLnKu9D23FVp1jCSuxN3odPZ1ToAZ6i/FNS8BkmNuQw=";
+    hash = "sha256-+EUj6iBnHF4zlOAAfaHy5V/z6CCD/LFksBClE4FaHHc=";
   };
 
   propagatedBuildInputs = [ setuptools breezy dulwich jinja2 pyyaml ruamel-yaml ];
-  nativeBuildInputs = [ setuptools-rust rustPlatform.cargoSetupHook cargo rustc ];
+  nativeBuildInputs = [ setuptools-rust rustPlatform.cargoSetupHook cargo rustc ]
+    ++ lib.optionals stdenv.isLinux [ pkg-config ];
+  buildInputs = lib.optionals stdenv.isLinux [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ libiconv ];
+
+  pythonImportsCheck = [ "silver_platter" ];
 
   meta = with lib; {
     description = "Automate the creation of merge proposals for scriptable changes";
diff --git a/pkgs/applications/video/kodi/addons/netflix/default.nix b/pkgs/applications/video/kodi/addons/netflix/default.nix
index ce66665ee73b..2bff3b6d19b3 100644
--- a/pkgs/applications/video/kodi/addons/netflix/default.nix
+++ b/pkgs/applications/video/kodi/addons/netflix/default.nix
@@ -3,13 +3,13 @@
 buildKodiAddon rec {
   pname = "netflix";
   namespace = "plugin.video.netflix";
-  version = "1.23.1";
+  version = "1.23.2";
 
   src = fetchFromGitHub {
     owner = "CastagnaIT";
     repo = namespace;
     rev = "v${version}";
-    sha256 = "sha256-ZY59I3RR/gl24XqZiBkenHM/D4tW/5ZyE4UngtvODYQ=";
+    hash = "sha256-/wHKwFZbuxK0iwlqvZpyfi0lnRkjm/HSn221IgCN7VQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/memento/default.nix b/pkgs/applications/video/memento/default.nix
index f09b3a79794d..cee74556eaab 100644
--- a/pkgs/applications/video/memento/default.nix
+++ b/pkgs/applications/video/memento/default.nix
@@ -22,13 +22,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "memento";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "ripose-jp";
     repo = "Memento";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-DUAr+twlIzyi+PnQYsTz9j9KcbzI0GhtC+f4nTekhs0=";
+    hash = "sha256-55VvT7pHN0/HqxM4vMDQDgUwkVmO/8aOEOye8jcFzgI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix b/pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix
index a4c30919f888..c1f2073ae6e1 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-composite-blur.nix
@@ -24,6 +24,13 @@ stdenv.mkDerivation rec {
     cmake
   ];
 
+  postInstall = ''
+    rm -rf "$out/share"
+    mkdir -p "$out/share/obs"
+    mv "$out/data/obs-plugins" "$out/share/obs"
+    rm -rf "$out/obs-plugins" "$out/data"
+  '';
+
   meta = with lib; {
     description = "A comprehensive blur plugin for OBS that provides several different blur algorithms, and proper compositing";
     homepage = "https://github.com/FiniteSingularity/obs-composite-blur";
diff --git a/pkgs/applications/video/pipe-viewer/default.nix b/pkgs/applications/video/pipe-viewer/default.nix
index adf5fcb50487..536b904fd858 100644
--- a/pkgs/applications/video/pipe-viewer/default.nix
+++ b/pkgs/applications/video/pipe-viewer/default.nix
@@ -38,13 +38,13 @@ let
 in
 buildPerlModule rec {
   pname = "pipe-viewer";
-  version = "0.4.8";
+  version = "0.4.9";
 
   src = fetchFromGitHub {
     owner = "trizen";
     repo = "pipe-viewer";
     rev = version;
-    hash = "sha256-bFbriqpy+Jjwv/s4PZmLdL3hFtM8gfIn+yJjk3fCsnQ=";
+    hash = "sha256-7l8exCC9robe1hKnQAaIVfnn8L+FuwTOkxaxlwJmpe0=";
   };
 
   nativeBuildInputs = [ makeWrapper ]
diff --git a/pkgs/applications/video/vdr/default.nix b/pkgs/applications/video/vdr/default.nix
index 2df646d7578a..c5159fdd61f0 100644
--- a/pkgs/applications/video/vdr/default.nix
+++ b/pkgs/applications/video/vdr/default.nix
@@ -5,12 +5,12 @@
 }: stdenv.mkDerivation rec {
 
   pname = "vdr";
-  version = "2.6.5";
+  version = "2.6.6";
 
   src = fetchgit {
     url = "git://git.tvdr.de/vdr.git";
     rev = version;
-    hash = "sha256-CKgo1Saj6EkSRNoIh16wzGHmToIMADZtjd8VQ+c1nus=";
+    hash = "sha256-3om/Q67PHtX/aIG4zMCaJTyD9bZNEcyE5LQTeb+zB+M=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/video/vdr/markad/default.nix b/pkgs/applications/video/vdr/markad/default.nix
index a8ad7c6f3728..c0672821558b 100644
--- a/pkgs/applications/video/vdr/markad/default.nix
+++ b/pkgs/applications/video/vdr/markad/default.nix
@@ -19,12 +19,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "vdr-markad";
-  version = "3.4.5";
+  version = "3.4.6";
 
   src = fetchFromGitHub {
     repo = "vdr-plugin-markad";
     owner = "kfb77";
-    sha256 = "sha256-qg3Y449n0xPMQSEn8QwvFC1FA8/MfhY0KPHPHGbApbA=";
+    sha256 = "sha256-fixkalZAPz0iO1SmshsO0vYc2sksH2lrStsSOEcdZ1g=";
     rev = "V${version}";
   };
 
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 09e50b4fb9eb..9c194c45b991 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.7.12";
+  version = "1.7.13";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    hash = "sha256-o3ZqSE7ahUAihY/tqXdNgKzs64h0DBxrZaxjSF9smcs=";
+    hash = "sha256-y3CYDZbA2QjIn1vyq/p1F1pAVxQHi/0a6hGWZCRWzyk=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
index 1cd8b02bacf7..edf4f1f60d4a 100644
--- a/pkgs/applications/virtualization/cri-o/default.nix
+++ b/pkgs/applications/virtualization/cri-o/default.nix
@@ -15,13 +15,13 @@
 
 buildGoModule rec {
   pname = "cri-o";
-  version = "1.29.0";
+  version = "1.29.1";
 
   src = fetchFromGitHub {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    sha256 = "sha256-Vy/sW8Y9SFSBaoectehF7ROxuypD7k7tAkcfrEK+pmI=";
+    sha256 = "sha256-RL4JkEJMVduG06udIVlVdr+bj9wIGbun3rpeTCUehhk=";
   };
   vendorHash = null;
 
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index 81d25a84d2c8..8f4fb0311464 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -39,13 +39,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "1.13";
+  version = "1.14";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    hash = "sha256-doGZ1rHHXDRClrTEXYJcU6AqlBTanpNpV6EIbxQgcXY=";
+    hash = "sha256-ElmdYJ4X5C+2BKWgUoL7bg/whvAg2CFBDFAGnJXscB4=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/virtualization/distrobox/always-mount-nix.patch b/pkgs/applications/virtualization/distrobox/always-mount-nix.patch
new file mode 100644
index 000000000000..c5df13294e92
--- /dev/null
+++ b/pkgs/applications/virtualization/distrobox/always-mount-nix.patch
@@ -0,0 +1,137 @@
+diff --git a/distrobox-create b/distrobox-create
+index 64e9911..136659d 100755
+--- a/distrobox-create
++++ b/distrobox-create
+@@ -74,6 +74,10 @@ unshare_ipc=0
+ unshare_netns=0
+ unshare_process=0
+ unshare_devsys=0
++
++self_dir="$(dirname "$(realpath "$0")")"
++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
++
+ # Use cd + dirname + pwd so that we do not have relative paths in mount points
+ # We're not using "realpath" here so that symlinks are not resolved this way
+ # "realpath" would break situations like Nix or similar symlink based package
+@@ -98,6 +102,7 @@ version="1.6.0.1"
+ # priority over system defaults
+ # leave priority to environment variables.
+ config_files="
++	$nix_config_file
+ 	/usr/share/distrobox/distrobox.conf
+ 	/usr/share/defaults/distrobox/distrobox.conf
+ 	/usr/etc/distrobox/distrobox.conf
+diff --git a/distrobox-enter b/distrobox-enter
+index 6d8998a..bb05437 100755
+--- a/distrobox-enter
++++ b/distrobox-enter
+@@ -75,10 +75,14 @@ skip_workdir=0
+ verbose=0
+ version="1.6.0.1"
+ 
++self_dir="$(dirname "$(realpath "$0")")"
++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
++
+ # Source configuration files, this is done in an hierarchy so local files have
+ # priority over system defaults
+ # leave priority to environment variables.
+ config_files="
++	$nix_config_file
+ 	/usr/share/distrobox/distrobox.conf
+ 	/usr/share/defaults/distrobox/distrobox.conf
+ 	/usr/etc/distrobox/distrobox.conf
+diff --git a/distrobox-generate-entry b/distrobox-generate-entry
+index 3243691..6a7910a 100755
+--- a/distrobox-generate-entry
++++ b/distrobox-generate-entry
+@@ -45,10 +45,14 @@ icon_default="${HOME}/.local/share/icons/terminal-distrobox-icon.svg"
+ verbose=0
+ version="1.6.0.1"
+ 
++self_dir="$(dirname "$(realpath "$0")")"
++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
++
+ # Source configuration files, this is done in an hierarchy so local files have
+ # priority over system defaults
+ # leave priority to environment variables.
+ config_files="
++	$nix_config_file
+ 	/usr/share/distrobox/distrobox.conf
+ 	/usr/share/defaults/distrobox/distrobox.conf
+ 	/usr/etc/distrobox/distrobox.conf
+diff --git a/distrobox-list b/distrobox-list
+index aaec85e..235e529 100755
+--- a/distrobox-list
++++ b/distrobox-list
+@@ -44,10 +44,14 @@ verbose=0
+ version="1.6.0.1"
+ container_manager="autodetect"
+ 
++self_dir="$(dirname "$(realpath "$0")")"
++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
++
+ # Source configuration files, this is done in an hierarchy so local files have
+ # priority over system defaults
+ # leave priority to environment variables.
+ config_files="
++	$nix_config_file
+ 	/usr/share/distrobox/distrobox.conf
+ 	/usr/share/defaults/distrobox/distrobox.conf
+ 	/usr/etc/distrobox/distrobox.conf
+diff --git a/distrobox-rm b/distrobox-rm
+index 702c1dd..2e37538 100755
+--- a/distrobox-rm
++++ b/distrobox-rm
+@@ -54,10 +54,14 @@ rm_home=0
+ response_rm_home="N"
+ version="1.6.0.1"
+ 
++self_dir="$(dirname "$(realpath "$0")")"
++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
++
+ # Source configuration files, this is done in an hierarchy so local files have
+ # priority over system defaults
+ # leave priority to environment variables.
+ config_files="
++	$nix_config_file
+ 	/usr/share/distrobox/distrobox.conf
+ 	/usr/share/defaults/distrobox/distrobox.conf
+ 	/usr/etc/distrobox/distrobox.conf
+diff --git a/distrobox-stop b/distrobox-stop
+index fd17cc1..e0dbc8f 100755
+--- a/distrobox-stop
++++ b/distrobox-stop
+@@ -52,10 +52,14 @@ non_interactive=0
+ verbose=0
+ version="1.6.0.1"
+ 
++self_dir="$(dirname "$(realpath "$0")")"
++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
++
+ # Source configuration files, this is done in an hierarchy so local files have
+ # priority over system defaults
+ # leave priority to environment variables.
+ config_files="
++	$nix_config_file
+ 	/usr/share/distrobox/distrobox.conf
+ 	/usr/share/defaults/distrobox/distrobox.conf
+ 	/usr/etc/distrobox/distrobox.conf
+diff --git a/distrobox-upgrade b/distrobox-upgrade
+index ab5e96f..dc8d295 100755
+--- a/distrobox-upgrade
++++ b/distrobox-upgrade
+@@ -39,10 +39,14 @@ rootful=0
+ verbose=0
+ version="1.6.0.1"
+ 
++self_dir="$(dirname "$(realpath "$0")")"
++nix_config_file="$(realpath "${self_dir}/../share/distrobox/distrobox.conf")"
++
+ # Source configuration files, this is done in an hierarchy so local files have
+ # priority over system defaults
+ # leave priority to environment variables.
+ config_files="
++	$nix_config_file
+ 	/usr/share/distrobox/distrobox.conf
+ 	/usr/share/defaults/distrobox/distrobox.conf
+ 	/usr/etc/distrobox/distrobox.conf
diff --git a/pkgs/applications/virtualization/distrobox/default.nix b/pkgs/applications/virtualization/distrobox/default.nix
index 163910237a37..912117a016ed 100644
--- a/pkgs/applications/virtualization/distrobox/default.nix
+++ b/pkgs/applications/virtualization/distrobox/default.nix
@@ -2,19 +2,23 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "distrobox";
-  version = "1.5.0.2";
+  version = "1.6.0.1";
 
   src = fetchFromGitHub {
     owner = "89luca89";
-    repo = finalAttrs.pname;
+    repo = "distrobox";
     rev = finalAttrs.version;
-    hash = "sha256-ss8049D6n1V/gDzEMjywDnoke5s2we9j3mO8yta72UA=";
+    hash = "sha256-UWrXpb20IHcwadPpwbhSjvOP1MBXic5ay+nP+OEVQE4=";
   };
 
   dontConfigure = true;
   dontBuild = true;
 
   nativeBuildInputs = [ makeWrapper ];
+
+  # https://github.com/89luca89/distrobox/pull/1080
+  patches = [ ./always-mount-nix.patch ];
+
   installPhase = ''
     runHook preInstall
 
@@ -30,6 +34,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   postFixup = ''
     wrapProgram "$out/bin/distrobox-generate-entry" \
       --prefix PATH ":" ${lib.makeBinPath [ wget ]}
+
+    mkdir -p $out/share/distrobox
+    echo 'container_additional_volumes="/nix:/nix"' > $out/share/distrobox/distrobox.conf
   '';
 
   meta = with lib; {
@@ -39,7 +46,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
       forward compatibility with software and freedom to use whatever distribution
       you’re more comfortable with
     '';
-    homepage = "https://distrobox.privatedns.org/";
+    homepage = "https://distrobox.it/";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
     maintainers = with maintainers; [ atila ];
diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix
index aadc42643577..f6f2e5f5a843 100644
--- a/pkgs/applications/virtualization/docker/compose.nix
+++ b/pkgs/applications/virtualization/docker/compose.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "docker-compose";
-  version = "2.24.0";
+  version = "2.24.5";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    hash = "sha256-6wa4kIl65z3kk+wzDX+WhS50J+e0AZ+W8A++bdnRc2M=";
+    hash = "sha256-mn6HkGLQM5kx6yzV4IK+GTV6pCoIm1CNjQ8AZLv3sMw=";
   };
 
   postPatch = ''
@@ -16,7 +16,7 @@ buildGoModule rec {
     rm -rf e2e/
   '';
 
-  vendorHash = "sha256-03jlomVb3jS+SkmIxRtPsaMx2VKLYX/Lp9JH/mlJvK4=";
+  vendorHash = "sha256-KR+4OZKabshnGpkPq8vtEutvQUE+3jVwAlfAwFVlscU=";
 
   ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index a8c7d77da670..561066bfa12a 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -106,6 +106,17 @@ rec {
           url = "https://github.com/moby/moby/pull/43136.patch";
           hash = "sha256-1WZfpVnnqFwLMYqaHLploOodls0gHF8OCp7MrM26iX8=";
         })
+      ] ++ lib.optionals (lib.versions.major version == "24") [
+        # docker_24 has LimitNOFILE set to "infinity", which causes a wide variety of issues in containers.
+        # Issues range from higher-than-usual ressource usage, to containers not starting at all.
+        # This patch (part of the release candidates for docker_25) simply removes this unit option
+        # making systemd use its default "1024:524288", which is sane. See commit message and/or the PR for
+        # more details: https://github.com/moby/moby/pull/45534
+        (fetchpatch {
+          name = "LimitNOFILE-systemd-default.patch";
+          url = "https://github.com/moby/moby/pull/45534/commits/c8930105bc9fc3c1a8a90886c23535cc6c41e130.patch";
+          hash = "sha256-nyGLxFrJaD0TrDqsAwOD6Iph0aHcFH9sABj1Fy74sec=";
+        })
       ];
 
       postPatch = ''
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 3debac4c6fb4..f241a553f864 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -55,11 +55,11 @@ stdenv.mkDerivation (finalAttrs: {
     + lib.optionalString hostCpuOnly "-host-cpu-only"
     + lib.optionalString nixosTestRunner "-for-vm-tests"
     + lib.optionalString toolsOnly "-utils";
-  version = "8.2.0";
+  version = "8.2.1";
 
   src = fetchurl {
     url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz";
-    hash = "sha256-vwDS+hIBDfiwrekzcd71jmMssypr/cX1oP+Oah+xvzI=";
+    hash = "sha256-hWJ1EVgXX50YfF8itXVVq+PIcPAyXIztEsNMbZh3Kb4=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ]
@@ -135,11 +135,6 @@ stdenv.mkDerivation (finalAttrs: {
       sha256 = "sha256-oC+bRjEHixv1QEFO9XAm4HHOwoiT+NkhknKGPydnZ5E=";
       revert = true;
     })
-    # Fix display issues when using virtio-gpu on 8.2.0 https://gitlab.com/qemu-project/qemu/-/issues/2051
-    (fetchpatch {
-      url = "https://gitlab.com/qemu-project/qemu/-/commit/9d5b42beb6978dc6219d5dc029c9d453c6b8d503.diff";
-      sha256 = "sha256-NknkH/gFTsMcdq8/ArwM4+qrpU+ZHd+xVMFUuMJTtf0=";
-    })
   ]
   ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch;
 
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index 38ec1e6244da..71ff22032cb5 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "runc";
-  version = "1.1.11";
+  version = "1.1.12";
 
   src = fetchFromGitHub {
     owner = "opencontainers";
     repo = "runc";
     rev = "v${version}";
-    hash = "sha256-3LZWidINg15Aqoswml/BY7ZmLvz0XsbtYV5Cx8h5lpM=";
+    hash = "sha256-N77CU5XiGYIdwQNPFyluXjseTeaYuNJ//OsEUS0g/v0=";
   };
 
   vendorHash = null;
diff --git a/pkgs/applications/virtualization/singularity/packages.nix b/pkgs/applications/virtualization/singularity/packages.nix
index 50a8fc103ad1..3e0c6975c5ed 100644
--- a/pkgs/applications/virtualization/singularity/packages.nix
+++ b/pkgs/applications/virtualization/singularity/packages.nix
@@ -38,20 +38,20 @@ let
   singularity = callPackage
     (import ./generic.nix rec {
       pname = "singularity-ce";
-      version = "4.0.3";
+      version = "4.1.0";
       projectName = "singularity";
 
       src = fetchFromGitHub {
         owner = "sylabs";
         repo = "singularity";
         rev = "refs/tags/v${version}";
-        hash = "sha256-sT5nW/7xE2TT4TO9H7Y3CDf87LvwPbT1NjVQVK9yyVY=";
+        hash = "sha256-3l65rbMv+E/bqi2+zFbL2/94f/K6Ampo6p3gFL+0ZJk=";
       };
 
       # Update by running
       # nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules"
       # at the root directory of the Nixpkgs repository
-      vendorHash = "sha256-q7n1LymH5KGYHg73r30xryVWupzDheBp7Gpr3XZiZHI=";
+      vendorHash = "sha256-S4glteidPrC92z8zh0Uuciy0HhG9fx0kEAiNwB4F2vM=";
 
       # Do not build conmon and squashfuse from the Git submodule sources,
       # Use Nixpkgs provided version
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index f0bb04b8304f..3e0c24877fdf 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -23,6 +23,11 @@ python3.pkgs.buildPythonApplication rec {
       url = "https://github.com/virt-manager/virt-manager/commit/6e5c1db6b4a0af96afeb09a09fb2fc2b73308f01.patch";
       hash = "sha256-zivVo6nHvfB7aHadOouQZCBXn5rY12nxFjQ4FFwjgZI=";
     })
+    # fix test with libvirt 10
+    (fetchpatch {
+      url = "https://github.com/virt-manager/virt-manager/commit/83fcc5b2e8f2cede84564387756fe8971de72188.patch";
+      hash = "sha256-yEk+md5EkwYpP27u3E+oTJ8thgtH2Uy1x3JIWPBhqeE=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index 58d9edb269a4..1aca58af5c77 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -5,6 +5,7 @@
 , fetchpatch
 , gdbm
 , glib
+, gst_all_1
 , gsettings-desktop-schemas
 , gtk-vnc
 , gtk3
@@ -64,6 +65,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
     bash-completion
     glib
     gsettings-desktop-schemas
diff --git a/pkgs/applications/window-managers/evilwm/default.nix b/pkgs/applications/window-managers/evilwm/default.nix
index 0578be8ed6c7..a0dbb3660d31 100644
--- a/pkgs/applications/window-managers/evilwm/default.nix
+++ b/pkgs/applications/window-managers/evilwm/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evilwm";
-  version = "1.1.1";
+  version = "1.4.2";
 
   src = fetchurl {
     url = "http://www.6809.org.uk/evilwm/evilwm-${version}.tar.gz";
-    sha256 = "79589c296a5915ee0bae1d231e8912601fc794d9f0a9cacb6b648ff9a5f2602a";
+    sha256 = "sha256-QhLW2QywBbLMiIFLyFN3NrSVCrWCZLu2W4gHrGO9xLk=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/window-managers/miriway/default.nix b/pkgs/applications/window-managers/miriway/default.nix
index f22b2eaec0f4..89069c79250e 100644
--- a/pkgs/applications/window-managers/miriway/default.nix
+++ b/pkgs/applications/window-managers/miriway/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "miriway";
-  version = "unstable-2024-01-24";
+  version = "unstable-2024-01-26";
 
   src = fetchFromGitHub {
     owner = "Miriway";
     repo = "Miriway";
-    rev = "5202fc91363b63c467e0b0ac4dd4bbc17a00c8b4";
-    hash = "sha256-l4m+goZNqWwZo8LTS7vLxhAFfwk/C+8MPWNw5/TV9R8=";
+    rev = "d2c773d28adbbbc07bdbb3bb4ab74172fa231846";
+    hash = "sha256-eypHMFnnDOh87/VbZBunuLhfjilnJMNi+ZRvtWBmsyU=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/window-managers/picom/default.nix b/pkgs/applications/window-managers/picom/default.nix
index 27b54b23fa84..ade2c1e0ddfe 100644
--- a/pkgs/applications/window-managers/picom/default.nix
+++ b/pkgs/applications/window-managers/picom/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "picom";
-  version = "11";
+  version = "11.1";
 
   src = fetchFromGitHub {
     owner = "yshui";
     repo = "picom";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-KIblpEEW33ZxxTYuQ/lbUGEJcVdmSWdNOrVCvhOY/OU=";
+    hash = "sha256-vdR3HzBZxtth3zJD3vMSlrnBTbopidw7FGKOk69S0R0=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix
index 5b185b09a4c5..66027485ee71 100644
--- a/pkgs/build-support/bintools-wrapper/default.nix
+++ b/pkgs/build-support/bintools-wrapper/default.nix
@@ -321,7 +321,7 @@ stdenv.mkDerivation {
       hardening_unsupported_flags+=" pic"
     ''
 
-    + optionalString targetPlatform.isAvr ''
+    + optionalString (targetPlatform.isAvr || targetPlatform.isWindows) ''
       hardening_unsupported_flags+=" relro bindnow"
     ''
 
diff --git a/pkgs/build-support/fetchgithub/default.nix b/pkgs/build-support/fetchgithub/default.nix
index 37f7dcfa3006..4ce3c6e84d76 100644
--- a/pkgs/build-support/fetchgithub/default.nix
+++ b/pkgs/build-support/fetchgithub/default.nix
@@ -28,7 +28,11 @@ let
   useFetchGit = fetchSubmodules || (leaveDotGit == true) || deepClone || forceFetchGit || (sparseCheckout != []);
   # We prefer fetchzip in cases we don't need submodules as the hash
   # is more stable in that case.
-  fetcher = if useFetchGit then fetchgit else fetchzip.override { withUnzip = false; };
+  fetcher =
+    if useFetchGit then fetchgit
+    # fetchzip may not be overridable when using external tools, for example nix-prefetch
+    else if fetchzip ? override then fetchzip.override { withUnzip = false; }
+    else fetchzip;
   privateAttrs = lib.optionalAttrs private {
     netrcPhase = ''
       if [ -z "''$${varBase}USERNAME" -o -z "''$${varBase}PASSWORD" ]; then
diff --git a/pkgs/build-support/kernel/compress-firmware-xz.nix b/pkgs/build-support/kernel/compress-firmware-xz.nix
index a69b31bb3bd0..cb9ce7a71338 100644
--- a/pkgs/build-support/kernel/compress-firmware-xz.nix
+++ b/pkgs/build-support/kernel/compress-firmware-xz.nix
@@ -3,7 +3,9 @@
 firmware:
 
 let
-  args = lib.optionalAttrs (firmware ? meta) { inherit (firmware) meta; };
+  args = {
+    allowedRequisites = [];
+  } // lib.optionalAttrs (firmware ? meta) { inherit (firmware) meta; };
 in
 
 runCommand "${firmware.name}-xz" args ''
@@ -15,10 +17,13 @@ runCommand "${firmware.name}-xz" args ''
           sh -c 'xz -9c -T1 -C crc32 --lzma2=dict=2MiB "${firmware}/$1" > "$1.xz"' --)
   (cd ${firmware} && find lib/firmware -type l) | while read link; do
       target="$(readlink "${firmware}/$link")"
-      if [ -f $target ]; then
+      if [ -f "${firmware}/$link" ]; then
         ln -vs -- "''${target/^${firmware}/$out}.xz" "$out/$link.xz"
       else
         ln -vs -- "''${target/^${firmware}/$out}" "$out/$link"
       fi
   done
+
+  echo "Checking for broken symlinks:"
+  find -L $out -type l -print -execdir false -- '{}' '+'
 ''
diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
index d837d0012590..6b8827160262 100644
--- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
@@ -7,12 +7,17 @@
 , completeBuildDeps
 , completeDeps
 , crateAuthors
-, crateLinks
 , crateDescription
-, crateHomepage
 , crateFeatures
+, crateHomepage
+, crateLicense
+, crateLicenseFile
+, crateLinks
 , crateName
+, crateReadme
 , crateRenames
+, crateRepository
+, crateRustVersion
 , crateVersion
 , extraLinkFlags
 , extraRustcOptsForBuildRs
@@ -120,6 +125,8 @@ in ''
 
   EXTRA_BUILD=""
   BUILD_OUT_DIR=""
+
+  # Set up Cargo Environment variables: https://doc.rust-lang.org/cargo/reference/environment-variables.html
   export CARGO_PKG_NAME=${crateName}
   export CARGO_PKG_VERSION=${crateVersion}
   export CARGO_PKG_AUTHORS="${authors}"
@@ -147,6 +154,11 @@ in ''
   export CARGO_PKG_VERSION_PATCH=${lib.elemAt version 2}
   export CARGO_PKG_VERSION_PRE="${versionPre}"
   export CARGO_PKG_HOMEPAGE="${crateHomepage}"
+  export CARGO_PKG_LICENSE="${crateLicense}"
+  export CARGO_PKG_LICENSE_FILE="${crateLicenseFile}"
+  export CARGO_PKG_README="${crateReadme}"
+  export CARGO_PKG_REPOSITORY="${crateRepository}"
+  export CARGO_PKG_RUST_VERSION="${crateRustVersion}"
   export NUM_JOBS=$NIX_BUILD_CORES
   export RUSTC="rustc"
   export RUSTDOC="rustdoc"
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index 1760ab6e99a6..4a7fd114829a 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -314,11 +314,16 @@ crate_: lib.makeOverridable
       # Either set to a concrete sub path to the crate root
       # or use `null` for auto-detect.
       workspace_member = crate.workspace_member or ".";
-      crateVersion = crate.version;
-      crateDescription = crate.description or "";
       crateAuthors = if crate ? authors && lib.isList crate.authors then crate.authors else [ ];
+      crateDescription = crate.description or "";
       crateHomepage = crate.homepage or "";
+      crateLicense = crate.license or "";
+      crateLicenseFile = crate.license-file or "";
       crateLinks = crate.links or "";
+      crateReadme = crate.readme or "";
+      crateRepository = crate.repository or "";
+      crateRustVersion = crate.rust-version or "";
+      crateVersion = crate.version;
       crateType =
         if lib.attrByPath [ "procMacro" ] false crate then [ "proc-macro" ] else
         if lib.attrByPath [ "plugin" ] false crate then [ "dylib" ] else
@@ -341,6 +346,7 @@ crate_: lib.makeOverridable
         inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
           crateFeatures crateRenames libName build workspace_member release libPath crateVersion crateLinks
           extraLinkFlags extraRustcOptsForBuildRs
+          crateLicense crateLicenseFile crateReadme crateRepository crateRustVersion
           crateAuthors crateHomepage verbose colors codegenUnits;
       };
       buildPhase = buildCrate {
diff --git a/pkgs/build-support/testers/hasPkgConfigModules/tester.nix b/pkgs/build-support/testers/hasPkgConfigModules/tester.nix
index 755559038271..bbcc4f0c0f71 100644
--- a/pkgs/build-support/testers/hasPkgConfigModules/tester.nix
+++ b/pkgs/build-support/testers/hasPkgConfigModules/tester.nix
@@ -30,10 +30,11 @@ runCommand testName {
         }
         package.meta;
   } ''
+    touch "$out"
     for moduleName in $moduleNames; do
       echo "checking pkg-config module $moduleName in $buildInputs"
       set +e
-      version="$(pkg-config --modversion $moduleName)"
+      version="$($PKG_CONFIG --modversion $moduleName)"
       r=$?
       set -e
       if [[ $r = 0 ]]; then
@@ -41,7 +42,7 @@ runCommand testName {
         printf '%s\t%s\n' "$moduleName" "$version" >> "$out"
       else
         echo "These modules were available in the input propagation closure:"
-        pkg-config --list-all
+        $PKG_CONFIG --list-all
         echo "❌ pkg-config module $moduleName was not found"
         false
       fi
diff --git a/pkgs/build-support/trivial-builders/default.nix b/pkgs/build-support/trivial-builders/default.nix
index 9643c9ba048e..a38231bdcaa3 100644
--- a/pkgs/build-support/trivial-builders/default.nix
+++ b/pkgs/build-support/trivial-builders/default.nix
@@ -152,19 +152,21 @@ rec {
     , meta ? { }
     , allowSubstitutes ? false
     , preferLocalBuild ? true
+    , derivationArgs ? { } # Extra arguments to pass to `stdenv.mkDerivation`
     }:
     let
       matches = builtins.match "/bin/([^/]+)" destination;
     in
     runCommand name
-      {
+      ({
         inherit text executable checkPhase allowSubstitutes preferLocalBuild;
-        passAsFile = [ "text" ];
+        passAsFile = [ "text" ]
+          ++ derivationArgs.passAsFile or [ ];
         meta = lib.optionalAttrs (executable && matches != null)
           {
             mainProgram = lib.head matches;
-          } // meta;
-      }
+          } // meta // derivationArgs.meta or {};
+      } // removeAttrs derivationArgs [ "passAsFile" "meta" ])
       ''
         target=$out${lib.escapeShellArg destination}
         mkdir -p "$(dirname "$target")"
@@ -238,53 +240,94 @@ rec {
       meta.mainProgram = name;
     };
 
-  /*
-    Similar to writeShellScriptBin and writeScriptBin.
-    Writes an executable Shell script to /nix/store/<store path>/bin/<name> and
-    checks its syntax with shellcheck and the shell's -n option.
-    Individual checks can be foregone by putting them in the excludeShellChecks
-    list, e.g. [ "SC2016" ].
-    Automatically includes sane set of shellopts (errexit, nounset, pipefail)
-    and handles creation of PATH based on runtimeInputs
-
-    Note that the checkPhase uses stdenv.shell for the test run of the script,
-    while the generated shebang uses runtimeShell. If, for whatever reason,
-    those were to mismatch you might lose fidelity in the default checks.
-
-    Example:
-
-    Writes my-file to /nix/store/<store path>/bin/my-file and makes executable.
-
-
-    writeShellApplication {
-      name = "my-file";
-      runtimeInputs = [ curl w3m ];
-      text = ''
-        curl -s 'https://nixos.org' | w3m -dump -T text/html
-       '';
-    }
-
-  */
+  # See doc/build-helpers/trivial-build-helpers.chapter.md
+  # or https://nixos.org/manual/nixpkgs/unstable/#trivial-builder-text-writing
   writeShellApplication =
-    { name
-    , text
-    , runtimeInputs ? [ ]
-    , meta ? { }
-    , checkPhase ? null
-    , excludeShellChecks ? [ ]
+    {
+      /*
+         The name of the script to write.
+
+         Type: String
+       */
+      name,
+      /*
+         The shell script's text, not including a shebang.
+
+         Type: String
+       */
+      text,
+      /*
+         Inputs to add to the shell script's `$PATH` at runtime.
+
+         Type: [String|Derivation]
+       */
+      runtimeInputs ? [ ],
+      /*
+         Extra environment variables to set at runtime.
+
+         Type: AttrSet
+       */
+      runtimeEnv ? null,
+      /*
+         `stdenv.mkDerivation`'s `meta` argument.
+
+         Type: AttrSet
+       */
+      meta ? { },
+      /*
+         The `checkPhase` to run. Defaults to `shellcheck` on supported
+         platforms and `bash -n`.
+
+         The script path will be given as `$target` in the `checkPhase`.
+
+         Type: String
+       */
+      checkPhase ? null,
+      /*
+         Checks to exclude when running `shellcheck`, e.g. `[ "SC2016" ]`.
+
+         See <https://www.shellcheck.net/wiki/> for a list of checks.
+
+         Type: [String]
+       */
+      excludeShellChecks ? [ ],
+      /*
+         Bash options to activate with `set -o` at the start of the script.
+
+         Defaults to `[ "errexit" "nounset" "pipefail" ]`.
+
+         Type: [String]
+       */
+      bashOptions ? [ "errexit" "nounset" "pipefail" ],
+      /* Extra arguments to pass to `stdenv.mkDerivation`.
+
+         :::{.caution}
+         Certain derivation attributes are used internally,
+         overriding those could cause problems.
+         :::
+
+         Type: AttrSet
+       */
+      derivationArgs ? { },
     }:
     writeTextFile {
-      inherit name meta;
+      inherit name meta derivationArgs;
       executable = true;
       destination = "/bin/${name}";
       allowSubstitutes = true;
       preferLocalBuild = false;
       text = ''
         #!${runtimeShell}
-        set -o errexit
-        set -o nounset
-        set -o pipefail
-      '' + lib.optionalString (runtimeInputs != [ ]) ''
+        ${lib.concatMapStringsSep "\n" (option: "set -o ${option}") bashOptions}
+      '' + lib.optionalString (runtimeEnv != null)
+        (lib.concatStrings
+          (lib.mapAttrsToList
+            (name: value: ''
+              ${lib.toShellVar name value}
+              export ${name}
+            '')
+            runtimeEnv))
+      + lib.optionalString (runtimeInputs != [ ]) ''
 
         export PATH="${lib.makeBinPath runtimeInputs}:$PATH"
       '' + ''
diff --git a/pkgs/build-support/trivial-builders/test/writeShellApplication.nix b/pkgs/build-support/trivial-builders/test/writeShellApplication.nix
index 6ce6f0720fcf..c50f5a4d283f 100644
--- a/pkgs/build-support/trivial-builders/test/writeShellApplication.nix
+++ b/pkgs/build-support/trivial-builders/test/writeShellApplication.nix
@@ -1,29 +1,141 @@
-/*
-  Run with:
+# Run with:
+# nix-build -A tests.trivial-builders.writeShellApplication
+{ writeShellApplication
+, writeTextFile
+, runCommand
+, lib
+, linkFarm
+, diffutils
+, hello
+}:
+let
+  checkShellApplication = args@{name, expected, ...}:
+    let
+      writeShellApplicationArgs = builtins.removeAttrs args ["expected"];
+      script = writeShellApplication writeShellApplicationArgs;
+      executable = lib.getExe script;
+      expected' = writeTextFile {
+        name = "${name}-expected";
+        text = expected;
+      };
+      actual = "${name}-actual";
+    in
+    runCommand name { } ''
+      echo "Running test executable ${name}"
+      ${executable} > ${actual}
+      echo "Got output from test executable:"
+      cat ${actual}
+      echo "Checking test output against expected output:"
+      ${diffutils}/bin/diff --color --unified ${expected'} ${actual}
+      touch $out
+    '';
+in
+linkFarm "writeShellApplication-tests" {
+  test-meta =
+    let
+      script = writeShellApplication {
+        name = "test-meta";
+        text = "";
+        meta.description = "A test for the `writeShellApplication` `meta` argument.";
+      };
+    in
+    assert script.meta.mainProgram == "test-meta";
+    assert script.meta.description == "A test for the `writeShellApplication` `meta` argument.";
+    script;
 
-      cd nixpkgs
-      nix-build -A tests.trivial-builders.writeShellApplication
-*/
+  test-runtime-inputs =
+    checkShellApplication {
+      name = "test-runtime-inputs";
+      text = ''
+        hello
+      '';
+      runtimeInputs = [ hello ];
+      expected = "Hello, world!\n";
+    };
 
-{ lib, writeShellApplication, runCommand }:
-let
-  pkg = writeShellApplication {
-    name = "test-script";
+  test-runtime-env =
+    checkShellApplication {
+      name = "test-runtime-env";
+      runtimeEnv = {
+        MY_COOL_ENV_VAR = "my-cool-env-value";
+        MY_OTHER_COOL_ENV_VAR = "my-other-cool-env-value";
+        # Check that we can serialize a bunch of different types:
+        BOOL = true;
+        INT = 1;
+        LIST = [1 2 3];
+        MAP = {
+          a = "a";
+          b = "b";
+        };
+      };
+      text = ''
+        echo "$MY_COOL_ENV_VAR"
+        echo "$MY_OTHER_COOL_ENV_VAR"
+      '';
+      expected = ''
+        my-cool-env-value
+        my-other-cool-env-value
+      '';
+    };
+
+  test-check-phase =
+    checkShellApplication {
+      name = "test-check-phase";
+      text = "";
+      checkPhase = ''
+        echo "echo -n hello" > $target
+      '';
+      expected = "hello";
+    };
+
+  test-argument-forwarding =
+    checkShellApplication {
+      name = "test-argument-forwarding";
+      text = "";
+      derivationArgs.MY_BUILD_TIME_VARIABLE = "puppy";
+      derivationArgs.postCheck = ''
+        if [[ "$MY_BUILD_TIME_VARIABLE" != puppy ]]; then
+          echo "\$MY_BUILD_TIME_VARIABLE is not set to 'puppy'!"
+          exit 1
+        fi
+      '';
+      meta.description = "A test checking that `writeShellApplication` forwards extra arguments to `stdenv.mkDerivation`.";
+      expected = "";
+    };
+
+  test-exclude-shell-checks = writeShellApplication {
+    name = "test-exclude-shell-checks";
     excludeShellChecks = [ "SC2016" ];
     text = ''
-      echo -e '#!/usr/bin/env bash\n' \
-       'echo "$SHELL"' > /tmp/something.sh  # this line would normally
-                                            # ...cause shellcheck error
+      # Triggers SC2016: Expressions don't expand in single quotes, use double
+      # quotes for that.
+      echo '$SHELL'
     '';
   };
-in
-  assert pkg.meta.mainProgram == "test-script";
-  runCommand "test-writeShellApplication" { } ''
 
-    echo Testing if writeShellApplication builds without shellcheck error...
-
-    target=${lib.getExe pkg}
+  test-bash-options-pipefail = checkShellApplication {
+    name = "test-bash-options-pipefail";
+    text = ''
+      touch my-test-file
+      echo puppy | grep doggy | sed 's/doggy/puppy/g'
+      #            ^^^^^^^^^^ This will fail.
+      true
+    '';
+    # Don't use `pipefail`:
+    bashOptions = ["errexit" "nounset"];
+    expected = "";
+  };
 
-    touch $out
-  ''
+  test-bash-options-nounset = checkShellApplication {
+    name = "test-bash-options-nounset";
+    text = ''
+      echo -n "$someUndefinedVariable"
+    '';
+    # Don't use `nounset`:
+    bashOptions = [];
+    # Don't warn about the undefined variable at build time:
+    excludeShellChecks = [ "SC2154" ];
+    expected = "";
+  };
 
+}
diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix
index a161322cd35b..cadb69781481 100644
--- a/pkgs/build-support/writers/default.nix
+++ b/pkgs/build-support/writers/default.nix
@@ -1,5 +1,6 @@
 { config, lib, callPackages }:
 
+# If you are reading this, you can test these writers by running: nix-build . -A tests.writers
 let
   aliases = if config.allowAliases then (import ./aliases.nix lib) else prev: {};
 
diff --git a/pkgs/build-support/writers/scripts.nix b/pkgs/build-support/writers/scripts.nix
index 184ecee68777..8a23e5dd4a66 100644
--- a/pkgs/build-support/writers/scripts.nix
+++ b/pkgs/build-support/writers/scripts.nix
@@ -13,7 +13,7 @@ let
 in
 rec {
   # Base implementation for non-compiled executables.
-  # Takes an interpreter, for example `${pkgs.bash}/bin/bash`
+  # Takes an interpreter, for example `${lib.getExe pkgs.bash}`
   #
   # Examples:
   #   writeBash = makeScriptWriter { interpreter = "${pkgs.bash}/bin/bash"; }
@@ -116,7 +116,7 @@ rec {
   #     echo hello world
   #   ''
   writeBash = makeScriptWriter {
-    interpreter = "${pkgs.bash}/bin/bash";
+    interpreter = "${lib.getExe pkgs.bash}";
   };
 
   # Like writeScriptBin but the first line is a shebang to bash
@@ -130,7 +130,7 @@ rec {
   #     echo hello world
   #   ''
   writeDash = makeScriptWriter {
-    interpreter = "${pkgs.dash}/bin/dash";
+    interpreter = "${lib.getExe pkgs.dash}";
   };
 
   # Like writeScriptBin but the first line is a shebang to dash
@@ -144,8 +144,8 @@ rec {
   #     echo hello world
   #   ''
   writeFish = makeScriptWriter {
-    interpreter = "${pkgs.fish}/bin/fish --no-config";
-    check = "${pkgs.fish}/bin/fish --no-config --no-execute";  # syntax check only
+    interpreter = "${lib.getExe pkgs.fish} --no-config";
+    check = "${lib.getExe pkgs.fish} --no-config --no-execute";  # syntax check only
   };
 
   # Like writeScriptBin but the first line is a shebang to fish
@@ -175,7 +175,7 @@ rec {
     in makeBinWriter {
       compileScript = ''
         cp $contentPath tmp.hs
-        ${ghc.withPackages (_: libraries )}/bin/ghc ${lib.escapeShellArgs ghcArgs'} tmp.hs
+        ${(ghc.withPackages (_: libraries ))}/bin/ghc ${lib.escapeShellArgs ghcArgs'} tmp.hs
         mv tmp $out
       '';
       inherit strip;
@@ -185,6 +185,85 @@ rec {
   writeHaskellBin = name:
     writeHaskell "/bin/${name}";
 
+  # Like writeScript but the first line is a shebang to nu
+  #
+  # Example:
+  #   writeNu "example" ''
+  #     echo hello world
+  #   ''
+  writeNu = makeScriptWriter {
+    interpreter = "${lib.getExe pkgs.nushell} --no-config-file";
+  };
+
+  # Like writeScriptBin but the first line is a shebang to nu
+  writeNuBin = name:
+    writeNu "/bin/${name}";
+
+  # makeRubyWriter takes ruby and compatible rubyPackages and produces ruby script writer,
+  # If any libraries are specified, ruby.withPackages is used as interpreter, otherwise the "bare" ruby is used.
+  makeRubyWriter = ruby: rubyPackages: buildRubyPackages: name: { libraries ? [], }:
+  makeScriptWriter {
+    interpreter =
+      if libraries == []
+      then "${ruby}/bin/ruby"
+      else "${(ruby.withPackages (ps: libraries))}/bin/ruby";
+    # Rubocop doesnt seem to like running in this fashion.
+    #check = (writeDash "rubocop.sh" ''
+    #  exec ${lib.getExe buildRubyPackages.rubocop} "$1"
+    #'');
+  } name;
+
+  # Like writeScript but the first line is a shebang to ruby
+  #
+  # Example:
+  #   writeRuby "example" ''
+  #    puts "hello world"
+  #   ''
+  writeRuby = makeRubyWriter pkgs.ruby pkgs.rubyPackages buildPackages.rubyPackages;
+
+  writeRubyBin = name:
+    writeRuby "/bin/${name}";
+
+  # makeLuaWriter takes lua and compatible luaPackages and produces lua script writer,
+  # which validates the script with luacheck at build time. If any libraries are specified,
+  # lua.withPackages is used as interpreter, otherwise the "bare" lua is used.
+  makeLuaWriter = lua: luaPackages: buildLuaPackages: name: { libraries ? [], }:
+  makeScriptWriter {
+    interpreter = lua.interpreter;
+      # if libraries == []
+      # then lua.interpreter
+      # else (lua.withPackages (ps: libraries)).interpreter
+      # This should support packages! I just cant figure out why some dependency collision happens whenever I try to run this.
+    check = (writeDash "luacheck.sh" ''
+      exec ${buildLuaPackages.luacheck}/bin/luacheck "$1"
+    '');
+  } name;
+
+  # writeLua takes a name an attributeset with libraries and some lua source code and
+  # returns an executable (should also work with luajit)
+  #
+  # Example:
+  # writeLua "test_lua" { libraries = [ pkgs.luaPackages.say ]; } ''
+  #   s = require("say")
+  #   s:set_namespace("en")
+  #
+  #   s:set('money', 'I have %s dollars')
+  #   s:set('wow', 'So much money!')
+  #
+  #   print(s('money', {1000})) -- I have 1000 dollars
+  #
+  #   s:set_namespace("fr") -- switch to french!
+  #   s:set('wow', "Tant d'argent!")
+  #
+  #   print(s('wow')) -- Tant d'argent!
+  #   s:set_namespace("en")  -- switch back to english!
+  #   print(s('wow')) -- So much money!
+  # ''
+  writeLua = makeLuaWriter pkgs.lua pkgs.luaPackages buildPackages.luaPackages;
+
+  writeLuaBin = name:
+    writeLua "/bin/${name}";
+
   writeRust = name: {
       rustc ? pkgs.rustc,
       rustcArgs ? [],
@@ -196,7 +275,7 @@ rec {
     makeBinWriter {
       compileScript = ''
         cp "$contentPath" tmp.rs
-        PATH=${lib.makeBinPath [pkgs.gcc]} ${lib.getBin rustc}/bin/rustc ${lib.escapeShellArgs rustcArgs} ${lib.escapeShellArgs darwinArgs} -o "$out" tmp.rs
+        PATH=${lib.makeBinPath [pkgs.gcc]} ${rustc}/bin/rustc ${lib.escapeShellArgs rustcArgs} ${lib.escapeShellArgs darwinArgs} -o "$out" tmp.rs
       '';
       inherit strip;
     } name;
@@ -225,7 +304,7 @@ rec {
     };
   in writeDash name ''
     export NODE_PATH=${node-env}/lib/node_modules
-    exec ${pkgs.nodejs}/bin/node ${pkgs.writeText "js" content} "$@"
+    exec ${lib.getExe pkgs.nodejs} ${pkgs.writeText "js" content} "$@"
   '';
 
   # writeJSBin takes the same arguments as writeJS but outputs a directory (like writeScriptBin)
@@ -260,7 +339,7 @@ rec {
   #   ''
   writePerl = name: { libraries ? [] }:
     makeScriptWriter {
-      interpreter = "${pkgs.perl.withPackages (p: libraries)}/bin/perl";
+      interpreter = "${lib.getExe (pkgs.perl.withPackages (p: libraries))}";
     } name;
 
   # writePerlBin takes the same arguments as writePerl but outputs a directory (like writeScriptBin)
@@ -276,9 +355,11 @@ rec {
   in
   makeScriptWriter {
     interpreter =
-      if libraries == []
-      then python.interpreter
-      else (python.withPackages (ps: libraries)).interpreter
+      if pythonPackages != pkgs.pypy2Packages || pythonPackages != pkgs.pypy3Packages then
+        if libraries == []
+        then python.interpreter
+        else (python.withPackages (ps: libraries)).interpreter
+      else python.interpreter
     ;
     check = optionalString python.isPy3k (writeDash "pythoncheck.sh" ''
       exec ${buildPythonPackages.flake8}/bin/flake8 --show-source ${ignoreAttribute} "$1"
@@ -358,7 +439,7 @@ rec {
       export DOTNET_CLI_TELEMETRY_OPTOUT=1
       export DOTNET_NOLOGO=1
       script="$1"; shift
-      ${dotnet-sdk}/bin/dotnet fsi --quiet --nologo --readline- ${fsi-flags} "$@" < "$script"
+      ${lib.getExe dotnet-sdk} fsi --quiet --nologo --readline- ${fsi-flags} "$@" < "$script"
     '';
 
   in content: makeScriptWriter {
diff --git a/pkgs/build-support/writers/test.nix b/pkgs/build-support/writers/test.nix
index 1b690e2d24c9..982c550d28e0 100644
--- a/pkgs/build-support/writers/test.nix
+++ b/pkgs/build-support/writers/test.nix
@@ -6,11 +6,16 @@
 , pypy2Packages
 , python3Packages
 , pypy3Packages
+, luaPackages
+, rubyPackages
 , runCommand
 , testers
 , writers
 , writeText
 }:
+
+# If you are reading this, you can test these writers by running: nix-build . -A tests.writers
+
 with writers;
 let
   expectSuccess = test:
@@ -88,15 +93,6 @@ lib.recurseIntoAttrs {
       print "success\n" if true;
     '');
 
-    pypy2 = expectSuccessBin (writePyPy2Bin "test-writers-pypy2-bin" { libraries = [ pypy2Packages.enum ]; } ''
-      from enum import Enum
-
-      class Test(Enum):
-          a = "success"
-
-      print Test.a
-    '');
-
     python3 = expectSuccessBin (writePython3Bin "test-writers-python3-bin" { libraries = [ python3Packages.pyyaml ]; } ''
       import yaml
 
@@ -106,14 +102,47 @@ lib.recurseIntoAttrs {
       print(y[0]['test'])
     '');
 
-    pypy3 = expectSuccessBin (writePyPy3Bin "test-writers-pypy3-bin" { libraries = [ pypy3Packages.pyyaml ]; } ''
-      import yaml
-
-      y = yaml.safe_load("""
-        - test: success
-      """)
-      print(y[0]['test'])
-    '');
+    # Commented out because of this issue: https://github.com/NixOS/nixpkgs/issues/39356
+
+    #pypy2 = expectSuccessBin (writePyPy2Bin "test-writers-pypy2-bin" { libraries = [ pypy2Packages.enum ]; } ''
+    #  from enum import Enum
+    #
+    #  class Test(Enum):
+    #      a = "success"
+    #
+    #  print Test.a
+    #'');
+
+    #pypy3 = expectSuccessBin (writePyPy3Bin "test-writers-pypy3-bin" { libraries = [ pypy3Packages.pyyaml ]; } ''
+    #  import yaml
+    #
+    #  y = yaml.safe_load("""
+    #    - test: success
+    #  """)
+    #  print(y[0]['test'])
+    #'');
+
+    # Could not test this because of external package issues :(
+    #lua = writeLuaBin "test-writers-lua-bin" { libraries = [ pkgs.luaPackages.say ]; } ''
+    #  s = require("say")
+    #  s:set_namespace("en")
+
+    #  s:set('money', 'I have %s dollars')
+    #  s:set('wow', 'So much money!')
+
+    #  print(s('money', {1000})) -- I have 1000 dollars
+
+    #  s:set_namespace("fr") -- switch to french!
+    #  s:set('wow', "Tant d'argent!")
+
+    #  print(s('wow')) -- Tant d'argent!
+    #  s:set_namespace("en")  -- switch back to english!
+    #  print(s('wow')) -- So much money!
+    #'';
+
+    #ruby = expectSuccessBin (writeRubyBin "test-writers-ruby-bin" { libraries = [ rubyPackages.rubocop ]; } ''
+    #puts "This should work!"
+    #'');
   };
 
   simple = lib.recurseIntoAttrs {
@@ -131,6 +160,10 @@ lib.recurseIntoAttrs {
       end
     '');
 
+    nu = expectSuccess (writeNu "test-writers-nushell" ''
+      echo "success"
+    '');
+
     haskell = expectSuccess (writeHaskell "test-writers-haskell" { libraries = [ haskellPackages.acme-default ]; } ''
       import Data.Default
 
@@ -158,15 +191,6 @@ lib.recurseIntoAttrs {
       print "success\n" if true;
     '');
 
-    pypy2 = expectSuccess (writePyPy2 "test-writers-pypy2" { libraries = [ pypy2Packages.enum ]; } ''
-      from enum import Enum
-
-      class Test(Enum):
-          a = "success"
-
-      print Test.a
-    '');
-
     python3 = expectSuccess (writePython3 "test-writers-python3" { libraries = [ python3Packages.pyyaml ]; } ''
       import yaml
 
@@ -176,14 +200,25 @@ lib.recurseIntoAttrs {
       print(y[0]['test'])
     '');
 
-    pypy3 = expectSuccess (writePyPy3 "test-writers-pypy3" { libraries = [ pypy3Packages.pyyaml ]; } ''
-      import yaml
-
-      y = yaml.safe_load("""
-        - test: success
-      """)
-      print(y[0]['test'])
-    '');
+    # Commented out because of this issue: https://github.com/NixOS/nixpkgs/issues/39356
+
+    #pypy2 = expectSuccessBin (writePyPy2Bin "test-writers-pypy2-bin" { libraries = [ pypy2Packages.enum ]; } ''
+    #  from enum import Enum
+    #
+    #  class Test(Enum):
+    #      a = "success"
+    #
+    #  print Test.a
+    #'');
+
+    #pypy3 = expectSuccessBin (writePyPy3Bin "test-writers-pypy3-bin" { libraries = [ pypy3Packages.pyyaml ]; } ''
+    #  import yaml
+    #
+    #  y = yaml.safe_load("""
+    #    - test: success
+    #  """)
+    #  print(y[0]['test'])
+    #'');
 
     fsharp = expectSuccess (makeFSharpWriter {
       libraries = { fetchNuGet }: [
@@ -191,6 +226,7 @@ lib.recurseIntoAttrs {
         (fetchNuGet { pname = "System.Text.Json"; version = "4.6.0"; sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; })
       ];
     } "test-writers-fsharp" ''
+
       #r "nuget: FSharp.SystemTextJson, 0.17.4"
 
       module Json =
@@ -209,9 +245,9 @@ lib.recurseIntoAttrs {
       |> printfn "%s"
     '');
 
-    pypy2NoLibs = expectSuccess (writePyPy2 "test-writers-pypy2-no-libs" {} ''
-      print("success")
-    '');
+    #pypy2NoLibs = expectSuccess (writePyPy2 "test-writers-pypy2-no-libs" {} ''
+    #  print("success")
+    #'');
 
     python3NoLibs = expectSuccess (writePython3 "test-writers-python3-no-libs" {} ''
       print("success")
@@ -223,6 +259,14 @@ lib.recurseIntoAttrs {
 
     fsharpNoNugetDeps = expectSuccess (writeFSharp "test-writers-fsharp-no-nuget-deps" ''
       printfn "success"
+      '');
+
+    luaNoLibs = expectSuccess (writeLua "test-writers-lua-no-libs" {} ''
+      print("success")
+      '');
+
+    rubyNoLibs = expectSuccess (writeRuby "test-writers-ruby-no-libs" {} ''
+      puts "success"
     '');
   };
 
diff --git a/pkgs/by-name/aa/aaaaxy/package.nix b/pkgs/by-name/aa/aaaaxy/package.nix
index 415711d50278..e84f74714e5d 100644
--- a/pkgs/by-name/aa/aaaaxy/package.nix
+++ b/pkgs/by-name/aa/aaaaxy/package.nix
@@ -20,17 +20,17 @@
 
 buildGoModule rec {
   pname = "aaaaxy";
-  version = "1.4.137";
+  version = "1.4.160";
 
   src = fetchFromGitHub {
     owner = "divVerent";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-noKAf+Xd6yW45+0gtKBlRwCKNGCg7YBbWswOP7clv+M=";
+    hash = "sha256-BI3qnt/u0BXEHJ1E7jUh6jAUXxJZAUX+5Joih1g0JAU=";
     fetchSubmodules = true;
   };
 
-  vendorHash = "sha256-ig5ai28PR3VJUoVGexlfP2OMYmKI0qltTot4zIqfdO4=";
+  vendorHash = "sha256-m6nSWw+KluP0X3mB18m7OEFzeRFw/XS4JiqARqGopvQ=";
 
   buildInputs = [
     alsa-lib
diff --git a/pkgs/by-name/al/alsa-lib-with-plugins/package.nix b/pkgs/by-name/al/alsa-lib-with-plugins/package.nix
new file mode 100644
index 000000000000..4388884f75a6
--- /dev/null
+++ b/pkgs/by-name/al/alsa-lib-with-plugins/package.nix
@@ -0,0 +1,52 @@
+{ lib
+, pkgs
+, alsa-lib
+, plugins ? [ pkgs.alsa-plugins ]
+, lndir
+, symlinkJoin
+, runCommand
+}:
+let
+  merged = symlinkJoin { name = "alsa-plugins-merged"; paths = plugins; };
+in
+runCommand "${alsa-lib.pname}-${alsa-lib.version}" {
+  meta = with lib; {
+    description = "wrapper to ease access to ALSA plugins";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ gm6k ];
+  };
+  outputs = alsa-lib.outputs;
+} (
+    (
+      lib.concatMapStringsSep "\n" (
+        output: ''
+          mkdir ${builtins.placeholder output}
+          ${lndir}/bin/lndir ${lib.attrByPath [output] null alsa-lib} \
+            ${builtins.placeholder output}
+        ''
+      ) alsa-lib.outputs
+    ) + ''
+    cp -r ${merged}/lib/alsa-lib $out/lib
+    (
+      echo $out | wc -c
+      echo ${alsa-lib} | wc -c
+    ) | xargs echo | grep -q "^\(.*\) \1$" || (
+      echo cannot binary patch
+      exit 1
+    )
+    rm $out/lib/libasound.la
+    rm $out/lib/libasound.so.?.?.?
+    rm $dev/lib/pkgconfig/alsa.pc
+    rm $dev/nix-support/propagated-build-inputs
+    cp ${alsa-lib}/lib/libasound.la $out/lib
+    cp ${alsa-lib}/lib/libasound.so.?.?.? $out/lib
+    cp ${alsa-lib.dev}/lib/pkgconfig/alsa.pc $dev/lib/pkgconfig
+    cp ${alsa-lib.dev}/nix-support/propagated-build-inputs $dev/nix-support
+    sed -i \
+        $out/lib/libasound.la \
+        $out/lib/libasound.so.?.?.? \
+        $dev/lib/pkgconfig/alsa.pc \
+        $dev/nix-support/propagated-build-inputs \
+      -e "s@${alsa-lib}@$out@g"
+  ''
+)
diff --git a/pkgs/by-name/am/amazon-ssm-agent/package.nix b/pkgs/by-name/am/amazon-ssm-agent/package.nix
index 7c8ff4336fdf..f508e2d2e8f5 100644
--- a/pkgs/by-name/am/amazon-ssm-agent/package.nix
+++ b/pkgs/by-name/am/amazon-ssm-agent/package.nix
@@ -42,13 +42,13 @@ let
 in
 buildGoModule rec {
   pname = "amazon-ssm-agent";
-  version = "3.2.2143.0";
+  version = "3.2.2222.0";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "amazon-ssm-agent";
     rev = "refs/tags/${version}";
-    hash = "sha256-RE17XoioTVlqASpHl6y7ykbK9sYqUIF05ROnXf05NrU=";
+    hash = "sha256-0mXf7n+Cd5t3xAB/84ejdCzcZviBLODBPkJah1X63+0=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/an/anytype/package.nix b/pkgs/by-name/an/anytype/package.nix
index b995607975c9..d65c2f38e676 100644
--- a/pkgs/by-name/an/anytype/package.nix
+++ b/pkgs/by-name/an/anytype/package.nix
@@ -2,17 +2,15 @@
 
 let
   pname = "anytype";
-  version = "0.37.3";
+  version = "0.38.0";
   name = "Anytype-${version}";
-  nameExecutable = pname;
   src = fetchurl {
     url = "https://github.com/anyproto/anytype-ts/releases/download/v${version}/${name}.AppImage";
     name = "Anytype-${version}.AppImage";
-    sha256 = "sha256-W3p67L07XOEtXYluI+TvggXBdaNRadypZc9MO6QTh4M=";
+    hash = "sha256-tcAOj7omrhyyG8elnAvbj/FtYaYOBeBkclpPHhSoass=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
-in
-appimageTools.wrapType2 {
+in appimageTools.wrapType2 {
   inherit name src;
 
   extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
diff --git a/pkgs/by-name/ap/apt/package.nix b/pkgs/by-name/ap/apt/package.nix
index d383268b52e1..d797cc72b639 100644
--- a/pkgs/by-name/ap/apt/package.nix
+++ b/pkgs/by-name/ap/apt/package.nix
@@ -33,11 +33,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "apt";
-  version = "2.7.9";
+  version = "2.7.10";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/a/apt/apt_${finalAttrs.version}.tar.xz";
-    hash = "sha256-Zm9BzWQf+YlMulMbDMT88ZnmSUWH/LgqObANyItGuyc=";
+    hash = "sha256-VUZsSEqmQJesIPU4tK4ELn9i5hFiBUGNEepPySIdgH4=";
   };
 
   # cycle detection; lib can't be split
diff --git a/pkgs/by-name/as/ast-grep/package.nix b/pkgs/by-name/as/ast-grep/package.nix
index cbc30af9e69a..67afe28bc346 100644
--- a/pkgs/by-name/as/ast-grep/package.nix
+++ b/pkgs/by-name/as/ast-grep/package.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ast-grep";
-  version = "0.17.0";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "ast-grep";
     repo = "ast-grep";
     rev = version;
-    hash = "sha256-/lWvFYSE4gFbVPlJMROGcb86mVviGdh1tFAY74qTTX4=";
+    hash = "sha256-hr6VAqBsv3szVClR93y5ickkrNKjvl6BfzqKA3zc6vM=";
   };
 
-  cargoHash = "sha256-r1vfh2JtBjWFgXrijlFxPyRr8LRAIogiA2TZHI5MJRM=";
+  cargoHash = "sha256-ttJMtaQfVnFj4/wUz4fn8X/EmUwW+usqhmWhy4Y0AB8=";
 
   # Work around https://github.com/NixOS/nixpkgs/issues/166205.
   env = lib.optionalAttrs stdenv.cc.isClang {
diff --git a/pkgs/by-name/au/authentik/ldap.nix b/pkgs/by-name/au/authentik/ldap.nix
new file mode 100644
index 000000000000..1745e5556d3c
--- /dev/null
+++ b/pkgs/by-name/au/authentik/ldap.nix
@@ -0,0 +1,18 @@
+{ lib, buildGoModule, authentik }:
+
+buildGoModule {
+  pname = "authentik-ldap-outpost";
+  inherit (authentik) version src;
+
+  vendorHash = "sha256-74rSuZrO5c7mjhHh0iQlJEkOslsFrcDb1aRXXC4RsUM=";
+
+  CGO_ENABLED = 0;
+
+  subPackages = [ "cmd/ldap" ];
+
+  meta = authentik.meta // {
+    description = "The authentik ldap outpost. Needed for the extendal ldap API.";
+    homepage = "https://goauthentik.io/docs/providers/ldap/";
+    mainProgram = "ldap";
+  };
+}
diff --git a/pkgs/by-name/au/authentik/outposts.nix b/pkgs/by-name/au/authentik/outposts.nix
new file mode 100644
index 000000000000..05649628b3e8
--- /dev/null
+++ b/pkgs/by-name/au/authentik/outposts.nix
@@ -0,0 +1,5 @@
+{ callPackage }:
+
+{
+  ldap = callPackage ./ldap.nix { };
+}
diff --git a/pkgs/by-name/au/authentik/package.nix b/pkgs/by-name/au/authentik/package.nix
new file mode 100644
index 000000000000..a4de19b066d7
--- /dev/null
+++ b/pkgs/by-name/au/authentik/package.nix
@@ -0,0 +1,254 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, buildNpmPackage
+, buildGoModule
+, runCommand
+, openapi-generator-cli
+, nodejs
+, python3
+, codespell
+, makeWrapper }:
+
+let
+  version = "2023.10.7";
+
+  src = fetchFromGitHub {
+    owner = "goauthentik";
+    repo = "authentik";
+    rev = "version/${version}";
+    hash = "sha256-+1IdXRt28UZ2KTa0zsmjneNUOcutP99UUwqcYyVyqTI=";
+  };
+
+  meta = with lib; {
+    description = "The authentication glue you need";
+    changelog = "https://github.com/goauthentik/authentik/releases/tag/version%2F${version}";
+    homepage = "https://goauthentik.io/";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jvanbruegge ];
+  };
+
+  website = buildNpmPackage {
+    pname = "authentik-website";
+    inherit version src meta;
+    npmDepsHash = "sha256-4dgFxEvMnp+35nSQNsEchtN1qoS5X2KzEbLPvMnyR+k=";
+
+    NODE_ENV = "production";
+    NODE_OPTIONS = "--openssl-legacy-provider";
+
+    postPatch = ''
+      cd website
+    '';
+
+    installPhase = ''
+      cp -r help $out
+    '';
+
+    npmInstallFlags = [ "--include=dev" ];
+    npmBuildScript = "build-docs-only";
+  };
+
+  clientapi = stdenvNoCC.mkDerivation {
+    pname = "authentik-client-api";
+    inherit version src meta;
+
+    postPatch = ''
+      rm Makefile
+
+      substituteInPlace ./scripts/api-ts-config.yaml \
+        --replace-fail '/local' "$(pwd)/"
+    '';
+
+    nativeBuildInputs = [ openapi-generator-cli ];
+    buildPhase = ''
+      runHook preBuild
+      openapi-generator-cli generate -i ./schema.yml \
+      -g typescript-fetch -o $out \
+      -c ./scripts/api-ts-config.yaml \
+        --additional-properties=npmVersion=${nodejs.pkgs.npm.version} \
+        --git-repo-id authentik --git-user-id goauthentik
+      runHook postBuild
+    '';
+  };
+
+  webui = buildNpmPackage {
+    pname = "authentik-webui";
+    inherit version meta;
+
+    src = runCommand "authentik-webui-source" {} ''
+      mkdir -p $out/web/node_modules/@goauthentik/
+      cp -r ${src}/web $out/
+      ln -s ${src}/website $out/
+      ln -s ${clientapi} $out/web/node_modules/@goauthentik/api
+    '';
+    npmDepsHash = "sha256-5aCKlArtoEijGqeYiY3zoV0Qo7/Xt5hSXbmy2uYZpok=";
+
+    postPatch = ''
+      cd web
+    '';
+
+    installPhase = ''
+      runHook preInstall
+      mkdir $out
+      cp -r dist $out/dist
+      cp -r authentik $out/authentik
+      runHook postInstall
+    '';
+
+    NODE_ENV = "production";
+    NODE_OPTIONS = "--openssl-legacy-provider";
+
+    npmInstallFlags = [ "--include=dev" ];
+  };
+
+  python = python3.override {
+    self = python;
+    packageOverrides = final: prev: {
+      authentik-django = prev.buildPythonPackage {
+        pname = "authentik-django";
+        inherit version src meta;
+        pyproject = true;
+
+        postPatch = ''
+          substituteInPlace authentik/root/settings.py \
+            --replace-fail 'Path(__file__).absolute().parent.parent.parent' "\"$out\""
+          substituteInPlace authentik/lib/default.yml \
+            --replace-fail '/blueprints' "$out/blueprints"
+          substituteInPlace pyproject.toml \
+            --replace-fail 'dumb-init = "*"' "" \
+            --replace-fail 'djangorestframework-guardian' 'djangorestframework-guardian2'
+        '';
+
+        nativeBuildInputs = [ prev.poetry-core ];
+
+        propagatedBuildInputs = with prev; [
+          argon2-cffi
+          celery
+          channels
+          channels-redis
+          colorama
+          dacite
+          daphne
+          deepmerge
+          defusedxml
+          django
+          django-filter
+          django-guardian
+          django-model-utils
+          django-prometheus
+          django-redis
+          djangorestframework
+          djangorestframework-guardian2
+          docker
+          drf-spectacular
+          duo-client
+          facebook-sdk
+          flower
+          geoip2
+          gunicorn
+          httptools
+          kubernetes
+          ldap3
+          lxml
+          opencontainers
+          packaging
+          paramiko
+          psycopg
+          pycryptodome
+          pydantic
+          pydantic-scim
+          pyjwt
+          pyyaml
+          requests-oauthlib
+          sentry-sdk
+          structlog
+          swagger-spec-validator
+          twilio
+          twisted
+          ua-parser
+          urllib3
+          uvicorn
+          uvloop
+          watchdog
+          webauthn
+          websockets
+          wsproto
+          xmlsec
+          zxcvbn
+          jsonpatch
+        ] ++ [
+          codespell
+        ];
+
+        postInstall = ''
+          mkdir -p $out/web $out/website
+          cp -r lifecycle manage.py $out/${prev.python.sitePackages}/
+          cp -r blueprints $out/
+          cp -r ${webui}/dist ${webui}/authentik $out/web/
+          cp -r ${website} $out/website/help
+          ln -s $out/${prev.python.sitePackages}/lifecycle $out/lifecycle
+        '';
+      };
+    };
+  };
+
+  inherit (python.pkgs) authentik-django;
+
+  proxy = buildGoModule {
+    pname = "authentik-proxy";
+    inherit version src meta;
+
+    postPatch = ''
+      substituteInPlace internal/gounicorn/gounicorn.go \
+        --replace-fail './lifecycle' "${authentik-django}/lifecycle"
+      substituteInPlace web/static.go \
+        --replace-fail './web' "${authentik-django}/web"
+      substituteInPlace internal/web/static.go \
+        --replace-fail './web' "${authentik-django}/web"
+    '';
+
+    CGO_ENABLED = 0;
+
+    vendorHash = "sha256-74rSuZrO5c7mjhHh0iQlJEkOslsFrcDb1aRXXC4RsUM=";
+
+    postInstall = ''
+      mv $out/bin/server $out/bin/authentik
+    '';
+
+    subPackages = [ "cmd/server" ];
+  };
+
+in stdenvNoCC.mkDerivation {
+  pname = "authentik";
+  inherit src version;
+
+  postPatch = ''
+    rm Makefile
+    patchShebangs lifecycle/ak
+
+    # This causes issues in systemd services
+    substituteInPlace lifecycle/ak \
+      --replace-fail 'printf' '>&2 printf' \
+      --replace-fail '> /dev/stderr' ""
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp -r lifecycle/ak $out/bin/
+
+    wrapProgram $out/bin/ak \
+      --prefix PATH : ${lib.makeBinPath [ (python.withPackages (ps: [ps.authentik-django])) proxy ]} \
+      --set TMPDIR /dev/shm \
+      --set PYTHONDONTWRITEBYTECODE 1 \
+      --set PYTHONUNBUFFERED 1
+    runHook postInstall
+  '';
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  meta = meta // {
+    mainProgram = "ak";
+  };
+}
diff --git a/pkgs/by-name/bi/bitbake-language-server/package.nix b/pkgs/by-name/bi/bitbake-language-server/package.nix
index 97cc8a63fc66..68b536d1319c 100644
--- a/pkgs/by-name/bi/bitbake-language-server/package.nix
+++ b/pkgs/by-name/bi/bitbake-language-server/package.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "bitbake-language-server";
-  version = "0.0.7";
+  version = "0.0.8";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Freed-Wu";
     repo = pname;
     rev = version;
-    hash = "sha256-FQKZtrzfjEkAIyzrJvI7qiB4gV2yAH9w1fwO6oLPhNc=";
+    hash = "sha256-WJpa2LP95vrJG/OjiLSx8zEPO5ZOw66M5s3r2dufQJA=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/by-name/bi/bitmagnet/package.nix b/pkgs/by-name/bi/bitmagnet/package.nix
index e5af5e0bd43b..58ea73294d38 100644
--- a/pkgs/by-name/bi/bitmagnet/package.nix
+++ b/pkgs/by-name/bi/bitmagnet/package.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "bitmagnet";
-  version = "0.4.1";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "bitmagnet-io";
     repo = "bitmagnet";
     rev = "v${version}";
-    hash = "sha256-Geukd4JYwmdG7M+HDCCqpiUjor1TWsqBY42ACd+LasU=";
+    hash = "sha256-tqxmPr7O3WkFgo8tYk4iFr/k76Z5kq75YF+6uDuBOik=";
   };
 
-  vendorHash = "sha256-TbfbrvXbO+eOb1Ot/gWRBjggTj9jkSGulHIJdziqsVc=";
+  vendorHash = "sha256-YfsSz72CeHdrh5610Ilo1NYxlCT993hxWRWh0OsvEQc=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/by-name/bl/bluez/package.nix b/pkgs/by-name/bl/bluez/package.nix
index e8b649db3939..4704ecd07896 100644
--- a/pkgs/by-name/bl/bluez/package.nix
+++ b/pkgs/by-name/bl/bluez/package.nix
@@ -103,7 +103,7 @@ stdenv.mkDerivation (finalAttrs: {
     pythonPath = with python3.pkgs; [
       dbus-python
       pygobject3
-      recursivePthLoader
+      recursive-pth-loader
     ];
   in
   ''
diff --git a/pkgs/by-name/bn/bngblaster/package.nix b/pkgs/by-name/bn/bngblaster/package.nix
index 6149a049131f..f70182e110c4 100644
--- a/pkgs/by-name/bn/bngblaster/package.nix
+++ b/pkgs/by-name/bn/bngblaster/package.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "bngblaster";
-  version = "0.8.29";
+  version = "0.8.34";
 
   src = fetchFromGitHub {
     owner = "rtbrick";
     repo = "bngblaster";
     rev = finalAttrs.version;
-    hash = "sha256-yuWSGN7wLRksNjgr7c5GiC9JTN4T1PJV4Js1ZOGBKqA=";
+    hash = "sha256-oxmDg3en7mgTmhnvpkBtBJ6o/iF+GZ3Td3V6jlWMBZc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/bo/bobcat/package.nix b/pkgs/by-name/bo/bobcat/package.nix
new file mode 100644
index 000000000000..b873862fe7ed
--- /dev/null
+++ b/pkgs/by-name/bo/bobcat/package.nix
@@ -0,0 +1,72 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, icmake
+, yodl
+, libmilter
+, libX11
+, openssl
+, readline
+, util-linux
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bobcat";
+  version = "5.11.01";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.com";
+    owner = "fbb-git";
+    repo = "bobcat";
+    rev = version;
+    hash = "sha256-JLJKaJmztputIon9JkKzpm3Ch60iwm4Imh9p42crYzA=";
+  };
+
+  sourceRoot = "${src.name}/bobcat";
+
+  postPatch = ''
+    substituteInPlace INSTALL.im \
+      --replace "/usr" "$out"
+    sed -i "6i #include <cstdint>" logbuf/logbuf
+    patchShebangs .
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    icmake
+    yodl
+  ];
+
+  buildInputs = [
+    libmilter
+    libX11
+    openssl
+    readline
+    util-linux
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    ./build libraries all
+    ./build man
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preBuild
+
+    ./build install x
+
+    runHook postBuild
+  '';
+
+  meta = with lib; {
+    description = "Brokken's Own Base Classes And Templates";
+    homepage = "https://fbb-git.gitlab.io/bobcat/";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/bo/boxed-cpp/package.nix b/pkgs/by-name/bo/boxed-cpp/package.nix
index c5a5dacd4875..3475f29868d2 100644
--- a/pkgs/by-name/bo/boxed-cpp/package.nix
+++ b/pkgs/by-name/bo/boxed-cpp/package.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (final: {
   pname = "boxed-cpp";
-  version = "1.2.0";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "contour-terminal";
     repo = "boxed-cpp";
     rev = "v${final.version}";
-    hash = "sha256-Su0FdDi1JVoXd7rJ1SG4cQg2G/+mW5iU1892ee6mRl8=";
+    hash = "sha256-/zC9DV2nFY1ipqsM1p/WMdSf/nZkhlqJ2Ce/FzGWGGI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/bu/bullshit/package.nix b/pkgs/by-name/bu/bullshit/package.nix
new file mode 100644
index 000000000000..64f50f1d2b30
--- /dev/null
+++ b/pkgs/by-name/bu/bullshit/package.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, gawk
+, nix-update-script
+}:
+stdenvNoCC.mkDerivation {
+  pname = "bullshit";
+  version = "0-unstable-2018-05-28";
+
+  src = fetchFromGitHub {
+    owner = "fceschmidt";
+    repo = "bullshit-arch";
+    rev = "d65e4bbbea76bb752842c2c464154a7b417783fa";
+    hash = "sha256-sqtQDaWtfhn9XYRsF8lVLHYb+7o9Hf7rLKsX6dw3Sh4=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm555 src/bullshit -t $out/bin
+    install -Dm444 src/bullshit_lib $out/share/wordlists/bullshit.txt
+    runHook postInstall
+  '';
+
+  fixupPhase = ''
+    runHook preFixup
+    patchShebangs $out/bin/bullshit
+    substituteInPlace $out/bin/bullshit \
+        --replace /usr/lib/bullshit $out/share/wordlists/bullshit.txt \
+        --replace awk '${gawk}/bin/awk'
+    runHook postFixup
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib; {
+    description = "A nonsense phrase generator";
+    homepage = "https://github.com/fceschmidt/bullshit-arch";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ krloer ];
+    inherit (gawk.meta) platforms;
+  };
+}
diff --git a/pkgs/by-name/c-/c-periphery/package.nix b/pkgs/by-name/c-/c-periphery/package.nix
new file mode 100644
index 000000000000..7e033a1a3327
--- /dev/null
+++ b/pkgs/by-name/c-/c-periphery/package.nix
@@ -0,0 +1,35 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "c-periphery";
+  version = "2.4.2";
+
+  src = fetchFromGitHub {
+    owner = "vsergeev";
+    repo = "c-periphery";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-uUSXvMQcntUqD412UWkMif0wLxPhpPdnMb96Pqqh/B4=";
+  };
+
+  outputs = [ "dev" "lib" "out" ];
+
+  postPatch = ''
+    substituteInPlace src/libperiphery.pc.in \
+      --replace '=''${prefix}/' '=' \
+      --replace '=''${exec_prefix}/' '='
+  '';
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "A C library for peripheral I/O (GPIO, LED, PWM, SPI, I2C, MMIO, Serial) in Linux";
+    homepage = "https://github.com/vsergeev/c-periphery";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/c2/c2fmzq/package.nix b/pkgs/by-name/c2/c2fmzq/package.nix
index 088f27ad3e74..42069150d468 100644
--- a/pkgs/by-name/c2/c2fmzq/package.nix
+++ b/pkgs/by-name/c2/c2fmzq/package.nix
@@ -6,20 +6,20 @@
 
 buildGoModule rec {
   pname = "c2FmZQ";
-  version = "0.4.17";
+  version = "0.4.18";
 
   src = fetchFromGitHub {
     owner = "c2FmZQ";
     repo = "c2FmZQ";
     rev = "v${version}";
-    hash = "sha256-xjgoE1HlCmSPZ6TQcemI7fNE9wbIrk/WSrz6vlVt66U=";
+    hash = "sha256-CWtQMXICCyuXbknR1Z2sLe7GyqN0F2sQGtiTnqppnVA=";
   };
 
   ldflags = [ "-s" "-w" ];
 
   sourceRoot = "source/c2FmZQ";
 
-  vendorHash = "sha256-lnoEh6etfVLx+GYWNCvra40qOYtzTIH3SC28T6mXC2U=";
+  vendorHash = "sha256-cTXSFwWGHV2QJM4mX/Z+ZxCXKwr+59lEPvJa/PTA1wU=";
 
   subPackages = [ "c2FmZQ-client" "c2FmZQ-server" ];
 
diff --git a/pkgs/by-name/ca/cargo-xwin/package.nix b/pkgs/by-name/ca/cargo-xwin/package.nix
index 274ab5ef77ec..b361b2a808ac 100644
--- a/pkgs/by-name/ca/cargo-xwin/package.nix
+++ b/pkgs/by-name/ca/cargo-xwin/package.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-xwin";
-  version = "0.16.3";
+  version = "0.16.4";
 
   src = fetchFromGitHub {
     owner = "rust-cross";
     repo = "cargo-xwin";
     rev = "v${version}";
-    hash = "sha256-3i/XlCuHjVBSH4XZR5M457H+kheKZoJXlwqRwPhSnCM=";
+    hash = "sha256-nJgy9KoqrCD4NGFOJMN9f1XDyIrZ0a5WHTRX6G/+tnU=";
   };
 
-  cargoHash = "sha256-yKoUcrAZy66qahDvRgOnbJmXuUXDjDBTGt2p5gXjVyI=";
+  cargoHash = "sha256-JCCL/QV1DjmXTY3UChZ4BfA9VSyOTQLIfh6DSF/kIuA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/by-name/cl/clamtk/package.nix b/pkgs/by-name/cl/clamtk/package.nix
index de00d3ad9c02..3c85528a6e63 100644
--- a/pkgs/by-name/cl/clamtk/package.nix
+++ b/pkgs/by-name/cl/clamtk/package.nix
@@ -9,13 +9,13 @@
 
 perlPackages.buildPerlPackage rec {
   pname = "clamtk";
-  version = "6.17";
+  version = "6.18";
 
   src = fetchFromGitHub {
     owner = "dave-theunsub";
     repo = "clamtk";
     rev = "v${version}";
-    hash = "sha256-2tWVfRijf78OiKBpLUrZWFberIL8mjqtxvW/IjPn1IE=";
+    hash = "sha256-ClBsBXbGj67zgrkA9EjgK7s3OmXOJA+xV5xLGOcMsbI=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
@@ -46,11 +46,12 @@ perlPackages.buildPerlPackage rec {
   installPhase = ''
     runHook preInstall
 
-    install -D lib/*.pm -t $out/lib/perl5/site_perl/ClamTk
-    install -D clamtk.desktop -t $out/share/applications
-    install -D images/* -t $out/share/pixmaps
-    install -D clamtk.1.gz -t $out/share/man/man1
-    install -D -m755 clamtk -t $out/bin
+    install -Dm755 clamtk -t $out/bin
+    install -Dm444 lib/*.pm -t $out/lib/perl5/site_perl/ClamTk
+    install -Dm444 clamtk.desktop -t $out/share/applications
+    install -Dm444 images/* -t $out/share/pixmaps
+    install -Dm444 clamtk.1.gz -t $out/share/man/man1
+    install -Dm444 {CHANGES,LICENSE,*.md} -t $out/share/doc/clamtk
 
     runHook postInstall
   '';
diff --git a/pkgs/by-name/co/codeium/package.nix b/pkgs/by-name/co/codeium/package.nix
index a23cc180ebba..261c43b46b8e 100644
--- a/pkgs/by-name/co/codeium/package.nix
+++ b/pkgs/by-name/co/codeium/package.nix
@@ -13,10 +13,10 @@ let
   }.${system} or throwSystem;
 
   hash = {
-    x86_64-linux = "sha256-6ki5sIzypyBhCFhUDXlD3mT13o9A4OQ4cFFfCWTFPaA=";
-    aarch64-linux = "sha256-LoFDQDsQDRZZiyEpWmGTfEWE/kJDk4GNKA8AsoqxXmY=";
-    x86_64-darwin = "sha256-o13H5phQ0aWCchizRpIWuy1nO/19qoRRZNq52QHbINY=";
-    aarch64-darwin = "sha256-N7N1y3/C5Q4NT0fISjjUuU3a9IV1Ur5VEa/Z4wVoApU=";
+    x86_64-linux = "sha256-vS3rHYxsRTWejp2SAQk7gI/C6ElOYOjPA5cHxy7ef3U=";
+    aarch64-linux = "sha256-FxbJL5qzkVBPL6o52/gNJ8dC7Sgm/v5KFi8DL+SxiTc=";
+    x86_64-darwin = "sha256-zPas9sZzl9FqcsoqMxIjvW75JhexW/cuWvku8fPUS1Q=";
+    aarch64-darwin = "sha256-EZC9EEzilsm7H+oEr1Le5tNevWu1ldLB2UH0fS1RlLk=";
   }.${system} or throwSystem;
 
   bin = "$out/bin/codeium_language_server";
@@ -24,7 +24,7 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "codeium";
-  version = "1.6.26";
+  version = "1.6.28";
   src = fetchurl {
     name = "${finalAttrs.pname}-${finalAttrs.version}.gz";
     url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${finalAttrs.version}/language_server_${plat}.gz";
diff --git a/pkgs/by-name/co/cook-cli/package.nix b/pkgs/by-name/co/cook-cli/package.nix
new file mode 100644
index 000000000000..d78f23e15d53
--- /dev/null
+++ b/pkgs/by-name/co/cook-cli/package.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, buildNpmPackage
+, rustPlatform
+, pkg-config
+, openssl
+, darwin
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "cook-cli";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "cooklang";
+    repo = "cookcli";
+    rev = "v${version}";
+    hash = "sha256-3gLVsk6GCxOG24Md7E9fk28Vnc4kVDdwyZUD/GtSwFE=";
+  };
+
+  cargoHash = "sha256-6lnURuE1cgNAniHl5ozXo1W3cLYYje7er+ZhvZDKdVg=";
+
+  nativeBuildInputs = [ pkg-config openssl ];
+
+  buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ];
+
+  postPatch = ''
+    rm -rf "ui/public"
+    ln -s ${passthru.ui} "ui/public"
+  '';
+
+  OPENSSL_NO_VENDOR = 1;
+
+  passthru.ui = buildNpmPackage {
+    name = "ui";
+    src = "${src}/ui";
+    npmDepsHash = "sha256-uMyOAYLVHhY4ytvEFvVzdoQ7ExzQ4sH+ZtDrEacu5bk=";
+    makeCacheWritable = true;
+    npmFlags = [ "--legacy-peer-deps" ];
+    installPhase = ''
+      runHook preInstall
+      mv public/ $out
+      runHook postInstall
+    '';
+  };
+
+  meta = with lib; {
+    changelog = "https://github.com/cooklang/cookcli/releases/tag/v${version}";
+    description = "A suite of tools to create shopping lists and maintain recipes";
+    homepage = "https://cooklang.org/";
+    license = [ licenses.mit ];
+    mainProgram = "cook";
+    maintainers = [ maintainers.emilioziniades ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix
index 29864f1cd8d0..bd7d147cfeb0 100644
--- a/pkgs/by-name/co/cosmic-comp/package.nix
+++ b/pkgs/by-name/co/cosmic-comp/package.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , rustPlatform
 , fetchFromGitHub
 , makeBinaryWrapper
@@ -12,6 +13,9 @@
 , xwayland
 , wayland
 , xorg
+, useXWayland ? true
+, systemd
+, useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd
 }:
 
 rustPlatform.buildRustPackage {
@@ -41,7 +45,18 @@ rustPlatform.buildRustPackage {
   separateDebugInfo = true;
 
   nativeBuildInputs = [ makeBinaryWrapper pkg-config ];
-  buildInputs = [ libglvnd libinput libxkbcommon mesa seatd udev wayland ];
+  buildInputs = [
+      libglvnd
+      libinput
+      libxkbcommon
+      mesa
+      seatd
+      udev
+      wayland
+    ] ++ lib.optional useSystemd systemd;
+
+  # Only default feature is systemd
+  buildNoDefaultFeatures = !useSystemd;
 
   # Force linking to libEGL, which is always dlopen()ed, and to
   # libwayland-client, which is always dlopen()ed except by the
@@ -56,11 +71,13 @@ rustPlatform.buildRustPackage {
   # These libraries are only used by the X11 backend, which will not
   # be the common case, so just make them available, don't link them.
   postInstall = ''
-    wrapProgram $out/bin/cosmic-comp \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
+    wrapProgramArgs=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
         xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrandr
-      ]} \
-      --prefix PATH : ${lib.makeBinPath [ xwayland ]}
+    ]})
+  '' + lib.optionalString useXWayland ''
+    wrapProgramArgs+=(--prefix PATH : ${lib.makeBinPath [ xwayland ]})
+  '' + ''
+    wrapProgram $out/bin/cosmic-comp "''${wrapProgramArgs[@]}"
   '';
 
   meta = with lib; {
diff --git a/pkgs/by-name/co/cosmic-edit/Cargo.lock b/pkgs/by-name/co/cosmic-edit/Cargo.lock
index f58cf5af778c..fbfce7d41330 100644
--- a/pkgs/by-name/co/cosmic-edit/Cargo.lock
+++ b/pkgs/by-name/co/cosmic-edit/Cargo.lock
@@ -365,9 +365,9 @@ dependencies = [
 
 [[package]]
 name = "async-io"
-version = "2.2.2"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6afaa937395a620e33dc6a742c593c01aced20aa376ffb0f628121198578ccc7"
+checksum = "fb41eb19024a91746eba0773aa5e16036045bbf45733766661099e182ea6a744"
 dependencies = [
  "async-lock 3.3.0",
  "cfg-if 1.0.0",
@@ -375,8 +375,8 @@ dependencies = [
  "futures-io",
  "futures-lite 2.2.0",
  "parking",
- "polling 3.3.1",
- "rustix 0.38.28",
+ "polling 3.3.2",
+ "rustix 0.38.30",
  "slab",
  "tracing",
  "windows-sys 0.52.0",
@@ -415,7 +415,7 @@ dependencies = [
  "cfg-if 1.0.0",
  "event-listener 3.1.0",
  "futures-lite 1.13.0",
- "rustix 0.38.28",
+ "rustix 0.38.30",
  "windows-sys 0.48.0",
 ]
 
@@ -436,13 +436,13 @@ version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
 dependencies = [
- "async-io 2.2.2",
+ "async-io 2.3.0",
  "async-lock 2.8.0",
  "atomic-waker",
  "cfg-if 1.0.0",
  "futures-core",
  "futures-io",
- "rustix 0.38.28",
+ "rustix 0.38.30",
  "signal-hook-registry",
  "slab",
  "windows-sys 0.48.0",
@@ -488,7 +488,7 @@ name = "atomicwrites"
 version = "0.4.2"
 source = "git+https://github.com/jackpot51/rust-atomicwrites#043ab4859d53ffd3d55334685303d8df39c9f768"
 dependencies = [
- "rustix 0.38.28",
+ "rustix 0.38.30",
  "tempfile",
  "windows-sys 0.48.0",
 ]
@@ -585,9 +585,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 dependencies = [
  "serde",
 ]
@@ -998,7 +998,7 @@ dependencies = [
 [[package]]
 name = "cosmic-config"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "atomicwrites",
  "cosmic-config-derive",
@@ -1013,7 +1013,7 @@ dependencies = [
 [[package]]
 name = "cosmic-config-derive"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "quote",
  "syn 1.0.109",
@@ -1031,7 +1031,6 @@ dependencies = [
  "i18n-embed",
  "i18n-embed-fl",
  "ignore",
- "lazy_static",
  "lexical-sort",
  "libcosmic",
  "log",
@@ -1059,9 +1058,9 @@ dependencies = [
 [[package]]
 name = "cosmic-text"
 version = "0.10.0"
-source = "git+https://github.com/pop-os/cosmic-text?branch=refactor#dd4c4cbbe2d5ed5046054b5361a6eeead50e0bb0"
+source = "git+https://github.com/pop-os/cosmic-text#8457e68d984c465f7c5306424a73aa162aff32f2"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "cosmic_undo_2",
  "fontdb",
  "libm",
@@ -1074,6 +1073,7 @@ dependencies = [
  "swash",
  "syntect",
  "sys-locale",
+ "ttf-parser 0.20.0",
  "unicode-bidi",
  "unicode-linebreak",
  "unicode-script",
@@ -1083,7 +1083,7 @@ dependencies = [
 [[package]]
 name = "cosmic-theme"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "almost",
  "cosmic-config",
@@ -1233,7 +1233,7 @@ version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "libloading 0.8.1",
  "winapi",
 ]
@@ -1494,7 +1494,7 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "97fb1b703ffbc7ebd216eba7900008049a56ace55580ecb2ee7fa801e8d8be87"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "bytemuck",
  "drm-ffi",
  "drm-fourcc",
@@ -1703,9 +1703,9 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "fdeflate"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "209098dd6dfc4445aa6111f0e98653ac323eaa4dfd212c9ca3931bf9955c31bd"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
 dependencies = [
  "simd-adler32",
 ]
@@ -2221,9 +2221,9 @@ dependencies = [
 
 [[package]]
 name = "glow"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "886c2a30b160c4c6fec8f987430c26b526b7988ca71f664e6a699ddf6f9601e4"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
 dependencies = [
  "js-sys",
  "slotmap",
@@ -2242,8 +2242,8 @@ dependencies = [
 
 [[package]]
 name = "glyphon"
-version = "0.3.0"
-source = "git+https://github.com/jackpot51/glyphon.git?branch=refactor#c28dc99c86b6b598633e6623096b21632f266976"
+version = "0.4.1"
+source = "git+https://github.com/jackpot51/glyphon.git#abb70c0fda8cf1a5dfc314c1c778103d7ba951e6"
 dependencies = [
  "cosmic-text",
  "etagere",
@@ -2268,7 +2268,7 @@ version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "gpu-alloc-types",
 ]
 
@@ -2278,7 +2278,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
@@ -2301,7 +2301,7 @@ version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "gpu-descriptor-types",
  "hashbrown 0.14.3",
 ]
@@ -2312,7 +2312,7 @@ version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
 ]
 
 [[package]]
@@ -2494,9 +2494,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f"
 
 [[package]]
 name = "hex"
@@ -2612,7 +2612,7 @@ dependencies = [
 [[package]]
 name = "iced"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "iced_accessibility",
  "iced_core",
@@ -2620,14 +2620,14 @@ dependencies = [
  "iced_renderer",
  "iced_widget",
  "iced_winit",
- "image 0.24.7",
+ "image 0.24.8",
  "thiserror",
 ]
 
 [[package]]
 name = "iced_accessibility"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "accesskit",
  "accesskit_winit",
@@ -2636,7 +2636,7 @@ dependencies = [
 [[package]]
 name = "iced_core"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "bitflags 1.3.2",
  "instant",
@@ -2652,7 +2652,7 @@ dependencies = [
 [[package]]
 name = "iced_futures"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "futures",
  "iced_core",
@@ -2665,7 +2665,7 @@ dependencies = [
 [[package]]
 name = "iced_graphics"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "bitflags 1.3.2",
  "bytemuck",
@@ -2673,7 +2673,7 @@ dependencies = [
  "glam",
  "half",
  "iced_core",
- "image 0.24.7",
+ "image 0.24.8",
  "kamadak-exif",
  "log",
  "lyon_path",
@@ -2688,7 +2688,7 @@ dependencies = [
 [[package]]
 name = "iced_renderer"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "iced_graphics",
  "iced_tiny_skia",
@@ -2701,7 +2701,7 @@ dependencies = [
 [[package]]
 name = "iced_runtime"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "iced_core",
  "iced_futures",
@@ -2711,7 +2711,7 @@ dependencies = [
 [[package]]
 name = "iced_style"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "iced_core",
  "once_cell",
@@ -2721,7 +2721,7 @@ dependencies = [
 [[package]]
 name = "iced_tiny_skia"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "bytemuck",
  "cosmic-text",
@@ -2739,7 +2739,7 @@ dependencies = [
 [[package]]
 name = "iced_wgpu"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "bitflags 1.3.2",
  "bytemuck",
@@ -2759,7 +2759,7 @@ dependencies = [
 [[package]]
 name = "iced_widget"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "iced_renderer",
  "iced_runtime",
@@ -2773,7 +2773,7 @@ dependencies = [
 [[package]]
 name = "iced_winit"
 version = "0.12.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "iced_graphics",
  "iced_runtime",
@@ -2840,21 +2840,20 @@ dependencies = [
 
 [[package]]
 name = "image"
-version = "0.24.7"
+version = "0.24.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
+checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
 dependencies = [
  "bytemuck",
  "byteorder",
  "color_quant",
  "exr",
  "gif 0.12.0",
- "jpeg-decoder 0.3.0",
- "num-rational 0.4.1",
+ "jpeg-decoder 0.3.1",
  "num-traits",
- "png 0.17.10",
+ "png 0.17.11",
  "qoi",
- "tiff 0.9.0",
+ "tiff 0.9.1",
 ]
 
 [[package]]
@@ -2942,7 +2941,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455"
 dependencies = [
  "hermit-abi",
- "rustix 0.38.28",
+ "rustix 0.38.30",
  "windows-sys 0.52.0",
 ]
 
@@ -2978,9 +2977,9 @@ dependencies = [
 
 [[package]]
 name = "jpeg-decoder"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
 dependencies = [
  "rayon",
 ]
@@ -3092,7 +3091,7 @@ checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
 [[package]]
 name = "libcosmic"
 version = "0.1.0"
-source = "git+https://github.com/pop-os/libcosmic#94a1bbdaa5315aa42cf9d5a48be1410968a6e326"
+source = "git+https://github.com/pop-os/libcosmic#4e18199444aecbc60f25a12e8adb91926aa5e653"
 dependencies = [
  "apply",
  "ashpd",
@@ -3166,7 +3165,7 @@ version = "0.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "libc",
  "redox_syscall 0.4.1",
 ]
@@ -3177,7 +3176,7 @@ version = "0.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "libc",
  "redox_syscall 0.4.1",
 ]
@@ -3205,9 +3204,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.12"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "locale_config"
@@ -3240,9 +3239,9 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "lru"
-version = "0.11.1"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21"
+checksum = "2994eeba8ed550fd9b47a0b38f0242bc3344e496483c6180b69139cc2fa5d1d7"
 dependencies = [
  "hashbrown 0.14.3",
 ]
@@ -3374,7 +3373,7 @@ version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "block",
  "core-graphics-types",
  "foreign-types 0.5.0",
@@ -3492,7 +3491,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ae585df4b6514cf8842ac0f1ab4992edc975892704835b549cf818dc0191249e"
 dependencies = [
  "bit-set",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "codespan-reporting",
  "hexf-parse",
  "indexmap",
@@ -3668,7 +3667,7 @@ version = "0.27.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "cfg-if 1.0.0",
  "libc",
 ]
@@ -3711,7 +3710,7 @@ version = "6.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "crossbeam-channel",
  "filetime",
  "fsevent-sys",
@@ -4303,9 +4302,9 @@ dependencies = [
 
 [[package]]
 name = "pkg-config"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
 
 [[package]]
 name = "plist"
@@ -4335,9 +4334,9 @@ dependencies = [
 
 [[package]]
 name = "png"
-version = "0.17.10"
+version = "0.17.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
 dependencies = [
  "bitflags 1.3.2",
  "crc32fast",
@@ -4364,14 +4363,14 @@ dependencies = [
 
 [[package]]
 name = "polling"
-version = "3.3.1"
+version = "3.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e"
+checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41"
 dependencies = [
  "cfg-if 1.0.0",
  "concurrent-queue",
  "pin-project-lite",
- "rustix 0.38.28",
+ "rustix 0.38.30",
  "tracing",
  "windows-sys 0.52.0",
 ]
@@ -4557,9 +4556,9 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
  "either",
  "rayon-core",
@@ -4567,9 +4566,9 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
@@ -4667,10 +4666,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cadccb3d99a9efb8e5e00c16fbb732cbe400db2ec7fc004697ee7d97d86cf1f4"
 dependencies = [
  "gif 0.12.0",
- "jpeg-decoder 0.3.0",
+ "jpeg-decoder 0.3.1",
  "log",
  "pico-args",
- "png 0.17.10",
+ "png 0.17.11",
  "rgb",
  "svgtypes",
  "tiny-skia 0.11.3",
@@ -4716,7 +4715,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
 dependencies = [
  "base64",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "serde",
  "serde_derive",
 ]
@@ -4817,14 +4816,14 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.28"
+version = "0.38.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316"
+checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "errno",
  "libc",
- "linux-raw-sys 0.4.12",
+ "linux-raw-sys 0.4.13",
  "windows-sys 0.52.0",
 ]
 
@@ -4844,7 +4843,7 @@ version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "bytemuck",
  "libm",
  "smallvec",
@@ -5059,9 +5058,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.2"
+version = "1.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+checksum = "2593d31f82ead8df961d8bd23a64c2ccf2eb5dd34b0a34bfb4dd54011c72009e"
 
 [[package]]
 name = "smithay-client-toolkit"
@@ -5149,7 +5148,7 @@ dependencies = [
  "objc",
  "raw-window-handle 0.5.2",
  "redox_syscall 0.4.1",
- "rustix 0.38.28",
+ "rustix 0.38.30",
  "tiny-xlib",
  "wasm-bindgen",
  "wayland-backend",
@@ -5344,7 +5343,7 @@ dependencies = [
  "cfg-if 1.0.0",
  "fastrand 2.0.1",
  "redox_syscall 0.4.1",
- "rustix 0.38.28",
+ "rustix 0.38.30",
  "windows-sys 0.52.0",
 ]
 
@@ -5390,12 +5389,12 @@ dependencies = [
 
 [[package]]
 name = "tiff"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
 dependencies = [
  "flate2",
- "jpeg-decoder 0.3.0",
+ "jpeg-decoder 0.3.1",
  "weezl",
 ]
 
@@ -5438,7 +5437,7 @@ dependencies = [
  "arrayvec 0.7.4",
  "bytemuck",
  "cfg-if 1.0.0",
- "png 0.17.10",
+ "png 0.17.11",
  "tiny-skia-path 0.8.4",
 ]
 
@@ -5453,7 +5452,7 @@ dependencies = [
  "bytemuck",
  "cfg-if 1.0.0",
  "log",
- "png 0.17.10",
+ "png 0.17.11",
  "tiny-skia-path 0.11.3",
 ]
 
@@ -5703,9 +5702,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.14"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-bidi-mirroring"
@@ -6022,7 +6021,7 @@ version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "nix 0.26.4",
  "wayland-backend",
  "wayland-scanner 0.31.0",
@@ -6214,7 +6213,7 @@ checksum = "ef91c1d62d1e9e81c79e600131a258edf75c9531cbdbde09c44a011a47312726"
 dependencies = [
  "arrayvec 0.7.4",
  "bit-vec",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "codespan-reporting",
  "log",
  "naga",
@@ -6239,7 +6238,7 @@ dependencies = [
  "arrayvec 0.7.4",
  "ash",
  "bit-set",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "block",
  "core-graphics-types",
  "d3d12",
@@ -6278,7 +6277,7 @@ version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0d5ed5f0edf0de351fe311c53304986315ce866f394a2e6df0c4b3c70774bcdd"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "js-sys",
  "web-sys",
 ]
diff --git a/pkgs/by-name/co/cosmic-edit/package.nix b/pkgs/by-name/co/cosmic-edit/package.nix
index 1841d8bfb660..60020d46df45 100644
--- a/pkgs/by-name/co/cosmic-edit/package.nix
+++ b/pkgs/by-name/co/cosmic-edit/package.nix
@@ -6,27 +6,30 @@
   cmake,
   makeBinaryWrapper,
   cosmic-icons,
+  glib,
+  gtk3,
   just,
   pkg-config,
+  libglvnd,
   libxkbcommon,
-  glib,
-  gtk3,
   libinput,
   fontconfig,
   freetype,
+  mesa,
   wayland,
   xorg,
+  vulkan-loader,
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cosmic-edit";
-  version = "0-unstable-2024-01-12";
+  version = "0-unstable-2024-01-19";
 
   src = fetchFromGitHub {
     owner = "pop-os";
     repo = pname;
-    rev = "c1944f9c15812ce842c91a77e228cc22a0f49f18";
-    hash = "sha256-wJnBfBQKYmpJBSboGKtlwew17clE60ac2AismIe1XaA=";
+    rev = "b97eb0603bf6c7e168fc6e17aa779af1f105b9ee";
+    hash = "sha256-oprqM3QTewC/L/KOQ4uT81dPLqjP+Kp+wxgkY8l1Nc8=";
   };
 
   cargoLock = {
@@ -34,10 +37,10 @@ rustPlatform.buildRustPackage rec {
     outputHashes = {
       "accesskit-0.11.0" = "sha256-xVhe6adUb8VmwIKKjHxwCwOo5Y1p3Or3ylcJJdLDrrE=";
       "atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
-      "cosmic-config-0.1.0" = "sha256-GHjoLGF9hFJRpf5i+TwflRnh8N+oWyWZ9fqgRFLXQsw=";
+      "cosmic-config-0.1.0" = "sha256-PR6u2DT+HneMSFszfg0sZK7oLwsOX4YtpUP88KWHy68=";
       "cosmic-syntax-theme-0.1.0" = "sha256-9Vf2s5Ry2hco80EbXOuVLwvOWygRiuaRD4tTImWooSg=";
-      "cosmic-text-0.10.0" = "sha256-PHz5jUecK889E88Y20XUe2adTUO8ElnoV7IIcaohMUw=";
-      "glyphon-0.3.0" = "sha256-JGkNIfj1HjOF8kGxqJPNq/JO+NhZD6XrZ4KmkXEP6Xc=";
+      "cosmic-text-0.10.0" = "sha256-WxT0LPXu17jb0XpuCu2PjlGTV1a0K1HMhl6WpciKMkM=";
+      "glyphon-0.4.1" = "sha256-mwJXi63LTBIVFrFcywr/NeOJKfMjQaQkNl3CSdEgrZc=";
       "sctk-adwaita-0.5.4" = "sha256-yK0F2w/0nxyKrSiHZbx7+aPNY2vlFs7s8nu/COp2KqQ=";
       "softbuffer-0.3.3" = "sha256-eKYFVr6C1+X6ulidHIu9SP591rJxStxwL9uMiqnXx4k=";
       "smithay-client-toolkit-0.16.1" = "sha256-z7EZThbh7YmKzAACv181zaEZmWxTrMkFRzP0nfsHK6c=";
@@ -54,13 +57,15 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ just pkg-config makeBinaryWrapper ];
   buildInputs = [
     libxkbcommon
+    glib
+    gtk3
     xorg.libX11
     libinput
+    libglvnd
     fontconfig
     freetype
     wayland
-    glib
-    gtk3
+    vulkan-loader
   ];
 
   dontUseJustBuild = true;
@@ -74,11 +79,23 @@ rustPlatform.buildRustPackage rec {
     "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-edit"
   ];
 
+  # Force linking to libEGL, which is always dlopen()ed, and to
+  # libwayland-client, which is always dlopen()ed except by the
+  # obscure winit backend.
+  RUSTFLAGS = map (a: "-C link-arg=${a}") [
+    "-Wl,--push-state,--no-as-needed"
+    "-lEGL"
+    "-lwayland-client"
+    "-Wl,--pop-state"
+  ];
+
   # LD_LIBRARY_PATH can be removed once tiny-xlib is bumped above 0.2.2
   postInstall = ''
     wrapProgram "$out/bin/${pname}" \
       --suffix XDG_DATA_DIRS : "${cosmic-icons}/share" \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ xorg.libX11 ]}
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
+        xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrandr vulkan-loader mesa.drivers
+      ]}
   '';
 
   meta = with lib; {
diff --git a/pkgs/by-name/co/cosmic-icons/package.nix b/pkgs/by-name/co/cosmic-icons/package.nix
index 200049f7b8af..92f927d366c8 100644
--- a/pkgs/by-name/co/cosmic-icons/package.nix
+++ b/pkgs/by-name/co/cosmic-icons/package.nix
@@ -8,13 +8,13 @@
 }:
 stdenvNoCC.mkDerivation rec {
   pname = "cosmic-icons";
-  version = "unstable-2023-11-28";
+  version = "unstable-2024-01-23";
 
   src = fetchFromGitHub {
     owner = "pop-os";
     repo = pname;
-    rev = "1e328dacc117c21000a000a3170a801f467f3c2b";
-    sha256 = "sha256-QmCHkqSPWfZhofh4ieJhl4yjt0R4J15+xElbszHS/4M=";
+    rev = "49a1762c958196924afcf1eae52ee910c4b4bc9f";
+    sha256 = "sha256-wL4f1rXWuFmeZCAAw0y+JQ3iesZcEC3XxWWrvrJ50oA=";
   };
 
   nativeBuildInputs = [ just ];
diff --git a/pkgs/by-name/cr/crawley/package.nix b/pkgs/by-name/cr/crawley/package.nix
index 3e0f4bc205f0..bd0c2e6816f3 100644
--- a/pkgs/by-name/cr/crawley/package.nix
+++ b/pkgs/by-name/cr/crawley/package.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "crawley";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "s0rg";
     repo = "crawley";
     rev = "v${version}";
-    hash = "sha256-IRhi6z2TQZOOw8EZkJ3/VEOBzAlg0DQjq9wSt+/c3ck=";
+    hash = "sha256-hQvmWob5zCM1dh9oIACjIndaus0gYSidrs4QZM5jtEg=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
-  vendorHash = "sha256-0BUbALCBR9CGwkqz1cUnzF3xjQkkzfdS7JDDTXkGmN4=";
+  vendorHash = "sha256-u1y70ydfVG/aH1CVKOUDBmtZgTLlXXrQGt3mfGDibzs=";
 
   ldflags = [ "-w" "-s" ];
 
diff --git a/pkgs/by-name/cr/cryptor/package.nix b/pkgs/by-name/cr/cryptor/package.nix
index 5c11cab2f679..b47edbbab572 100644
--- a/pkgs/by-name/cr/cryptor/package.nix
+++ b/pkgs/by-name/cr/cryptor/package.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "cryptor";
-  version = "1.0.3";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "moson-mo";
     repo = "cryptor";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-bgOOueOKSc6dLyxGU+ds9XYWM5mO+qCKC4dkCu2B1sQ=";
+    hash = "sha256-EqiaWgwhSLwZnovqYQ9rfHwvhWucmK0ujSsOhMJEJ1A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/dc/dc3dd/package.nix b/pkgs/by-name/dc/dc3dd/package.nix
new file mode 100644
index 000000000000..2744168adfc7
--- /dev/null
+++ b/pkgs/by-name/dc/dc3dd/package.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchzip
+, perlPackages
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "dc3dd";
+  version = "7.3.1";
+
+  src = fetchzip {
+    url = "mirror://sourceforge/dc3dd/dc3dd-${finalAttrs.version}.zip";
+    hash = "sha256-SYDoqGlsROHX1a0jJX11F+yp6CeFK+tZbYOOnScC6Ig=";
+  };
+
+  outputs = [ "out" "man" ];
+
+  preConfigure = ''
+    chmod +x configure
+  '';
+
+  buildInputs = [ perlPackages.LocaleGettext ];
+
+  makeFlags = [
+    "PREFIX=$out"
+  ];
+
+  configureFlags = lib.optionals (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "--build=arm" ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "A patched version of dd that includes a number of features useful for computer forensics";
+    mainProgram = "dc3dd";
+    homepage = "https://sourceforge.net/projects/dc3dd/";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+    license = licenses.gpl3Plus; # Refer to https://sourceforge.net/p/dc3dd/code/HEAD/tree/COPYING
+    broken = stdenv.isDarwin;
+  };
+})
diff --git a/pkgs/by-name/do/docfd/package.nix b/pkgs/by-name/do/docfd/package.nix
new file mode 100644
index 000000000000..6ed94576dc99
--- /dev/null
+++ b/pkgs/by-name/do/docfd/package.nix
@@ -0,0 +1,44 @@
+{ lib, ocamlPackages, fetchFromGitHub, python3, dune_3, makeWrapper, poppler_utils }:
+
+ocamlPackages.buildDunePackage rec {
+  pname = "docfd";
+  version = "2.1.0";
+
+  minimalOCamlVersion = "5.1";
+
+  src = fetchFromGitHub {
+    owner = "darrenldl";
+    repo = "docfd";
+    rev = version;
+    hash = "sha256-1DobGm6nI14951KNKEE0D3AF1TFsWQUEhe4L1PdWBDw=";
+  };
+
+  nativeBuildInputs = [ python3 dune_3 makeWrapper ];
+  buildInputs = [ poppler_utils ] ++
+    (with ocamlPackages; [ oseq spelll notty nottui lwd cmdliner domainslib digestif yojson eio_main containers-data timedesc ]);
+
+  postInstall = ''
+  # docfd needs pdftotext from popler_utils to allow pdf search
+  wrapProgram $out/bin/docfd --prefix PATH : "${lib.getBin poppler_utils}/bin/"
+  '';
+
+  meta = with lib; {
+    description = "TUI multiline fuzzy document finder";
+    longDescription = ''
+      Interactive grep, but word/token/phrase based rather than regex
+      and line based, so you can search across multiple lines (simlar to
+      Recoll but TUI).
+      Aims to provide a good UX via text editor and PDF viewer integration.
+      When opening a text file, Docfd opens file at first line of search
+      result. If PDF, then Docfd opens file at first page of the search
+      result and starts a text search of the most unique word of the matched
+      phrase within the same page.
+      Main intended use case: navigating directories of notes and PDFs.
+    '';
+    homepage = "https://github.com/darrenldl/docfd";
+    license = licenses.mit;
+    maintainers = with maintainers; [ chewblacka ];
+    platforms = platforms.all;
+    mainProgram = "docfd";
+  };
+}
diff --git a/pkgs/by-name/do/doge/package.nix b/pkgs/by-name/do/doge/package.nix
index 975fbfa84922..d35d6708bdf2 100644
--- a/pkgs/by-name/do/doge/package.nix
+++ b/pkgs/by-name/do/doge/package.nix
@@ -2,26 +2,21 @@
   lib,
   python3Packages,
   fetchFromGitHub,
-  fetchpatch,
 }:
-python3Packages.buildPythonPackage rec {
+python3Packages.buildPythonApplication rec {
   pname = "doge";
-  version = "3.6.0";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "Olivia5k";
     repo = "doge";
     rev = version;
-    hash = "sha256-72nRghD5k0ofrlvV3hEdyrr6uzV4+8At1bOCmRZTxhk=";
+    hash = "sha256-LmEbDQUZe/3lg/Ze+WUNyYfC8zMr88/rn10sL0jgbGA=";
   };
 
-  patches = [
-    # https://github.com/Olivia5k/doge/pull/66, adds a small doge
-    (fetchpatch {
-      url = "https://github.com/Olivia5k/doge/commit/14e3ccc0a3f1e91862492e20a34d008768a34039.patch";
-      hash = "sha256-3F+7F9RuoiVWoN+69T7tM871AXX1IQbHqFxD+S3TjxQ=";
-    })
-  ];
+  pyproject = true;
+  nativeBuildInputs = [python3Packages.setuptools];
+  propagatedBuildInputs = [python3Packages.python-dateutil];
 
   meta = {
     homepage = "https://github.com/Olivia5k/doge";
diff --git a/pkgs/by-name/do/dorion/package.nix b/pkgs/by-name/do/dorion/package.nix
index a21d5d48effd..e80edc25835d 100644
--- a/pkgs/by-name/do/dorion/package.nix
+++ b/pkgs/by-name/do/dorion/package.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   name = "dorion";
-  version = "4.0.0";
+  version = "4.1.1";
 
   src = fetchurl {
     url = "https://github.com/SpikeHD/Dorion/releases/download/v${finalAttrs.version }/Dorion_${finalAttrs.version}_amd64.deb";
-    hash = "sha256-vUa7QgOBwLJe36SqD7OCz5uM60/rLmNnM+AWGE/g3jM=";
+    hash = "sha256-H+r5+TPZ1Yyn0nE4MJGlN9WEn13nA8fkI1ZmfFor5Lk=";
   };
 
   unpackCmd = ''
diff --git a/pkgs/by-name/dp/dpp/package.nix b/pkgs/by-name/dp/dpp/package.nix
new file mode 100644
index 000000000000..c76e3e57f403
--- /dev/null
+++ b/pkgs/by-name/dp/dpp/package.nix
@@ -0,0 +1,49 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, libopus
+, openssl
+, zlib
+, libsodium
+, pkg-config
+, autoPatchelfHook
+, lib
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "dpp";
+  version = "10.0.29";
+
+  src = fetchFromGitHub {
+    owner = "brainboxdotcc";
+    repo = "DPP";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-BJMg3MLSfb9x/2lPHITeI3SWwW1OZVUUMVltTWUcw9I=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+    zlib
+    libsodium
+    libopus
+  ];
+
+  meta = {
+    description = "Discord C++ Library";
+    longDescription = ''
+      D++ (DPP) is a lightweight and simple library for Discord written in modern C++.
+      It is designed to cover as much of the API specification as possible and to have
+      an incredibly small memory footprint, even when caching large amounts of data.
+      This package contains version ${finalAttrs.version} of the DPP library.
+    '';
+    homepage = "https://github.com/brainboxdotcc/DPP";
+    changelog = "https://github.com/brainboxdotcc/DPP/releases/tag/${finalAttrs.src.rev}";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ xbz ];
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/dy/dynamodb-local/package.nix b/pkgs/by-name/dy/dynamodb-local/package.nix
index d603d4377a82..2c9b2c041091 100644
--- a/pkgs/by-name/dy/dynamodb-local/package.nix
+++ b/pkgs/by-name/dy/dynamodb-local/package.nix
@@ -1,9 +1,21 @@
 { lib
 , stdenvNoCC
 , fetchurl
-, jre
+, jdk_headless
+, jre_minimal
 , makeBinaryWrapper
 }:
+let
+  jre = jre_minimal.override {
+    modules = [
+      "java.logging"
+      "java.xml"
+      "java.desktop"
+      "java.management"
+    ];
+    jdk = jdk_headless;
+  };
+in
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "dynamodb-local";
   version = "2023-12-14";
diff --git a/pkgs/by-name/ea/easyeasm/package.nix b/pkgs/by-name/ea/easyeasm/package.nix
new file mode 100644
index 000000000000..fc15fe0ab840
--- /dev/null
+++ b/pkgs/by-name/ea/easyeasm/package.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, makeWrapper
+, amass
+, alterx
+, oam-tools
+, subfinder
+}:
+
+buildGoModule rec {
+  pname = "easyeasm";
+  version = "1.0.6";
+
+  src = fetchFromGitHub {
+    owner = "g0ldencybersec";
+    repo = "EasyEASM";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-/PhoH+5k63rJL1N3V3IL1TP1oacsBfGfVw/OueN9j8M=";
+  };
+
+  vendorHash = "sha256-g+yaVIx4jxpAQ/+WrGKxhVeliYx7nLQe/zsGpxV4Fn4=";
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  postFixup = ''
+    wrapProgram $out/bin/easyeasm \
+      --prefix PATH : "${lib.makeBinPath [
+        amass
+        alterx
+        oam-tools
+        subfinder
+      ]}"
+  '';
+
+  meta = with lib; {
+    description = "Attack surface management tool";
+    homepage = "https://github.com/g0ldencybersec/EasyEASM";
+    changelog = "https://github.com/g0ldencybersec/EasyEASM/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+    mainProgram = "easyeasm";
+  };
+}
diff --git a/pkgs/by-name/ei/eigenlayer/package.nix b/pkgs/by-name/ei/eigenlayer/package.nix
index b8ec1b3679bb..021a37b55cb9 100644
--- a/pkgs/by-name/ei/eigenlayer/package.nix
+++ b/pkgs/by-name/ei/eigenlayer/package.nix
@@ -6,13 +6,13 @@
 }:
 buildGoModule rec {
   pname = "eigenlayer";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "Layr-Labs";
     repo = "eigenlayer-cli";
     rev = "v${version}";
-    hash = "sha256-a+I0lfO8l9xorEnW9rUBPhq+xgAwKVjzIdgQX5al/cY=";
+    hash = "sha256-1S/fSb94umtWsPH9R7tCl8wqNPYnJ+E80pnQdheP+CE=";
   };
 
   vendorHash = "sha256-MWNHoUgnD1V1zeLwoos20eKIUGtFHao/k2yvowInkT0=";
diff --git a/pkgs/by-name/ei/eiwd/package.nix b/pkgs/by-name/ei/eiwd/package.nix
index 16a8cd98f30b..8aa11c83e34b 100644
--- a/pkgs/by-name/ei/eiwd/package.nix
+++ b/pkgs/by-name/ei/eiwd/package.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "eiwd";
-  version = "2.8-1";
+  version = "2.10-1";
 
   src = fetchFromGitHub {
     owner = "illiliti";
     repo = "eiwd";
     rev = finalAttrs.version;
-    hash = "sha256-SD/RJFuGBwFT4G73f93VrWO/6mGKQxjVhmNrpKRA/WY=";
+    hash = "sha256-AB4NBwfELy0yjzxS0rCcF641CGEdyM9tTB+ZWaM+erg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/el/elektroid/package.nix b/pkgs/by-name/el/elektroid/package.nix
index c76ba7f1c6e5..b0730c3dc54b 100644
--- a/pkgs/by-name/el/elektroid/package.nix
+++ b/pkgs/by-name/el/elektroid/package.nix
@@ -14,7 +14,7 @@
 }:
 
 let
-  version = "2.5.2";
+  version = "3.0";
 in
 stdenv.mkDerivation {
   inherit version;
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
     owner = "dagargo";
     repo = "elektroid";
     rev = version;
-    sha256 = "sha256-wpPHcrlCX7RD/TGH2Xrth+oCg98gMm035tfTBV70P+Y=";
+    sha256 = "sha256-77bsFB6hOxiW5f9bZ7IQIiwWd3MgtJUD37E6IXBfv/E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/ex/exegol/package.nix b/pkgs/by-name/ex/exegol/package.nix
new file mode 100644
index 000000000000..033a46f0467e
--- /dev/null
+++ b/pkgs/by-name/ex/exegol/package.nix
@@ -0,0 +1,44 @@
+{
+  fetchPypi,
+  lib,
+  python3,
+}:
+python3.pkgs.buildPythonApplication rec {
+  pname = "Exegol";
+  version = "4.3.1";
+  format = "setuptools";
+
+  # Project has no unit tests
+  doCheck = false;
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pyyaml
+    gitpython
+    docker
+    requests
+    rich
+    argcomplete
+  ];
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-cMbMmkG52A104iHVwe+6k1Fazi7fISeU/doWJqw5Whw=";
+  };
+
+  meta = with lib; {
+    description = "Fully featured and community-driven hacking environment";
+    longDescription = ''
+      Exegol is a community-driven hacking environment, powerful and yet
+      simple enough to be used by anyone in day to day engagements. Exegol is
+      the best solution to deploy powerful hacking environments securely,
+      easily, professionally. Exegol fits pentesters, CTF players, bug bounty
+      hunters, researchers, beginners and advanced users, defenders, from
+      stylish macOS users and corporate Windows pros to UNIX-like power users.
+    '';
+    homepage = "https://github.com/ThePorgs/Exegol";
+    changelog = "https://github.com/ThePorgs/Exegol/releases/tag/${version}";
+    license = licenses.gpl3Only;
+    mainProgram = "exegol";
+    maintainers = with maintainers; [ _0b11stan ];
+  };
+}
diff --git a/pkgs/by-name/ez/eza/package.nix b/pkgs/by-name/ez/eza/package.nix
index 053ca0e8fa2f..3045f9e967ee 100644
--- a/pkgs/by-name/ez/eza/package.nix
+++ b/pkgs/by-name/ez/eza/package.nix
@@ -17,16 +17,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "eza";
-  version = "0.17.3";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "eza-community";
     repo = "eza";
     rev = "v${version}";
-    hash = "sha256-kjECdZ97v8QOzz+hG0H3q21PWbIWxx2JeIhhLQDZXAY=";
+    hash = "sha256-LUCsn4yCzqb6ASNMzWTxgZVDeoL3wYjjVbTRaI+Uh40=";
   };
 
-  cargoHash = "sha256-KAjLnhEWD2c0A/+5w3eQrCMUfbo/C5KoceV9IbNLMCc=";
+  cargoHash = "sha256-BUVtINvHqjeWM5dmLQpdEiTb4SMVJGtJ61bEaV0N8sg=";
 
   nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
   buildInputs = [ zlib ]
diff --git a/pkgs/by-name/fa/fanbox-dl/package.nix b/pkgs/by-name/fa/fanbox-dl/package.nix
index 3c5556de1cd0..7d3a5fb3a8b3 100644
--- a/pkgs/by-name/fa/fanbox-dl/package.nix
+++ b/pkgs/by-name/fa/fanbox-dl/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fanbox-dl";
-  version = "0.17.0";
+  version = "0.18.2";
 
   src = fetchFromGitHub {
     owner = "hareku";
     repo = "fanbox-dl";
     rev = "v${version}";
-    hash = "sha256-Fwc8S48zCE5s66gNVhJi9Y45v7rKo9K9dYQoao33mDE=";
+    hash = "sha256-hHjkV/wv+UMO4pyWDyMio3XbiyM6M02eLcT2rauvh/A=";
   };
 
-  vendorHash = "sha256-PsbPAwjqT2PP6DtrzHaQox1er/LAkiHPMVMLH4gmfpg=";
+  vendorHash = "sha256-o1DFHwSpHtbuU8BFcrk18hPRJJkeoPkYnybIz22Blfk=";
 
   # pings websites during testing
   doCheck = false;
diff --git a/pkgs/by-name/fa/fast-float/package.nix b/pkgs/by-name/fa/fast-float/package.nix
new file mode 100644
index 000000000000..db49804a3eff
--- /dev/null
+++ b/pkgs/by-name/fa/fast-float/package.nix
@@ -0,0 +1,29 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "fast-float";
+  version = "6.0.0";
+
+  src = fetchFromGitHub {
+    owner = "fastfloat";
+    repo = "fast_float";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-yKHmturouLJkBAdIWoi8vhmipP6jxAwyA+YoSOl6xPU=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  meta = {
+    description = "Fast and exact implementation of the C++ from_chars functions for number types";
+    homepage = "https://github.com/fastfloat/fast_float";
+    license = with lib.licenses; [ asl20 boost mit ];
+    maintainers = with lib.maintainers; [ wegank ];
+    platforms = lib.platforms.all;
+  };
+})
diff --git a/pkgs/by-name/fb/fbset/package.nix b/pkgs/by-name/fb/fbset/package.nix
new file mode 100644
index 000000000000..7c05e4741d81
--- /dev/null
+++ b/pkgs/by-name/fb/fbset/package.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, unstableGitUpdater
+, bison
+, flex
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "fbset";
+  version = "2.1";
+
+  src = fetchFromGitHub {
+    owner = "sudipm-mukherjee";
+    repo = "fbset";
+    rev = "debian/${finalAttrs.version}-33";
+    hash = "sha256-nwWkQAA5+v5A8AmKg77mrSq2pXeSivxd0r7JyoBrs9A=";
+  };
+
+  nativeBuildInputs = [
+    bison
+    flex
+  ];
+
+  installFlags = [ "DESTDIR=$(out)" ];
+
+  passthru = {
+    updateScript = unstableGitUpdater { };
+  };
+
+  meta = with lib; {
+    description = "framebuffer device maintenance program";
+    # NOTE: the website of the original author disappeared, the only remaining
+    # repository is maintained by the debian maintainer of the package at
+    # https://github.com/sudipm-mukherjee/fbset
+    homepage = "http://users.telenet.be/geertu/Linux/fbdev/";
+    license = licenses.gpl2Only;
+    mainProgram = "fbset";
+    maintainers = with maintainers; [ baloo ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/fe/fennel-ls/package.nix b/pkgs/by-name/fe/fennel-ls/package.nix
new file mode 100644
index 000000000000..bb23ed3f5a9f
--- /dev/null
+++ b/pkgs/by-name/fe/fennel-ls/package.nix
@@ -0,0 +1,29 @@
+{ lib
+, stdenv
+, fetchFromSourcehut
+, lua
+, luaPackages
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "fennel-ls";
+  version = "0.1.0";
+
+  src = fetchFromSourcehut {
+    owner = "~xerool";
+    repo = "fennel-ls";
+    rev = finalAttrs.version;
+    hash = "sha256-RW3WFJGwascD4YnnrAm/2LFnVigzgtfzVubLMDW9J5s=";
+  };
+  buildInputs = [ lua luaPackages.fennel ];
+  makeFlags = [ "PREFIX=$(out)" ];
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with lib; {
+    description = "A language server for intelligent editing of the Fennel Programming Language";
+    homepage = "https://git.sr.ht/~xerool/fennel-ls/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ yisraeldov ];
+    platforms = lua.meta.platforms;
+    mainProgram = "fennel-ls";
+  };
+})
diff --git a/pkgs/by-name/fi/files-cli/package.nix b/pkgs/by-name/fi/files-cli/package.nix
index bc7a004d4675..cbf686821728 100644
--- a/pkgs/by-name/fi/files-cli/package.nix
+++ b/pkgs/by-name/fi/files-cli/package.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "files-cli";
-  version = "2.12.24";
+  version = "2.12.25";
 
   src = fetchFromGitHub {
     repo = "files-cli";
     owner = "files-com";
     rev = "v${version}";
-    hash = "sha256-Ne386WK0icQcsW2tqfkiW5udI7Umq10v+954bfjQiHM=";
+    hash = "sha256-gsZawXXLesMHr3DU0cowrAcYdtuoosmTLws8SBSFKOY=";
   };
 
-  vendorHash = "sha256-en2gLeYZr7MwZnz47qAxQo48ZIsDZPXoCkMV2c4LHSU=";
+  vendorHash = "sha256-MomEyp81wMQbq4x+CFRoS7hn5fNw3NTAVQVzSd1dr+s=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/by-name/fl/flarectl/package.nix b/pkgs/by-name/fl/flarectl/package.nix
index 18bae5d27bfd..05066f90fb40 100644
--- a/pkgs/by-name/fl/flarectl/package.nix
+++ b/pkgs/by-name/fl/flarectl/package.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "flarectl";
-  version = "0.86.0";
+  version = "0.87.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cloudflare-go";
     rev = "v${version}";
-    hash = "sha256-BGjay9DTlIU563bCSjprq5YwF47Xqj+ZulCda5t2t5I=";
+    hash = "sha256-M3Qc9PAcYASOQyEjWdGrLKx9h6uQGPftMJnD0Uc2buc=";
   };
 
   vendorHash = "sha256-Bn2SDvFWmmMYDpOe+KBuzyTZLpdDtYDPc8HixgEgX+M=";
diff --git a/pkgs/by-name/fo/fortune-kind/package.nix b/pkgs/by-name/fo/fortune-kind/package.nix
index 80403d149f30..fc60b98db0eb 100644
--- a/pkgs/by-name/fo/fortune-kind/package.nix
+++ b/pkgs/by-name/fo/fortune-kind/package.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fortune-kind";
-  version = "0.1.12";
+  version = "0.1.13";
 
   src = fetchFromGitHub {
     owner = "cafkafk";
     repo = "fortune-kind";
     rev = "v${version}";
-    hash = "sha256-1abke8wPvIFTmvEJ83TdfONFPBuJHbgmVHAoKddoTRw=";
+    hash = "sha256-Tpg0Jq2EhkwQuz5ZOtv6Rb5YESSlmzLoJPTxYJNNgac=";
   };
 
-  cargoHash = "sha256-SRPhALRGkFZDl23Om/obg1Crd9yNXroN7F/7agobuqw=";
+  cargoHash = "sha256-hxbvsAQsZWUAgj8QAlcxqBA5YagLO3/vz9lQGJMHUjw=";
 
   nativeBuildInputs = [ makeBinaryWrapper installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
diff --git a/pkgs/by-name/fu/fuchsia-cursor/package.nix b/pkgs/by-name/fu/fuchsia-cursor/package.nix
new file mode 100644
index 000000000000..96fd659e47e7
--- /dev/null
+++ b/pkgs/by-name/fu/fuchsia-cursor/package.nix
@@ -0,0 +1,60 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, clickgen
+, python3
+, themeVariants ? []
+, sizeVariants ? []
+, platformVariants ? []
+}:
+
+let
+  pname = "fuchsia-cursor";
+in
+lib.checkListOfEnum "${pname}: theme variants" [ "Fuchsia" "Fuchsia-Pop" "Fuchsia-Red" ] themeVariants
+lib.checkListOfEnum "${pname}: size variants" [ "16" "24" "32" "48" ] sizeVariants
+lib.checkListOfEnum "${pname}: platform variants" [ "x11" "windows" ] platformVariants
+
+stdenvNoCC.mkDerivation rec {
+  inherit pname;
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "ful1e5";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-WnDtUsjRXT7bMppgwU5BIDqphP69DmPzQM/0qXES5tM=";
+  };
+
+  nativeBuildInputs = [
+    clickgen
+    python3.pkgs.attrs
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    ${if themeVariants != [] then ''
+    name= ctgen build.toml \
+      ${lib.optionalString (themeVariants != []) "-d bitmaps/" + toString themeVariants + " -n " + toString themeVariants} \
+      ${lib.optionalString (sizeVariants != []) "-s " + toString sizeVariants} \
+      ${lib.optionalString (platformVariants != []) "-p " + toString platformVariants} \
+      -o $out/share/icons
+    '' else ''
+    name= ctgen build.toml -d bitmaps/Fuchsia -n Fuchsia \
+      ${lib.optionalString (sizeVariants != []) "-s " + toString sizeVariants} \
+      ${lib.optionalString (platformVariants != []) "-p " + toString platformVariants} \
+      -o $out/share/icons
+    ''}
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "First OpenSource port of FuchsiaOS's cursors for Linux and Windows";
+    homepage = "https://github.com/ful1e5/fuchsia-cursor";
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.all;
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/by-name/ga/galerio/package.nix b/pkgs/by-name/ga/galerio/package.nix
new file mode 100644
index 000000000000..aa1075f81a75
--- /dev/null
+++ b/pkgs/by-name/ga/galerio/package.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "galerio";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "dbrgn";
+    repo = "galerio";
+    rev = "v${version}";
+    hash = "sha256-JR/YfMUs5IHBRr3uYqHXLNcr23YHyDvgH2y/1ip+2Y8=";
+  };
+
+  cargoHash = "sha256-nYaCN09LP/2MfNRY8oZKtjzFCBFCeRF1IZ2ZBmbHg7I=";
+
+  meta = with lib; {
+    description = " A simple generator for self-contained HTML flexbox galleries";
+    homepage = "https://github.com/dbrgn/galerio";
+    maintainers = with maintainers; [ dbrgn ];
+    license = with licenses; [ asl20 mit ];
+    mainProgram = "galerio";
+  };
+}
diff --git a/pkgs/by-name/gc/gcs/package.nix b/pkgs/by-name/gc/gcs/package.nix
new file mode 100644
index 000000000000..3ded7802d674
--- /dev/null
+++ b/pkgs/by-name/gc/gcs/package.nix
@@ -0,0 +1,86 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, pkg-config
+, moreutils
+, libGL
+, libX11
+, libXcursor
+, libXrandr
+, libXinerama
+, libXi
+, libXxf86vm
+, mupdf
+, fontconfig
+, freetype
+, stdenv
+, darwin
+, nix-update-script
+}:
+
+buildGoModule rec {
+  pname = "gcs";
+  version = "5.20.4";
+
+  src = fetchFromGitHub {
+    owner = "richardwilkes";
+    repo = "gcs";
+    rev = "v${version}";
+    hash = "sha256-aoU2wRz2XB6+3e6am/dLjRbcDmWTjtDtTBwc6c4n3DE=";
+  };
+
+  modPostBuild = ''
+    chmod +w vendor/github.com/richardwilkes/pdf
+    sed -i 's|-lmupdf[^ ]* |-lmupdf |g' vendor/github.com/richardwilkes/pdf/pdf.go
+  '';
+
+  vendorHash = "sha256-ee6qvwnUXtsBcovPOORfVpdndICtIUYe4GrP52V/P3k=";
+
+  nativeBuildInputs = [ pkg-config moreutils ];
+
+  buildInputs = [
+    libGL
+    libX11
+    libXcursor
+    libXrandr
+    libXinerama
+    libXi
+    libXxf86vm
+    mupdf
+    fontconfig
+    freetype
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk_11_0.frameworks.Carbon
+    darwin.apple_sdk_11_0.frameworks.Cocoa
+    darwin.apple_sdk_11_0.frameworks.Kernel
+  ];
+
+  # flags are based on https://github.com/richardwilkes/gcs/blob/master/build.sh
+  flags = [ "-a -trimpath" ];
+  ldflags = [ "-s" "-w" "-X github.com/richardwilkes/toolbox/cmdline.AppVersion=${version}" ];
+
+  # Workaround for https://github.com/NixOS/nixpkgs/issues/166205
+  env = lib.optionalAttrs (stdenv.cc.libcxx != null) {
+    NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
+  };
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 $GOPATH/bin/gcs -t $out/bin
+    runHook postInstall
+  '';
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = {
+    changelog = "https://github.com/richardwilkes/gcs/releases/tag/${src.rev}";
+    description = "A stand-alone, interactive, character sheet editor for the GURPS 4th Edition roleplaying game system";
+    homepage = "https://gurpscharactersheet.com/";
+    license = lib.licenses.mpl20;
+    mainProgram = "gcs";
+    maintainers = with lib.maintainers; [ tomasajt ];
+    platforms = lib.platforms.linux ++ lib.platforms.darwin;
+    # incompatible vendor/github.com/richardwilkes/unison/internal/skia/libskia_linux.a
+    broken = stdenv.isLinux && stdenv.isAarch64;
+  };
+}
diff --git a/pkgs/by-name/ge/geist-font/package.nix b/pkgs/by-name/ge/geist-font/package.nix
new file mode 100644
index 000000000000..34dd5dae26b8
--- /dev/null
+++ b/pkgs/by-name/ge/geist-font/package.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenvNoCC
+, fetchzip
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "geist-font";
+  version = "1.1.0";
+
+  srcs = [
+    (fetchzip {
+      name = "geist-mono";
+      url = "https://github.com/vercel/geist-font/releases/download/${version}/Geist.Mono.zip";
+      stripRoot = false;
+      hash = "sha256-8I4O2+bJAlUiDIhbyXzAcwXP5qpmHoh4IfrFio7IZN8=";
+    })
+    (fetchzip {
+      name = "geist-sans";
+      url = "https://github.com/vercel/geist-font/releases/download/${version}/Geist.zip";
+      stripRoot = false;
+      hash = "sha256-nSN+Ql5hTd230w/u6VZyAZaPtFSaHGmMc6T1fgGTCME=";
+    })
+  ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm444 geist-{mono,sans}/*/*.otf -t $out/share/fonts/opentype
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Font family created by Vercel in collaboration with Basement Studio";
+    homepage = "https://vercel.com/font";
+    license = lib.licenses.ofl;
+    maintainers = with lib.maintainers; [ eclairevoyant x0ba ];
+    platforms = lib.platforms.all;
+    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
+  };
+}
diff --git a/pkgs/by-name/go/goldwarden/package.nix b/pkgs/by-name/go/goldwarden/package.nix
index 8d0072132af5..edb7f892efd9 100644
--- a/pkgs/by-name/go/goldwarden/package.nix
+++ b/pkgs/by-name/go/goldwarden/package.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "goldwarden";
-  version = "0.2.9";
+  version = "0.2.10";
 
   src = fetchFromGitHub {
     owner = "quexten";
     repo = "goldwarden";
     rev = "v${version}";
-    hash = "sha256-UjNDr5iWOd34VrKCrYVlPJVbKq/HizupYJ9H4jJq8oI=";
+    hash = "sha256-NYK9H9BCjUweip8HjxHqN2wjUGmg0zicJSC/S1hpvx8=";
   };
 
   vendorHash = "sha256-AiYgI2dBhVYxGNU7t4dywi8KWiffO6V05KFYoGzA0t4=";
diff --git a/pkgs/by-name/go/golink/package.nix b/pkgs/by-name/go/golink/package.nix
new file mode 100644
index 000000000000..d71e3df66339
--- /dev/null
+++ b/pkgs/by-name/go/golink/package.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "golink";
+  version = "0-unstable-2024-01-26";
+
+  src = fetchFromGitHub {
+    owner = "tailscale";
+    repo = "golink";
+    # https://github.com/tailscale/golink/issues/104
+    rev = "d9de913fb174ec2569a15b6e2dbe5cb6e4a0a853";
+    hash = "sha256-w6jRbajEQkOrBqxDnQreSmSB5DNL9flWjloShiIBM+M=";
+  };
+
+  vendorHash = "sha256-R/o3csZC/M9nm0k5STL7AhbG5J4LtdxqKaVjM/9ggW8=";
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  meta = with lib; {
+    description = "A private shortlink service for tailnets";
+    homepage = "https://github.com/tailscale/golink";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
+    mainProgram = "golink";
+  };
+}
diff --git a/pkgs/by-name/go/gomarkdoc/package.nix b/pkgs/by-name/go/gomarkdoc/package.nix
new file mode 100644
index 000000000000..cea73b16081d
--- /dev/null
+++ b/pkgs/by-name/go/gomarkdoc/package.nix
@@ -0,0 +1,44 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+  testers,
+  gomarkdoc
+}:
+
+buildGoModule rec {
+  pname = "gomarkdoc";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "princjef";
+    repo = "gomarkdoc";
+    rev = "v${version}";
+    hash = "sha256-eMH+F1ZXAKHqnrvOJvCETm2NiDwY03IFHrDNYr3jaW8=";
+  };
+
+  subPackages = [ "cmd/gomarkdoc" ];
+
+  vendorHash = "sha256-gCuYqk9agH86wfGd7k6QwLUiG3Mv6TrEd9tdyj8AYPs=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.version=${version}"
+    "-X main.commit=${src.rev}"
+  ];
+
+  passthru.tests = {
+    version = testers.testVersion {
+      package = gomarkdoc;
+    };
+  };
+
+  meta = with lib; {
+    description = "Generate markdown documentation for Go (golang) code";
+    homepage = "https://github.com/princjef/gomarkdoc";
+    license = licenses.mit;
+    maintainers = with maintainers; [ brpaz ];
+    mainProgram = "gomarkdoc";
+  };
+}
diff --git a/pkgs/by-name/gr/graphite-cli/package-lock.json b/pkgs/by-name/gr/graphite-cli/package-lock.json
new file mode 100644
index 000000000000..8f6a8fb32c5f
--- /dev/null
+++ b/pkgs/by-name/gr/graphite-cli/package-lock.json
@@ -0,0 +1,237 @@
+{
+  "name": "@withgraphite/graphite-cli",
+  "version": "1.1.2",
+  "lockfileVersion": 3,
+  "requires": true,
+  "packages": {
+    "": {
+      "name": "@withgraphite/graphite-cli",
+      "version": "1.1.2",
+      "license": "None",
+      "dependencies": {
+        "chalk": "^4.1.2",
+        "ws": "^8.6.0",
+        "yargs": "^17.5.1"
+      },
+      "bin": {
+        "graphite": "graphite.js",
+        "gt": "graphite.js"
+      }
+    },
+    "node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
+      }
+    },
+    "node_modules/cliui": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+      "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.1",
+        "wrap-ansi": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+    },
+    "node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+    },
+    "node_modules/escalade": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "engines": {
+        "node": "6.* || 8.* || >= 10.*"
+      }
+    },
+    "node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/wrap-ansi": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
+    },
+    "node_modules/ws": {
+      "version": "8.16.0",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
+      "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
+      "engines": {
+        "node": ">=10.0.0"
+      },
+      "peerDependencies": {
+        "bufferutil": "^4.0.1",
+        "utf-8-validate": ">=5.0.2"
+      },
+      "peerDependenciesMeta": {
+        "bufferutil": {
+          "optional": true
+        },
+        "utf-8-validate": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/y18n": {
+      "version": "5.0.8",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/yargs": {
+      "version": "17.7.2",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+      "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+      "dependencies": {
+        "cliui": "^8.0.1",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "require-directory": "^2.1.1",
+        "string-width": "^4.2.3",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^21.1.1"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/yargs-parser": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+      "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+      "engines": {
+        "node": ">=12"
+      }
+    }
+  }
+}
diff --git a/pkgs/by-name/gr/graphite-cli/package.nix b/pkgs/by-name/gr/graphite-cli/package.nix
new file mode 100644
index 000000000000..9478aba48dde
--- /dev/null
+++ b/pkgs/by-name/gr/graphite-cli/package.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildNpmPackage
+, fetchurl
+, installShellFiles
+}:
+
+buildNpmPackage rec {
+  pname = "graphite-cli";
+  version = "1.1.2";
+
+  src = fetchurl {
+    url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-${version}.tgz";
+    hash = "sha256-NNBI1S33jD6ZKbztZXSRtYwt3w0T4A5Bg2zxMWw74cY=";
+  };
+
+  npmDepsHash = "sha256-Nk0Aoyv4eEXZD4B9B/B6mJd/UDy8Kc/sHtQWXrLukSk=";
+
+  postPatch = ''
+    ln -s ${./package-lock.json} package-lock.json
+  '';
+
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  dontNpmBuild = true;
+
+  postInstall = ''
+    installShellCompletion --cmd gt \
+      --bash <($out/bin/gt completion) \
+      --zsh <(ZSH_NAME=zsh $out/bin/gt completion)
+  '';
+
+  passthru.updateScript = ./update.sh;
+
+  meta = {
+    description = "CLI that makes creating stacked git changes fast & intuitive";
+    downloadPage = "https://www.npmjs.com/package/@withgraphite/graphite-cli";
+    homepage = "https://graphite.dev/docs/graphite-cli";
+    license = lib.licenses.unfree; # no license specified
+    mainProgram = "gt";
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/pkgs/by-name/gr/graphite-cli/update.sh b/pkgs/by-name/gr/graphite-cli/update.sh
new file mode 100755
index 000000000000..2940714e37bf
--- /dev/null
+++ b/pkgs/by-name/gr/graphite-cli/update.sh
@@ -0,0 +1,30 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p gnused nix nodejs prefetch-npm-deps wget
+
+set -euo pipefail
+pushd "$(dirname "${BASH_SOURCE[0]}")"
+
+version=$(npm view @withgraphite/graphite-cli version)
+tarball="graphite-cli-$version.tgz"
+url="https://registry.npmjs.org/@withgraphite/graphite-cli/-/$tarball"
+
+if [[ "$UPDATE_NIX_OLD_VERSION" == "$version" ]]; then
+    echo "Already up to date!"
+    exit 0
+fi
+
+sed -i 's#version = "[^"]*"#version = "'"$version"'"#' package.nix
+
+sha256=$(nix-prefetch-url "$url")
+src_hash=$(nix-hash --to-sri --type sha256 "$sha256")
+sed -i 's#hash = "[^"]*"#hash = "'"$src_hash"'"#' package.nix
+
+rm -f package-lock.json package.json *.tgz
+wget "$url"
+tar xf "$tarball" --strip-components=1 package/package.json
+npm i --package-lock-only
+npm_hash=$(prefetch-npm-deps package-lock.json)
+sed -i 's#npmDepsHash = "[^"]*"#npmDepsHash = "'"$npm_hash"'"#' package.nix
+rm -f package.json *.tgz
+
+popd
diff --git a/pkgs/data/themes/gruvbox-gtk-theme/default.nix b/pkgs/by-name/gr/gruvbox-gtk-theme/package.nix
index b579f71d8b8b..042f23bebba3 100644
--- a/pkgs/data/themes/gruvbox-gtk-theme/default.nix
+++ b/pkgs/by-name/gr/gruvbox-gtk-theme/package.nix
@@ -6,7 +6,7 @@
 }:
 stdenvNoCC.mkDerivation {
   pname = "gruvbox-gtk-theme";
-  version = "unstable-2023-05-26";
+  version = "unstable-2023-05-28";
 
   src = fetchFromGitHub {
     owner = "Fausto-Korpsvart";
diff --git a/pkgs/by-name/gt/gtimelog/package.nix b/pkgs/by-name/gt/gtimelog/package.nix
new file mode 100644
index 000000000000..05a0c7e3dd99
--- /dev/null
+++ b/pkgs/by-name/gt/gtimelog/package.nix
@@ -0,0 +1,60 @@
+{ lib, fetchFromGitHub, python3Packages, wrapGAppsHook
+, glibcLocales, gobject-introspection, gtk3, libsoup_3, libsecret
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "gtimelog";
+  version = "unstable-2023-10-05";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "ba606cbe8eef0e3dc098c6ab3bcbe381bf7ef410";
+    hash = "sha256-+iBHfbUJtAtI/vcHj0Y8f9OxAp1SnhQyMqedVzSYPZQ=";
+  };
+
+  nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
+  buildInputs = [ glibcLocales gtk3 libsoup_3 libsecret ];
+  propagatedBuildInputs = with python3Packages; [
+    pygobject3
+  ];
+  checkInputs = with python3Packages; [
+    freezegun
+  ];
+
+  checkPhase = ''
+    patchShebangs ./runtests
+    ./runtests
+  '';
+
+  pythonImportsCheck = [ "gtimelog" ];
+
+  dontWrapGApps = true;
+
+  # Arguments to be passed to `makeWrapper`, only used by buildPython*
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  postInstall = ''
+    install -Dm644 gtimelog.desktop $out/share/applications/gtimelog.desktop
+    install -Dm644 src/gtimelog/gtimelog.png $out/share/icons/hicolor/48x48/apps/gtimelog.png
+    install -Dm644 src/gtimelog/gtimelog-large.png $out/share/icons/hicolor/256x256/apps/gtimelog.png
+  '';
+
+  meta = with lib; {
+    description = "A time tracking app";
+    longDescription = ''
+      GTimeLog is a small time tracking application for GNOME.
+      It's main goal is to be as unintrusive as possible.
+
+      To run gtimelog successfully on a system that does not have full GNOME
+      installed, the following NixOS options should be set:
+      - programs.dconf.enable = true;
+    '';
+    homepage = "https://gtimelog.org/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ oxzi ];
+  };
+}
diff --git a/pkgs/by-name/gu/guile-chickadee/package.nix b/pkgs/by-name/gu/guile-chickadee/package.nix
new file mode 100644
index 000000000000..f4a454bf4e45
--- /dev/null
+++ b/pkgs/by-name/gu/guile-chickadee/package.nix
@@ -0,0 +1,80 @@
+{ lib
+, stdenv
+, fetchurl
+, autoreconfHook
+, makeWrapper
+, testers
+, guile
+, pkg-config
+, texinfo
+, freetype
+, libjpeg_turbo
+, libpng
+, libvorbis
+, mpg123
+, openal
+, readline
+, guile-opengl
+, guile-sdl2
+, guile-chickadee
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "guile-chickadee";
+  version = "0.10.0";
+
+  src = fetchurl {
+    url = "https://files.dthompson.us/chickadee/chickadee-${finalAttrs.version}.tar.gz";
+    hash = "sha256-Ey9TtuWaGlHG2cYYwqJIt2RX7XNUW28OGl/kuPUCD3U=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    makeWrapper
+    autoreconfHook
+    guile
+    pkg-config
+    texinfo
+  ];
+
+  buildInputs = [
+    freetype
+    guile
+    libjpeg_turbo
+    libpng
+    libvorbis
+    mpg123
+    openal
+    readline
+  ];
+
+  propagatedBuildInputs = [
+    guile-opengl
+    guile-sdl2
+  ];
+
+  makeFlags = [ "GUILE_AUTO_COMPILE=0" ];
+
+  postInstall = ''
+    wrapProgram $out/bin/chickadee \
+      --prefix GUILE_LOAD_PATH : "$out/${guile.siteDir}:$GUILE_LOAD_PATH" \
+      --prefix GUILE_LOAD_COMPILED_PATH : "$out/${guile.siteCcacheDir}:$GUILE_LOAD_COMPILED_PATH"
+  '';
+
+  passthru.tests.version = testers.testVersion {
+    package = guile-chickadee;
+    command = "chickadee -v";
+  };
+
+  doCheck = !stdenv.isDarwin;
+
+  meta = with lib; {
+    description = "Game development toolkit for Guile Scheme with SDL2 and OpenGL";
+    homepage = "https://dthompson.us/projects/chickadee.html";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ chito ];
+    mainProgram = "chickadee";
+    platforms = guile.meta.platforms;
+    broken = stdenv.isDarwin;
+  };
+})
diff --git a/pkgs/by-name/gu/guile-goblins/package.nix b/pkgs/by-name/gu/guile-goblins/package.nix
index 5b1b5a797927..13b391e4f6f5 100644
--- a/pkgs/by-name/gu/guile-goblins/package.nix
+++ b/pkgs/by-name/gu/guile-goblins/package.nix
@@ -4,21 +4,22 @@
 , guile
 , guile-fibers
 , guile-gcrypt
+, guile-gnutls
 , texinfo
 , pkg-config
 }:
 stdenv.mkDerivation rec {
   pname = "guile-goblins";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchurl {
     url = "https://spritely.institute/files/releases/guile-goblins/guile-goblins-${version}.tar.gz";
-    hash = "sha256-1FD35xvayqC04oPdgts08DJl6PVnhc9K/Dr+NYtxhMU=";
+    hash = "sha256-P5WKKv5i5Lrs4en+IWL40AkYAD+bgTyFdsQqE4FxPfA=";
   };
 
   strictDeps = true;
   nativeBuildInputs = [ guile pkg-config texinfo ];
-  buildInputs = [ guile guile-fibers guile-gcrypt ];
+  buildInputs = [ guile guile-fibers guile-gcrypt guile-gnutls ];
   makeFlags = [ "GUILE_AUTO_COMPILE=0" ];
 
   # tests hang on darwin, and fail randomly on aarch64-linux on ofborg
diff --git a/pkgs/by-name/ha/handheld-daemon/package.nix b/pkgs/by-name/ha/handheld-daemon/package.nix
new file mode 100644
index 000000000000..bb0c9d65bfe1
--- /dev/null
+++ b/pkgs/by-name/ha/handheld-daemon/package.nix
@@ -0,0 +1,54 @@
+{ config
+, fetchFromGitHub
+, hidapi
+, kmod
+, lib
+, python3
+, toybox
+}:
+python3.pkgs.buildPythonApplication rec {
+  pname = "handheld-daemon";
+  version = "1.1.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "hhd-dev";
+    repo = "hhd";
+    rev = "v${version}";
+    hash = "sha256-ovLC1BQ98jUaDEMPBzWma4TYSzTF+yE/cMemFdJmqlE=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    evdev
+    hidapi
+    kmod
+    pyyaml
+    rich
+    setuptools
+    toybox
+  ];
+
+  # This package doesn't have upstream tests.
+  doCheck = false;
+
+  # handheld-daemon contains a fork of the python module `hid`, so this hook
+  # is borrowed from the `hid` derivation.
+  postPatch = ''
+    hidapi=${ hidapi }/lib/
+    test -d $hidapi || { echo "ERROR: $hidapi doesn't exist, please update/fix this build expression."; exit 1; }
+    sed -i -e "s|libhidapi|$hidapi/libhidapi|" src/hhd/controller/lib/hid.py
+  '';
+
+  postInstall = ''
+    install -Dm644 $src/usr/lib/udev/rules.d/83-hhd.rules -t $out/lib/udev/rules.d/
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/hhd-dev/hhd/";
+    description = "Linux support for handheld gaming devices like the Legion Go, ROG Ally, and GPD Win";
+    platforms = platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ appsforartists ];
+    mainProgram = "hhd";
+  };
+}
diff --git a/pkgs/by-name/he/helix-gpt/package.nix b/pkgs/by-name/he/helix-gpt/package.nix
new file mode 100644
index 000000000000..4c39a7b357cf
--- /dev/null
+++ b/pkgs/by-name/he/helix-gpt/package.nix
@@ -0,0 +1,63 @@
+{ stdenv, lib, fetchFromGitHub, bun, makeBinaryWrapper }:
+let
+  pin = lib.importJSON ./pin.json;
+  src = fetchFromGitHub {
+    owner = "leona";
+    repo = "helix-gpt";
+    rev = pin.version;
+    hash = pin.srcHash;
+  };
+  node_modules = stdenv.mkDerivation {
+    pname = "helix-gpt-node_modules";
+    inherit src;
+    version = pin.version;
+    impureEnvVars = lib.fetchers.proxyImpureEnvVars
+      ++ [ "GIT_PROXY_COMMAND" "SOCKS_SERVER" ];
+    nativeBuildInputs = [ bun ];
+    dontConfigure = true;
+    buildPhase = ''
+      bun install --no-progress --frozen-lockfile
+    '';
+    installPhase = ''
+      mkdir -p $out/node_modules
+
+      cp -R ./node_modules $out
+    '';
+    outputHash = pin."${stdenv.system}";
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+  };
+in
+stdenv.mkDerivation {
+  pname = "helix-gpt";
+  version = pin.version;
+  inherit src;
+  nativeBuildInputs = [ makeBinaryWrapper ];
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+
+    ln -s ${node_modules}/node_modules $out
+    cp -R ./* $out
+
+    # bun is referenced naked in the package.json generated script
+    makeBinaryWrapper ${bun}/bin/bun $out/bin/helix-gpt \
+      --prefix PATH : ${lib.makeBinPath [ bun ]} \
+      --add-flags "run --prefer-offline --no-install --cwd $out ./src/app.ts"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/leona/helix-gpt";
+    description = "Code completion LSP for Helix with support for Copilot + OpenAI";
+    maintainers = with maintainers; [ happysalada ];
+    license = with licenses; [ mit ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/by-name/he/helix-gpt/pin.json b/pkgs/by-name/he/helix-gpt/pin.json
new file mode 100644
index 000000000000..ab2a52bb0968
--- /dev/null
+++ b/pkgs/by-name/he/helix-gpt/pin.json
@@ -0,0 +1,6 @@
+{
+  "version": "0.15",
+  "srcHash": "sha256-95NnV//DesXQB1ttvOylu1DAnmRcvTUpZzK1NTZtuVE=",
+  "x86_64-linux": "sha256-h6wGkOfSbB8Rwm7eFvcowDdH1RdS6eFaxgf+SdYvYt8=",
+  "x86_64-darwin": "sha256-45RFY4Kqt5ooMOY75oJcSUZdkERzpyIMQkni4NJ/s1Y="
+}
diff --git a/pkgs/by-name/hu/hugo/package.nix b/pkgs/by-name/hu/hugo/package.nix
index b0d570194add..9ef270fac1cd 100644
--- a/pkgs/by-name/hu/hugo/package.nix
+++ b/pkgs/by-name/hu/hugo/package.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.121.2";
+  version = "0.122.0";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = "hugo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-YwwvxkS+oqTMZzwq6iiB/0vLHIyeReQi76B7fCgqtcY=";
+    hash = "sha256-pnsQo+nSuIlQ6KKTP1z/BZ74zEu9HjYP66hGStPc0pc=";
   };
 
-  vendorHash = "sha256-4j61PFULBXhtERDhbHW7gwEuP+KBUEdva2fjuaAVY0o=";
+  vendorHash = "sha256-aYy0TOfNIqx44UBXJhewvxi+oSAWjmi/32WvI3HJ3MM=";
 
   doCheck = false;
 
diff --git a/pkgs/by-name/ia/ianny/package.nix b/pkgs/by-name/ia/ianny/package.nix
new file mode 100644
index 000000000000..6b7c3ca940e5
--- /dev/null
+++ b/pkgs/by-name/ia/ianny/package.nix
@@ -0,0 +1,43 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, dbus
+, pkg-config
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ianny";
+  version = "1.0.0beta.1";
+
+  src = fetchFromGitHub {
+    owner = "zefr0x";
+    repo = "ianny";
+    rev = "v${version}";
+    hash = "sha256-Bnr+wtusvTM690IISBs0wKj0ChBoIrMHyVZ8wdGgK08=";
+  };
+
+  cargoHash = "sha256-/8C+hDq/z+h1uxO9prLbKHgyfMGrMODAs5/yUrutaAM=";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ dbus.dev ];
+
+  postPatch = ''
+    substituteInPlace src/main.rs \
+      --replace-fail '/usr/share/locale' $out/share/locale
+  '';
+
+  preFixup = ''
+    mkdir -p $out/etc/xdg/autostart
+    mkdir -p $out/usr/share/local
+    cp io.github.zefr0x.ianny.desktop $out/etc/xdg/autostart/
+  '';
+
+  meta = with lib; {
+    description = "Desktop utility that helps preventing repetitive strain injuries by keeping track of usage patterns and periodically informing the user to take breaks.";
+    homepage = "https://github.com/zefr0x/ianny";
+    license = licenses.gpl3;
+    mainProgram = "ianny";
+    maintainers = with maintainers; [ max-amb ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/games/igir/default.nix b/pkgs/by-name/ig/igir/package.nix
index 4f4cf048a659..80e22a5e4334 100644
--- a/pkgs/tools/games/igir/default.nix
+++ b/pkgs/by-name/ig/igir/package.nix
@@ -1,6 +1,11 @@
 { lib
 , buildNpmPackage
 , fetchFromGitHub
+
+# for patching bundled 7z binary from the 7zip-bin node module
+# at lib/node_modules/igir/node_modules/7zip-bin/linux/x64/7za
+, autoPatchelfHook
+, stdenv
 }:
 
 buildNpmPackage rec {
@@ -21,6 +26,14 @@ buildNpmPackage rec {
     patchShebangs scripts/update-readme-help.sh
   '';
 
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  buildInputs = [ stdenv.cc.cc.lib ];
+
+  # from lib/node_modules/igir/node_modules/@node-rs/crc32-linux-x64-musl/crc32.linux-x64-musl.node
+  # Irrelevant to our use
+  autoPatchelfIgnoreMissingDeps = [ "libc.musl-x86_64.so.1" ];
+
   meta = with lib; {
     description = "A video game ROM collection manager to help filter, sort, patch, archive, and report on collections on any OS";
     homepage = "https://igir.io";
diff --git a/pkgs/by-name/in/incus-unwrapped/package.nix b/pkgs/by-name/in/incus-unwrapped/package.nix
index 925a485a0723..d415e873f574 100644
--- a/pkgs/by-name/in/incus-unwrapped/package.nix
+++ b/pkgs/by-name/in/incus-unwrapped/package.nix
@@ -1,7 +1,6 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
-, fetchpatch
 , acl
 , cowsql
 , hwdata
@@ -17,24 +16,16 @@
 
 buildGoModule rec {
   pname = "incus-unwrapped";
-  version = "0.4.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "lxc";
     repo = "incus";
     rev = "refs/tags/v${version}";
-    hash = "sha256-crWepf5j3Gd1lhya2DGIh/to7l+AnjKJPR+qUd9WOzw=";
+    hash = "sha256-3eWkQT2P69ZfN62H9B4WLnmlUOGkpzRR0rctgchP+6A=";
   };
 
-  vendorHash = "sha256-YfUvkN1qUS3FFKb1wysg40WcJA8fT9SGDChSdT+xnkc=";
-
-  patches = [
-    # remove with > 0.4.0
-    (fetchpatch {
-      url = "https://github.com/lxc/incus/commit/c0200b455a1468685d762649120ce7e2bb25adc9.patch";
-      hash = "sha256-4fiSv6GcsKpdLh3iNbw3AGuDzcw1EadUvxtSjxRjtTA=";
-    })
-  ];
+  vendorHash = "sha256-2ZJU7WshN4UIbJv55bFeo9qiAQ/wxu182mnz7pE60xA=";
 
   postPatch = ''
     substituteInPlace internal/usbid/load.go \
@@ -108,7 +99,7 @@ buildGoModule rec {
   meta = {
     description = "Powerful system container and virtual machine manager";
     homepage = "https://linuxcontainers.org/incus";
-    changelog = "https://github.com/lxc/incus/releases/tag/incus-${version}";
+    changelog = "https://github.com/lxc/incus/releases/tag/v${version}";
     license = lib.licenses.asl20;
     maintainers = lib.teams.lxc.members;
     platforms = lib.platforms.linux;
diff --git a/pkgs/by-name/in/invidtui/package.nix b/pkgs/by-name/in/invidtui/package.nix
index a0def40e132c..81402026b127 100644
--- a/pkgs/by-name/in/invidtui/package.nix
+++ b/pkgs/by-name/in/invidtui/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "invidtui";
-  version = "0.3.7";
+  version = "0.3.8";
 
   src = fetchFromGitHub {
     owner = "darkhz";
     repo = "invidtui";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bzstO6xaVdu7u1vBgwUjnJ9CEep0UHT73FbybBRd8y8=";
+    hash = "sha256-m2ygORf6GIJZXYYJKy6i12wDEkxQywtYdCutHeiyNYY=";
   };
 
-  vendorHash = "sha256-F0Iyy8H6ZRYiAlMdYGQS2p2hFN9ICmfTiRP/F9kpW7c=";
+  vendorHash = "sha256-HQ6JHXiqawDwSV48/Czbao4opnuz1LqIBdcObrkCfNs=";
 
   doCheck = true;
 
diff --git a/pkgs/by-name/ja/jazz2/package.nix b/pkgs/by-name/ja/jazz2/package.nix
index 035842e76b54..ca7898848aa5 100644
--- a/pkgs/by-name/ja/jazz2/package.nix
+++ b/pkgs/by-name/ja/jazz2/package.nix
@@ -16,13 +16,13 @@
 assert lib.assertOneOf "graphicsLibrary" graphicsLibrary [ "SDL2" "GLFW" ];
 stdenv.mkDerivation (finalAttrs: {
   pname = "jazz2";
-  version = "2.4.1";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "deathkiller";
     repo = "jazz2-native";
     rev = finalAttrs.version;
-    hash = "sha256-AbB7xtdyin/VySswHoPRq9LmhHLUJfetXqtIxEw+KSI=";
+    hash = "sha256-IFsSIfHmSE6B1bpc5RWetJnlkv/jjlAUvRFV1pvVVNo=";
   };
 
   patches = [ ./nocontent.patch ];
diff --git a/pkgs/by-name/kp/kplex/package.nix b/pkgs/by-name/kp/kplex/package.nix
new file mode 100644
index 000000000000..78eb35f1e193
--- /dev/null
+++ b/pkgs/by-name/kp/kplex/package.nix
@@ -0,0 +1,32 @@
+{
+  stdenv,
+  fetchFromGitHub,
+  lib,
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "kplex";
+  version = "1.4";
+  src = fetchFromGitHub {
+    owner = "stripydog";
+    repo =  "kplex";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-sps9l238hGLJ673kewFH8fOJw0HphEkZbJ+VUIzxC+o=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D -m 0555 kplex $out/bin/kplex
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A multiplexer for various nmea 0183 interfaces";
+    homepage = "https://www.stripydog.com/kplex/";
+    changelog = "https://www.stripydog.com/kplex/changes.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ mabster314 ];
+    mainProgram = "kplex";
+  };
+})
diff --git a/pkgs/by-name/kt/ktfmt/package.nix b/pkgs/by-name/kt/ktfmt/package.nix
index 5428c39be0a5..49546fd41101 100644
--- a/pkgs/by-name/kt/ktfmt/package.nix
+++ b/pkgs/by-name/kt/ktfmt/package.nix
@@ -2,13 +2,13 @@
 
 maven.buildMavenPackage rec {
   pname = "ktfmt";
-  version = "0.46";
+  version = "0.47";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "ktfmt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OIbJ+J5LX6SPv5tuAiY66v/edeM7nFPHj90GXV6zaxw=";
+    hash = "sha256-vdvKHTTD84OAQacv/VE/5BxYdW4n3bxPUHF2MdH+sQQ=";
   };
 
   mvnHash = "sha256-Cl7P2i4VFJ/yk7700u62YPcacfKkhBztFvcDkYBfZEA=";
diff --git a/pkgs/by-name/le/legba/package.nix b/pkgs/by-name/le/legba/package.nix
index c4f52fcc0902..01586e05723a 100644
--- a/pkgs/by-name/le/legba/package.nix
+++ b/pkgs/by-name/le/legba/package.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "legba";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "evilsocket";
     repo = "legba";
     rev = "v${version}";
-    hash = "sha256-7HDW5M0lsKbcQw3p/CYmUeX2xE4BZXUSNqa9Ab/ZP0I=";
+    hash = "sha256-yevQEbDuVaSsSfA3ug9rDeWtGjMvS+uD7qHguRVt4sg=";
   };
 
-  cargoHash = "sha256-rkqwc8BILW/OIHa95skkG4IDlBfH3qX1ROJgcn8f2W0=";
+  cargoHash = "sha256-UBt4FP5zW+dijneHNaFJ80Ui5R+m+8aSwHTcqKDeEVg=";
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ openssl.dev samba ];
diff --git a/pkgs/by-name/li/libbfio/package.nix b/pkgs/by-name/li/libbfio/package.nix
new file mode 100644
index 000000000000..ccc4c640677c
--- /dev/null
+++ b/pkgs/by-name/li/libbfio/package.nix
@@ -0,0 +1,29 @@
+{ lib
+, fetchzip
+, fetchpatch
+, stdenv
+, gettext
+, libtool
+, pkg-config
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libbfio";
+  version = "20221025";
+
+  src = fetchzip {
+    url = "https://github.com/libyal/libbfio/releases/download/${finalAttrs.version}/libbfio-alpha-${finalAttrs.version}.tar.gz";
+    hash = "sha256-SwKQlmifyUo49yvo8RV+0nfvScPY5u+UrwjRZK2+qAg=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ gettext libtool ];
+
+  meta = {
+    description = "Library to provide basic file input/output abstraction";
+    homepage = "https://github.com/libyal/libbfio";
+    license = with lib.licenses; [ gpl3Plus lgpl3Plus ];
+    maintainers = with lib.maintainers; [ d3vil0p3r ];
+    platforms = with lib.platforms; unix ++ windows;
+  };
+})
diff --git a/pkgs/by-name/li/libbgcode/package.nix b/pkgs/by-name/li/libbgcode/package.nix
index e4dd6099bc9d..6a28df1dce61 100644
--- a/pkgs/by-name/li/libbgcode/package.nix
+++ b/pkgs/by-name/li/libbgcode/package.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation {
     description = "Prusa Block & Binary G-code reader / writer / converter";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ lach ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/by-name/li/lint-staged/package.nix b/pkgs/by-name/li/lint-staged/package.nix
index e2faec3d3fdb..11b5d7e0a5b5 100644
--- a/pkgs/by-name/li/lint-staged/package.nix
+++ b/pkgs/by-name/li/lint-staged/package.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "lint-staged";
-  version = "15.2.0";
+  version = "15.2.1";
 
   src = fetchFromGitHub {
     owner = "okonet";
     repo = "lint-staged";
     rev = "v${version}";
-    hash = "sha256-Vziz8pV3pd1Rp6X6mHzyD22Z3q5LJJTXQ8kFuHpVgKc=";
+    hash = "sha256-CYPDrzEu592gGeZkBYNGwGooRwQyKEj46hnxtBVQDT4=";
   };
 
-  npmDepsHash = "sha256-BKgncl53MKFDASXo6I2Vn3v54iTL/h9gykJ3PWNUGQU=";
+  npmDepsHash = "sha256-m7VIEuCVDPd+ZgI8DJa01f/q9uYCzRtVbdfcipBRTmY=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/by-name/li/littlefs-fuse/package.nix b/pkgs/by-name/li/littlefs-fuse/package.nix
index f5534e8191ef..feb566a822a2 100644
--- a/pkgs/by-name/li/littlefs-fuse/package.nix
+++ b/pkgs/by-name/li/littlefs-fuse/package.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "littlefs-fuse";
-  version = "2.7.4";
+  version = "2.7.5";
   src = fetchFromGitHub {
     owner = "littlefs-project";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-S4yLe6xugr/cQOmf4vS09ebCqFuDPCXySJKACr0AUDU=";
+    hash = "sha256-sSnk1iQV5aHcOPqVKbigWqojrZKlJK5CcrVlwilT2mE=";
   };
   buildInputs = [ fuse ];
   installPhase = ''
diff --git a/pkgs/development/libraries/md4c/fix-pkgconfig.patch b/pkgs/by-name/md/md4c/0001-fix-pkgconfig.patch
index e0e9f3d96b2b..e0e9f3d96b2b 100644
--- a/pkgs/development/libraries/md4c/fix-pkgconfig.patch
+++ b/pkgs/by-name/md/md4c/0001-fix-pkgconfig.patch
diff --git a/pkgs/development/libraries/md4c/default.nix b/pkgs/by-name/md/md4c/package.nix
index 6504d99af3e9..0d61de3f72cb 100644
--- a/pkgs/development/libraries/md4c/default.nix
+++ b/pkgs/by-name/md/md4c/package.nix
@@ -1,26 +1,28 @@
 { lib
-, stdenv
-, fetchFromGitHub
 , cmake
+, fetchFromGitHub
 , pkg-config
+, stdenv
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "md4c";
-  version = "0.4.8";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "mity";
-    repo = pname;
-    rev = "release-${version}";
-    hash = "sha256-+LObAD5JB8Vb4Rt4hTo1Z4ispxzfFkkXA2sw6TKB7Yo=";
+    repo = "md4c";
+    rev = "release-${finalAttrs.version}";
+    hash = "sha256-BWmzNV3iC2g8MHoYtqIcUtLQz3oaQwH+Pyy4fN3N7/k=";
   };
 
+  outputs = [ "out" "lib" "dev" "man" ];
+
   patches = [
-    # We set CMAKE_INSTALL_LIBDIR to the absolute path in $out, so
-    # prefix and exec_prefix cannot be $out, too
+    # We set CMAKE_INSTALL_LIBDIR to the absolute path in $out, so prefix and
+    # exec_prefix cannot be $out, too
     # Use CMake's _FULL_ variables instead of `prefix` concatenation.
-    ./fix-pkgconfig.patch
+    ./0001-fix-pkgconfig.patch
   ];
 
   nativeBuildInputs = [
@@ -28,14 +30,17 @@ stdenv.mkDerivation rec {
     pkg-config
   ];
 
-  meta = with lib; {
+  strictDeps = true;
+
+  meta = {
+    homepage = "https://github.com/mity/md4c";
     description = "Markdown parser made in C";
     longDescription = ''
       MD4C is Markdown parser implementation in C, with the following features:
 
       - Compliance: Generally, MD4C aims to be compliant to the latest version
         of CommonMark specification. Currently, we are fully compliant to
-        CommonMark 0.29.
+        CommonMark 0.30.
       - Extensions: MD4C supports some commonly requested and accepted
         extensions. See below.
       - Performance: MD4C is very fast.
@@ -57,11 +62,11 @@ stdenv.mkDerivation rec {
         "Unicode"). See more details below.
       - Permissive license: MD4C is available under the MIT license.
     '';
-    homepage = "https://github.com/mity/md4c";
-    license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres ];
+    changelog = "https://github.com/mity/md4c/blob/${finalAttrs.src.rev}/CHANGELOG.md";
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
     mainProgram = "md2html";
-    platforms = platforms.all;
+    platforms = lib.platforms.all;
   };
-}
+})
 # TODO: enable tests (needs Python)
diff --git a/pkgs/by-name/me/mercure/package.nix b/pkgs/by-name/me/mercure/package.nix
index 06b674d6a5bb..f489155b4c25 100644
--- a/pkgs/by-name/me/mercure/package.nix
+++ b/pkgs/by-name/me/mercure/package.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "mercure";
-  version = "0.15.6";
+  version = "0.15.9";
 
   src = fetchFromGitHub {
     owner = "dunglas";
     repo = "mercure";
     rev = "v${version}";
-    hash = "sha256-sGMjb7Ilm+RqR6bRGLAYB/nciE5oHeitDllr4H11uHU=";
+    hash = "sha256-4Y+yZSZrBDLPbQXaOCSKk/EY20Ka8CS4ivUg1TEaqXo=";
   };
 
   sourceRoot = "source/caddy";
 
-  vendorHash = "sha256-v0YKlkflo7eKXh38uqsnxZlLr3+fFl8EMeUsf8UMU48=";
+  vendorHash = "sha256-N0RmvhBlTiWmBb4TzLmaThD9jVkKgcIO9vPWxJAvLRQ=";
 
   subPackages = [ "mercure" ];
   excludedPackages = [ "../cmd/mercure" ];
diff --git a/pkgs/by-name/mo/mouse-actions/package.nix b/pkgs/by-name/mo/mouse-actions/package.nix
new file mode 100644
index 000000000000..652c5ed4243f
--- /dev/null
+++ b/pkgs/by-name/mo/mouse-actions/package.nix
@@ -0,0 +1,49 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, libX11
+, libXi
+, libXtst
+, libevdev
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mouse-actions";
+  version = "0.4.4";
+
+  src = fetchFromGitHub {
+    owner = "jersou";
+    repo = "mouse-actions";
+    rev = "v${version}";
+    hash = "sha256-02E4HrKIoBV3qZPVH6Tjz9Bv/mh5C8amO1Ilmd+YO5g=";
+  };
+
+  cargoHash = "sha256-5SUVZlrXIPtlu9KBzucZDCp5t5t8Z4/Nfht2Pw5agVI=";
+
+  buildInputs = [
+    libX11
+    libXi
+    libXtst
+    libevdev
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  postInstall = ''
+    mkdir -p $out/etc/udev/rules.d/
+    echo 'KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput"' >> $out/etc/udev/rules.d/80-mouse-actions.rules
+    echo 'KERNEL=="/dev/input/event*", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput"' >> $out/etc/udev/rules.d/80-mouse-actions.rules
+  '';
+
+  meta = with lib; {
+    description = "Execute commands from mouse events such as clicks/wheel on the side/corners of the screen, or drawing shapes";
+    homepage = "https://github.com/jersou/mouse-actions";
+    license = licenses.mit;
+    maintainers = with maintainers; [ rgri ];
+    mainProgram = "mouse-actions";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/mu/muparser/package.nix b/pkgs/by-name/mu/muparser/package.nix
new file mode 100644
index 000000000000..12d0c6492233
--- /dev/null
+++ b/pkgs/by-name/mu/muparser/package.nix
@@ -0,0 +1,40 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, llvmPackages
+}:
+
+stdenv.mkDerivation rec {
+  pname = "muparser";
+  version = "2.3.4";
+
+  src = fetchFromGitHub {
+    owner = "beltoforion";
+    repo = "muparser";
+    rev = "v${version}";
+    hash = "sha256-hutmmhw7BHAwbDKBiK+3Yw833GL0rPGlVjlO7XzTii0=";
+  };
+
+  postPatch = ''
+    substituteInPlace muparser.pc.in \
+      --replace "\''${prefix}/@CMAKE_INSTALL_LIBDIR@" "@CMAKE_INSTALL_FULL_LIBDIR@" \
+      --replace "\''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@" "@CMAKE_INSTALL_FULL_INCLUDEDIR@"
+  '';
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = lib.optionals stdenv.cc.isClang [
+    llvmPackages.openmp
+  ];
+
+  meta = {
+    description = "An extensible high performance math expression parser library written in C++";
+    homepage = "https://beltoforion.de/en/muparser/";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ wegank ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/my/mystmd/package.nix b/pkgs/by-name/my/mystmd/package.nix
index 3e49a70bd4d0..f2270a7c96b1 100644
--- a/pkgs/by-name/my/mystmd/package.nix
+++ b/pkgs/by-name/my/mystmd/package.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "mystmd";
-  version = "1.1.37";
+  version = "1.1.38";
 
   src = fetchFromGitHub {
     owner = "executablebooks";
     repo = "mystmd";
     rev = "mystmd@${version}";
-    hash = "sha256-P4+0oCXQGziYfVUxIZe3j25lO6ho/4BdtqxCv/TTGko=";
+    hash = "sha256-kshYS4mWqlWpF4pSetk6mpOn0/XCUF13M5qbZD/pNxQ=";
   };
 
-  npmDepsHash = "sha256-ZA9kiMTn+m9Q0C3DBVMiUEq5bfRsXM1VX0qrIH2GAQo=";
+  npmDepsHash = "sha256-+aqS5khw/fDKOGAvOVFopcwoZAsgmmUQzOljZSUlArA=";
 
   dontNpmInstall = true;
 
diff --git a/pkgs/by-name/na/namespace-cli/package.nix b/pkgs/by-name/na/namespace-cli/package.nix
index c9c23690d1c4..09c08ca1b39a 100644
--- a/pkgs/by-name/na/namespace-cli/package.nix
+++ b/pkgs/by-name/na/namespace-cli/package.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "namespace-cli";
-  version = "0.0.328";
+  version = "0.0.332";
 
   src = fetchFromGitHub {
     owner = "namespacelabs";
     repo = "foundation";
     rev = "v${version}";
-    hash = "sha256-M6hX+muUC4v7Nmu2N8cONCLPJc6pVv6UJ1WO/uSDYnM=";
+    hash = "sha256-6pTL3mvW8O3vly1a+LUTMBnD5D907CfQIqDwTnUqT1s=";
   };
 
-  vendorHash = "sha256-AVbRqgk5UldpaqyEmdYDpwzaZEo5r+M3Kwxb3Sh1jLQ=";
+  vendorHash = "sha256-DcGp/5Ohk9gbviA31a1FTu/xglLjrz2S50A5DBAE+lc=";
 
   subPackages = ["cmd/nsc" "cmd/ns" "cmd/docker-credential-nsc"];
 
diff --git a/pkgs/by-name/na/narsil/package.nix b/pkgs/by-name/na/narsil/package.nix
new file mode 100644
index 000000000000..ac00cf482055
--- /dev/null
+++ b/pkgs/by-name/na/narsil/package.nix
@@ -0,0 +1,51 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, ncurses
+, enableSdl2 ? true
+, SDL2
+, SDL2_image
+, SDL2_sound
+, SDL2_mixer
+, SDL2_ttf
+}:
+
+stdenv.mkDerivation rec {
+  pname = "narsil";
+  version = "1.3.0-49-gc042b573a";
+
+  src = fetchFromGitHub {
+    owner = "NickMcConnell";
+    repo = "NarSil";
+    rev = version;
+    hash = "sha256-lVGG4mppsnDmjMFO8YWsLEJEhI3T+QO3z/pCebe0Ai8=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ ncurses ]
+    ++ lib.optionals enableSdl2 [
+    SDL2
+    SDL2_image
+    SDL2_sound
+    SDL2_mixer
+    SDL2_ttf
+  ];
+
+  enableParallelBuilding = true;
+
+  configureFlags = lib.optional enableSdl2 "--enable-sdl2";
+
+  installFlags = [ "bindir=$(out)/bin" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/NickMcConnell/NarSil/";
+    description = "Unofficial rewrite of Sil, a roguelike influenced by Angband";
+    longDescription = ''
+      NarSil attempts to be an almost-faithful recreation of Sil 1.3.0,
+      but based on the codebase of modern Angband.
+    '';
+    maintainers = [ maintainers.nanotwerp ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/by-name/ne/newsraft/package.nix b/pkgs/by-name/ne/newsraft/package.nix
index fcebb7ed5825..848fd8eb6e4c 100644
--- a/pkgs/by-name/ne/newsraft/package.nix
+++ b/pkgs/by-name/ne/newsraft/package.nix
@@ -13,14 +13,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "newsraft";
-  version = "0.22";
+  version = "0.23";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "newsraft";
     repo = "newsraft";
     rev = "newsraft-${finalAttrs.version}";
-    hash = "sha256-QjIADDk1PSZP89+G7B1Bpu3oTEAykD4RJYghZnMJKho=";
+    hash = "sha256-c5yN67FL4siPyO8v0RuTCznwrqX9+r8tY5PKS4zlqIc=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/by-name/ne/nextpnr/package.nix
index d56f7e716301..e164a38d9564 100644
--- a/pkgs/development/compilers/nextpnr/default.nix
+++ b/pkgs/by-name/ne/nextpnr/package.nix
@@ -13,13 +13,13 @@ let
   boostPython = boost.override { python = python3; enablePython = true; };
 
   pname = "nextpnr";
-  version = "0.6";
+  version = "0.7";
 
   main_src = fetchFromGitHub {
     owner = "YosysHQ";
     repo  = "nextpnr";
     rev   = "${pname}-${version}";
-    hash  = "sha256-S6qvTzvkS2tBMvuTpmuCx6h0OcKP5NBbmgRgOpAVtnA=";
+    hash  = "sha256-YIAQcCg9RjvCys1bQ3x+sTgTmnmEeXVbt9Lr6wtg1pA=";
     name  = "nextpnr";
   };
 
@@ -82,6 +82,8 @@ stdenv.mkDerivation rec {
     wrapQtApp $out/bin/nextpnr-gowin
   '';
 
+  strictDeps = true;
+
   meta = with lib; {
     description = "Place and route tool for FPGAs";
     homepage    = "https://github.com/yosyshq/nextpnr";
diff --git a/pkgs/by-name/ni/nightfox-gtk-theme/package.nix b/pkgs/by-name/ni/nightfox-gtk-theme/package.nix
new file mode 100644
index 000000000000..2e19c9ea50e2
--- /dev/null
+++ b/pkgs/by-name/ni/nightfox-gtk-theme/package.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, gnome-themes-extra
+, gtk-engine-murrine
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "nightfox-gtk-theme";
+  version = "unstable-2023-05-28";
+
+  src = fetchFromGitHub {
+    owner = "Fausto-Korpsvart";
+    repo = "Nightfox-GTK-Theme";
+    rev = "a8b01a28f2d1d9dd57d98d3708602b0d72340338";
+    hash = "sha256-GrlKYCqO9vgRbPdPhugPBg2rYtDxzbQwRPtTBIyIyx4=";
+  };
+
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
+
+  buildInputs = [
+    gnome-themes-extra
+  ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/themes
+    cp -a themes/* $out/share/themes
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A GTK theme based on the Nightfox colour palette";
+    homepage = "https://github.com/Fausto-Korpsvart/Nightfox-GTK-Theme";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ d3vil0p3r ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/ni/nimlsp/package.nix b/pkgs/by-name/ni/nimlsp/package.nix
index 589e08290d58..78d015cc7b8f 100644
--- a/pkgs/by-name/ni/nimlsp/package.nix
+++ b/pkgs/by-name/ni/nimlsp/package.nix
@@ -2,7 +2,7 @@
 
 buildNimPackage (finalAttrs: {
   pname = "nimlsp";
-  version = "0.4.4";
+  version = "0.4.6";
 
   requiredNimVersion = 1;
 
@@ -10,7 +10,7 @@ buildNimPackage (finalAttrs: {
     owner = "PMunch";
     repo = "nimlsp";
     rev = "v${finalAttrs.version}";
-    sha256 = "sha256-Z67iKlL+dnRbxdFt/n/fsUcb2wpZwzPpL/G29jfCaMY=";
+    hash = "sha256-MCtpCx8jMQp0VXuMowh69d1DQreU5cDftBf0lww7PUM=";
   };
 
   lockFile = ./lock.json;
diff --git a/pkgs/by-name/ni/nixfmt-rfc-style/date.txt b/pkgs/by-name/ni/nixfmt-rfc-style/date.txt
index c024acd63a04..b3c1f63a9286 100644
--- a/pkgs/by-name/ni/nixfmt-rfc-style/date.txt
+++ b/pkgs/by-name/ni/nixfmt-rfc-style/date.txt
@@ -1 +1 @@
-2024-01-15
+2024-01-31
diff --git a/pkgs/by-name/ni/nixfmt-rfc-style/generated-package.nix b/pkgs/by-name/ni/nixfmt-rfc-style/generated-package.nix
index 1604555b3b72..ac96818227ce 100644
--- a/pkgs/by-name/ni/nixfmt-rfc-style/generated-package.nix
+++ b/pkgs/by-name/ni/nixfmt-rfc-style/generated-package.nix
@@ -8,8 +8,8 @@ mkDerivation {
   pname = "nixfmt";
   version = "0.5.0";
   src = fetchzip {
-    url = "https://github.com/piegamesde/nixfmt/archive/1eff7a84ac82fbebb5f586244f1c80e1fcc4f494.tar.gz";
-    sha256 = "1pg876sr58h7v087kbjsnfr4pzvqpwzibl06w2468qs1sywmd283";
+    url = "https://github.com/piegamesde/nixfmt/archive/d6930fd0c62c4d7ec9e4a814adc3d2f590d96271.tar.gz";
+    sha256 = "1ijrdzdwricv4asmy296j7gzvhambv96nlxi3qrxb4lj1by6a34m";
   };
   isLibrary = true;
   isExecutable = true;
diff --git a/pkgs/by-name/no/nomnatong/package.nix b/pkgs/by-name/no/nomnatong/package.nix
index fbbb0ad2897f..d3b9aef7ee15 100644
--- a/pkgs/by-name/no/nomnatong/package.nix
+++ b/pkgs/by-name/no/nomnatong/package.nix
@@ -7,13 +7,13 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "nomnatong";
-  version = "5.08";
+  version = "5.09";
 
   src = fetchFromGitHub {
     owner = "nomfoundation";
     repo = "font";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-WtAxnTFrgXdG2T1vqfRc31tNKbZagDSO9lycKxn8dKg=";
+    hash = "sha256-WkDvneCWuAS0/D+WUhd1F6dqpIuSAMK598mSRbNf6/8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/nr/nrr/package.nix b/pkgs/by-name/nr/nrr/package.nix
new file mode 100644
index 000000000000..73c395cf00db
--- /dev/null
+++ b/pkgs/by-name/nr/nrr/package.nix
@@ -0,0 +1,40 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, darwin
+, pkg-config
+, libiconv
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "nrr";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "ryanccn";
+    repo = "nrr";
+    rev = "v${version}";
+    hash = "sha256-jkI5t+1P7Ae6MkSnyy7Ur3Z0Vt8+hWTgf6dgL5tzhY8=";
+  };
+
+  cargoHash = "sha256-9qLeFuaKAGhtyHFHOBS6HA0wAWuk0ZJppVySpMwUGYc=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.CoreFoundation
+    darwin.apple_sdk.frameworks.Security
+    darwin.apple_sdk.frameworks.IOKit
+    libiconv
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  meta = with lib; {
+    description = "Minimal, blazing fast Node.js script runner";
+    maintainers = with maintainers; [ ryanccn ];
+    license = licenses.gpl3Only;
+    mainProgram = "nrr";
+  };
+}
diff --git a/pkgs/by-name/nv/nvmetcfg/package.nix b/pkgs/by-name/nv/nvmetcfg/package.nix
new file mode 100644
index 000000000000..9345d126c9c2
--- /dev/null
+++ b/pkgs/by-name/nv/nvmetcfg/package.nix
@@ -0,0 +1,27 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "nvmetcfg";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "vifino";
+    repo = "nvmetcfg";
+    rev = "v${version}";
+    hash = "sha256-LoQTcHM6czzQ5ZwXcklFXf/7WlRsoJTF61UhQ56aleQ=";
+  };
+
+  cargoHash = "sha256-yZ4UAx95f/cjeObBtzpiYtwDjgOgkKnD64yGe6ouVGw=";
+
+  meta = with lib; {
+    description = "NVMe-oF Target Configuration Utility for Linux";
+    homepage = "https://github.com/vifino/nvmetcfg";
+    license = licenses.isc;
+    maintainers = with maintainers; [ nickcao ];
+    mainProgram = "nvmetcfg";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/oa/oam-tools/package.nix b/pkgs/by-name/oa/oam-tools/package.nix
new file mode 100644
index 000000000000..7c5d4d982749
--- /dev/null
+++ b/pkgs/by-name/oa/oam-tools/package.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "oam-tools";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "owasp-amass";
+    repo = "oam-tools";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-vt4V8em8Iaz3BVKIqlcAv+VIpJtD58xb3QrkIr4tYuU=";
+  };
+
+  vendorHash = "sha256-yFKYZlA06yE48Wiz0cKgD57JEREwYyYkLM1NZPV8+Xc=";
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  meta = with lib; {
+    description = "Analysis and management tools for an Open Asset Model database";
+    homepage = "https://github.com/owasp-amass/oam-tools";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/by-name/oe/oelint-adv/package.nix b/pkgs/by-name/oe/oelint-adv/package.nix
index 8eaecb420b13..e650811101bd 100644
--- a/pkgs/by-name/oe/oelint-adv/package.nix
+++ b/pkgs/by-name/oe/oelint-adv/package.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "oelint-adv";
-  version = "3.26.12";
+  version = "4.1.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "oelint_adv";
-    hash = "sha256-pemFy+MTBE9T/dY93rErlvWCru1TLR7X25/1+GNAFdw=";
+    hash = "sha256-odejUprYMdKWrm87oRVuJKwLWEL/XuLfQtfjVKK4VTE=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/by-name/of/offpunk/package.nix b/pkgs/by-name/of/offpunk/package.nix
index c3bc7424c5bb..72642b17b540 100644
--- a/pkgs/by-name/of/offpunk/package.nix
+++ b/pkgs/by-name/of/offpunk/package.nix
@@ -9,7 +9,6 @@
 , timg
 , xdg-utils
 , xsel
-,
 }:
 
 let
@@ -31,10 +30,10 @@ let
     xsel
   ];
 in
-python3Packages.buildPythonPackage rec {
+python3Packages.buildPythonApplication rec {
   pname = "offpunk";
   version = "2.1";
-  format = "pyproject";
+  pyproject = true;
 
   disabled = python3Packages.pythonOlder "3.7";
 
@@ -55,7 +54,7 @@ python3Packages.buildPythonPackage rec {
   passthru.tests.version = testers.testVersion { package = offpunk; };
 
   meta = with lib; {
-    description = "An Offline-First browser for the smolnet ";
+    description = "A command-line and offline-first smolnet browser/feed reader";
     homepage = src.meta.homepage;
     maintainers = with maintainers; [ DamienCassou ];
     platforms = platforms.linux;
diff --git a/pkgs/by-name/on/onedrivegui/package.nix b/pkgs/by-name/on/onedrivegui/package.nix
index f2db95e7dbc2..f9d1fca67539 100644
--- a/pkgs/by-name/on/onedrivegui/package.nix
+++ b/pkgs/by-name/on/onedrivegui/package.nix
@@ -74,7 +74,7 @@ python3Packages.buildPythonApplication rec {
     makeWrapper ${python3Packages.python.interpreter} $out/bin/onedrivegui \
       --prefix PATH : ${lib.makeBinPath [ onedrive ]} \
       --prefix PYTHONPATH : ${python3Packages.makePythonPath (propagatedBuildInputs ++ [(placeholder "out")])} \
-      --add-flags $out/lib/${python3Packages.python.libPrefix}/site-packages/OneDriveGUI.py
+      --add-flags $out/${python3Packages.python.sitePackages}/OneDriveGUI.py
   '';
 
   meta = with lib; {
diff --git a/pkgs/by-name/op/openscad-unstable/package.nix b/pkgs/by-name/op/openscad-unstable/package.nix
new file mode 100644
index 000000000000..582733035d46
--- /dev/null
+++ b/pkgs/by-name/op/openscad-unstable/package.nix
@@ -0,0 +1,159 @@
+{ lib
+, clangStdenv
+, llvmPackages
+, fetchFromGitHub
+, cmake
+, ninja
+, pkg-config
+, bison
+, boost
+, cairo
+, cgal_5
+, clipper2
+, double-conversion
+, eigen
+, flex
+, fontconfig
+, freetype
+, glib
+, glm
+, gmp
+, harfbuzz
+, hidapi
+, lib3mf
+, libGL
+, libGLU
+, libICE
+, libSM
+, libsForQt5
+, libspnav
+, libzip
+, mpfr
+, python3
+, tbb_2021_8
+, wayland
+, wayland-protocols
+}:
+let
+  # get cccl from source to avoid license issues
+  nvidia-cccl = clangStdenv.mkDerivation {
+    pname = "nvidia-cccl";
+    # note that v2.2.0 has some cmake issues
+    version = "2.2.0-unstable-2024-01-26";
+    src = fetchFromGitHub {
+      owner = "NVIDIA";
+      repo = "cccl";
+      fetchSubmodules = true;
+      rev = "0c9d03276206a5f59368e908e3d643610f9fddcd";
+      hash = "sha256-f11CNfa8jF9VbzvOoX1vT8zGIJL9cZ/VBpiklUn0YdU=";
+    };
+    nativeBuildInputs = [ cmake pkg-config ];
+    buildInputs = [ tbb_2021_8 ];
+    cmakeFlags = [
+      # only enable what we need
+      "-DCCCL_ENABLE_CUB=OFF"
+      "-DCCCL_ENABLE_LIBCUDACXX=ON"
+      "-DCCCL_ENABLE_THRUST=ON"
+      "-DCCCL_ENABLE_TESTING=OFF"
+      "-DCCCL_ENABLE_EXAMPLES=OFF"
+
+      "-DTHRUST_DEVICE_SYSTEM=TBB"
+      "-DTHRUST_HOST_SYSTEM=CPP"
+      "-DTHRUST_ENABLE_HEADER_TESTING=OFF"
+      "-DTHRUST_ENABLE_TESTING=OFF"
+      "-DTHRUST_ENABLE_EXAMPLES=OFF"
+
+      "-DLIBCUDACXX_ENABLE_CUDA=OFF"
+      "-DLIBCUDACXX_ENABLE_STATIC_LIBRARY=OFF"
+      "-DLIBCUDACXX_ENABLE_LIBCUDACXX_TESTS=OFF"
+    ];
+    meta = with lib; {
+      description = "CUDA C++ Core Libraries";
+      homepage = "https://github.com/NVIDIA/cccl";
+      license = licenses.asl20;
+      platforms = platforms.unix;
+    };
+  };
+in
+# clang consume much less RAM than GCC
+clangStdenv.mkDerivation rec {
+  pname = "openscad-unstable";
+  version = "2024-01-22";
+  src = fetchFromGitHub {
+    owner = "openscad";
+    repo = "openscad";
+    rev = "88d244aed3c40a76194ff537ed84bd65bc0e1aeb";
+    hash = "sha256-qkQNbYhmOxF14zm+eCcwe9asLOEciYBANefUb8+KNEI=";
+    fetchSubmodules = true;
+  };
+  nativeBuildInputs = [
+    pkg-config
+    cmake
+    ninja
+    bison
+    flex
+    python3
+    libsForQt5.qt5.wrapQtAppsHook
+    llvmPackages.bintools
+  ];
+  buildInputs = with libsForQt5; with qt5; [
+    # manifold dependencies
+    clipper2
+    glm
+    tbb_2021_8
+    nvidia-cccl
+
+    boost
+    cairo
+    cgal_5
+    double-conversion
+    eigen
+    fontconfig
+    freetype
+    glib
+    gmp
+    harfbuzz
+    hidapi
+    lib3mf
+    libspnav
+    libzip
+    mpfr
+    qscintilla
+    qtbase
+    qtmultimedia
+  ]
+  ++ lib.optionals clangStdenv.isLinux [ libICE libSM libGLU libGL wayland wayland-protocols qtwayland ]
+  ++ lib.optional clangStdenv.isDarwin qtmacextras
+  ;
+  cmakeFlags = [
+    "-DEXPERIMENTAL=ON" # enable experimental options
+    "-DSNAPSHOT=ON" # nightly icons
+    "-DUSE_BUILTIN_OPENCSG=ON" # bundled latest opencsg
+    "-DOPENSCAD_VERSION=\"${builtins.replaceStrings ["-"] ["."] version}\""
+    "-DCMAKE_UNITY_BUILD=ON" # faster build
+    "-DENABLE_TESTS=OFF" # tests do not work for now
+    # IPO
+    "-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld"
+    "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON"
+  ];
+  meta = with lib; {
+    description = "3D parametric model compiler (unstable)";
+    longDescription = ''
+      OpenSCAD is a software for creating solid 3D CAD objects. It is free
+      software and available for Linux/UNIX, MS Windows and macOS.
+
+      Unlike most free software for creating 3D models (such as the famous
+      application Blender) it does not focus on the artistic aspects of 3D
+      modelling but instead on the CAD aspects. Thus it might be the
+      application you are looking for when you are planning to create 3D models of
+      machine parts but pretty sure is not what you are looking for when you are more
+      interested in creating computer-animated movies.
+    '';
+    homepage = "https://openscad.org/";
+    # note that the *binary license* is gpl3 due to CGAL
+    license = lib.licenses.gpl3;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ pca006132 raskin ];
+    mainProgram = "openscad";
+  };
+}
diff --git a/pkgs/by-name/ot/oterm/package.nix b/pkgs/by-name/ot/oterm/package.nix
index 132259eb5fbe..bb4e829b3397 100644
--- a/pkgs/by-name/ot/oterm/package.nix
+++ b/pkgs/by-name/ot/oterm/package.nix
@@ -5,14 +5,19 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "oterm";
-  version = "0.1.18";
+  version = "0.1.22";
   pyproject = true;
   src = fetchFromGitHub {
     owner = "ggozad";
     repo = "oterm";
     rev = "refs/tags/${version}";
-    hash = "sha256-hog0oEiZMxM3lM3xFZ+c15OTOwGXZ97FmG4PpyA94Ys=";
+    hash = "sha256-hRbPlRuwM3NspTNd3mPhVxPJl8zA9qyFwDGNKH3Slag=";
   };
+
+  pythonRelaxDeps = [
+    "pillow"
+  ];
+
   propagatedBuildInputs = with python3Packages; [
     textual
     typer
@@ -23,8 +28,18 @@ python3Packages.buildPythonApplication rec {
     pyperclip
     packaging
     rich-pixels
+    pillow
+    aiohttp
+  ];
+
+  nativeBuildInputs = with python3Packages; [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  pythonImportsCheck = [
+    "oterm"
   ];
-  nativeBuildInputs = with python3Packages; [ poetry-core ];
 
   # Tests require a HTTP connection to ollama
   doCheck = false;
diff --git a/pkgs/by-name/pa/paper-age/package.nix b/pkgs/by-name/pa/paper-age/package.nix
index d15954fd6b2b..cb8c0e3bdeec 100644
--- a/pkgs/by-name/pa/paper-age/package.nix
+++ b/pkgs/by-name/pa/paper-age/package.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "paper-age";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "matiaskorhonen";
     repo = "paper-age";
     rev = "v${version}";
-    hash = "sha256-7dd1R41CDgkpFI8fUWCJfgz3lr22IjWQYW6vRYEFidc=";
+    hash = "sha256-JlmiHnST/UnN4WsiDqSva+01odoc5h/J/mlGN3K0OfI=";
   };
 
-  cargoHash = "sha256-IJDV0dmOsA9gbVKGfPsN3TKJbox3JTNxldArQK6GPt8=";
+  cargoHash = "sha256-zdq036ag7+mvWg4OJHtbltPlF9j49dCPNJjgVQcQ+u4=";
 
   meta = with lib; {
     description = "Easy and secure paper backups of secrets";
diff --git a/pkgs/by-name/pa/paper-clip/package.nix b/pkgs/by-name/pa/paper-clip/package.nix
index 4d71928bfabf..bd1d78b8e4c4 100644
--- a/pkgs/by-name/pa/paper-clip/package.nix
+++ b/pkgs/by-name/pa/paper-clip/package.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "paper-clip";
-  version = "4.0";
+  version = "5.0";
 
   src = fetchFromGitHub {
     owner = "Diego-Ivan";
     repo = "Paper-Clip";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-8RZE6YzoJ98D++w7v007cdurMdfZoX3oQvN94F1d9cI=";
+    hash = "sha256-lkPX8S/0e7qEAfRiq0MyacDrqSWllncd9STxR7NKUFw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/pa/parsify/package.nix b/pkgs/by-name/pa/parsify/package.nix
new file mode 100644
index 000000000000..b02c6c3ae0a4
--- /dev/null
+++ b/pkgs/by-name/pa/parsify/package.nix
@@ -0,0 +1,36 @@
+{ lib
+, appimageTools
+, fetchurl
+}:
+
+appimageTools.wrapType2 rec {
+  pname = "parsify";
+  version = "2.0.1";
+
+  src = fetchurl {
+    url = "https://github.com/parsify-dev/desktop/releases/download/v${version}/Parsify-${version}-linux-x86_64.AppImage";
+    hash = "sha256-ltWqRW+cBvuUJzhya62WsBY5zqIua9xhilxfd9gr24A=";
+  };
+
+  extraInstallCommands =
+  let contents = appimageTools.extract { inherit pname version src; };
+  in ''
+    mv $out/bin/${pname}-${version} $out/bin/${pname}
+
+    install -m 444 -D ${contents}/@parsifydesktop.desktop -t $out/share/applications
+
+    substituteInPlace $out/share/applications/@parsifydesktop.desktop \
+      --replace "Exec=AppRun" "Exec=${pname}"
+
+    cp -r ${contents}/usr/share/* $out/share
+  '';
+
+  meta = with lib; {
+    description = "Next generation notepad-based calculator, built with extendibility and privacy in mind";
+    homepage = "https://parsify.app/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ kashw2 ];
+    platforms = platforms.linux;
+    mainProgram = "parsify";
+  };
+}
diff --git a/pkgs/by-name/pd/pdfannots2json/package.nix b/pkgs/by-name/pd/pdfannots2json/package.nix
new file mode 100644
index 000000000000..01c30fe1fb52
--- /dev/null
+++ b/pkgs/by-name/pd/pdfannots2json/package.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+let
+  pname = "pdfannots2json";
+  version = "1.0.16";
+in
+  buildGoModule {
+    inherit pname version;
+
+    src = fetchFromGitHub {
+      owner = "mgmeyers";
+      repo = "pdfannots2json";
+      rev = "refs/tags/${version}";
+      sha256 = "sha256-qk4OSws/6SevN/Q0lsyxw+fZkm2uy1WwOYYL7CB7QUk=";
+    };
+
+    vendorHash = null;
+
+    meta = with lib; {
+      homepage = "https://github.com/mgmeyers/pdfannots2json";
+      license = licenses.agpl3;
+      description = "A tool to convert PDF annotations to JSON";
+      maintainers = with maintainers; [ _0nyr ];
+    };
+  }
diff --git a/pkgs/by-name/pi/pixi/package.nix b/pkgs/by-name/pi/pixi/package.nix
index c7480786b17c..aa081c7e69a8 100644
--- a/pkgs/by-name/pi/pixi/package.nix
+++ b/pkgs/by-name/pi/pixi/package.nix
@@ -63,7 +63,7 @@ rustPlatform.buildRustPackage rec {
     description = "Package management made easy";
     homepage = "https://pixi.sh/";
     license = licenses.bsd3;
-    maintainers = with lib.maintainers; [ aaronjheng ];
+    maintainers = with lib.maintainers; [ aaronjheng edmundmiller ];
     mainProgram = "pixi";
   };
 }
diff --git a/pkgs/by-name/pm/pm2/package.nix b/pkgs/by-name/pm/pm2/package.nix
new file mode 100644
index 000000000000..1b29f2fa52dc
--- /dev/null
+++ b/pkgs/by-name/pm/pm2/package.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "pm2";
+  version = "5.3.1";
+
+  src = fetchFromGitHub {
+    owner = "Unitech";
+    repo = "pm2";
+    rev = "v${version}";
+    hash = "sha256-thShqrnM5S3/IImEm+2vHVRLCsLJN5NGaSRYubtULW0=";
+  };
+
+  npmDepsHash = "sha256-6M8kwiCHaQzcFyUUx7Yax/dobATWXG0Di7enEzlO8YE=";
+
+  dontNpmBuild = true;
+
+  meta = {
+    changelog = "https://github.com/Unitech/pm2/blob/${src.rev}/CHANGELOG.md";
+    description = "Node.js production process manager with a built-in load balancer";
+    homepage = "https://github.com/Unitech/pm2";
+    license = lib.licenses.agpl3Only;
+    mainProgram = "pm2";
+    maintainers = with lib.maintainers; [ jeremyschlatter ];
+  };
+}
diff --git a/pkgs/by-name/pm/pmtiles/package.nix b/pkgs/by-name/pm/pmtiles/package.nix
index e7bb80a56f46..21a0d90d145e 100644
--- a/pkgs/by-name/pm/pmtiles/package.nix
+++ b/pkgs/by-name/pm/pmtiles/package.nix
@@ -1,16 +1,16 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "pmtiles";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "protomaps";
     repo = "go-pmtiles";
     rev = "v${version}";
-    hash = "sha256-Zxf8o0+Vc4l8XV9vYGEWxXSr+KyzTqZNxbgaZtkJ+JQ=";
+    hash = "sha256-yIH5vJTrSH1y30nHU7jrem1kbXp1fO0mhLoGMrv4IAE=";
   };
 
-  vendorHash = "sha256-Y32vDgF7BNjSyGtwgsJdoRy2gGDfhTKtYpSjTjp5dnI=";
+  vendorHash = "sha256-tSQjCdgEXIGlSWcIB6lLQulAiEAebgW3pXL9Z2ujgIs=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=v${version}" ];
 
diff --git a/pkgs/by-name/pp/ppsspp/package.nix b/pkgs/by-name/pp/ppsspp/package.nix
index 4b84faee15ab..9e02fba4546f 100644
--- a/pkgs/by-name/pp/ppsspp/package.nix
+++ b/pkgs/by-name/pp/ppsspp/package.nix
@@ -34,14 +34,14 @@ stdenv.mkDerivation (finalAttrs: {
           + lib.optionalString enableQt "-qt"
           + lib.optionalString (!enableQt) "-sdl"
           + lib.optionalString forceWayland "-wayland";
-  version = "1.16.6";
+  version = "1.17";
 
   src = fetchFromGitHub {
     owner = "hrydgard";
     repo = "ppsspp";
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-FCdYvYKcV+0TpQUSWiooNlTXKYtqbfnAWwjk7M8iF1Q=";
+    hash = "sha256-BJWcaxUUxNDiSX3YnhwXhgbp3iymcrR493BKrtivn3U=";
   };
 
   postPatch = ''
@@ -55,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
     makeWrapper
     pkg-config
     python3
-  ] ++ lib.optional enableQt wrapQtAppsHook;
+  ] ++ lib.optionals enableQt [ wrapQtAppsHook ];
 
   buildInputs = [
     SDL2
@@ -67,17 +67,17 @@ stdenv.mkDerivation (finalAttrs: {
   ] ++ lib.optionals enableQt [
     qtbase
     qtmultimedia
-  ] ++ lib.optional enableVulkan vulkan-loader
+  ] ++ lib.optionals enableVulkan [ vulkan-loader ]
   ++ lib.optionals vulkanWayland [ wayland libffi ];
 
   cmakeFlags = [
-    "-DHEADLESS=${if enableQt then "OFF" else "ON"}"
-    "-DOpenGL_GL_PREFERENCE=GLVND"
-    "-DUSE_SYSTEM_FFMPEG=ON"
-    "-DUSE_SYSTEM_LIBZIP=ON"
-    "-DUSE_SYSTEM_SNAPPY=ON"
-    "-DUSE_WAYLAND_WSI=${if vulkanWayland then "ON" else "OFF"}"
-    "-DUSING_QT_UI=${if enableQt then "ON" else "OFF"}"
+    (lib.cmakeBool "HEADLESS" (!enableQt))
+    (lib.cmakeBool "USE_SYSTEM_FFMPEG" true)
+    (lib.cmakeBool "USE_SYSTEM_LIBZIP" true)
+    (lib.cmakeBool "USE_SYSTEM_SNAPPY" true)
+    (lib.cmakeBool "USE_WAYLAND_WSI" vulkanWayland)
+    (lib.cmakeBool "USING_QT_UI" enableQt)
+    (lib.cmakeFeature "OpenGL_GL_PREFERENCE" "GLVND")
   ];
 
   desktopItems = [
@@ -98,7 +98,8 @@ stdenv.mkDerivation (finalAttrs: {
       runHook preInstall
 
       mkdir -p $out/share/{applications,ppsspp,icons}
-    '' + (if enableQt then ''
+    ''
+    + (if enableQt then ''
       install -Dm555 PPSSPPQt $out/bin/ppsspp
       wrapProgram $out/bin/ppsspp \
     '' else ''
@@ -106,9 +107,12 @@ stdenv.mkDerivation (finalAttrs: {
       install -Dm555 PPSSPPSDL $out/share/ppsspp/
       makeWrapper $out/share/ppsspp/PPSSPPSDL $out/bin/ppsspp \
         --set SDL_VIDEODRIVER ${if forceWayland then "wayland" else "x11"} \
-    '') + lib.optionalString enableVulkan ''
+    '')
+    + lib.optionalString enableVulkan ''
         --prefix LD_LIBRARY_PATH : ${vulkanPath} \
-    '' + "\n" + ''
+    ''
+    + ''
+
       mv assets $out/share/ppsspp
       mv ../icons/hicolor $out/share/icons
 
@@ -119,8 +123,19 @@ stdenv.mkDerivation (finalAttrs: {
     homepage = "https://www.ppsspp.org/";
     description = "A HLE Playstation Portable emulator, written in C++ ("
                   + (if enableQt then "Qt" else "SDL + headless") + ")";
+    longDescription = ''
+      PPSSPP is a PSP emulator, which means that it can run games and other
+      software that was originally made for the Sony PSP.
+
+      The PSP had multiple types of software. The two most common are native PSP
+      games on UMD discs and downloadable games (that were stored in the
+      directory PSP/GAME on the "memory stick"). But there were also UMD Video
+      discs, and PS1 games that could run in a proprietary emulator. PPSSPP does
+      not run those.
+    '';
     license = lib.licenses.gpl2Plus;
     maintainers = [ lib.maintainers.AndersonTorres ];
+    mainProgram = "ppsspp";
     platforms = lib.platforms.linux;
   };
 })
diff --git a/pkgs/by-name/pr/presenterm/package.nix b/pkgs/by-name/pr/presenterm/package.nix
index ba1de5d9fb81..f637a77b4ff0 100644
--- a/pkgs/by-name/pr/presenterm/package.nix
+++ b/pkgs/by-name/pr/presenterm/package.nix
@@ -2,30 +2,40 @@
 , fetchFromGitHub
 , rustPlatform
 , libsixel
+, testers
+, presenterm
+, stdenv
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "presenterm";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "mfontanini";
     repo = "presenterm";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OHp/qbuaZ7uVydKGnSiBR5KQGdf8rWQQWRHrka+PI1M=";
+    hash = "sha256-VAcK02dbtuTGn+lPu1vb/wAkroHuHqsU2KYHBiP2Org=";
   };
 
   buildInputs = [
     libsixel
   ];
 
-  cargoHash = "sha256-ymSTloz7sPAtMZN1uDgLs89gMcU+UTsMVc6y5UHt7no=";
+  cargoHash = "sha256-bufFiyqRsn4eG57bKn42p5cyX+Z7oiz/USZvg9YOvHA=";
 
-  buildFeatures = [ "sixel" ];
+  # Crashes at runtime on darwin with:
+  # Library not loaded: .../out/lib/libsixel.1.dylib
+  buildFeatures = lib.optionals (!stdenv.isDarwin) [ "sixel" ];
 
   # Skip test that currently doesn't work
   checkFlags = [ "--skip=execute::test::shell_code_execution" ];
 
+  passthru.tests.version = testers.testVersion {
+    package = presenterm;
+    command = "presenterm --version";
+  };
+
   meta = with lib; {
     description = "A terminal based slideshow tool";
     changelog = "https://github.com/mfontanini/presenterm/releases/tag/v${version}";
diff --git a/pkgs/by-name/pr/pretalx/package.nix b/pkgs/by-name/pr/pretalx/package.nix
new file mode 100644
index 000000000000..a4bf9fc9b5ef
--- /dev/null
+++ b/pkgs/by-name/pr/pretalx/package.nix
@@ -0,0 +1,201 @@
+{ lib
+, buildNpmPackage
+, gettext
+, python3
+, fetchFromGitHub
+, nixosTests
+}:
+
+let
+  python = python3.override {
+    packageOverrides = final: prev: {
+      django-bootstrap4 = prev.django-bootstrap4.overridePythonAttrs (oldAttrs: rec {
+        version = "3.0.0";
+        src = oldAttrs.src.override {
+          rev = "v${version}";
+          hash = "sha256-a8BopUwZjmvxOzBVqs4fTo0SY8sEEloGUw90daYWfz8=";
+        };
+
+        propagatedBuildInputs = with final; [
+          beautifulsoup4
+          django
+        ];
+
+        # fails with some assertions
+        doCheck = false;
+      });
+    };
+  };
+
+  version = "2023.1.3";
+
+  src = fetchFromGitHub {
+    owner = "pretalx";
+    repo = "pretalx";
+    rev = "v${version}";
+    hash = "sha256-YxmkjfftNrInIcSkK21wJXiEU6hbdDa1Od8p+HiLprs=";
+  };
+
+  meta = with lib; {
+    description = "Conference planning tool: CfP, scheduling, speaker management";
+    homepage = "https://github.com/pretalx/pretalx";
+    license = licenses.asl20;
+    maintainers = teams.c3d2.members;
+    platforms = platforms.linux;
+  };
+
+  frontend = buildNpmPackage {
+    pname = "pretalx-frontend";
+    inherit version src;
+
+    sourceRoot = "${src.name}/src/pretalx/frontend/schedule-editor";
+
+    npmDepsHash = "sha256-4cnBHZ8WpHgp/bbsYYbdtrhuD6ffUAZq9ZjoLpWGfRg=";
+
+    npmBuildScript = "build";
+
+    inherit meta;
+  };
+in
+python.pkgs.buildPythonApplication rec {
+  pname = "pretalx";
+  inherit version src;
+  pyproject = true;
+
+  outputs = [
+    "out"
+    "static"
+  ];
+
+  postPatch = ''
+    substituteInPlace src/pretalx/common/management/commands/rebuild.py \
+      --replace 'subprocess.check_call(["npm", "run", "build"], cwd=frontend_dir, env=env)' ""
+
+    substituteInPlace src/setup.cfg \
+      --replace "--cov=./" ""
+  '';
+
+  nativeBuildInputs = [
+    gettext
+    python.pkgs.pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "bleach"
+    "cssutils"
+    "django-filter"
+    "django-formtools"
+    "libsass"
+    "markdown"
+    "pillow"
+  ];
+
+  propagatedBuildInputs = with python.pkgs; [
+    beautifulsoup4
+    bleach
+    celery
+    css-inline
+    csscompressor
+    cssutils
+    defusedcsv
+    django
+    django-bootstrap4
+    django-compressor
+    django-context-decorator
+    django-countries
+    django-csp
+    django-filter
+    django-formset-js-improved
+    django-formtools
+    django-hierarkey
+    django-i18nfield
+    django-libsass
+    django-scopes
+    djangorestframework
+    libsass
+    markdown
+    pillow
+    publicsuffixlist
+    python-dateutil
+    qrcode
+    reportlab
+    requests
+    rules
+    urlman
+    vobject
+    whitenoise
+    zxcvbn
+  ] ++ beautifulsoup4.optional-dependencies.lxml;
+
+  passthru.optional-dependencies = {
+    mysql = with python.pkgs; [
+      mysqlclient
+    ];
+    postgres = with python.pkgs; [
+      psycopg2
+    ];
+    redis = with python.pkgs; [
+      redis
+    ];
+  };
+
+  postBuild = ''
+    rm -r ./src/pretalx/frontend/schedule-editor
+    ln -s ${frontend}/lib/node_modules/@pretalx/schedule-editor ./src/pretalx/frontend/schedule-editor
+
+    # Generate all static files, see https://docs.pretalx.org/administrator/commands.html#python-m-pretalx-rebuild
+    PYTHONPATH=$PYTHONPATH:./src python -m pretalx rebuild
+  '';
+
+  postInstall = ''
+    mkdir -p $out/bin
+    cp ./src/manage.py $out/bin/pretalx-manage
+
+    # The processed source files are in the static output, except for fonts, which are duplicated.
+    # See <https://github.com/pretalx/pretalx/issues/1585> for more details.
+    find $out/${python.sitePackages}/pretalx/static \
+      -mindepth 1 \
+      -not -path "$out/${python.sitePackages}/pretalx/static/fonts*" \
+      -delete
+
+    # Copy generated static files into dedicated output
+    mkdir -p $static
+    cp -r ./src/static.dist/** $static/
+
+    # Copy frontend files
+    ln -s ${frontend}/lib/node_modules/@pretalx/schedule-editor/dist/* $static
+  '';
+
+  preCheck = ''
+    export PRETALX_CONFIG_FILE="$src/src/tests/ci_sqlite.cfg"
+    cd src
+  '';
+
+  nativeCheckInputs = with python.pkgs; [
+    faker
+    freezegun
+    pytest-django
+    pytest-mock
+    pytest-xdist
+    pytestCheckHook
+    responses
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
+  disabledTests = [
+    # tries to run npm run i18n:extract
+    "test_common_custom_makemessages_does_not_blow_up"
+    # Expected to perform X queries or less but Y were done
+    "test_schedule_export_public"
+    "test_schedule_frab_json_export"
+    "test_schedule_frab_xml_export"
+  ];
+
+  passthru = {
+    inherit python;
+    tests = {
+      inherit (nixosTests) pretalx;
+    };
+  };
+
+  inherit meta;
+}
diff --git a/pkgs/by-name/pr/prometheus-restic-exporter/package.nix b/pkgs/by-name/pr/prometheus-restic-exporter/package.nix
new file mode 100644
index 000000000000..4e3736a573b6
--- /dev/null
+++ b/pkgs/by-name/pr/prometheus-restic-exporter/package.nix
@@ -0,0 +1,49 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, python3
+, restic
+, nixosTests
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "prometheus-restic-exporter";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "ngosang";
+    repo = "restic-exporter";
+    rev = version;
+    hash = "sha256-Qwhlecginl5+V+iddN/vIHfJA1kQOZtscECsoD4LJPE=";
+  };
+
+  buildInputs = [
+    (python3.withPackages (ps: [ ps.prometheus-client ]))
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D -m0755 restic-exporter.py $out/bin/restic-exporter.py
+
+    substituteInPlace $out/bin/restic-exporter.py --replace \"restic\" \"${lib.makeBinPath [ restic ]}/restic\"
+
+    patchShebangs $out/bin/restic-exporter.py
+
+    runHook postInstall
+  '';
+
+  passthru.tests = {
+    restic-exporter = nixosTests.prometheus-exporters.restic;
+  };
+
+  meta = with lib; {
+    description = "Prometheus exporter for the Restic backup system";
+    homepage = "https://github.com/ngosang/restic-exporter";
+    changelog = "https://github.com/ngosang/restic-exporter/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ minersebas ];
+    mainProgram = "restic-exporter.py";
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/by-name/pr/prowler/package.nix b/pkgs/by-name/pr/prowler/package.nix
new file mode 100644
index 000000000000..466732634cd6
--- /dev/null
+++ b/pkgs/by-name/pr/prowler/package.nix
@@ -0,0 +1,69 @@
+{ lib
+, python3
+, fetchFromGitHub
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "prowler";
+  version = "3.12.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "prowler-cloud";
+    repo = "prowler";
+    rev = "refs/tags/${version}";
+    hash = "sha256-QauDqeCa499AcZurGjn2Yv4GH04F/pahAH2ms7gAca4=";
+  };
+
+  pythonRelaxDeps = [
+    "azure-mgmt-security"
+    "boto3"
+    "botocore"
+    "google-api-python-client"
+    "slack-sdk"
+  ];
+
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    alive-progress
+    awsipranges
+    azure-identity
+    azure-mgmt-authorization
+    azure-mgmt-security
+    azure-mgmt-sql
+    azure-mgmt-storage
+    azure-mgmt-subscription
+    azure-storage-blob
+    boto3
+    botocore
+    colorama
+    detect-secrets
+    google-api-python-client
+    google-auth-httplib2
+    jsonschema
+    msgraph-core
+    msrestazure
+    pydantic_1
+    schema
+    shodan
+    slack-sdk
+    tabulate
+  ];
+
+  pythonImportsCheck = [
+    "prowler"
+  ];
+
+  meta = with lib; {
+    description = "Security tool for AWS, Azure and GCP to perform Cloud Security best practices assessments";
+    homepage = "https://github.com/prowler-cloud/prowler";
+    changelog = "https://github.com/prowler-cloud/prowler/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+    mainProgram = "prowler";
+  };
+}
diff --git a/pkgs/by-name/pu/pupdate/package.nix b/pkgs/by-name/pu/pupdate/package.nix
index 00e61e9f0140..01a1a99bac5d 100644
--- a/pkgs/by-name/pu/pupdate/package.nix
+++ b/pkgs/by-name/pu/pupdate/package.nix
@@ -12,13 +12,13 @@
 
 buildDotnetModule rec {
   pname = "pupdate";
-  version = "3.0.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "mattpannella";
     repo = "${pname}";
     rev = "${version}";
-    hash = "sha256-Lr3orYOSzFQCLduBhp2MtGbgiKtFB1CgP/iMMySSvEk=";
+    hash = "sha256-9u1CKxWohGj7Gm3BrC2tpoQAY1r3cpP8OIePo+g7ETo=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/py/pysqlrecon/package.nix b/pkgs/by-name/py/pysqlrecon/package.nix
new file mode 100644
index 000000000000..836b4bf2f780
--- /dev/null
+++ b/pkgs/by-name/py/pysqlrecon/package.nix
@@ -0,0 +1,49 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "pysqlrecon";
+  version = "0.1.3";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "Tw1sm";
+    repo = "PySQLRecon";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-IxIYJo2wG8xqetBqgUOePNWPSx9FaZPhqhOFy3kG6Uk=";
+  };
+
+  pythonRelaxDeps = [
+    "rich"
+    "typer"
+  ];
+
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    impacket
+    rich
+    typer
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pysqlrecon"
+  ];
+
+  meta = with lib; {
+    description = "Offensive MSSQL toolkit";
+    homepage = "https://github.com/Tw1sm/PySQLRecon";
+    changelog = "https://github.com/Tw1sm/PySQLRecon/blob/${version}/CHANGELOG.md";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
+    mainProgram = "pysqlrecon";
+  };
+}
diff --git a/pkgs/by-name/qs/qsreplace/package.nix b/pkgs/by-name/qs/qsreplace/package.nix
new file mode 100644
index 000000000000..a12c27e26ec5
--- /dev/null
+++ b/pkgs/by-name/qs/qsreplace/package.nix
@@ -0,0 +1,28 @@
+{ lib
+, fetchFromGitHub
+, buildGoPackage
+}:
+
+buildGoPackage rec {
+  pname = "qsreplace";
+  version = "0.0.3";
+
+  goPackagePath = "github.com/tomnomnom/qsreplace";
+
+  src = fetchFromGitHub {
+    owner = "tomnomnom";
+    repo = "qsreplace";
+    rev = "v${version}";
+    hash = "sha256-j9bqO2gp4RUxZHGBCIxI5nA3nD1dG4nCpJ1i4TM/fbo=";
+  };
+
+  meta = with lib; {
+    homepage = "https://github.com/tomnomnom/qsreplace";
+    description = "Accept URLs on stdin, replace all query string values with a user-supplied value";
+    mainProgram = "qsreplace";
+    maintainers = with maintainers; [ averagebit ];
+    platforms = platforms.unix;
+    sourceProvenance = with sourceTypes; [ fromSource ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/by-name/qt/qtractor/package.nix
index 71d628d322e4..a19e84467f8d 100644
--- a/pkgs/applications/audio/qtractor/default.nix
+++ b/pkgs/by-name/qt/qtractor/package.nix
@@ -1,4 +1,5 @@
-{ alsa-lib
+{ lib
+, alsa-lib
 , aubio
 , cmake
 , dssi
@@ -15,33 +16,32 @@
 , libvorbis
 , lilv
 , lv2
-, mkDerivation
 , opusfile
 , pkg-config
-, qttools
-, qtbase
+, qt6
 , rubberband
 , serd
+, stdenv
 , sord
 , sratom
-, lib
 , suil
 }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "qtractor";
-  version = "0.9.25";
+  version = "0.9.38";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-cKXHH7rugTJ5D7MDJmr/fX6p209wyGMQvSLbv5T0KXU=";
+    url = "mirror://sourceforge/qtractor/qtractor-${version}.tar.gz";
+    hash = "sha256-aAUOz9gztk9ynQYRq+mniUk++rM6Rdne9U1QM7jKPcU=";
   };
 
   nativeBuildInputs = [
     cmake
     libtool
     pkg-config
-    qttools
+    qt6.qttools
+    qt6.wrapQtAppsHook
   ];
 
   buildInputs = [
@@ -61,7 +61,8 @@ mkDerivation rec {
     lilv
     lv2
     opusfile
-    qtbase
+    qt6.qtbase
+    qt6.qtsvg
     rubberband
     serd
     sord
@@ -73,6 +74,7 @@ mkDerivation rec {
     description = "Audio/MIDI multi-track sequencer";
     homepage = "https://qtractor.sourceforge.io";
     license = licenses.gpl2Plus;
+    mainProgram = "qtractor";
     maintainers = with maintainers; [ goibhniu ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/by-name/re/renode-dts2repl/package.nix b/pkgs/by-name/re/renode-dts2repl/package.nix
index 33891c58f82c..d0dee53f5964 100644
--- a/pkgs/by-name/re/renode-dts2repl/package.nix
+++ b/pkgs/by-name/re/renode-dts2repl/package.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication {
   pname = "renode-dts2repl";
-  version = "unstable-2024-01-09";
+  version = "unstable-2024-01-20";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "antmicro";
     repo = "dts2repl";
-    rev = "429ebc65e0bcbd967ccfe1f9a970abd5b5b6258f";
-    hash = "sha256-/62KAVIMCM6VNhW4rDqnKXOFrAO0cHpybGS3lconCqY=";
+    rev = "bd09db556fa762cb1a4857d874545957d91b0010";
+    hash = "sha256-bGDM23PuON4fx4pNCNVYw2bN0tIWjmwZqghhksAIVGA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/re/renode-unstable/package.nix b/pkgs/by-name/re/renode-unstable/package.nix
index b733a10bd7ba..4b63b039cd85 100644
--- a/pkgs/by-name/re/renode-unstable/package.nix
+++ b/pkgs/by-name/re/renode-unstable/package.nix
@@ -7,10 +7,10 @@
   inherit buildUnstable;
 }).overrideAttrs (finalAttrs: _: {
   pname = "renode-unstable";
-  version = "1.14.0+20240106git1b3952c2c";
+  version = "1.14.0+20240119git1a0826937";
 
   src = fetchurl {
     url = "https://builds.renode.io/renode-${finalAttrs.version}.linux-portable.tar.gz";
-    hash = "sha256-tDo/01jYoq1Qg8h0BS4BQSPh3rsINpe72eMk9UBWgR0=";
+    hash = "sha256-bv5+6DVzBFt5XeKcLJFpUHB5T1RKCNi/CuXXpIn6e9k=";
   };
 })
diff --git a/pkgs/by-name/rm/rmg/package.nix b/pkgs/by-name/rm/rmg/package.nix
index 09a774b1f482..50436f36b928 100644
--- a/pkgs/by-name/rm/rmg/package.nix
+++ b/pkgs/by-name/rm/rmg/package.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , boost
 , cmake
 , discord-rpc
@@ -19,6 +20,8 @@
 , which
 , xdg-user-dirs
 , zlib
+# Affects final license
+, withAngrylionRdpPlus ? false
 }:
 
 let
@@ -26,15 +29,25 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rmg";
-  version = "0.5.5";
+  version = "0.5.7";
 
   src = fetchFromGitHub {
     owner = "Rosalie241";
     repo = "RMG";
     rev = "v${version}";
-    hash = "sha256-au5GDyfW9+drkDNBWNbPY5Bgbow/hQmvP5pWJsYKbYs=";
+    hash = "sha256-j3OVhcTGUXPC0+AqvAJ7+mc+IFqJeBITU99pvfXIunQ=";
   };
 
+  patches = [
+    # Fix bad concatenation of CMake GNUInstallDirs variables, causing broken asset lookup paths
+    # Remove when version > 0.5.7
+    (fetchpatch {
+      name = "0001-rmg-Fix-GNUInstallDirs-usage.patch";
+      url = "https://github.com/Rosalie241/RMG/commit/685aa597c7ee7ad7cfd4dd782f40d21863b75899.patch";
+      hash = "sha256-HnaxUAX+3Z/VTtYYuhoXOtsDtV61nskgyzEcp8fdBsU=";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
     nasm
@@ -66,6 +79,7 @@ stdenv.mkDerivation rec {
     # mupen64plus-input-gca is written in Rust, so we can't build it with
     # everything else.
     "-DNO_RUST=ON"
+    "-DUSE_ANGRYLION=${lib.boolToString withAngrylionRdpPlus}"
   ];
 
   qtWrapperArgs = lib.optionals stdenv.isLinux [
@@ -79,7 +93,7 @@ stdenv.mkDerivation rec {
       Rosalie's Mupen GUI is a free and open-source mupen64plus front-end
       written in C++. It offers a simple-to-use user interface.
     '';
-    license = licenses.gpl3;
+    license = if withAngrylionRdpPlus then licenses.unfree else licenses.gpl3Only;
     platforms = platforms.linux;
     mainProgram = "RMG";
     maintainers = with maintainers; [ slam-bert ];
diff --git a/pkgs/development/compilers/sbcl/bootstrap.nix b/pkgs/by-name/sb/sbcl/bootstrap.nix
index e23557c5a62f..e23557c5a62f 100644
--- a/pkgs/development/compilers/sbcl/bootstrap.nix
+++ b/pkgs/by-name/sb/sbcl/bootstrap.nix
diff --git a/pkgs/development/compilers/sbcl/fix-2.4.0-aarch64-darwin.patch b/pkgs/by-name/sb/sbcl/fix-2.4.0-aarch64-darwin.patch
index cd344f0cbd19..cd344f0cbd19 100644
--- a/pkgs/development/compilers/sbcl/fix-2.4.0-aarch64-darwin.patch
+++ b/pkgs/by-name/sb/sbcl/fix-2.4.0-aarch64-darwin.patch
diff --git a/pkgs/development/compilers/sbcl/2.x.nix b/pkgs/by-name/sb/sbcl/package.nix
index f91e5147cf6a..2f18dcc78d4c 100644
--- a/pkgs/development/compilers/sbcl/2.x.nix
+++ b/pkgs/by-name/sb/sbcl/package.nix
@@ -19,12 +19,12 @@ let
       sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y";
     };
 
-    "2.3.11" = {
-      sha256 = "sha256-hL7rjXLIeJeEf8AoWtyz+k9IG9s5ECxPuat5aEGErSk=";
-    };
     "2.4.0" = {
       sha256 = "sha256-g9i3TwjSJUxZuXkLwfZp4JCZRXuIRyDs7L9F9LRtF3Y=";
     };
+    "2.4.1" = {
+      sha256 = "sha256-2k+UhvrUE9OversbCSaTJf20v/fnuI8hld3udDJjz34=";
+    };
   };
   # Collection of pre-built SBCL binaries for platforms that need them for
   # bootstrapping. Ideally these are to be avoided.  If CLISP (or any other
diff --git a/pkgs/by-name/sh/shopware-cli/package.nix b/pkgs/by-name/sh/shopware-cli/package.nix
index e39407353fae..471a90c0ab29 100644
--- a/pkgs/by-name/sh/shopware-cli/package.nix
+++ b/pkgs/by-name/sh/shopware-cli/package.nix
@@ -9,18 +9,18 @@
 
 buildGoModule rec {
   pname = "shopware-cli";
-  version = "0.4.13";
+  version = "0.4.22";
   src = fetchFromGitHub {
     repo = "shopware-cli";
     owner = "FriendsOfShopware";
     rev = version;
-    hash = "sha256-EetMOCqyzpNzxzCaaFHnSQEkjf9lZyYBWdRKMuxObNM=";
+    hash = "sha256-P93wxAApV2iWXSQGXsCPjmvj2gGMwbKw6+yMgiainb4=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
   nativeCheckInputs = [ git dart-sass ];
 
-  vendorHash = "sha256-TRc3VK1Sgpmi/ToMaqkIMIrxHoyYHNUgrtQewTuQ6ts=";
+  vendorHash = "sha256-FalN3qhw2o9NvSIfEU4juevPAsxQoksNjL3eATf0umU=";
 
   postInstall = ''
     export HOME="$(mktemp -d)"
diff --git a/pkgs/by-name/sh/show-midi/package.nix b/pkgs/by-name/sh/show-midi/package.nix
index e1a433fc8fb4..4e3029921321 100644
--- a/pkgs/by-name/sh/show-midi/package.nix
+++ b/pkgs/by-name/sh/show-midi/package.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "show-midi";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "gbevin";
     repo = "ShowMIDI";
     rev = finalAttrs.version;
-    hash = "sha256-BtkfeHZyeSZH6wIojj3dd2nCS5R535dSWsis/hXJbPc=";
+    hash = "sha256-xt2LpoiaOWAeWM/YzaKM0WGi8aHs4T7pvMw1s/P4Oj0=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/si/simdutf/package.nix b/pkgs/by-name/si/simdutf/package.nix
index 200200bdaa1c..615f6af85da4 100644
--- a/pkgs/by-name/si/simdutf/package.nix
+++ b/pkgs/by-name/si/simdutf/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "simdutf";
-  version = "4.0.8";
+  version = "4.0.9";
 
   src = fetchFromGitHub {
     owner = "simdutf";
     repo = "simdutf";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-QZH21dFUX3NVpk1zyS/zSV+uOJYV3+V6XmuKeOvfc6c=";
+    hash = "sha256-LRMnjiO/J+DaSIBksrudjnkoEZtVG/RmW9S6w1gAB60=";
   };
 
   # Fix build on darwin
diff --git a/pkgs/by-name/si/sirius/package.nix b/pkgs/by-name/si/sirius/package.nix
index c09b9360419e..c8e42ff72fc8 100644
--- a/pkgs/by-name/si/sirius/package.nix
+++ b/pkgs/by-name/si/sirius/package.nix
@@ -16,6 +16,7 @@
 , spfft
 , spla
 , costa
+, umpire
 , scalapack
 , boost
 , eigen
@@ -37,20 +38,15 @@ assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ];
 
 stdenv.mkDerivation rec {
   pname = "SIRIUS";
-  version = "7.4.3";
+  version = "7.5.2";
 
   src = fetchFromGitHub {
     owner = "electronic-structure";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-s4rO+dePvtvn41wxCvbqgQGrEckWmfng7sPX2M8OPB0=";
+    hash = "sha256-DYie6ufgZNqg7ohlIed3Bo+sqLKHOxWXTwAkea2guLk=";
   };
 
-  postPatch = ''
-    substituteInPlace src/gpu/acc_blas_api.hpp \
-      --replace '#include <rocblas.h>' '#include <rocblas/rocblas.h>'
-  '';
-
   nativeBuildInputs = [
     cmake
     gfortran
@@ -63,6 +59,7 @@ stdenv.mkDerivation rec {
     gsl
     libxc
     hdf5
+    umpire
     spglib
     spfft
     spla
@@ -110,11 +107,12 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   # Can not run parallel checks generally as it requires exactly multiples of 4 MPI ranks
+  # Even cpu_serial tests had to be disabled as they require scalapack routines in the sandbox
+  # and run into the same problem as MPI tests
   checkPhase = ''
     runHook preCheck
 
     ctest --output-on-failure --label-exclude integration_test
-    ctest --output-on-failure -L cpu_serial
 
     runHook postCheck
   '';
diff --git a/pkgs/by-name/sn/snicat/deps.nix b/pkgs/by-name/sn/snicat/deps.nix
new file mode 100644
index 000000000000..dca575f88344
--- /dev/null
+++ b/pkgs/by-name/sn/snicat/deps.nix
@@ -0,0 +1,12 @@
+[
+  {
+    goPackagePath = "github.com/therootcompany/sclient";
+    fetch = {
+      type = "FromGitHub";
+      owner = "therootcompany";
+      repo = "sclient";
+      rev = "v1.5.0";
+      sha256 = "sha256-NAFTOx2sm92K+d746Z5UpB1HGsJI6cJgmh+YTyVkJ0w=";
+    };
+  }
+]
diff --git a/pkgs/by-name/sn/snicat/package.nix b/pkgs/by-name/sn/snicat/package.nix
new file mode 100644
index 000000000000..e7e9e6f3ab53
--- /dev/null
+++ b/pkgs/by-name/sn/snicat/package.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, buildGoPackage
+, fetchFromGitHub
+}:
+buildGoPackage rec {
+  pname = "snicat";
+  version = "0.0.1";
+
+  src = fetchFromGitHub {
+    owner = "CTFd";
+    repo = "snicat";
+    rev = version;
+    hash = "sha256-fFlTBOz127le2Y7F9KKhbcldcyFEpAU5QiJ4VCAPs9Y=";
+  };
+
+  patchPhase = ''
+    runHook prePatch
+
+    substituteInPlace snicat.go \
+      --replace-warn "v0.0.0" "v${version}"
+
+    runHook postPatch
+  '';
+
+  goPackagePath = "github.com/CTFd/snicat";
+
+  goDeps = ./deps.nix;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm555 go/bin/snicat $out/bin/sc
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "TLS & SNI aware netcat";
+    homepage = "https://github.com/CTFd/snicat";
+    license = licenses.asl20;
+    mainProgram = "sc";
+    maintainers = with maintainers; [ felixalbrigtsen ];
+  };
+}
diff --git a/pkgs/by-name/sp/spotube/package.nix b/pkgs/by-name/sp/spotube/package.nix
new file mode 100644
index 000000000000..8b0a057daec8
--- /dev/null
+++ b/pkgs/by-name/sp/spotube/package.nix
@@ -0,0 +1,109 @@
+{ lib
+, stdenv
+, fetchurl
+
+, autoPatchelfHook
+, dpkg
+, makeWrapper
+, undmg
+, wrapGAppsHook
+
+, libappindicator
+, libnotify
+, libsecret
+, mpv-unwrapped
+, xdg-user-dirs
+}:
+
+let
+  pname = "spotube";
+  version = "3.4.1";
+
+  meta = {
+    description = "An open source, cross-platform Spotify client compatible across multiple platforms";
+    longDescription = ''
+      Spotube is an open source, cross-platform Spotify client compatible across
+      multiple platforms utilizing Spotify's data API and YouTube (or Piped.video or JioSaavn)
+      as an audio source, eliminating the need for Spotify Premium
+    '';
+    downloadPage = "https://github.com/KRTirtho/spotube/releases";
+    homepage = "https://spotube.netlify.app/";
+    license = lib.licenses.bsdOriginal;
+    mainProgram = "spotube";
+    maintainers = with lib.maintainers; [ tomasajt ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+  };
+
+  fetchArtifact = { filename, hash }:
+    fetchurl {
+      url = "https://github.com/KRTirtho/spotube/releases/download/v${version}/${filename}";
+      inherit hash;
+    };
+
+  darwin = stdenv.mkDerivation {
+    inherit pname version meta;
+
+    src = fetchArtifact {
+      filename = "Spotube-macos-universal.dmg";
+      hash = "sha256-VobLCxsmE5kGIlDDa3v5xIHkw2x2YV14fgHHcDb+bLo=";
+    };
+
+    sourceRoot = ".";
+
+    nativeBuildInputs = [ undmg ];
+
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out/Applications $out/bin
+      cp -r spotube.app $out/Applications
+      ln -s $out/Applications/spotube.app/Contents/MacOS/spotube $out/bin/spotube
+      runHook postInstall
+    '';
+  };
+
+  linux = stdenv.mkDerivation {
+    inherit pname version meta;
+
+    src = fetchArtifact {
+      filename = "Spotube-linux-x86_64.deb";
+      hash = "sha256-NEGhzNz0E8jK2NPmigzoPAvYcU7zN9YHikuXHpzWfx0=";
+    };
+
+    nativeBuildInputs = [
+      autoPatchelfHook
+      dpkg
+      makeWrapper
+      wrapGAppsHook
+    ];
+
+    buildInputs = [
+      libappindicator
+      libnotify
+      libsecret
+      mpv-unwrapped
+    ];
+
+    dontWrapGApps = true;
+
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out
+      cp -r usr/* $out
+      runHook postInstall
+    '';
+
+    preFixup = ''
+      patchelf $out/share/spotube/lib/libmedia_kit_native_event_loop.so \
+          --replace-needed libmpv.so.1 libmpv.so
+    '';
+
+    postFixup = ''
+      makeWrapper $out/share/spotube/spotube $out/bin/spotube \
+          "''${gappsWrapperArgs[@]}" \
+          --prefix LD_LIBRARY_PATH : $out/share/spotube/lib:${lib.makeLibraryPath [ mpv-unwrapped ]} \
+          --prefix PATH : ${lib.makeBinPath [ xdg-user-dirs ]}
+    '';
+  };
+in
+if stdenv.isDarwin then darwin else linux
diff --git a/pkgs/by-name/su/supersonic/package.nix b/pkgs/by-name/su/supersonic/package.nix
index 20d126a92a26..9feb440c8087 100644
--- a/pkgs/by-name/su/supersonic/package.nix
+++ b/pkgs/by-name/su/supersonic/package.nix
@@ -20,16 +20,16 @@ assert waylandSupport -> stdenv.isLinux;
 
 buildGoModule rec {
   pname = "supersonic" + lib.optionalString waylandSupport "-wayland";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "dweymouth";
     repo = "supersonic";
     rev = "v${version}";
-    hash = "sha256-hhFnOxWXR91WpB51c4fvIENoAtqPj+VmPImGcXwTH0o=";
+    hash = "sha256-QHDTbcWSEFleMsjt4BR4xt6DlqPSowUbHmi4+83c0kc=";
   };
 
-  vendorHash = "sha256-oAp3paXWXtTB+1UU/KGewCDQWye16rxNnNWQMdrhgP0=";
+  vendorHash = "sha256-ANVkQpCnPsRueHyxRJMY5cqMZ5Q/QMVW4KS+TFYMpUQ=";
 
   nativeBuildInputs = [
     copyDesktopItems
diff --git a/pkgs/by-name/sv/svp/mpv.nix b/pkgs/by-name/sv/svp/mpv.nix
new file mode 100644
index 000000000000..752d76baf794
--- /dev/null
+++ b/pkgs/by-name/sv/svp/mpv.nix
@@ -0,0 +1,24 @@
+{ lib
+, mpv-unwrapped
+, wrapMpv
+, ocl-icd
+, ...
+}:
+let
+  libraries = [
+    ocl-icd
+  ];
+in
+wrapMpv
+  (mpv-unwrapped.override {
+    vapoursynthSupport = true;
+  })
+{
+  extraMakeWrapperArgs = [
+    # Add paths to required libraries
+    "--prefix"
+    "LD_LIBRARY_PATH"
+    ":"
+    "/run/opengl-driver/lib:${lib.makeLibraryPath libraries}"
+  ];
+}
diff --git a/pkgs/by-name/sv/svp/package.nix b/pkgs/by-name/sv/svp/package.nix
new file mode 100644
index 000000000000..639c67d8cd11
--- /dev/null
+++ b/pkgs/by-name/sv/svp/package.nix
@@ -0,0 +1,147 @@
+{ stdenv
+, buildFHSEnv
+, writeShellScriptBin
+, fetchurl
+, callPackage
+, makeDesktopItem
+, copyDesktopItems
+, ffmpeg
+, glibc
+, gnome
+, jq
+, lib
+, libmediainfo
+, libsForQt5
+, libusb1
+, ocl-icd
+, p7zip
+, patchelf
+, socat
+, vapoursynth
+, xdg-utils
+, xorg
+}:
+let
+  mpvForSVP = callPackage ./mpv.nix { };
+
+  # Script provided by GitHub user @xrun1
+  # https://github.com/xddxdd/nur-packages/issues/31#issuecomment-1812591688
+  fakeLsof = writeShellScriptBin "lsof" ''
+    for arg in "$@"; do
+      if [ -S "$arg" ]; then
+        printf %s p
+        echo '{"command": ["get_property", "pid"]}' |
+          ${socat}/bin/socat - "UNIX-CONNECT:$arg" |
+          ${jq}/bin/jq -Mr .data
+        printf '\n'
+      fi
+    done
+  '';
+
+  libraries = [
+    fakeLsof
+    ffmpeg.bin
+    glibc
+    gnome.zenity
+    libmediainfo
+    libsForQt5.qtbase
+    libsForQt5.qtwayland
+    libsForQt5.qtdeclarative
+    libsForQt5.qtscript
+    libsForQt5.qtsvg
+    libusb1
+    mpvForSVP
+    ocl-icd
+    stdenv.cc.cc.lib
+    vapoursynth
+    xdg-utils
+    xorg.libX11
+  ];
+
+  svp-dist = stdenv.mkDerivation rec {
+    pname = "svp-dist";
+    version = "4.5.210-2";
+    src = fetchurl {
+      url = "https://www.svp-team.com/files/svp4-linux.${version}.tar.bz2";
+      hash = "sha256-dY9uQ9jzTHiN2XSnOrXtHD11IIJW6t9BUzGGQFfZ+yg=";
+    };
+
+    nativeBuildInputs = [ p7zip patchelf ];
+    dontFixup = true;
+
+    unpackPhase = ''
+      tar xf ${src}
+    '';
+
+    buildPhase = ''
+      mkdir installer
+      LANG=C grep --only-matching --byte-offset --binary --text  $'7z\xBC\xAF\x27\x1C' "svp4-linux-64.run" |
+        cut -f1 -d: |
+        while read ofs; do dd if="svp4-linux-64.run" bs=1M iflag=skip_bytes status=none skip=$ofs of="installer/bin-$ofs.7z"; done
+    '';
+
+    installPhase = ''
+      mkdir -p $out/opt
+      for f in "installer/"*.7z; do
+        7z -bd -bb0 -y x -o"$out/opt/" "$f" || true
+      done
+
+      for SIZE in 32 48 64 128; do
+        mkdir -p "$out/share/icons/hicolor/''${SIZE}x''${SIZE}/apps"
+        mv "$out/opt/svp-manager4-''${SIZE}.png" "$out/share/icons/hicolor/''${SIZE}x''${SIZE}/apps/svp-manager4.png"
+      done
+      rm -f $out/opt/{add,remove}-menuitem.sh
+    '';
+  };
+
+  fhs = buildFHSEnv {
+    name = "SVPManager";
+    targetPkgs = pkgs: libraries;
+    runScript = "${svp-dist}/opt/SVPManager";
+    unshareUser = false;
+    unshareIpc = false;
+    unsharePid = false;
+    unshareNet = false;
+    unshareUts = false;
+    unshareCgroup = false;
+  };
+in
+stdenv.mkDerivation {
+  pname = "svp";
+  inherit (svp-dist) version;
+
+  dontUnpack = true;
+
+  nativeBuildInputs = [ copyDesktopItems ];
+
+  postInstall = ''
+    mkdir -p $out/bin $out/share
+    ln -s ${fhs}/bin/SVPManager $out/bin/SVPManager
+    ln -s ${svp-dist}/share/icons $out/share/icons
+  '';
+
+  passthru.mpv = mpvForSVP;
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "svp-manager4";
+      exec = "${fhs}/bin/SVPManager %f";
+      desktopName = "SVP 4 Linux";
+      genericName = "Real time frame interpolation";
+      icon = "svp-manager4";
+      categories = [ "AudioVideo" "Player" "Video" ];
+      mimeTypes = [ "video/x-msvideo" "video/x-matroska" "video/webm" "video/mpeg" "video/mp4" ];
+      terminal = false;
+      startupNotify = true;
+    })
+  ];
+
+  meta = with lib; {
+    description = "SmoothVideo Project 4 (SVP4) converts any video to 60 fps (and even higher) and performs this in real time right in your favorite video player.";
+    homepage = "https://www.svp-team.com/wiki/SVP:Linux";
+    platforms = [ "x86_64-linux" ];
+    license = licenses.unfree;
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    maintainers = with lib.maintainers; [ xddxdd ];
+  };
+}
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/by-name/sy/syslogng/package.nix
index 299988b8367c..7e95f78b1888 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/by-name/sy/syslogng/package.nix
@@ -31,6 +31,7 @@
 , rabbitmq-c
 , libesmtp
 , rdkafka
+, gperf
 }:
 let
   python-deps = ps: with ps; [
@@ -59,16 +60,16 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "syslog-ng";
-  version = "4.5.0";
+  version = "4.6.0";
 
   src = fetchFromGitHub {
     owner = "syslog-ng";
     repo = "syslog-ng";
     rev = "syslog-ng-${version}";
-    hash = "sha256-cWlTGACuHm8o2563Axh43Ks7EhYok6+V9mOkrYp4km8=";
+    hash = "sha256-B9s7mprPpS4xc7mfJbsDaq2hB1rjYmuOnOnpu+NnMRs=";
     fetchSubmodules = true;
   };
-  nativeBuildInputs = [ autoreconfHook autoconf-archive pkg-config which bison flex libxslt perl ];
+  nativeBuildInputs = [ autoreconfHook autoconf-archive pkg-config which bison flex libxslt perl gperf ];
 
   buildInputs = [
     libcap
diff --git a/pkgs/by-name/sy/systemd-lock-handler/package.nix b/pkgs/by-name/sy/systemd-lock-handler/package.nix
new file mode 100644
index 000000000000..04c52dd2df0a
--- /dev/null
+++ b/pkgs/by-name/sy/systemd-lock-handler/package.nix
@@ -0,0 +1,51 @@
+{ lib
+, fetchFromSourcehut
+, buildGoModule
+, nix-update-script
+, nixosTests
+}:
+
+buildGoModule rec {
+  pname = "systemd-lock-handler";
+  version = "2.4.2";
+
+  src = fetchFromSourcehut {
+    owner = "~whynothugo";
+    repo = "systemd-lock-handler";
+    rev = "v${version}";
+    hash = "sha256-sTVAabwWtyvHuDp/+8FKNbfej1x/egoa9z1jLIMJuBg=";
+  };
+
+  vendorHash = "sha256-dWzojV3tDA5lLdpAQNC9NaADGyvV7dNOS3x8mfgNNtA=";
+
+  passthru = {
+    updateScript = nix-update-script { };
+    tests = nixosTests.systemd-lock-handler;
+  };
+
+  # The Makefile expects to find the binary in the source root. Make
+  # the one built by `buildGoModule` available so that `make install`
+  # doesn’t try to build it again.
+  postBuild = ''
+    cp -a $GOPATH/bin/* .
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    substituteInPlace systemd-lock-handler.service \
+      --replace /usr/lib/ $out/lib/
+
+    make install DESTDIR= PREFIX=$out
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://git.sr.ht/~whynothugo/systemd-lock-handler";
+    description = "Translates systemd-system lock/sleep signals into systemd-user target activations";
+    license = licenses.isc;
+    maintainers = with maintainers; [ liff ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/by-name/ta/tailscale-nginx-auth/package.nix b/pkgs/by-name/ta/tailscale-nginx-auth/package.nix
index aebaab0c7627..304e94f5ed67 100644
--- a/pkgs/by-name/ta/tailscale-nginx-auth/package.nix
+++ b/pkgs/by-name/ta/tailscale-nginx-auth/package.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, buildGoModule, fetchFromGitHub }:
 
 let
-  version = "1.58.0";
+  version = "1.58.2";
 in
 buildGoModule {
   pname = "tailscale-nginx-auth";
@@ -11,7 +11,7 @@ buildGoModule {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    hash = "sha256-ue1opjT8wkL+hYzMxU/GtOrJd3/KPSOptU8A8nklacY=";
+    hash = "sha256-FiFFfUtse0CKR4XJ82HEjpZNxCaa4FnwSJfEzJ5kZgk=";
   };
   vendorHash = "sha256-BK1zugKGtx2RpWHDvFZaFqz/YdoewsG8SscGt25uwtQ=";
 
diff --git a/pkgs/by-name/ti/tigerbeetle/package.nix b/pkgs/by-name/ti/tigerbeetle/package.nix
index 2edb32b891fa..f496c549087b 100644
--- a/pkgs/by-name/ti/tigerbeetle/package.nix
+++ b/pkgs/by-name/ti/tigerbeetle/package.nix
@@ -14,13 +14,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "tigerbeetle";
-  version = "0.14.175";
+  version = "0.14.177";
 
   src = fetchFromGitHub {
     owner = "tigerbeetle";
     repo = "tigerbeetle";
     rev = "refs/tags/${finalAttrs.version}";
-    hash = "sha256-MabY6kfK/SZ2ps8RZkI6cDhMdHasc1fk6+PKBfVMRm0=";
+    hash = "sha256-oMsDHz/yOWtS1XhJcXR74pA3YvPzANUdRAy7tjNO5lc=";
   };
 
   nativeBuildInputs = [ custom_zig_hook ];
diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix
index 09fbbcf7ae7b..8b11104cb9a0 100644
--- a/pkgs/by-name/ui/uiua/package.nix
+++ b/pkgs/by-name/ui/uiua/package.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "uiua";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "uiua-lang";
     repo = "uiua";
     rev = version;
-    hash = "sha256-cBwQdArVRiXH8TmgBSPpcB5oNu3Q/+Us9Azzw0lV5Vs=";
+    hash = "sha256-JilYPIeJbVf9wgGpLTy8pbMwFRrW7Od+8y0tWwAXU84=";
   };
 
-  cargoHash = "sha256-7cgKiEqklvUw64a6+lbHA9t6QWiTquYVi0evXkONEag=";
+  cargoHash = "sha256-oXO2TBdKmVIpZD0jLI1CK9b48r3SwdeygcJoUG6HGXo=";
 
   nativeBuildInputs = lib.optionals stdenv.isDarwin [
     rustPlatform.bindgenHook
@@ -42,9 +42,9 @@ rustPlatform.buildRustPackage rec {
   buildFeatures = lib.optional audioSupport "audio";
 
   passthru.tests.run = runCommand "uiua-test-run" { nativeBuildInputs = [ uiua ]; } ''
-    uiua init;
+    uiua init
     diff -U3 --color=auto <(uiua run main.ua) <(echo '"Hello, World!"')
-    touch $out;
+    touch $out
   '';
 
   meta = {
diff --git a/pkgs/by-name/um/umpire/package.nix b/pkgs/by-name/um/umpire/package.nix
new file mode 100644
index 000000000000..d4fac1cd541c
--- /dev/null
+++ b/pkgs/by-name/um/umpire/package.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "umpire";
+  version = "2023.06.0";
+
+  src = fetchFromGitHub {
+    owner = "LLNL";
+    repo = "umpire";
+    rev = "v${version}";
+    hash = "sha256-gdwr0ACCfkrtlVROPhxM7zT7SaCo2Eg1etrPFN4JHaA=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "Application-focused API for memory management on NUMA & GPU architectures";
+    homepage = "https://github.com/LLNL/Umpire";
+    maintainers = with maintainers; [ sheepforce ];
+    license = with licenses; [ mit ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/by-name/ux/uxn/package.nix b/pkgs/by-name/ux/uxn/package.nix
index 4933591ba3f9..2bc851ff764b 100644
--- a/pkgs/by-name/ux/uxn/package.nix
+++ b/pkgs/by-name/ux/uxn/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "uxn";
-  version = "unstable-2024-01-15";
+  version = "unstable-2024-01-21";
 
   src = fetchFromSourcehut {
     owner = "~rabbits";
     repo = "uxn";
-    rev = "8212ca5edb55a28976515a73fcb454f18eb44a09";
-    hash = "sha256-K/qTKSGt/sFHt0lfUbwa/Y2XlWst30q1aKvsm4sjrLc=";
+    rev = "3e1183285a94a0930c9b09fd4fa73ac3a5d24fda";
+    hash = "sha256-hhxcj/jVBOm7E63Z9sS3SnFjexQEXVtw3QU5n/4hkVI=";
   };
 
   outputs = [ "out" "projects" ];
diff --git a/pkgs/tools/cd-dvd/ventoy/000-nixos-sanitization.patch b/pkgs/by-name/ve/ventoy/000-nixos-sanitization.patch
index 1d7afc5159c7..1d7afc5159c7 100644
--- a/pkgs/tools/cd-dvd/ventoy/000-nixos-sanitization.patch
+++ b/pkgs/by-name/ve/ventoy/000-nixos-sanitization.patch
diff --git a/pkgs/tools/cd-dvd/ventoy/default.nix b/pkgs/by-name/ve/ventoy/package.nix
index f7b90e6e252d..4338932481ee 100644
--- a/pkgs/tools/cd-dvd/ventoy/default.nix
+++ b/pkgs/by-name/ve/ventoy/package.nix
@@ -1,6 +1,4 @@
 { lib
-, stdenv
-, fetchurl
 , autoPatchelfHook
 , bash
 , copyDesktopItems
@@ -9,6 +7,7 @@
 , dosfstools
 , e2fsprogs
 , exfat
+, fetchurl
 , gawk
 , gnugrep
 , gnused
@@ -19,6 +18,7 @@
 , ntfs3g
 , parted
 , procps
+, stdenv
 , util-linux
 , which
 , xfsprogs
@@ -38,7 +38,7 @@ assert defaultGuiType == "gtk3" -> withGtk3;
 assert defaultGuiType == "qt5" -> withQt5;
 
 let
-  inherit (lib) optional optionalString;
+  inherit (lib) optionals optionalString;
   inherit (libsForQt5) qtbase wrapQtAppsHook;
   arch = {
     x86_64-linux = "x86_64";
@@ -46,20 +46,16 @@ let
     aarch64-linux = "aarch64";
     mipsel-linux = "mips64el";
   }.${stdenv.hostPlatform.system}
-    or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
+    or (throw "Unsupported platform: ${stdenv.hostPlatform.system}");
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "ventoy";
-  version = "1.0.96";
+  version = "1.0.97";
 
-  src =
-    let
-      inherit (finalAttrs) version;
-    in
-    fetchurl {
-      url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz";
-      hash = "sha256-eUpxfJQ0u3bpAXTUCKlMO/ViwKcBI59YFKJ3xGzSdcg=";
-    };
+  src = fetchurl {
+    url = "https://github.com/ventoy/Ventoy/releases/download/v${finalAttrs.version}/ventoy-${finalAttrs.version}-linux.tar.gz";
+    hash = "sha256-E2ipCCydsllY5UB+9JhDItkNO7AJBTN9S9QWeOBsEVA=";
+  };
 
   patches = [
     ./000-nixos-sanitization.patch
@@ -78,8 +74,8 @@ stdenv.mkDerivation (finalAttrs: {
     autoPatchelfHook
     makeWrapper
   ]
-  ++ optional (withQt5 || withGtk3) copyDesktopItems
-  ++ optional withQt5 wrapQtAppsHook;
+  ++ optionals (withQt5 || withGtk3) [ copyDesktopItems ]
+  ++ optionals withQt5 [ wrapQtAppsHook ];
 
   buildInputs = [
     bash
@@ -96,12 +92,14 @@ stdenv.mkDerivation (finalAttrs: {
     which
     xz
   ]
-  ++ optional withCryptsetup cryptsetup
-  ++ optional withExt4 e2fsprogs
-  ++ optional withGtk3 gtk3
-  ++ optional withNtfs ntfs3g
-  ++ optional withXfs xfsprogs
-  ++ optional withQt5 qtbase;
+  ++ optionals withCryptsetup [ cryptsetup ]
+  ++ optionals withExt4 [ e2fsprogs ]
+  ++ optionals withGtk3 [ gtk3 ]
+  ++ optionals withNtfs [ ntfs3g ]
+  ++ optionals withXfs [ xfsprogs ]
+  ++ optionals withQt5 [ qtbase ];
+
+  strictDeps = true;
 
   desktopItems = [
     (makeDesktopItem {
@@ -203,6 +201,7 @@ stdenv.mkDerivation (finalAttrs: {
     '';
     changelog = "https://www.ventoy.net/doc_news.html";
     license = lib.licenses.gpl3Plus;
+    mainProgram = "ventoy";
     maintainers = with lib.maintainers; [ AndersonTorres ];
     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "mipsel-linux" ];
     sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
diff --git a/pkgs/by-name/wh/whistle/package.nix b/pkgs/by-name/wh/whistle/package.nix
index 4d205d60bf2f..3cf9fc45dc9c 100644
--- a/pkgs/by-name/wh/whistle/package.nix
+++ b/pkgs/by-name/wh/whistle/package.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "whistle";
-  version = "2.9.63";
+  version = "2.9.64";
 
   src = fetchFromGitHub {
     owner = "avwo";
     repo = "whistle";
     rev = "v${version}";
-    hash = "sha256-Dp3bW31INOVMCAculPsGHmzkQiWawfo5k9ALs21C1mc=";
+    hash = "sha256-dK9oaTm4l170COZ8Gm6Suc821DPUYg8euIo6l+EQYEo=";
   };
 
-  npmDepsHash = "sha256-Qqtp0SukzkuG1DGMcKP4eLXGfWHMZY9TcyP280wkk0g=";
+  npmDepsHash = "sha256-0YnWmCI0UVQPegwHEKiCmow5LA4kjQVKctWRwHW0Ufg=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/by-name/wo/worker/package.nix b/pkgs/by-name/wo/worker/package.nix
index 564a5ae59143..9ffa65245cdf 100644
--- a/pkgs/by-name/wo/worker/package.nix
+++ b/pkgs/by-name/wo/worker/package.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "worker";
-  version = "5.0.0";
+  version = "5.0.1";
 
   src = fetchurl {
     url = "http://www.boomerangsworld.de/cms/worker/downloads/worker-${finalAttrs.version}.tar.gz";
-    hash = "sha256-iEfHl3eDBkLpvI/WKBEO21briu5Ikv9YA4NSVZXos44=";
+    hash = "sha256-7bnJ7w7ejK5VDkna52jCtHKD8iiNOdXCpU0wx7RtkxA=";
   };
 
   buildInputs = [ libX11 ];
diff --git a/pkgs/by-name/xs/xscreensaver/package.nix b/pkgs/by-name/xs/xscreensaver/package.nix
index ba946305425f..54129c938e5e 100644
--- a/pkgs/by-name/xs/xscreensaver/package.nix
+++ b/pkgs/by-name/xs/xscreensaver/package.nix
@@ -22,6 +22,7 @@
 , makeWrapper
 , pam
 , perlPackages
+, xorg
 , pkg-config
 , systemd
 , forceInstallAllHacks ? true
@@ -102,7 +103,7 @@ stdenv.mkDerivation (finalAttrs: {
     for bin in $out/bin/*; do
       wrapProgram "$bin" \
         --prefix PATH : "$out/libexec/xscreensaver" \
-        --prefix PATH : "${lib.makeBinPath [ coreutils perlPackages.perl ]}" \
+        --prefix PATH : "${lib.makeBinPath [ coreutils perlPackages.perl xorg.appres ]}" \
         --prefix PERL5LIB ':' $PERL5LIB
     done
   ''
diff --git a/pkgs/by-name/xs/xsct/package.nix b/pkgs/by-name/xs/xsct/package.nix
index 62a1b36ee0fb..6bec80b6b965 100644
--- a/pkgs/by-name/xs/xsct/package.nix
+++ b/pkgs/by-name/xs/xsct/package.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "xsct";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchFromGitHub {
     owner = "faf0";
     repo = "sct";
     rev = finalAttrs.version;
-    hash = "sha256-VT92NRz4Te5+8NmpEm1PFXfsL2CoVT+b91/KD9sCg0Q=";
+    hash = "sha256-PDkbZTtl14wYdfALv43SIU9MKhbfiYlRqkI1mFn1qa4=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/yg/yggdrasil/package.nix b/pkgs/by-name/yg/yggdrasil/package.nix
index 9ba083e0fb34..70e352e73092 100644
--- a/pkgs/by-name/yg/yggdrasil/package.nix
+++ b/pkgs/by-name/yg/yggdrasil/package.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yggdrasil";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchFromGitHub {
     owner = "yggdrasil-network";
     repo = "yggdrasil-go";
     rev = "v${version}";
-    sha256 = "sha256-or+XTt8V/1BuLSJ53w1aKqJfx3Pka6VmC4TpvpP83+0=";
+    sha256 = "sha256-ZInSgHjur2C+G6h/VcYtlCt0YLWwMIrz84UkDBbR73s=";
   };
 
-  vendorHash = "sha256-K7VJ+1x7+DgdwTjEgZ7sJ7SaCssBg+ukQupJ/1FN4F0=";
+  vendorHash = "sha256-Ar0mWVFgLP1eYeKalaazZLKaLMXoe2bOGYkruzaKW88=";
 
   subPackages = [ "cmd/genkeys" "cmd/yggdrasil" "cmd/yggdrasilctl" ];
 
diff --git a/pkgs/by-name/yo/youplot/Gemfile b/pkgs/by-name/yo/youplot/Gemfile
new file mode 100644
index 000000000000..ee3c0e5fc346
--- /dev/null
+++ b/pkgs/by-name/yo/youplot/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'youplot'
diff --git a/pkgs/by-name/yo/youplot/Gemfile.lock b/pkgs/by-name/yo/youplot/Gemfile.lock
new file mode 100644
index 000000000000..17b8b43dfa2e
--- /dev/null
+++ b/pkgs/by-name/yo/youplot/Gemfile.lock
@@ -0,0 +1,18 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    enumerable-statistics (2.0.7)
+    unicode_plot (0.0.5)
+      enumerable-statistics (>= 2.0.1)
+    youplot (0.4.5)
+      unicode_plot (>= 0.0.5)
+
+PLATFORMS
+  arm64-darwin-22
+  ruby
+
+DEPENDENCIES
+  youplot
+
+BUNDLED WITH
+   2.5.3
diff --git a/pkgs/by-name/yo/youplot/gemset.nix b/pkgs/by-name/yo/youplot/gemset.nix
new file mode 100644
index 000000000000..ae8439540912
--- /dev/null
+++ b/pkgs/by-name/yo/youplot/gemset.nix
@@ -0,0 +1,34 @@
+{
+  enumerable-statistics = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dlnfncz0lbyczakgdlys44pksj6h447npj665xk41b36y0lbf7f";
+      type = "gem";
+    };
+    version = "2.0.7";
+  };
+  unicode_plot = {
+    dependencies = ["enumerable-statistics"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fzpg1zizf19xgfzqw6lmb38xir423wwxb2mjsb3nym6phvn5kli";
+      type = "gem";
+    };
+    version = "0.0.5";
+  };
+  youplot = {
+    dependencies = ["unicode_plot"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0imy65wjkgdkpqfympbz8lp2ih866538vk55fwz9a909ib9sbdri";
+      type = "gem";
+    };
+    version = "0.4.5";
+  };
+}
diff --git a/pkgs/by-name/yo/youplot/package.nix b/pkgs/by-name/yo/youplot/package.nix
new file mode 100644
index 000000000000..d858c8764e83
--- /dev/null
+++ b/pkgs/by-name/yo/youplot/package.nix
@@ -0,0 +1,19 @@
+{ lib, bundlerApp, bundlerUpdateScript }:
+
+bundlerApp {
+  pname = "youplot";
+  gemdir = ./.;
+
+  exes = [ "uplot" ];
+
+  passthru.updateScript = bundlerUpdateScript "youplot";
+
+  meta = with lib; {
+    description = "A command line tool that draws plots on the terminal";
+    homepage    = "https://github.com/red-data-tools/YouPlot";
+    mainProgram = "uplot";
+    license     = licenses.mit;
+    maintainers = with maintainers; [ purcell ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/by-name/yo/youtrack/package.nix b/pkgs/by-name/yo/youtrack/package.nix
new file mode 100644
index 000000000000..d07e85bfb88c
--- /dev/null
+++ b/pkgs/by-name/yo/youtrack/package.nix
@@ -0,0 +1,43 @@
+{ lib, stdenvNoCC, fetchzip, makeBinaryWrapper, jdk17_headless, gawk, statePath ? "/var/lib/youtrack" }:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "youtrack";
+  version = "2023.3.23390";
+
+  src = fetchzip {
+    url = "https://download.jetbrains.com/charisma/youtrack-${finalAttrs.version}.zip";
+    hash = "sha256-p3ZjClVku7EjQSd9wwx0iJ+5DqooaKragdNzj0f8OO8=";
+  };
+
+  nativeBuildInputs = [ makeBinaryWrapper ];
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out
+    cp -r * $out
+    makeWrapper $out/bin/youtrack.sh $out/bin/youtrack \
+      --prefix PATH : "${lib.makeBinPath [ gawk ]}" \
+      --set JRE_HOME ${jdk17_headless}
+    rm -rf $out/internal/java
+    mv $out/conf $out/conf.orig
+    ln -s ${statePath}/backups $out/backups
+    ln -s ${statePath}/conf $out/conf
+    ln -s ${statePath}/data $out/data
+    ln -s ${statePath}/logs $out/logs
+    ln -s ${statePath}/temp $out/temp
+    runHook postInstall
+  '';
+
+  passthru.updateScript = ./update.sh;
+
+  meta = {
+    description = "Issue tracking and project management tool for developers";
+    maintainers = lib.teams.serokell.members ++ [ lib.maintainers.leona ];
+    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
+    # https://www.jetbrains.com/youtrack/buy/license.html
+    license = lib.licenses.unfree;
+  };
+})
diff --git a/pkgs/by-name/yo/youtrack/update.sh b/pkgs/by-name/yo/youtrack/update.sh
new file mode 100755
index 000000000000..c1ffb8b2bfbf
--- /dev/null
+++ b/pkgs/by-name/yo/youtrack/update.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl xq-xml common-updater-scripts
+
+set -eu -o pipefail
+
+version="$(curl https://www.jetbrains.com/youtrack/update.xml | \
+    xq -x "/products/product[@name='YouTrack']/channel/build/@version")"
+
+update-source-version youtrack "$version"
diff --git a/pkgs/servers/jetbrains/youtrack.nix b/pkgs/by-name/yo/youtrack_2022_3/package.nix
index 31b4a457ec86..388c536bf15d 100644
--- a/pkgs/servers/jetbrains/youtrack.nix
+++ b/pkgs/by-name/yo/youtrack_2022_3/package.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, makeWrapper, jdk17, gawk }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "youtrack";
   version = "2022.3.65371";
 
   jar = fetchurl {
-    url = "https://download.jetbrains.com/charisma/${pname}-${version}.jar";
+    url = "https://download.jetbrains.com/charisma/youtrack-${finalAttrs.version}.jar";
     sha256 = "sha256-NQKWmKEq5ljUXd64zY27Nj8TU+uLdA37chbFVdmwjNs=";
   };
 
@@ -22,11 +22,11 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Issue tracking and project management tool for developers";
-    maintainers = teams.serokell.members;
-    sourceProvenance = with sourceTypes; [ binaryBytecode ];
+    maintainers = lib.teams.serokell.members ++ [ lib.maintainers.leona ];
+    sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
     # https://www.jetbrains.com/youtrack/buy/license.html
-    license = licenses.unfree;
+    license = lib.licenses.unfree;
   };
-}
+})
diff --git a/pkgs/data/fonts/0xproto/default.nix b/pkgs/data/fonts/0xproto/default.nix
index 46fc708bc33f..778c1ff79fa9 100644
--- a/pkgs/data/fonts/0xproto/default.nix
+++ b/pkgs/data/fonts/0xproto/default.nix
@@ -4,14 +4,14 @@
 }:
 stdenvNoCC.mkDerivation rec {
   pname = "0xproto";
-  version = "1.500";
+  version = "1.601";
 
   src = let
     underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
   in
     fetchzip {
       url = "https://github.com/0xType/0xProto/releases/download/${version}/0xProto_${underscoreVersion}.zip";
-      hash = "sha256-4yZtYjNLHDsF16brUADzwS4/Ha0g+g0mU+sl8Gb9Zm0=";
+      hash = "sha256-f/5YmyIF66+7w2Tb0V0UKRjwDYDdZ0BEqsEuyN0FaDQ=";
     };
 
   installPhase = ''
diff --git a/pkgs/data/fonts/ibm-plex/default.nix b/pkgs/data/fonts/ibm-plex/default.nix
index 21321d83af34..a6c7b4d29535 100644
--- a/pkgs/data/fonts/ibm-plex/default.nix
+++ b/pkgs/data/fonts/ibm-plex/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "ibm-plex";
-  version = "6.2.0";
+  version = "6.4.0";
 
   src = fetchzip {
     url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip";
-    hash = "sha256-RvD/aeZrvltJiuAHqYMNaRsjLgTdcC1/5zqlcd4qKAA=";
+    hash = "sha256-/aR3bu03VxenSPed6EqrGoPjWCcKT//MVtb9OC8tSRs=";
   };
 
   installPhase = ''
diff --git a/pkgs/data/fonts/kode-mono/default.nix b/pkgs/data/fonts/kode-mono/default.nix
index b92d4d54015c..8a4617989398 100644
--- a/pkgs/data/fonts/kode-mono/default.nix
+++ b/pkgs/data/fonts/kode-mono/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "kode-mono";
-  version = "1.202";
+  version = "1.205";
 
   src = fetchzip {
     url = "https://github.com/isaozler/kode-mono/releases/download/${finalAttrs.version}/kode-mono-fonts.zip";
-    hash = "sha256-wltprCA73BHAe+WrCWIsLqQ/H+vgVzclEL5voZPmbDU=";
+    hash = "sha256-DRe2Qi+Unhr5ebQdTG6QgvQEUTNOdnosFbQC8kpHNYU=";
     stripRoot = false;
   };
 
diff --git a/pkgs/data/fonts/sketchybar-app-font/default.nix b/pkgs/data/fonts/sketchybar-app-font/default.nix
index 765cffa6cfd9..aeb4d1b1b3e2 100644
--- a/pkgs/data/fonts/sketchybar-app-font/default.nix
+++ b/pkgs/data/fonts/sketchybar-app-font/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "sketchybar-app-font";
-  version = "1.0.23";
+  version = "2.0.3";
 
   src = fetchurl {
     url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/sketchybar-app-font.ttf";
-    hash = "sha256-9ELXLlYZyffXD0zomcJsG1Adb/Gu6oRTQZyzwK5lZ6I=";
+    hash = "sha256-KeyUx/u0YARmNdVC9RQtAL3QFOgV59uyg53y0Lknvyw=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix
index e940bc7d52be..4a39dfe473c8 100644
--- a/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -13,13 +13,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "papirus-icon-theme";
-  version = "20231201";
+  version = "20240201";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = pname;
     rev = version;
-    hash = "sha256-nLc2nt8YI193loMHjzzEwgvb+tdNrVTZskqssX2oFrU=";
+    hash = "sha256-hAmtvib6wENEAGQdK242wwDqF3Ddu4YR00KPaWR8JMo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix
index 9593195d78d4..26235cbfb94b 100644
--- a/pkgs/data/misc/v2ray-domain-list-community/default.nix
+++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix
@@ -3,12 +3,12 @@
 let
   generator = pkgsBuildBuild.buildGoModule rec {
     pname = "v2ray-domain-list-community";
-    version = "20240105034708";
+    version = "20240123112230";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      hash = "sha256-8taKbZUWttpTY56lzgWJeAPpt0q9srSwRkNqkOsmY2Y=";
+      hash = "sha256-tt6/JEX1WM6ayBU4NnY/yjz9S6IDAfr6hJmyF9mPHAo=";
     };
     vendorHash = "sha256-azvMUi8eLNoNofRa2X4SKTTiMd6aOyO6H/rOiKjkpIY=";
     meta = with lib; {
diff --git a/pkgs/data/themes/dracula-theme/default.nix b/pkgs/data/themes/dracula-theme/default.nix
index 67426faa0054..0f40caab8c6a 100644
--- a/pkgs/data/themes/dracula-theme/default.nix
+++ b/pkgs/data/themes/dracula-theme/default.nix
@@ -2,7 +2,7 @@
 
 let
   themeName = "Dracula";
-  version = "unstable-2024-01-16";
+  version = "unstable-2024-01-24";
 in
 stdenvNoCC.mkDerivation {
   pname = "dracula-theme";
@@ -11,8 +11,8 @@ stdenvNoCC.mkDerivation {
   src = fetchFromGitHub {
     owner = "dracula";
     repo = "gtk";
-    rev = "90e5a61ac4e69d4971efef07700b43a3fcacd8c5";
-    hash = "sha256-u7LW/EmCO5JvpwcgDZ1jWyfcolIaCKJee33xF0Urieo=";
+    rev = "ed505cce4b61831765a128ebb544edf040f57be5";
+    hash = "sha256-jPZabinmQMCtBPj/P3vuqb3OCUbx9OAuCoar7ZnegPQ=";
   };
 
   propagatedUserEnvPkgs = [
diff --git a/pkgs/desktops/budgie/budgie-desktop/default.nix b/pkgs/desktops/budgie/budgie-desktop/default.nix
index 04263c99a74f..585625226d86 100644
--- a/pkgs/desktops/budgie/budgie-desktop/default.nix
+++ b/pkgs/desktops/budgie/budgie-desktop/default.nix
@@ -8,7 +8,6 @@
 , glib
 , gnome
 , gnome-desktop
-, gnome-menus
 , graphene
 , gst_all_1
 , gtk-doc
@@ -32,19 +31,20 @@
 , sassc
 , upower
 , vala
+, xfce
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "budgie-desktop";
-  version = "10.8.2";
+  version = "10.9";
 
   src = fetchFromGitHub {
     owner = "BuddiesOfBudgie";
     repo = "budgie-desktop";
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-K5XUYcFjDJCHhjb/UTO206+UT6lI2P7X1v3SqlYbwPM=";
+    hash = "sha256-yyuLBzTDEQH7rBOWTYBvS+3x2mlbF34f7U7oOUO8BeA=";
   };
 
   patches = [
@@ -68,8 +68,6 @@ stdenv.mkDerivation (finalAttrs: {
     budgie-screensaver
     glib
     gnome-desktop
-    gnome-menus
-    gnome.gnome-bluetooth_1_0
     gnome.gnome-settings-daemon
     gnome.mutter
     gnome.zenity
@@ -89,6 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
     polkit
     sassc
     upower
+    xfce.libxfce4windowing
   ] ++ (with gst_all_1; [
     gstreamer
     gst-plugins-base
diff --git a/pkgs/desktops/budgie/budgie-session/default.nix b/pkgs/desktops/budgie/budgie-session/default.nix
new file mode 100644
index 000000000000..70b49080cb68
--- /dev/null
+++ b/pkgs/desktops/budgie/budgie-session/default.nix
@@ -0,0 +1,101 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, substituteAll
+, meson
+, ninja
+, pkg-config
+, gnome
+, glib
+, gtk3
+, gsettings-desktop-schemas
+, gnome-desktop
+, dbus
+, json-glib
+, libICE
+, xmlto
+, docbook_xsl
+, docbook_xml_dtd_412
+, python3
+, libxslt
+, gettext
+, makeWrapper
+, systemd
+, xorg
+, libepoxy
+, bash
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "budgie-session";
+  version = "0.9.1";
+
+  src = fetchFromGitHub {
+    owner = "BuddiesOfBudgie";
+    repo = "budgie-session";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-mz+Yh3NK2Tag+MWVofFFXYYXspxhmYBD6YCiuATpZSI=";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      gsettings = "${glib.bin}/bin/gsettings";
+      dbusLaunch = "${dbus.lib}/bin/dbus-launch";
+      bash = "${bash}/bin/bash";
+    })
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+    makeWrapper
+    xmlto
+    libxslt
+    docbook_xsl
+    docbook_xml_dtd_412
+    python3
+    dbus # for DTD
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    libICE
+    gnome-desktop
+    json-glib
+    xorg.xtrans
+    gnome.adwaita-icon-theme
+    gnome.gnome-settings-daemon
+    gsettings-desktop-schemas
+    systemd
+    libepoxy
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
+
+  # `bin/budgie-session` will reset the environment when run in wayland, we
+  # therefor wrap `libexec/budgie-session-binary` instead which is the actual
+  # binary needing wrapping
+  preFixup = ''
+    wrapProgram "$out/libexec/budgie-session-binary" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
+      --suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg"
+  '';
+
+  separateDebugInfo = true;
+
+  meta = {
+    description = "Session manager for Budgie";
+    homepage = "https://github.com/BuddiesOfBudgie/budgie-session";
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [federicoschonborn];
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/pkgs/desktops/budgie/budgie-session/fix-paths.patch b/pkgs/desktops/budgie/budgie-session/fix-paths.patch
new file mode 100644
index 000000000000..1c011d26b549
--- /dev/null
+++ b/pkgs/desktops/budgie/budgie-session/fix-paths.patch
@@ -0,0 +1,35 @@
+diff --git a/gnome-session/budgie-session.in b/gnome-session/budgie-session.in
+index 8a91e061..3e2ef031 100755
+--- a/gnome-session/budgie-session.in
++++ b/gnome-session/budgie-session.in
+@@ -7,13 +7,15 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
+    ! (echo "$SHELL" | grep -q "false") &&
+    ! (echo "$SHELL" | grep -q "nologin"); then
+   if [ "$1" != '-l' ]; then
+-    exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
++    # Make sure the shell actually sets up the environment.
++    unset __NIXOS_SET_ENVIRONMENT_DONE
++    exec @bash@ -c "exec -l '$SHELL' -c '$0 -l $*'"
+   else
+     shift
+   fi
+ fi
+ 
+-SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region)
++SETTING=$(G_MESSAGES_DEBUG='' @gsettings@ get org.gnome.system.locale region)
+ REGION=${SETTING#\'}
+ REGION=${REGION%\'}
+ 
+diff --git a/gnome-session/main.c b/gnome-session/main.c
+index 327c7c7f..301ec7ee 100644
+--- a/gnome-session/main.c
++++ b/gnome-session/main.c
+@@ -219,7 +219,7 @@ require_dbus_session (int      argc,
+         }
+         new_argv[i + 2] = NULL;
+         
+-        if (!execvp ("dbus-launch", new_argv)) {
++        if (!execvp ("@dbusLaunch@", new_argv)) {
+                 g_set_error (error, 
+                              G_SPAWN_ERROR,
+                              G_SPAWN_ERROR_FAILED,
diff --git a/pkgs/desktops/budgie/default.nix b/pkgs/desktops/budgie/default.nix
index 73eca3942023..031ec9cd51a0 100644
--- a/pkgs/desktops/budgie/default.nix
+++ b/pkgs/desktops/budgie/default.nix
@@ -8,5 +8,6 @@ lib.makeScope pkgs.newScope (self: with self; {
   budgie-desktop-with-plugins = callPackage ./budgie-desktop/wrapper.nix { };
   budgie-gsettings-overrides = callPackage ./budgie-gsettings-overrides { };
   budgie-screensaver = callPackage ./budgie-screensaver { };
+  budgie-session = callPackage ./budgie-session { };
   magpie = callPackage ./magpie { };
 })
diff --git a/pkgs/desktops/cinnamon/cinnamon-session/default.nix b/pkgs/desktops/cinnamon/cinnamon-session/default.nix
index 0971731573ee..7352c5549b23 100644
--- a/pkgs/desktops/cinnamon/cinnamon-session/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-session/default.nix
@@ -32,13 +32,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cinnamon-session";
-  version = "6.0.2";
+  version = "6.0.3";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-AO4/JUysQyGDsQDbP9X7sqmcxyRSkNGjjTEu4fFzDZA=";
+    hash = "sha256-dNg1e339NWRzyEsRp7I91SwK2H+lU28Ra+7MSgUDk8w=";
   };
 
   patches = [
diff --git a/pkgs/desktops/deepin/apps/deepin-compressor/default.nix b/pkgs/desktops/deepin/apps/deepin-compressor/default.nix
index e2ac4829db7c..393c51e4ac64 100644
--- a/pkgs/desktops/deepin/apps/deepin-compressor/default.nix
+++ b/pkgs/desktops/deepin/apps/deepin-compressor/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , dtkwidget
 , qt5integration
 , qt5platform-plugins
@@ -21,23 +20,15 @@
 
 stdenv.mkDerivation rec {
   pname = "deepin-compressor";
-  version = "5.12.20";
+  version = "5.12.23";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    hash = "sha256-oOxto0X/GBAA9q691uwC0PtCdHDTMBqi80ov4xCXPn0=";
+    hash = "sha256-8qfpNM2rci4subdodxfJZLP3OvAxXl7QRl4MHGr15nA=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-build-failures-for-new-dtkgui.patch";
-      url = "https://github.com/linuxdeepin/deepin-compressor/commit/0ee07030034b06021e366d8d6109f344d47ea26c.patch";
-      hash = "sha256-P++SxzZCWoXJnLQhC0H/64/LjW/dqnl3hCGBWHVDn9Q=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace src/source/common/pluginmanager.cpp \
       --replace "/usr/lib/" "$out/lib/"
diff --git a/pkgs/desktops/deepin/library/dtkcore/default.nix b/pkgs/desktops/deepin/library/dtkcore/default.nix
index e3b4d1166c91..f13715535e09 100644
--- a/pkgs/desktops/deepin/library/dtkcore/default.nix
+++ b/pkgs/desktops/deepin/library/dtkcore/default.nix
@@ -32,11 +32,6 @@ stdenv.mkDerivation rec {
     ./fix-pri-path.patch
   ];
 
-  postPatch = ''
-    substituteInPlace src/dsysinfo.cpp \
-      --replace "/usr/share/deepin/distribution.info" "/etc/distribution.info" \
-  '';
-
   nativeBuildInputs = [
     cmake
     pkg-config
diff --git a/pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix b/pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix
index aa31bf975ad0..50fa2c6e72e7 100644
--- a/pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix
+++ b/pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix
@@ -1,6 +1,7 @@
 { stdenvNoCC
 , lib
 , fetchFromGitHub
+, nixos-icons
 }:
 stdenvNoCC.mkDerivation rec {
   pname = "deepin-desktop-base";
@@ -24,6 +25,15 @@ stdenvNoCC.mkDerivation rec {
     mv $out/usr/* $out/
     rm -r $out/usr
     install -D ${./distribution_logo_transparent.svg} $out/share/pixmaps/distribution_logo_transparent.svg
+    cat > $out/share/deepin/distribution.info <<EOF
+    [Distribution]
+    Name=NixOS
+    WebsiteName=www.nixos.org
+    Website=https://www.nixos.org
+    Logo=${nixos-icons}/share/icons/hicolor/96x96/apps/nix-snowflake.png
+    LogoLight=${nixos-icons}/share/icons/hicolor/32x32/apps/nix-snowflake.png
+    LogoTransparent=$out/share/pixmaps/distribution_logo_transparent.svg
+    EOF
   '';
 
   meta = with lib; {
diff --git a/pkgs/desktops/gnome/core/gnome-session/default.nix b/pkgs/desktops/gnome/core/gnome-session/default.nix
index dc0cade8d410..710829a5068e 100644
--- a/pkgs/desktops/gnome/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-session/default.nix
@@ -25,7 +25,6 @@
 , libepoxy
 , bash
 , gnome-session-ctl
-, gnomeShellSupport ? true
 }:
 
 stdenv.mkDerivation rec {
@@ -114,7 +113,7 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/libexec/gnome-session-binary" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
-      ${lib.optionalString gnomeShellSupport "--suffix XDG_DATA_DIRS : \"${gnome.gnome-shell}/share\""} \
+      --suffix XDG_DATA_DIRS : "${gnome.gnome-shell}/share" \
       --suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg"
   '';
 
diff --git a/pkgs/desktops/gnome/core/nautilus/default.nix b/pkgs/desktops/gnome/core/nautilus/default.nix
index 6c96c54f86b5..7e2d44249376 100644
--- a/pkgs/desktops/gnome/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome/core/nautilus/default.nix
@@ -130,5 +130,6 @@ stdenv.mkDerivation (finalAttrs: {
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = teams.gnome.members;
+    mainProgram = "nautilus";
   };
 })
diff --git a/pkgs/desktops/lomiri/development/deviceinfo/default.nix b/pkgs/desktops/lomiri/development/deviceinfo/default.nix
index 00ba1d864bf6..9ddadb83cbec 100644
--- a/pkgs/desktops/lomiri/development/deviceinfo/default.nix
+++ b/pkgs/desktops/lomiri/development/deviceinfo/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "deviceinfo";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitLab {
     owner = "ubports";
     repo = "development/core/deviceinfo";
     rev = finalAttrs.version;
-    hash = "sha256-x0Xm4Z3hpvO5p/5JxMRloFqn58cRH2ak8rKtuxmmVVQ=";
+    hash = "sha256-wTl+GgNiWzJxGLdU2iMH94UhQ40gjAPTVErouQIGXOA=";
   };
 
   outputs = [
@@ -57,6 +57,7 @@ stdenv.mkDerivation (finalAttrs: {
   meta = with lib; {
     description = "Library to detect and configure devices";
     homepage = "https://gitlab.com/ubports/development/core/deviceinfo";
+    changelog = "https://gitlab.com/ubports/development/core/deviceinfo/-/blob/${finalAttrs.version}/ChangeLog";
     license = licenses.gpl3Only;
     maintainers = teams.lomiri.members;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2002-Nixpkgs-versioned-QML-path.patch.in b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2002-Nixpkgs-versioned-QML-path.patch.in
new file mode 100644
index 000000000000..d2e83baf98ae
--- /dev/null
+++ b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2002-Nixpkgs-versioned-QML-path.patch.in
@@ -0,0 +1,29 @@
+From ca4c52a80532732243067eb00ec12b4ef84010a6 Mon Sep 17 00:00:00 2001
+From: OPNA2608 <opna2608@protonmail.com>
+Date: Tue, 30 Jan 2024 19:46:09 +0100
+Subject: [PATCH] Nixpkgs versioned QML path
+
+---
+ src/LomiriToolkit/uctheme.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/LomiriToolkit/uctheme.cpp b/src/LomiriToolkit/uctheme.cpp
+index a10c89344..4b0653589 100644
+--- a/src/LomiriToolkit/uctheme.cpp
++++ b/src/LomiriToolkit/uctheme.cpp
+@@ -180,6 +180,12 @@ QStringList themeSearchPath()
+         pathList << QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
+     }
+
++    // append versioned QML import path from Nixpkgs
++    const QString nixpkgsQmlImportPath = QString::fromLocal8Bit(getenv("NIXPKGS_QT@qtVersion@_QML_IMPORT_PATH"));
++    if (!nixpkgsQmlImportPath.isEmpty()) {
++        pathList << nixpkgsQmlImportPath.split(':', QString::SkipEmptyParts);
++    }
++
+     // append QML import path(s); we must explicitly support env override here
+     const QString qml2ImportPath = QString::fromLocal8Bit(getenv("QML2_IMPORT_PATH"));
+     if (!qml2ImportPath.isEmpty()) {
+--
+2.42.0
+
diff --git a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix
index bac495acdc7c..12d71bdbbb99 100644
--- a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix
+++ b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitLab
 , fetchpatch
 , gitUpdater
+, substituteAll
 , testers
 , dbus-test-runner
 , dpkg
@@ -74,6 +75,11 @@ stdenv.mkDerivation (finalAttrs: {
     })
 
     ./2001-Mark-problematic-tests.patch
+    (substituteAll {
+      src = ./2002-Nixpkgs-versioned-QML-path.patch.in;
+      name = "2002-Nixpkgs-versioned-QML-path.patch";
+      qtVersion = lib.versions.major qtbase.version;
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/mate/atril/default.nix b/pkgs/desktops/mate/atril/default.nix
index 6c93c5084b4b..29c0e1b824e9 100644
--- a/pkgs/desktops/mate/atril/default.nix
+++ b/pkgs/desktops/mate/atril/default.nix
@@ -6,6 +6,7 @@
 , gtk3
 , glib
 , libxml2
+, libarchive
 , libsecret
 , poppler
 , itstool
@@ -14,7 +15,7 @@
 , mate
 , wrapGAppsHook
 , enableEpub ? true
-, webkitgtk
+, webkitgtk_4_1
 , enableDjvu ? true
 , djvulibre
 , enablePostScript ? true
@@ -27,11 +28,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atril";
-  version = "1.26.1";
+  version = "1.26.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "pTphOsuXAaGK1nG/WQJU0c6Da6CuG+LAvYlI/fa0kaQ=";
+    sha256 = "wwW51fVxP0Jiau4DggkTA0IrPXGlbd1lkyzNsjx86SY=";
   };
 
   nativeBuildInputs = [
@@ -44,6 +45,7 @@ stdenv.mkDerivation rec {
     gtk3
     glib
     itstool
+    libarchive
     libsecret
     libxml2
     poppler
@@ -53,7 +55,7 @@ stdenv.mkDerivation rec {
     texlive.bin.core # for synctex, used by the pdf back-end
   ]
   ++ lib.optionals enableDjvu [ djvulibre ]
-  ++ lib.optionals enableEpub [ webkitgtk ]
+  ++ lib.optionals enableEpub [ webkitgtk_4_1 ]
   ++ lib.optionals enablePostScript [ libspectre ]
   ++ lib.optionals enableXps [ libgxps ]
   ;
diff --git a/pkgs/desktops/mate/mate-system-monitor/default.nix b/pkgs/desktops/mate/mate-system-monitor/default.nix
index a4f79e122122..a29cc7c18ec7 100644
--- a/pkgs/desktops/mate/mate-system-monitor/default.nix
+++ b/pkgs/desktops/mate/mate-system-monitor/default.nix
@@ -17,11 +17,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mate-system-monitor";
-  version = "1.26.2";
+  version = "1.26.3";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "vm2X3saPXza94S+KyvGsVkLSOaXSQWGoL/9QZPRQJUQ=";
+    sha256 = "WFthNBX3bucDt7XlK1WWKUKVB+A8kwVKSq3Pb5xlIkk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/core/libxfce4windowing/default.nix b/pkgs/desktops/xfce/core/libxfce4windowing/default.nix
new file mode 100644
index 000000000000..6395497fccda
--- /dev/null
+++ b/pkgs/desktops/xfce/core/libxfce4windowing/default.nix
@@ -0,0 +1,18 @@
+{ lib, mkXfceDerivation, gobject-introspection, glib, gtk3, libwnck, wayland }:
+
+mkXfceDerivation {
+  category = "xfce";
+  pname = "libxfce4windowing";
+  version = "4.19.2";
+
+  sha256 = "sha256-mXxxyfwZB/AJFVVGFAAXLqC5p7pZAeqmhljQym55hyM=";
+
+  nativeBuildInputs = [ gobject-introspection ];
+  buildInputs = [ glib gtk3 libwnck wayland ];
+
+  meta = {
+    description = "Windowing concept abstraction library for X11 and Wayland";
+    license = lib.licenses.lgpl21Plus;
+    maintainers = with lib; [ maintainers.federicoschonborn ] ++ teams.xfce.members;
+  };
+}
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 94ca82b4388b..f0c53a4c3892 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -32,6 +32,8 @@ makeScopeWithSplicing' {
 
       libxfce4util = callPackage ./core/libxfce4util { };
 
+      libxfce4windowing = callPackage ./core/libxfce4windowing { };
+
       thunar = callPackage ./core/thunar {
         thunarPlugins = [ ];
       };
diff --git a/pkgs/development/compilers/circt/default.nix b/pkgs/development/compilers/circt/default.nix
index 6f83e9960ddc..dfda406ab9b6 100644
--- a/pkgs/development/compilers/circt/default.nix
+++ b/pkgs/development/compilers/circt/default.nix
@@ -17,12 +17,12 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "circt";
-  version = "1.63.0";
+  version = "1.64.0";
   src = fetchFromGitHub {
     owner = "llvm";
     repo = "circt";
     rev = "firtool-${version}";
-    sha256 = "sha256-ln56E66AHga80TkeiVd3A3WobdTe1UnE7o5t6+tmR0Q=";
+    sha256 = "sha256-tZ8IQa01hYVJZdUKPd0rMGfAScuhZPzpwP51WWXERGw=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/compilers/erg/default.nix b/pkgs/development/compilers/erg/default.nix
index e012957fb7a9..5183a8712d2a 100644
--- a/pkgs/development/compilers/erg/default.nix
+++ b/pkgs/development/compilers/erg/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "erg";
-  version = "0.6.28";
+  version = "0.6.29";
 
   src = fetchFromGitHub {
     owner = "erg-lang";
     repo = "erg";
     rev = "v${version}";
-    hash = "sha256-TK7Ak6ZKjEBcwimV0W/CgD3yd9q1aSgSkp9MuGE3d8k=";
+    hash = "sha256-sHW0e8a8ZDmcA8u0leIJLxzJLI8guKlMB/u7CFhbyQE=";
   };
 
-  cargoHash = "sha256-DD6RXGdkQHMKZCJhHRTbTrRQ15MdOZHbREJ31LePHUY=";
+  cargoHash = "sha256-3wrH++IItJQNueJoa5wuzN2ZXWa5OflBItjQxS/XhO0=";
 
   nativeBuildInputs = [
     makeWrapper
diff --git a/pkgs/development/compilers/fstar/default.nix b/pkgs/development/compilers/fstar/default.nix
index 773a0dde281f..3b3ad0ff5569 100644
--- a/pkgs/development/compilers/fstar/default.nix
+++ b/pkgs/development/compilers/fstar/default.nix
@@ -12,13 +12,13 @@
 
 let
 
-  version = "2023.09.03";
+  version = "2024.01.13";
 
   src = fetchFromGitHub {
     owner = "FStarLang";
     repo = "FStar";
     rev = "v${version}";
-    hash = "sha256-ymoP5DvaLdrdwJcnhZnLEvwNxUFzhkICajPyK4lvacc=";
+    hash = "sha256-xjSWDP8mSjLcn+0hsRpEdzsBgBR+mKCZB8yLmHl+WqE=";
   };
 
   fstar-dune = ocamlPackages.callPackage ./dune.nix { inherit version src; };
diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix
index db03d2d85ca2..54a8e82e27ee 100644
--- a/pkgs/development/compilers/intel-graphics-compiler/default.nix
+++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix
@@ -5,6 +5,7 @@
 , runCommandLocal
 , bison
 , flex
+, intel-compute-runtime
 , llvmPackages_14
 , opencl-clang
 , python3
@@ -19,8 +20,8 @@ let
   vc_intrinsics_src = fetchFromGitHub {
     owner = "intel";
     repo = "vc-intrinsics";
-    rev = "v0.13.0";
-    hash = "sha256-A9G1PH0WGdxU2u/ODrou53qF9kvrmE0tJSl9cFIOus0=";
+    rev = "v0.14.0";
+    hash = "sha256-t7m2y+DiZf0xum1vneXvoCyH767SKMOq4YzMIuZngR8=";
   };
 
   inherit (llvmPackages_14) lld llvm;
@@ -30,13 +31,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "intel-graphics-compiler";
-  version = "1.0.15136.4";
+  version = "1.0.15610.11";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "intel-graphics-compiler";
     rev = "igc-${version}";
-    hash = "sha256-Qh3FNck1z+rr7eSqxVnNs7YKvgXpKGY5dd3yx1Ft9Mg=";
+    hash = "sha256-Fu1g5M2lpcnLw6aSHI5gx47VOfx+rIdIhBlwe/Dv8bk=";
   };
 
   nativeBuildInputs = [ bison cmake flex (python3.withPackages (ps : with ps; [ mako ])) ];
@@ -73,6 +74,10 @@ stdenv.mkDerivation rec {
     "-Wno-dev"
   ];
 
+  passthru.tests = {
+    inherit intel-compute-runtime;
+  };
+
   meta = with lib; {
     homepage = "https://github.com/intel/intel-graphics-compiler";
     description = "LLVM-based compiler for OpenCL targeting Intel Gen graphics hardware";
diff --git a/pkgs/development/compilers/koka/default.nix b/pkgs/development/compilers/koka/default.nix
index aec856e47d68..e3462c826c76 100644
--- a/pkgs/development/compilers/koka/default.nix
+++ b/pkgs/development/compilers/koka/default.nix
@@ -1,15 +1,42 @@
-{ stdenv, pkgsHostTarget, cmake, makeWrapper, mkDerivation, fetchFromGitHub
-, alex, array, base, bytestring, cond, containers, directory, extra
-, filepath, hpack, hspec, hspec-core, isocline, json, lib, mtl
-, parsec, process, regex-compat, text, time }:
+{ stdenv
+, pkgsHostTarget
+, cmake
+, makeWrapper
+, mkDerivation
+, fetchFromGitHub
+, alex
+, lib
+, hpack
+, aeson
+, array
+, async
+, base
+, bytestring
+, co-log-core
+, cond
+, containers
+, directory
+, FloatingHex
+, isocline
+, lens
+, lsp
+, mtl
+, network
+, network-simple
+, parsec
+, process
+, text
+, text-rope
+, time
+}:
 
 let
-  version = "2.4.2";
+  version = "3.0.4";
   src = fetchFromGitHub {
     owner = "koka-lang";
     repo = "koka";
     rev = "v${version}";
-    sha256 = "sha256-sVjaIzOxNuBtDswpDl5gLB10Sw945TQAf2ywrKumqqk=";
+    sha256 = "sha256-U8BW1Aq9t3je0YDV8NkE0MzdnjwXBJQbmekh5ufOs3k=";
     fetchSubmodules = true;
   };
   kklib = stdenv.mkDerivation {
@@ -38,8 +65,28 @@ mkDerivation rec {
   isExecutable = true;
   libraryToolDepends = [ hpack ];
   executableHaskellDepends = [
-    array base bytestring cond containers directory isocline mtl
-    parsec process text time kklib
+    aeson
+    array
+    async
+    base
+    bytestring
+    co-log-core
+    cond
+    containers
+    directory
+    FloatingHex
+    isocline
+    lens
+    lsp
+    mtl
+    network
+    network-simple
+    parsec
+    process
+    text
+    text-rope
+    time
+    kklib
   ];
   executableToolDepends = [ alex makeWrapper ];
   postInstall = ''
diff --git a/pkgs/development/compilers/llvm/10/clang/compiler-rt-baremetal.patch b/pkgs/development/compilers/llvm/10/clang/compiler-rt-baremetal.patch
deleted file mode 100644
index a4a0f21b0fcd..000000000000
--- a/pkgs/development/compilers/llvm/10/clang/compiler-rt-baremetal.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Index: lib/Driver/ToolChains/BareMetal.cpp
-===================================================================
---- a/lib/Driver/ToolChains/BareMetal.cpp
-+++ b/lib/Driver/ToolChains/BareMetal.cpp
-@@ -157,7 +157,7 @@
- void BareMetal::AddLinkRuntimeLib(const ArgList &Args,
-                                   ArgStringList &CmdArgs) const {
-   CmdArgs.push_back(Args.MakeArgString("-lclang_rt.builtins-" +
--                                       getTriple().getArchName() + ".a"));
-+                                       getTriple().getArchName()));
- }
- 
- void baremetal::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-Index: test/Driver/baremetal.cpp
-===================================================================
---- a/test/Driver/baremetal.cpp
-+++ b/test/Driver/baremetal.cpp
-@@ -13,7 +13,7 @@
- // CHECK-V6M-C-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
- // CHECK-V6M-C-SAME: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}baremetal"
- // CHECK-V6M-C-SAME: "-T" "semihosted.lds" "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
--// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
-+// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
- // CHECK-V6M-C-SAME: "-o" "{{.*}}.o"
- 
- // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-@@ -35,7 +35,7 @@
- // CHECK-V6M-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
- // CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
- // CHECK-V6M-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
--// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
-+// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
- // CHECK-V6M-DEFAULTCXX-SAME: "-o" "{{.*}}.o"
- 
- // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-@@ -48,7 +48,7 @@
- // CHECK-V6M-LIBCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
- // CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
- // CHECK-V6M-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
--// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
-+// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
- // CHECK-V6M-LIBCXX-SAME: "-o" "{{.*}}.o"
- 
- // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-@@ -61,7 +61,7 @@
- // CHECK-V6M-LIBSTDCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
- // CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
- // CHECK-V6M-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind"
--// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
-+// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
- // CHECK-V6M-LIBSTDCXX-SAME: "-o" "{{.*}}.o"
- 
- // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
diff --git a/pkgs/development/compilers/llvm/10/clang/default.nix b/pkgs/development/compilers/llvm/10/clang/default.nix
deleted file mode 100644
index ad4e91304158..000000000000
--- a/pkgs/development/compilers/llvm/10/clang/default.nix
+++ /dev/null
@@ -1,133 +0,0 @@
-{ lib, stdenv, llvm_meta, fetch, substituteAll, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3
-, buildLlvmTools
-, fixDarwinDylibNames
-, enableManpages ? false
-}:
-
-let
-  self = stdenv.mkDerivation ({
-    pname = "clang";
-    inherit version;
-
-    src = fetch "clang" "091bvcny2lh32zy8f3m9viayyhb2zannrndni7325rl85cwgr6pr";
-
-    unpackPhase = ''
-      unpackFile $src
-      mv clang-${version}* clang
-      sourceRoot=$PWD/clang
-      unpackFile ${clang-tools-extra_src}
-      mv clang-tools-extra-* $sourceRoot/tools/extra
-    '';
-
-    nativeBuildInputs = [ cmake python3 ]
-      ++ lib.optional enableManpages python3.pkgs.sphinx
-      ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
-
-    buildInputs = [ libxml2 libllvm ];
-
-    cmakeFlags = [
-      "-DCLANGD_BUILD_XPC=OFF"
-      "-DLLVM_ENABLE_RTTI=ON"
-    ] ++ lib.optionals enableManpages [
-      "-DCLANG_INCLUDE_DOCS=ON"
-      "-DLLVM_ENABLE_SPHINX=ON"
-      "-DSPHINX_OUTPUT_MAN=ON"
-      "-DSPHINX_OUTPUT_HTML=OFF"
-      "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-    ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-      "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
-      "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen"
-    ];
-
-    patches = [
-      ./purity.patch
-      # https://reviews.llvm.org/D51899
-      ./compiler-rt-baremetal.patch
-      ./gnu-install-dirs.patch
-      (substituteAll {
-        src = ../../clang-6-10-LLVMgold-path.patch;
-        libllvmLibdir = "${libllvm.lib}/lib";
-      })
-    ];
-
-    postPatch = ''
-      sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
-             -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
-             lib/Driver/ToolChains/*.cpp
-    '' + lib.optionalString stdenv.hostPlatform.isMusl ''
-      sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
-    '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
-      substituteInPlace tools/extra/clangd/CMakeLists.txt \
-        --replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE
-    '';
-
-    outputs = [ "out" "lib" "dev" "python" ];
-
-    postInstall = ''
-      ln -sv $out/bin/clang $out/bin/cpp
-
-      # Move libclang to 'lib' output
-      moveToOutput "lib/libclang.*" "$lib"
-      moveToOutput "lib/libclang-cpp.*" "$lib"
-      substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
-          --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \
-          --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp."
-
-      mkdir -p $python/bin $python/share/{clang,scan-view}
-      mv $out/bin/{git-clang-format,scan-view} $python/bin
-      if [ -e $out/bin/set-xcode-analyzer ]; then
-        mv $out/bin/set-xcode-analyzer $python/bin
-      fi
-      mv $out/share/clang/*.py $python/share/clang
-      mv $out/share/scan-view/*.py $python/share/scan-view
-      rm $out/bin/c-index-test
-      patchShebangs $python/bin
-
-      mkdir -p $dev/bin
-      cp bin/clang-tblgen $dev/bin
-    '';
-
-    passthru = {
-      inherit libllvm;
-      isClang = true;
-      hardeningUnsupportedFlags = [ "fortify3" ];
-    };
-
-    meta = llvm_meta // {
-      homepage = "https://clang.llvm.org/";
-      description = "A C language family frontend for LLVM";
-      longDescription = ''
-        The Clang project provides a language front-end and tooling
-        infrastructure for languages in the C language family (C, C++, Objective
-        C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project.
-        It aims to deliver amazingly fast compiles, extremely useful error and
-        warning messages and to provide a platform for building great source
-        level tools. The Clang Static Analyzer and clang-tidy are tools that
-        automatically find bugs in your code, and are great examples of the sort
-        of tools that can be built using the Clang frontend as a library to
-        parse C/C++ code.
-      '';
-      mainProgram = "clang";
-    };
-  } // lib.optionalAttrs enableManpages {
-    pname = "clang-manpages";
-
-    buildPhase = ''
-      make docs-clang-man
-    '';
-
-    installPhase = ''
-      mkdir -p $out/share/man/man1
-      # Manually install clang manpage
-      cp docs/man/*.1 $out/share/man/man1/
-    '';
-
-    outputs = [ "out" ];
-
-    doCheck = false;
-
-    meta = llvm_meta // {
-      description = "man page for Clang ${version}";
-    };
-  });
-in self
diff --git a/pkgs/development/compilers/llvm/10/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/10/clang/gnu-install-dirs.patch
deleted file mode 100644
index 454c81875eab..000000000000
--- a/pkgs/development/compilers/llvm/10/clang/gnu-install-dirs.patch
+++ /dev/null
@@ -1,248 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dc1413f4b597..c173531e624f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -9,6 +9,8 @@ endif()
- if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
-   project(Clang)
- 
-+  include(GNUInstallDirs)
-+
-   # Rely on llvm-config.
-   set(CONFIG_OUTPUT)
-   if(LLVM_CONFIG)
-@@ -417,7 +419,7 @@ include_directories(BEFORE
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/clang include/clang-c
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     COMPONENT clang-headers
-     FILES_MATCHING
-     PATTERN "*.def"
-@@ -427,7 +429,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     )
- 
-   install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/clang
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     COMPONENT clang-headers
-     FILES_MATCHING
-     PATTERN "CMakeFiles" EXCLUDE
-@@ -447,7 +449,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
- 
-   add_custom_target(bash-autocomplete DEPENDS utils/bash-autocomplete.sh)
-   install(PROGRAMS utils/bash-autocomplete.sh
--          DESTINATION share/clang
-+          DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-           COMPONENT bash-autocomplete)
-   if(NOT LLVM_ENABLE_IDE)
-     add_llvm_install_targets(install-bash-autocomplete
-diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake
-index 577cc11ab015..a4f4481d8442 100644
---- a/cmake/modules/AddClang.cmake
-+++ b/cmake/modules/AddClang.cmake
-@@ -114,9 +114,9 @@ macro(add_clang_library name)
-       install(TARGETS ${name}
-         COMPONENT ${name}
-         ${export_to_clangtargets}
--        LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--        ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--        RUNTIME DESTINATION bin)
-+        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
-       if (NOT LLVM_ENABLE_IDE)
-         add_llvm_install_targets(install-${name}
-@@ -160,7 +160,7 @@ macro(add_clang_tool name)
- 
-     install(TARGETS ${name}
-       ${export_to_clangtargets}
--      RUNTIME DESTINATION bin
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-       COMPONENT ${name})
- 
-     if(NOT LLVM_ENABLE_IDE)
-@@ -175,7 +175,7 @@ endmacro()
- macro(add_clang_symlink name dest)
-   add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
-   # Always generate install targets
--  llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
-+  llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE)
- endmacro()
- 
- function(clang_target_link_libraries target type)
-diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt
-index 85c3124234ad..64c48235d914 100644
---- a/lib/Headers/CMakeLists.txt
-+++ b/lib/Headers/CMakeLists.txt
-@@ -191,7 +191,7 @@ set_target_properties(clang-resource-headers PROPERTIES
-   FOLDER "Misc"
-   RUNTIME_OUTPUT_DIRECTORY "${output_dir}")
- 
--set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
-+set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
- 
- install(
-   FILES ${files} ${generated_files}
-diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt
-index ceef4b08637c..8efad5520ca4 100644
---- a/tools/c-index-test/CMakeLists.txt
-+++ b/tools/c-index-test/CMakeLists.txt
-@@ -54,7 +54,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH
-        "@executable_path/../../lib")
-   else()
--    set(INSTALL_DESTINATION bin)
-+    set(INSTALL_DESTINATION ${CMAKE_INSTALL_BINDIR})
-   endif()
- 
-   install(TARGETS c-index-test
-diff --git a/tools/clang-format/CMakeLists.txt b/tools/clang-format/CMakeLists.txt
-index 35ecdb11253c..d77d75de0094 100644
---- a/tools/clang-format/CMakeLists.txt
-+++ b/tools/clang-format/CMakeLists.txt
-@@ -21,20 +21,20 @@ if( LLVM_LIB_FUZZING_ENGINE OR LLVM_USE_SANITIZE_COVERAGE )
- endif()
- 
- install(PROGRAMS clang-format-bbedit.applescript
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format-diff.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format-sublime.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format.el
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS git-clang-format
--  DESTINATION bin
-+  DESTINATION ${CMAKE_INSTALL_BINDIR}
-   COMPONENT clang-format)
-diff --git a/tools/clang-rename/CMakeLists.txt b/tools/clang-rename/CMakeLists.txt
-index cda8e29ec5b1..0134d8ccd70b 100644
---- a/tools/clang-rename/CMakeLists.txt
-+++ b/tools/clang-rename/CMakeLists.txt
-@@ -19,8 +19,8 @@ clang_target_link_libraries(clang-rename
-   )
- 
- install(PROGRAMS clang-rename.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-rename)
- install(PROGRAMS clang-rename.el
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-rename)
-diff --git a/tools/diagtool/CMakeLists.txt b/tools/diagtool/CMakeLists.txt
-index a95444be40ee..136d96d9bf5b 100644
---- a/tools/diagtool/CMakeLists.txt
-+++ b/tools/diagtool/CMakeLists.txt
-@@ -21,7 +21,7 @@ clang_target_link_libraries(diagtool
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(TARGETS diagtool
-     COMPONENT diagtool
--    RUNTIME DESTINATION bin)
-+    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
-   if (NOT LLVM_ENABLE_IDE)
-     add_llvm_install_targets(install-diagtool
-diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt
-index 973655361f71..0181002e4e3b 100644
---- a/tools/libclang/CMakeLists.txt
-+++ b/tools/libclang/CMakeLists.txt
-@@ -141,7 +141,7 @@ endif()
- if(INTERNAL_INSTALL_PREFIX)
-   set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include")
- else()
--  set(LIBCLANG_HEADERS_INSTALL_DESTINATION include)
-+  set(LIBCLANG_HEADERS_INSTALL_DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- endif()
- 
- install(DIRECTORY ../../include/clang-c
-@@ -172,7 +172,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS})
-           COMPONENT
-             libclang-python-bindings
-           DESTINATION
--            "lib${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages")
-+            "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages")
- endforeach()
- if(NOT LLVM_ENABLE_IDE)
-   add_custom_target(libclang-python-bindings)
-diff --git a/tools/scan-build/CMakeLists.txt b/tools/scan-build/CMakeLists.txt
-index 28241245fcb7..d6b59f02fc2a 100644
---- a/tools/scan-build/CMakeLists.txt
-+++ b/tools/scan-build/CMakeLists.txt
-@@ -42,7 +42,7 @@ if(CLANG_INSTALL_SCANBUILD)
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
-     install(PROGRAMS bin/${BinFile}
--            DESTINATION bin
-+            DESTINATION ${CMAKE_INSTALL_BINDIR}
-             COMPONENT scan-build)
-   endforeach()
- 
-@@ -56,7 +56,7 @@ if(CLANG_INSTALL_SCANBUILD)
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile})
-     install(PROGRAMS libexec/${LibexecFile}
--            DESTINATION libexec
-+            DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}
-             COMPONENT scan-build)
-   endforeach()
- 
-@@ -84,7 +84,7 @@ if(CLANG_INSTALL_SCANBUILD)
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile})
-     install(FILES share/scan-build/${ShareFile}
--            DESTINATION share/scan-build
-+            DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-build
-             COMPONENT scan-build)
-   endforeach()
- 
-diff --git a/tools/scan-view/CMakeLists.txt b/tools/scan-view/CMakeLists.txt
-index 22edb974bac7..9f140a9a4538 100644
---- a/tools/scan-view/CMakeLists.txt
-+++ b/tools/scan-view/CMakeLists.txt
-@@ -22,7 +22,7 @@ if(CLANG_INSTALL_SCANVIEW)
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
-     install(PROGRAMS bin/${BinFile}
--            DESTINATION bin
-+            DESTINATION ${CMAKE_INSTALL_BINDIR}
-             COMPONENT scan-view)
-   endforeach()
- 
-@@ -36,7 +36,7 @@ if(CLANG_INSTALL_SCANVIEW)
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile})
-     install(FILES share/${ShareFile}
--            DESTINATION share/scan-view
-+            DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-view
-             COMPONENT scan-view)
-   endforeach()
- 
-diff --git a/utils/hmaptool/CMakeLists.txt b/utils/hmaptool/CMakeLists.txt
-index 62f2de0cb15c..6aa66825b6ec 100644
---- a/utils/hmaptool/CMakeLists.txt
-+++ b/utils/hmaptool/CMakeLists.txt
-@@ -10,7 +10,7 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HM
- 
- list(APPEND Depends ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HMAPTOOL})
- install(PROGRAMS ${CLANG_HMAPTOOL}
--        DESTINATION bin
-+        DESTINATION ${CMAKE_INSTALL_BINDIR}
-         COMPONENT hmaptool)
- 
- add_custom_target(hmaptool ALL DEPENDS ${Depends})
diff --git a/pkgs/development/compilers/llvm/10/clang/purity.patch b/pkgs/development/compilers/llvm/10/clang/purity.patch
deleted file mode 100644
index a6729a9b004e..000000000000
--- a/pkgs/development/compilers/llvm/10/clang/purity.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
-From: Will Dietz <w@wdtz.org>
-Date: Thu, 18 May 2017 11:56:12 -0500
-Subject: [PATCH] "purity" patch for 5.0
-
----
- lib/Driver/ToolChains/Gnu.cpp | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
-index fe3c0191bb..c6a482bece 100644
---- a/lib/Driver/ToolChains/Gnu.cpp
-+++ b/lib/Driver/ToolChains/Gnu.cpp
-@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-   if (!IsStatic) {
-     if (Args.hasArg(options::OPT_rdynamic))
-       CmdArgs.push_back("-export-dynamic");
--
--    if (!Args.hasArg(options::OPT_shared) && !IsStaticPIE) {
--      const std::string Loader =
--          D.DyldPrefix + ToolChain.getDynamicLinker(Args);
--      CmdArgs.push_back("-dynamic-linker");
--      CmdArgs.push_back(Args.MakeArgString(Loader));
--    }
-   }
- 
-   CmdArgs.push_back("-o");
--- 
-2.11.0
-
diff --git a/pkgs/development/compilers/llvm/10/compiler-rt/X86-support-extension.patch b/pkgs/development/compilers/llvm/10/compiler-rt/X86-support-extension.patch
deleted file mode 100644
index f6f9336ad5ad..000000000000
--- a/pkgs/development/compilers/llvm/10/compiler-rt/X86-support-extension.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt
-index 3a66dd9c3fb..7efc85d9f9f 100644
---- a/lib/builtins/CMakeLists.txt
-+++ b/lib/builtins/CMakeLists.txt
-@@ -301,6 +301,10 @@ if (NOT MSVC)
-     i386/umoddi3.S
-   )
- 
-+  set(i486_SOURCES ${i386_SOURCES})
-+  set(i586_SOURCES ${i386_SOURCES})
-+  set(i686_SOURCES ${i386_SOURCES})
-+
-   if (WIN32)
-     set(i386_SOURCES
-       ${i386_SOURCES}
-@@ -608,6 +612,7 @@ else ()
-   endif()
- 
-   foreach (arch ${BUILTIN_SUPPORTED_ARCH})
-+      message("arch: ${arch}")
-     if (CAN_TARGET_${arch})
-       # For ARM archs, exclude any VFP builtins if VFP is not supported
-       if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$")
diff --git a/pkgs/development/compilers/llvm/10/compiler-rt/armv7l.patch b/pkgs/development/compilers/llvm/10/compiler-rt/armv7l.patch
deleted file mode 100644
index 120cfe6feb2a..000000000000
--- a/pkgs/development/compilers/llvm/10/compiler-rt/armv7l.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -ur compiler-rt-10.0.0.src/cmake/builtin-config-ix.cmake compiler-rt-10.0.0.src-patched/cmake/builtin-config-ix.cmake
---- compiler-rt-10.0.0.src/cmake/builtin-config-ix.cmake	2020-03-24 00:01:02.000000000 +0900
-+++ compiler-rt-10.0.0.src-patched/cmake/builtin-config-ix.cmake	2020-05-10 03:42:00.883450706 +0900
-@@ -24,7 +24,7 @@
- 
- 
- set(ARM64 aarch64)
--set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k)
-+set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l)
- set(HEXAGON hexagon)
- set(X86 i386)
- set(X86_64 x86_64)
-diff -ur compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt compiler-rt-10.0.0.src-patched/lib/builtins/CMakeLists.txt
---- compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt	2020-03-24 00:01:02.000000000 +0900
-+++ compiler-rt-10.0.0.src-patched/lib/builtins/CMakeLists.txt	2020-05-10 03:44:49.468579650 +0900
-@@ -474,6 +474,7 @@
- set(armv7_SOURCES ${arm_SOURCES})
- set(armv7s_SOURCES ${arm_SOURCES})
- set(armv7k_SOURCES ${arm_SOURCES})
-+set(armv7l_SOURCES ${arm_SOURCES})
- set(arm64_SOURCES ${aarch64_SOURCES})
- 
- # macho_embedded archs
-@@ -595,7 +596,7 @@
-   foreach (arch ${BUILTIN_SUPPORTED_ARCH})
-     if (CAN_TARGET_${arch})
-       # For ARM archs, exclude any VFP builtins if VFP is not supported
--      if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$")
-+      if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$")
-         string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}")
-         check_compile_definition(__VFP_FP__ "${CMAKE_C_FLAGS} ${_TARGET_${arch}_CFLAGS}" COMPILER_RT_HAS_${arch}_VFP)
-         if(NOT COMPILER_RT_HAS_${arch}_VFP)
diff --git a/pkgs/development/compilers/llvm/10/compiler-rt/default.nix b/pkgs/development/compilers/llvm/10/compiler-rt/default.nix
deleted file mode 100644
index f4f5c6b56437..000000000000
--- a/pkgs/development/compilers/llvm/10/compiler-rt/default.nix
+++ /dev/null
@@ -1,134 +0,0 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi, libxcrypt
-, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
-}:
-
-let
-
-  useLLVM = stdenv.hostPlatform.useLLVM or false;
-  bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none";
-  haveLibc = stdenv.cc.libc != null;
-  inherit (stdenv.hostPlatform) isMusl;
-
-in
-
-stdenv.mkDerivation {
-  pname = "compiler-rt" + lib.optionalString (haveLibc) "-libc";
-  inherit version;
-  src = fetch "compiler-rt" "1yjqjri753w0fzmxcyz687nvd97sbc9rsqrxzpq720na47hwh3fr";
-
-  nativeBuildInputs = [ cmake python3 libllvm.dev ];
-  buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
-
-  env.NIX_CFLAGS_COMPILE = toString [
-    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
-  ];
-
-  cmakeFlags = [
-    "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
-    "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
-    "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
-  ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.isGnu) [
-    "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include"
-  ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [
-    "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
-    "-DCOMPILER_RT_BUILD_XRAY=OFF"
-    "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
-  ] ++ lib.optionals (useLLVM || bareMetal) [
-    "-DCOMPILER_RT_BUILD_PROFILE=OFF"
-  ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [
-    "-DCMAKE_C_COMPILER_WORKS=ON"
-    "-DCMAKE_CXX_COMPILER_WORKS=ON"
-    "-DCOMPILER_RT_BAREMETAL_BUILD=ON"
-    "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
-  ] ++ lib.optionals (useLLVM) [
-    "-DCOMPILER_RT_BUILD_BUILTINS=ON"
-    #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
-    "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
-  ] ++ lib.optionals (bareMetal) [
-    "-DCOMPILER_RT_OS_DIR=baremetal"
-  ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [
-    "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON"
-    "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}"
-    "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}"
-  ];
-
-  outputs = [ "out" "dev" ];
-
-  patches = [
-    ../../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
-    ./find-darwin-sdk-version.patch # don't test for macOS being >= 10.15
-    ./gnu-install-dirs.patch
-    ../../common/compiler-rt/libsanitizer-no-cyclades-11.patch
-    ./X86-support-extension.patch # backported from LLVM 11
-    # Fix build on armv6l
-    ../../common/compiler-rt/armv6-mcr-dmb.patch
-    ../../common/compiler-rt/armv6-sync-ops-no-thumb.patch
-    ../../common/compiler-rt/armv6-no-ldrexd-strexd.patch
-  ] ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
-
-  # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
-  # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
-  # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
-  # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
-  # a flag and turn the flag off during the stdenv build.
-  postPatch = lib.optionalString (!stdenv.isDarwin) ''
-    substituteInPlace cmake/builtin-config-ix.cmake \
-      --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)'
-    substituteInPlace cmake/config-ix.cmake \
-      --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)'
-  '' + lib.optionalString stdenv.isDarwin ''
-    substituteInPlace cmake/config-ix.cmake \
-      --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
-  '' + lib.optionalString (useLLVM) ''
-    substituteInPlace lib/builtins/int_util.c \
-      --replace "#include <stdlib.h>" ""
-    substituteInPlace lib/builtins/clear_cache.c \
-      --replace "#include <assert.h>" ""
-    substituteInPlace lib/builtins/cpu_model.c \
-      --replace "#include <assert.h>" ""
-  '';
-
-  preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
-    cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
-  '';
-
-  # Hack around weird upsream RPATH bug
-  postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
-    ln -s "$out/lib"/*/* "$out/lib"
-  '' + lib.optionalString (useLLVM) ''
-    ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o
-    ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
-    ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbeginS.o
-    ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtendS.o
-    ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
-    ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
-  ''
-  # See https://reviews.llvm.org/D37278 for why android exception
-  + lib.optionalString (stdenv.hostPlatform.isx86_32 && !stdenv.hostPlatform.isAndroid) ''
-    for f in $out/lib/*/*builtins-i?86*; do
-      ln -s "$f" $(echo "$f" | sed -e 's/builtins-i.86/builtins-i386/')
-    done
-  '' + lib.optionalString doFakeLibgcc ''
-    ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
-  '';
-
-  meta = llvm_meta // {
-    homepage = "https://compiler-rt.llvm.org/";
-    description = "Compiler runtime libraries";
-    longDescription = ''
-      The compiler-rt project provides highly tuned implementations of the
-      low-level code generator support routines like "__fixunsdfdi" and other
-      calls generated when a target doesn't have a short sequence of native
-      instructions to implement a core IR operation. It also provides
-      implementations of run-time libraries for dynamic testing tools such as
-      AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer.
-    '';
-    # "All of the code in the compiler-rt project is dual licensed under the MIT
-    # license and the UIUC License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-    broken = stdenv.hostPlatform.system == "aarch64-darwin"
-      # compiler-rt requires a Clang stdenv on 32-bit RISC-V:
-      # https://reviews.llvm.org/D43106#1019077
-      || (stdenv.hostPlatform.isRiscV32 && !stdenv.cc.isClang);
-  };
-}
diff --git a/pkgs/development/compilers/llvm/10/compiler-rt/find-darwin-sdk-version.patch b/pkgs/development/compilers/llvm/10/compiler-rt/find-darwin-sdk-version.patch
deleted file mode 100644
index fc16ddda76b7..000000000000
--- a/pkgs/development/compilers/llvm/10/compiler-rt/find-darwin-sdk-version.patch
+++ /dev/null
@@ -1,62 +0,0 @@
---- a/cmake/Modules/CompilerRTDarwinUtils.cmake	2020-01-25 23:13:55.000000000 +0100
-+++ b/cmake/Modules/CompilerRTDarwinUtils.cmake	2020-01-25 23:19:37.000000000 +0100
-@@ -43,41 +43,6 @@
-   set(DARWIN_${sdk_name}_CACHED_SYSROOT ${var_internal} CACHE STRING "Darwin SDK path for SDK ${sdk_name}." FORCE)
- endfunction()
- 
--function(find_darwin_sdk_version var sdk_name)
--  # We deliberately don't cache the result here because
--  # CMake's caching causes too many problems.
--  set(result_process 1)
--  if(NOT DARWIN_PREFER_PUBLIC_SDK)
--    # Let's first try the internal SDK, otherwise use the public SDK.
--    execute_process(
--      COMMAND xcrun --sdk ${sdk_name}.internal --show-sdk-version
--      RESULT_VARIABLE result_process
--      OUTPUT_VARIABLE var_internal
--      OUTPUT_STRIP_TRAILING_WHITESPACE
--      ERROR_FILE /dev/null
--    )
--  endif()
--  if((NOT ${result_process} EQUAL 0) OR "" STREQUAL "${var_internal}")
--    execute_process(
--      COMMAND xcrun --sdk ${sdk_name} --show-sdk-version
--      RESULT_VARIABLE result_process
--      OUTPUT_VARIABLE var_internal
--      OUTPUT_STRIP_TRAILING_WHITESPACE
--      ERROR_FILE /dev/null
--    )
--  endif()
--  if(NOT result_process EQUAL 0)
--    message(FATAL_ERROR
--      "Failed to determine SDK version for \"${sdk_name}\" SDK")
--  endif()
--  # Check reported version looks sane.
--  if (NOT "${var_internal}" MATCHES "^[0-9]+\\.[0-9]+(\\.[0-9]+)?$")
--    message(FATAL_ERROR
--      "Reported SDK version \"${var_internal}\" does not look like a version")
--  endif()
--  set(${var} ${var_internal} PARENT_SCOPE)
--endfunction()
--
- # There isn't a clear mapping of what architectures are supported with a given
- # target platform, but ld's version output does list the architectures it can
- # link for.
-@@ -119,17 +84,6 @@
-     foreach(flag ${DARWIN_${os}_LINK_FLAGS})
-       set(os_linker_flags "${os_linker_flags} ${flag}")
-     endforeach()
--
--    # Disable building for i386 for macOS SDK >= 10.15. The SDK doesn't support
--    # linking for i386 and the corresponding OS doesn't allow running macOS i386
--    # binaries.
--    if ("${os}" STREQUAL "osx")
--      find_darwin_sdk_version(macosx_sdk_version "macosx")
--      if ("${macosx_sdk_version}" VERSION_GREATER 10.15 OR "${macosx_sdk_version}" VERSION_EQUAL 10.15)
--        message(STATUS "Disabling i386 slice for ${valid_archs}")
--        list(REMOVE_ITEM archs "i386")
--      endif()
--    endif()
-   endif()
- 
-   # The simple program will build for x86_64h on the simulator because it is 
diff --git a/pkgs/development/compilers/llvm/10/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/10/compiler-rt/gnu-install-dirs.patch
deleted file mode 100644
index db0bd006eaf2..000000000000
--- a/pkgs/development/compilers/llvm/10/compiler-rt/gnu-install-dirs.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8d768a404f21..74551dc5a004 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -12,6 +12,7 @@ endif()
- # Check if compiler-rt is built as a standalone project.
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE_BUILD)
-   project(CompilerRT C CXX ASM)
-+  include(GNUInstallDirs)
-   set(COMPILER_RT_STANDALONE_BUILD TRUE)
-   set_property(GLOBAL PROPERTY USE_FOLDERS ON)
- endif()
-diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
-index 35a48c6af29c..e4300f256091 100644
---- a/cmake/Modules/AddCompilerRT.cmake
-+++ b/cmake/Modules/AddCompilerRT.cmake
-@@ -493,7 +493,7 @@ macro(add_compiler_rt_resource_file target_name file_name component)
-   add_custom_target(${target_name} DEPENDS ${dst_file})
-   # Install in Clang resource directory.
-   install(FILES ${file_name}
--    DESTINATION ${COMPILER_RT_INSTALL_PATH}/share
-+    DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR}
-     COMPONENT ${component})
-   add_dependencies(${component} ${target_name})
- 
-@@ -510,7 +510,7 @@ macro(add_compiler_rt_script name)
-   add_custom_target(${name} DEPENDS ${dst})
-   install(FILES ${dst}
-     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
--    DESTINATION ${COMPILER_RT_INSTALL_PATH}/bin)
-+    DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_BINDIR})
- endmacro(add_compiler_rt_script src name)
- 
- # Builds custom version of libc++ and installs it in <prefix>.
-diff --git a/cmake/Modules/CompilerRTDarwinUtils.cmake b/cmake/Modules/CompilerRTDarwinUtils.cmake
-index 9f501a61c4b6..f9a0d92dbca0 100644
---- a/cmake/Modules/CompilerRTDarwinUtils.cmake
-+++ b/cmake/Modules/CompilerRTDarwinUtils.cmake
-@@ -440,7 +440,7 @@ macro(darwin_add_embedded_builtin_libraries)
-     set(DARWIN_macho_embedded_LIBRARY_OUTPUT_DIR
-       ${COMPILER_RT_OUTPUT_DIR}/lib/macho_embedded)
-     set(DARWIN_macho_embedded_LIBRARY_INSTALL_DIR
--      ${COMPILER_RT_INSTALL_PATH}/lib/macho_embedded)
-+      ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/macho_embedded)
-       
-     set(CFLAGS_armv7 "-target thumbv7-apple-darwin-eabi")
-     set(CFLAGS_i386 "-march=pentium")
-diff --git a/cmake/Modules/CompilerRTUtils.cmake b/cmake/Modules/CompilerRTUtils.cmake
-index 6e672b1e1818..64999709958e 100644
---- a/cmake/Modules/CompilerRTUtils.cmake
-+++ b/cmake/Modules/CompilerRTUtils.cmake
-@@ -371,7 +371,7 @@ endfunction()
- function(get_compiler_rt_install_dir arch install_dir)
-   if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-     get_compiler_rt_target(${arch} target)
--    set(${install_dir} ${COMPILER_RT_INSTALL_PATH}/lib/${target} PARENT_SCOPE)
-+    set(${install_dir} ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/${target} PARENT_SCOPE)
-   else()
-     set(${install_dir} ${COMPILER_RT_LIBRARY_INSTALL_DIR} PARENT_SCOPE)
-   endif()
-diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake
-index b4b87aa53073..f1ae8668837c 100644
---- a/cmake/base-config-ix.cmake
-+++ b/cmake/base-config-ix.cmake
-@@ -65,11 +65,11 @@ if (LLVM_TREE_AVAILABLE)
- else()
-     # Take output dir and install path from the user.
-   set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
--    "Path where built compiler-rt libraries should be stored.")
-+    "Path where built compiler-rt build artifacts should be stored.")
-   set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
-     "Path where built compiler-rt executables should be stored.")
--  set(COMPILER_RT_INSTALL_PATH ${CMAKE_INSTALL_PREFIX} CACHE PATH
--    "Path where built compiler-rt libraries should be installed.")
-+  set(COMPILER_RT_INSTALL_PATH "" CACHE PATH
-+    "Prefix where built compiler-rt artifacts should be installed, comes before CMAKE_INSTALL_PREFIX.")
-   option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
-   option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
-   # Use a host compiler to compile/link tests.
-@@ -97,7 +97,7 @@ else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR)
-   set(COMPILER_RT_LIBRARY_OUTPUT_DIR
-     ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
-   set(COMPILER_RT_LIBRARY_INSTALL_DIR
--    ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR})
-+    ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/${COMPILER_RT_OS_DIR})
- endif()
- 
- if(APPLE)
-diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
-index d47d7baeb118..507c8e5c713e 100644
---- a/include/CMakeLists.txt
-+++ b/include/CMakeLists.txt
-@@ -62,22 +62,22 @@ set_target_properties(compiler-rt-headers PROPERTIES FOLDER "Compiler-RT Misc")
- install(FILES ${SANITIZER_HEADERS}
-   COMPONENT compiler-rt-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/sanitizer)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/sanitizer)
- # Install fuzzer headers.
- install(FILES ${FUZZER_HEADERS}
-   COMPONENT compiler-rt-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/fuzzer)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/fuzzer)
- # Install xray headers.
- install(FILES ${XRAY_HEADERS}
-   COMPONENT compiler-rt-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/xray)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/xray)
- # Install profile headers.
- install(FILES ${PROFILE_HEADERS}
-   COMPONENT compiler-rt-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/profile)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/profile)
- 
- if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDEs.
-   add_custom_target(install-compiler-rt-headers
-diff --git a/lib/dfsan/CMakeLists.txt b/lib/dfsan/CMakeLists.txt
-index 051215edbeb7..ecce1f52efb0 100644
---- a/lib/dfsan/CMakeLists.txt
-+++ b/lib/dfsan/CMakeLists.txt
-@@ -56,4 +56,4 @@ add_custom_command(OUTPUT ${dfsan_abilist_filename}
-                    DEPENDS done_abilist.txt libc_ubuntu1404_abilist.txt)
- add_dependencies(dfsan dfsan_abilist)
- install(FILES ${dfsan_abilist_filename}
--        DESTINATION ${COMPILER_RT_INSTALL_PATH}/share)
-+        DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR})
diff --git a/pkgs/development/compilers/llvm/10/default.nix b/pkgs/development/compilers/llvm/10/default.nix
deleted file mode 100644
index 16238221e279..000000000000
--- a/pkgs/development/compilers/llvm/10/default.nix
+++ /dev/null
@@ -1,270 +0,0 @@
-{ lowPrio, newScope, pkgs, lib, stdenv, cmake
-, preLibcCrossHeaders
-, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
-, buildLlvmTools # tools, but from the previous stage, for cross
-, targetLlvmLibraries # libraries, but from the next stage, for cross
-, targetLlvm
-# This is the default binutils, but with *this* version of LLD rather
-# than the default LLVM version's, if LLD is the choice. We use these for
-# the `useLLVM` bootstrapping below.
-, bootBintoolsNoLibc ?
-    if stdenv.targetPlatform.linker == "lld"
-    then null
-    else pkgs.bintoolsNoLibc
-, bootBintools ?
-    if stdenv.targetPlatform.linker == "lld"
-    then null
-    else pkgs.bintools
-}:
-
-let
-  release_version = "10.0.1";
-  version = release_version; # differentiating these (variables) is important for RCs
-
-  fetch = name: sha256: fetchurl {
-    url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz";
-    inherit sha256;
-  };
-
-  clang-tools-extra_src = fetch "clang-tools-extra" "06n1yp638rh24xdxv9v2df0qajxbjz4w59b7dd4ky36drwmpi4yh";
-
-  inherit (import ../common/common-let.nix { inherit lib release_version; }) llvm_meta;
-
-  tools = lib.makeExtensible (tools: let
-    callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; });
-    mkExtraBuildCommands0 = cc: ''
-      rsrc="$out/resource-root"
-      mkdir "$rsrc"
-      ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc"
-      echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
-    '';
-    mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + ''
-      ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
-      ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share"
-    '';
-
-  bintoolsNoLibc' =
-    if bootBintoolsNoLibc == null
-    then tools.bintoolsNoLibc
-    else bootBintoolsNoLibc;
-  bintools' =
-    if bootBintools == null
-    then tools.bintools
-    else bootBintools;
-
-  in {
-
-    libllvm = callPackage ./llvm {
-      inherit llvm_meta;
-    };
-
-    # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm;
-
-    libclang = callPackage ./clang {
-      inherit clang-tools-extra_src llvm_meta;
-    };
-
-    clang-unwrapped = tools.libclang;
-
-    # disabled until recommonmark supports sphinx 3
-    #Llvm-manpages = lowPrio (tools.libllvm.override {
-    #  enableManpages = true;
-    #  python3 = pkgs.python3;  # don't use python-boot
-    #});
-
-    clang-manpages = lowPrio (tools.libclang.override {
-      enableManpages = true;
-      python3 = pkgs.python3;  # don't use python-boot
-    });
-
-    # disabled until recommonmark supports sphinx 3
-    # lldb-manpages = lowPrio (tools.lldb.override {
-    #   enableManpages = true;
-    #   python3 = pkgs.python3;  # don't use python-boot
-    # });
-
-    # pick clang appropriate for package set we are targeting
-    clang =
-      /**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
-      else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
-      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
-      else tools.libcxxClang;
-
-    libstdcxxClang = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
-      libcxx = null;
-      extraPackages = [
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = mkExtraBuildCommands cc;
-    };
-
-    libcxxClang = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = targetLlvmLibraries.libcxx;
-      extraPackages = [
-        libcxx.cxxabi
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = mkExtraBuildCommands cc;
-    };
-
-    lld = callPackage ./lld {
-      inherit llvm_meta;
-    };
-
-    lldb = callPackage ../common/lldb.nix {
-      src = fetch "lldb" "051p5b04y6z3g730rmc2n2v71lipbw7k69riww3a6sl74myfiaq7";
-      patches = [
-        ./lldb/procfs.patch
-        ./lldb/gnu-install-dirs.patch
-      ];
-      inherit llvm_meta;
-    };
-
-    # Below, is the LLVM bootstrapping logic. It handles building a
-    # fully LLVM toolchain from scratch. No GCC toolchain should be
-    # pulled in. As a consequence, it is very quick to build different
-    # targets provided by LLVM and we can also build for what GCC
-    # doesn’t support like LLVM. Probably we should move to some other
-    # file.
-
-    bintools-unwrapped = callPackage ../common/bintools.nix { };
-
-    bintoolsNoLibc = wrapBintoolsWith {
-      bintools = tools.bintools-unwrapped;
-      libc = preLibcCrossHeaders;
-    };
-
-    bintools = wrapBintoolsWith {
-      bintools = tools.bintools-unwrapped;
-    };
-
-    clangUseLLVM = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = targetLlvmLibraries.libcxx;
-      bintools = bintools';
-      extraPackages = [
-        libcxx.cxxabi
-        targetLlvmLibraries.compiler-rt
-      ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
-        targetLlvmLibraries.libunwind
-      ];
-      extraBuildCommands = ''
-        echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags
-        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
-        echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
-        echo "-L${targetLlvmLibraries.libunwind}/lib" >> $out/nix-support/cc-ldflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
-        echo "-lunwind" >> $out/nix-support/cc-ldflags
-      '' + lib.optionalString stdenv.targetPlatform.isWasm ''
-        echo "-fno-exceptions" >> $out/nix-support/cc-cflags
-      '' + mkExtraBuildCommands cc;
-    };
-
-    clangNoLibcxx = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = null;
-      bintools = bintools';
-      extraPackages = [
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = ''
-        echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
-        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
-        echo "-nostdlib++" >> $out/nix-support/cc-cflags
-      '' + mkExtraBuildCommands cc;
-    };
-
-    clangNoLibc = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = null;
-      bintools = bintoolsNoLibc';
-      extraPackages = [
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = ''
-        echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
-        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
-      '' + mkExtraBuildCommands cc;
-    };
-
-    clangNoCompilerRt = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = null;
-      bintools = bintoolsNoLibc';
-      extraPackages = [ ];
-      extraBuildCommands = ''
-        echo "-nostartfiles" >> $out/nix-support/cc-cflags
-      '' + mkExtraBuildCommands0 cc;
-    };
-
-    clangNoCompilerRtWithLibc = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = null;
-      bintools = bintools';
-      extraPackages = [ ];
-      extraBuildCommands = mkExtraBuildCommands0 cc;
-    };
-
-  });
-
-  libraries = lib.makeExtensible (libraries: let
-    callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; });
-  in {
-
-    compiler-rt-libc = callPackage ./compiler-rt {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc
-               else stdenv;
-    };
-
-    compiler-rt-no-libc = callPackage ./compiler-rt {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoCompilerRt
-               else stdenv;
-    };
-
-    # N.B. condition is safe because without useLLVM both are the same.
-    compiler-rt = if stdenv.hostPlatform.isAndroid
-      then libraries.compiler-rt-libc
-      else libraries.compiler-rt-no-libc;
-
-    stdenv = overrideCC stdenv buildLlvmTools.clang;
-
-    libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
-
-    libcxx = callPackage ./libcxx {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoLibcxx
-               else stdenv;
-    };
-
-    libcxxabi = callPackage ./libcxxabi {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoLibcxx
-               else stdenv;
-    };
-
-    libunwind = callPackage ./libunwind {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoLibcxx
-               else stdenv;
-    };
-
-    openmp = callPackage ./openmp {
-      inherit llvm_meta targetLlvm;
-    };
-  });
-  noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ];
-
-in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools)
diff --git a/pkgs/development/compilers/llvm/10/libcxx/default.nix b/pkgs/development/compilers/llvm/10/libcxx/default.nix
deleted file mode 100644
index cc029ea657cd..000000000000
--- a/pkgs/development/compilers/llvm/10/libcxx/default.nix
+++ /dev/null
@@ -1,88 +0,0 @@
-{ lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version
-, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
-, libcxxabi, libcxxrt
-, enableShared ? !stdenv.hostPlatform.isStatic
-}:
-
-assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
-
-stdenv.mkDerivation {
-  pname = "libcxx";
-  inherit version;
-
-  src = fetch "libcxx" "0v78bfr6h2zifvdqnj2wlfk4pvxzrqn3hg1v6lqk3y12bx9p9xny";
-
-  postUnpack = ''
-    unpackFile ${libcxxabi.src}
-    export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
-  '';
-
-  outputs = [ "out" "dev" ];
-
-  patches = [
-    ./gnu-install-dirs.patch
-  ] ++ lib.optionals stdenv.hostPlatform.isMusl [
-    ../../libcxx-0001-musl-hacks.patch
-  ];
-
-  # Prevent errors like "error: 'foo' is unavailable: introduced in macOS yy.zz"
-  postPatch = ''
-    substituteInPlace include/__config \
-      --replace "#    define _LIBCPP_USE_AVAILABILITY_APPLE" ""
-  '';
-
-  preConfigure = ''
-    # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
-    cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
-  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
-    patchShebangs utils/cat_files.py
-  '';
-  nativeBuildInputs = [ cmake ]
-    ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python3
-    ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
-
-  buildInputs = [ cxxabi ];
-
-  cmakeFlags = [
-    "-DLIBCXX_LIBCPPABI_VERSION=2"
-    "-DLIBCXX_CXX_ABI=${cxxabi.pname}"
-  ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
-    ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib"
-    ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
-    ++ lib.optionals stdenv.hostPlatform.isWasm [
-      "-DLIBCXX_ENABLE_THREADS=OFF"
-      "-DLIBCXX_ENABLE_FILESYSTEM=OFF"
-      "-DLIBCXX_ENABLE_EXCEPTIONS=OFF"
-    ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF";
-
-  preInstall = lib.optionalString (stdenv.isDarwin) ''
-    for file in lib/*.dylib; do
-      if [ -L "$file" ]; then continue; fi
-
-      baseName=$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))
-      installName="$out/lib/$baseName"
-      abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
-
-      for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
-      done
-    done
-  '';
-
-  passthru = {
-    isLLVM = true;
-    inherit cxxabi;
-  };
-
-  meta = llvm_meta // {
-    homepage = "https://libcxx.llvm.org/";
-    description = "C++ standard library";
-    longDescription = ''
-      libc++ is an implementation of the C++ standard library, targeting C++11,
-      C++14 and above.
-    '';
-    # "All of the code in libc++ is dual licensed under the MIT license and the
-    # UIUC License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-  };
-}
diff --git a/pkgs/development/compilers/llvm/10/libcxx/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/10/libcxx/gnu-install-dirs.patch
deleted file mode 100644
index 4b031e90bdd5..000000000000
--- a/pkgs/development/compilers/llvm/10/libcxx/gnu-install-dirs.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 60564dc96c7b..77d832ad5a44 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -26,6 +26,8 @@ set(CMAKE_MODULE_PATH
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXX_STANDALONE_BUILD)
-   project(libcxx CXX C)
- 
-+  include(GNUInstallDirs)
-+
-   set(PACKAGE_NAME libcxx)
-   set(PACKAGE_VERSION 10.0.1)
-   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-@@ -415,7 +417,7 @@ string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
- if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-   set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
-   set(LIBCXX_HEADER_DIR ${LLVM_BINARY_DIR})
--  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
-+  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
-   if(LIBCXX_LIBDIR_SUBDIR)
-     string(APPEND LIBCXX_LIBRARY_DIR /${LIBCXX_LIBDIR_SUBDIR})
-     string(APPEND LIBCXX_INSTALL_LIBRARY_DIR /${LIBCXX_LIBDIR_SUBDIR})
-@@ -423,10 +425,10 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
- elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
-   set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
-   set(LIBCXX_HEADER_DIR  ${LLVM_BINARY_DIR})
--  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX})
-+  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX})
- else()
-   set(LIBCXX_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXX_LIBDIR_SUFFIX})
--  set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX})
-+  set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX})
- endif()
- 
- file(MAKE_DIRECTORY "${LIBCXX_BINARY_INCLUDE_DIR}")
-diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake
-index 10f100f7f0fb..95ed3978ab73 100644
---- a/cmake/Modules/HandleLibCXXABI.cmake
-+++ b/cmake/Modules/HandleLibCXXABI.cmake
-@@ -61,7 +61,7 @@ macro(setup_abi_lib abidefines abishared abistatic abifiles abidirs)
- 
-         if (LIBCXX_INSTALL_HEADERS)
-           install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}"
--            DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dstdir}
-+            DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir}
-             COMPONENT cxx-headers
-             PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-             )
-diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
-index 302da8a131b4..4c6ab463f564 100644
---- a/include/CMakeLists.txt
-+++ b/include/CMakeLists.txt
-@@ -244,7 +244,7 @@ if (LIBCXX_INSTALL_HEADERS)
-   foreach(file ${files})
-     get_filename_component(dir ${file} DIRECTORY)
-     install(FILES ${file}
--      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dir}
-+      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dir}
-       COMPONENT ${CXX_HEADER_TARGET}
-       PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-     )
-@@ -253,7 +253,7 @@ if (LIBCXX_INSTALL_HEADERS)
-   if (LIBCXX_NEEDS_SITE_CONFIG)
-     # Install the generated header as __config.
-     install(FILES ${LIBCXX_BINARY_DIR}/__generated_config
--      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1
-+      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1
-       PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-       RENAME __config
-       COMPONENT ${CXX_HEADER_TARGET})
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 120505fe18da..9b8456d8405a 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -341,21 +341,21 @@ if (LIBCXX_INSTALL_LIBRARY)
-     install(TARGETS cxx_shared
-       ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
-       LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
--      RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}bin COMPONENT cxx)
-+      RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR} COMPONENT cxx)
-   endif()
- 
-   if (LIBCXX_INSTALL_STATIC_LIBRARY)
-     install(TARGETS cxx_static
-       ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
-       LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
--      RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}bin COMPONENT cxx)
-+      RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR} COMPONENT cxx)
-   endif()
- 
-   if(LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY)
-     install(TARGETS ${LIBCXX_INSTALL_TARGETS} ${experimental_lib}
-       LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
-       ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
--      RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}bin COMPONENT cxx)
-+      RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR} COMPONENT cxx)
-   endif()
- 
-   # NOTE: This install command must go after the cxx install command otherwise
diff --git a/pkgs/development/compilers/llvm/10/libcxxabi/default.nix b/pkgs/development/compilers/llvm/10/libcxxabi/default.nix
deleted file mode 100644
index c4eba56a6b81..000000000000
--- a/pkgs/development/compilers/llvm/10/libcxxabi/default.nix
+++ /dev/null
@@ -1,85 +0,0 @@
-{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version
-, enableShared ? !stdenv.hostPlatform.isStatic
-}:
-
-stdenv.mkDerivation {
-  pname = "libcxxabi";
-  inherit version;
-
-  src = fetch "libcxxabi" "0yqs722y76cwvmfsq0lb917r9m3fci7bf5z3yzl71yz9n88ghzm9";
-
-  outputs = [ "out" "dev" ];
-
-  postUnpack = ''
-    unpackFile ${libcxx.src}
-    unpackFile ${llvm.src}
-    cmakeFlags+=" -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
-  '' + lib.optionalString stdenv.isDarwin ''
-    export TRIPLE=x86_64-apple-darwin
-  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
-    patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
-  '' + lib.optionalString stdenv.hostPlatform.isWasm ''
-    patch -p1 -d $(ls -d llvm-*) -i ${../../common/libcxxabi/wasm.patch}
-  '';
-
-  patches = [
-    ../../common/libcxxabi/no-threads.patch
-    ./gnu-install-dirs.patch
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.hostPlatform.isWasm) libunwind;
-
-  cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [
-    "-DLLVM_ENABLE_LIBCXX=ON"
-    "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
-  ] ++ lib.optionals stdenv.hostPlatform.isWasm [
-    "-DLIBCXXABI_ENABLE_THREADS=OFF"
-    "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF"
-  ] ++ lib.optionals (!enableShared) [
-    "-DLIBCXXABI_ENABLE_SHARED=OFF"
-  ];
-
-  preInstall = lib.optionalString stdenv.isDarwin ''
-    for file in lib/*.dylib; do
-      if [ -L "$file" ]; then continue; fi
-
-      # Fix up the install name. Preserve the basename, just replace the path.
-      installName="$out/lib/$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))"
-
-      # this should be done in CMake, but having trouble figuring out
-      # the magic combination of necessary CMake variables
-      # if you fancy a try, take a look at
-      # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
-      ${stdenv.cc.targetPrefix}install_name_tool -id $installName $file
-
-      # cc-wrapper passes '-lc++abi' to all c++ link steps, but that causes
-      # libcxxabi to sometimes link against a different version of itself.
-      # Here we simply make that second reference point to ourselves.
-      for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other $installName $file
-      done
-    done
-  '';
-
-  postInstall = ''
-    mkdir -p "$dev/include"
-    install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
-  '';
-
-  passthru = {
-    libName = "c++abi";
-  };
-
-  meta = llvm_meta // {
-    homepage = "https://libcxxabi.llvm.org/";
-    description = "Provides C++ standard library support";
-    longDescription = ''
-      libc++abi is a new implementation of low level support for a standard C++ library.
-    '';
-    # "All of the code in libc++abi is dual licensed under the MIT license and
-    # the UIUC License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-    maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ];
-  };
-}
diff --git a/pkgs/development/compilers/llvm/10/libcxxabi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/10/libcxxabi/gnu-install-dirs.patch
deleted file mode 100644
index 0f80ade7c389..000000000000
--- a/pkgs/development/compilers/llvm/10/libcxxabi/gnu-install-dirs.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8f9572586b4a..bf0e41dfc751 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -20,6 +20,8 @@ set(CMAKE_MODULE_PATH
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXXABI_STANDALONE_BUILD)
-   project(libcxxabi CXX C)
- 
-+  include(GNUInstallDirs)
-+
-   set(PACKAGE_NAME libcxxabi)
-   set(PACKAGE_VERSION 10.0.1)
-   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-@@ -214,17 +216,17 @@ string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
- 
- if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-   set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
--  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
-+  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
-   if(LIBCXX_LIBDIR_SUBDIR)
-     string(APPEND LIBCXXABI_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR})
-     string(APPEND LIBCXXABI_INSTALL_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR})
-   endif()
- elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
-   set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
--  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX})
-+  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX})
- else()
-   set(LIBCXXABI_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX})
--  set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX})
-+  set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX})
- endif()
- 
- set(LIBCXXABI_INSTALL_PREFIX "" CACHE STRING "Define libc++abi destination prefix.")
diff --git a/pkgs/development/compilers/llvm/10/libunwind/default.nix b/pkgs/development/compilers/llvm/10/libunwind/default.nix
deleted file mode 100644
index 2941dca35bf6..000000000000
--- a/pkgs/development/compilers/llvm/10/libunwind/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, enableShared ? !stdenv.hostPlatform.isStatic
-}:
-
-stdenv.mkDerivation rec {
-  pname = "libunwind";
-  inherit version;
-
-  src = fetch pname "09syx66idnm2pr46x2vmk0jn3iwdv0lkd04xy4zjbwmz3vn066bl";
-
-  patches = [
-    ./gnu-install-dirs.patch
-  ];
-
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [ cmake ];
-
-  cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
-
-  meta = llvm_meta // {
-    # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
-    homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
-    description = "LLVM's unwinder library";
-    longDescription = ''
-      The unwind library provides a family of _Unwind_* functions implementing
-      the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
-      I). It is a dependency of the C++ ABI library, and sometimes is a
-      dependency of other runtimes.
-    '';
-  };
-}
diff --git a/pkgs/development/compilers/llvm/10/libunwind/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/10/libunwind/gnu-install-dirs.patch
deleted file mode 100644
index 8cea7d3e3341..000000000000
--- a/pkgs/development/compilers/llvm/10/libunwind/gnu-install-dirs.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c033069ef1d0..e2846896eece 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -18,6 +18,8 @@ set(CMAKE_MODULE_PATH
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBUNWIND_STANDALONE_BUILD)
-   project(libunwind)
- 
-+  include(GNUInstallDirs)
-+
-   # Rely on llvm-config.
-   set(CONFIG_OUTPUT)
-   if(NOT LLVM_CONFIG_PATH)
-@@ -189,17 +191,17 @@ string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
- 
- if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-   set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
--  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
-+  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
-   if(LIBCXX_LIBDIR_SUBDIR)
-     string(APPEND LIBUNWIND_LIBRARY_DIR /${LIBUNWIND_LIBDIR_SUBDIR})
-     string(APPEND LIBUNWIND_INSTALL_LIBRARY_DIR /${LIBUNWIND_LIBDIR_SUBDIR})
-   endif()
- elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
-   set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
--  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX})
-+  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBUNWIND_LIBDIR_SUFFIX})
- else()
-   set(LIBUNWIND_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBUNWIND_LIBDIR_SUFFIX})
--  set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX})
-+  set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBUNWIND_LIBDIR_SUFFIX})
- endif()
- 
- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIBUNWIND_LIBRARY_DIR})
diff --git a/pkgs/development/compilers/llvm/10/lld/default.nix b/pkgs/development/compilers/llvm/10/lld/default.nix
deleted file mode 100644
index d4c686a0f4db..000000000000
--- a/pkgs/development/compilers/llvm/10/lld/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, stdenv, llvm_meta
-, buildLlvmTools
-, fetch
-, cmake
-, libxml2
-, libllvm
-, version
-}:
-
-stdenv.mkDerivation rec {
-  pname = "lld";
-  inherit version;
-
-  src = fetch pname "0ynzi35r4fckvp6842alpd43qr810j3728yfslc66fk2mbh4j52r";
-
-  patches = [
-    ./gnu-install-dirs.patch
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ libllvm libxml2 ];
-
-  cmakeFlags = [
-    "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
-  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
-  ];
-
-  # Musl's default stack size is too small for lld to be able to link Firefox.
-  LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152";
-
-  outputs = [ "out" "lib" "dev" ];
-
-  meta = llvm_meta // {
-    homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker (unwrapped)";
-    longDescription = ''
-      LLD is a linker from the LLVM project that is a drop-in replacement for
-      system linkers and runs much faster than them. It also provides features
-      that are useful for toolchain developers.
-      The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and
-      WebAssembly in descending order of completeness. Internally, LLD consists
-      of several different linkers.
-    '';
-  };
-}
diff --git a/pkgs/development/compilers/llvm/10/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/10/lld/gnu-install-dirs.patch
deleted file mode 100644
index 232f5cbac9dd..000000000000
--- a/pkgs/development/compilers/llvm/10/lld/gnu-install-dirs.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 641f71c114ae..9d44c1463aff 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -6,6 +6,8 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   set(CMAKE_INCLUDE_CURRENT_DIR ON)
-   set(LLD_BUILT_STANDALONE TRUE)
- 
-+  include(GNUInstallDirs)
-+
-   find_program(LLVM_CONFIG_PATH "llvm-config" DOC "Path to llvm-config binary")
-   if(NOT LLVM_CONFIG_PATH)
-     message(FATAL_ERROR "llvm-config not found: specify LLVM_CONFIG_PATH")
-@@ -202,7 +204,7 @@ include_directories(BEFORE
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake
-index fa48b428d26b..e7967aad3ceb 100644
---- a/cmake/modules/AddLLD.cmake
-+++ b/cmake/modules/AddLLD.cmake
-@@ -20,9 +20,9 @@ macro(add_lld_library name)
-     install(TARGETS ${name}
-       COMPONENT ${name}
-       ${export_to_lldtargets}
--      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--      RUNTIME DESTINATION bin)
-+      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
-     if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
-       add_llvm_install_targets(install-${name}
-@@ -54,7 +54,7 @@ macro(add_lld_tool name)
- 
-     install(TARGETS ${name}
-       ${export_to_lldtargets}
--      RUNTIME DESTINATION bin
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-       COMPONENT ${name})
- 
-     if(NOT CMAKE_CONFIGURATION_TYPES)
-@@ -69,5 +69,5 @@ endmacro()
- macro(add_lld_symlink name dest)
-   add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
-   # Always generate install targets
--  llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
-+  llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE)
- endmacro()
-diff --git a/tools/lld/CMakeLists.txt b/tools/lld/CMakeLists.txt
-index a15e296e31df..654c2cfdb9c0 100644
---- a/tools/lld/CMakeLists.txt
-+++ b/tools/lld/CMakeLists.txt
-@@ -17,7 +17,7 @@ target_link_libraries(lld
-   )
- 
- install(TARGETS lld
--  RUNTIME DESTINATION bin)
-+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
- if(NOT LLD_SYMLINKS_TO_CREATE)
-   set(LLD_SYMLINKS_TO_CREATE lld-link ld.lld ld64.lld wasm-ld)
diff --git a/pkgs/development/compilers/llvm/10/lldb/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/10/lldb/gnu-install-dirs.patch
deleted file mode 100644
index 0a7539db5e6b..000000000000
--- a/pkgs/development/compilers/llvm/10/lldb/gnu-install-dirs.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 573b8556989e..a12cc6f6ba77 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -17,6 +17,8 @@ set(CMAKE_MODULE_PATH
- # If we are not building as part of LLVM, build LLDB as a standalone project,
- # using LLVM as an external library.
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-+  include(GNUInstallDirs)
-+
-   project(lldb)
-   include(LLDBStandalone)
- 
-diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake
-index ecf0b66a41a3..6f2d97af7a11 100644
---- a/cmake/modules/AddLLDB.cmake
-+++ b/cmake/modules/AddLLDB.cmake
-@@ -107,13 +107,13 @@ function(add_lldb_library name)
-   endif()
- 
-   if(PARAM_SHARED)
--    set(install_dest lib${LLVM_LIBDIR_SUFFIX})
-+    set(install_dest ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-     if(PARAM_INSTALL_PREFIX)
-       set(install_dest ${PARAM_INSTALL_PREFIX})
-     endif()
-     # RUNTIME is relevant for DLL platforms, FRAMEWORK for macOS
-     install(TARGETS ${name} COMPONENT ${name}
--      RUNTIME DESTINATION bin
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-       LIBRARY DESTINATION ${install_dest}
-       ARCHIVE DESTINATION ${install_dest}
-       FRAMEWORK DESTINATION ${install_dest})
-diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake
-index 4a15a343ee1d..c74bbb6878d7 100644
---- a/cmake/modules/LLDBConfig.cmake
-+++ b/cmake/modules/LLDBConfig.cmake
-@@ -238,7 +238,7 @@ include_directories(BEFORE
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/
-     COMPONENT lldb-headers
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-@@ -247,7 +247,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
- 
-   install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
-     COMPONENT lldb-headers
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-diff --git a/tools/intel-features/CMakeLists.txt b/tools/intel-features/CMakeLists.txt
-index aff75d7db334..98a527c5e761 100644
---- a/tools/intel-features/CMakeLists.txt
-+++ b/tools/intel-features/CMakeLists.txt
-@@ -64,4 +64,4 @@ if (LLDB_ENABLE_PYTHON AND LLDB_BUILD_INTEL_PT)
- endif()
- 
- install(TARGETS lldbIntelFeatures
--  LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-+  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-diff --git a/cmake/modules/LLDBStandalone.cmake b/cmake/modules/LLDBStandalone.cmake
-index 752113b..010f187 100644
---- a/cmake/modules/LLDBStandalone.cmake
-+++ b/cmake/modules/LLDBStandalone.cmake
-@@ -62,7 +62,7 @@ endif()
-
- # They are used as destination of target generators.
- set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
--set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
-+set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
- if(WIN32 OR CYGWIN)
-   # DLL platform -- put DLLs into bin.
-   set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index bf74802..1c98cae 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -222,7 +222,7 @@ if (LLDB_ENABLE_PYTHON)
-   if(LLDB_BUILD_FRAMEWORK)
-     set(LLDB_PYTHON_INSTALL_PATH ${LLDB_FRAMEWORK_INSTALL_DIR}/LLDB.framework/Resources/Python)
-   else()
--    set(LLDB_PYTHON_INSTALL_PATH ${LLDB_PYTHON_RELATIVE_PATH})
-+    set(LLDB_PYTHON_INSTALL_PATH ${CMAKE_INSTALL_LIBDIR}/../${LLDB_PYTHON_RELATIVE_PATH})
-   endif()
-   if (NOT CMAKE_CFG_INTDIR STREQUAL  ".")
-     string(REPLACE ${CMAKE_CFG_INTDIR} "\$\{CMAKE_INSTALL_CONFIG_NAME\}" LLDB_PYTHON_INSTALL_PATH ${LLDB_PYTHON_INSTALL_PATH})
diff --git a/pkgs/development/compilers/llvm/10/lldb/procfs.patch b/pkgs/development/compilers/llvm/10/lldb/procfs.patch
deleted file mode 100644
index b075dbaeee0a..000000000000
--- a/pkgs/development/compilers/llvm/10/lldb/procfs.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/source/Plugins/Process/Linux/Procfs.h
-+++ b/source/Plugins/Process/Linux/Procfs.h
-@@ -11,21 +11,12 @@
- // sys/procfs.h on Android/Linux for all supported architectures.
- 
- #include <sys/ptrace.h>
-+#include <asm/ptrace.h>
- 
--#ifdef __ANDROID__
--#if defined(__arm64__) || defined(__aarch64__)
--typedef unsigned long elf_greg_t;
--typedef elf_greg_t
--    elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))];
--typedef struct user_fpsimd_state elf_fpregset_t;
--#ifndef NT_FPREGSET
--#define NT_FPREGSET NT_PRFPREG
--#endif // NT_FPREGSET
--#elif defined(__mips__)
--#ifndef NT_FPREGSET
--#define NT_FPREGSET NT_PRFPREG
--#endif // NT_FPREGSET
--#endif
--#else // __ANDROID__
-+#if !defined(__GLIBC__) && defined(__powerpc__)
-+#define pt_regs musl_pt_regs
-+#include <sys/procfs.h>
-+#undef pt_regs
-+#else
- #include <sys/procfs.h>
--#endif // __ANDROID__
-+#endif
diff --git a/pkgs/development/compilers/llvm/10/llvm/default.nix b/pkgs/development/compilers/llvm/10/llvm/default.nix
deleted file mode 100644
index 534d38e86663..000000000000
--- a/pkgs/development/compilers/llvm/10/llvm/default.nix
+++ /dev/null
@@ -1,355 +0,0 @@
-{ lib, stdenv, llvm_meta
-, pkgsBuildBuild
-, fetch
-, fetchpatch
-, cmake
-, python3
-, libffi
-, enableGoldPlugin ? libbfd.hasPluginAPI
-, libbfd
-, libpfm
-, libxml2
-, ncurses
-, version
-, release_version
-, zlib
-, buildLlvmTools
-, debugVersion ? false
-, doCheck ? stdenv.isLinux && (!stdenv.isx86_32)
-  && (stdenv.hostPlatform == stdenv.buildPlatform)
-, enableManpages ? false
-, enableSharedLibraries ? !stdenv.hostPlatform.isStatic
-# broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245
-# broken for the armv7l builder
-, enablePFM ? stdenv.isLinux && !stdenv.hostPlatform.isAarch
-, enablePolly ? true
-}:
-
-let
-  inherit (lib) optional optionals optionalString;
-
-  # Used when creating a version-suffixed symlink of libLLVM.dylib
-  shortVersion = with lib;
-    concatStringsSep "." (take 1 (splitString "." release_version));
-
-  # Ordinarily we would just the `doCheck` and `checkDeps` functionality
-  # `mkDerivation` gives us to manage our test dependencies (instead of breaking
-  # out `doCheck` as a package level attribute).
-  #
-  # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in
-  # particular the children it uses to do feature detection.
-  #
-  # This means that python deps we add to `checkDeps` (which the python
-  # interpreter is made aware of via `$PYTHONPATH` – populated by the python
-  # setup hook) are not picked up by `lit` which causes it to skip tests.
-  #
-  # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work
-  # because this package is shadowed in `$PATH` by the regular `python3`
-  # package.
-  #
-  # So, we "manually" assemble one python derivation for the package to depend
-  # on, taking into account whether checks are enabled or not:
-  python = if doCheck then
-    let
-      checkDeps = ps: with ps; [ psutil ];
-    in python3.withPackages checkDeps
-  else python3;
-
-in stdenv.mkDerivation (rec {
-  pname = "llvm";
-  inherit version;
-
-  src = fetch pname "1wydhbp9kyjp5y0rc627imxgkgqiv3dfirbqil9dgpnbaw5y7n65";
-  polly_src = fetch "polly" "0nm2d8niz47yjsa3r17v3p13b70igkd338ib8191znr1dfw0pyyj";
-
-  unpackPhase = ''
-    unpackFile $src
-    mv llvm-${version}* llvm
-    sourceRoot=$PWD/llvm
-  '' + optionalString enablePolly ''
-    unpackFile $polly_src
-    mv polly-* $sourceRoot/tools/polly
-  '';
-
-  outputs = [ "out" "lib" "dev" "python" ];
-
-  nativeBuildInputs = [ cmake python ]
-    ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ];
-
-  buildInputs = [ libxml2 libffi ]
-    ++ optional enablePFM libpfm; # exegesis
-
-  propagatedBuildInputs = [ ncurses zlib ];
-
-  patches = [
-    # When cross-compiling we configure llvm-config-native with an approximation
-    # of the flags used for the normal LLVM build. To avoid the need for building
-    # a native libLLVM.so (which would fail) we force llvm-config to be linked
-    # statically against the necessary LLVM components always.
-    ../../llvm-config-link-static.patch
-
-    ./gnu-install-dirs.patch
-    # On older CPUs (e.g. Hydra/wendy) we'd be getting an error in this test.
-    (fetchpatch {
-      name = "uops-CMOV16rm-noreg.diff";
-      url = "https://github.com/llvm/llvm-project/commit/9e9f991ac033.diff";
-      sha256 = "sha256:12s8vr6ibri8b48h2z38f3afhwam10arfiqfy4yg37bmc054p5hi";
-      stripLen = 1;
-    })
-
-    # Fix missing includes for GCC 11
-    (fetchpatch {
-      name = "headers-gcc-11.patch";
-      url = "https://github.com/llvm/llvm-project/commit/b498303066a63a203d24f739b2d2e0e56dca70d1.patch";
-      sha256 = "0nh123kld0dgz2h941lng331dkj3wbm5lfxm375k1f569gv83hlk";
-      stripLen = 1;
-    })
-
-    # Fix invalid std::string(nullptr) for GCC 12
-    (fetchpatch {
-      name = "nvptx-gcc-12.patch";
-      url = "https://github.com/llvm/llvm-project/commit/99e64623ec9b31def9375753491cc6093c831809.patch";
-      sha256 = "0zjfjgavqzi2ypqwqnlvy6flyvdz8hi1anwv0ybwnm2zqixg7za3";
-      stripLen = 1;
-    })
-    (fetchpatch {
-      name = "dfaemitter-gcc-12.patch";
-      url = "https://github.com/llvm/llvm-project/commit/0841916e87a39e3c223c986e8da31e4a9a1432e3.patch";
-      sha256 = "1kckghvsngs51mqm82asy0s9vr19h8aqbw43a0w44mccqw6bzrwf";
-      stripLen = 1;
-    })
-
-    # Fix musl build.
-    (fetchpatch {
-      url = "https://github.com/llvm/llvm-project/commit/5cd554303ead0f8891eee3cd6d25cb07f5a7bf67.patch";
-      relative = "llvm";
-      hash = "sha256-XPbvNJ45SzjMGlNUgt/IgEvM2dHQpDOe6woUJY+nUYA=";
-    })
-
-    # Backport gcc-13 fixes with missing includes.
-    (fetchpatch {
-      name = "signals-gcc-13.patch";
-      url = "https://github.com/llvm/llvm-project/commit/ff1681ddb303223973653f7f5f3f3435b48a1983.patch";
-      hash = "sha256-CXwYxQezTq5vdmc8Yn88BUAEly6YZ5VEIA6X3y5NNOs=";
-      stripLen = 1;
-    })
-  ] ++ lib.optionals enablePolly [
-    ./gnu-install-dirs-polly.patch
-    # Add missing isl header includess required to build LLVM 10 + Polly with clang 16.
-    (fetchpatch {
-      name = "polly-ppcg-isl-headers.patch";
-      url = "https://repo.or.cz/ppcg.git/patch/098ba285306114dc71497f7b51c357f69c9b4472";
-      hash = "sha256-c9L30rDROYAMbUSuaK9U/ixyFMlH/Sa1n+VgLODzSCQ=";
-      extraPrefix = "tools/polly/lib/External/ppcg/";
-      stripLen = 1;
-    })
-  ];
-
-  postPatch = optionalString stdenv.isDarwin ''
-    substituteInPlace cmake/modules/AddLLVM.cmake \
-      --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
-      --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' ""
-  '' + ''
-    # FileSystem permissions tests fail with various special bits
-    substituteInPlace unittests/Support/CMakeLists.txt \
-      --replace "Path.cpp" ""
-    rm unittests/Support/Path.cpp
-  '' + optionalString stdenv.hostPlatform.isMusl ''
-    patch -p1 -i ${../../TLI-musl.patch}
-    substituteInPlace unittests/Support/CMakeLists.txt \
-      --replace "add_subdirectory(DynamicLibrary)" ""
-    rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
-    # valgrind unhappy with musl or glibc, but fails w/musl only
-    rm test/CodeGen/AArch64/wineh4.mir
-  '' + optionalString stdenv.hostPlatform.isAarch32 ''
-    # skip failing X86 test cases on 32-bit ARM
-    rm test/DebugInfo/X86/convert-debugloc.ll
-    rm test/DebugInfo/X86/convert-inlined.ll
-    rm test/DebugInfo/X86/convert-linked.ll
-    rm test/DebugInfo/X86/debug_addr.ll
-    rm test/tools/dsymutil/X86/op-convert.test
-  '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
-    # Seems to require certain floating point hardware (NEON?)
-    rm test/ExecutionEngine/frem.ll
-  '' + ''
-    patchShebangs test/BugPoint/compile-custom.ll.py
-  '' + ''
-    # Tweak tests to ignore namespace part of type to support
-    # gcc-12: https://gcc.gnu.org/PR103598.
-    # The change below mangles strings like:
-    #    CHECK-NEXT: Starting llvm::Function pass manager run.
-    # to:
-    #    CHECK-NEXT: Starting {{.*}}Function pass manager run.
-    for f in \
-      test/Other/new-pass-manager.ll \
-      test/Other/new-pm-defaults.ll \
-      test/Other/new-pm-lto-defaults.ll \
-      test/Other/new-pm-thinlto-defaults.ll \
-      test/Other/pass-pipeline-parsing.ll \
-      test/Transforms/Inline/cgscc-incremental-invalidate.ll \
-      test/Transforms/Inline/clear-analyses.ll \
-      test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
-      test/Transforms/SCCP/ipsccp-preserve-analysis.ll \
-      test/Transforms/SCCP/preserve-analysis.ll \
-      test/Transforms/SROA/dead-inst.ll \
-      test/tools/gold/X86/new-pm.ll \
-      ; do
-      echo "PATCH: $f"
-      substituteInPlace $f \
-        --replace 'Starting llvm::' 'Starting {{.*}}' \
-        --replace 'Finished llvm::' 'Finished {{.*}}'
-    done
-  '';
-
-  preConfigure = ''
-    # Workaround for configure flags that need to have spaces
-    cmakeFlagsArray+=(
-      -DLLVM_LIT_ARGS='-svj''${NIX_BUILD_CORES} --no-progress-bar'
-    )
-  '';
-
-  # hacky fix: created binaries need to be run before installation
-  preBuild = ''
-    mkdir -p $out/
-    ln -sv $PWD/lib $out
-  '';
-
-  cmakeBuildType = if debugVersion then "Debug" else "Release";
-
-  cmakeFlags = with stdenv; let
-    # These flags influence llvm-config's BuildVariables.inc in addition to the
-    # general build. We need to make sure these are also passed via
-    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
-    # will return different results from the cross llvm-config.
-    #
-    # Some flags don't need to be repassed because LLVM already does so (like
-    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
-    flagsForLlvmConfig = [
-      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
-      "-DLLVM_ENABLE_RTTI=ON"
-    ] ++ optionals enableSharedLibraries [
-      "-DLLVM_LINK_LLVM_DYLIB=ON"
-    ];
-  in flagsForLlvmConfig ++ [
-    "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
-    "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
-    "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
-    "-DLLVM_ENABLE_DUMP=ON"
-  ] ++ optionals enableManpages [
-    "-DLLVM_BUILD_DOCS=ON"
-    "-DLLVM_ENABLE_SPHINX=ON"
-    "-DSPHINX_OUTPUT_MAN=ON"
-    "-DSPHINX_OUTPUT_HTML=OFF"
-    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-  ] ++ optionals (enableGoldPlugin) [
-    "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
-  ] ++ optionals isDarwin [
-    "-DLLVM_ENABLE_LIBCXX=ON"
-    "-DCAN_TARGET_i386=false"
-  ] ++ optionals ((stdenv.hostPlatform != stdenv.buildPlatform) && !(stdenv.buildPlatform.canExecute stdenv.hostPlatform)) [
-    "-DCMAKE_CROSSCOMPILING=True"
-    "-DLLVM_TABLEGEN=${buildLlvmTools.llvm}/bin/llvm-tblgen"
-    (
-      let
-        nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc;
-        nativeBintools = nativeCC.bintools.bintools;
-        nativeToolchainFlags = [
-          "-DCMAKE_C_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}cc"
-          "-DCMAKE_CXX_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}c++"
-          "-DCMAKE_AR=${nativeBintools}/bin/${nativeBintools.targetPrefix}ar"
-          "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
-          "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
-        ];
-        # We need to repass the custom GNUInstallDirs values, otherwise CMake
-        # will choose them for us, leading to wrong results in llvm-config-native
-        nativeInstallFlags = [
-          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
-          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
-          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
-          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
-          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
-        ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
-      + lib.concatStringsSep ";" (lib.concatLists [
-        flagsForLlvmConfig
-        nativeToolchainFlags
-        nativeInstallFlags
-      ])
-    )
-  ];
-
-  postBuild = ''
-    rm -fR $out
-  '';
-
-  preCheck = ''
-    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib
-  '';
-
-  postInstall = ''
-    mkdir -p $python/share
-    mv $out/share/opt-viewer $python/share/opt-viewer
-    moveToOutput "bin/llvm-config*" "$dev"
-    substituteInPlace "$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
-      --replace "\''${_IMPORT_PREFIX}/lib/lib" "$lib/lib/lib" \
-      --replace "$out/bin/llvm-config" "$dev/bin/llvm-config"
-    substituteInPlace "$dev/lib/cmake/llvm/LLVMConfig.cmake" \
-      --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}'"$lib"'")'
-  ''
-  + optionalString (stdenv.isDarwin && enableSharedLibraries) ''
-    ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
-    ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
-  ''
-  + optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
-    cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
-  '';
-
-  inherit doCheck;
-
-  checkTarget = "check-all";
-
-  requiredSystemFeatures = [ "big-parallel" ];
-  meta = llvm_meta // {
-    homepage = "https://llvm.org/";
-    description = "A collection of modular and reusable compiler and toolchain technologies";
-    longDescription = ''
-      The LLVM Project is a collection of modular and reusable compiler and
-      toolchain technologies. Despite its name, LLVM has little to do with
-      traditional virtual machines. The name "LLVM" itself is not an acronym; it
-      is the full name of the project.
-      LLVM began as a research project at the University of Illinois, with the
-      goal of providing a modern, SSA-based compilation strategy capable of
-      supporting both static and dynamic compilation of arbitrary programming
-      languages. Since then, LLVM has grown to be an umbrella project consisting
-      of a number of subprojects, many of which are being used in production by
-      a wide variety of commercial and open source projects as well as being
-      widely used in academic research. Code in the LLVM project is licensed
-      under the "Apache 2.0 License with LLVM exceptions".
-    '';
-  };
-} // lib.optionalAttrs enableManpages {
-  pname = "llvm-manpages";
-
-  buildPhase = ''
-    make docs-llvm-man
-  '';
-
-  propagatedBuildInputs = [];
-
-  installPhase = ''
-    make -C docs install
-  '';
-
-  postPatch = null;
-  postInstall = null;
-
-  outputs = [ "out" ];
-
-  doCheck = false;
-
-  meta = llvm_meta // {
-    description = "man pages for LLVM ${version}";
-  };
-})
diff --git a/pkgs/development/compilers/llvm/10/llvm/gnu-install-dirs-polly.patch b/pkgs/development/compilers/llvm/10/llvm/gnu-install-dirs-polly.patch
deleted file mode 100644
index 3353058d8ab1..000000000000
--- a/pkgs/development/compilers/llvm/10/llvm/gnu-install-dirs-polly.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt
-index 9939097f743e..8cc538da912a 100644
---- a/tools/polly/CMakeLists.txt
-+++ b/tools/polly/CMakeLists.txt
-@@ -2,7 +2,11 @@
- if (NOT DEFINED LLVM_MAIN_SRC_DIR)
-   project(Polly)
-   cmake_minimum_required(VERSION 3.4.3)
-+endif()
-+
-+include(GNUInstallDirs)
- 
-+if (NOT DEFINED LLVM_MAIN_SRC_DIR)
-   # Where is LLVM installed?
-   find_package(LLVM CONFIG REQUIRED)
-   set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
-@@ -145,14 +149,14 @@ include_directories(
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-     )
- 
-   install(DIRECTORY ${POLLY_BINARY_DIR}/include/
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN "CMakeFiles" EXCLUDE
-diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt
-index 211f95512717..f9e04a4844b6 100644
---- a/tools/polly/cmake/CMakeLists.txt
-+++ b/tools/polly/cmake/CMakeLists.txt
-@@ -79,18 +79,18 @@ file(GENERATE
- 
- # Generate PollyConfig.cmake for the install tree.
- unset(POLLY_EXPORTS)
--set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-+set(POLLY_INSTALL_PREFIX "")
- set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
--set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}")
--set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}")
-+set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}")
-+set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
- if (POLLY_BUNDLED_ISL)
-   set(POLLY_CONFIG_INCLUDE_DIRS
--    "${POLLY_INSTALL_PREFIX}/include"
--    "${POLLY_INSTALL_PREFIX}/include/polly"
-+    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}"
-+    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly"
-     )
- else()
-   set(POLLY_CONFIG_INCLUDE_DIRS
--    "${POLLY_INSTALL_PREFIX}/include"
-+    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}"
-     ${ISL_INCLUDE_DIRS}
-     )
- endif()
-@@ -100,12 +100,12 @@ endif()
- foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS)
-   get_target_property(tgt_type ${tgt} TYPE)
-   if (tgt_type STREQUAL "EXECUTABLE")
--    set(tgt_prefix "bin/")
-+    set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/")
-   else()
--    set(tgt_prefix "lib/")
-+    set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/")
-   endif()
- 
--  set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>")
-+  set(tgt_path "${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>")
-   file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path})
- 
-   if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY")
-diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake
-index 86de6f10686e..91f30891ccbe 100644
---- a/tools/polly/cmake/polly_macros.cmake
-+++ b/tools/polly/cmake/polly_macros.cmake
-@@ -44,8 +44,8 @@ macro(add_polly_library name)
-   if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly")
-     install(TARGETS ${name}
-       EXPORT LLVMExports
--      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-+	  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-   endif()
-   set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
- endmacro(add_polly_library)
-diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt
-index 8ffd984e542b..261cc19f3238 100644
---- a/tools/polly/lib/External/CMakeLists.txt
-+++ b/tools/polly/lib/External/CMakeLists.txt
-@@ -274,7 +274,7 @@ if (POLLY_BUNDLED_ISL)
-     install(DIRECTORY
-       ${ISL_SOURCE_DIR}/include/
-       ${ISL_BINARY_DIR}/include/
--      DESTINATION include/polly
-+      DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly
-       FILES_MATCHING
-       PATTERN "*.h"
-       PATTERN "CMakeFiles" EXCLUDE
diff --git a/pkgs/development/compilers/llvm/10/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/10/llvm/gnu-install-dirs.patch
deleted file mode 100644
index 155bab32f439..000000000000
--- a/pkgs/development/compilers/llvm/10/llvm/gnu-install-dirs.patch
+++ /dev/null
@@ -1,416 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0e85afa82c76..3e700d9c5fae 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -253,15 +253,21 @@ if (CMAKE_BUILD_TYPE AND
-   message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
- endif()
- 
-+include(GNUInstallDirs)
-+
- set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" )
- 
--set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary subdirectory (defaults to 'bin')")
-+set(LLVM_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE STRING
-+    "Path for binary subdirectory (defaults to 'bin')")
- mark_as_advanced(LLVM_TOOLS_INSTALL_DIR)
- 
- set(LLVM_UTILS_INSTALL_DIR "${LLVM_TOOLS_INSTALL_DIR}" CACHE STRING
-     "Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON) (defaults to LLVM_TOOLS_INSTALL_DIR)")
- mark_as_advanced(LLVM_UTILS_INSTALL_DIR)
- 
-+set(LLVM_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/cmake/llvm" CACHE STRING
-+	"Path for CMake subdirectory (defaults to lib/cmake/llvm)" )
-+
- # They are used as destination of target generators.
- set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
- set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
-@@ -527,9 +533,9 @@ option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF)
- option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON)
- option (LLVM_ENABLE_BINDINGS "Build bindings." ON)
- 
--set(LLVM_INSTALL_DOXYGEN_HTML_DIR "share/doc/llvm/doxygen-html"
-+set(LLVM_INSTALL_DOXYGEN_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html"
-     CACHE STRING "Doxygen-generated HTML documentation install directory")
--set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "share/doc/llvm/ocaml-html"
-+set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html"
-     CACHE STRING "OCamldoc-generated HTML documentation install directory")
- 
- option (LLVM_BUILD_EXTERNAL_COMPILER_RT
-@@ -993,7 +999,7 @@ endif()
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/llvm include/llvm-c
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     COMPONENT llvm-headers
-     FILES_MATCHING
-     PATTERN "*.def"
-@@ -1005,7 +1011,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     )
- 
-   install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm ${LLVM_INCLUDE_DIR}/llvm-c
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     COMPONENT llvm-headers
-     FILES_MATCHING
-     PATTERN "*.def"
-@@ -1020,13 +1026,13 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
- 
-   if (LLVM_INSTALL_MODULEMAPS)
-     install(DIRECTORY include/llvm include/llvm-c
--            DESTINATION include
-+            DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-             COMPONENT llvm-headers
-             FILES_MATCHING
-             PATTERN "module.modulemap"
-             )
-     install(FILES include/llvm/module.install.modulemap
--            DESTINATION include/llvm
-+            DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm
-             COMPONENT llvm-headers
-             RENAME "module.extern.modulemap"
-             )
-diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
-index f5a1b0d6f238..a7387224d68f 100644
---- a/cmake/modules/AddLLVM.cmake
-+++ b/cmake/modules/AddLLVM.cmake
-@@ -729,9 +729,9 @@ macro(add_llvm_library name)
- 
-       install(TARGETS ${name}
-               ${export_to_llvmexports}
--              LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
--              ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
--              RUNTIME DESTINATION bin COMPONENT ${name})
-+              LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
-+              ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} COMPONENT ${name}
-+              RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${name})
- 
-       if (NOT LLVM_ENABLE_IDE)
-         add_llvm_install_targets(install-${name}
-@@ -934,7 +934,7 @@ function(process_llvm_pass_plugins)
-           "set(LLVM_STATIC_EXTENSIONS ${LLVM_STATIC_EXTENSIONS})")
-       install(FILES
-           ${llvm_cmake_builddir}/LLVMConfigExtensions.cmake
--          DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
-+          DESTINATION ${LLVM_INSTALL_CMAKE_DIR}
-           COMPONENT cmake-exports)
- 
-       set(ExtensionDef "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def")
-@@ -1147,7 +1147,7 @@ macro(add_llvm_example name)
-   endif()
-   add_llvm_executable(${name} ${ARGN})
-   if( LLVM_BUILD_EXAMPLES )
--    install(TARGETS ${name} RUNTIME DESTINATION examples)
-+    install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples)
-   endif()
-   set_target_properties(${name} PROPERTIES FOLDER "Examples")
- endmacro(add_llvm_example name)
-@@ -1713,7 +1713,7 @@ function(llvm_install_library_symlink name dest type)
-   set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX})
-   set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX})
- 
--  set(output_dir lib${LLVM_LIBDIR_SUFFIX})
-+  set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-   if(WIN32 AND "${type}" STREQUAL "SHARED")
-     set(output_dir bin)
-   endif()
-@@ -1730,7 +1730,7 @@ function(llvm_install_library_symlink name dest type)
-   endif()
- endfunction()
- 
--function(llvm_install_symlink name dest)
-+function(llvm_install_symlink name dest output_dir)
-   cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN})
-   foreach(path ${CMAKE_MODULE_PATH})
-     if(EXISTS ${path}/LLVMInstallSymlink.cmake)
-@@ -1753,7 +1753,7 @@ function(llvm_install_symlink name dest)
-   set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX})
- 
-   install(SCRIPT ${INSTALL_SYMLINK}
--          CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})"
-+          CODE "install_symlink(${full_name} ${full_dest} ${output_dir})"
-           COMPONENT ${component})
- 
-   if (NOT LLVM_ENABLE_IDE AND NOT ARG_ALWAYS_GENERATE)
-@@ -1836,7 +1836,8 @@ function(add_llvm_tool_symlink link_name target)
-     endif()
- 
-     if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS)
--      llvm_install_symlink(${link_name} ${target})
-+      GNUInstallDirs_get_absolute_install_dir(output_dir LLVM_TOOLS_INSTALL_DIR)
-+      llvm_install_symlink(${link_name} ${target} ${output_dir})
-     endif()
-   endif()
- endfunction()
-@@ -1958,9 +1959,9 @@ function(llvm_setup_rpath name)
- 
-   if (APPLE)
-     set(_install_name_dir INSTALL_NAME_DIR "@rpath")
--    set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-+    set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-   elseif(UNIX)
--    set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-+    set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-     if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
-       set_property(TARGET ${name} APPEND_STRING PROPERTY
-                    LINK_FLAGS " -Wl,-z,origin ")
-diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake
-index 554046b20edf..4d1ad980641e 100644
---- a/cmake/modules/AddOCaml.cmake
-+++ b/cmake/modules/AddOCaml.cmake
-@@ -144,9 +144,9 @@ function(add_ocaml_library name)
-   endforeach()
- 
-   if( APPLE )
--    set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}")
-+    set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
-   elseif( UNIX )
--    set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}")
-+    set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
-   endif()
-   list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}")
- 
-diff --git a/cmake/modules/AddSphinxTarget.cmake b/cmake/modules/AddSphinxTarget.cmake
-index 2bf654b60c44..450ee45d86e6 100644
---- a/cmake/modules/AddSphinxTarget.cmake
-+++ b/cmake/modules/AddSphinxTarget.cmake
-@@ -78,7 +78,7 @@ function (add_sphinx_target builder project)
-         endif()
-       elseif (builder STREQUAL html)
-         string(TOUPPER "${project}" project_upper)
--        set(${project_upper}_INSTALL_SPHINX_HTML_DIR "share/doc/${project}/html"
-+        set(${project_upper}_INSTALL_SPHINX_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/html"
-             CACHE STRING "HTML documentation install directory for ${project}")
- 
-         # '/.' indicates: copy the contents of the directory directly into
-diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
-index af757d6199a8..b0fb7e7705d1 100644
---- a/cmake/modules/CMakeLists.txt
-+++ b/cmake/modules/CMakeLists.txt
-@@ -1,4 +1,4 @@
--set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm)
-+set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')")
- set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
- 
- # First for users who use an installed LLVM, create the LLVMExports.cmake file.
-@@ -96,13 +96,13 @@ foreach(p ${_count})
-   set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE}
- get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)")
- endforeach(p)
--set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/include")
-+set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
- set(LLVM_CONFIG_INCLUDE_DIR "${LLVM_CONFIG_INCLUDE_DIRS}")
- set(LLVM_CONFIG_MAIN_INCLUDE_DIR "${LLVM_CONFIG_INCLUDE_DIRS}")
--set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}")
-+set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}")
- set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}")
- set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
--set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
-+set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}")
- set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
- set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
- configure_file(
-diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake
-index 09fed8085c23..aa79f192abf0 100644
---- a/cmake/modules/LLVMInstallSymlink.cmake
-+++ b/cmake/modules/LLVMInstallSymlink.cmake
-@@ -10,7 +10,7 @@ function(install_symlink name target outdir)
-     set(LINK_OR_COPY copy)
-   endif()
- 
--  set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/")
-+  set(bindir "${DESTDIR}${outdir}/")
- 
-   message(STATUS "Creating ${name}")
- 
-diff --git a/docs/CMake.rst b/docs/CMake.rst
-index a86ebb3a37bd..e720711e2b3c 100644
---- a/docs/CMake.rst
-+++ b/docs/CMake.rst
-@@ -196,7 +196,7 @@ CMake manual, or execute ``cmake --help-variable VARIABLE_NAME``.
- **LLVM_LIBDIR_SUFFIX**:STRING
-   Extra suffix to append to the directory where libraries are to be
-   installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64``
--  to install libraries to ``/usr/lib64``.
-+  to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``.
- 
- **CMAKE_C_FLAGS**:STRING
-   Extra flags to use when compiling C source files.
-@@ -516,8 +516,8 @@ LLVM-specific variables
- 
- **LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING
-   The path to install Doxygen-generated HTML documentation to. This path can
--  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
--  `share/doc/llvm/doxygen-html`.
-+  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
-+  `${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html`.
- 
- **LLVM_ENABLE_SPHINX**:BOOL
-   If specified, CMake will search for the ``sphinx-build`` executable and will make
-@@ -548,13 +548,33 @@ LLVM-specific variables
- 
- **LLVM_INSTALL_SPHINX_HTML_DIR**:STRING
-   The path to install Sphinx-generated HTML documentation to. This path can
--  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
--  `share/doc/llvm/html`.
-+  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
-+  `${CMAKE_INSTALL_DOCDIR}/${project}/html`.
- 
- **LLVM_INSTALL_OCAMLDOC_HTML_DIR**:STRING
-   The path to install OCamldoc-generated HTML documentation to. This path can
--  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
--  `share/doc/llvm/ocaml-html`.
-+  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
-+  `${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html`.
-+
-+**CMAKE_INSTALL_BINDIR**:STRING
-+  The path to install binary tools, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `bin`.
-+
-+**CMAKE_INSTALL_LIBDIR**:STRING
-+  The path to install libraries, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `lib`.
-+
-+**CMAKE_INSTALL_INCLUDEDIR**:STRING
-+  The path to install header files, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `include`.
-+
-+**CMAKE_INSTALL_DOCDIR**:STRING
-+  The path to install documentation, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `share/doc`.
-+
-+**CMAKE_INSTALL_MANDIR**:STRING
-+  The path to install manpage files, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `share/man`.
- 
- **LLVM_CREATE_XCODE_TOOLCHAIN**:BOOL
-   macOS Only: If enabled CMake will generate a target named
-@@ -740,9 +760,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``).
- 
- This file is available in two different locations.
- 
--* ``<INSTALL_PREFIX>/lib/cmake/llvm/LLVMConfig.cmake`` where
--  ``<INSTALL_PREFIX>`` is the install prefix of an installed version of LLVM.
--  On Linux typically this is ``/usr/lib/cmake/llvm/LLVMConfig.cmake``.
-+* ``<LLVM_INSTALL_PACKAGE_DIR>LLVMConfig.cmake`` where
-+  ``<LLVM_INSTALL_PACKAGE_DIR>`` is the location where LLVM CMake modules are
-+  installed as part of an installed version of LLVM. This is typically
-+  ``cmake/llvm/`` within the lib directory. On Linux, this is typically
-+  ``/usr/lib/cmake/llvm/LLVMConfig.cmake``.
- 
- * ``<LLVM_BUILD_ROOT>/lib/cmake/llvm/LLVMConfig.cmake`` where
-   ``<LLVM_BUILD_ROOT>`` is the root of the LLVM build tree. **Note: this is only
-diff --git a/examples/Bye/CMakeLists.txt b/examples/Bye/CMakeLists.txt
-index 3206f90d0916..1822965fc35f 100644
---- a/examples/Bye/CMakeLists.txt
-+++ b/examples/Bye/CMakeLists.txt
-@@ -9,5 +9,5 @@ add_llvm_pass_plugin(Bye
-   BUILDTREE_ONLY
-  )
- 
--install(TARGETS ${name} RUNTIME DESTINATION examples)
-+install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples)
- set_target_properties(${name} PROPERTIES FOLDER "Examples")
-diff --git a/include/llvm/CMakeLists.txt b/include/llvm/CMakeLists.txt
-index 1d5ca3ba92b0..026f5453c1da 100644
---- a/include/llvm/CMakeLists.txt
-+++ b/include/llvm/CMakeLists.txt
-@@ -4,5 +4,5 @@ add_subdirectory(Support)
- # If we're doing an out-of-tree build, copy a module map for generated
- # header files into the build area.
- if (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
--  configure_file(module.modulemap.build module.modulemap COPYONLY)
-+  configure_file(module.modulemap.build ${LLVM_INCLUDE_DIR}/module.modulemap COPYONLY)
- endif (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
-diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in
-index 63cef75368b7..6295478b1f3d 100644
---- a/tools/llvm-config/BuildVariables.inc.in
-+++ b/tools/llvm-config/BuildVariables.inc.in
-@@ -23,6 +23,10 @@
- #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@"
- #define LLVM_BUILDMODE "@LLVM_BUILDMODE@"
- #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@"
-+#define LLVM_INSTALL_BINDIR "@CMAKE_INSTALL_BINDIR@"
-+#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@"
-+#define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@"
-+#define LLVM_INSTALL_CMAKEDIR "@LLVM_INSTALL_CMAKE_DIR@"
- #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
- #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@"
- #define LLVM_BUILD_SYSTEM "@LLVM_BUILD_SYSTEM@"
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index fb12e29a36a8..dbb6c2b90332 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -358,12 +358,26 @@ int main(int argc, char **argv) {
-         ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
-   } else {
-     ActivePrefix = CurrentExecPrefix;
--    ActiveIncludeDir = ActivePrefix + "/include";
--    SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
--    sys::fs::make_absolute(ActivePrefix, path);
--    ActiveBinDir = path.str();
--    ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
--    ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_INCLUDEDIR));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveIncludeDir = std::string(path.str());
-+    }
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_BINDIR));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveBinDir = std::string(path.str());
-+    }
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveLibDir = std::string(path.str());
-+    }
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_CMAKEDIR));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveCMakeDir = std::string(path.str());
-+    }
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt
-index b86e4abd01a7..02ce5773f17d 100644
---- a/tools/lto/CMakeLists.txt
-+++ b/tools/lto/CMakeLists.txt
-@@ -23,7 +23,7 @@ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports)
- add_llvm_library(LTO SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES} DEPENDS intrinsics_gen)
- 
- install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
--  DESTINATION include/llvm-c
-+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c
-   COMPONENT LTO)
- 
- if (APPLE)
-diff --git a/tools/opt-viewer/CMakeLists.txt b/tools/opt-viewer/CMakeLists.txt
-index ead73ec13a8f..250362021f17 100644
---- a/tools/opt-viewer/CMakeLists.txt
-+++ b/tools/opt-viewer/CMakeLists.txt
-@@ -8,7 +8,7 @@ set (files
- 
- foreach (file ${files})
-   install(PROGRAMS ${file}
--    DESTINATION share/opt-viewer
-+    DESTINATION ${CMAKE_INSTALL_DATADIR}/opt-viewer
-     COMPONENT opt-viewer)
- endforeach (file)
- 
-diff --git a/tools/remarks-shlib/CMakeLists.txt b/tools/remarks-shlib/CMakeLists.txt
-index e948496c603a..1f4df8a98b10 100644
---- a/tools/remarks-shlib/CMakeLists.txt
-+++ b/tools/remarks-shlib/CMakeLists.txt
-@@ -11,7 +11,7 @@ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Remarks.exports)
- add_llvm_library(Remarks SHARED INSTALL_WITH_TOOLCHAIN ${SOURCES})
- 
- install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/Remarks.h
--  DESTINATION include/llvm-c
-+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c
-   COMPONENT Remarks)
- 
- if (APPLE)
diff --git a/pkgs/development/compilers/llvm/10/openmp/default.nix b/pkgs/development/compilers/llvm/10/openmp/default.nix
deleted file mode 100644
index 012f882e5871..000000000000
--- a/pkgs/development/compilers/llvm/10/openmp/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, stdenv
-, llvm_meta
-, fetch
-, cmake
-, llvm
-, targetLlvm
-, perl
-, version
-}:
-
-stdenv.mkDerivation rec {
-  pname = "openmp";
-  inherit version;
-
-  src = fetch pname "0i4bn84lkpm5w3qkpvwm5z6jdj8fynp7d3bcasa1xyq4is6757yi";
-
-  nativeBuildInputs = [ cmake perl ];
-  buildInputs = [
-    (if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
-  ];
-
-  meta = llvm_meta // {
-    homepage = "https://openmp.llvm.org/";
-    description = "Support for the OpenMP language";
-    longDescription = ''
-      The OpenMP subproject of LLVM contains the components required to build an
-      executable OpenMP program that are outside the compiler itself.
-      Contains the code for the runtime library against which code compiled by
-      "clang -fopenmp" must be linked before it can run and the library that
-      supports offload to target devices.
-    '';
-    # "All of the code is dual licensed under the MIT license and the UIUC
-    # License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-  };
-}
diff --git a/pkgs/development/compilers/llvm/8/clang/HIP-use-PATH-8.patch b/pkgs/development/compilers/llvm/8/clang/HIP-use-PATH-8.patch
deleted file mode 100644
index f4be100d1ab9..000000000000
--- a/pkgs/development/compilers/llvm/8/clang/HIP-use-PATH-8.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From d9f1b7d7571b252e0ba2359ae6cfa93a9903c0e7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Holger=20W=C3=BCnsche?= <holger.o.wuensche@t-online.de>
-Date: Tue, 21 Jan 2020 19:49:44 +0100
-Subject: [PATCH] [HIP] use GetProgramPath for executable discovery
-
-This change replaces the manual building of executable paths
-using llvm::sys::path::append with GetProgramPath.
-This enables adding other paths in case executables reside
-in different directories and makes the code easier to read.
-
-Differential Revision: https://reviews.llvm.org/D72903
----
- clang/lib/Driver/ToolChains/HIP.cpp | 23 ++++++++---------------
- 1 file changed, 8 insertions(+), 15 deletions(-)
-
-diff --git a/lib/Driver/ToolChains/HIP.cpp b/lang/lib/Driver/ToolChains/HIP.cpp
-index 868765cf88e..31f2d68ec6c 100644
---- a/lib/Driver/ToolChains/HIP.cpp
-+++ b/lib/Driver/ToolChains/HIP.cpp
-@@ -104,9 +104,8 @@ const char *AMDGCN::Linker::constructLLVMLinkCommand(
-   const char *OutputFileName =
-       C.addTempFile(C.getArgs().MakeArgString(TmpName));
-   CmdArgs.push_back(OutputFileName);
--  SmallString<128> ExecPath(C.getDriver().Dir);
--  llvm::sys::path::append(ExecPath, "llvm-link");
--  const char *Exec = Args.MakeArgString(ExecPath);
-+  const char *Exec =
-+      Args.MakeArgString(getToolChain().GetProgramPath("llvm-link"));
-   C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
-   return OutputFileName;
- }
-@@ -147,9 +146,8 @@ const char *AMDGCN::Linker::constructOptCommand(
-   const char *OutputFileName =
-       C.addTempFile(C.getArgs().MakeArgString(TmpFileName));
-   OptArgs.push_back(OutputFileName);
--  SmallString<128> OptPath(C.getDriver().Dir);
--  llvm::sys::path::append(OptPath, "opt");
--  const char *OptExec = Args.MakeArgString(OptPath);
-+  const char *OptExec =
-+      Args.MakeArgString(getToolChain().GetProgramPath("opt"));
-   C.addCommand(llvm::make_unique<Command>(JA, *this, OptExec, OptArgs, Inputs));
-   return OutputFileName;
- }
-@@ -167,9 +165,7 @@ const char *AMDGCN::Linker::constructLlcCommand(
-   const char *LlcOutputFile =
-       C.addTempFile(C.getArgs().MakeArgString(LlcOutputFileName));
-   LlcArgs.push_back(LlcOutputFile);
--  SmallString<128> LlcPath(C.getDriver().Dir);
--  llvm::sys::path::append(LlcPath, "llc");
--  const char *Llc = Args.MakeArgString(LlcPath);
-+  const char *Llc = Args.MakeArgString(getToolChain().GetProgramPath("llc"));
-   C.addCommand(llvm::make_unique<Command>(JA, *this, Llc, LlcArgs, Inputs));
-   return LlcOutputFile;
- }
-@@ -184,9 +180,7 @@ void AMDGCN::Linker::constructLldCommand(Compilation &C, const JobAction &JA,
-   ArgStringList LldArgs{"-flavor",    "gnu", "--no-undefined",
-                         "-shared",    "-o",  Output.getFilename(),
-                         InputFileName};
--  SmallString<128> LldPath(C.getDriver().Dir);
--  llvm::sys::path::append(LldPath, "lld");
--  const char *Lld = Args.MakeArgString(LldPath);
-+  const char *Lld = Args.MakeArgString(getToolChain().GetProgramPath("lld"));
-   C.addCommand(llvm::make_unique<Command>(JA, *this, Lld, LldArgs, Inputs));
- }
- 
-@@ -218,9 +212,8 @@ void AMDGCN::constructHIPFatbinCommand(Compilation &C, const JobAction &JA,
-       Args.MakeArgString(std::string("-outputs=").append(OutputFileName));
-   BundlerArgs.push_back(BundlerOutputArg);
- 
--  SmallString<128> BundlerPath(C.getDriver().Dir);
--  llvm::sys::path::append(BundlerPath, "clang-offload-bundler");
--  const char *Bundler = Args.MakeArgString(BundlerPath);
-+  const char *Bundler = Args.MakeArgString(
-+          T.getToolChain().GetProgramPath("clang-offload-bundler"));
-   C.addCommand(llvm::make_unique<Command>(JA, T, Bundler, BundlerArgs, Inputs));
- }
- 
--- 
-2.23.1
-
diff --git a/pkgs/development/compilers/llvm/8/clang/compiler-rt-baremetal.patch b/pkgs/development/compilers/llvm/8/clang/compiler-rt-baremetal.patch
deleted file mode 100644
index a4a0f21b0fcd..000000000000
--- a/pkgs/development/compilers/llvm/8/clang/compiler-rt-baremetal.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Index: lib/Driver/ToolChains/BareMetal.cpp
-===================================================================
---- a/lib/Driver/ToolChains/BareMetal.cpp
-+++ b/lib/Driver/ToolChains/BareMetal.cpp
-@@ -157,7 +157,7 @@
- void BareMetal::AddLinkRuntimeLib(const ArgList &Args,
-                                   ArgStringList &CmdArgs) const {
-   CmdArgs.push_back(Args.MakeArgString("-lclang_rt.builtins-" +
--                                       getTriple().getArchName() + ".a"));
-+                                       getTriple().getArchName()));
- }
- 
- void baremetal::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-Index: test/Driver/baremetal.cpp
-===================================================================
---- a/test/Driver/baremetal.cpp
-+++ b/test/Driver/baremetal.cpp
-@@ -13,7 +13,7 @@
- // CHECK-V6M-C-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
- // CHECK-V6M-C-SAME: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}baremetal"
- // CHECK-V6M-C-SAME: "-T" "semihosted.lds" "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
--// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
-+// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
- // CHECK-V6M-C-SAME: "-o" "{{.*}}.o"
- 
- // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-@@ -35,7 +35,7 @@
- // CHECK-V6M-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
- // CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
- // CHECK-V6M-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
--// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
-+// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
- // CHECK-V6M-DEFAULTCXX-SAME: "-o" "{{.*}}.o"
- 
- // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-@@ -48,7 +48,7 @@
- // CHECK-V6M-LIBCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
- // CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
- // CHECK-V6M-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
--// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
-+// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
- // CHECK-V6M-LIBCXX-SAME: "-o" "{{.*}}.o"
- 
- // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-@@ -61,7 +61,7 @@
- // CHECK-V6M-LIBSTDCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
- // CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
- // CHECK-V6M-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind"
--// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
-+// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
- // CHECK-V6M-LIBSTDCXX-SAME: "-o" "{{.*}}.o"
- 
- // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
diff --git a/pkgs/development/compilers/llvm/8/clang/default.nix b/pkgs/development/compilers/llvm/8/clang/default.nix
deleted file mode 100644
index 994f9bd967c4..000000000000
--- a/pkgs/development/compilers/llvm/8/clang/default.nix
+++ /dev/null
@@ -1,145 +0,0 @@
-{ lib, stdenv, llvm_meta, fetch, substituteAll, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3
-, buildLlvmTools
-, fixDarwinDylibNames
-, enableManpages ? false
-, enablePolly ? false # TODO: get this info from llvm (passthru?)
-}:
-
-let
-  self = stdenv.mkDerivation ({
-    pname = "clang";
-    inherit version;
-
-    src = fetch "cfe" "0ihnbdl058gvl2wdy45p5am55bq8ifx8m9mhcsgj9ax8yxlzvvvh";
-
-    unpackPhase = ''
-      unpackFile $src
-      mv cfe-${version}* clang
-      sourceRoot=$PWD/clang
-      unpackFile ${clang-tools-extra_src}
-      mv clang-tools-extra-* $sourceRoot/tools/extra
-    '';
-
-    nativeBuildInputs = [ cmake python3 ]
-      ++ lib.optional enableManpages python3.pkgs.sphinx
-      ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
-
-    buildInputs = [ libxml2 libllvm ];
-
-    cmakeFlags = [
-      "-DCMAKE_CXX_FLAGS=-std=c++11"
-      "-DCLANGD_BUILD_XPC=OFF"
-      "-DLLVM_ENABLE_RTTI=ON"
-    ] ++ lib.optionals enableManpages [
-      "-DCLANG_INCLUDE_DOCS=ON"
-      "-DLLVM_ENABLE_SPHINX=ON"
-      "-DSPHINX_OUTPUT_MAN=ON"
-      "-DSPHINX_OUTPUT_HTML=OFF"
-      "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-    ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-      "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
-      "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen"
-    ] ++ lib.optionals enablePolly [
-      "-DWITH_POLLY=ON"
-      "-DLINK_POLLY_INTO_TOOLS=ON"
-    ];
-
-    patches = [
-      ../../common/clang/5-8-purity.patch
-      ./xpc.patch
-      # Backport for -static-pie, which the latter touches, and which is nice in
-      # its own right.
-      ./static-pie.patch
-      # Backport for the `--unwindlib=[libgcc|compiler-rt]` flag, which is
-      # needed for our bootstrapping to not interfere with C.
-      ./unwindlib.patch
-      # https://reviews.llvm.org/D51899
-      ./compiler-rt-baremetal.patch
-      # make clang -xhip use $PATH to find executables
-      ./HIP-use-PATH-8.patch
-      ./gnu-install-dirs.patch
-      (substituteAll {
-        src = ../../clang-6-10-LLVMgold-path.patch;
-        libllvmLibdir = "${libllvm.lib}/lib";
-      })
-    ];
-
-    postPatch = ''
-      sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
-             -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
-             lib/Driver/ToolChains/*.cpp
-    '' + lib.optionalString stdenv.hostPlatform.isMusl ''
-      sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
-    '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
-      substituteInPlace tools/extra/clangd/CMakeLists.txt \
-        --replace "NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB" FALSE
-    '';
-
-    outputs = [ "out" "lib" "dev" "python" ];
-
-    postInstall = ''
-      ln -sv $out/bin/clang $out/bin/cpp
-
-      # Move libclang to 'lib' output
-      moveToOutput "lib/libclang.*" "$lib"
-      substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
-          --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang."
-
-      mkdir -p $python/bin $python/share/{clang,scan-view}
-      mv $out/bin/{git-clang-format,scan-view} $python/bin
-      if [ -e $out/bin/set-xcode-analyzer ]; then
-        mv $out/bin/set-xcode-analyzer $python/bin
-      fi
-      mv $out/share/clang/*.py $python/share/clang
-      mv $out/share/scan-view/*.py $python/share/scan-view
-      rm $out/bin/c-index-test
-      patchShebangs $python/bin
-
-      mkdir -p $dev/bin
-      cp bin/clang-tblgen $dev/bin
-    '';
-
-    passthru = {
-      inherit libllvm;
-      isClang = true;
-      hardeningUnsupportedFlags = [ "fortify3" ];
-    };
-
-    meta = llvm_meta // {
-      homepage = "https://clang.llvm.org/";
-      description = "A C language family frontend for LLVM";
-      longDescription = ''
-        The Clang project provides a language front-end and tooling
-        infrastructure for languages in the C language family (C, C++, Objective
-        C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project.
-        It aims to deliver amazingly fast compiles, extremely useful error and
-        warning messages and to provide a platform for building great source
-        level tools. The Clang Static Analyzer and clang-tidy are tools that
-        automatically find bugs in your code, and are great examples of the sort
-        of tools that can be built using the Clang frontend as a library to
-        parse C/C++ code.
-      '';
-      mainProgram = "clang";
-    };
-  } // lib.optionalAttrs enableManpages {
-    pname = "clang-manpages";
-
-    buildPhase = ''
-      make docs-clang-man
-    '';
-
-    installPhase = ''
-      mkdir -p $out/share/man/man1
-      # Manually install clang manpage
-      cp docs/man/*.1 $out/share/man/man1/
-    '';
-
-    outputs = [ "out" ];
-
-    doCheck = false;
-
-    meta = llvm_meta // {
-      description = "man page for Clang ${version}";
-    };
-  });
-in self
diff --git a/pkgs/development/compilers/llvm/8/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/8/clang/gnu-install-dirs.patch
deleted file mode 100644
index e4b9c3f8ddd6..000000000000
--- a/pkgs/development/compilers/llvm/8/clang/gnu-install-dirs.patch
+++ /dev/null
@@ -1,290 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c2016a45ca6b..9224797da0b5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -9,6 +9,8 @@ endif()
- if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
-   project(Clang)
- 
-+  include(GNUInstallDirs)
-+
-   # Rely on llvm-config.
-   set(CONFIG_OUTPUT)
-   if(LLVM_CONFIG)
-@@ -382,7 +384,7 @@ include_directories(BEFORE
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/clang include/clang-c
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.def"
-     PATTERN "*.h"
-@@ -391,7 +393,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     )
- 
-   install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/clang
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "CMakeFiles" EXCLUDE
-     PATTERN "*.inc"
-@@ -399,7 +401,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     )
- 
-   install(PROGRAMS utils/bash-autocomplete.sh
--    DESTINATION share/clang
-+    DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-     )
- endif()
- 
-diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake
-index 7e22f16f365b..3c0c1d245969 100644
---- a/cmake/modules/AddClang.cmake
-+++ b/cmake/modules/AddClang.cmake
-@@ -99,9 +99,9 @@ macro(add_clang_library name)
-       install(TARGETS ${name}
-         COMPONENT ${name}
-         ${export_to_clangtargets}
--        LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--        ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--        RUNTIME DESTINATION bin)
-+        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
-       if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
-         add_llvm_install_targets(install-${name}
-@@ -142,7 +142,7 @@ macro(add_clang_tool name)
- 
-     install(TARGETS ${name}
-       ${export_to_clangtargets}
--      RUNTIME DESTINATION bin
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-       COMPONENT ${name})
- 
-     if(NOT CMAKE_CONFIGURATION_TYPES)
-@@ -157,5 +157,5 @@ endmacro()
- macro(add_clang_symlink name dest)
-   add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
-   # Always generate install targets
--  llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
-+  llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE)
- endmacro()
-diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt
-index e444c9c8706f..f8e4d06366a4 100644
---- a/lib/Headers/CMakeLists.txt
-+++ b/lib/Headers/CMakeLists.txt
-@@ -164,19 +164,19 @@ install(
-   FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
-   COMPONENT clang-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
-+  DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
- 
- install(
-   FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_fp16.h
-   COMPONENT clang-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
-+  DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
- 
- install(
-   FILES ${cuda_wrapper_files}
-   COMPONENT clang-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers)
-+  DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include/cuda_wrappers)
- 
- if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's.
-   add_llvm_install_targets(install-clang-headers
-diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt
-index 53e3421f1b35..79ae5bb4c399 100644
---- a/tools/c-index-test/CMakeLists.txt
-+++ b/tools/c-index-test/CMakeLists.txt
-@@ -54,7 +54,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH
-        "@executable_path/../../lib")
-   else()
--    set(INSTALL_DESTINATION bin)
-+    set(INSTALL_DESTINATION ${CMAKE_INSTALL_BINDIR})
-   endif()
- 
-   install(TARGETS c-index-test
-diff --git a/tools/clang-check/CMakeLists.txt b/tools/clang-check/CMakeLists.txt
-index b837b0a0a5d9..9e30bd5780a5 100644
---- a/tools/clang-check/CMakeLists.txt
-+++ b/tools/clang-check/CMakeLists.txt
-@@ -21,4 +21,4 @@ target_link_libraries(clang-check
-   )
- 
- install(TARGETS clang-check
--  RUNTIME DESTINATION bin)
-+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-diff --git a/tools/clang-extdef-mapping/CMakeLists.txt b/tools/clang-extdef-mapping/CMakeLists.txt
-index 6c81689a831a..dacc14737719 100644
---- a/tools/clang-extdef-mapping/CMakeLists.txt
-+++ b/tools/clang-extdef-mapping/CMakeLists.txt
-@@ -18,4 +18,4 @@ target_link_libraries(clang-extdef-mapping
-   )
- 
- install(TARGETS clang-extdef-mapping
--  RUNTIME DESTINATION bin)
-+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-diff --git a/tools/clang-format/CMakeLists.txt b/tools/clang-format/CMakeLists.txt
-index a295e8cd0b2a..1973ff82c7f6 100644
---- a/tools/clang-format/CMakeLists.txt
-+++ b/tools/clang-format/CMakeLists.txt
-@@ -21,20 +21,20 @@ if( LLVM_LIB_FUZZING_ENGINE OR LLVM_USE_SANITIZE_COVERAGE )
- endif()
- 
- install(PROGRAMS clang-format-bbedit.applescript
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format-diff.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format-sublime.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format.el
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS clang-format.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-format)
- install(PROGRAMS git-clang-format
--  DESTINATION bin
-+  DESTINATION ${CMAKE_INSTALL_BINDIR}
-   COMPONENT clang-format)
-diff --git a/tools/clang-offload-bundler/CMakeLists.txt b/tools/clang-offload-bundler/CMakeLists.txt
-index 8718015be76a..7a038f39622e 100644
---- a/tools/clang-offload-bundler/CMakeLists.txt
-+++ b/tools/clang-offload-bundler/CMakeLists.txt
-@@ -22,4 +22,4 @@ target_link_libraries(clang-offload-bundler
-   ${CLANG_OFFLOAD_BUNDLER_LIB_DEPS}
-   )
- 
--install(TARGETS clang-offload-bundler RUNTIME DESTINATION bin)
-+install(TARGETS clang-offload-bundler RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-diff --git a/tools/clang-rename/CMakeLists.txt b/tools/clang-rename/CMakeLists.txt
-index 45cbd763425c..f534e022024a 100644
---- a/tools/clang-rename/CMakeLists.txt
-+++ b/tools/clang-rename/CMakeLists.txt
-@@ -19,8 +19,8 @@ target_link_libraries(clang-rename
-   )
- 
- install(PROGRAMS clang-rename.py
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-rename)
- install(PROGRAMS clang-rename.el
--  DESTINATION share/clang
-+  DESTINATION ${CMAKE_INSTALL_DATADIR}/clang
-   COMPONENT clang-rename)
-diff --git a/tools/diagtool/CMakeLists.txt b/tools/diagtool/CMakeLists.txt
-index 96d1c390249c..41c762b37b76 100644
---- a/tools/diagtool/CMakeLists.txt
-+++ b/tools/diagtool/CMakeLists.txt
-@@ -21,7 +21,7 @@ target_link_libraries(diagtool
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(TARGETS diagtool
-     COMPONENT diagtool
--    RUNTIME DESTINATION bin)
-+    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
-   if (NOT CMAKE_CONFIGURATION_TYPES)
-     add_llvm_install_targets(install-diagtool
-diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt
-index 32333b011ad1..258dfb2d520c 100644
---- a/tools/libclang/CMakeLists.txt
-+++ b/tools/libclang/CMakeLists.txt
-@@ -131,7 +131,7 @@ endif()
- if(INTERNAL_INSTALL_PREFIX)
-   set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include")
- else()
--  set(LIBCLANG_HEADERS_INSTALL_DESTINATION include)
-+  set(LIBCLANG_HEADERS_INSTALL_DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- endif()
- 
- install(DIRECTORY ../../include/clang-c
-@@ -162,7 +162,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS})
-           COMPONENT
-             libclang-python-bindings
-           DESTINATION
--            "lib${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages")
-+            "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages")
- endforeach()
- if(NOT CMAKE_CONFIGURATION_TYPES)
-   add_custom_target(libclang-python-bindings)
-diff --git a/tools/scan-build/CMakeLists.txt b/tools/scan-build/CMakeLists.txt
-index 380379300b09..adfd58ed5f7d 100644
---- a/tools/scan-build/CMakeLists.txt
-+++ b/tools/scan-build/CMakeLists.txt
-@@ -41,7 +41,7 @@ if(CLANG_INSTALL_SCANBUILD)
-                          ${CMAKE_BINARY_DIR}/bin/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
--    install(PROGRAMS bin/${BinFile} DESTINATION bin)
-+    install(PROGRAMS bin/${BinFile} DESTINATION ${CMAKE_INSTALL_BINDIR})
-   endforeach()
- 
-   foreach(LibexecFile ${LibexecFiles})
-@@ -53,7 +53,7 @@ if(CLANG_INSTALL_SCANBUILD)
-                          ${CMAKE_BINARY_DIR}/libexec/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile})
--    install(PROGRAMS libexec/${LibexecFile} DESTINATION libexec)
-+    install(PROGRAMS libexec/${LibexecFile} DESTINATION ${CMAKE_INSTALL_LIBEXECDIR})
-   endforeach()
- 
-   foreach(ManPage ${ManPages})
-@@ -77,7 +77,7 @@ if(CLANG_INSTALL_SCANBUILD)
-                          ${CMAKE_BINARY_DIR}/share/scan-build/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile})
--    install(FILES share/scan-build/${ShareFile} DESTINATION share/scan-build)
-+    install(FILES share/scan-build/${ShareFile} DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-build)
-   endforeach()
- 
-   add_custom_target(scan-build ALL DEPENDS ${Depends})
-diff --git a/tools/scan-view/CMakeLists.txt b/tools/scan-view/CMakeLists.txt
-index b305ca562a72..554bcb379061 100644
---- a/tools/scan-view/CMakeLists.txt
-+++ b/tools/scan-view/CMakeLists.txt
-@@ -21,7 +21,7 @@ if(CLANG_INSTALL_SCANVIEW)
-                          ${CMAKE_BINARY_DIR}/bin/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
--    install(PROGRAMS bin/${BinFile} DESTINATION bin)
-+    install(PROGRAMS bin/${BinFile} DESTINATION ${CMAKE_INSTALL_BINDIR})
-   endforeach()
- 
-   foreach(ShareFile ${ShareFiles})
-@@ -33,7 +33,7 @@ if(CLANG_INSTALL_SCANVIEW)
-                          ${CMAKE_BINARY_DIR}/share/scan-view/
-                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile})
-     list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile})
--    install(FILES share/${ShareFile} DESTINATION share/scan-view)
-+    install(FILES share/${ShareFile} DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-view)
-   endforeach()
- 
-   add_custom_target(scan-view ALL DEPENDS ${Depends})
-diff --git a/utils/hmaptool/CMakeLists.txt b/utils/hmaptool/CMakeLists.txt
-index 5573009d343a..24b3a90f233f 100644
---- a/utils/hmaptool/CMakeLists.txt
-+++ b/utils/hmaptool/CMakeLists.txt
-@@ -9,7 +9,7 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HM
-                    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${CLANG_HMAPTOOL})
- 
- list(APPEND Depends ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HMAPTOOL})
--install(PROGRAMS ${CLANG_HMAPTOOL} DESTINATION bin)
-+install(PROGRAMS ${CLANG_HMAPTOOL} DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
- add_custom_target(hmaptool ALL DEPENDS ${Depends})
- set_target_properties(hmaptool PROPERTIES FOLDER "Utils")
diff --git a/pkgs/development/compilers/llvm/8/clang/static-pie.patch b/pkgs/development/compilers/llvm/8/clang/static-pie.patch
deleted file mode 100644
index d1f86a162327..000000000000
--- a/pkgs/development/compilers/llvm/8/clang/static-pie.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-commit 7a9842bc92921e79b84630045276861be90b2d47
-Author: Siva Chandra <sivachandra@google.com>
-Date:   Wed Feb 20 19:07:04 2019 +0000
-
-    [Clang Driver] Add support for "-static-pie" argument to the Clang driver.
-    
-    Summary: This change mimics GCC's support for the "-static-pie" argument.
-    
-    Subscribers: cfe-commits
-    
-    Tags: #clang
-    
-    Differential Revision: https://reviews.llvm.org/D58307
-    
-    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@354502 91177308-0d34-0410-b5e6-96231b3b80d8
-    (cherry picked from commit 7d6cd7825e6883f8650e32b07f3750824c2cef62)
-
-diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td
-index d02d9744d7..75a21e66c7 100644
---- a/include/clang/Driver/Options.td
-+++ b/include/clang/Driver/Options.td
-@@ -2502,6 +2502,7 @@ def pthread : Flag<["-"], "pthread">, Flags<[CC1Option]>,
- def no_pthread : Flag<["-"], "no-pthread">, Flags<[CC1Option]>;
- def p : Flag<["-"], "p">;
- def pie : Flag<["-"], "pie">;
-+def static_pie : Flag<["-"], "static-pie">;
- def read__only__relocs : Separate<["-"], "read_only_relocs">;
- def remap : Flag<["-"], "remap">;
- def rewrite_objc : Flag<["-"], "rewrite-objc">, Flags<[DriverOption,CC1Option]>,
-diff --git a/lib/Driver/ToolChains/CommonArgs.cpp b/lib/Driver/ToolChains/CommonArgs.cpp
-index d7e316befa..85ffc1618d 100644
---- a/lib/Driver/ToolChains/CommonArgs.cpp
-+++ b/lib/Driver/ToolChains/CommonArgs.cpp
-@@ -1138,19 +1138,22 @@ static void AddLibgcc(const llvm::Triple &Triple, const Driver &D,
-   bool isCygMing = Triple.isOSCygMing();
-   bool IsIAMCU = Triple.isOSIAMCU();
-   bool StaticLibgcc = Args.hasArg(options::OPT_static_libgcc) ||
--                      Args.hasArg(options::OPT_static);
-+                      Args.hasArg(options::OPT_static) ||
-+                      Args.hasArg(options::OPT_static_pie);
- 
-   bool SharedLibgcc = Args.hasArg(options::OPT_shared_libgcc);
-   bool UnspecifiedLibgcc = !StaticLibgcc && !SharedLibgcc;
- 
-   // Gcc adds libgcc arguments in various ways:
-   //
--  // gcc <none>: -lgcc --as-needed -lgcc_s --no-as-needed
--  // g++ <none>:                   -lgcc_s               -lgcc
--  // gcc shared:                   -lgcc_s               -lgcc
--  // g++ shared:                   -lgcc_s               -lgcc
--  // gcc static: -lgcc             -lgcc_eh
--  // g++ static: -lgcc             -lgcc_eh
-+  // gcc <none>:     -lgcc --as-needed -lgcc_s --no-as-needed
-+  // g++ <none>:                       -lgcc_s               -lgcc
-+  // gcc shared:                       -lgcc_s               -lgcc
-+  // g++ shared:                       -lgcc_s               -lgcc
-+  // gcc static:     -lgcc             -lgcc_eh
-+  // g++ static:     -lgcc             -lgcc_eh
-+  // gcc static-pie: -lgcc             -lgcc_eh
-+  // g++ static-pie: -lgcc             -lgcc_eh
-   //
-   // Also, certain targets need additional adjustments.
- 
-diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
-index 69dba8fec8..0faa0bb473 100644
---- a/lib/Driver/ToolChains/Gnu.cpp
-+++ b/lib/Driver/ToolChains/Gnu.cpp
-@@ -334,6 +334,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-   const bool isAndroid = ToolChain.getTriple().isAndroid();
-   const bool IsIAMCU = ToolChain.getTriple().isOSIAMCU();
-   const bool IsPIE = getPIE(Args, ToolChain);
-+  const bool IsStaticPIE = Args.hasArg(options::OPT_static_pie);
-   const bool HasCRTBeginEndFiles =
-       ToolChain.getTriple().hasEnvironment() ||
-       (ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies);
-@@ -354,6 +355,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-   if (IsPIE)
-     CmdArgs.push_back("-pie");
- 
-+  if (IsStaticPIE) {
-+    CmdArgs.push_back("-static");
-+    CmdArgs.push_back("-pie");
-+    CmdArgs.push_back("--no-dynamic-linker");
-+  }
-+
-   if (Args.hasArg(options::OPT_rdynamic))
-     CmdArgs.push_back("-export-dynamic");
- 
-@@ -415,6 +422,8 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-           crt1 = "gcrt1.o";
-         else if (IsPIE)
-           crt1 = "Scrt1.o";
-+        else if (IsStaticPIE)
-+          crt1 = "rcrt1.o";
-         else
-           crt1 = "crt1.o";
-       }
-@@ -432,7 +441,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-         crtbegin = isAndroid ? "crtbegin_static.o" : "crtbeginT.o";
-       else if (Args.hasArg(options::OPT_shared))
-         crtbegin = isAndroid ? "crtbegin_so.o" : "crtbeginS.o";
--      else if (IsPIE)
-+      else if (IsPIE || IsStaticPIE)
-         crtbegin = isAndroid ? "crtbegin_dynamic.o" : "crtbeginS.o";
-       else
-         crtbegin = isAndroid ? "crtbegin_dynamic.o" : "crtbegin.o";
-@@ -483,7 +492,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
- 
-   if (!Args.hasArg(options::OPT_nostdlib)) {
-     if (!Args.hasArg(options::OPT_nodefaultlibs)) {
--      if (Args.hasArg(options::OPT_static))
-+      if (Args.hasArg(options::OPT_static) || IsStaticPIE)
-         CmdArgs.push_back("--start-group");
- 
-       if (NeedsSanitizerDeps)
-@@ -518,7 +527,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-       if (IsIAMCU)
-         CmdArgs.push_back("-lgloss");
- 
--      if (Args.hasArg(options::OPT_static))
-+      if (Args.hasArg(options::OPT_static) || IsStaticPIE)
-         CmdArgs.push_back("--end-group");
-       else
-         AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
-@@ -535,7 +544,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-       const char *crtend;
-       if (Args.hasArg(options::OPT_shared))
-         crtend = isAndroid ? "crtend_so.o" : "crtendS.o";
--      else if (IsPIE)
-+      else if (IsPIE || IsStaticPIE)
-         crtend = isAndroid ? "crtend_android.o" : "crtendS.o";
-       else
-         crtend = isAndroid ? "crtend_android.o" : "crtend.o";
-diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c
-index 3ab81be490..800f782523 100644
---- a/test/Driver/linux-ld.c
-+++ b/test/Driver/linux-ld.c
-@@ -176,6 +176,19 @@
- // CHECK-CLANG-NO-LIBGCC-STATIC: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
- // CHECK-CLANG-NO-LIBGCC-STATIC: "--start-group" "-lgcc" "-lgcc_eh" "-lc" "--end-group"
- //
-+// RUN: %clang -static-pie -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=platform \
-+// RUN:     --gcc-toolchain="" \
-+// RUN:     --sysroot=%S/Inputs/basic_linux_tree \
-+// RUN:   | FileCheck --check-prefix=CHECK-CLANG-LD-STATIC-PIE %s
-+// CHECK-CLANG-LD-STATIC-PIE: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
-+// CHECK-CLANG-LD-STATIC-PIE: "-static"
-+// CHECK-CLANG-LD-STATIC-PIE: "-pie"
-+// CHECK-CLANG-LD-STATIC-PIE: "--no-dynamic-linker"
-+// CHECK-CLANG-LD-STATIC-PIE: "-m" "elf_x86_64"
-+// CHECK-CLANG-LD-STATIC-PIE: "{{.*}}rcrt1.o"
-+// CHECK-CLANG-LD-STATIC-PIE: "--start-group" "-lgcc" "-lgcc_eh" "-lc" "--end-group"
-+//
- // RUN: %clang -dynamic -no-canonical-prefixes %s -### -o %t.o 2>&1 \
- // RUN:     --target=x86_64-unknown-linux -rtlib=platform \
- // RUN:     --gcc-toolchain="" \
diff --git a/pkgs/development/compilers/llvm/8/clang/unwindlib.patch b/pkgs/development/compilers/llvm/8/clang/unwindlib.patch
deleted file mode 100644
index 6958fce60cef..000000000000
--- a/pkgs/development/compilers/llvm/8/clang/unwindlib.patch
+++ /dev/null
@@ -1,372 +0,0 @@
-commit cd5603a4767277a29d3e67a9c3f2a5d2129cd973
-Author: Sterling Augustine <saugustine@google.com>
-Date:   Tue Mar 19 20:01:59 2019 +0000
-
-    Add --unwindlib=[libgcc|compiler-rt] to parallel --rtlib= [take 2]
-    
-    "clang++ hello.cc --rtlib=compiler-rt"
-    
-    now can works without specifying additional unwind or exception
-    handling libraries.
-    
-    This reworked version of the feature no longer modifies today's default
-    unwind library for compiler-rt: which is nothing. Rather, a user
-    can specify -DCLANG_DEFAULT_UNWINDLIB=libunwind when configuring
-    the compiler.
-    
-    This should address the issues from the previous version.
-    
-    Update tests for new --unwindlib semantics.
-    
-    Differential Revision: https://reviews.llvm.org/D59109
-    
-    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@356508 91177308-0d34-0410-b5e6-96231b3b80d8
-    (cherry picked from commit 344aa82a52f2fae527f58284567ae305a314f7a8)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c2016a45ca..edeb2b66a1 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -261,6 +261,24 @@ if (NOT(CLANG_DEFAULT_RTLIB STREQUAL "" OR
-     "Default runtime library to use (\"libgcc\" or \"compiler-rt\", empty for platform default)" FORCE)
- endif()
- 
-+set(CLANG_DEFAULT_UNWINDLIB "" CACHE STRING
-+  "Default unwind library to use (\"none\" \"libgcc\" or \"libunwind\", empty to match runtime library.)")
-+if (CLANG_DEFAULT_UNWINDLIB STREQUAL "")
-+  if (CLANG_DEFAULT_RTLIB STREQUAL "libgcc")
-+    set (CLANG_DEFAULT_UNWINDLIB "libgcc" CACHE STRING "" FORCE)
-+  elseif (CLANG_DEFAULT_RTLIBS STREQUAL "libunwind")
-+    set (CLANG_DEFAULT_UNWINDLIB "none" CACHE STRING "" FORCE)
-+  endif()
-+endif()
-+
-+if (NOT(CLANG_DEFAULT_UNWINDLIB STREQUAL "none" OR
-+        CLANG_DEFAULT_UNWINDLIB STREQUAL "libgcc" OR
-+        CLANG_DEFAULT_UNWINDLIB STREQUAL "libunwind"))
-+  message(WARNING "Resetting default unwindlib to use platform default")
-+  set(CLANG_DEFAULT_UNWINDLIB "" CACHE STRING
-+    "Default unwind library to use (\"none\" \"libgcc\" or \"libunwind\", empty for none)" FORCE)
-+endif()
-+
- set(CLANG_DEFAULT_OBJCOPY "objcopy" CACHE STRING
-   "Default objcopy executable to use.")
- 
-diff --git a/include/clang/Basic/DiagnosticDriverKinds.td b/include/clang/Basic/DiagnosticDriverKinds.td
-index 5475e28ed7..15971210e4 100644
---- a/include/clang/Basic/DiagnosticDriverKinds.td
-+++ b/include/clang/Basic/DiagnosticDriverKinds.td
-@@ -52,6 +52,10 @@ def err_drv_invalid_rtlib_name : Error<
-   "invalid runtime library name in argument '%0'">;
- def err_drv_unsupported_rtlib_for_platform : Error<
-   "unsupported runtime library '%0' for platform '%1'">;
-+def err_drv_invalid_unwindlib_name : Error<
-+  "invalid unwind library name in argument '%0'">;
-+def err_drv_incompatible_unwindlib : Error<
-+  "--rtlib=libgcc requires --unwindlib=libgcc">;
- def err_drv_invalid_stdlib_name : Error<
-   "invalid library name in argument '%0'">;
- def err_drv_invalid_output_with_multiple_archs : Error<
-diff --git a/include/clang/Config/config.h.cmake b/include/clang/Config/config.h.cmake
-index 1d624450b9..2d4cb747e8 100644
---- a/include/clang/Config/config.h.cmake
-+++ b/include/clang/Config/config.h.cmake
-@@ -23,6 +23,9 @@
- /* Default runtime library to use. */
- #define CLANG_DEFAULT_RTLIB "${CLANG_DEFAULT_RTLIB}"
- 
-+/* Default unwind library to use. */
-+#define CLANG_DEFAULT_UNWINDLIB "${CLANG_DEFAULT_UNWINDLIB}"
-+
- /* Default objcopy to use */
- #define CLANG_DEFAULT_OBJCOPY "${CLANG_DEFAULT_OBJCOPY}"
- 
-diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td
-index 75a21e66c7..4da0e54965 100644
---- a/include/clang/Driver/Options.td
-+++ b/include/clang/Driver/Options.td
-@@ -2570,6 +2570,8 @@ def std_EQ : Joined<["-", "--"], "std=">, Flags<[CC1Option]>,
-   }]>;
- def stdlib_EQ : Joined<["-", "--"], "stdlib=">, Flags<[CC1Option]>,
-   HelpText<"C++ standard library to use">, Values<"libc++,libstdc++,platform">;
-+def unwindlib_EQ : Joined<["-", "--"], "unwindlib=">, Flags<[CC1Option]>,
-+  HelpText<"Unwind library to use">, Values<"libgcc,unwindlib,platform">;
- def sub__library : JoinedOrSeparate<["-"], "sub_library">;
- def sub__umbrella : JoinedOrSeparate<["-"], "sub_umbrella">;
- def system_header_prefix : Joined<["--"], "system-header-prefix=">,
-diff --git a/include/clang/Driver/ToolChain.h b/include/clang/Driver/ToolChain.h
-index d5f75b8271..4bedf760eb 100644
---- a/include/clang/Driver/ToolChain.h
-+++ b/include/clang/Driver/ToolChain.h
-@@ -100,6 +100,12 @@ public:
-     RLT_Libgcc
-   };
- 
-+  enum UnwindLibType {
-+    UNW_None,
-+    UNW_CompilerRT,
-+    UNW_Libgcc
-+  };
-+
-   enum RTTIMode {
-     RM_Enabled,
-     RM_Disabled,
-@@ -368,6 +374,10 @@ public:
-     return ToolChain::CST_Libstdcxx;
-   }
- 
-+  virtual UnwindLibType GetDefaultUnwindLibType() const {
-+    return ToolChain::UNW_None;
-+  }
-+
-   virtual std::string getCompilerRTPath() const;
- 
-   virtual std::string getCompilerRT(const llvm::opt::ArgList &Args,
-@@ -512,6 +522,10 @@ public:
-   // given compilation arguments.
-   virtual CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const;
- 
-+  // GetUnwindLibType - Determine the unwind library type to use with the
-+  // given compilation arguments.
-+  virtual UnwindLibType GetUnwindLibType(const llvm::opt::ArgList &Args) const;
-+
-   /// AddClangCXXStdlibIncludeArgs - Add the clang -cc1 level arguments to set
-   /// the include paths to use for the given C++ standard library type.
-   virtual void
-diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp
-index 88a627eab6..d82423f4a8 100644
---- a/lib/Driver/ToolChain.cpp
-+++ b/lib/Driver/ToolChain.cpp
-@@ -680,6 +680,33 @@ ToolChain::RuntimeLibType ToolChain::GetRuntimeLibType(
-   return GetDefaultRuntimeLibType();
- }
- 
-+ToolChain::UnwindLibType ToolChain::GetUnwindLibType(
-+    const ArgList &Args) const {
-+  const Arg *A = Args.getLastArg(options::OPT_unwindlib_EQ);
-+  StringRef LibName = A ? A->getValue() : CLANG_DEFAULT_UNWINDLIB;
-+
-+  if (LibName == "none")
-+    return ToolChain::UNW_None;
-+  else if (LibName == "platform" || LibName == "") {
-+    ToolChain::RuntimeLibType RtLibType = GetRuntimeLibType(Args);
-+    if (RtLibType == ToolChain::RLT_CompilerRT)
-+      return ToolChain::UNW_None;
-+    else if (RtLibType == ToolChain::RLT_Libgcc)
-+      return ToolChain::UNW_Libgcc;
-+  } else if (LibName == "libunwind") {
-+    if (GetRuntimeLibType(Args) == RLT_Libgcc)
-+      getDriver().Diag(diag::err_drv_incompatible_unwindlib);
-+    return ToolChain::UNW_CompilerRT;
-+  } else if (LibName == "libgcc")
-+    return ToolChain::UNW_Libgcc;
-+
-+  if (A)
-+    getDriver().Diag(diag::err_drv_invalid_unwindlib_name)
-+        << A->getAsString(Args);
-+
-+  return GetDefaultUnwindLibType();
-+}
-+
- ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
-   const Arg *A = Args.getLastArg(options::OPT_stdlib_EQ);
-   StringRef LibName = A ? A->getValue() : CLANG_DEFAULT_CXX_STDLIB;
-diff --git a/lib/Driver/ToolChains/CommonArgs.cpp b/lib/Driver/ToolChains/CommonArgs.cpp
-index 85ffc1618d..9fd29726a4 100644
---- a/lib/Driver/ToolChains/CommonArgs.cpp
-+++ b/lib/Driver/ToolChains/CommonArgs.cpp
-@@ -1132,47 +1132,80 @@ bool tools::isObjCAutoRefCount(const ArgList &Args) {
-   return Args.hasFlag(options::OPT_fobjc_arc, options::OPT_fno_objc_arc, false);
- }
- 
--static void AddLibgcc(const llvm::Triple &Triple, const Driver &D,
--                      ArgStringList &CmdArgs, const ArgList &Args) {
--  bool isAndroid = Triple.isAndroid();
--  bool isCygMing = Triple.isOSCygMing();
--  bool IsIAMCU = Triple.isOSIAMCU();
--  bool StaticLibgcc = Args.hasArg(options::OPT_static_libgcc) ||
--                      Args.hasArg(options::OPT_static) ||
--                      Args.hasArg(options::OPT_static_pie);
--
--  bool SharedLibgcc = Args.hasArg(options::OPT_shared_libgcc);
--  bool UnspecifiedLibgcc = !StaticLibgcc && !SharedLibgcc;
--
--  // Gcc adds libgcc arguments in various ways:
--  //
--  // gcc <none>:     -lgcc --as-needed -lgcc_s --no-as-needed
--  // g++ <none>:                       -lgcc_s               -lgcc
--  // gcc shared:                       -lgcc_s               -lgcc
--  // g++ shared:                       -lgcc_s               -lgcc
--  // gcc static:     -lgcc             -lgcc_eh
--  // g++ static:     -lgcc             -lgcc_eh
--  // gcc static-pie: -lgcc             -lgcc_eh
--  // g++ static-pie: -lgcc             -lgcc_eh
--  //
--  // Also, certain targets need additional adjustments.
-+enum class LibGccType { UnspecifiedLibGcc, StaticLibGcc, SharedLibGcc };
-+
-+static LibGccType getLibGccType(const ArgList &Args) {
-+  bool Static = Args.hasArg(options::OPT_static_libgcc) ||
-+                Args.hasArg(options::OPT_static) ||
-+                Args.hasArg(options::OPT_static_pie);
-+
-+  bool Shared = Args.hasArg(options::OPT_shared_libgcc);
-+  if (Shared)
-+    return LibGccType::SharedLibGcc;
-+  if (Static)
-+    return LibGccType::StaticLibGcc;
-+  return LibGccType::UnspecifiedLibGcc;
-+}
- 
--  bool LibGccFirst = (D.CCCIsCC() && UnspecifiedLibgcc) || StaticLibgcc;
--  if (LibGccFirst)
--    CmdArgs.push_back("-lgcc");
-+// Gcc adds libgcc arguments in various ways:
-+//
-+// gcc <none>:     -lgcc --as-needed -lgcc_s --no-as-needed
-+// g++ <none>:                       -lgcc_s               -lgcc
-+// gcc shared:                       -lgcc_s               -lgcc
-+// g++ shared:                       -lgcc_s               -lgcc
-+// gcc static:     -lgcc             -lgcc_eh
-+// g++ static:     -lgcc             -lgcc_eh
-+// gcc static-pie: -lgcc             -lgcc_eh
-+// g++ static-pie: -lgcc             -lgcc_eh
-+//
-+// Also, certain targets need additional adjustments.
-+
-+static void AddUnwindLibrary(const ToolChain &TC, const Driver &D,
-+                             ArgStringList &CmdArgs, const ArgList &Args) {
-+  ToolChain::UnwindLibType UNW = TC.GetUnwindLibType(Args);
-+  // Targets that don't use unwind libraries.
-+  if (TC.getTriple().isAndroid() || TC.getTriple().isOSIAMCU() ||
-+      TC.getTriple().isOSBinFormatWasm() ||
-+      UNW == ToolChain::UNW_None)
-+    return;
- 
--  bool AsNeeded = D.CCCIsCC() && UnspecifiedLibgcc && !isAndroid && !isCygMing;
-+  LibGccType LGT = getLibGccType(Args);
-+  bool AsNeeded = D.CCCIsCC() && LGT == LibGccType::UnspecifiedLibGcc &&
-+                  !TC.getTriple().isAndroid() && !TC.getTriple().isOSCygMing();
-   if (AsNeeded)
-     CmdArgs.push_back("--as-needed");
- 
--  if ((UnspecifiedLibgcc || SharedLibgcc) && !isAndroid)
--    CmdArgs.push_back("-lgcc_s");
--
--  else if (StaticLibgcc && !isAndroid && !IsIAMCU)
--    CmdArgs.push_back("-lgcc_eh");
-+  switch (UNW) {
-+  case ToolChain::UNW_None:
-+    return;
-+  case ToolChain::UNW_Libgcc: {
-+    LibGccType LGT = getLibGccType(Args);
-+    if (LGT == LibGccType::UnspecifiedLibGcc || LGT == LibGccType::SharedLibGcc)
-+      CmdArgs.push_back("-lgcc_s");
-+    else if (LGT == LibGccType::StaticLibGcc)
-+      CmdArgs.push_back("-lgcc_eh");
-+    break;
-+  }
-+  case ToolChain::UNW_CompilerRT:
-+    CmdArgs.push_back("-lunwind");
-+    break;
-+  }
- 
-   if (AsNeeded)
-     CmdArgs.push_back("--no-as-needed");
-+}
-+
-+static void AddLibgcc(const ToolChain &TC, const Driver &D,
-+                      ArgStringList &CmdArgs, const ArgList &Args) {
-+  bool isAndroid = TC.getTriple().isAndroid();
-+
-+  LibGccType LGT = getLibGccType(Args);
-+  bool LibGccFirst = (D.CCCIsCC() && LGT == LibGccType::UnspecifiedLibGcc) ||
-+                     LGT == LibGccType::StaticLibGcc;
-+  if (LibGccFirst)
-+    CmdArgs.push_back("-lgcc");
-+
-+  AddUnwindLibrary(TC, D, CmdArgs, Args);
- 
-   if (!LibGccFirst)
-     CmdArgs.push_back("-lgcc");
-@@ -1182,7 +1215,7 @@ static void AddLibgcc(const llvm::Triple &Triple, const Driver &D,
-   //
-   // NOTE: This fixes a link error on Android MIPS as well.  The non-static
-   // libgcc for MIPS relies on _Unwind_Find_FDE and dl_iterate_phdr from libdl.
--  if (isAndroid && !StaticLibgcc)
-+  if (isAndroid && getLibGccType(Args) != LibGccType::StaticLibGcc)
-     CmdArgs.push_back("-ldl");
- }
- 
-@@ -1194,6 +1227,7 @@ void tools::AddRunTimeLibs(const ToolChain &TC, const Driver &D,
-   switch (RLT) {
-   case ToolChain::RLT_CompilerRT:
-     CmdArgs.push_back(TC.getCompilerRTArgString(Args, "builtins"));
-+    AddUnwindLibrary(TC, D, CmdArgs, Args);
-     break;
-   case ToolChain::RLT_Libgcc:
-     // Make sure libgcc is not used under MSVC environment by default
-@@ -1205,7 +1239,7 @@ void tools::AddRunTimeLibs(const ToolChain &TC, const Driver &D,
-             << Args.getLastArg(options::OPT_rtlib_EQ)->getValue() << "MSVC";
-       }
-     } else
--      AddLibgcc(TC.getTriple(), D, CmdArgs, Args);
-+      AddLibgcc(TC, D, CmdArgs, Args);
-     break;
-   }
- }
-diff --git a/test/Driver/compiler-rt-unwind.c b/test/Driver/compiler-rt-unwind.c
-new file mode 100644
-index 0000000000..00024dfa7e
---- /dev/null
-+++ b/test/Driver/compiler-rt-unwind.c
-@@ -0,0 +1,49 @@
-+// General tests that the driver handles combinations of --rtlib=XXX and
-+// --unwindlib=XXX properly.
-+//
-+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-+// RUN:     --target=x86_64-unknown-linux \
-+// RUN:     --gcc-toolchain="" \
-+// RUN:   | FileCheck --check-prefix=RTLIB-EMPTY %s
-+// RTLIB-EMPTY: "{{.*}}lgcc"
-+// RTLIB-EMPTY: "{{.*}}-lgcc_s"
-+//
-+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=libgcc \
-+// RUN:     --gcc-toolchain="" \
-+// RUN:   | FileCheck --check-prefix=RTLIB-GCC %s
-+// RTLIB-GCC: "{{.*}}lgcc"
-+// RTLIB-GCC: "{{.*}}lgcc_s"
-+//
-+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=libgcc --unwindlib=libunwind \
-+// RUN:     --gcc-toolchain="" \
-+// RUN:   | FileCheck --check-prefix=RTLIB-GCC-UNWINDLIB-COMPILER-RT %s
-+// RTLIB-GCC-UNWINDLIB-COMPILER-RT: "{{.*}}lgcc"
-+// RTLIB-GCC-UNWINDLIB-COMPILER-RT: "{{.*}}lunwind"
-+//
-+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1   \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=compiler-rt \
-+// RUN:     --gcc-toolchain="" \
-+// RUN:   | FileCheck --check-prefix=RTLIB-COMPILER-RT %s
-+// RTLIB-COMPILER-RT: "{{.*}}libclang_rt.builtins-x86_64.a"
-+//
-+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1   \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=compiler-rt --unwindlib=libgcc \
-+// RUN:     --gcc-toolchain="" \
-+// RUN:   | FileCheck --check-prefix=RTLIB-COMPILER-RT-UNWINDLIB-GCC %s
-+// RTLIB-COMPILER-RT-UNWINDLIB-GCC: "{{.*}}libclang_rt.builtins-x86_64.a"
-+// RTLIB-COMPILER-RT-UNWINDLIB-GCC: "{{.*}}lgcc_s"
-+//
-+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1              \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=compiler-rt --unwindlib=libgcc \
-+// RUN:     -static --gcc-toolchain="" \
-+// RUN:   | FileCheck --check-prefix=RTLIB-COMPILER-RT-UNWINDLIB-GCC-STATIC %s
-+// RTLIB-COMPILER-RT-UNWINDLIB-GCC-STATIC: "{{.*}}libclang_rt.builtins-x86_64.a"
-+// RTLIB-COMPILER-RT-UNWINDLIB-GCC-STATIC: "{{.*}}lgcc_eh"
-+//
-+// RUN: not %clang -no-canonical-prefixes %s -o %t.o 2> %t.err              \
-+// RUN:     --target=x86_64-unknown-linux -rtlib=libgcc --unwindlib=libunwind \
-+// RUN:     --gcc-toolchain="" \
-+// RUN: FileCheck --input-file=%t.err --check-prefix=RTLIB-GCC-UNWINDLIB-COMPILER_RT %s
-+// RTLIB-GCC-UNWINDLIB-COMPILER_RT: "{{[.|\\\n]*}}--rtlib=libgcc requires --unwindlib=libgcc"
diff --git a/pkgs/development/compilers/llvm/8/clang/xpc.patch b/pkgs/development/compilers/llvm/8/clang/xpc.patch
deleted file mode 100644
index eb57d3458228..000000000000
--- a/pkgs/development/compilers/llvm/8/clang/xpc.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 61c9b97d7b81cc2c013b423bf1763a92b14fcae3 Mon Sep 17 00:00:00 2001
-From: Jan Korous <jkorous@apple.com>
-Date: Tue, 26 Mar 2019 03:48:25 +0000
-Subject: [PATCH] [clangd][xpc][cmake] Respect explicit value of
- CLANGD_BUILD_XPC
-
-We shouldn't prevent user from disabling XPC framework build on Darwin.
-However, by keeping it on by default our CI systems also test
-it by default on macOS.
-
-Based on user request:
-http://lists.llvm.org/pipermail/cfe-dev/2019-March/061778.html
-
-Differential Revision: https://reviews.llvm.org/D59808
-
-git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@356974 91177308-0d34-0410-b5e6-96231b3b80d8
----
- CMakeLists.txt | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 66ebeaeeaa..514b17fb3c 100644
---- a/tools/extra/CMakeLists.txt
-+++ b/tools/extra/CMakeLists.txt
-@@ -1,6 +1,13 @@
--option(CLANGD_BUILD_XPC "Build XPC Support For Clangd." OFF)
--if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
--  set(CLANGD_BUILD_XPC ON CACHE BOOL "" FORCE)
-+if (NOT DEFINED CLANGD_BUILD_XPC)
-+  if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-+    set(CLANGD_BUILD_XPC_DEFAULT ON)
-+  else ()
-+    set(CLANGD_BUILD_XPC_DEFAULT OFF)
-+  endif ()
-+
-+  set(CLANGD_BUILD_XPC ${CLANGD_BUILD_XPC_DEFAULT} CACHE BOOL "Build XPC Support For Clangd." FORCE)
-+
-+  unset(CLANGD_BUILD_XPC_DEFAULT)
- endif ()
- 
- add_subdirectory(clang-apply-replacements)
\ No newline at end of file
diff --git a/pkgs/development/compilers/llvm/8/compiler-rt/armv7l.patch b/pkgs/development/compilers/llvm/8/compiler-rt/armv7l.patch
deleted file mode 100644
index 89d7f1aec918..000000000000
--- a/pkgs/development/compilers/llvm/8/compiler-rt/armv7l.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -ur compiler-rt-7.1.0.src/cmake/builtin-config-ix.cmake compiler-rt-7.1.0.src-patched/cmake/builtin-config-ix.cmake
---- compiler-rt-7.1.0.src/cmake/builtin-config-ix.cmake	2018-05-25 06:36:27.000000000 +0900
-+++ compiler-rt-7.1.0.src-patched/cmake/builtin-config-ix.cmake	2020-05-09 20:26:33.030608692 +0900
-@@ -24,7 +24,7 @@
- 
- 
- set(ARM64 aarch64)
--set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k)
-+set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l)
- set(HEXAGON hexagon)
- set(X86 i386)
- set(X86_64 x86_64)
-diff -ur compiler-rt-7.1.0.src/lib/builtins/CMakeLists.txt compiler-rt-7.1.0.src-patched/lib/builtins/CMakeLists.txt
---- compiler-rt-7.1.0.src/lib/builtins/CMakeLists.txt	2018-07-31 03:18:59.000000000 +0900
-+++ compiler-rt-7.1.0.src-patched/lib/builtins/CMakeLists.txt	2020-05-09 20:27:38.893409318 +0900
-@@ -453,6 +453,7 @@
- set(armv7_SOURCES ${arm_SOURCES})
- set(armv7s_SOURCES ${arm_SOURCES})
- set(armv7k_SOURCES ${arm_SOURCES})
-+set(armv7l_SOURCES ${arm_SOURCES})
- set(arm64_SOURCES ${aarch64_SOURCES})
- 
- # macho_embedded archs
-@@ -563,12 +564,12 @@
-       set(_arch ${arch})
-       if("${arch}" STREQUAL "armv6m")
-         set(_arch "arm|armv6m")
--      elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7m|armv7em)$")
-+      elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$")
-         set(_arch "arm")
-       endif()
- 
-       # For ARM archs, exclude any VFP builtins if VFP is not supported
--      if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$")
-+      if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$")
-         string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}")
-         check_compile_definition(__VFP_FP__ "${CMAKE_C_FLAGS} ${_TARGET_${arch}_CFLAGS}" COMPILER_RT_HAS_${arch}_VFP)
-         if(NOT COMPILER_RT_HAS_${arch}_VFP)
diff --git a/pkgs/development/compilers/llvm/8/compiler-rt/crtbegin-and-end.patch b/pkgs/development/compilers/llvm/8/compiler-rt/crtbegin-and-end.patch
deleted file mode 100644
index e63be181f95c..000000000000
--- a/pkgs/development/compilers/llvm/8/compiler-rt/crtbegin-and-end.patch
+++ /dev/null
@@ -1,595 +0,0 @@
-Get crtbegin and crtend without compiler GCC! PR is at https://reviews.llvm.org/D28791
-
-Index: compiler-rt/CMakeLists.txt
-===================================================================
---- compiler-rt/CMakeLists.txt
-+++ compiler-rt/CMakeLists.txt
-@@ -29,6 +29,8 @@
- 
- option(COMPILER_RT_BUILD_BUILTINS "Build builtins" ON)
- mark_as_advanced(COMPILER_RT_BUILD_BUILTINS)
-+option(COMPILER_RT_BUILD_CRT "Build crtbegin.o/crtend.o" ON)
-+mark_as_advanced(COMPILER_RT_BUILD_CRT)
- option(COMPILER_RT_BUILD_SANITIZERS "Build sanitizers" ON)
- mark_as_advanced(COMPILER_RT_BUILD_SANITIZERS)
- option(COMPILER_RT_BUILD_XRAY "Build xray" ON)
-Index: compiler-rt/cmake/Modules/AddCompilerRT.cmake
-===================================================================
---- compiler-rt/cmake/Modules/AddCompilerRT.cmake
-+++ compiler-rt/cmake/Modules/AddCompilerRT.cmake
-@@ -132,7 +132,7 @@
- # Adds static or shared runtime for a list of architectures and operating
- # systems and puts it in the proper directory in the build and install trees.
- # add_compiler_rt_runtime(<name>
--#                         {STATIC|SHARED}
-+#                         {OBJECT|STATIC|SHARED}
- #                         ARCHS <architectures>
- #                         OS <os list>
- #                         SOURCES <source files>
-@@ -144,8 +144,8 @@
- #                         PARENT_TARGET <convenience parent target>
- #                         ADDITIONAL_HEADERS <header files>)
- function(add_compiler_rt_runtime name type)
--  if(NOT type MATCHES "^(STATIC|SHARED)$")
--    message(FATAL_ERROR "type argument must be STATIC or SHARED")
-+  if(NOT type MATCHES "^(OBJECT|STATIC|SHARED)$")
-+    message(FATAL_ERROR "type argument must be OBJECT, STATIC or SHARED")
-     return()
-   endif()
-   cmake_parse_arguments(LIB
-@@ -204,7 +204,10 @@
-         message(FATAL_ERROR "Architecture ${arch} can't be targeted")
-         return()
-       endif()
--      if(type STREQUAL "STATIC")
-+      if(type STREQUAL "OBJECT")
-+        set(libname "${name}-${arch}")
-+        set(output_name_${libname} ${libname}${COMPILER_RT_OS_SUFFIX})
-+      elseif(type STREQUAL "STATIC")
-         set(libname "${name}-${arch}")
-         set_output_name(output_name_${libname} ${name} ${arch})
-       else()
-@@ -270,12 +273,34 @@
-       set(COMPONENT_OPTION COMPONENT ${libname})
-     endif()
- 
--    add_library(${libname} ${type} ${sources_${libname}})
--    set_target_compile_flags(${libname} ${extra_cflags_${libname}})
--    set_target_link_flags(${libname} ${extra_link_flags_${libname}})
--    set_property(TARGET ${libname} APPEND PROPERTY
--                COMPILE_DEFINITIONS ${LIB_DEFS})
--    set_target_output_directories(${libname} ${output_dir_${libname}})
-+    if(type STREQUAL "OBJECT")
-+      string(TOUPPER ${CMAKE_BUILD_TYPE} config)
-+      get_property(cflags SOURCE ${sources_${libname}} PROPERTY COMPILE_FLAGS)
-+      separate_arguments(cflags)
-+      add_custom_command(
-+          OUTPUT ${output_dir_${libname}}/${libname}.o
-+          COMMAND ${CMAKE_C_COMPILER} ${sources_${libname}} ${cflags} ${extra_cflags_${libname}} -c -o ${output_dir_${libname}}/${libname}.o
-+          DEPENDS ${sources_${libname}}
-+          COMMENT "Building C object ${libname}.o")
-+      add_custom_target(${libname} DEPENDS ${output_dir_${libname}}/${libname}.o)
-+      install(FILES ${output_dir_${libname}}/${libname}.o
-+        DESTINATION ${install_dir_${libname}}
-+        ${COMPONENT_OPTION})
-+    else()
-+      add_library(${libname} ${type} ${sources_${libname}})
-+      set_target_compile_flags(${libname} ${extra_cflags_${libname}})
-+      set_target_link_flags(${libname} ${extra_link_flags_${libname}})
-+      set_property(TARGET ${libname} APPEND PROPERTY
-+                   COMPILE_DEFINITIONS ${LIB_DEFS})
-+      set_target_output_directories(${libname} ${output_dir_${libname}})
-+      install(TARGETS ${libname}
-+        ARCHIVE DESTINATION ${install_dir_${libname}}
-+                ${COMPONENT_OPTION}
-+        LIBRARY DESTINATION ${install_dir_${libname}}
-+                ${COMPONENT_OPTION}
-+        RUNTIME DESTINATION ${install_dir_${libname}}
-+                ${COMPONENT_OPTION})
-+    endif()
-     set_target_properties(${libname} PROPERTIES
-         OUTPUT_NAME ${output_name_${libname}})
-     set_target_properties(${libname} PROPERTIES FOLDER "Compiler-RT Runtime")
-@@ -299,13 +324,6 @@
-         )
-       endif()
-     endif()
--    install(TARGETS ${libname}
--      ARCHIVE DESTINATION ${install_dir_${libname}}
--              ${COMPONENT_OPTION}
--      LIBRARY DESTINATION ${install_dir_${libname}}
--              ${COMPONENT_OPTION}
--      RUNTIME DESTINATION ${install_dir_${libname}}
--              ${COMPONENT_OPTION})
- 
-     # We only want to generate per-library install targets if you aren't using
-     # an IDE because the extra targets get cluttered in IDEs.
-Index: compiler-rt/cmake/config-ix.cmake
-===================================================================
---- compiler-rt/cmake/config-ix.cmake
-+++ compiler-rt/cmake/config-ix.cmake
-@@ -227,6 +227,7 @@
-     ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${S390X})
- set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
-     ${MIPS32} ${MIPS64} ${PPC64} ${S390X})
-+set(ALL_CRT_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64})
- set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
- set(ALL_FUZZER_SUPPORTED_ARCH ${X86_64} ${ARM64})
- 
-@@ -474,6 +475,7 @@
-     SANITIZER_COMMON_SUPPORTED_ARCH)
- 
- else()
-+  filter_available_targets(CRT_SUPPORTED_ARCH ${ALL_CRT_SUPPORTED_ARCH})
-   # Architectures supported by compiler-rt libraries.
-   filter_available_targets(SANITIZER_COMMON_SUPPORTED_ARCH
-     ${ALL_SANITIZER_COMMON_SUPPORTED_ARCH})
-@@ -563,6 +565,12 @@
- 
- # TODO: Add builtins support.
- 
-+if (CRT_SUPPORTED_ARCH AND OS_NAME MATCHES "Linux")
-+  set(COMPILER_RT_HAS_CRT TRUE)
-+else()
-+  set(COMPILER_RT_HAS_CRT FALSE)
-+endif()
-+
- if (COMPILER_RT_HAS_SANITIZER_COMMON AND DFSAN_SUPPORTED_ARCH AND
-     OS_NAME MATCHES "Linux")
-   set(COMPILER_RT_HAS_DFSAN TRUE)
-Index: compiler-rt/lib/CMakeLists.txt
-===================================================================
---- compiler-rt/lib/CMakeLists.txt
-+++ compiler-rt/lib/CMakeLists.txt
-@@ -17,6 +17,10 @@
-   add_subdirectory(builtins)
- endif()
- 
-+if(COMPILER_RT_BUILD_CRT)
-+  add_subdirectory(crt)
-+endif()
-+
- function(compiler_rt_build_runtime runtime)
-   string(TOUPPER ${runtime} runtime_uppercase)
-   if(COMPILER_RT_HAS_${runtime_uppercase})
-Index: compiler-rt/lib/crt/CMakeLists.txt
-===================================================================
---- /dev/null
-+++ compiler-rt/lib/crt/CMakeLists.txt
-@@ -0,0 +1,102 @@
-+add_compiler_rt_component(crt)
-+
-+function(check_cxx_section_exists section output)
-+  cmake_parse_arguments(ARG "" "" "SOURCE;FLAGS" ${ARGN})
-+  if(NOT ARG_SOURCE)
-+    set(ARG_SOURCE "int main() { return 0; }\n")
-+  endif()
-+
-+  string(RANDOM TARGET_NAME)
-+  set(TARGET_NAME "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cmTC_${TARGET_NAME}.dir")
-+  file(MAKE_DIRECTORY ${TARGET_NAME})
-+
-+  file(WRITE "${TARGET_NAME}/CheckSectionExists.c" "${ARG_SOURCE}\n")
-+
-+  string(REGEX MATCHALL "<[A-Za-z0-9_]*>" substitutions
-+         ${CMAKE_C_COMPILE_OBJECT})
-+
-+  set(try_compile_flags "${ARG_FLAGS}")
-+  if(CMAKE_C_COMPILER_ID MATCHES Clang AND CMAKE_C_COMPILER_TARGET)
-+    list(APPEND try_compile_flags "-target ${CMAKE_C_COMPILER_TARGET}")
-+  endif()
-+
-+  string(REPLACE ";" " " extra_flags "${try_compile_flags}")
-+
-+  set(test_compile_command "${CMAKE_C_COMPILE_OBJECT}")
-+  foreach(substitution ${substitutions})
-+    if(substitution STREQUAL "<CMAKE_C_COMPILER>")
-+      string(REPLACE "<CMAKE_C_COMPILER>"
-+             "${CMAKE_C_COMPILER}" test_compile_command ${test_compile_command})
-+    elseif(substitution STREQUAL "<OBJECT>")
-+      string(REPLACE "<OBJECT>" "${TARGET_NAME}/CheckSectionExists.o"
-+             test_compile_command ${test_compile_command})
-+    elseif(substitution STREQUAL "<SOURCE>")
-+      string(REPLACE "<SOURCE>" "${TARGET_NAME}/CheckSectionExists.c"
-+             test_compile_command ${test_compile_command})
-+    elseif(substitution STREQUAL "<FLAGS>")
-+      string(REPLACE "<FLAGS>" "${CMAKE_C_FLAGS} ${extra_flags}"
-+             test_compile_command ${test_compile_command})
-+    else()
-+      string(REPLACE "${substitution}" "" test_compile_command
-+             ${test_compile_command})
-+    endif()
-+  endforeach()
-+
-+  string(REPLACE " " ";" test_compile_command "${test_compile_command}")
-+
-+  execute_process(
-+    COMMAND ${test_compile_command}
-+    RESULT_VARIABLE TEST_RESULT
-+    OUTPUT_VARIABLE TEST_OUTPUT
-+    ERROR_VARIABLE TEST_ERROR
-+  )
-+
-+  execute_process(
-+    COMMAND ${CMAKE_OBJDUMP} -h "${TARGET_NAME}/CheckSectionExists.o"
-+    RESULT_VARIABLE CHECK_RESULT
-+    OUTPUT_VARIABLE CHECK_OUTPUT
-+    ERROR_VARIABLE CHECK_ERROR
-+  )
-+  string(FIND "${CHECK_OUTPUT}" "${section}" SECTION_FOUND)
-+
-+  if(NOT SECTION_FOUND EQUAL -1)
-+    set(${output} TRUE PARENT_SCOPE)
-+  else()
-+    set(${output} FALSE PARENT_SCOPE)
-+  endif()
-+
-+  file(REMOVE_RECURSE ${TARGET_NAME})
-+endfunction()
-+
-+check_cxx_section_exists(".init_array" COMPILER_RT_HAS_INITFINI_ARRAY
-+  SOURCE "__attribute__((constructor)) void f() {}\nint main() { return 0; }\n")
-+
-+append_list_if(COMPILER_RT_HAS_INITFINI_ARRAY -DCRT_HAS_INITFINI_ARRAY CRT_CFLAGS)
-+append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC CRT_CFLAGS)
-+
-+foreach(arch ${CRT_SUPPORTED_ARCH})
-+  add_compiler_rt_runtime(clang_rt.crtbegin
-+    OBJECT
-+    ARCHS ${arch}
-+    SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtbegin.c
-+    CFLAGS ${CRT_CFLAGS}
-+    PARENT_TARGET crt)
-+  add_compiler_rt_runtime(clang_rt.crtbegin_shared
-+    OBJECT
-+    ARCHS ${arch}
-+    SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtbegin.c
-+    CFLAGS ${CRT_CFLAGS} -DCRT_SHARED
-+    PARENT_TARGET crt)
-+  add_compiler_rt_runtime(clang_rt.crtend
-+    OBJECT
-+    ARCHS ${arch}
-+    SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtend.c
-+    CFLAGS ${CRT_CFLAGS}
-+    PARENT_TARGET crt)
-+  add_compiler_rt_runtime(clang_rt.crtend_shared
-+    OBJECT
-+    ARCHS ${arch}
-+    SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtend.c
-+    CFLAGS ${CRT_CFLAGS} -DCRT_SHARED
-+    PARENT_TARGET crt)
-+endforeach()
-Index: compiler-rt/lib/crt/crtbegin.c
-===================================================================
---- /dev/null
-+++ compiler-rt/lib/crt/crtbegin.c
-@@ -0,0 +1,108 @@
-+/* ===-- crtbegin.c - Start of constructors and destructors ----------------===
-+ *
-+ *      	       The LLVM Compiler Infrastructure
-+ *
-+ * This file is dual licensed under the MIT and the University of Illinois Open
-+ * Source Licenses. See LICENSE.TXT for details.
-+ *
-+ * ===----------------------------------------------------------------------===
-+ */
-+
-+#include <stddef.h>
-+
-+__attribute__((visibility("hidden")))
-+#ifdef CRT_SHARED
-+void *__dso_handle = &__dso_handle;
-+#else
-+void *__dso_handle = (void *)0;
-+#endif
-+
-+static long __EH_FRAME_LIST__[]
-+    __attribute__((section(".eh_frame"), aligned(sizeof(void *)))) = {};
-+
-+extern void __register_frame_info(const void *, void *) __attribute__((weak));
-+extern void *__deregister_frame_info(const void *) __attribute__((weak));
-+
-+#ifndef CRT_HAS_INITFINI_ARRAY
-+typedef void (*fp)(void);
-+
-+static fp __CTOR_LIST__[]
-+    __attribute__((section(".ctors"), aligned(sizeof(fp)), used)) = {(fp)-1};
-+extern fp __CTOR_LIST_END__[];
-+#endif
-+
-+#ifdef CRT_SHARED
-+extern void __cxa_finalize(void *) __attribute__((weak));
-+#endif
-+
-+static void __attribute__((used)) __do_init() {
-+  static _Bool __initialized;
-+  if (__builtin_expect(__initialized, 0))
-+    return;
-+  __initialized = 1;
-+
-+  static struct { void *p[8]; } __object;
-+  if (__register_frame_info)
-+    __register_frame_info(__EH_FRAME_LIST__, &__object);
-+
-+#ifndef CRT_HAS_INITFINI_ARRAY
-+  const size_t n = __CTOR_LIST_END__ - __CTOR_LIST__ - 1;
-+  for (size_t i = n; i >= 1; i--) __CTOR_LIST__[i]();
-+#endif
-+}
-+
-+#ifdef CRT_HAS_INITFINI_ARRAY
-+__attribute__((section(".init_array"),
-+               used)) static void (*__init)(void) = __do_init;
-+#else  // CRT_HAS_INITFINI_ARRAY
-+#if defined(__i386__) || defined(__x86_64__)
-+asm(".pushsection .init,\"ax\",@progbits\n\t"
-+    "call " __USER_LABEL_PREFIX__ "__do_init\n\t"
-+    ".popsection");
-+#elif defined(__arm__)
-+asm(".pushsection .init,\"ax\",%progbits\n\t"
-+    "bl " __USER_LABEL_PREFIX__ "__do_init\n\t"
-+    ".popsection");
-+#endif  // CRT_HAS_INITFINI_ARRAY
-+#endif
-+
-+#ifndef CRT_HAS_INITFINI_ARRAY
-+static fp __DTOR_LIST__[]
-+    __attribute__((section(".dtors"), aligned(sizeof(fp)), used)) = {(fp)-1};
-+extern fp __DTOR_LIST_END__[];
-+#endif
-+
-+static void __attribute__((used)) __do_fini() {
-+  static _Bool __finalized;
-+  if (__builtin_expect(__finalized, 0))
-+    return;
-+  __finalized = 1;
-+
-+#ifdef CRT_SHARED
-+  if (__cxa_finalize)
-+    __cxa_finalize(__dso_handle);
-+#endif
-+
-+#ifndef CRT_HAS_INITFINI_ARRAY
-+  if (__deregister_frame_info)
-+    __deregister_frame_info(__EH_FRAME_LIST__);
-+
-+  const size_t n = __DTOR_LIST_END__ - __DTOR_LIST__ - 1;
-+  for (size_t i = 1; i < n; i++) __DTOR_LIST__[i]();
-+#endif
-+}
-+
-+#ifdef CRT_HAS_INITFINI_ARRAY
-+__attribute__((section(".fini_array"),
-+               used)) static void (*__fini)(void) = __do_fini;
-+#else  // CRT_HAS_INITFINI_ARRAY
-+#if defined(__i386__) || defined(__x86_64__)
-+asm(".pushsection .fini,\"ax\",@progbits\n\t"
-+    "call " __USER_LABEL_PREFIX__ "__do_fini\n\t"
-+    ".popsection");
-+#elif defined(__arm__)
-+asm(".pushsection .fini,\"ax\",%progbits\n\t"
-+    "bl " __USER_LABEL_PREFIX__ "__do_fini\n\t"
-+    ".popsection");
-+#endif
-+#endif  // CRT_HAS_INIT_FINI_ARRAY
-Index: compiler-rt/lib/crt/crtend.c
-===================================================================
---- /dev/null
-+++ compiler-rt/lib/crt/crtend.c
-@@ -0,0 +1,24 @@
-+/* ===-- crtend.c - End of constructors and destructors --------------------===
-+ *
-+ *      	       The LLVM Compiler Infrastructure
-+ *
-+ * This file is dual licensed under the MIT and the University of Illinois Open
-+ * Source Licenses. See LICENSE.TXT for details.
-+ *
-+ * ===----------------------------------------------------------------------===
-+ */
-+
-+#include <stdint.h>
-+
-+// Put 4-byte zero which is the length field in FDE at the end as a terminator.
-+const int32_t __EH_FRAME_LIST_END__[]
-+    __attribute__((section(".eh_frame"), aligned(sizeof(int32_t)),
-+                   visibility("hidden"), used)) = {0};
-+
-+#ifndef CRT_HAS_INITFINI_ARRAY
-+typedef void (*fp)(void);
-+fp __CTOR_LIST_END__[]
-+    __attribute__((section(".ctors"), visibility("hidden"), used)) = {0};
-+fp __DTOR_LIST_END__[]
-+    __attribute__((section(".dtors"), visibility("hidden"), used)) = {0};
-+#endif
-Index: compiler-rt/test/CMakeLists.txt
-===================================================================
---- compiler-rt/test/CMakeLists.txt
-+++ compiler-rt/test/CMakeLists.txt
-@@ -73,6 +73,9 @@
-   if(COMPILER_RT_BUILD_XRAY)
-     compiler_rt_test_runtime(xray)
-   endif()
-+  if(COMPILER_RT_HAS_CRT)
-+    add_subdirectory(crt)
-+  endif()
-   # ShadowCallStack does not yet provide a runtime with compiler-rt, the tests
-   # include their own minimal runtime
-   add_subdirectory(shadowcallstack)
-Index: compiler-rt/test/crt/CMakeLists.txt
-===================================================================
---- /dev/null
-+++ compiler-rt/test/crt/CMakeLists.txt
-@@ -0,0 +1,31 @@
-+set(CRT_LIT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
-+
-+set(CRT_TESTSUITES)
-+
-+set(CRT_TEST_DEPS "")
-+
-+if(NOT COMPILER_RT_STANDALONE_BUILD AND COMPILER_RT_BUILD_CRT AND
-+   COMPILER_RT_HAS_CRT)
-+  list(APPEND CRT_TEST_DEPS crt)
-+endif()
-+
-+set(CRT_TEST_ARCH ${CRT_SUPPORTED_ARCH})
-+if (COMPILER_RT_BUILD_CRT AND COMPILER_RT_HAS_CRT)
-+  foreach(arch ${CRT_TEST_ARCH})
-+    set(CRT_TEST_TARGET_ARCH ${arch})
-+    string(TOLOWER "-${arch}-${OS_NAME}" CRT_TEST_CONFIG_SUFFIX)
-+    get_test_cc_for_arch(${arch} CRT_TEST_TARGET_CC CRT_TEST_TARGET_CFLAGS)
-+    string(TOUPPER ${arch} ARCH_UPPER_CASE)
-+    set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}Config)
-+
-+    configure_lit_site_cfg(
-+      ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
-+      ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg)
-+    list(APPEND CRT_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})
-+  endforeach()
-+endif()
-+
-+add_lit_testsuite(check-crt "Running the CRT tests"
-+  ${CRT_TESTSUITES}
-+  DEPENDS ${CRT_TEST_DEPS})
-+set_target_properties(check-crt PROPERTIES FOLDER "Compiler-RT Misc")
-Index: compiler-rt/test/crt/dso_handle.cpp
-===================================================================
---- /dev/null
-+++ compiler-rt/test/crt/dso_handle.cpp
-@@ -0,0 +1,33 @@
-+// RUN: %clangxx -g -DCRT_SHARED -c %s -fPIC -o %tshared.o
-+// RUN: %clangxx -g -c %s -fPIC -o %t.o
-+// RUN: %clangxx -g -shared -o %t.so -nostdlib %crti %shared_crtbegin %tshared.o %libstdcxx -lc -lm -lgcc_s %shared_crtend %crtn
-+// RUN: %clangxx -g -o %t -nostdlib %crt1 %crti %crtbegin %t.o %libstdcxx -lc -lm %libgcc %t.so %crtend %crtn
-+// RUN: %run %t 2>&1 | FileCheck %s
-+
-+#include <stdio.h>
-+
-+// CHECK: 1
-+// CHECK-NEXT: ~A()
-+
-+#ifdef CRT_SHARED
-+bool G;
-+void C() {
-+  printf("%d\n", G);
-+}
-+
-+struct A {
-+  A() { G = true; }
-+  ~A() {
-+    printf("~A()\n");
-+  }
-+};
-+
-+A a;
-+#else
-+void C();
-+
-+int main() {
-+  C();
-+  return 0;
-+}
-+#endif
-Index: compiler-rt/test/crt/lit.cfg
-===================================================================
---- /dev/null
-+++ compiler-rt/test/crt/lit.cfg
-@@ -0,0 +1,80 @@
-+# -*- Python -*-
-+
-+import os
-+import subprocess
-+
-+# Setup config name.
-+config.name = 'CRT' + config.name_suffix
-+
-+# Setup source root.
-+config.test_source_root = os.path.dirname(__file__)
-+
-+
-+def get_library_path(file):
-+    cmd = subprocess.Popen([config.clang.strip(),
-+                            config.target_cflags.strip(),
-+                            '-print-file-name=%s' % file],
-+                           stdout=subprocess.PIPE,
-+                           env=config.environment)
-+    if not cmd.stdout:
-+      lit_config.fatal("Couldn't find the library path for '%s'" % file)
-+    dir = cmd.stdout.read().strip()
-+    if sys.platform in ['win32'] and execute_external:
-+        # Don't pass dosish path separator to msys bash.exe.
-+        dir = dir.replace('\\', '/')
-+    # Ensure the result is an ascii string, across Python2.5+ - Python3.
-+    return str(dir.decode('ascii'))
-+
-+
-+def get_libgcc_file_name():
-+    cmd = subprocess.Popen([config.clang.strip(),
-+                            config.target_cflags.strip(),
-+                            '-print-libgcc-file-name'],
-+                           stdout=subprocess.PIPE,
-+                           env=config.environment)
-+    if not cmd.stdout:
-+      lit_config.fatal("Couldn't find the library path for '%s'" % file)
-+    dir = cmd.stdout.read().strip()
-+    if sys.platform in ['win32'] and execute_external:
-+        # Don't pass dosish path separator to msys bash.exe.
-+        dir = dir.replace('\\', '/')
-+    # Ensure the result is an ascii string, across Python2.5+ - Python3.
-+    return str(dir.decode('ascii'))
-+
-+
-+def build_invocation(compile_flags):
-+    return ' ' + ' '.join([config.clang] + compile_flags) + ' '
-+
-+
-+# Setup substitutions.
-+config.substitutions.append(
-+    ('%clang ', build_invocation([config.target_cflags])))
-+config.substitutions.append(
-+    ('%clangxx ',
-+     build_invocation(config.cxx_mode_flags + [config.target_cflags])))
-+
-+base_lib = os.path.join(
-+    config.compiler_rt_libdir, "clang_rt.%%s-%s.o" % config.target_arch)
-+config.substitutions.append(('%crtbegin', base_lib % "crtbegin"))
-+config.substitutions.append(('%shared_crtbegin', base_lib % "crtbegin_shared"))
-+config.substitutions.append(('%crtend', base_lib % "crtend"))
-+config.substitutions.append(('%shared_crtend', base_lib % "crtend_shared"))
-+
-+config.substitutions.append(
-+    ('%crt1', get_library_path('crt1.o')))
-+config.substitutions.append(
-+    ('%crti', get_library_path('crti.o')))
-+config.substitutions.append(
-+    ('%crtn', get_library_path('crtn.o')))
-+
-+config.substitutions.append(
-+    ('%libgcc', get_libgcc_file_name()))
-+
-+config.substitutions.append(
-+    ('%libstdcxx', '-l' + config.sanitizer_cxx_lib.lstrip('lib')))
-+
-+# Default test suffixes.
-+config.suffixes = ['.c', '.cc', '.cpp']
-+
-+if config.host_os not in ['Linux']:
-+    config.unsupported = True
-Index: compiler-rt/test/crt/lit.site.cfg.in
-===================================================================
---- /dev/null
-+++ compiler-rt/test/crt/lit.site.cfg.in
-@@ -0,0 +1,14 @@
-+@LIT_SITE_CFG_IN_HEADER@
-+
-+# Tool-specific config options.
-+config.name_suffix = "@CRT_TEST_CONFIG_SUFFIX@"
-+config.crt_lit_source_dir = "@CRT_LIT_SOURCE_DIR@"
-+config.target_cflags = "@CRT_TEST_TARGET_CFLAGS@"
-+config.target_arch = "@CRT_TEST_TARGET_ARCH@"
-+config.sanitizer_cxx_lib = "@SANITIZER_TEST_CXX_LIBNAME@"
-+
-+# Load common config for all compiler-rt lit tests
-+lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured")
-+
-+# Load tool-specific config that would do the real work.
-+lit_config.load_config(config, "@CRT_LIT_SOURCE_DIR@/lit.cfg")
diff --git a/pkgs/development/compilers/llvm/8/compiler-rt/default.nix b/pkgs/development/compilers/llvm/8/compiler-rt/default.nix
deleted file mode 100644
index 26cb5aa30617..000000000000
--- a/pkgs/development/compilers/llvm/8/compiler-rt/default.nix
+++ /dev/null
@@ -1,117 +0,0 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi
-, doFakeLibgcc ? stdenv.hostPlatform.isFreeBSD
-}:
-
-let
-
-  useLLVM = stdenv.hostPlatform.useLLVM or false;
-  bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none";
-  haveLibc = stdenv.cc.libc != null;
-  inherit (stdenv.hostPlatform) isMusl;
-
-in
-
-stdenv.mkDerivation {
-  pname = "compiler-rt" + lib.optionalString (haveLibc) "-libc";
-  inherit version;
-  src = fetch "compiler-rt" "0dqqf8f930l8gag4d9qjgn1n0pj0nbv2anviqqhdi1rkhas8z0hi";
-
-  nativeBuildInputs = [ cmake python3 libllvm.dev ];
-  buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
-
-  env.NIX_CFLAGS_COMPILE = toString [
-    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
-  ];
-
-  cmakeFlags = [
-    "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
-    "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
-    "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
-  ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [
-    "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
-    "-DCOMPILER_RT_BUILD_XRAY=OFF"
-    "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
-  ] ++ lib.optionals (useLLVM || bareMetal) [
-    "-DCOMPILER_RT_BUILD_PROFILE=OFF"
-  ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [
-    "-DCMAKE_C_COMPILER_WORKS=ON"
-    "-DCMAKE_CXX_COMPILER_WORKS=ON"
-    "-DCOMPILER_RT_BAREMETAL_BUILD=ON"
-    "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
-  ] ++ lib.optionals (useLLVM) [
-    "-DCOMPILER_RT_BUILD_BUILTINS=ON"
-    #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program
-    "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY"
-  ] ++ lib.optionals (bareMetal) [
-    "-DCOMPILER_RT_OS_DIR=baremetal"
-  ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [
-    # The compiler-rt build infrastructure sniffs supported platforms on Darwin
-    # and finds i386;x86_64;x86_64h. We only build for x86_64, so linking fails
-    # when it tries to use libc++ and libc++api for i386.
-    "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}"
-  ];
-
-  outputs = [ "out" "dev" ];
-
-  patches = [
-    # https://github.com/llvm/llvm-project/commit/947f9692440836dcb8d88b74b69dd379d85974ce
-    ../../common/compiler-rt/glibc.patch
-    ../../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
-    ./gnu-install-dirs.patch
-    ../../common/compiler-rt/libsanitizer-no-cyclades-9.patch
-  ] ++ lib.optional (useLLVM) ./crtbegin-and-end.patch
-    ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
-
-  # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
-  # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
-  # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
-  # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
-  # a flag and turn the flag off during the stdenv build.
-  postPatch = lib.optionalString (!stdenv.isDarwin) ''
-    substituteInPlace cmake/builtin-config-ix.cmake \
-      --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)'
-  '' + lib.optionalString stdenv.isDarwin ''
-    substituteInPlace cmake/config-ix.cmake \
-      --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
-  '' + lib.optionalString (useLLVM) ''
-    substituteInPlace lib/builtins/int_util.c \
-      --replace "#include <stdlib.h>" ""
-    substituteInPlace lib/builtins/clear_cache.c \
-      --replace "#include <assert.h>" ""
-    substituteInPlace lib/builtins/cpu_model.c \
-      --replace "#include <assert.h>" ""
-  '';
-
-  preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
-    cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
-  '';
-
-  # Hack around weird upsream RPATH bug
-  postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) ''
-    ln -s "$out/lib"/*/* "$out/lib"
-  '' + lib.optionalString (useLLVM) ''
-    ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o
-    ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o
-    ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o
-    ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o
-  '' + lib.optionalString doFakeLibgcc ''
-    ln -s $out/lib/freebsd/libclang_rt.builtins-*.a $out/lib/libgcc.a
-  '';
-
-  meta = llvm_meta // {
-    homepage = "https://compiler-rt.llvm.org/";
-    description = "Compiler runtime libraries";
-    longDescription = ''
-      The compiler-rt project provides highly tuned implementations of the
-      low-level code generator support routines like "__fixunsdfdi" and other
-      calls generated when a target doesn't have a short sequence of native
-      instructions to implement a core IR operation. It also provides
-      implementations of run-time libraries for dynamic testing tools such as
-      AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer.
-    '';
-    # "All of the code in the compiler-rt project is dual licensed under the MIT
-    # license and the UIUC License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-    broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
-  };
-}
diff --git a/pkgs/development/compilers/llvm/8/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/8/compiler-rt/gnu-install-dirs.patch
deleted file mode 100644
index a25fa90f9800..000000000000
--- a/pkgs/development/compilers/llvm/8/compiler-rt/gnu-install-dirs.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index aa360a3ef36e..a39676148181 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -8,6 +8,7 @@ cmake_minimum_required(VERSION 3.4.3)
- # Check if compiler-rt is built as a standalone project.
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE_BUILD)
-   project(CompilerRT C CXX ASM)
-+  include(GNUInstallDirs)
-   set(COMPILER_RT_STANDALONE_BUILD TRUE)
-   set_property(GLOBAL PROPERTY USE_FOLDERS ON)
- endif()
-diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
-index 81b110203c27..df7598a11caf 100644
---- a/cmake/Modules/AddCompilerRT.cmake
-+++ b/cmake/Modules/AddCompilerRT.cmake
-@@ -479,7 +479,7 @@ macro(add_compiler_rt_resource_file target_name file_name component)
-   add_custom_target(${target_name} DEPENDS ${dst_file})
-   # Install in Clang resource directory.
-   install(FILES ${file_name}
--    DESTINATION ${COMPILER_RT_INSTALL_PATH}/share
-+    DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR}
-     COMPONENT ${component})
-   add_dependencies(${component} ${target_name})
- 
-@@ -496,7 +496,7 @@ macro(add_compiler_rt_script name)
-   add_custom_target(${name} DEPENDS ${dst})
-   install(FILES ${dst}
-     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
--    DESTINATION ${COMPILER_RT_INSTALL_PATH}/bin)
-+    DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_BINDIR})
- endmacro(add_compiler_rt_script src name)
- 
- # Builds custom version of libc++ and installs it in <prefix>.
-diff --git a/cmake/Modules/CompilerRTDarwinUtils.cmake b/cmake/Modules/CompilerRTDarwinUtils.cmake
-index 04cc955980fa..a99f6dfb2f82 100644
---- a/cmake/Modules/CompilerRTDarwinUtils.cmake
-+++ b/cmake/Modules/CompilerRTDarwinUtils.cmake
-@@ -377,7 +377,7 @@ macro(darwin_add_embedded_builtin_libraries)
-     set(DARWIN_macho_embedded_LIBRARY_OUTPUT_DIR
-       ${COMPILER_RT_OUTPUT_DIR}/lib/macho_embedded)
-     set(DARWIN_macho_embedded_LIBRARY_INSTALL_DIR
--      ${COMPILER_RT_INSTALL_PATH}/lib/macho_embedded)
-+      ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/macho_embedded)
-       
-     set(CFLAGS_armv7 "-target thumbv7-apple-darwin-eabi")
-     set(CFLAGS_i386 "-march=pentium")
-diff --git a/cmake/Modules/CompilerRTUtils.cmake b/cmake/Modules/CompilerRTUtils.cmake
-index 5348f2064b67..d7b8fe190789 100644
---- a/cmake/Modules/CompilerRTUtils.cmake
-+++ b/cmake/Modules/CompilerRTUtils.cmake
-@@ -363,7 +363,7 @@ endfunction()
- function(get_compiler_rt_install_dir arch install_dir)
-   if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-     get_compiler_rt_target(${arch} target)
--    set(${install_dir} ${COMPILER_RT_INSTALL_PATH}/${target}/lib PARENT_SCOPE)
-+    set(${install_dir} ${COMPILER_RT_INSTALL_PATH}/${target}/${CMAKE_INSTALL_FULL_LIBDIR} PARENT_SCOPE)
-   else()
-     set(${install_dir} ${COMPILER_RT_LIBRARY_INSTALL_DIR} PARENT_SCOPE)
-   endif()
-diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake
-index aeabf17653f5..0a927fbfc750 100644
---- a/cmake/base-config-ix.cmake
-+++ b/cmake/base-config-ix.cmake
-@@ -59,11 +59,11 @@ if (LLVM_TREE_AVAILABLE)
- else()
-     # Take output dir and install path from the user.
-   set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
--    "Path where built compiler-rt libraries should be stored.")
-+    "Path where built compiler-rt build artifacts should be stored.")
-   set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
-     "Path where built compiler-rt executables should be stored.")
--  set(COMPILER_RT_INSTALL_PATH ${CMAKE_INSTALL_PREFIX} CACHE PATH
--    "Path where built compiler-rt libraries should be installed.")
-+  set(COMPILER_RT_INSTALL_PATH "" CACHE PATH
-+    "Prefix where built compiler-rt artifacts should be installed, comes before CMAKE_INSTALL_PREFIX.")
-   option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
-   option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
-   # Use a host compiler to compile/link tests.
-@@ -91,7 +91,7 @@ else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR)
-   set(COMPILER_RT_LIBRARY_OUTPUT_DIR
-     ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
-   set(COMPILER_RT_LIBRARY_INSTALL_DIR
--    ${COMPILER_RT_INSTALL_PATH}/lib/${COMPILER_RT_OS_DIR})
-+    ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_LIBDIR}/${COMPILER_RT_OS_DIR})
- endif()
- 
- if(APPLE)
-diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
-index c4b93b89a30c..3913dc3a1ee6 100644
---- a/include/CMakeLists.txt
-+++ b/include/CMakeLists.txt
-@@ -48,12 +48,12 @@ set_target_properties(compiler-rt-headers PROPERTIES FOLDER "Compiler-RT Misc")
- install(FILES ${SANITIZER_HEADERS}
-   COMPONENT compiler-rt-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/sanitizer)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/sanitizer)
- # Install xray headers.
- install(FILES ${XRAY_HEADERS}
-   COMPONENT compiler-rt-headers
-   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
--  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/xray)
-+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR}/xray)
- 
- if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDEs.
-   add_custom_target(install-compiler-rt-headers
-diff --git a/lib/dfsan/CMakeLists.txt b/lib/dfsan/CMakeLists.txt
-index b3ae713cf02c..52b364b900f5 100644
---- a/lib/dfsan/CMakeLists.txt
-+++ b/lib/dfsan/CMakeLists.txt
-@@ -54,4 +54,4 @@ add_custom_command(OUTPUT ${dfsan_abilist_filename}
-                    DEPENDS done_abilist.txt libc_ubuntu1404_abilist.txt)
- add_dependencies(dfsan dfsan_abilist)
- install(FILES ${dfsan_abilist_filename}
--        DESTINATION ${COMPILER_RT_INSTALL_PATH}/share)
-+        DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR})
diff --git a/pkgs/development/compilers/llvm/8/default.nix b/pkgs/development/compilers/llvm/8/default.nix
deleted file mode 100644
index 83e19e7e90a2..000000000000
--- a/pkgs/development/compilers/llvm/8/default.nix
+++ /dev/null
@@ -1,273 +0,0 @@
-{ lowPrio, newScope, pkgs, lib, stdenv, cmake
-, preLibcCrossHeaders
-, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
-, buildLlvmTools # tools, but from the previous stage, for cross
-, targetLlvmLibraries # libraries, but from the next stage, for cross
-, targetLlvm
-# This is the default binutils, but with *this* version of LLD rather
-# than the default LLVM version's, if LLD is the choice. We use these for
-# the `useLLVM` bootstrapping below.
-, bootBintoolsNoLibc ?
-    if stdenv.targetPlatform.linker == "lld"
-    then null
-    else pkgs.bintoolsNoLibc
-, bootBintools ?
-    if stdenv.targetPlatform.linker == "lld"
-    then null
-    else pkgs.bintools
-}:
-
-let
-  release_version = "8.0.1";
-  version = release_version; # differentiating these is important for rc's
-
-  fetch = name: sha256: fetchurl {
-    url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${release_version}/${name}-${version}.src.tar.xz";
-    inherit sha256;
-  };
-
-  clang-tools-extra_src = fetch "clang-tools-extra" "1qf3097bc5ia8p6cpmbx985rjr3yaah5s8fc0nv7pw742yv7jw8q";
-
-  inherit (import ../common/common-let.nix { inherit lib release_version; }) llvm_meta;
-
-  tools = lib.makeExtensible (tools: let
-    callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch buildLlvmTools; });
-    mkExtraBuildCommands0 = cc: ''
-      rsrc="$out/resource-root"
-      mkdir "$rsrc"
-      ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc"
-      echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
-    '';
-    mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + ''
-      ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
-      ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share"
-    '';
-
-  bintoolsNoLibc' =
-    if bootBintoolsNoLibc == null
-    then tools.bintoolsNoLibc
-    else bootBintoolsNoLibc;
-  bintools' =
-    if bootBintools == null
-    then tools.bintools
-    else bootBintools;
-
-  in {
-
-    libllvm = callPackage ./llvm {
-      inherit llvm_meta;
-    };
-
-    # `llvm` historically had the binaries.  When choosing an output explicitly,
-    # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get*
-    llvm = tools.libllvm;
-
-    libllvm-polly = callPackage ./llvm {
-      inherit llvm_meta;
-      enablePolly = true;
-    };
-
-    llvm-polly = tools.libllvm-polly.lib // { outputSpecified = false; };
-
-    libclang = callPackage ./clang {
-      inherit clang-tools-extra_src llvm_meta;
-    };
-
-    clang-unwrapped = tools.libclang;
-
-    clang-polly-unwrapped = callPackage ./clang {
-      inherit llvm_meta;
-      inherit clang-tools-extra_src;
-      libllvm = tools.libllvm-polly;
-      enablePolly = true;
-    };
-
-    # disabled until recommonmark supports sphinx 3
-    #llvm-manpages = lowPrio (tools.libllvm.override {
-    #  enableManpages = true;
-    #  python3 = pkgs.python3;  # don't use python-boot
-    #});
-
-    clang-manpages = lowPrio (tools.libclang.override {
-      enableManpages = true;
-      python3 = pkgs.python3;  # don't use python-boot
-    });
-
-    # pick clang appropriate for package set we are targeting
-    clang =
-      /**/ if stdenv.targetPlatform.libc == null then tools.clangNoLibc
-      else if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM
-      else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang
-      else tools.libcxxClang;
-
-    libstdcxxClang = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
-      libcxx = null;
-      extraPackages = [
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = mkExtraBuildCommands cc;
-    };
-
-    libcxxClang = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = targetLlvmLibraries.libcxx;
-      extraPackages = [
-        libcxx.cxxabi
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = mkExtraBuildCommands cc;
-    };
-
-    lld = callPackage ./lld {
-      inherit llvm_meta;
-    };
-
-    lldb = callPackage ./lldb {
-      inherit llvm_meta;
-    };
-
-    # Below, is the LLVM bootstrapping logic. It handles building a
-    # fully LLVM toolchain from scratch. No GCC toolchain should be
-    # pulled in. As a consequence, it is very quick to build different
-    # targets provided by LLVM and we can also build for what GCC
-    # doesn’t support like LLVM. Probably we should move to some other
-    # file.
-
-    bintools-unwrapped = callPackage ../common/bintools.nix { };
-
-    bintoolsNoLibc = wrapBintoolsWith {
-      bintools = tools.bintools-unwrapped;
-      libc = preLibcCrossHeaders;
-    };
-
-    bintools = wrapBintoolsWith {
-      bintools = tools.bintools-unwrapped;
-    };
-
-    clangUseLLVM = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = targetLlvmLibraries.libcxx;
-      bintools = bintools';
-      extraPackages = [
-        libcxx.cxxabi
-        targetLlvmLibraries.compiler-rt
-      ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
-        targetLlvmLibraries.libunwind
-      ];
-      extraBuildCommands = ''
-        echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags
-        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm) ''
-        echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
-        echo "-L${targetLlvmLibraries.libunwind}/lib" >> $out/nix-support/cc-ldflags
-      '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
-        echo "-lunwind" >> $out/nix-support/cc-ldflags
-      '' + lib.optionalString stdenv.targetPlatform.isWasm ''
-        echo "-fno-exceptions" >> $out/nix-support/cc-cflags
-      '' + mkExtraBuildCommands cc;
-    };
-
-    clangNoLibcxx = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = null;
-      bintools = bintools';
-      extraPackages = [
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = ''
-        echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
-        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
-        echo "-nostdlib++" >> $out/nix-support/cc-cflags
-      '' + mkExtraBuildCommands cc;
-    };
-
-    clangNoLibc = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = null;
-      bintools = bintoolsNoLibc';
-      extraPackages = [
-        targetLlvmLibraries.compiler-rt
-      ];
-      extraBuildCommands = ''
-        echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
-        echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
-      '' + mkExtraBuildCommands cc;
-    };
-
-    clangNoCompilerRt = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = null;
-      bintools = bintoolsNoLibc';
-      extraPackages = [ ];
-      extraBuildCommands = ''
-        echo "-nostartfiles" >> $out/nix-support/cc-cflags
-      '' + mkExtraBuildCommands0 cc;
-    };
-
-    clangNoCompilerRtWithLibc = wrapCCWith rec {
-      cc = tools.clang-unwrapped;
-      libcxx = null;
-      bintools = bintools';
-      extraPackages = [ ];
-      extraBuildCommands = mkExtraBuildCommands0 cc;
-    };
-
-  });
-
-  libraries = lib.makeExtensible (libraries: let
-    callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version fetch; });
-  in {
-
-    compiler-rt-libc = callPackage ./compiler-rt {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc
-               else stdenv;
-    };
-
-    compiler-rt-no-libc = callPackage ./compiler-rt {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoCompilerRt
-               else stdenv;
-    };
-
-    # N.B. condition is safe because without useLLVM both are the same.
-    compiler-rt = if stdenv.hostPlatform.isAndroid
-      then libraries.compiler-rt-libc
-      else libraries.compiler-rt-no-libc;
-
-    stdenv = overrideCC stdenv buildLlvmTools.clang;
-
-    libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
-
-    libcxx = callPackage ./libcxx {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoLibcxx
-               else stdenv;
-    };
-
-    libcxxabi = callPackage ./libcxxabi {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoLibcxx
-               else stdenv;
-    };
-
-    libunwind = callPackage ./libunwind {
-      inherit llvm_meta;
-      stdenv = if stdenv.hostPlatform.useLLVM or false
-               then overrideCC stdenv buildLlvmTools.clangNoLibcxx
-               else stdenv;
-    };
-
-    openmp = callPackage ./openmp {
-      inherit llvm_meta targetLlvm;
-    };
-  });
-  noExtend = extensible: lib.attrsets.removeAttrs extensible [ "extend" ];
-
-in { inherit tools libraries release_version; } // (noExtend libraries) // (noExtend tools)
diff --git a/pkgs/development/compilers/llvm/8/libcxx/default.nix b/pkgs/development/compilers/llvm/8/libcxx/default.nix
deleted file mode 100644
index 967d4b748dbe..000000000000
--- a/pkgs/development/compilers/llvm/8/libcxx/default.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ lib, stdenv, llvm_meta, fetch, cmake, python3, fixDarwinDylibNames, version
-, cxxabi ? if stdenv.hostPlatform.isFreeBSD then libcxxrt else libcxxabi
-, libcxxabi, libcxxrt
-, enableShared ? !stdenv.hostPlatform.isStatic
-}:
-
-assert stdenv.isDarwin -> cxxabi.pname == "libcxxabi";
-
-stdenv.mkDerivation {
-  pname = "libcxx";
-  inherit version;
-
-  src = fetch "libcxx" "0y4vc9z36c1zlq15cnibdzxnc1xi5glbc6klnm8a41q3db4541kz";
-
-  postUnpack = ''
-    unpackFile ${libcxxabi.src}
-    export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
-  '';
-
-  outputs = [ "out" "dev" ];
-
-  patches = [
-    ./gnu-install-dirs.patch
-  ] ++ lib.optionals stdenv.hostPlatform.isMusl [
-    ../../libcxx-0001-musl-hacks.patch
-  ];
-
-  # Prevent errors like "error: 'foo' is unavailable: introduced in macOS yy.zz"
-  postPatch = ''
-    substituteInPlace include/__config \
-      --replace "#    define _LIBCPP_USE_AVAILABILITY_APPLE" ""
-  '';
-
-  prePatch = ''
-    substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
-  '';
-
-  preConfigure = ''
-    # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
-    cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
-  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
-    patchShebangs utils/cat_files.py
-  '';
-  nativeBuildInputs = [ cmake ]
-    ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) python3
-    ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
-
-  buildInputs = [ cxxabi ];
-
-  cmakeFlags = [
-    "-DLIBCXX_LIBCPPABI_VERSION=2"
-    "-DLIBCXX_CXX_ABI=${cxxabi.pname}"
-  ] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
-    ++ lib.optional (cxxabi.pname == "libcxxabi") "-DLIBCXX_LIBCXXABI_LIB_PATH=${cxxabi}/lib"
-    ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
-    ++ lib.optionals stdenv.hostPlatform.isWasm [
-      "-DLIBCXX_ENABLE_THREADS=OFF"
-      "-DLIBCXX_ENABLE_FILESYSTEM=OFF"
-      "-DLIBCXX_ENABLE_EXCEPTIONS=OFF"
-    ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF";
-
-  preInstall = lib.optionalString (stdenv.isDarwin) ''
-    for file in lib/*.dylib; do
-      if [ -L "$file" ]; then continue; fi
-
-      baseName=$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))
-      installName="$out/lib/$baseName"
-      abiName=$(echo "$baseName" | sed -e 's/libc++/libc++abi/')
-
-      for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other ${cxxabi}/lib/$abiName $file
-      done
-    done
-  '';
-
-  passthru = {
-    isLLVM = true;
-    inherit cxxabi;
-  };
-
-  meta = llvm_meta // {
-    homepage = "https://libcxx.llvm.org/";
-    description = "C++ standard library";
-    longDescription = ''
-      libc++ is an implementation of the C++ standard library, targeting C++11,
-      C++14 and above.
-    '';
-    # "All of the code in libc++ is dual licensed under the MIT license and the
-    # UIUC License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-  };
-}
diff --git a/pkgs/development/compilers/llvm/8/libcxx/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/8/libcxx/gnu-install-dirs.patch
deleted file mode 100644
index 6af403ac86b4..000000000000
--- a/pkgs/development/compilers/llvm/8/libcxx/gnu-install-dirs.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 6b83bce1ae72..63cda3e4e80c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -26,6 +26,8 @@ set(CMAKE_MODULE_PATH
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   project(libcxx CXX C)
- 
-+  include(GNUInstallDirs)
-+
-   set(PACKAGE_NAME libcxx)
-   set(PACKAGE_VERSION 8.0.1)
-   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake
-index 1c19d7e01af7..9c8aee8e8bb7 100644
---- a/cmake/Modules/HandleLibCXXABI.cmake
-+++ b/cmake/Modules/HandleLibCXXABI.cmake
-@@ -59,7 +59,7 @@ macro(setup_abi_lib abidefines abilib abifiles abidirs)
- 
-         if (LIBCXX_INSTALL_HEADERS)
-           install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}"
--            DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dstdir}
-+            DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir}
-             COMPONENT cxx-headers
-             PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-             )
-diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
-index 73f7cfc4d8e3..92cf0864ac7e 100644
---- a/include/CMakeLists.txt
-+++ b/include/CMakeLists.txt
-@@ -243,7 +243,7 @@ if (LIBCXX_INSTALL_HEADERS)
-   foreach(file ${files})
-     get_filename_component(dir ${file} DIRECTORY)
-     install(FILES ${file}
--      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dir}
-+      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dir}
-       COMPONENT cxx-headers
-       PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-     )
-@@ -252,7 +252,7 @@ if (LIBCXX_INSTALL_HEADERS)
-   if (LIBCXX_NEEDS_SITE_CONFIG)
-     # Install the generated header as __config.
-     install(FILES ${LIBCXX_BINARY_DIR}/__generated_config
--      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1
-+      DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1
-       PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-       RENAME __config
-       COMPONENT cxx-headers)
-diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
-index 24489e8fb5e8..7327e5ee4b85 100644
---- a/lib/CMakeLists.txt
-+++ b/lib/CMakeLists.txt
-@@ -414,8 +414,8 @@ if (LIBCXX_INSTALL_LIBRARY)
-     set(experimental_lib cxx_experimental)
-   endif()
-   install(TARGETS ${LIBCXX_INSTALL_TARGETS} ${filesystem_lib} ${experimental_lib}
--    LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
--    ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
-+    LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
-+    ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} COMPONENT cxx
-     )
-   # NOTE: This install command must go after the cxx install command otherwise
-   # it will not be executed after the library symlinks are installed.
-@@ -423,7 +423,7 @@ if (LIBCXX_INSTALL_LIBRARY)
-     # Replace the libc++ filename with $<TARGET_LINKER_FILE:cxx>
-     # after we required CMake 3.0.
-     install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}"
--      DESTINATION ${LIBCXX_INSTALL_PREFIX}lib${LIBCXX_LIBDIR_SUFFIX}
-+      DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX}
-       COMPONENT libcxx)
-   endif()
- endif()
diff --git a/pkgs/development/compilers/llvm/8/libcxxabi/default.nix b/pkgs/development/compilers/llvm/8/libcxxabi/default.nix
deleted file mode 100644
index 885d85b8c3e7..000000000000
--- a/pkgs/development/compilers/llvm/8/libcxxabi/default.nix
+++ /dev/null
@@ -1,85 +0,0 @@
-{ lib, stdenv, llvm_meta, cmake, fetch, libcxx, libunwind, llvm, version
-, enableShared ? !stdenv.hostPlatform.isStatic
-}:
-
-stdenv.mkDerivation {
-  pname = "libcxxabi";
-  inherit version;
-
-  src = fetch "libcxxabi" "1vznz8n1z1h8af0ga451m98lc2hjnv4fyzl71napsvjhvk4g6nxp";
-
-  outputs = [ "out" "dev" ];
-
-  postUnpack = ''
-    unpackFile ${libcxx.src}
-    unpackFile ${llvm.src}
-    cmakeFlags+=" -DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
-  '' + lib.optionalString stdenv.isDarwin ''
-    export TRIPLE=x86_64-apple-darwin
-  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
-    patch -p1 -d $(ls -d libcxx-*) -i ${../../libcxx-0001-musl-hacks.patch}
-  '' + lib.optionalString stdenv.hostPlatform.isWasm ''
-    patch -p1 -d $(ls -d llvm-*) -i ${./wasm.patch}
-  '';
-
-  patches = [
-    ../../common/libcxxabi/no-threads.patch
-    ./gnu-install-dirs.patch
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.hostPlatform.isWasm) libunwind;
-
-  cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [
-    "-DLLVM_ENABLE_LIBCXX=ON"
-    "-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
-  ] ++ lib.optionals stdenv.hostPlatform.isWasm [
-    "-DLIBCXXABI_ENABLE_THREADS=OFF"
-    "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF"
-  ] ++ lib.optionals (!enableShared) [
-    "-DLIBCXXABI_ENABLE_SHARED=OFF"
-  ];
-
-  preInstall = lib.optionalString stdenv.isDarwin ''
-    for file in lib/*.dylib; do
-      if [ -L "$file" ]; then continue; fi
-
-      # Fix up the install name. Preserve the basename, just replace the path.
-      installName="$out/lib/$(basename $(${stdenv.cc.targetPrefix}otool -D $file | tail -n 1))"
-
-      # this should be done in CMake, but having trouble figuring out
-      # the magic combination of necessary CMake variables
-      # if you fancy a try, take a look at
-      # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
-      ${stdenv.cc.targetPrefix}install_name_tool -id $installName $file
-
-      # cc-wrapper passes '-lc++abi' to all c++ link steps, but that causes
-      # libcxxabi to sometimes link against a different version of itself.
-      # Here we simply make that second reference point to ourselves.
-      for other in $(${stdenv.cc.targetPrefix}otool -L $file | awk '$1 ~ "/libc\\+\\+abi" { print $1 }'); do
-        ${stdenv.cc.targetPrefix}install_name_tool -change $other $installName $file
-      done
-    done
-  '';
-
-  postInstall = ''
-    mkdir -p "$dev/include"
-    install -m 644 ../include/${if stdenv.isDarwin then "*" else "cxxabi.h"} "$dev/include"
-  '';
-
-  passthru = {
-    libName = "c++abi";
-  };
-
-  meta = llvm_meta // {
-    homepage = "https://libcxxabi.llvm.org/";
-    description = "Provides C++ standard library support";
-    longDescription = ''
-      libc++abi is a new implementation of low level support for a standard C++ library.
-    '';
-    # "All of the code in libc++abi is dual licensed under the MIT license and
-    # the UIUC License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-    maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ];
-  };
-}
diff --git a/pkgs/development/compilers/llvm/8/libcxxabi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/8/libcxxabi/gnu-install-dirs.patch
deleted file mode 100644
index 3f924b0efbea..000000000000
--- a/pkgs/development/compilers/llvm/8/libcxxabi/gnu-install-dirs.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 92c7dc5dc557..556b3e05a042 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -20,6 +20,8 @@ set(CMAKE_MODULE_PATH
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   project(libcxxabi CXX C)
- 
-+  include(GNUInstallDirs)
-+
-   set(PACKAGE_NAME libcxxabi)
-   set(PACKAGE_VERSION 8.0.0)
-   set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 7e21fb2d7926..30711099a19c 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -220,8 +220,8 @@ add_custom_target(cxxabi DEPENDS ${LIBCXXABI_BUILD_TARGETS})
- 
- if (LIBCXXABI_INSTALL_LIBRARY)
-   install(TARGETS ${LIBCXXABI_INSTALL_TARGETS}
--    LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}lib${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi
--    ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}lib${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi
-+    LIBRARY DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi
-+    ARCHIVE DESTINATION ${LIBCXXABI_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} COMPONENT cxxabi
-     )
- endif()
- 
diff --git a/pkgs/development/compilers/llvm/8/libunwind/default.nix b/pkgs/development/compilers/llvm/8/libunwind/default.nix
deleted file mode 100644
index 244b5775bdc8..000000000000
--- a/pkgs/development/compilers/llvm/8/libunwind/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, fetchpatch
-, enableShared ? !stdenv.hostPlatform.isStatic
-}:
-
-stdenv.mkDerivation rec {
-  pname = "libunwind";
-  inherit version;
-
-  src = fetch pname "0vhgcgzsb33l83qaikrkj87ypqb48mi607rccczccwiiv8ficw0q";
-
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/llvm-mirror/libunwind/commit/34a45c630d4c79af403661d267db42fbe7de1178.patch";
-      sha256 = "0n0pv6jvcky8pn3srhrf9x5kbnd0d2kia9xlx2g590f5q0bgwfhv";
-    })
-    (fetchpatch {
-      url = "https://github.com/llvm-mirror/libunwind/commit/e050272d2eb57eb4e56a37b429a61df2ebb8aa3e.patch";
-      sha256 = "1sxyx5xnax8k713jjcxgq3jq3cpnxygs2rcdf5vfja0f2k9jzldl";
-    })
-    ./gnu-install-dirs.patch
-  ];
-
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [ cmake ];
-
-  cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
-
-  meta = llvm_meta // {
-    # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
-    homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
-    description = "LLVM's unwinder library";
-    longDescription = ''
-      The unwind library provides a family of _Unwind_* functions implementing
-      the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
-      I). It is a dependency of the C++ ABI library, and sometimes is a
-      dependency of other runtimes.
-    '';
-  };
-}
diff --git a/pkgs/development/compilers/llvm/8/libunwind/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/8/libunwind/gnu-install-dirs.patch
deleted file mode 100644
index ffabba8137d6..000000000000
--- a/pkgs/development/compilers/llvm/8/libunwind/gnu-install-dirs.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3d06073cfe74..55c7d1635fcd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -18,6 +18,8 @@ set(CMAKE_MODULE_PATH
- if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   project(libunwind)
- 
-+  include(GNUInstallDirs)
-+
-   # Rely on llvm-config.
-   set(CONFIG_OUTPUT)
-   if(NOT LLVM_CONFIG_PATH)
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index f7523f88b6ac..4060dad214de 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -151,8 +151,8 @@ add_custom_target(unwind DEPENDS ${LIBUNWIND_BUILD_TARGETS})
- 
- if (LIBUNWIND_INSTALL_LIBRARY)
-   install(TARGETS ${LIBUNWIND_INSTALL_TARGETS}
--    LIBRARY DESTINATION ${LIBUNWIND_INSTALL_PREFIX}lib${LIBUNWIND_LIBDIR_SUFFIX} COMPONENT unwind
--    ARCHIVE DESTINATION ${LIBUNWIND_INSTALL_PREFIX}lib${LIBUNWIND_LIBDIR_SUFFIX} COMPONENT unwind)
-+    LIBRARY DESTINATION ${LIBUNWIND_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBUNWIND_LIBDIR_SUFFIX} COMPONENT unwind
-+    ARCHIVE DESTINATION ${LIBUNWIND_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}${LIBUNWIND_LIBDIR_SUFFIX} COMPONENT unwind)
- endif()
- 
- if (NOT CMAKE_CONFIGURATION_TYPES AND LIBUNWIND_INSTALL_LIBRARY)
diff --git a/pkgs/development/compilers/llvm/8/lld/default.nix b/pkgs/development/compilers/llvm/8/lld/default.nix
deleted file mode 100644
index 9a3a49db7855..000000000000
--- a/pkgs/development/compilers/llvm/8/lld/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, stdenv, llvm_meta
-, buildLlvmTools
-, fetch
-, cmake
-, libxml2
-, libllvm
-, version
-}:
-
-stdenv.mkDerivation rec {
-  pname = "lld";
-  inherit version;
-
-  src = fetch pname "121xhxrlvwy3k5nf6p1wv31whxlb635ssfkci8z93mwv4ja1xflz";
-
-  patches = [
-    ./gnu-install-dirs.patch
-  ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ libllvm libxml2 ];
-
-  cmakeFlags = [
-    "-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
-  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
-  ];
-
-  # Musl's default stack size is too small for lld to be able to link Firefox.
-  LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152";
-
-  outputs = [ "out" "lib" "dev" ];
-
-  meta = llvm_meta // {
-    homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker (unwrapped)";
-    longDescription = ''
-      LLD is a linker from the LLVM project that is a drop-in replacement for
-      system linkers and runs much faster than them. It also provides features
-      that are useful for toolchain developers.
-      The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and
-      WebAssembly in descending order of completeness. Internally, LLD consists
-      of several different linkers.
-    '';
-  };
-}
diff --git a/pkgs/development/compilers/llvm/8/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/8/lld/gnu-install-dirs.patch
deleted file mode 100644
index acc2d3d47760..000000000000
--- a/pkgs/development/compilers/llvm/8/lld/gnu-install-dirs.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e2fbdbfbbb47..d601b231ebb8 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -6,6 +6,8 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   set(CMAKE_INCLUDE_CURRENT_DIR ON)
-   set(LLD_BUILT_STANDALONE TRUE)
- 
-+  include(GNUInstallDirs)
-+
-   find_program(LLVM_CONFIG_PATH "llvm-config" DOC "Path to llvm-config binary")
-   if(NOT LLVM_CONFIG_PATH)
-     message(FATAL_ERROR "llvm-config not found: specify LLVM_CONFIG_PATH")
-@@ -203,7 +205,7 @@ include_directories(BEFORE
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake
-index fa48b428d26b..e7967aad3ceb 100644
---- a/cmake/modules/AddLLD.cmake
-+++ b/cmake/modules/AddLLD.cmake
-@@ -20,9 +20,9 @@ macro(add_lld_library name)
-     install(TARGETS ${name}
-       COMPONENT ${name}
-       ${export_to_lldtargets}
--      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--      RUNTIME DESTINATION bin)
-+      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
-     if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
-       add_llvm_install_targets(install-${name}
-@@ -54,7 +54,7 @@ macro(add_lld_tool name)
- 
-     install(TARGETS ${name}
-       ${export_to_lldtargets}
--      RUNTIME DESTINATION bin
-+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-       COMPONENT ${name})
- 
-     if(NOT CMAKE_CONFIGURATION_TYPES)
-@@ -69,5 +69,5 @@ endmacro()
- macro(add_lld_symlink name dest)
-   add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
-   # Always generate install targets
--  llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE)
-+  llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE)
- endmacro()
-diff --git a/tools/lld/CMakeLists.txt b/tools/lld/CMakeLists.txt
-index d8829493fc22..df748a0e749b 100644
---- a/tools/lld/CMakeLists.txt
-+++ b/tools/lld/CMakeLists.txt
-@@ -16,7 +16,7 @@ target_link_libraries(lld
-   )
- 
- install(TARGETS lld
--  RUNTIME DESTINATION bin)
-+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- 
- if(NOT LLD_SYMLINKS_TO_CREATE)
-   set(LLD_SYMLINKS_TO_CREATE lld-link ld.lld ld64.lld wasm-ld)
diff --git a/pkgs/development/compilers/llvm/8/lldb/default.nix b/pkgs/development/compilers/llvm/8/lldb/default.nix
deleted file mode 100644
index 4e8cdcdf8ac2..000000000000
--- a/pkgs/development/compilers/llvm/8/lldb/default.nix
+++ /dev/null
@@ -1,109 +0,0 @@
-{ lib, stdenv, llvm_meta
-, fetch
-, cmake
-, zlib
-, ncurses
-, swig
-, which
-, libedit
-, libxml2
-, libllvm
-, libclang
-, python3
-, version
-, darwin
-, makeWrapper
-}:
-
-stdenv.mkDerivation rec {
-  pname = "lldb";
-  inherit version;
-
-  src = fetch "lldb" "1mriw4adrwm6kzabrjr7yqmdiylxd6glf6samd80dp8idnm9p9z8";
-
-  patches = [
-    ./gnu-install-dirs.patch
-
-    # Fix darwin build
-    ./lldb-gdb-remote-no-libcompress.patch
-  ];
-
-  postPatch = ''
-    # Fix up various paths that assume llvm and clang are installed in the same place
-    sed -i 's,".*ClangConfig.cmake","${libclang.dev}/lib/cmake/clang/ClangConfig.cmake",' \
-      cmake/modules/LLDBStandalone.cmake
-    sed -i 's,".*tools/clang/include","${libclang.dev}/include",' \
-      cmake/modules/LLDBStandalone.cmake
-    sed -i 's,"$.LLVM_LIBRARY_DIR.",${libllvm.lib}/lib ${libclang.lib}/lib,' \
-      cmake/modules/LLDBStandalone.cmake
-
-    substituteInPlace tools/CMakeLists.txt \
-      --replace "add_subdirectory(debugserver)" ""
-  '';
-
-  outputs = [ "out" "lib" "dev" ];
-
-  nativeBuildInputs = [
-    cmake python3 which swig makeWrapper
-  ];
-
-  buildInputs = [
-    ncurses zlib libedit libxml2 libllvm
-  ] ++ lib.optionals stdenv.isDarwin [
-    darwin.libobjc
-    darwin.apple_sdk.libs.xpc
-    darwin.apple_sdk.frameworks.Foundation
-    darwin.bootstrap_cmds
-    darwin.apple_sdk.frameworks.Carbon
-    darwin.apple_sdk.frameworks.Cocoa
-    darwin.apple_sdk.frameworks.DebugSymbols
-  ];
-
-  CXXFLAGS = "-fno-rtti";
-  hardeningDisable = [ "format" ];
-
-  cmakeFlags = [
-    "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
-    "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
-  ] ++ lib.optionals stdenv.isDarwin [
-    # Building debugserver requires the proprietary libcompression
-    "-DLLDB_NO_DEBUGSERVER=ON"
-  ] ++ lib.optionals doCheck [
-    "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
-    "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
-  ];
-
-  doCheck = false;
-
-  doInstallCheck = true;
-
-  installCheckPhase = ''
-    if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then
-        echo "ERROR: python files not installed where expected!";
-        return 1;
-    fi
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/
-
-    mkdir -p $out/share/man/man1
-    cp ../docs/lldb.1 $out/share/man/man1/
-
-    install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json
-    mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-    ln -s $out/bin/llvm-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin
-  '';
-
-  meta = llvm_meta // {
-    broken = stdenv.isDarwin && stdenv.isAarch64;
-    homepage = "https://lldb.llvm.org/";
-    description = "A next-generation high-performance debugger";
-    longDescription = ''
-      LLDB is a next generation, high-performance debugger. It is built as a set
-      of reusable components which highly leverage existing libraries in the
-      larger LLVM Project, such as the Clang expression parser and LLVM
-      disassembler.
-    '';
-  };
-}
diff --git a/pkgs/development/compilers/llvm/8/lldb/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/8/lldb/gnu-install-dirs.patch
deleted file mode 100644
index 08b6fae654e5..000000000000
--- a/pkgs/development/compilers/llvm/8/lldb/gnu-install-dirs.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cdf22c4b0fc8..8def776f2b4a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -7,6 +7,8 @@ set(CMAKE_MODULE_PATH
-   "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules"
-   )
- 
-+include(GNUInstallDirs)
-+
- include(LLDBStandalone)
- include(LLDBConfig)
- include(AddLLDB)
-diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake
-index f82c11d3d317..776e6d6ef9de 100644
---- a/cmake/modules/AddLLDB.cmake
-+++ b/cmake/modules/AddLLDB.cmake
-@@ -63,18 +63,18 @@ function(add_lldb_library name)
-             set(install_dir ".")
-           endif()
-         else()
--          set(install_dir lib${LLVM_LIBDIR_SUFFIX})
-+          set(install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-         endif()
-         install(TARGETS ${name}
-           COMPONENT ${name}
--          RUNTIME DESTINATION bin
-+          RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-           LIBRARY DESTINATION ${install_dir}
-           ARCHIVE DESTINATION ${install_dir})
-       else()
-         install(TARGETS ${name}
-           COMPONENT ${name}
--          LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--          ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-+          LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+          ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-       endif()
-       if (NOT CMAKE_CONFIGURATION_TYPES)
-         add_llvm_install_targets(install-${name}
-@@ -122,7 +122,7 @@ function(add_lldb_executable name)
-   if(ARG_GENERATE_INSTALL)
-     install(TARGETS ${name}
-             COMPONENT ${name}
--            RUNTIME DESTINATION bin)
-+            RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-     if (NOT CMAKE_CONFIGURATION_TYPES)
-       add_llvm_install_targets(install-${name}
-                                DEPENDS ${name}
-diff --git a/cmake/modules/LLDBConfig.cmake b/cmake/modules/LLDBConfig.cmake
-index 109c5132d3be..8b9092faa29d 100644
---- a/cmake/modules/LLDBConfig.cmake
-+++ b/cmake/modules/LLDBConfig.cmake
-@@ -319,7 +319,7 @@ include_directories(BEFORE
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/
-     COMPONENT lldb-headers
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-@@ -329,7 +329,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
- 
-   install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
-     COMPONENT lldb-headers
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-diff --git a/tools/intel-features/CMakeLists.txt b/tools/intel-features/CMakeLists.txt
-index b5316540fdf3..3c3c882d503f 100644
---- a/tools/intel-features/CMakeLists.txt
-+++ b/tools/intel-features/CMakeLists.txt
-@@ -64,4 +64,4 @@ if (NOT LLDB_DISABLE_PYTHON AND LLDB_BUILD_INTEL_PT)
- endif()
- 
- install(TARGETS lldbIntelFeatures
--  LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-+  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cdf22c4..d56fc6a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -146,7 +146,7 @@ if (NOT LLDB_DISABLE_PYTHON)
-                --cfgBldDir=${lldb_scripts_dir}
-                --prefix=${CMAKE_BINARY_DIR}
-                --cmakeBuildConfiguration=${CMAKE_CFG_INTDIR}
--               --lldbLibDir=lib${LLVM_LIBDIR_SUFFIX}
-+               --lldbLibDir=${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-                ${use_python_wrapper_from_src_dir}
-                ${use_six_py_from_system}
-         VERBATIM
-diff --git a/cmake/modules/LLDBStandalone.cmake b/cmake/modules/LLDBStandalone.cmake
-index a9059dd..d76a47d 100644
---- a/cmake/modules/LLDBStandalone.cmake
-+++ b/cmake/modules/LLDBStandalone.cmake
-@@ -124,7 +124,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-   link_directories("${LLVM_LIBRARY_DIR}")
-
-   set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
--  set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX})
-+  set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_INSTALL_LIBDIR}/lib${LLVM_LIBDIR_SUFFIX})
-   set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX})
-
-   set(LLDB_BUILT_STANDALONE 1)
-diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
-index 3598247..bd60451 100644
---- a/scripts/CMakeLists.txt
-+++ b/scripts/CMakeLists.txt
-@@ -47,7 +47,7 @@ if(NOT LLDB_BUILD_FRAMEWORK)
-   endif()
-
-   set(SWIG_PYTHON_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${swig_python_subdir})
--  set(SWIG_INSTALL_DIR lib${LLVM_LIBDIR_SUFFIX})
-+  set(SWIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-
-   # Install the LLDB python module
-   install(DIRECTORY ${SWIG_PYTHON_DIR} DESTINATION ${SWIG_INSTALL_DIR})
diff --git a/pkgs/development/compilers/llvm/8/lldb/lldb-gdb-remote-no-libcompress.patch b/pkgs/development/compilers/llvm/8/lldb/lldb-gdb-remote-no-libcompress.patch
deleted file mode 100644
index e04d4ffb1060..000000000000
--- a/pkgs/development/compilers/llvm/8/lldb/lldb-gdb-remote-no-libcompress.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ru a/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp b/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
---- a/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp	2019-01-09 19:46:09.000000000 -0500
-+++ b/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp	2021-11-27 00:23:08.000000000 -0500
-@@ -42,11 +42,6 @@
- #define DEBUGSERVER_BASENAME "lldb-server"
- #endif
- 
--#if defined(__APPLE__)
--#define HAVE_LIBCOMPRESSION
--#include <compression.h>
--#endif
--
- #if defined(HAVE_LIBZ)
- #include <zlib.h>
- #endif
-diff -ru a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
---- a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp	2018-12-18 18:02:50.000000000 -0500
-+++ b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp	2021-11-27 00:09:07.000000000 -0500
-@@ -37,11 +37,6 @@
- 
- #include "llvm/ADT/StringSwitch.h"
- 
--#if defined(__APPLE__)
--#define HAVE_LIBCOMPRESSION
--#include <compression.h>
--#endif
--
- using namespace lldb;
- using namespace lldb_private;
- using namespace lldb_private::process_gdb_remote;
diff --git a/pkgs/development/compilers/llvm/8/llvm/default.nix b/pkgs/development/compilers/llvm/8/llvm/default.nix
deleted file mode 100644
index c2f924331098..000000000000
--- a/pkgs/development/compilers/llvm/8/llvm/default.nix
+++ /dev/null
@@ -1,329 +0,0 @@
-{ lib, stdenv, llvm_meta
-, pkgsBuildBuild
-, fetch
-, fetchpatch
-, cmake
-, python3
-, libffi
-, enableGoldPlugin ? libbfd.hasPluginAPI
-, libbfd
-, libpfm
-, libxml2
-, ncurses
-, version
-, release_version
-, zlib
-, buildLlvmTools
-, debugVersion ? false
-, doCheck ? stdenv.isLinux && (!stdenv.isx86_32)
-  && (stdenv.hostPlatform == stdenv.buildPlatform)
-, enableManpages ? false
-, enableSharedLibraries ? !stdenv.hostPlatform.isStatic
-# broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245
-# broken for the armv7l builder
-, enablePFM ? stdenv.isLinux && !stdenv.hostPlatform.isAarch
-, enablePolly ? false
-}:
-
-let
-  inherit (lib) optional optionals optionalString;
-
-  # Used when creating a version-suffixed symlink of libLLVM.dylib
-  shortVersion = with lib;
-    concatStringsSep "." (take 1 (splitVersion release_version));
-
-  # Ordinarily we would just the `doCheck` and `checkDeps` functionality
-  # `mkDerivation` gives us to manage our test dependencies (instead of breaking
-  # out `doCheck` as a package level attribute).
-  #
-  # Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in
-  # particular the children it uses to do feature detection.
-  #
-  # This means that python deps we add to `checkDeps` (which the python
-  # interpreter is made aware of via `$PYTHONPATH` – populated by the python
-  # setup hook) are not picked up by `lit` which causes it to skip tests.
-  #
-  # Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work
-  # because this package is shadowed in `$PATH` by the regular `python3`
-  # package.
-  #
-  # So, we "manually" assemble one python derivation for the package to depend
-  # on, taking into account whether checks are enabled or not:
-  python = if doCheck then
-    let
-      checkDeps = ps: with ps; [ psutil ];
-    in python3.withPackages checkDeps
-  else python3;
-
-in stdenv.mkDerivation (rec {
-  pname = "llvm";
-  inherit version;
-
-  src = fetch "llvm" "1rvm5gqp5v8hfn17kqws3zhk94w4kxndal12bqa0y57p09nply24";
-  polly_src = fetch "polly" "1lfjdz3ilj5xmjxvicd8f5ykybks67ry2pdb777352r3mzlgg8g8";
-
-  unpackPhase = ''
-    unpackFile $src
-    mv llvm-${version}* llvm
-    sourceRoot=$PWD/llvm
-  '' + optionalString enablePolly ''
-    unpackFile $polly_src
-    mv polly-* $sourceRoot/tools/polly
-  '';
-
-  outputs = [ "out" "lib" "dev" "python" ];
-
-  nativeBuildInputs = [ cmake python ]
-    ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ];
-
-  buildInputs = [ libxml2 libffi ]
-    ++ optional enablePFM libpfm; # exegesis
-
-  propagatedBuildInputs = [ ncurses zlib ];
-
-  patches = [
-    # When cross-compiling we configure llvm-config-native with an approximation
-    # of the flags used for the normal LLVM build. To avoid the need for building
-    # a native libLLVM.so (which would fail) we force llvm-config to be linked
-    # statically against the necessary LLVM components always.
-    ../../llvm-config-link-static.patch
-
-    # Fix missing includes for GCC 10
-    (fetchpatch {
-      url = "https://bugs.gentoo.org/attachment.cgi?id=612792";
-      sha256 = "0rwx6jpqq4xnf4mvfm8v2d4r34y1yi05am0mx5k2d5bha9j64lqg";
-    })
-    ./gnu-install-dirs.patch
-
-    # Fix missing includes for GCC 11
-    (fetchpatch {
-      name = "headers-gcc-11.patch";
-      url = "https://github.com/llvm/llvm-project/commit/b498303066a63a203d24f739b2d2e0e56dca70d1.patch";
-      sha256 = "0nh123kld0dgz2h941lng331dkj3wbm5lfxm375k1f569gv83hlk";
-      stripLen = 1;
-    })
-
-    # Fix invalid std::string(nullptr) for GCC 12
-    (fetchpatch {
-      name = "nvptx-gcc-12.patch";
-      url = "https://github.com/llvm/llvm-project/commit/99e64623ec9b31def9375753491cc6093c831809.patch";
-      sha256 = "0zjfjgavqzi2ypqwqnlvy6flyvdz8hi1anwv0ybwnm2zqixg7za3";
-      stripLen = 1;
-    })
-
-    # Fix musl build.
-    (fetchpatch {
-      url = "https://github.com/llvm/llvm-project/commit/5cd554303ead0f8891eee3cd6d25cb07f5a7bf67.patch";
-      relative = "llvm";
-      hash = "sha256-XPbvNJ45SzjMGlNUgt/IgEvM2dHQpDOe6woUJY+nUYA=";
-    })
-  ] ++ lib.optionals enablePolly [
-    ./gnu-install-dirs-polly.patch
-    # Add missing isl header includess required to build LLVM 8 + Polly with clang 16.
-    (fetchpatch {
-      name = "polly-ppcg-isl-headers.patch";
-      url = "https://repo.or.cz/ppcg.git/patch/098ba285306114dc71497f7b51c357f69c9b4472";
-      hash = "sha256-c9L30rDROYAMbUSuaK9U/ixyFMlH/Sa1n+VgLODzSCQ=";
-      extraPrefix = "tools/polly/lib/External/ppcg/";
-      stripLen = 1;
-    })
-  ];
-
-  postPatch = optionalString stdenv.isDarwin ''
-    substituteInPlace cmake/modules/AddLLVM.cmake \
-      --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \
-      --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}" ''${extra_libdir})' ""
-  '' + ''
-    # FileSystem permissions tests fail with various special bits
-    substituteInPlace unittests/Support/CMakeLists.txt \
-      --replace "Path.cpp" ""
-    rm unittests/Support/Path.cpp
-  '' + optionalString stdenv.hostPlatform.isMusl ''
-    patch -p1 -i ${../../TLI-musl.patch}
-    substituteInPlace unittests/Support/CMakeLists.txt \
-      --replace "add_subdirectory(DynamicLibrary)" ""
-    rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
-    # valgrind unhappy with musl or glibc, but fails w/musl only
-    rm test/CodeGen/AArch64/wineh4.mir
-  '' + ''
-    patchShebangs test/BugPoint/compile-custom.ll.py
-  '' + ''
-    # Tweak tests to ignore namespace part of type to support
-    # gcc-12: https://gcc.gnu.org/PR103598.
-    # The change below mangles strings like:
-    #    CHECK-NEXT: Starting llvm::Function pass manager run.
-    # to:
-    #    CHECK-NEXT: Starting {{.*}}Function pass manager run.
-    for f in \
-      test/Other/new-pass-manager.ll \
-      test/Other/new-pm-defaults.ll \
-      test/Other/new-pm-lto-defaults.ll \
-      test/Other/new-pm-thinlto-defaults.ll \
-      test/Other/pass-pipeline-parsing.ll \
-      test/Transforms/Inline/cgscc-incremental-invalidate.ll \
-      test/Transforms/Inline/clear-analyses.ll \
-      test/Transforms/LoopUnroll/unroll-loop-invalidation.ll \
-      test/Transforms/SCCP/ipsccp-preserve-analysis.ll \
-      test/Transforms/SCCP/preserve-analysis.ll \
-      test/Transforms/SROA/dead-inst.ll \
-      test/tools/gold/X86/new-pm.ll \
-      ; do
-      echo "PATCH: $f"
-      substituteInPlace $f \
-        --replace 'Starting llvm::' 'Starting {{.*}}' \
-        --replace 'Finished llvm::' 'Finished {{.*}}'
-    done
-  '';
-
-  preConfigure = ''
-    # Workaround for configure flags that need to have spaces
-    cmakeFlagsArray+=(
-      -DLLVM_LIT_ARGS='-svj''${NIX_BUILD_CORES} --no-progress-bar'
-    )
-  '';
-
-  # hacky fix: created binaries need to be run before installation
-  preBuild = ''
-    mkdir -p $out/
-    ln -sv $PWD/lib $out
-  '';
-
-  cmakeBuildType = if debugVersion then "Debug" else "Release";
-
-  cmakeFlags = with stdenv; let
-    # These flags influence llvm-config's BuildVariables.inc in addition to the
-    # general build. We need to make sure these are also passed via
-    # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native
-    # will return different results from the cross llvm-config.
-    #
-    # Some flags don't need to be repassed because LLVM already does so (like
-    # CMAKE_BUILD_TYPE), others are irrelevant to the result.
-    flagsForLlvmConfig = [
-      "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/"
-      "-DLLVM_ENABLE_RTTI=ON"
-    ] ++ optionals enableSharedLibraries [
-      "-DLLVM_LINK_LLVM_DYLIB=ON"
-    ];
-  in flagsForLlvmConfig ++ [
-    "-DLLVM_INSTALL_UTILS=ON"  # Needed by rustc
-    "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
-    "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
-    "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
-    "-DLLVM_ENABLE_DUMP=ON"
-  ] ++ optionals enableManpages [
-    "-DLLVM_BUILD_DOCS=ON"
-    "-DLLVM_ENABLE_SPHINX=ON"
-    "-DSPHINX_OUTPUT_MAN=ON"
-    "-DSPHINX_OUTPUT_HTML=OFF"
-    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-  ] ++ optionals (enableGoldPlugin) [
-    "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
-  ] ++ optionals (isDarwin) [
-    "-DLLVM_ENABLE_LIBCXX=ON"
-    "-DCAN_TARGET_i386=false"
-  ] ++ optionals ((stdenv.hostPlatform != stdenv.buildPlatform) && !(stdenv.buildPlatform.canExecute stdenv.hostPlatform)) [
-    "-DCMAKE_CROSSCOMPILING=True"
-    "-DLLVM_TABLEGEN=${buildLlvmTools.llvm}/bin/llvm-tblgen"
-    (
-      let
-        nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc;
-        nativeBintools = nativeCC.bintools.bintools;
-        nativeToolchainFlags = [
-          "-DCMAKE_C_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}cc"
-          "-DCMAKE_CXX_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}c++"
-          "-DCMAKE_AR=${nativeBintools}/bin/${nativeBintools.targetPrefix}ar"
-          "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip"
-          "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib"
-        ];
-        # We need to repass the custom GNUInstallDirs values, otherwise CMake
-        # will choose them for us, leading to wrong results in llvm-config-native
-        nativeInstallFlags = [
-          "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
-          "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin"
-          "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include"
-          "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib"
-          "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec"
-        ];
-      in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list="
-      + lib.concatStringsSep ";" (lib.concatLists [
-        flagsForLlvmConfig
-        nativeToolchainFlags
-        nativeInstallFlags
-      ])
-    )
-  ];
-
-  postBuild = ''
-    rm -fR $out
-  '';
-
-  preCheck = ''
-    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib
-  '';
-
-  postInstall = ''
-    mkdir -p $python/share
-    mv $out/share/opt-viewer $python/share/opt-viewer
-    moveToOutput "bin/llvm-config*" "$dev"
-    substituteInPlace "$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
-      --replace "\''${_IMPORT_PREFIX}/lib/lib" "$lib/lib/lib" \
-      --replace "$out/bin/llvm-config" "$dev/bin/llvm-config"
-    substituteInPlace "$dev/lib/cmake/llvm/LLVMConfig.cmake" \
-      --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}'"$lib"'")'
-  ''
-  + optionalString (stdenv.isDarwin && enableSharedLibraries) ''
-    ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
-    ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
-  ''
-  + optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
-    cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native
-  '';
-
-  inherit doCheck;
-
-  checkTarget = "check-all";
-
-  requiredSystemFeatures = [ "big-parallel" ];
-  meta = llvm_meta // {
-    homepage = "https://llvm.org/";
-    description = "A collection of modular and reusable compiler and toolchain technologies";
-    longDescription = ''
-      The LLVM Project is a collection of modular and reusable compiler and
-      toolchain technologies. Despite its name, LLVM has little to do with
-      traditional virtual machines. The name "LLVM" itself is not an acronym; it
-      is the full name of the project.
-      LLVM began as a research project at the University of Illinois, with the
-      goal of providing a modern, SSA-based compilation strategy capable of
-      supporting both static and dynamic compilation of arbitrary programming
-      languages. Since then, LLVM has grown to be an umbrella project consisting
-      of a number of subprojects, many of which are being used in production by
-      a wide variety of commercial and open source projects as well as being
-      widely used in academic research. Code in the LLVM project is licensed
-      under the "Apache 2.0 License with LLVM exceptions".
-    '';
-  };
-} // lib.optionalAttrs enableManpages {
-  pname = "llvm-manpages";
-
-  buildPhase = ''
-    make docs-llvm-man
-  '';
-
-  propagatedBuildInputs = [];
-
-  installPhase = ''
-    make -C docs install
-  '';
-
-  postPatch = null;
-  postInstall = null;
-
-  outputs = [ "out" ];
-
-  doCheck = false;
-
-  meta = llvm_meta // {
-    description = "man pages for LLVM ${version}";
-  };
-})
diff --git a/pkgs/development/compilers/llvm/8/llvm/gnu-install-dirs-polly.patch b/pkgs/development/compilers/llvm/8/llvm/gnu-install-dirs-polly.patch
deleted file mode 100644
index 7c477c7df58a..000000000000
--- a/pkgs/development/compilers/llvm/8/llvm/gnu-install-dirs-polly.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt
-index 9939097f743e..8cc538da912a 100644
---- a/tools/polly/CMakeLists.txt
-+++ b/tools/polly/CMakeLists.txt
-@@ -2,7 +2,11 @@
- if (NOT DEFINED LLVM_MAIN_SRC_DIR)
-   project(Polly)
-   cmake_minimum_required(VERSION 3.4.3)
-+endif()
-+
-+include(GNUInstallDirs)
- 
-+if (NOT DEFINED LLVM_MAIN_SRC_DIR)
-   # Where is LLVM installed?
-   find_package(LLVM CONFIG REQUIRED)
-   set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
-@@ -145,14 +149,14 @@ include_directories(
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN ".svn" EXCLUDE
-     )
- 
-   install(DIRECTORY ${POLLY_BINARY_DIR}/include/
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     FILES_MATCHING
-     PATTERN "*.h"
-     PATTERN "CMakeFiles" EXCLUDE
-diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt
-index 211f95512717..f9e04a4844b6 100644
---- a/tools/polly/cmake/CMakeLists.txt
-+++ b/tools/polly/cmake/CMakeLists.txt
-@@ -79,18 +79,18 @@ file(GENERATE
- 
- # Generate PollyConfig.cmake for the install tree.
- unset(POLLY_EXPORTS)
--set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-+set(POLLY_INSTALL_PREFIX "")
- set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
--set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}")
--set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}")
-+set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}")
-+set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
- if (POLLY_BUNDLED_ISL)
-   set(POLLY_CONFIG_INCLUDE_DIRS
--    "${POLLY_INSTALL_PREFIX}/include"
--    "${POLLY_INSTALL_PREFIX}/include/polly"
-+    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}"
-+    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly"
-     )
- else()
-   set(POLLY_CONFIG_INCLUDE_DIRS
--    "${POLLY_INSTALL_PREFIX}/include"
-+    "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}"
-     ${ISL_INCLUDE_DIRS}
-     )
- endif()
-@@ -100,12 +100,12 @@ endif()
- foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS)
-   get_target_property(tgt_type ${tgt} TYPE)
-   if (tgt_type STREQUAL "EXECUTABLE")
--    set(tgt_prefix "bin/")
-+    set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/")
-   else()
--    set(tgt_prefix "lib/")
-+    set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/")
-   endif()
- 
--  set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>")
-+  set(tgt_path "${tgt_prefix}$<TARGET_FILE_NAME:${tgt}>")
-   file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path})
- 
-   if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY")
-diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake
-index e48203871884..5bc8a2a52541 100644
---- a/tools/polly/cmake/polly_macros.cmake
-+++ b/tools/polly/cmake/polly_macros.cmake
-@@ -44,8 +44,8 @@ macro(add_polly_library name)
-   if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly")
-     install(TARGETS ${name}
-       EXPORT LLVMExports
--      LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
--      ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-+	  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
-+      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-   endif()
-   set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
- endmacro(add_polly_library)
-diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt
-index 8ffd984e542b..261cc19f3238 100644
---- a/tools/polly/lib/External/CMakeLists.txt
-+++ b/tools/polly/lib/External/CMakeLists.txt
-@@ -274,7 +274,7 @@ if (POLLY_BUNDLED_ISL)
-     install(DIRECTORY
-       ${ISL_SOURCE_DIR}/include/
-       ${ISL_BINARY_DIR}/include/
--      DESTINATION include/polly
-+      DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly
-       FILES_MATCHING
-       PATTERN "*.h"
-       PATTERN "CMakeFiles" EXCLUDE
diff --git a/pkgs/development/compilers/llvm/8/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/8/llvm/gnu-install-dirs.patch
deleted file mode 100644
index 027e43f7caca..000000000000
--- a/pkgs/development/compilers/llvm/8/llvm/gnu-install-dirs.patch
+++ /dev/null
@@ -1,394 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 81c2bab39ec9..075e68be6125 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -251,15 +251,21 @@ if (CMAKE_BUILD_TYPE AND
-   message(FATAL_ERROR "Invalid value for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
- endif()
- 
-+include(GNUInstallDirs)
-+
- set(LLVM_LIBDIR_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" )
- 
--set(LLVM_TOOLS_INSTALL_DIR "bin" CACHE STRING "Path for binary subdirectory (defaults to 'bin')")
-+set(LLVM_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE STRING
-+    "Path for binary subdirectory (defaults to 'bin')")
- mark_as_advanced(LLVM_TOOLS_INSTALL_DIR)
- 
- set(LLVM_UTILS_INSTALL_DIR "${LLVM_TOOLS_INSTALL_DIR}" CACHE STRING
-     "Path to install LLVM utilities (enabled by LLVM_INSTALL_UTILS=ON) (defaults to LLVM_TOOLS_INSTALL_DIR)")
- mark_as_advanced(LLVM_UTILS_INSTALL_DIR)
- 
-+set(LLVM_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/cmake/llvm" CACHE STRING
-+	"Path for CMake subdirectory (defaults to lib/cmake/llvm)" )
-+
- # They are used as destination of target generators.
- set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
- set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
-@@ -517,9 +523,9 @@ option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF)
- option (LLVM_ENABLE_OCAMLDOC "Build OCaml bindings documentation." ON)
- option (LLVM_ENABLE_BINDINGS "Build bindings." ON)
- 
--set(LLVM_INSTALL_DOXYGEN_HTML_DIR "share/doc/llvm/doxygen-html"
-+set(LLVM_INSTALL_DOXYGEN_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html"
-     CACHE STRING "Doxygen-generated HTML documentation install directory")
--set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "share/doc/llvm/ocaml-html"
-+set(LLVM_INSTALL_OCAMLDOC_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html"
-     CACHE STRING "OCamldoc-generated HTML documentation install directory")
- 
- option (LLVM_BUILD_EXTERNAL_COMPILER_RT
-@@ -956,7 +962,7 @@ endif()
- 
- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-   install(DIRECTORY include/llvm include/llvm-c
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     COMPONENT llvm-headers
-     FILES_MATCHING
-     PATTERN "*.def"
-@@ -968,7 +974,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
-     )
- 
-   install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm ${LLVM_INCLUDE_DIR}/llvm-c
--    DESTINATION include
-+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-     COMPONENT llvm-headers
-     FILES_MATCHING
-     PATTERN "*.def"
-@@ -983,13 +989,13 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
- 
-   if (LLVM_INSTALL_MODULEMAPS)
-     install(DIRECTORY include/llvm include/llvm-c
--            DESTINATION include
-+            DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
-             COMPONENT llvm-headers
-             FILES_MATCHING
-             PATTERN "module.modulemap"
-             )
-     install(FILES include/llvm/module.install.modulemap
--            DESTINATION include/llvm
-+            DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm
-             COMPONENT llvm-headers
-             RENAME "module.extern.modulemap"
-             )
-diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake
-index 1a417447278b..0c2aef338078 100644
---- a/cmake/modules/AddLLVM.cmake
-+++ b/cmake/modules/AddLLVM.cmake
-@@ -646,11 +646,11 @@ macro(add_llvm_library name)
-     if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LTO" OR
-         ${name} STREQUAL "OptRemarks" OR
-         (LLVM_LINK_LLVM_DYLIB AND ${name} STREQUAL "LLVM"))
--      set(install_dir lib${LLVM_LIBDIR_SUFFIX})
-+      set(install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-       if(ARG_MODULE OR ARG_SHARED OR BUILD_SHARED_LIBS)
-         if(WIN32 OR CYGWIN OR MINGW)
-           set(install_type RUNTIME)
--          set(install_dir bin)
-+          set(install_dir ${CMAKE_INSTALL_BINDIR})
-         else()
-           set(install_type LIBRARY)
-         endif()
-@@ -898,7 +898,7 @@ macro(add_llvm_example name)
-   endif()
-   add_llvm_executable(${name} ${ARGN})
-   if( LLVM_BUILD_EXAMPLES )
--    install(TARGETS ${name} RUNTIME DESTINATION examples)
-+    install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples)
-   endif()
-   set_target_properties(${name} PROPERTIES FOLDER "Examples")
- endmacro(add_llvm_example name)
-@@ -1442,7 +1442,7 @@ function(llvm_install_library_symlink name dest type)
-   set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX})
-   set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX})
- 
--  set(output_dir lib${LLVM_LIBDIR_SUFFIX})
-+  set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
-   if(WIN32 AND "${type}" STREQUAL "SHARED")
-     set(output_dir bin)
-   endif()
-@@ -1458,7 +1458,7 @@ function(llvm_install_library_symlink name dest type)
-   endif()
- endfunction()
- 
--function(llvm_install_symlink name dest)
-+function(llvm_install_symlink name dest output_dir)
-   cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN})
-   foreach(path ${CMAKE_MODULE_PATH})
-     if(EXISTS ${path}/LLVMInstallSymlink.cmake)
-@@ -1481,7 +1481,7 @@ function(llvm_install_symlink name dest)
-   set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX})
- 
-   install(SCRIPT ${INSTALL_SYMLINK}
--          CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})"
-+          CODE "install_symlink(${full_name} ${full_dest} ${output_dir})"
-           COMPONENT ${component})
- 
-   if (NOT LLVM_ENABLE_IDE AND NOT ARG_ALWAYS_GENERATE)
-@@ -1563,7 +1563,8 @@ function(add_llvm_tool_symlink link_name target)
-     endif()
- 
-     if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS)
--      llvm_install_symlink(${link_name} ${target})
-+      GNUInstallDirs_get_absolute_install_dir(output_dir LLVM_TOOLS_INSTALL_DIR)
-+      llvm_install_symlink(${link_name} ${target} ${output_dir})
-     endif()
-   endif()
- endfunction()
-@@ -1670,9 +1671,9 @@ function(llvm_setup_rpath name)
- 
-   if (APPLE)
-     set(_install_name_dir INSTALL_NAME_DIR "@rpath")
--    set(_install_rpath "@loader_path/../lib" ${extra_libdir})
-+    set(_install_rpath "@loader_path/../${CMAKE_INSTALL_LIBDIR}" ${extra_libdir})
-   elseif(UNIX)
--    set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-+    set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
-     if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
-       set_property(TARGET ${name} APPEND_STRING PROPERTY
-                    LINK_FLAGS " -Wl,-z,origin ")
-diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake
-index 02bab6846376..eff26adb2efc 100644
---- a/cmake/modules/AddOCaml.cmake
-+++ b/cmake/modules/AddOCaml.cmake
-@@ -140,9 +140,9 @@ function(add_ocaml_library name)
-   endforeach()
- 
-   if( APPLE )
--    set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}")
-+    set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
-   elseif( UNIX )
--    set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}")
-+    set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}")
-   endif()
-   list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}")
- 
-diff --git a/cmake/modules/AddSphinxTarget.cmake b/cmake/modules/AddSphinxTarget.cmake
-index 22e3dcb776aa..ba77b9c195e2 100644
---- a/cmake/modules/AddSphinxTarget.cmake
-+++ b/cmake/modules/AddSphinxTarget.cmake
-@@ -73,7 +73,7 @@ function (add_sphinx_target builder project)
- 
-       elseif (builder STREQUAL html)
-         string(TOUPPER "${project}" project_upper)
--        set(${project_upper}_INSTALL_SPHINX_HTML_DIR "share/doc/${project}/html"
-+        set(${project_upper}_INSTALL_SPHINX_HTML_DIR "${CMAKE_INSTALL_DOCDIR}/${project}/html"
-             CACHE STRING "HTML documentation install directory for ${project}")
- 
-         # '/.' indicates: copy the contents of the directory directly into
-diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt
-index f5cc0006fa06..77698aeaf000 100644
---- a/cmake/modules/CMakeLists.txt
-+++ b/cmake/modules/CMakeLists.txt
-@@ -1,4 +1,4 @@
--set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm)
-+set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')")
- set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
- 
- # First for users who use an installed LLVM, create the LLVMExports.cmake file.
-@@ -90,11 +90,11 @@ foreach(p ${_count})
-   set(LLVM_CONFIG_CODE "${LLVM_CONFIG_CODE}
- get_filename_component(LLVM_INSTALL_PREFIX \"\${LLVM_INSTALL_PREFIX}\" PATH)")
- endforeach(p)
--set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/include")
--set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}")
-+set(LLVM_CONFIG_INCLUDE_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
-+set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}")
- set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}")
- set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
--set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
-+set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}")
- set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
- set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
- configure_file(
-diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake
-index 1a04de931ff7..1c5ea4200635 100644
---- a/cmake/modules/LLVMInstallSymlink.cmake
-+++ b/cmake/modules/LLVMInstallSymlink.cmake
-@@ -10,7 +10,7 @@ function(install_symlink name target outdir)
-     set(LINK_OR_COPY copy)
-   endif()
- 
--  set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}/")
-+  set(bindir "${DESTDIR}${outdir}/")
- 
-   message("Creating ${name}")
- 
-diff --git a/docs/CMake.rst b/docs/CMake.rst
-index eb219c58560b..6f32532f8ebf 100644
---- a/docs/CMake.rst
-+++ b/docs/CMake.rst
-@@ -196,7 +196,7 @@ CMake manual, or execute ``cmake --help-variable VARIABLE_NAME``.
- **LLVM_LIBDIR_SUFFIX**:STRING
-   Extra suffix to append to the directory where libraries are to be
-   installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64``
--  to install libraries to ``/usr/lib64``.
-+  to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``.
- 
- **CMAKE_C_FLAGS**:STRING
-   Extra flags to use when compiling C source files.
-@@ -479,8 +479,8 @@ LLVM-specific variables
- 
- **LLVM_INSTALL_DOXYGEN_HTML_DIR**:STRING
-   The path to install Doxygen-generated HTML documentation to. This path can
--  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
--  `share/doc/llvm/doxygen-html`.
-+  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
-+  `${CMAKE_INSTALL_DOCDIR}/${project}/doxygen-html`.
- 
- **LLVM_ENABLE_SPHINX**:BOOL
-   If specified, CMake will search for the ``sphinx-build`` executable and will make
-@@ -511,13 +511,33 @@ LLVM-specific variables
- 
- **LLVM_INSTALL_SPHINX_HTML_DIR**:STRING
-   The path to install Sphinx-generated HTML documentation to. This path can
--  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
--  `share/doc/llvm/html`.
-+  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
-+  `${CMAKE_INSTALL_DOCDIR}/${project}/html`.
- 
- **LLVM_INSTALL_OCAMLDOC_HTML_DIR**:STRING
-   The path to install OCamldoc-generated HTML documentation to. This path can
--  either be absolute or relative to the CMAKE_INSTALL_PREFIX. Defaults to
--  `share/doc/llvm/ocaml-html`.
-+  either be absolute or relative to the ``CMAKE_INSTALL_PREFIX``. Defaults to
-+  `${CMAKE_INSTALL_DOCDIR}/${project}/ocaml-html`.
-+
-+**CMAKE_INSTALL_BINDIR**:STRING
-+  The path to install binary tools, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `bin`.
-+
-+**CMAKE_INSTALL_LIBDIR**:STRING
-+  The path to install libraries, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `lib`.
-+
-+**CMAKE_INSTALL_INCLUDEDIR**:STRING
-+  The path to install header files, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `include`.
-+
-+**CMAKE_INSTALL_DOCDIR**:STRING
-+  The path to install documentation, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `share/doc`.
-+
-+**CMAKE_INSTALL_MANDIR**:STRING
-+  The path to install manpage files, relative to the ``CMAKE_INSTALL_PREFIX``.
-+  Defaults to `share/man`.
- 
- **LLVM_CREATE_XCODE_TOOLCHAIN**:BOOL
-   OS X Only: If enabled CMake will generate a target named
-@@ -691,9 +711,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``).
- 
- This file is available in two different locations.
- 
--* ``<INSTALL_PREFIX>/lib/cmake/llvm/LLVMConfig.cmake`` where
--  ``<INSTALL_PREFIX>`` is the install prefix of an installed version of LLVM.
--  On Linux typically this is ``/usr/lib/cmake/llvm/LLVMConfig.cmake``.
-+* ``<LLVM_INSTALL_PACKAGE_DIR>LLVMConfig.cmake`` where
-+  ``<LLVM_INSTALL_PACKAGE_DIR>`` is the location where LLVM CMake modules are
-+  installed as part of an installed version of LLVM. This is typically
-+  ``cmake/llvm/`` within the lib directory. On Linux, this is typically
-+  ``/usr/lib/cmake/llvm/LLVMConfig.cmake``.
- 
- * ``<LLVM_BUILD_ROOT>/lib/cmake/llvm/LLVMConfig.cmake`` where
-   ``<LLVM_BUILD_ROOT>`` is the root of the LLVM build tree. **Note: this is only
-diff --git a/include/llvm/CMakeLists.txt b/include/llvm/CMakeLists.txt
-index 1d5ca3ba92b0..026f5453c1da 100644
---- a/include/llvm/CMakeLists.txt
-+++ b/include/llvm/CMakeLists.txt
-@@ -4,5 +4,5 @@ add_subdirectory(Support)
- # If we're doing an out-of-tree build, copy a module map for generated
- # header files into the build area.
- if (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
--  configure_file(module.modulemap.build module.modulemap COPYONLY)
-+  configure_file(module.modulemap.build ${LLVM_INCLUDE_DIR}/module.modulemap COPYONLY)
- endif (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
-diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in
-index f201e1f7bff0..4582ed556a02 100644
---- a/tools/llvm-config/BuildVariables.inc.in
-+++ b/tools/llvm-config/BuildVariables.inc.in
-@@ -24,6 +24,10 @@
- #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@"
- #define LLVM_BUILDMODE "@LLVM_BUILDMODE@"
- #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@"
-+#define LLVM_INSTALL_BINDIR "@CMAKE_INSTALL_BINDIR@"
-+#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@"
-+#define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@"
-+#define LLVM_INSTALL_CMAKEDIR "@LLVM_INSTALL_CMAKE_DIR@"
- #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@"
- #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@"
- #define LLVM_BUILD_SYSTEM "@LLVM_BUILD_SYSTEM@"
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index bec89fef98ca..31d78f925d45 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -333,12 +333,26 @@ int main(int argc, char **argv) {
-         ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
-   } else {
-     ActivePrefix = CurrentExecPrefix;
--    ActiveIncludeDir = ActivePrefix + "/include";
--    SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
--    sys::fs::make_absolute(ActivePrefix, path);
--    ActiveBinDir = path.str();
--    ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
--    ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_INCLUDEDIR));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveIncludeDir = std::string(path.str());
-+    }
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_BINDIR));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveBinDir = std::string(path.str());
-+    }
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveLibDir = std::string(path.str());
-+    }
-+    {
-+      SmallString<256> path(StringRef(LLVM_INSTALL_CMAKEDIR));
-+      sys::fs::make_absolute(ActivePrefix, path);
-+      ActiveCMakeDir = std::string(path.str());
-+    }
-     ActiveIncludeOption = "-I" + ActiveIncludeDir;
-   }
- 
-diff --git a/tools/lto/CMakeLists.txt b/tools/lto/CMakeLists.txt
-index 6e913519a809..85641eef721f 100644
---- a/tools/lto/CMakeLists.txt
-+++ b/tools/lto/CMakeLists.txt
-@@ -19,7 +19,7 @@ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports)
- add_llvm_library(LTO SHARED ${SOURCES} DEPENDS intrinsics_gen)
- 
- install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
--  DESTINATION include/llvm-c
-+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c
-   COMPONENT LTO)
- 
- if (APPLE)
-diff --git a/tools/opt-remarks/CMakeLists.txt b/tools/opt-remarks/CMakeLists.txt
-index a87beae1e893..149ea3d10168 100644
---- a/tools/opt-remarks/CMakeLists.txt
-+++ b/tools/opt-remarks/CMakeLists.txt
-@@ -11,7 +11,7 @@ set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/OptRemarks.exports)
- add_llvm_library(OptRemarks SHARED ${SOURCES})
- 
- install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/OptRemarks.h
--  DESTINATION include/llvm-c
-+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm-c
-   COMPONENT OptRemarks)
- 
- if (APPLE)
-diff --git a/tools/opt-viewer/CMakeLists.txt b/tools/opt-viewer/CMakeLists.txt
-index 19b606933082..27b9f71b3d79 100644
---- a/tools/opt-viewer/CMakeLists.txt
-+++ b/tools/opt-viewer/CMakeLists.txt
-@@ -8,6 +8,6 @@ set (files
- 
- foreach (file ${files})
-   install(PROGRAMS ${file}
--    DESTINATION share/opt-viewer
-+    DESTINATION ${CMAKE_INSTALL_DATADIR}/opt-viewer
-     COMPONENT opt-viewer)
- endforeach (file)
diff --git a/pkgs/development/compilers/llvm/8/openmp/default.nix b/pkgs/development/compilers/llvm/8/openmp/default.nix
deleted file mode 100644
index 32b564ff0ecf..000000000000
--- a/pkgs/development/compilers/llvm/8/openmp/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, stdenv
-, llvm_meta
-, fetch
-, cmake
-, llvm
-, targetLlvm
-, perl
-, version
-}:
-
-stdenv.mkDerivation {
-  pname = "openmp";
-  inherit version;
-
-  src = fetch "openmp" "0b3jlxhqbpyd1nqkpxjfggm5d9va5qpyf7d4i5y7n4a1mlydv19y";
-
-  nativeBuildInputs = [ cmake perl ];
-  buildInputs = [
-    (if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
-  ];
-
-  meta = llvm_meta // {
-    homepage = "https://openmp.llvm.org/";
-    description = "Support for the OpenMP language";
-    longDescription = ''
-      The OpenMP subproject of LLVM contains the components required to build an
-      executable OpenMP program that are outside the compiler itself.
-      Contains the code for the runtime library against which code compiled by
-      "clang -fopenmp" must be linked before it can run and the library that
-      supports offload to target devices.
-    '';
-    # "All of the code is dual licensed under the MIT license and the UIUC
-    # License (a BSD-like license)":
-    license = with lib.licenses; [ mit ncsa ];
-  };
-}
diff --git a/pkgs/development/compilers/rust/clippy.nix b/pkgs/development/compilers/rust/clippy.nix
index 43a10c1c7374..d9506a4aed30 100644
--- a/pkgs/development/compilers/rust/clippy.nix
+++ b/pkgs/development/compilers/rust/clippy.nix
@@ -38,6 +38,7 @@ rustPlatform.buildRustPackage {
   meta = with lib; {
     homepage = "https://rust-lang.github.io/rust-clippy/";
     description = "A bunch of lints to catch common mistakes and improve your Rust code";
+    mainProgram = "cargo-clippy";
     maintainers = with maintainers; [ basvandijk ] ++ teams.rust.members;
     license = with licenses; [ mit asl20 ];
     platforms = platforms.unix;
diff --git a/pkgs/development/compilers/spirv-llvm-translator/default.nix b/pkgs/development/compilers/spirv-llvm-translator/default.nix
index fb5b5b0b7ba5..88119d002808 100644
--- a/pkgs/development/compilers/spirv-llvm-translator/default.nix
+++ b/pkgs/development/compilers/spirv-llvm-translator/default.nix
@@ -28,10 +28,10 @@ let
       version = "15.0.0";
       rev = "v${version}";
       hash = "sha256-OsDohXRxovtEXaWiRGp8gJ0dXmoALyO+ZimeSO8aPVI=";
-    } else if llvmMajor == "14" then rec{
-      version = "14.0.0+unstable-2023-06-22";
-      rev = "23f398bf369093b1fd67459db8071ffcc6b92658";
-      hash = "sha256-o7cVj5/ZMER2CvfxL4pRb2qCIxC/HFUPiitf2fKtCyk=";
+    } else if llvmMajor == "14" then {
+      version = "14.0.0+unstable-2024-01-23";
+      rev = "582a3024c0c2d624a40fa2731d74b2c9ca3b94ab";
+      hash = "sha256-1IRX+5Xh8Fj+/1DIZQrN8ijb2y7H39Y3u+IdbqjQgCc=";
     } else if llvmMajor == "11" then {
       version = "11.0.0+unstable-2022-05-04";
       rev = "4ef524240833abfeee1c5b9fff6b1bd53f4806b3"; # 267 commits ahead of v11.0.0
@@ -48,7 +48,7 @@ disable-warnings-if-gcc13 (stdenv.mkDerivation {
     inherit (branch) rev hash;
   };
 
-  patches = [
+  patches = lib.optionals (lib.versionAtLeast llvmMajor "15") [
     # Fixes build after spirv-headers breaking change
     (fetchpatch {
       url = "https://github.com/KhronosGroup/SPIRV-LLVM-Translator/commit/0166a0fb86dc6c0e8903436bbc3a89bc3273ebc0.patch";
diff --git a/pkgs/development/compilers/unison/default.nix b/pkgs/development/compilers/unison/default.nix
index ab1e8aeea6f2..402171764800 100644
--- a/pkgs/development/compilers/unison/default.nix
+++ b/pkgs/development/compilers/unison/default.nix
@@ -11,17 +11,17 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "unison-code-manager";
-  version = "0.5.13";
+  version = "0.5.14";
 
   src = if stdenv.isDarwin then
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos.tar.gz";
-      hash = "sha256-/iaL3jTwUeGhfPgZ08njopkOC5t4RY3zggn0n2zLTnw=";
+      hash = "sha256-LLyJy0qz5qm08Xj+mb09lBN5sw3v8AnaSYv832sYefg=";
     }
   else
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux.tar.gz";
-      hash = "sha256-ZxuHpcyt0zxXMiltue99Tzrlvsrrb1cL3LNcGIo5NsI=";
+      hash = "sha256-sIw3mc78cGPi+E+fXEpMvt+IEfPW03lex30bs0TVevo=";
     };
 
   # The tarball is just the prebuilt binary, in the archive root.
diff --git a/pkgs/development/compilers/yosys/plugins/synlig.nix b/pkgs/development/compilers/yosys/plugins/synlig.nix
index f6232c1a9dfa..665421af21f3 100644
--- a/pkgs/development/compilers/yosys/plugins/synlig.nix
+++ b/pkgs/development/compilers/yosys/plugins/synlig.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, fetchpatch
 , pkg-config
 , antlr4
 , capnproto
@@ -29,6 +30,15 @@ stdenv.mkDerivation (finalAttrs: {
     fetchSubmodules = false;  # we use all dependencies from nix
   };
 
+  patches = [
+    (fetchpatch {
+      # Fixes https://github.com/chipsalliance/synlig/issues/2299
+      name = "make-compile-for-yosys-0.37.patch";
+      url = "https://github.com/chipsalliance/synlig/commit/3dd46d4769c20b6dd1163310f8e56560b351a211.patch";
+      hash = "sha256-OP/2HA/Ukt6o5aKgoBk19P6T/33btU/x6VnoIVXct1g=";
+    })
+  ];
+
   nativeBuildInputs = [
     pkg-config
   ];
diff --git a/pkgs/development/coq-modules/vscoq-language-server/default.nix b/pkgs/development/coq-modules/vscoq-language-server/default.nix
new file mode 100644
index 000000000000..e70094b994eb
--- /dev/null
+++ b/pkgs/development/coq-modules/vscoq-language-server/default.nix
@@ -0,0 +1,32 @@
+{ metaFetch, mkCoqDerivation, coq, lib, glib, gnome, wrapGAppsHook,
+  version ? null }:
+
+let ocamlPackages = coq.ocamlPackages;
+    defaultVersion = lib.switch coq.coq-version [
+      { case = "8.18"; out = "2.0.3+coq8.18"; }
+    ] null;
+    location = { domain = "github.com"; owner = "coq-community"; repo = "vscoq"; };
+    fetch = metaFetch ({
+      release."2.0.3+coq8.18".sha256 = "sha256-VXhHCP6Ni5/OcsgoI1EbJfYCpXzwkuR8kbbKrl6dfjU=";
+      release."2.0.3+coq8.18".rev = "v2.0.3+coq8.18";
+      inherit location; });
+    fetched = fetch (if version != null then version else defaultVersion);
+in
+ocamlPackages.buildDunePackage {
+  pname = "vscoq-language-server";
+  inherit (fetched) version;
+  src = "${fetched.src}/language-server";
+  buildInputs =
+    [ coq glib gnome.adwaita-icon-theme wrapGAppsHook ] ++
+    (with ocamlPackages; [ findlib
+      lablgtk3-sourceview3 yojson zarith ppx_inline_test
+      ppx_assert ppx_sexp_conv ppx_deriving ppx_import sexplib
+      ppx_yojson_conv lsp sel ]);
+
+  meta = with lib; {
+    description = "Language server for the vscoq vscode/codium extension";
+    homepage = "https://github.com/coq-community/vscoq";
+    maintainers = with maintainers; [ cohencyril ];
+    license = licenses.mit;
+  } // optionalAttrs (fetched.broken or false) { coqFilter = true; broken = true; };
+}
diff --git a/pkgs/development/gnuradio-modules/ais/default.nix b/pkgs/development/gnuradio-modules/ais/default.nix
index 92abb23a5c57..1376fbe657a8 100644
--- a/pkgs/development/gnuradio-modules/ais/default.nix
+++ b/pkgs/development/gnuradio-modules/ais/default.nix
@@ -14,6 +14,7 @@
 , icu
 , gnuradio
 , thrift
+, gnuradioAtLeast
 }:
 
 mkDerivation rec {
@@ -25,7 +26,7 @@ mkDerivation rec {
     rev = "2162103226f3dae43c8c2ab23b79483b84346665";
     sha256 = "1vackka34722d8pcspfwj0j6gc9ic7dqq64sgkrpjm94sh3bmb0b";
   };
-  disabledForGRafter = "3.9";
+  disabled = gnuradioAtLeast "3.9";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/development/gnuradio-modules/grnet/default.nix b/pkgs/development/gnuradio-modules/grnet/default.nix
index 817205cc0ca6..77390e52340b 100644
--- a/pkgs/development/gnuradio-modules/grnet/default.nix
+++ b/pkgs/development/gnuradio-modules/grnet/default.nix
@@ -15,6 +15,7 @@
 , libpcap
 , icu
 , thrift
+, gnuradioAtLeast
 }:
 
 let
@@ -53,7 +54,7 @@ mkDerivation {
   pname = "gr-grnet";
   version = version.name;
   inherit src;
-  disabledForGRafter = "3.10";
+  disabled = gnuradioAtLeast "3.10";
 
   patches = [
     # Use cross platform struct ip instead of iphdr
@@ -73,7 +74,7 @@ mkDerivation {
     gmp
     libpcap
     icu
-  ] ++ (if lib.versionAtLeast gnuradio.versionAttr.major "3.9" then with python.pkgs; [
+  ] ++ (if gnuradioAtLeast "3.9" then with python.pkgs; [
     pybind11
     numpy
   ] else [
diff --git a/pkgs/development/gnuradio-modules/gsm/default.nix b/pkgs/development/gnuradio-modules/gsm/default.nix
index aef853943123..9f184b7be7fb 100644
--- a/pkgs/development/gnuradio-modules/gsm/default.nix
+++ b/pkgs/development/gnuradio-modules/gsm/default.nix
@@ -10,6 +10,7 @@
 , python
 , libosmocore
 , osmosdr
+, gnuradioAtLeast
 }:
 
 mkDerivation {
@@ -21,7 +22,7 @@ mkDerivation {
     rev = "3ca05e6914ef29eb536da5dbec323701fbc2050d";
     sha256 = "13nnq927kpf91iqccr8db9ripy5czjl5jiyivizn6bia0bam2pvx";
   };
-  disabledForGRafter = "3.8";
+  disabled = gnuradioAtLeast "3.8";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/development/gnuradio-modules/limesdr/default.nix b/pkgs/development/gnuradio-modules/limesdr/default.nix
index a9ed621cdf11..bdd541f04432 100644
--- a/pkgs/development/gnuradio-modules/limesdr/default.nix
+++ b/pkgs/development/gnuradio-modules/limesdr/default.nix
@@ -14,6 +14,7 @@
 , gmp
 , icu
 , limesuite
+, gnuradioAtLeast
 }:
 
 let
@@ -33,7 +34,7 @@ let
 in mkDerivation {
   pname = "gr-limesdr";
   inherit version src;
-  disabledForGRafter = "3.9";
+  disabled = gnuradioAtLeast "3.9";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/development/gnuradio-modules/mkDerivation.nix b/pkgs/development/gnuradio-modules/mkDerivation.nix
index 014968f82cc6..11ac506260ad 100644
--- a/pkgs/development/gnuradio-modules/mkDerivation.nix
+++ b/pkgs/development/gnuradio-modules/mkDerivation.nix
@@ -7,12 +7,18 @@ mkDerivation:
 args:
 
 # Check if it's supposed to not get built for the current gnuradio version
-if (builtins.hasAttr "disabledForGRafter" args) &&
-(lib.versionAtLeast unwrapped.versionAttr.major args.disabledForGRafter) then
+if (builtins.hasAttr "disabled" args) && args.disabled then
 let name = args.name or "${args.pname}"; in
 throw "Package ${name} is incompatible with GNURadio ${unwrapped.versionAttr.major}"
 else
 
+if builtins.hasAttr "disabledForGRafter" args then
+throw ''
+  `disabledForGRafter` is superseded by `disabled`.
+  Use `disabled = gnuradioAtLeast "${args.disabledForGRafter}";` instead.
+''
+else
+
 let
   args_ = {
     enableParallelBuilding = args.enableParallelBuilding or true;
diff --git a/pkgs/development/gnuradio-modules/nacl/default.nix b/pkgs/development/gnuradio-modules/nacl/default.nix
index 9f9175eae058..0900ca943b97 100644
--- a/pkgs/development/gnuradio-modules/nacl/default.nix
+++ b/pkgs/development/gnuradio-modules/nacl/default.nix
@@ -9,6 +9,7 @@
 , logLib
 , python
 , libsodium
+, gnuradioAtLeast
 }:
 
 mkDerivation {
@@ -20,7 +21,7 @@ mkDerivation {
     rev = "15276bb0fcabf5fe4de4e58df3d579b5be0e9765";
     sha256 = "018np0qlk61l7mlv3xxx5cj1rax8f1vqrsrch3higsl25yydbv7v";
   };
-  disabledForGRafter = "3.8";
+  disabled = gnuradioAtLeast "3.8";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/development/gnuradio-modules/osmosdr/default.nix b/pkgs/development/gnuradio-modules/osmosdr/default.nix
index 18b8229cebcc..8e46ac561493 100644
--- a/pkgs/development/gnuradio-modules/osmosdr/default.nix
+++ b/pkgs/development/gnuradio-modules/osmosdr/default.nix
@@ -22,6 +22,7 @@
 , libbladeRF
 , rtl-sdr
 , soapysdr-with-plugins
+, gnuradioAtLeast
 }:
 
 let
@@ -44,7 +45,7 @@ let
 in mkDerivation {
   pname = "gr-osmosdr";
   inherit version src;
-  disabledForGRafter = "3.11";
+  disabled = gnuradioAtLeast "3.11";
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/development/gnuradio-modules/rds/default.nix b/pkgs/development/gnuradio-modules/rds/default.nix
index 7ffdd206474a..9a6f2ccbbad4 100644
--- a/pkgs/development/gnuradio-modules/rds/default.nix
+++ b/pkgs/development/gnuradio-modules/rds/default.nix
@@ -12,6 +12,7 @@
 , boost
 , gmp
 , icu
+, gnuradioAtLeast
 }:
 
 let
@@ -33,7 +34,7 @@ let
 in mkDerivation {
   pname = "gr-rds";
   inherit version src;
-  disabledForGRafter = "3.9";
+  disabled = gnuradioAtLeast "3.9";
 
   buildInputs = [
     logLib
diff --git a/pkgs/development/haskell-modules/configuration-darwin.nix b/pkgs/development/haskell-modules/configuration-darwin.nix
index e306884cf4fd..e6400e2c46c8 100644
--- a/pkgs/development/haskell-modules/configuration-darwin.nix
+++ b/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -345,7 +345,7 @@ self: super: ({
   }) (disableCabalFlag "fixity-th" super.fourmolu);
 
   # https://github.com/NixOS/nixpkgs/issues/149692
-  Agda = removeConfigureFlag "-foptimise-heavily" super.Agda;
+  Agda = disableCabalFlag "optimise-heavily" super.Agda;
 
 } // lib.optionalAttrs pkgs.stdenv.isx86_64 {  # x86_64-darwin
 
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 6e63cca2c154..abfd6ad38a5b 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -492,9 +492,6 @@ self: super: builtins.intersectAttrs super {
   # Uses OpenGL in testing
   caramia = dontCheck super.caramia;
 
-  # requires llvm 9 specifically https://github.com/llvm-hs/llvm-hs/#building-from-source
-  llvm-hs = super.llvm-hs.override { llvm-config = pkgs.llvm_9; };
-
   # llvm-ffi needs a specific version of LLVM which we hard code here. Since we
   # can't use pkg-config (LLVM has no official .pc files), we need to pass the
   # `dev` and `lib` output in, or Cabal will have trouble finding the library.
@@ -1117,10 +1114,16 @@ self: super: builtins.intersectAttrs super {
     preCheck = "export CI=true";
   }) super.aeson-typescript;
 
-  # Enable extra optimisations which increase build time, but also
-  # later compiler performance, so we should do this for user's benefit.
-  # Flag added in Agda 2.6.2
-  Agda = appendConfigureFlag "-foptimise-heavily" super.Agda;
+  Agda = lib.pipe super.Agda [
+    # Enable extra optimisations which increase build time, but also
+    # later compiler performance, so we should do this for user's benefit.
+    # Flag added in Agda 2.6.2
+    (enableCabalFlag "optimise-heavily")
+    # Enable debug printing, which worsens performance slightly but is
+    # very useful.
+    # Flag added in Agda 2.6.4.1, was always enabled before
+    (enableCabalFlag "debug")
+  ];
 
   # ats-format uses cli-setup in Setup.hs which is quite happy to write
   # to arbitrary files in $HOME. This doesn't either not achieve anything
diff --git a/pkgs/development/interpreters/elixir/1.16.nix b/pkgs/development/interpreters/elixir/1.16.nix
index 8a320eae7bb2..2f57e371e28b 100644
--- a/pkgs/development/interpreters/elixir/1.16.nix
+++ b/pkgs/development/interpreters/elixir/1.16.nix
@@ -1,7 +1,7 @@
 { mkDerivation }:
 mkDerivation {
-  version = "1.16.0";
-  sha256 = "sha256-nM3TpX18zdjDAFkljsAqwKx/1AQmwDMIQCeL75etTQc=";
+  version = "1.16.1";
+  sha256 = "sha256-rjUt3gCUszCbzGE7BriwH3ptrV81dqNB/d0nVOXrcGI=";
   # https://hexdocs.pm/elixir/1.16.0/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp
   minimumOTPVersion = "24";
   escriptPath = "lib/elixir/scripts/generate_app.escript";
diff --git a/pkgs/development/interpreters/j/default.nix b/pkgs/development/interpreters/j/default.nix
index 2da499352b3e..97a8064cc60d 100644
--- a/pkgs/development/interpreters/j/default.nix
+++ b/pkgs/development/interpreters/j/default.nix
@@ -1,37 +1,34 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, bc
-, libedit
-, readline
-, avxSupport ? stdenv.hostPlatform.avxSupport
+, which
+, gmp
+, avx2Support ? stdenv.hostPlatform.avx2Support
 }:
 
 stdenv.mkDerivation rec {
   pname = "j";
-  version = "904-beta-c";
+  version = "9.5.1";
 
   src = fetchFromGitHub {
-    name = "${pname}-source";
     owner = "jsoftware";
     repo = "jsource";
-    rev = "j${version}";
-    hash = "sha256-MzEO/saHEBl1JwVlFC6P2UKm9RZnV7KVrNd9h4cPV/w=";
+    rev = "${version}";
+    hash = "sha256-QRQhE8138+zaGQOdq9xUOrifkVIprzbJWbmMK+WhEOU=";
   };
 
-  buildInputs = [
-    readline
-    libedit
-    bc
-  ];
+  nativeBuildInputs = [ which ];
+  buildInputs = [ gmp ];
 
   patches = [
     ./fix-install-path.patch
   ];
 
+  enableParallelBuilding = true;
+
   dontConfigure = true;
 
-  # emulating build_all.sh configuration variables
+  # Emulate jplatform64.sh configuration variables
   jplatform =
     if stdenv.isDarwin then "darwin"
     else if stdenv.hostPlatform.isAarch then "raspberry"
@@ -41,62 +38,39 @@ stdenv.mkDerivation rec {
   j64x =
     if stdenv.is32bit then "j32"
     else if stdenv.isx86_64 then
-      if (stdenv.isLinux && avxSupport) then "j64avx" else "j64"
+      if stdenv.isLinux && avx2Support then "j64avx2" else "j64"
     else if stdenv.isAarch64 then
       if stdenv.isDarwin then "j64arm" else "j64"
     else "unsupported";
 
+  env.NIX_LDFLAGS = "-lgmp";
+
   buildPhase = ''
     runHook preBuild
-
-    export SRCDIR=$(pwd)
-    export HOME=$TMPDIR
-    export JLIB=$SRCDIR/jlibrary
-    export CC=cc
-
-    cd make2
-
-    patchShebangs .
-
-    j64x="${j64x}" jplatform="${jplatform}" ./build_all.sh
-
-    cp -v $SRCDIR/bin/${jplatform}/${j64x}/* "$JLIB/bin"
-
+    MAKEFLAGS+=" ''${enableParallelBuilding:+-j$NIX_BUILD_CORES}" \
+      jplatform=${jplatform} j64x=${j64x} make2/build_all.sh
+    cp -v bin/${jplatform}/${j64x}/* jlibrary/bin/
     runHook postBuild
   '';
 
-  doCheck = true;
-
-  checkPhase = ''
-    runHook preCheck
-
-    echo "Smoke test"
-    echo 'i. 10' | $JLIB/bin/jconsole | fgrep "0 1 2 3 4 5 6 7 8 9"
-
-    # Now run the real tests
-    pushd $SRCDIR/test
-    for f in *.ijs
-    do
-      echo -n "test $f: "
-      $JLIB/bin/jconsole < $f > /dev/null || echo FAIL && echo PASS
-    done
-    popd
-
-    runHook postCheck
-  '';
-
   installPhase = ''
     runHook preInstall
+    mkdir -p $out/share/j
+    cp -r jlibrary/{addons,system} $out/share/j/
+    cp -r jlibrary/bin $out/
+    runHook postInstall
+  '';
 
-    mkdir -p "$out/share/j/"
-    cp -r $JLIB/{addons,system} "$out/share/j"
-    cp -r $JLIB/bin "$out"
+  doInstallCheck = false; # The "gregex" test fails due to not finding PCRE2
 
-    runHook postInstall
+  installCheckPhase = ''
+    runHook preInstallCheck
+    HOME="$TMPDIR" $out/bin/jconsole -lib $out/bin/libj* script/testga.ijs
+    runHook postInstallCheck
   '';
 
   meta = with lib; {
-    homepage = "http://jsoftware.com/";
+    homepage = "https://jsoftware.com/";
     description = "J programming language, an ASCII-based APL successor";
     longDescription = ''
       J is a high-level, general-purpose programming language that is
@@ -104,8 +78,10 @@ stdenv.mkDerivation rec {
       of data. It is a powerful tool for developing algorithms and exploring
       problems that are not already well understood.
     '';
-    license = licenses.gpl3Plus;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ raskin synthetica AndersonTorres ];
-    platforms = with platforms; unix;
+    broken = stdenv.isDarwin;
+    platforms = platforms.all;
+    mainProgram = "jconsole";
   };
 }
diff --git a/pkgs/development/interpreters/lfe/2.1.nix b/pkgs/development/interpreters/lfe/2.1.nix
index 2dff2ade66c1..f239aa94b78f 100644
--- a/pkgs/development/interpreters/lfe/2.1.nix
+++ b/pkgs/development/interpreters/lfe/2.1.nix
@@ -1,7 +1,7 @@
 { fetchpatch, mkDerivation }:
 
 mkDerivation {
-  version = "2.1.1";
-  sha256 = "sha256-HUOVBzUaU0ixIfPPctwR2TPijxJjcFY3dJ8Z7Ot2bpE=";
-  maximumOTPVersion = "25";
+  version = "2.1.3";
+  hash = "sha256-HUOVBzUaU0ixIfPPctwR2TPijxJjcFY3dJ8Z7Ot2bpE=";
+  maximumOTPVersion = "26";
 }
diff --git a/pkgs/development/interpreters/lfe/generic-builder.nix b/pkgs/development/interpreters/lfe/generic-builder.nix
index 5e6016d4e97e..1589121d998d 100644
--- a/pkgs/development/interpreters/lfe/generic-builder.nix
+++ b/pkgs/development/interpreters/lfe/generic-builder.nix
@@ -3,9 +3,10 @@
 { baseName ? "lfe"
 , version
 , maximumOTPVersion
-, sha256 ? null
+, sha256 ? ""
+, hash ? ""
 , rev ? version
-, src ? fetchFromGitHub { inherit rev sha256; owner = "rvirding"; repo = "lfe"; }
+, src ? fetchFromGitHub { inherit hash rev sha256; owner = "lfe"; repo = "lfe"; }
 , patches ? []
 }:
 
diff --git a/pkgs/development/interpreters/luau/default.nix b/pkgs/development/interpreters/luau/default.nix
index 35bdecb3fa19..4c387c8fc9de 100644
--- a/pkgs/development/interpreters/luau/default.nix
+++ b/pkgs/development/interpreters/luau/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "luau";
-  version = "0.609";
+  version = "0.610";
 
   src = fetchFromGitHub {
     owner = "luau-lang";
     repo = "luau";
     rev = version;
-    hash = "sha256-L8ANZW4TyFNBn8tb5Y3k9zdGBbWbEVFUnjAkhfaZu3M=";
+    hash = "sha256-5jgEoQk1UfzHHzj+QpaIjMNTSoDZpMkNl+YzJEoV9fc=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/interpreters/nextflow/default.nix b/pkgs/development/interpreters/nextflow/default.nix
index e4885f985aba..ef0d4c42160a 100644
--- a/pkgs/development/interpreters/nextflow/default.nix
+++ b/pkgs/development/interpreters/nextflow/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.nextflow.io/";
     changelog = "https://github.com/nextflow-io/nextflow/releases";
     license = licenses.asl20;
-    maintainers = [ maintainers.Etjean ];
+    maintainers = with maintainers; [ Etjean edmundmiller ];
     mainProgram = "nextflow";
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/interpreters/php/8.1.nix b/pkgs/development/interpreters/php/8.1.nix
index 3082f8b85b62..ff76b64d71cf 100644
--- a/pkgs/development/interpreters/php/8.1.nix
+++ b/pkgs/development/interpreters/php/8.1.nix
@@ -1,9 +1,17 @@
-{ callPackage, ... }@_args:
+{ callPackage, fetchpatch, ... }@_args:
 
 let
-  base = callPackage ./generic.nix (_args // {
+  base = callPackage ./generic.nix ((removeAttrs _args [ "fetchpatch" ]) // {
     version = "8.1.27";
     hash = "sha256-oV/XPqRPLfMLB9JHhuB9GUiw6j7tC4uEVzXVANwov/E=";
+    extraPatches = [
+      # Fix build with libxml 2.12+.
+      # Patch from https://github.com/php/php-src/commit/0a39890c967aa57225bb6bdf4821aff7a3a3c082
+      (fetchpatch {
+        url = "https://github.com/php/php-src/commit/0a39890c967aa57225bb6bdf4821aff7a3a3c082.patch";
+        hash = "sha256-HvpTL7aXO9gr4glFdhqUWQPrG8TYTlvbNINq33M3zS0=";
+      })
+    ];
   });
 in
 base.withExtensions ({ all, ... }: with all; ([
diff --git a/pkgs/development/interpreters/python/python-packages-base.nix b/pkgs/development/interpreters/python/python-packages-base.nix
index 2126b796ca9d..e2bd6cd5a5ab 100644
--- a/pkgs/development/interpreters/python/python-packages-base.nix
+++ b/pkgs/development/interpreters/python/python-packages-base.nix
@@ -98,8 +98,4 @@ in {
   python = toPythonModule python;
   # Dont take pythonPackages from "global" pkgs scope to avoid mixing python versions
   pythonPackages = self;
-
-  # Remove?
-  recursivePthLoader = toPythonModule (callPackage ../../../development/python-modules/recursive-pth-loader { });
-
 }
diff --git a/pkgs/development/interpreters/rakudo/moarvm.nix b/pkgs/development/interpreters/rakudo/moarvm.nix
index d914b7a1fac2..dbe678079f02 100644
--- a/pkgs/development/interpreters/rakudo/moarvm.nix
+++ b/pkgs/development/interpreters/rakudo/moarvm.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, cctools-port
 , perl
 , CoreServices
 , ApplicationServices
@@ -9,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moarvm";
-  version = "2023.10";
+  version = "2024.01";
 
   src = fetchFromGitHub {
     owner = "moarvm";
     repo = "moarvm";
     rev = version;
-    hash = "sha256-1w6oMoxDro/AHE+QvjKUx9cxNpYuVSXYrRMh31ksgoQ=";
+    hash = "sha256-vU1fhR6pKz2qnznrJ/mknt9DVx+I1kLaPStXKQvp59g=";
     fetchSubmodules = true;
   };
 
@@ -27,13 +26,9 @@ stdenv.mkDerivation rec {
       --replace '/usr/bin/arch' "$(type -P true)" \
       --replace '/usr/' '/nope/'
     substituteInPlace 3rdparty/dyncall/configure \
-      --replace '`sw_vers -productVersion`' '"$MACOSX_DEPLOYMENT_TARGET"'
+      --replace '`sw_vers -productVersion`' '"11.0"'
   '';
 
-  nativeBuildInputs = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
-    cctools-port
-  ];
-
   buildInputs = [ perl ] ++ lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ];
   doCheck = false; # MoarVM does not come with its own test suite
 
diff --git a/pkgs/development/interpreters/risor/default.nix b/pkgs/development/interpreters/risor/default.nix
index 9798c6fdefaf..22bbe5b9c73b 100644
--- a/pkgs/development/interpreters/risor/default.nix
+++ b/pkgs/development/interpreters/risor/default.nix
@@ -7,17 +7,17 @@
 
 buildGoModule rec {
   pname = "risor";
-  version = "1.1.2";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "risor-io";
     repo = "risor";
     rev = "v${version}";
-    hash = "sha256-7/pGC2+7KKc+1JZrPnchG3/Zj15lfcvTppuFUcpu/aU=";
+    hash = "sha256-E4Huto3jvPziWEZqHwVBchZYDX/Tuq/TCBvoviin5UY=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-6Zb30IXZsRQ0mvJOf4yDPkk7I+s18ok/V90mSKB/Ev4=";
+  vendorHash = "sha256-0NYvZhVkDX6WlKN4QFXyrNnEy0sjUQ1Us+iNEPIgNX0=";
 
   subPackages = [
     "cmd/risor"
diff --git a/pkgs/development/interpreters/spidermonkey/common.nix b/pkgs/development/interpreters/spidermonkey/common.nix
index ff9bb39e0a29..46af4ec26bbe 100644
--- a/pkgs/development/interpreters/spidermonkey/common.nix
+++ b/pkgs/development/interpreters/spidermonkey/common.nix
@@ -125,7 +125,6 @@ stdenv.mkDerivation (finalAttrs: rec {
     "--disable-jemalloc"
     "--disable-strip"
     "--disable-tests"
-  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     # Spidermonkey seems to use different host/build terminology for cross
     # compilation here.
     "--host=${stdenv.buildPlatform.config}"
diff --git a/pkgs/development/interpreters/wasmtime/default.nix b/pkgs/development/interpreters/wasmtime/default.nix
index 47790df5ec3f..3d97167d64dc 100644
--- a/pkgs/development/interpreters/wasmtime/default.nix
+++ b/pkgs/development/interpreters/wasmtime/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasmtime";
-  version = "16.0.0";
+  version = "17.0.0";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-kySJme79RQMI8PP2Jhx1mjqJpUIf5jPn2TvbPEzw5hY=";
+    hash = "sha256-HGs82LMDJJZl1bPaFsVetpMR7ytBgGmOkH1tt7xmUMA=";
     fetchSubmodules = true;
   };
 
   # Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
   auditable = false;
-  cargoHash = "sha256-2XlnR4OBvdQyMUUOL6VvqDxf8jGYlhz2PDuPd24Ocxw=";
+  cargoHash = "sha256-bNGpBgAhLN4s90saQqIgFb6hXtfC9NIjOfy+hvkRJ6E=";
   cargoBuildFlags = [ "--package" "wasmtime-cli" "--package" "wasmtime-c-api" ];
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/abseil-cpp/202401.nix b/pkgs/development/libraries/abseil-cpp/202401.nix
new file mode 100644
index 000000000000..f540a7f8260a
--- /dev/null
+++ b/pkgs/development/libraries/abseil-cpp/202401.nix
@@ -0,0 +1,42 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, gtest
+, static ? stdenv.hostPlatform.isStatic
+, cxxStandard ? null
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "abseil-cpp";
+  version = "20240116.0";
+
+  src = fetchFromGitHub {
+    owner = "abseil";
+    repo = "abseil-cpp";
+    rev = "refs/tags/${finalAttrs.version}";
+    hash = "sha256-HtJh2oYGx87bNT6Ll3WLeYPPxH1f9JwVqCXGErykGnE=";
+  };
+
+  cmakeFlags = [
+    "-DABSL_BUILD_TEST_HELPERS=ON"
+    "-DABSL_USE_EXTERNAL_GOOGLETEST=ON"
+    "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}"
+  ] ++ lib.optionals (cxxStandard != null) [
+    "-DCMAKE_CXX_STANDARD=${cxxStandard}"
+  ];
+
+  strictDeps = true;
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ gtest ];
+
+  meta = with lib; {
+    description = "An open-source collection of C++ code designed to augment the C++ standard library";
+    homepage = "https://abseil.io/";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = [ maintainers.GaetanLepage ];
+  };
+})
diff --git a/pkgs/development/libraries/agda/1lab/default.nix b/pkgs/development/libraries/agda/1lab/default.nix
index c158449aed16..89b0fb60c365 100644
--- a/pkgs/development/libraries/agda/1lab/default.nix
+++ b/pkgs/development/libraries/agda/1lab/default.nix
@@ -11,9 +11,13 @@ mkDerivation rec {
     hash = "sha256-0U6s6sXdynk2IWRBDXBJCf7Gc+gE8AhR1PXZl0DS4yU=";
   };
 
-  # We don't need anything in support; avoid installing LICENSE.agda
   postPatch = ''
+    # We don't need anything in support; avoid installing LICENSE.agda
     rm -rf support
+
+    # Remove verbosity options as they make Agda take longer and use more memory.
+    shopt -s globstar extglob
+    sed -Ei '/OPTIONS/s/ -v ?[^ #]+//g' src/**/*.@(agda|lagda.md)
   '';
 
   libraryName = "1lab";
diff --git a/pkgs/development/libraries/amf-headers/default.nix b/pkgs/development/libraries/amf-headers/default.nix
index b1b93d38cedc..07a76fcdfb12 100644
--- a/pkgs/development/libraries/amf-headers/default.nix
+++ b/pkgs/development/libraries/amf-headers/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "amf-headers";
-  version = "1.4.32";
+  version = "1.4.33";
 
   src = fetchFromGitHub {
     owner = "GPUOpen-LibrariesAndSDKs";
     repo = "AMF";
     rev = "v${version}";
-    sha256 = "sha256-3CdC/9o6ur2CeVLImz2QfaZAH2+KtDdxs5zRF7W5/oo=";
+    sha256 = "sha256-oho1EonWxgBmsQiX3wPhs0jQjLFwLe49C7/SOEptYiw=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/bobcat/default.nix b/pkgs/development/libraries/bobcat/default.nix
deleted file mode 100644
index 4e328fe2b2a9..000000000000
--- a/pkgs/development/libraries/bobcat/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib, stdenv, fetchFromGitLab, icmake
-, libmilter, libX11, openssl, readline
-, util-linux, yodl }:
-
-stdenv.mkDerivation rec {
-  pname = "bobcat";
-  version = "5.11.01";
-
-  src = fetchFromGitLab {
-    sha256 = "sha256-JLJKaJmztputIon9JkKzpm3Ch60iwm4Imh9p42crYzA=";
-    domain = "gitlab.com";
-    rev = version;
-    repo = "bobcat";
-    owner = "fbb-git";
-  };
-
-  buildInputs = [ libmilter libX11 openssl readline util-linux ];
-  nativeBuildInputs = [ icmake yodl ];
-
-  setSourceRoot = ''
-    sourceRoot=$(echo */bobcat)
-  '';
-
-  postPatch = ''
-    substituteInPlace INSTALL.im --replace /usr $out
-    patchShebangs .
-  '';
-
-  buildPhase = ''
-    ./build libraries all
-    ./build man
-  '';
-
-  installPhase = ''
-    ./build install x
-  '';
-
-  meta = with lib; {
-    description = "Brokken's Own Base Classes And Templates";
-    homepage = "https://fbb-git.gitlab.io/bobcat/";
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/catch2/3.nix b/pkgs/development/libraries/catch2/3.nix
index dff36cbc3d3a..aa8bf62059bd 100644
--- a/pkgs/development/libraries/catch2/3.nix
+++ b/pkgs/development/libraries/catch2/3.nix
@@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/catchorg/Catch2/blob/${src.rev}/docs/release-notes.md";
     license = lib.licenses.boost;
     maintainers = with lib.maintainers; [ dotlambda ];
-    platforms = lib.platforms.unix;
+    platforms = with lib.platforms; unix ++ windows;
   };
 }
diff --git a/pkgs/development/libraries/catch2/default.nix b/pkgs/development/libraries/catch2/default.nix
index 3c51fa9371d9..56b2016539be 100644
--- a/pkgs/development/libraries/catch2/default.nix
+++ b/pkgs/development/libraries/catch2/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = "http://catch-lib.net";
     license = licenses.boost;
     maintainers = with maintainers; [ edwtjo knedlsepp ];
-    platforms = platforms.unix ++ [ "x86_64-windows" ];
+    platforms = with platforms; unix ++ windows;
   };
 }
diff --git a/pkgs/development/libraries/cglm/default.nix b/pkgs/development/libraries/cglm/default.nix
index f9bc0ebb9083..a4fab015db90 100644
--- a/pkgs/development/libraries/cglm/default.nix
+++ b/pkgs/development/libraries/cglm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cglm";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "recp";
     repo = "cglm";
     rev = "v${version}";
-    sha256 = "sha256-qOPOJ+h1bq5yKkP3ZNeZnRwiOMSgS7bxTk7s/5tREQw=";
+    sha256 = "sha256-jaG+XGbSx5SaNhGFWLh+1WTB+ya3c5tBZYs9xKIRafI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/clap/default.nix b/pkgs/development/libraries/clap/default.nix
index 1da0b31cb10c..e6c017cb7808 100644
--- a/pkgs/development/libraries/clap/default.nix
+++ b/pkgs/development/libraries/clap/default.nix
@@ -2,17 +2,18 @@
 , stdenv
 , fetchFromGitHub
 , cmake
+, testers
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "clap";
-  version = "1.1.10";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "free-audio";
     repo = "clap";
-    rev = version;
-    hash = "sha256-AH3kSCp4Q8Nw3To2vuPuMH/cWm3cmzj2OEH/Azcbdmo=";
+    rev = finalAttrs.version;
+    hash = "sha256-BNT2yWIlWk8kzhZteh7TaamliwJI+lzWVs/8XCFsuUc=";
   };
 
   postPatch = ''
@@ -22,11 +23,14 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
+  passthru.tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; };
+
   meta = with lib; {
     description = "Clever Audio Plugin API interface headers";
     homepage = "https://cleveraudio.org/";
+    pkgConfigModules = [ "clap" ];
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = with maintainers; [ ris ];
   };
-}
+})
diff --git a/pkgs/development/libraries/cmark/default.nix b/pkgs/development/libraries/cmark/default.nix
index 830791f6fb31..23d00769ee1b 100644
--- a/pkgs/development/libraries/cmark/default.nix
+++ b/pkgs/development/libraries/cmark/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cmark";
-  version = "0.30.3";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "commonmark";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/7TzaZYP8lndkfRPgCpBbazUBytVLXxqWHYktIsGox0=";
+    sha256 = "sha256-GBesKTp9DqoFAmCc0RB+XePvzV9g+w+oyrD1nCgyklI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/dbus-cplusplus/default.nix b/pkgs/development/libraries/dbus-cplusplus/default.nix
index 7f6e747e6c36..2452f3e8f35c 100644
--- a/pkgs/development/libraries/dbus-cplusplus/default.nix
+++ b/pkgs/development/libraries/dbus-cplusplus/default.nix
@@ -32,6 +32,22 @@ stdenv.mkDerivation rec {
       url = "https://src.fedoraproject.org/rpms/dbus-c++/raw/9f515ace0594c8b2b9f0d41ffe71bc5b78d30eee/f/dbus-c++-template-operators.patch";
       hash = "sha256-B8S7z/YH2YEQgaRsBJBBVTx8vHQhHW7z171TZmogpL8=";
     })
+  ] ++ lib.optionals stdenv.hostPlatform.isMusl [
+    (fetchpatch {
+      name = "0001-src-eventloop.cpp-use-portable-method-for-initializi.patch";
+      url = "https://github.com/openembedded/meta-openembedded/raw/119e75e48dbf0539b4e440417901458ffff79b38/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-src-eventloop.cpp-use-portable-method-for-initializi.patch";
+      hash = "sha256-GJWvp5F26c88OCGLrFcXaqUl2FMSDCluppMrRQO3rzc=";
+    })
+    (fetchpatch {
+      name = "0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch";
+      url = "https://github.com/openembedded/meta-openembedded/raw/119e75e48dbf0539b4e440417901458ffff79b38/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch";
+      hash = "sha256-P9JuG/6k5L6NTiAGH9JRfNcwpNVOV29RQC6fTj0fKZE=";
+    })
+    (fetchpatch {
+      name = "0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch";
+      url = "https://github.com/openembedded/meta-openembedded/raw/119e75e48dbf0539b4e440417901458ffff79b38/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch";
+      hash = "sha256-/RCpDvaLIw0kmuBvUGbfnVEvgTKjIQWcSKWheCfgSmM=";
+    })
   ];
 
   nativeBuildInputs = [ pkg-config ];
@@ -45,8 +61,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.goibhniu ];
-    # Broken for Musl at 2023-12-28:
-    # https://github.com/NixOS/nixpkgs/issues/277198
-    broken = stdenv.hostPlatform.isMusl;
   };
 }
diff --git a/pkgs/development/libraries/entt/default.nix b/pkgs/development/libraries/entt/default.nix
index 44e0b9ed1f05..ac12b2e5a561 100644
--- a/pkgs/development/libraries/entt/default.nix
+++ b/pkgs/development/libraries/entt/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   pname = "entt";
-  version = "3.12.2";
+  version = "3.13.0";
 
   src = fetchFromGitHub {
     owner = "skypjack";
     repo = "entt";
     rev = "v${version}";
-    sha256 = "sha256-gzoea3IbmpkIZYrfTZA6YgcnDU5EKdXF5Y7Yz2Uaj4A=";
+    hash = "sha256-LiQBKpXSr5+zOgtc+8snGqN/Aq3EHhQjlMBuqDOlSz0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/example-robot-data/default.nix b/pkgs/development/libraries/example-robot-data/default.nix
index 11b689838226..b2e665bbc4a9 100644
--- a/pkgs/development/libraries/example-robot-data/default.nix
+++ b/pkgs/development/libraries/example-robot-data/default.nix
@@ -8,14 +8,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "example-robot-data";
-  version = "4.0.9";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "Gepetto";
     repo = "example-robot-data";
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-dLW8QaQhTTDcE4QCP9uV4ykOqwc3nbPUmF1B77r8CHQ=";
+    hash = "sha256-Heq+c8SSYNO8ksTv5FphRBRStlTakm9T66jlPXon5tI=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/fbjni/default.nix b/pkgs/development/libraries/fbjni/default.nix
index 1a5228f4d860..20d47cac1fa3 100644
--- a/pkgs/development/libraries/fbjni/default.nix
+++ b/pkgs/development/libraries/fbjni/default.nix
@@ -19,12 +19,20 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
+    # Upstram fix for builds on GCC 13. Should be removable with next release after 0.5.1
+    (fetchpatch {
+      name = "add-cstdint-include.patch";
+      url = "https://github.com/facebookincubator/fbjni/commit/59461eff6c7881d58e958287481e1f1cd99e08d3.patch";
+      hash = "sha256-r27C+ODTCZdd1tEz3cevnNNyZlrRhq1jOzwnIYlkglM=";
+    })
+
     # Part of https://github.com/facebookincubator/fbjni/pull/76
     # fix cmake file installation directory
     (fetchpatch {
       url = "https://github.com/facebookincubator/fbjni/commit/ab02e60b5da28647bfcc864b0bb1b9a90504cdb1.patch";
       sha256 = "sha256-/h6kosulRH/ZAU2u0zRSaNDK39jsnFt9TaSxyBllZqM=";
     })
+
     # install headers
     (fetchpatch {
       url = "https://github.com/facebookincubator/fbjni/commit/74e125caa9a815244f1e6bd08eaba57d015378b4.patch";
diff --git a/pkgs/development/libraries/gdcm/default.nix b/pkgs/development/libraries/gdcm/default.nix
index 2a4fdaca2725..9d6db6fca684 100644
--- a/pkgs/development/libraries/gdcm/default.nix
+++ b/pkgs/development/libraries/gdcm/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gdcm";
-  version = "3.0.22";
+  version = "3.0.23";
 
   src = fetchFromGitHub {
     owner = "malaterre";
     repo = "GDCM";
     rev = "refs/tags/v${version}";
-    hash = "sha256-geWNGbBJGKPs5hNO42vtVOj0rOWyM6zmcocvRhWW4s0=";
+    hash = "sha256-zwIPWcjTrfbdNBzAqwV6lU2l6sx+e4Yi7dprdem6AeE=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix
index 4e01ca5c2b6e..01db789a60bd 100644
--- a/pkgs/development/libraries/glfw/3.x.nix
+++ b/pkgs/development/libraries/glfw/3.x.nix
@@ -6,14 +6,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.3.8";
+  version = "3.3.9";
   pname = "glfw";
 
   src = fetchFromGitHub {
     owner = "glfw";
     repo = "GLFW";
     rev = version;
-    sha256 = "sha256-4+H0IXjAwbL5mAWfsIVhW0BSJhcWjkQx4j2TrzZ3aIo=";
+    sha256 = "sha256-DlPRNGCBr6XF9Jn8kWs5lCRTyjPeDt/69PNDzBDhoyg=";
   };
 
   # Fix linkage issues on X11 (https://github.com/NixOS/nixpkgs/issues/142583)
diff --git a/pkgs/development/libraries/httplib/default.nix b/pkgs/development/libraries/httplib/default.nix
index a65440848bee..1de0082cade2 100644
--- a/pkgs/development/libraries/httplib/default.nix
+++ b/pkgs/development/libraries/httplib/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "httplib";
-  version = "0.14.3";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "yhirose";
     repo = "cpp-httplib";
     rev = "v${version}";
-    hash = "sha256-53EBZTpz0INtjVSmjvg7XOQf0Bs2ADVe2//+nK6xRyE=";
+    hash = "sha256-HV2RiWu4rt3rau/flcha500R67oGwbmyEPPnklpAvgY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libbacktrace/default.nix b/pkgs/development/libraries/libbacktrace/default.nix
index b188a9cfc38c..288185f92281 100644
--- a/pkgs/development/libraries/libbacktrace/default.nix
+++ b/pkgs/development/libraries/libbacktrace/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation {
   pname = "libbacktrace";
-  version = "unstable-2022-12-16";
+  version = "unstable-2023-11-30";
 
   src = fetchFromGitHub {
     owner = "ianlancetaylor";
     repo = "libbacktrace";
-    rev = "da7eff2f37e38136c5a0c8922957b9dfab5483ef";
-    sha256 = "ADp8n1kUf8OysFY/Jv1ytxKjqgz1Nu2VRcFGlt1k/HM=";
+    rev = "14818b7783eeb9a56c3f0fca78cefd3143f8c5f6";
+    sha256 = "DQZQsqzeQ/0v87bfqs6sXqS2M5Tunc1OydTWRSB3PCw=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libcint/default.nix b/pkgs/development/libraries/libcint/default.nix
index 439cd74bca63..caa7e51336a4 100644
--- a/pkgs/development/libraries/libcint/default.nix
+++ b/pkgs/development/libraries/libcint/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcint";
-  version = "6.1.1";
+  version = "6.1.2";
 
   src = fetchFromGitHub {
     owner = "sunqm";
     repo = "libcint";
     rev = "v${version}";
-    hash = "sha256-wV3y+NobV6J+J6I2z3dJdCvTwvfgMspMtAGNpbwfsYk=";
+    hash = "sha256-URJcC0ib87ejrTCglCjhC2tQHNc5TRvo4CQ52N58n+4=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libetpan/default.nix b/pkgs/development/libraries/libetpan/default.nix
index 1f7f52c70ab5..767b53c9d277 100644
--- a/pkgs/development/libraries/libetpan/default.nix
+++ b/pkgs/development/libraries/libetpan/default.nix
@@ -95,5 +95,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.etpan.org/libetpan.html";
     license = licenses.bsd3;
     maintainers = with maintainers; [ oxzi ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libhwy/default.nix b/pkgs/development/libraries/libhwy/default.nix
index b2f32cbe7252..664378d42b6d 100644
--- a/pkgs/development/libraries/libhwy/default.nix
+++ b/pkgs/development/libraries/libhwy/default.nix
@@ -4,6 +4,7 @@
 , ninja
 , gtest
 , fetchFromGitHub
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -17,6 +18,15 @@ stdenv.mkDerivation rec {
     hash = "sha256-Z+mAR9nSAbCskUvo6oK79Yd85bu0HtI2aR5THS1EozM=";
   };
 
+  patches = lib.optional stdenv.hostPlatform.isRiscV
+    # Adds CMake option HWY_CMAKE_RVV
+    # https://github.com/google/highway/pull/1743
+    (fetchpatch {
+      name = "libhwy-add-rvv-optout.patch";
+      url = "https://github.com/google/highway/commit/5d58d233fbcec0c6a39df8186a877329147324b3.patch";
+      hash = "sha256-ileSNYddOt1F5rooRB0fXT20WkVlnG+gP5w7qJdBuww=";
+    });
+
   nativeBuildInputs = [ cmake ninja ];
 
   # Required for case-insensitive filesystems ("BUILD" exists)
@@ -43,6 +53,11 @@ stdenv.mkDerivation rec {
     #   HwyMathTestGroup/HwyMathTest.TestAllAtanh/EMU128
     #   HwyMathTestGroup/HwyMathTest.TestAllLog1p/EMU128
     "-DHWY_CMAKE_SSE2=ON"
+  ] ++ lib.optionals stdenv.hostPlatform.isRiscV [
+    # Runtime dispatch is not implemented https://github.com/google/highway/issues/838
+    # so tests (and likely normal operation) fail with SIGILL on processors without V.
+    # Until the issue is resolved, we disable RVV completely.
+    "-DHWY_CMAKE_RVV=OFF"
   ];
 
   # hydra's darwin machines run into https://github.com/libjxl/libjxl/issues/408
diff --git a/pkgs/development/libraries/libmilter/default.nix b/pkgs/development/libraries/libmilter/default.nix
index 3ff3a4ffa9fb..a06f3d4deca1 100644
--- a/pkgs/development/libraries/libmilter/default.nix
+++ b/pkgs/development/libraries/libmilter/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmilter";
-  version = "8.17.2";
+  version = "8.18.1";
 
   src = fetchurl {
     url = "ftp://ftp.sendmail.org/pub/sendmail/sendmail.${version}.tar.gz";
-    sha256 = "sha256-kPWudMNahICIYZM7oJQgG5AbcMaykDaE3POb2uiloaI=";
+    sha256 = "sha256-y/HzCcOOSAb3zz6tJCYPF9H+j7YyVtE+2zzdGgmPB3A=";
   };
 
   buildPhase = ''
diff --git a/pkgs/development/libraries/libplacebo/default.nix b/pkgs/development/libraries/libplacebo/default.nix
index c303ffb29558..cad556ee7a7e 100644
--- a/pkgs/development/libraries/libplacebo/default.nix
+++ b/pkgs/development/libraries/libplacebo/default.nix
@@ -14,6 +14,7 @@
 , libunwind
 , libdovi
 , xxHash
+, fast-float
 }:
 
 stdenv.mkDerivation rec {
@@ -46,6 +47,8 @@ stdenv.mkDerivation rec {
     libunwind
     libdovi
     xxHash
+  ] ++ lib.optionals (!stdenv.cc.isGNU) [
+    fast-float
   ];
 
   mesonFlags = with lib; [
diff --git a/pkgs/development/libraries/libredwg/default.nix b/pkgs/development/libraries/libredwg/default.nix
index 9f530271771a..7759917d9750 100644
--- a/pkgs/development/libraries/libredwg/default.nix
+++ b/pkgs/development/libraries/libredwg/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , autoreconfHook
 , writeShellScript
 , pkg-config
@@ -27,6 +28,14 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2023-26157.patch";
+      url = "https://github.com/LibreDWG/libredwg/commit/c8cf03ce4c2315b146caf582ea061c0460193bcc.patch";
+      hash = "sha256-EEF3YYPW+6SvXRiAw3zz6tWU9w/qmGtc09Tf8wn7hVc=";
+    })
+  ];
+
   postPatch = let
     printVersion = writeShellScript "print-version" ''
       echo -n ${lib.escapeShellArg version}
diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix
index 8f06936b5959..6af948f67828 100644
--- a/pkgs/development/libraries/libsolv/default.nix
+++ b/pkgs/development/libraries/libsolv/default.nix
@@ -16,14 +16,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.27";
+  version = "0.7.28";
   pname = "libsolv";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "libsolv";
     rev = version;
-    sha256 = "sha256-kVExzCHfPU/o+C5TTAv1J9H7GmYwVWCsIpVkkts42js=";
+    sha256 = "sha256-cL7SDwCzXM2qJQfiu/3nfAiFbcFNn1YXD23Sl3n9nzY=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index ff40c3693fff..17875c415b14 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -114,13 +114,13 @@ stdenv.mkDerivation rec {
   # NOTE: You must also bump:
   # <nixpkgs/pkgs/development/python-modules/libvirt/default.nix>
   # SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix>
-  version = "9.10.0";
+  version = "10.0.0";
 
   src = fetchFromGitLab {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SYk3aseaVD31rnGKj/7eoLldGbOdJfKMw4tVDjtjcwY=";
+    hash = "sha256-xFl8AHcbeuydWzhJNnwZ3Bd7TQiTU8hjBxaALXvcLgE=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix
index 77e7669c0e12..86b4a320b68f 100644
--- a/pkgs/development/libraries/mailcore2/default.nix
+++ b/pkgs/development/libraries/mailcore2/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchFromGitHub, cmake, libetpan, icu, cyrus_sasl, libctemplate
 , libuchardet, pkg-config, glib, html-tidy, libxml2, libuuid, openssl
+, darwin
 }:
 
 stdenv.mkDerivation rec {
@@ -16,8 +17,14 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [
-    libetpan icu cyrus_sasl libctemplate libuchardet glib
-    html-tidy libxml2 libuuid openssl
+    libetpan cyrus_sasl libctemplate libuchardet
+    html-tidy libxml2 openssl
+  ] ++ lib.optionals stdenv.isLinux [
+    glib
+    icu
+    libuuid
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Foundation
   ];
 
   postPatch = ''
@@ -28,9 +35,14 @@ stdenv.mkDerivation rec {
        --replace "/usr/include/libxml2" "${libxml2.dev}/include/libxml2"
     substituteInPlace src/core/basetypes/MCHTMLCleaner.cpp \
       --replace buffio.h tidybuffio.h
+    substituteInPlace src/core/basetypes/MCString.cpp \
+      --replace "xmlErrorPtr" "const xmlError *"
+  '' + lib.optionalString (!stdenv.isDarwin) ''
+    substituteInPlace src/core/basetypes/MCICUTypes.h \
+      --replace "__CHAR16_TYPE__ UChar" "char16_t UChar"
   '';
 
-  cmakeFlags = [
+  cmakeFlags = lib.optionals (!stdenv.isDarwin) [
     "-DBUILD_SHARED_LIBS=ON"
   ];
 
@@ -39,10 +51,10 @@ stdenv.mkDerivation rec {
     cp -r src/include $out
 
     mkdir $out/lib
-    cp src/libMailCore.so $out/lib
+    cp src/libMailCore.* $out/lib
   '';
 
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
   checkPhase = ''
     (
       cd unittest
@@ -55,5 +67,6 @@ stdenv.mkDerivation rec {
     homepage    = "http://libmailcore.com";
     license     = licenses.bsd3;
     maintainers = with maintainers; [ ];
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/maplibre-gl-native/default.nix b/pkgs/development/libraries/maplibre-gl-native/default.nix
index 65a5c266ee6a..3b2e988d4795 100644
--- a/pkgs/development/libraries/maplibre-gl-native/default.nix
+++ b/pkgs/development/libraries/maplibre-gl-native/default.nix
@@ -2,6 +2,7 @@
 , mkDerivation
 , fetchFromGitHub
 , fetchpatch
+, fetchpatch2
 , cmake
 , pkg-config
 , qtbase
@@ -30,6 +31,11 @@ mkDerivation rec {
       url = "https://git.alpinelinux.org/aports/plain/testing/mapbox-gl-native/0002-skip-license-check.patch?id=6751a93dca26b0b3ceec9eb151272253a2fe497e";
       sha256 = "1yybwzxbvn0lqb1br1fyg7763p2h117s6mkmywkl4l7qg9daa7ba";
     })
+    (fetchpatch2 {
+      name = "cstdint.patch";
+      url = "https://git.alpinelinux.org/aports/plain/community/maplibre-gl-native/cstdint.patch?id=ae8edc6b02df388ef37a69c12a5df25dd8550238";
+      hash = "sha256-o7wT/rk5vgwxEutAyIEAxwfKNxCoBtkhVcLjc7uTsYc=";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/mbedtls/2.nix b/pkgs/development/libraries/mbedtls/2.nix
index b5d8da101618..97d62fad3ced 100644
--- a/pkgs/development/libraries/mbedtls/2.nix
+++ b/pkgs/development/libraries/mbedtls/2.nix
@@ -1,6 +1,6 @@
 { callPackage }:
 
 callPackage ./generic.nix {
-  version = "2.28.6";
-  hash = "sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8=";
+  version = "2.28.7";
+  hash = "sha256-JI0Frbz4HkPqrLQNrSIj1ikN8201h4kd1wTwyPotERw=";
 }
diff --git a/pkgs/development/libraries/mbedtls/3.nix b/pkgs/development/libraries/mbedtls/3.nix
index fe463c43f91d..267349ac5d7b 100644
--- a/pkgs/development/libraries/mbedtls/3.nix
+++ b/pkgs/development/libraries/mbedtls/3.nix
@@ -1,6 +1,6 @@
 { callPackage }:
 
 callPackage ./generic.nix {
-  version = "3.5.1";
-  hash = "sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw=";
+  version = "3.5.2";
+  hash = "sha256-lVGmnSYccNmRS6vfF/fDiny5cYRPc/wJBpgciFLPUvM=";
 }
diff --git a/pkgs/development/libraries/muparser/default.nix b/pkgs/development/libraries/muparser/default.nix
deleted file mode 100644
index 910a25134989..000000000000
--- a/pkgs/development/libraries/muparser/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{lib, stdenv, fetchurl, unzip, setfile}:
-
-stdenv.mkDerivation rec {
-  pname = "muparser";
-  version = "2.2.3";
-  url-version = lib.replaceStrings ["."] ["_"] version;
-
-  src = fetchurl {
-    url = "mirror://sourceforge/muparser/muparser_v${url-version}.zip";
-    sha256 = "00l92k231yb49wijzkspa2l58mapn6vh2dlxnlg0pawjjfv33s6z";
-  };
-
-  nativeBuildInputs = [ unzip ];
-  buildInputs = lib.optionals stdenv.isDarwin [setfile];
-
-  meta = {
-    homepage = "http://muparser.sourceforge.net";
-    description = "An extensible high performance math expression parser library written in C++";
-    license = lib.licenses.mit;
-    platforms = lib.platforms.linux ++ lib.platforms.darwin;
-  };
-}
diff --git a/pkgs/development/libraries/ncnn/cmakelists.patch b/pkgs/development/libraries/ncnn/cmakelists.patch
index bdb3063acec4..a43d7b0c4b72 100644
--- a/pkgs/development/libraries/ncnn/cmakelists.patch
+++ b/pkgs/development/libraries/ncnn/cmakelists.patch
@@ -1,18 +1,27 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c453d23e..66b4aa24 100644
+index 785e2cd..459024d 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -560,6 +560,8 @@ if(NCNN_VULKAN)
-                 message(WARNING "GLSLANG_TARGET_DIR must be defined! NCNN_SYSTEM_GLSLANG will be turned off.")
+@@ -589,7 +589,8 @@ endif()
+ if(NCNN_VULKAN)
+     if(NCNN_SYSTEM_GLSLANG)
+         find_package(Threads)
+-        find_package(glslang QUIET)
++        find_package(SPIRV-Tools-opt REQUIRED)
++        find_package(glslang REQUIRED)
+         if(glslang_FOUND)
+             add_library(glslang ALIAS glslang::glslang)
+             add_library(SPIRV ALIAS glslang::SPIRV)
+@@ -601,7 +602,6 @@ if(NCNN_VULKAN)
                  set(NCNN_SYSTEM_GLSLANG OFF)
              else()
-+                include("${GLSLANG_TARGET_DIR}/SPIRV-Tools/SPIRV-ToolsTarget.cmake")
-+                include("${GLSLANG_TARGET_DIR}/SPIRV-Tools-opt/SPIRV-Tools-optTargets.cmake")
                  include("${GLSLANG_TARGET_DIR}/OSDependentTargets.cmake")
-                 include("${GLSLANG_TARGET_DIR}/OGLCompilerTargets.cmake")
+-                include("${GLSLANG_TARGET_DIR}/OGLCompilerTargets.cmake")
                  if(EXISTS "${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
+                     # hlsl support can be optional
+                     include("${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
 diff --git a/src/ncnn.pc.in b/src/ncnn.pc.in
-index b580fcee..be2becd0 100644
+index b580fce..be2becd 100644
 --- a/src/ncnn.pc.in
 +++ b/src/ncnn.pc.in
 @@ -1,6 +1,6 @@
diff --git a/pkgs/development/libraries/ncnn/default.nix b/pkgs/development/libraries/ncnn/default.nix
index 69967eae160d..71b4bbc8fd42 100644
--- a/pkgs/development/libraries/ncnn/default.nix
+++ b/pkgs/development/libraries/ncnn/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ncnn";
-  version = "20231027";
+  version = "20240102";
 
   src = fetchFromGitHub {
     owner = "Tencent";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ak/5QTOptg5M2I+3olnrBK6JZ01haIE6oh+sagEboAc=";
+    hash = "sha256-kk70oLY+2QJOkyYq10whLRMxBuibQMWMOBA9dcbKf/I=";
   };
 
   patches = [
@@ -33,8 +33,6 @@ stdenv.mkDerivation rec {
     "-DNCNN_BUILD_TOOLS=0"
     "-DNCNN_SYSTEM_GLSLANG=1"
     "-DNCNN_PYTHON=0" # Should be an attribute
-
-    "-DGLSLANG_TARGET_DIR=${glslang}/lib/cmake"
   ];
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/openvdb/default.nix b/pkgs/development/libraries/openvdb/default.nix
index 530c57877cf8..c5397b259a30 100644
--- a/pkgs/development/libraries/openvdb/default.nix
+++ b/pkgs/development/libraries/openvdb/default.nix
@@ -20,6 +20,11 @@ stdenv.mkDerivation rec
 
   cmakeFlags = [ "-DOPENVDB_CORE_STATIC=OFF" ];
 
+  # error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.13 or newer
+  env = lib.optionalAttrs (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13" && lib.versionAtLeast tbb.version "2021.8.0") {
+    NIX_CFLAGS_COMPILE = "-faligned-allocation";
+  };
+
   postFixup = ''
     substituteInPlace $dev/lib/cmake/OpenVDB/FindOpenVDB.cmake \
       --replace \''${OPENVDB_LIBRARYDIR} $out/lib \
diff --git a/pkgs/development/libraries/openvino/cmake.patch b/pkgs/development/libraries/openvino/cmake.patch
deleted file mode 100644
index 0918baba918f..000000000000
--- a/pkgs/development/libraries/openvino/cmake.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/cmake/developer_package/linux_name.cmake b/cmake/developer_package/linux_name.cmake
-index 3e8c775770..2d5e00fb8b 100644
---- a/cmake/developer_package/linux_name.cmake
-+++ b/cmake/developer_package/linux_name.cmake
-@@ -6,25 +6,7 @@ include(target_flags)
- 
- if(LINUX)
-     function(get_linux_name res_var)
--        if(EXISTS "/etc/lsb-release")
--            # linux version detection using cat /etc/lsb-release
--            file(READ "/etc/lsb-release" release_data)
--            set(name_regex "DISTRIB_ID=([^ \n]*)\n")
--            set(version_regex "DISTRIB_RELEASE=([0-9]+(\\.[0-9]+)?)")
--        else()
--            execute_process(COMMAND find -L /etc/ -maxdepth 1 -type f -name *-release -exec cat {} \;
--                            OUTPUT_VARIABLE release_data
--                            RESULT_VARIABLE result)
--            string(REPLACE "Red Hat" "CentOS" release_data "${release_data}")
--            set(name_regex "NAME=\"([^ \"\n]*).*\"\n")
--            set(version_regex "VERSION=\"([0-9]+(\\.[0-9]+)?)[^\n]*\"")
--        endif()
--
--        string(REGEX MATCH ${name_regex} name ${release_data})
--        set(os_name ${CMAKE_MATCH_1})
--
--        string(REGEX MATCH ${version_regex} version ${release_data})
--        set(os_name "${os_name} ${CMAKE_MATCH_1}")
-+        set(os_name "NixOS @version@")
- 
-         if(os_name)
-             set(${res_var} ${os_name} PARENT_SCOPE)
diff --git a/pkgs/development/libraries/openvino/default.nix b/pkgs/development/libraries/openvino/default.nix
index 26fac012948d..186e1048823a 100644
--- a/pkgs/development/libraries/openvino/default.nix
+++ b/pkgs/development/libraries/openvino/default.nix
@@ -1,8 +1,8 @@
 { lib
-, stdenv
+, gcc12Stdenv
 , fetchFromGitHub
+, fetchpatch2
 , fetchurl
-, substituteAll
 , cudaSupport ? opencv.cudaSupport or false
 
 # build
@@ -14,45 +14,62 @@
 , pkg-config
 , python
 , shellcheck
+, sphinx
 
 # runtime
+, flatbuffers
 , libusb1
 , libxml2
 , ocl-icd
 , opencv
 , protobuf
 , pugixml
+, snappy
 , tbb
 , cudaPackages
 }:
 
 let
+  inherit (lib)
+    cmakeBool
+  ;
+
+  stdenv = gcc12Stdenv;
+
   # See GNA_VERSION in cmake/dependencies.cmake
-  gna_version = "03.05.00.1906";
+  gna_version = "03.05.00.2116";
   gna = fetchurl {
     url = "https://storage.openvinotoolkit.org/dependencies/gna/gna_${gna_version}.zip";
-    hash = "sha256-SlvobZwCaw4Qr6wqV/x8mddisw49UGq7OjOA+8/icm4=";
+    hash = "sha256-lgNQVncCvaFydqxMBg11JPt8587XhQBL2GHIH/K/4sU=";
   };
 
   tbbbind_version = "2_5";
   tbbbind = fetchurl {
-    url = "https://storage.openvinotoolkit.org/dependencies/thirdparty/linux/tbbbind_${tbbbind_version}_static_lin_v3.tgz";
-    hash = "sha256-053rJiwGmBteLS48WT6fyb5izk/rkd1OZI6SdTZZprM=";
+    url = "https://storage.openvinotoolkit.org/dependencies/thirdparty/linux/tbbbind_${tbbbind_version}_static_lin_v4.tgz";
+    hash = "sha256-Tr8wJGUweV8Gb7lhbmcHxrF756ZdKdNRi1eKdp3VTuo=";
   };
 in
 
 stdenv.mkDerivation rec {
   pname = "openvino";
-  version = "2023.0.0";
+  version = "2023.3.0";
 
   src = fetchFromGitHub {
     owner = "openvinotoolkit";
     repo = "openvino";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    hash = "sha256-z88SgAZ0UX9X7BhBA7/NU/UhVLltb6ANKolruU8YiZQ=";
+    hash = "sha256-dXlQhar5gz+1iLmDYXUY0jZKh4rJ+khRpoZQphJXfcU=";
   };
 
+  patches = [
+    (fetchpatch2 {
+      name = "enable-js-toggle.patch";
+      url = "https://github.com/openvinotoolkit/openvino/commit/0a8f1383826d949c497fe3d05fef9ad2b662fa7e.patch";
+      hash = "sha256-mQYunouPo3tRlD5Yp4EUth324ccNnVX8zmjPHvJBYKw=";
+    })
+  ];
+
   outputs = [
     "out"
     "python"
@@ -71,17 +88,11 @@ stdenv.mkDerivation rec {
       setuptools
     ]))
     shellcheck
+    sphinx
   ] ++ lib.optionals cudaSupport [
     cudaPackages.cuda_nvcc
   ];
 
-  patches = [
-    (substituteAll {
-      src = ./cmake.patch;
-      inherit (lib) version;
-    })
-  ];
-
   postPatch = ''
     mkdir -p temp/gna_${gna_version}
     pushd temp/
@@ -100,30 +111,35 @@ stdenv.mkDerivation rec {
   dontUseCmakeBuildDir = true;
 
   cmakeFlags = [
-    "-DCMAKE_PREFIX_PATH:PATH=${placeholder "out"}"
+    "-Wno-dev"
     "-DCMAKE_MODULE_PATH:PATH=${placeholder "out"}/lib/cmake"
-    "-DENABLE_LTO:BOOL=ON"
-    # protobuf
-    "-DENABLE_SYSTEM_PROTOBUF:BOOL=OFF"
-    "-DProtobuf_LIBRARIES=${protobuf}/lib/libprotobuf${stdenv.hostPlatform.extensions.sharedLibrary}"
-    # tbb
-    "-DENABLE_SYSTEM_TBB:BOOL=ON"
-    # opencv
-    "-DENABLE_OPENCV:BOOL=ON"
+    "-DCMAKE_PREFIX_PATH:PATH=${placeholder "out"}"
     "-DOpenCV_DIR=${opencv}/lib/cmake/opencv4/"
-    # pugixml
-    "-DENABLE_SYSTEM_PUGIXML:BOOL=ON"
-    # onednn
-    "-DENABLE_ONEDNN_FOR_GPU:BOOL=OFF"
-    # intel gna
-    "-DENABLE_INTEL_GNA:BOOL=ON"
-    # python
-    "-DENABLE_PYTHON:BOOL=ON"
-    # tests
-    "-DENABLE_CPPLINT:BOOL=OFF"
-    "-DBUILD_TESTING:BOOL=OFF"
-    "-DENABLE_SAMPLES:BOOL=OFF"
-    (lib.cmakeBool "CMAKE_VERBOSE_MAKEFILE" true)
+    "-DProtobuf_LIBRARIES=${protobuf}/lib/libprotobuf${stdenv.hostPlatform.extensions.sharedLibrary}"
+
+    (cmakeBool "CMAKE_VERBOSE_MAKEFILE" true)
+    (cmakeBool "NCC_SYLE" false)
+    (cmakeBool "BUILD_TESTING" false)
+    (cmakeBool "ENABLE_CPPLINT" false)
+    (cmakeBool "ENABLE_TESTING" false)
+    (cmakeBool "ENABLE_SAMPLES" false)
+
+    # features
+    (cmakeBool "ENABLE_INTEL_CPU" true)
+    (cmakeBool "ENABLE_INTEL_GNA" true)
+    (cmakeBool "ENABLE_JS" false)
+    (cmakeBool "ENABLE_LTO" true)
+    (cmakeBool "ENABLE_ONEDNN_FOR_GPU" false)
+    (cmakeBool "ENABLE_OPENCV" true)
+    (cmakeBool "ENABLE_PYTHON" true)
+
+    # system libs
+    (cmakeBool "ENABLE_SYSTEM_FLATBUFFERS" true)
+    (cmakeBool "ENABLE_SYSTEM_OPENCL" true)
+    (cmakeBool "ENABLE_SYSTEM_PROTOBUF" false)
+    (cmakeBool "ENABLE_SYSTEM_PUGIXML" true)
+    (cmakeBool "ENABLE_SYSTEM_SNAPPY" true)
+    (cmakeBool "ENABLE_SYSTEM_TBB" true)
   ];
 
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isAarch64 "-Wno-narrowing";
@@ -133,12 +149,13 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    flatbuffers
     libusb1
     libxml2
     ocl-icd
     opencv.cxxdev
-    protobuf
     pugixml
+    snappy
     tbb
   ] ++ lib.optionals cudaSupport [
     cudaPackages.cuda_cudart
@@ -147,11 +164,9 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   postInstall = ''
-    pushd $out/python/python${lib.versions.majorMinor python.version}
     mkdir -p $python
-    mv ./* $python/
-    popd
-    rm -r $out/python
+    mv $out/python/* $python/
+    rmdir $out/python
   '';
 
   postFixup = ''
diff --git a/pkgs/development/libraries/protobuf/25.nix b/pkgs/development/libraries/protobuf/25.nix
index b994f6060942..0b05e81cc029 100644
--- a/pkgs/development/libraries/protobuf/25.nix
+++ b/pkgs/development/libraries/protobuf/25.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix ({
-  version = "25.1";
-  hash = "sha256-w6556kxftVZ154LrZB+jv9qK+QmMiUOGj6EcNwiV+yo=";
+  version = "25.2";
+  hash = "sha256-Bw7xOgcGLshFppH4qD8E48D8v21ZJRaRkK19LPSATMg=";
 } // args)
diff --git a/pkgs/development/libraries/qwlroots/default.nix b/pkgs/development/libraries/qwlroots/default.nix
new file mode 100644
index 000000000000..85282afb15b5
--- /dev/null
+++ b/pkgs/development/libraries/qwlroots/default.nix
@@ -0,0 +1,69 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, wrapQtAppsHook
+, wayland-scanner
+, qtbase
+, wayland
+, wayland-protocols
+, wlr-protocols
+, pixman
+, mesa
+, vulkan-loader
+, libinput
+, xorg
+, seatd
+, wlroots
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "qwlroots";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "vioken";
+    repo = "qwlroots";
+    rev = finalAttrs.version;
+    hash = "sha256-ev4oCKR43XaYNTavj9XI3RAtB6RFprChpBFsrA2nVsM=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    wrapQtAppsHook
+    wayland-scanner
+  ];
+
+  buildInputs = [
+    qtbase
+    wayland
+    wayland-protocols
+    wlr-protocols
+    pixman
+    mesa
+    vulkan-loader
+    libinput
+    xorg.libXdmcp
+    xorg.xcbutilerrors
+    seatd
+  ];
+
+  propagatedBuildInputs = [
+    wlroots
+  ];
+
+  cmakeFlags = [
+    (lib.cmakeBool "PREFER_QT_5" (lib.versionOlder qtbase.version "6"))
+  ];
+
+  meta = {
+    description = "Qt and QML bindings for wlroots";
+    homepage = "https://github.com/vioken/qwlroots";
+    license = with lib.licenses; [ gpl3Only lgpl3Only asl20 ];
+    platforms = wlroots.meta.platforms;
+    maintainers = with lib.maintainers; [ rewine ];
+  };
+})
+
diff --git a/pkgs/development/libraries/rapidfuzz-cpp/default.nix b/pkgs/development/libraries/rapidfuzz-cpp/default.nix
index 2668025bcbe1..f24da2c899f1 100644
--- a/pkgs/development/libraries/rapidfuzz-cpp/default.nix
+++ b/pkgs/development/libraries/rapidfuzz-cpp/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , cmake
 , catch2_3
+, python3Packages
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -33,6 +34,13 @@ stdenv.mkDerivation (finalAttrs: {
     catch2_3
   ];
 
+  passthru = {
+    tests = {
+      /** `python3Packages.levenshtein` crucially depends on `rapidfuzz-cpp` */
+      inherit (python3Packages) levenshtein;
+    };
+  };
+
   meta = {
     description = "Rapid fuzzy string matching in C++ using the Levenshtein Distance";
     homepage = "https://github.com/maxbachmann/rapidfuzz-cpp";
diff --git a/pkgs/development/libraries/rlottie/default.nix b/pkgs/development/libraries/rlottie/default.nix
index 3d4e8a5a6641..cbc46f819e5f 100644
--- a/pkgs/development/libraries/rlottie/default.nix
+++ b/pkgs/development/libraries/rlottie/default.nix
@@ -2,7 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , fetchpatch
-, meson
+, cmake
 , ninja
 , pkg-config
 }:
@@ -26,7 +26,11 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  nativeBuildInputs = [ meson ninja pkg-config ];
+  nativeBuildInputs = [ cmake ninja pkg-config ];
+
+  cmakeFlags = [
+    (lib.cmakeFeature "LIB_INSTALL_DIR" "${placeholder "out"}/lib")
+  ];
 
   env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) "-U__ARM_NEON__";
 
diff --git a/pkgs/development/libraries/science/astronomy/indilib/default.nix b/pkgs/development/libraries/science/astronomy/indilib/default.nix
index 3fae85187deb..c38842f128c7 100644
--- a/pkgs/development/libraries/science/astronomy/indilib/default.nix
+++ b/pkgs/development/libraries/science/astronomy/indilib/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "indilib";
-  version = "2.0.5";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "indilib";
     repo = "indi";
     rev = "v${version}";
-    hash = "sha256-n1zj1U26l30JYr5Tio5zwv8v/e2cjEeIRGsyncMtt9I=";
+    hash = "sha256-3MeF2G/rr//c7cgGzqDzmqoNKvR+7Kkbid1g8znKPkg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/science/chemistry/simple-dftd3/python.nix b/pkgs/development/libraries/science/chemistry/simple-dftd3/python.nix
new file mode 100644
index 000000000000..74f24e10f55f
--- /dev/null
+++ b/pkgs/development/libraries/science/chemistry/simple-dftd3/python.nix
@@ -0,0 +1,42 @@
+{ buildPythonPackage
+, pkg-config
+, meson
+, simple-dftd3
+, cffi
+, numpy
+, toml
+, qcengine
+, pyscf
+, ase
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  inherit (simple-dftd3) pname version src meta;
+
+  # pytest is also required for installation, not only testing
+  nativeBuildInputs = [ pytestCheckHook ];
+
+  buildInputs = [ simple-dftd3 ];
+
+  propagatedBuildInputs = [
+    cffi
+    numpy
+    toml
+  ];
+
+  checkInputs = [
+    ase
+    qcengine
+    pyscf
+  ];
+
+  preConfigure = ''
+    cd python
+  '';
+
+  # The compiled CFFI is not placed correctly before pytest invocation
+  preCheck = ''
+    find . -name "_libdftd3*" -exec cp {} ./dftd3/. \;
+  '';
+}
diff --git a/pkgs/development/libraries/science/networking/ns-3/default.nix b/pkgs/development/libraries/science/networking/ns-3/default.nix
index dd28553d60e9..fa6e5e48f846 100644
--- a/pkgs/development/libraries/science/networking/ns-3/default.nix
+++ b/pkgs/development/libraries/science/networking/ns-3/default.nix
@@ -120,7 +120,7 @@ stdenv.mkDerivation rec {
     "-DPython3_EXECUTABLE=${pythonEnv}/bin/python"
     "-DNS3_PYTHON_BINDINGS=ON"
     "-DNS3_DES_METRICS=ON"
-    "-DNS3_BINDINGS_INSTALL_DIR=lib/${pythonEnv.libPrefix}/site-packages"
+    "-DNS3_BINDINGS_INSTALL_DIR=${pythonEnv.sitePackages}"
     "-DNS3_LOG=ON"
     "-DNS3_ASSERT=ON"
     "-DNS3_GTK3=ON"
diff --git a/pkgs/development/libraries/simdjson/default.nix b/pkgs/development/libraries/simdjson/default.nix
index 3a25dd22f203..768587534778 100644
--- a/pkgs/development/libraries/simdjson/default.nix
+++ b/pkgs/development/libraries/simdjson/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "simdjson";
-  version = "3.6.3";
+  version = "3.6.4";
 
   src = fetchFromGitHub {
     owner = "simdjson";
     repo = "simdjson";
     rev = "v${version}";
-    sha256 = "sha256-PRXFZvwod/n27Tx9OALHdSlKsbsrNi5ij70A4ZSoeGc=";
+    sha256 = "sha256-yIZKlKp4p1HJBAdba+57sGl0ri0gGtjSgZQ16/vDE34=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/spglib/default.nix b/pkgs/development/libraries/spglib/default.nix
index 724a9f52d509..4c7fac7e2918 100644
--- a/pkgs/development/libraries/spglib/default.nix
+++ b/pkgs/development/libraries/spglib/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spglib";
-  version = "2.2.0"; # N.B: if you change this, please update: pythonPackages.spglib
+  version = "2.3.0"; # N.B: if you change this, please update: pythonPackages.spglib
 
   src = fetchFromGitHub {
     owner = "spglib";
     repo = "spglib";
     rev = "v${version}";
-    hash = "sha256-VaTW7n7DTeYBr/PrxPhfzfx/gLxzJikw5aL1tEbMtbs=";
+    hash = "sha256-S/i0sIg7VwgpnB2Uo0d4FdVcSIb5tcGJ+0URmkNkxe8=";
   };
 
   nativeBuildInputs = [ cmake gfortran gtest ];
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index eb4d975a6e01..952fc28eae4c 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -5,8 +5,6 @@
 
 # uses readline & ncurses for a better interactive experience if set to true
 , interactive ? false
-# TODO: can be removed since 3.36 since it is the default now.
-, enableDeserialize ? false
 
 , gitUpdater
 }:
@@ -54,9 +52,6 @@ stdenv.mkDerivation rec {
     "-DSQLITE_SECURE_DELETE"
     "-DSQLITE_MAX_VARIABLE_NUMBER=250000"
     "-DSQLITE_MAX_EXPR_DEPTH=10000"
-  ] ++ lib.optionals enableDeserialize [
-    # Can be removed in v3.36+, as this will become the default
-    "-DSQLITE_ENABLE_DESERIALIZE"
   ]);
 
   # Test for features which may not be available at compile time
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix
index bfe38fd4719a..73cb8a65a162 100644
--- a/pkgs/development/libraries/talloc/default.nix
+++ b/pkgs/development/libraries/talloc/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "talloc";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchurl {
     url = "mirror://samba/talloc/${pname}-${version}.tar.gz";
-    sha256 = "sha256-QQpUfwhVcAe+DogZTyGIaDWO3Aq5jJi6jBZ5MNs9M/k=";
+    sha256 = "sha256-hez55GXiD5j5lQpS6aQR4UMgvFVfolfYdpe356mx2KY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/tdlib/default.nix b/pkgs/development/libraries/tdlib/default.nix
index f1c6a3d1b728..d6e3aa57e986 100644
--- a/pkgs/development/libraries/tdlib/default.nix
+++ b/pkgs/development/libraries/tdlib/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "tdlib";
-  version = "1.8.23";
+  version = "1.8.24";
 
   src = fetchFromGitHub {
     owner = "tdlib";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     # The tdlib authors do not set tags for minor versions, but
     # external programs depending on tdlib constrain the minor
     # version, hence we set a specific commit with a known version.
-    rev = "27c3eaeb4964bd5f18d8488e354abde1a4383e49";
-    hash = "sha256-TxgzZn/OF5b5FWzwnOWIozH+1d7O0RG3h+WKV10rxpE=";
+    rev = "c5c55092dd61b9eb15d6bbfd0f02c04c593450e7";
+    hash = "sha256-jqS3PGg42W15QBgpL1PNU3xJdk67g8u0THN/4hW5i88=";
   };
 
   buildInputs = [ gperf openssl readline zlib ];
diff --git a/pkgs/development/libraries/vigra/default.nix b/pkgs/development/libraries/vigra/default.nix
index 320b43f0e51b..677406d275a8 100644
--- a/pkgs/development/libraries/vigra/default.nix
+++ b/pkgs/development/libraries/vigra/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     python
   ];
 
-  preConfigure = "cmakeFlags+=\" -DVIGRANUMPY_INSTALL_DIR=$out/lib/${python.libPrefix}/site-packages\"";
+  preConfigure = "cmakeFlags+=\" -DVIGRANUMPY_INSTALL_DIR=$out/${python.sitePackages}\"";
 
   cmakeFlags = [ "-DWITH_OPENEXR=1" ]
     ++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux")
diff --git a/pkgs/development/libraries/wasilibc/default.nix b/pkgs/development/libraries/wasilibc/default.nix
index 4c49788464d4..c0714a78556a 100644
--- a/pkgs/development/libraries/wasilibc/default.nix
+++ b/pkgs/development/libraries/wasilibc/default.nix
@@ -8,7 +8,7 @@
 
 let
   pname = "wasilibc";
-  version = "20";
+  version = "21";
 in
 stdenv.mkDerivation {
   inherit pname version;
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     owner = "WebAssembly";
     repo = "wasi-libc";
     rev = "refs/tags/wasi-sdk-${version}";
-    hash = "sha256-H92PDrH1FL7S3eMCK1+wqclryjhwghl21bOlRCAr1U4=";
+    hash = "sha256-1LsMpO29y79twVrUsuM/JvC7hK8O6Yey4Ard/S3Mvvc=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/waylib/default.nix b/pkgs/development/libraries/waylib/default.nix
new file mode 100644
index 000000000000..9aa211ffd3e0
--- /dev/null
+++ b/pkgs/development/libraries/waylib/default.nix
@@ -0,0 +1,74 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, wayland-scanner
+, wrapQtAppsHook
+, qtbase
+, qtquick3d
+, qwlroots
+, wayland
+, wayland-protocols
+, wlr-protocols
+, pixman
+, libdrm
+, nixos-artwork
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "waylib";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "vioken";
+    repo = "waylib";
+    rev = finalAttrs.version;
+    hash = "sha256-3IdrChuXQyQGhJ/7kTqmkV0PyuSNP53Y0Po01Fc9Qi0=";
+  };
+
+  postPatch = ''
+    substituteInPlace examples/tinywl/OutputDelegate.qml \
+      --replace "/usr/share/wallpapers/deepin/desktop.jpg" \
+                "${nixos-artwork.wallpapers.simple-blue}/share/backgrounds/nixos/nix-wallpaper-simple-blue.png"
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    wayland-scanner
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    qtbase
+    qtquick3d
+    wayland
+    wayland-protocols
+    wlr-protocols
+    pixman
+    libdrm
+  ];
+
+  propagatedBuildInputs = [
+    qwlroots
+  ];
+
+  cmakeFlags = [
+    (lib.cmakeBool "INSTALL_TINYWL" true)
+  ];
+
+  strictDeps = true;
+
+  outputs = [ "out" "dev" "bin" ];
+
+  meta = {
+    description = "A wrapper for wlroots based on Qt";
+    homepage = "https://github.com/vioken/waylib";
+    license = with lib.licenses; [ gpl3Only lgpl3Only asl20 ];
+    outputsToInstall = [ "out" ];
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ rewine ];
+  };
+})
+
diff --git a/pkgs/development/libraries/xxHash/default.nix b/pkgs/development/libraries/xxHash/default.nix
index f7631de1bf29..c78fc302afe4 100644
--- a/pkgs/development/libraries/xxHash/default.nix
+++ b/pkgs/development/libraries/xxHash/default.nix
@@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://github.com/Cyan4973/xxHash";
     license = with licenses; [ bsd2 gpl2 ];
+    mainProgram = "xxhsum";
     maintainers = with maintainers; [ orivej ];
     platforms = platforms.all;
   };
diff --git a/pkgs/development/misc/umr/default.nix b/pkgs/development/misc/umr/default.nix
index b83cb91a91b5..37177f926b68 100644
--- a/pkgs/development/misc/umr/default.nix
+++ b/pkgs/development/misc/umr/default.nix
@@ -1,28 +1,50 @@
-{ lib, stdenv, fetchgit, bash-completion, cmake, pkg-config
-, json_c, libdrm, libpciaccess, llvmPackages, nanomsg, ncurses, SDL2
+{ lib
+, stdenv
+
+, fetchFromGitLab
+
+, cmake
+, pkg-config
+
+, libdrm
+, mesa # libgbm
+, libpciaccess
+, llvmPackages
+, nanomsg
+, ncurses
+, SDL2
+, bash-completion
+
+, nix-update-script
 }:
 
 stdenv.mkDerivation rec {
   pname = "umr";
-  version = "unstable-2022-08-23";
+  version = "1.0.8";
 
-  src = fetchgit {
-    url = "https://gitlab.freedesktop.org/tomstdenis/umr";
-    rev = "87f814b1ffdbac8bfddd8529d344a7901cd7e112";
-    hash = "sha256-U1VP1AicSGWzBwzz99i7+3awATZocw5jaqtAxuRNaBE=";
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "tomstdenis";
+    repo = "umr";
+    rev = version;
+    hash = "sha256-ODkTYHDrKWNvjiEeIyfsCByf7hyr5Ps9ytbKb3253bU=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config llvmPackages.llvm.dev ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
 
   buildInputs = [
-    bash-completion
-    json_c
     libdrm
+    mesa
     libpciaccess
     llvmPackages.llvm
     nanomsg
     ncurses
     SDL2
+
+    bash-completion # Tries to create bash-completions in /var/empty otherwise?
   ];
 
   # Remove static libraries (there are no dynamic libraries in there)
@@ -30,6 +52,8 @@ stdenv.mkDerivation rec {
     rm -r $out/lib
   '';
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     description = "A userspace debugging and diagnostic tool for AMD GPUs";
     homepage = "https://gitlab.freedesktop.org/tomstdenis/umr";
diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix
index ffe26a735d97..34751db8f193 100644
--- a/pkgs/development/node-packages/aliases.nix
+++ b/pkgs/development/node-packages/aliases.nix
@@ -50,6 +50,7 @@ mapAliases {
   "@nerdwallet/shepherd" = pkgs.shepherd; # added 2023-09-30
   "@nestjs/cli" = pkgs.nest-cli; # Added 2023-05-06
   "@tailwindcss/language-server" = pkgs.tailwindcss-language-server; # added 2024-01-22
+  "@withgraphite/graphite-cli" = pkgs.graphite-cli; # added 2024-01-25
   "@zwave-js/server" = pkgs.zwave-js-server; # Added 2023-09-09
   alloy = pkgs.titanium-alloy; # added 2023-08-17
   antennas = pkgs.antennas; # added 2023-07-30
@@ -82,6 +83,7 @@ mapAliases {
   inherit (pkgs) gitmoji-cli; # added 2023-09-23
   glob = pkgs.node-glob; # added 2023-08-18
   inherit (pkgs) gqlint; # added 2023-08-19
+  inherit (pkgs) graphite-cli; # added 2024-01-25
   inherit (pkgs) graphqurl; # added 2023-08-19
   gtop = pkgs.gtop; # added 2023-07-31
   hs-client = pkgs.hsd; # added 2023-08-20
@@ -111,6 +113,7 @@ mapAliases {
   ocaml-language-server = throw "ocaml-language-server was removed because it was abandoned upstream"; # added 2023-09-04
   parcel-bundler = parcel; # added 2023-09-04
   pkg = pkgs.vercel-pkg; # added 2023-10-04
+  inherit (pkgs) pm2; # added 2024-01-22
   prettier_d_slim = pkgs.prettier-d-slim; # added 2023-09-14
   inherit (pkgs) pxder; # added 2023-09-26
   inherit (pkgs) quicktype; # added 2023-09-09
diff --git a/pkgs/development/node-packages/main-programs.nix b/pkgs/development/node-packages/main-programs.nix
index 2513bb481e52..77ce87da7aab 100644
--- a/pkgs/development/node-packages/main-programs.nix
+++ b/pkgs/development/node-packages/main-programs.nix
@@ -5,7 +5,6 @@
   "@electron-forge/cli" = "electron-forge";
   "@microsoft/rush" = "rush";
   "@webassemblyjs/cli-1.11.1" = "wasm2wast";
-  "@withgraphite/graphite-cli" = "gt";
 
   # Packages that provide a single executable.
   "@angular/cli" = "ng";
@@ -46,8 +45,12 @@
   poor-mans-t-sql-formatter-cli = "sqlformat";
   postcss-cli = "postcss";
   prettier = "prettier";
+  pulp = "pulp";
+  purescript-language-server = "purescript-language-server";
   purescript-psa = "psa";
   purs-tidy = "purs-tidy";
+  purty = "purty";
+  pscid = "pscid";
   remod-cli = "remod";
   svelte-language-server = "svelteserver";
   teck-programmer = "teck-firmware-upgrade";
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index d4a420320c64..de10dd251f41 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -186,7 +186,6 @@
 , "peerflix"
 , "peerflix-server"
 , {"pgrok-build-deps": "../../tools/networking/pgrok/build-deps"}
-, "pm2"
 , "pnpm"
 , "poor-mans-t-sql-formatter-cli"
 , "postcss"
@@ -300,7 +299,6 @@
 , "webpack-dev-server"
 , "copy-webpack-plugin"
 , "webtorrent-cli"
-, "@withgraphite/graphite-cli"
 , "wrangler"
 , "wring"
 , "@yaegassy/coc-nginx"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index c03c1506797d..43dfa94a5c1a 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -92027,225 +92027,6 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  pm2 = nodeEnv.buildNodePackage {
-    name = "pm2";
-    packageName = "pm2";
-    version = "5.3.0";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pm2/-/pm2-5.3.0.tgz";
-      sha512 = "xscmQiAAf6ArVmKhjKTeeN8+Td7ZKnuZFFPw1DGkdFPR/0Iyx+m+1+OpCdf9+HQopX3VPc9/wqPQHqVOfHum9w==";
-    };
-    dependencies = [
-      (sources."@opencensus/core-0.0.9" // {
-        dependencies = [
-          sources."semver-5.7.2"
-        ];
-      })
-      (sources."@opencensus/propagation-b3-0.0.8" // {
-        dependencies = [
-          sources."@opencensus/core-0.0.8"
-          sources."semver-5.7.2"
-        ];
-      })
-      (sources."@pm2/agent-2.0.3" // {
-        dependencies = [
-          sources."dayjs-1.8.36"
-        ];
-      })
-      (sources."@pm2/io-5.0.2" // {
-        dependencies = [
-          sources."async-2.6.4"
-          sources."eventemitter2-6.4.9"
-          sources."tslib-1.9.3"
-        ];
-      })
-      (sources."@pm2/js-api-0.6.7" // {
-        dependencies = [
-          sources."async-2.6.4"
-          sources."eventemitter2-6.4.9"
-        ];
-      })
-      sources."@pm2/pm2-version-check-1.0.4"
-      sources."@tootallnate/quickjs-emscripten-0.23.0"
-      sources."agent-base-7.1.0"
-      sources."amp-0.3.1"
-      sources."amp-message-0.1.2"
-      sources."ansi-colors-4.1.3"
-      sources."ansi-styles-4.3.0"
-      sources."anymatch-3.1.3"
-      (sources."argparse-1.0.10" // {
-        dependencies = [
-          sources."sprintf-js-1.0.3"
-        ];
-      })
-      sources."ast-types-0.13.4"
-      sources."async-3.2.5"
-      (sources."async-listener-0.6.10" // {
-        dependencies = [
-          sources."semver-5.7.2"
-        ];
-      })
-      sources."axios-0.21.4"
-      sources."balanced-match-1.0.2"
-      sources."basic-ftp-5.0.4"
-      sources."binary-extensions-2.2.0"
-      sources."blessed-0.1.81"
-      sources."bodec-0.1.0"
-      sources."brace-expansion-1.1.11"
-      sources."braces-3.0.2"
-      sources."buffer-from-1.1.2"
-      sources."bufferutil-4.0.8"
-      sources."chalk-3.0.0"
-      sources."charm-0.1.2"
-      sources."chokidar-3.5.3"
-      sources."cli-tableau-2.0.1"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
-      sources."commander-2.15.1"
-      sources."concat-map-0.0.1"
-      sources."continuation-local-storage-3.2.1"
-      sources."croner-4.1.97"
-      sources."culvert-0.1.2"
-      sources."data-uri-to-buffer-6.0.1"
-      sources."dayjs-1.11.10"
-      sources."debug-4.3.4"
-      sources."degenerator-5.0.1"
-      sources."emitter-listener-1.1.2"
-      sources."enquirer-2.3.6"
-      sources."escape-string-regexp-4.0.0"
-      sources."escodegen-2.1.0"
-      sources."esprima-4.0.1"
-      sources."estraverse-5.3.0"
-      sources."esutils-2.0.3"
-      sources."eventemitter2-5.0.1"
-      sources."fast-json-patch-3.1.1"
-      sources."fclone-1.0.11"
-      sources."fill-range-7.0.1"
-      sources."follow-redirects-1.15.4"
-      sources."fs-extra-8.1.0"
-      sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.3"
-      sources."function-bind-1.1.2"
-      sources."get-uri-6.0.2"
-      sources."git-node-fs-1.0.0"
-      sources."git-sha1-0.1.2"
-      sources."glob-7.2.3"
-      sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.11"
-      sources."has-flag-4.0.0"
-      sources."hasown-2.0.0"
-      sources."http-proxy-agent-7.0.0"
-      sources."https-proxy-agent-7.0.2"
-      sources."iconv-lite-0.4.24"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."ini-1.3.8"
-      sources."ip-1.1.8"
-      sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.13.1"
-      sources."is-extglob-2.1.1"
-      sources."is-glob-4.0.3"
-      sources."is-number-7.0.0"
-      sources."js-git-0.7.8"
-      sources."json-stringify-safe-5.0.1"
-      sources."jsonfile-4.0.0"
-      sources."lazy-1.0.11"
-      sources."lodash-4.17.21"
-      sources."log-driver-1.2.7"
-      sources."lru-cache-7.18.3"
-      sources."minimatch-3.1.2"
-      sources."mkdirp-1.0.4"
-      sources."module-details-from-path-1.0.3"
-      sources."ms-2.1.2"
-      sources."mute-stream-0.0.8"
-      (sources."needle-2.4.0" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
-      sources."netmask-2.0.2"
-      sources."node-gyp-build-4.8.0"
-      sources."normalize-path-3.0.0"
-      (sources."nssocket-0.6.0" // {
-        dependencies = [
-          sources."eventemitter2-0.4.14"
-        ];
-      })
-      sources."once-1.4.0"
-      sources."pac-proxy-agent-7.0.1"
-      sources."pac-resolver-7.0.0"
-      sources."pako-0.2.9"
-      sources."path-is-absolute-1.0.1"
-      sources."path-parse-1.0.7"
-      sources."picomatch-2.3.1"
-      sources."pidusage-3.0.2"
-      sources."pm2-axon-4.0.1"
-      sources."pm2-axon-rpc-0.7.1"
-      sources."pm2-deploy-1.0.2"
-      sources."pm2-multimeter-0.1.2"
-      (sources."pm2-sysmonit-1.2.8" // {
-        dependencies = [
-          sources."pidusage-2.0.21"
-        ];
-      })
-      sources."promptly-2.2.0"
-      sources."proxy-agent-6.3.1"
-      sources."proxy-from-env-1.1.0"
-      sources."read-1.0.7"
-      sources."readdirp-3.6.0"
-      sources."require-in-the-middle-5.2.0"
-      sources."resolve-1.22.8"
-      sources."run-series-1.1.9"
-      sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
-      sources."sax-1.3.0"
-      (sources."semver-7.5.4" // {
-        dependencies = [
-          sources."lru-cache-6.0.0"
-        ];
-      })
-      sources."shimmer-1.2.1"
-      sources."signal-exit-3.0.7"
-      sources."smart-buffer-4.2.0"
-      (sources."socks-2.7.1" // {
-        dependencies = [
-          sources."ip-2.0.0"
-        ];
-      })
-      sources."socks-proxy-agent-8.0.2"
-      sources."source-map-0.6.1"
-      sources."source-map-support-0.5.21"
-      sources."sprintf-js-1.1.2"
-      sources."supports-color-7.2.0"
-      sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.21.22"
-      sources."to-regex-range-5.0.1"
-      sources."tslib-2.6.2"
-      sources."tv4-1.3.0"
-      sources."tx2-1.0.5"
-      sources."universalify-0.1.2"
-      sources."utf-8-validate-5.0.10"
-      sources."uuid-3.4.0"
-      (sources."vizion-2.2.1" // {
-        dependencies = [
-          sources."async-2.6.4"
-        ];
-      })
-      sources."wrappy-1.0.2"
-      sources."ws-7.4.6"
-      sources."yallist-4.0.0"
-      sources."yamljs-0.3.0"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Production process manager for Node.JS applications with a built-in load balancer.";
-      homepage = "http://pm2.keymetrics.io/";
-      license = "AGPL-3.0";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
@@ -101730,48 +101511,6 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "@withgraphite/graphite-cli" = nodeEnv.buildNodePackage {
-    name = "_at_withgraphite_slash_graphite-cli";
-    packageName = "@withgraphite/graphite-cli";
-    version = "1.0.14";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-1.0.14.tgz";
-      sha512 = "VXgUM5RSYXMVc9i3E1A6j0CYNS5ScQjUXaKO9l3epOws5rxiyDa7QOl7tiSXTQw1eQKtzXxiwve+iWDZsPSDQw==";
-    };
-    dependencies = [
-      sources."ansi-regex-5.0.1"
-      sources."ansi-styles-4.3.0"
-      sources."bufferutil-4.0.8"
-      sources."chalk-4.1.2"
-      sources."cliui-8.0.1"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
-      sources."emoji-regex-8.0.0"
-      sources."escalade-3.1.1"
-      sources."get-caller-file-2.0.5"
-      sources."has-flag-4.0.0"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."node-gyp-build-4.8.0"
-      sources."require-directory-2.1.1"
-      sources."string-width-4.2.3"
-      sources."strip-ansi-6.0.1"
-      sources."supports-color-7.2.0"
-      sources."utf-8-validate-6.0.3"
-      sources."wrap-ansi-7.0.0"
-      sources."ws-8.16.0"
-      sources."y18n-5.0.8"
-      sources."yargs-17.7.2"
-      sources."yargs-parser-21.1.1"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      homepage = "https://github.com/withgraphite/graphite-cli";
-      license = "None";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   wrangler = nodeEnv.buildNodePackage {
     name = "wrangler";
     packageName = "wrangler";
diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix
index 88d9d76e46e3..f49f09126e42 100644
--- a/pkgs/development/node-packages/overrides.nix
+++ b/pkgs/development/node-packages/overrides.nix
@@ -72,23 +72,6 @@ final: prev: {
     '';
   };
 
-
-  graphite-cli = prev."@withgraphite/graphite-cli".override (old: {
-    name = "graphite-cli";
-    nativeBuildInputs = with pkgs; [ installShellFiles pkg-config ];
-    buildInputs = with pkgs; [ cairo pango pixman ];
-    # 'gt completion' auto-detects zshell from environment variables:
-    # https://github.com/yargs/yargs/blob/2b6ba3139396b2e623aed404293f467f16590039/lib/completion.ts#L45
-    postInstall = ''
-      installShellCompletion --cmd gt \
-        --bash <($out/bin/gt completion) \
-        --zsh <(ZSH_NAME=zsh $out/bin/gt completion)
-    '';
-    meta = old.meta // {
-      license = lib.licenses.unfree; # no license specified
-    };
-  });
-
   graphql-language-service-cli = prev.graphql-language-service-cli.override {
     nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ];
     postInstall = ''
diff --git a/pkgs/development/ocaml-modules/lambdapi/default.nix b/pkgs/development/ocaml-modules/lambdapi/default.nix
index ddb428f720ee..f4d1cdb717b7 100644
--- a/pkgs/development/ocaml-modules/lambdapi/default.nix
+++ b/pkgs/development/ocaml-modules/lambdapi/default.nix
@@ -19,8 +19,7 @@ buildDunePackage rec {
   pname = "lambdapi";
   version = "2.3.1";
 
-  minimalOCamlVersion = "4.08";
-  duneVersion = "3";
+  minimalOCamlVersion = "4.12";
 
   src = fetchurl {
     url = "https://github.com/Deducteam/lambdapi/releases/download/${version}/lambdapi-${version}.tbz";
diff --git a/pkgs/development/ocaml-modules/riot/default.nix b/pkgs/development/ocaml-modules/riot/default.nix
index e830e7034e10..81d1a48773ea 100644
--- a/pkgs/development/ocaml-modules/riot/default.nix
+++ b/pkgs/development/ocaml-modules/riot/default.nix
@@ -1,8 +1,9 @@
 { lib
-, bigstringaf
 , buildDunePackage
+, cstruct
 , fetchurl
-, iomux
+, mdx
+, poll
 , ptime
 , telemetry
 , uri
@@ -10,24 +11,29 @@
 
 buildDunePackage rec {
   pname = "riot";
-  version = "0.0.5";
+  version = "0.0.7";
 
   minimalOCamlVersion = "5.1";
 
   src = fetchurl {
     url = "https://github.com/leostera/riot/releases/download/${version}/riot-${version}.tbz";
-    hash = "sha256-Abe4LMxlaxK3MVlg2d8X60aCuPGvaOn+4zFx/uH5z4g=";
+    hash = "sha256-t+PMBh4rZXi82dUljv3nLzZX5o1iagBbQ9FfGnr/dp4=";
   };
 
   propagatedBuildInputs = [
-    bigstringaf
-    iomux
+    cstruct
+    poll
     ptime
     telemetry
     uri
   ];
 
-  doCheck = true;
+  checkInputs = [
+    mdx
+    mdx.bin
+  ];
+
+  doCheck = false; # fails on sandbox
 
   meta = {
     description = "An actor-model multi-core scheduler for OCaml 5";
diff --git a/pkgs/development/ocaml-modules/timedesc/default.nix b/pkgs/development/ocaml-modules/timedesc/default.nix
new file mode 100644
index 000000000000..b77f5af17b40
--- /dev/null
+++ b/pkgs/development/ocaml-modules/timedesc/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, fetchurl
+, buildDunePackage
+, angstrom
+, ptime
+, seq
+, timedesc-tzdb
+, timedesc-tzlocal
+}:
+
+buildDunePackage rec {
+  pname = "timedesc";
+  version = "2.0.0";
+
+  src = fetchurl {
+    url = "https://github.com/daypack-dev/timere/releases/download/timedesc-${version}/timedesc-${version}.tar.gz";
+    hash = "sha256-NnnQpWOE1mt/F5lkWRPdDwpqXCUlcNi+Z5GE6YQQLK8=";
+  };
+
+  sourceRoot = ".";
+
+  propagatedBuildInputs = [
+    angstrom
+    ptime
+    seq
+    timedesc-tzdb
+    timedesc-tzlocal
+  ];
+
+  meta = {
+    description = "OCaml date time handling library";
+    homepage = "https://github.com/daypack-dev/timere";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/timedesc/tzdb.nix b/pkgs/development/ocaml-modules/timedesc/tzdb.nix
new file mode 100644
index 000000000000..95fab02d11a0
--- /dev/null
+++ b/pkgs/development/ocaml-modules/timedesc/tzdb.nix
@@ -0,0 +1,15 @@
+{ lib
+, buildDunePackage
+, timedesc
+}:
+
+buildDunePackage {
+  pname = "timedesc-tzdb";
+
+  inherit (timedesc) version src sourceRoot;
+
+  meta = timedesc.meta // {
+    description = "Virtual library for Timedesc time zone database backends";
+  };
+}
+
diff --git a/pkgs/development/ocaml-modules/timedesc/tzlocal.nix b/pkgs/development/ocaml-modules/timedesc/tzlocal.nix
new file mode 100644
index 000000000000..6dcbfd741075
--- /dev/null
+++ b/pkgs/development/ocaml-modules/timedesc/tzlocal.nix
@@ -0,0 +1,16 @@
+{ lib
+, buildDunePackage
+, timedesc
+}:
+
+buildDunePackage {
+  pname = "timedesc-tzlocal";
+
+  inherit (timedesc) version src sourceRoot;
+
+  minimalOCamlVersion = "4.08";
+
+  meta = timedesc.meta // {
+    description = "Virtual library for Timedesc local time zone detection backends";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tiny_httpd/default.nix b/pkgs/development/ocaml-modules/tiny_httpd/default.nix
index cb407ef585d9..2e8e537cba80 100644
--- a/pkgs/development/ocaml-modules/tiny_httpd/default.nix
+++ b/pkgs/development/ocaml-modules/tiny_httpd/default.nix
@@ -5,15 +5,15 @@
 
 buildDunePackage rec {
   pname = "tiny_httpd";
-  version = "0.12";
+  version = "0.16";
 
-  minimalOCamlVersion = "4.04";
+  minimalOCamlVersion = "4.08";
 
   src = fetchFromGitHub {
     owner = "c-cube";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256:1z9hzc0ib7pg9fsjmpggjqwrnip57izr2v0na7vc7s25lxsiag6a";
+    sha256 = "sha256-9L4WCduQNj5Jd/u3SozuXiGTkgojwfGIP5KgQmnWgQw=";
   };
 
   buildInputs = [ result ];
@@ -24,5 +24,6 @@ buildDunePackage rec {
     inherit (src.meta) homepage;
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.vbgl ];
+    mainProgram = "http_of_dir";
   };
 }
diff --git a/pkgs/development/ocaml-modules/zipc/default.nix b/pkgs/development/ocaml-modules/zipc/default.nix
index a4b22de3e94b..a31d2644e668 100644
--- a/pkgs/development/ocaml-modules/zipc/default.nix
+++ b/pkgs/development/ocaml-modules/zipc/default.nix
@@ -7,11 +7,11 @@ lib.throwIfNot (lib.versionAtLeast ocaml.version "4.14")
 
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-zipc";
-  version = "0.1.0";
+  version = "0.2.0";
 
   src = fetchurl {
     url = "https://erratique.ch/software/zipc/releases/zipc-${version}.tbz";
-    hash = "sha256-vU4AGW1MjQ31xjwvyRKSn1AwS0X6gjLvaJGYKqzFRpk=";
+    hash = "sha256-YQqkCURwrJgFH0+zgfket25zJQ4w+Tcc1mTSrDuWRt0=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/python-modules/acquire/default.nix b/pkgs/development/python-modules/acquire/default.nix
index aabd6216c904..c2c4e125e328 100644
--- a/pkgs/development/python-modules/acquire/default.nix
+++ b/pkgs/development/python-modules/acquire/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "acquire";
-  version = "3.11";
+  version = "3.12";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "acquire";
     rev = "refs/tags/${version}";
-    hash = "sha256-0aLPDh9lrKpHo97VFFwCmPXyXXNFGgkdjoppzm3BCTo=";
+    hash = "sha256-anRNCnLDKHAEfOWi6m1n4R9lvFTlZgw5xxh39exvzH0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/adjusttext/default.nix b/pkgs/development/python-modules/adjusttext/default.nix
index d8d82edb8a31..a97353baa987 100644
--- a/pkgs/development/python-modules/adjusttext/default.nix
+++ b/pkgs/development/python-modules/adjusttext/default.nix
@@ -4,27 +4,34 @@
 , matplotlib
 , numpy
 , packaging
+, pythonOlder
+, scipy
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "adjusttext";
-  version = "0.8.1";
-  format = "setuptools";
+  version = "1.0.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Phlya";
-    repo = pname;
-    rev = "refs/tags/${version}";
+    repo = "adjusttext";
+    rev = "refs/tags/v${version}";
     hash = "sha256-Lhl6ykx5ynf+pBub5tBUaALm1w/88jbuSXPigE216NY=";
   };
 
   nativeBuildInputs = [
     packaging
+    setuptools
   ];
 
   propagatedBuildInputs = [
     matplotlib
     numpy
+    scipy
   ];
 
   # Project has no tests
@@ -37,6 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Iteratively adjust text position in matplotlib plots to minimize overlaps";
     homepage = "https://github.com/Phlya/adjustText";
+    changelog = "https://github.com/Phlya/adjustText/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ samuela ];
   };
diff --git a/pkgs/development/python-modules/agate-sql/default.nix b/pkgs/development/python-modules/agate-sql/default.nix
index 0e339d0d2135..70cb2fbda688 100644
--- a/pkgs/development/python-modules/agate-sql/default.nix
+++ b/pkgs/development/python-modules/agate-sql/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "agate-sql";
-  version = "0.7.0";
+  version = "0.7.2";
   format = "setuptools";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uyHkkc3KzuYulOtod9KkHQmszVh2mrrCOLwvQt6JTMk=";
+    hash = "sha256-mxswKEpXP9QWdZQ3Jz3MXIECK98vrLJLSqAppir9U7A=";
   };
 
   propagatedBuildInputs = [ agate sqlalchemy ];
diff --git a/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix b/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix
index f8daf10c3c1f..65973321f95b 100644
--- a/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix
+++ b/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix
@@ -1,29 +1,34 @@
 { lib
 , aio-geojson-client
 , aiohttp
-, aresponses
+, aioresponses
 , buildPythonPackage
 , fetchFromGitHub
 , pytest-asyncio
 , pytestCheckHook
 , pytz
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "aio-geojson-geonetnz-quakes";
-  version = "0.15";
-  format = "setuptools";
+  version = "0.16";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-aio-geojson-geonetnz-quakes";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/EPPEGLtiZBorZMnVg0NqwnHCbCXyZzz4449MzAYQx8=";
+    hash = "sha256-8OpmA3yHjUY+N5Obri4RWeuJiW916xGSWUYUgdpmjkw=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aio-geojson-client
     aiohttp
@@ -33,7 +38,7 @@ buildPythonPackage rec {
   __darwinAllowLocalNetworking = true;
 
   nativeCheckInputs = [
-    aresponses
+    aioresponses
     pytest-asyncio
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/aio-geojson-usgs-earthquakes/default.nix b/pkgs/development/python-modules/aio-geojson-usgs-earthquakes/default.nix
index 89a1fd75b8f2..339481624a35 100644
--- a/pkgs/development/python-modules/aio-geojson-usgs-earthquakes/default.nix
+++ b/pkgs/development/python-modules/aio-geojson-usgs-earthquakes/default.nix
@@ -1,29 +1,34 @@
 { lib
 , aio-geojson-client
 , aiohttp
-, aresponses
+, aioresponses
 , buildPythonPackage
 , fetchFromGitHub
 , pytest-asyncio
 , pytestCheckHook
 , pytz
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "aio-geojson-usgs-earthquakes";
-  version = "0.2";
-  format = "setuptools";
+  version = "0.3";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-aio-geojson-usgs-earthquakes";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ET8wcOep4tSZJXyL+XvfW2j9eKp6LrBk/g18ZlgLIzc=";
+    hash = "sha256-Q9vBy5R5N5ihJdSMALo88qVYcFVs2/33lYRPdLej4S8=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aio-geojson-client
     aiohttp
@@ -37,7 +42,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    aresponses
+    aioresponses
     pytest-asyncio
   ];
 
diff --git a/pkgs/development/python-modules/aioelectricitymaps/default.nix b/pkgs/development/python-modules/aioelectricitymaps/default.nix
index 1c13880ec497..5e01d34795a7 100644
--- a/pkgs/development/python-modules/aioelectricitymaps/default.nix
+++ b/pkgs/development/python-modules/aioelectricitymaps/default.nix
@@ -2,8 +2,9 @@
 , aiohttp
 , aresponses
 , buildPythonPackage
-, dataclasses-json
 , fetchFromGitHub
+, mashumaro
+, orjson
 , poetry-core
 , pytest-asyncio
 , pytestCheckHook
@@ -13,25 +14,31 @@
 
 buildPythonPackage rec {
   pname = "aioelectricitymaps";
-  version = "0.1.6";
+  version = "0.2.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.10";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "jpbede";
     repo = "aioelectricitymaps";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SyI+2hxKOiSdx5e+vkHLsIk5xj4gNvmfZTYZ10oJhfc=";
+    hash = "sha256-cwRmUHVIviQquZtcQRtCFxBZTt4QEyaCixbY1ExUL9A=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace-warn "--cov" ""
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
 
   propagatedBuildInputs = [
     aiohttp
-    dataclasses-json
+    mashumaro
+    orjson
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/aioftp/default.nix b/pkgs/development/python-modules/aioftp/default.nix
index 290935e8c2ce..6aa37699ca4a 100644
--- a/pkgs/development/python-modules/aioftp/default.nix
+++ b/pkgs/development/python-modules/aioftp/default.nix
@@ -6,32 +6,48 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 , siosocks
 , trustme
 }:
 
 buildPythonPackage rec {
   pname = "aioftp";
-  version = "0.21.4";
-  format = "setuptools";
+  version = "0.22.3";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.11";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-KLsm1GFsfDgaFUMoH5hwUbjS0dW/rwI9nn4sIQXFG7k=";
+    hash = "sha256-uqKxMYaqAWIuS4LyfC9I9Nr7SORXprGPzamakl4NwnA=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov" ""
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     siosocks
   ];
 
+  passthru.optional-dependencies = {
+    socks = [
+      siosocks
+    ];
+  };
+
   nativeCheckInputs = [
     async-timeout
     pytest-asyncio
     pytestCheckHook
     trustme
-  ];
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   disabledTests = lib.optionals stdenv.isDarwin [
     # uses 127.0.0.2, which macos doesn't like
@@ -44,7 +60,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python FTP client/server for asyncio";
-    homepage = "https://github.com/aio-libs/aioftp";
+    homepage = "https://aioftp.readthedocs.io/";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/aioopenexchangerates/default.nix b/pkgs/development/python-modules/aioopenexchangerates/default.nix
index 744a940957b6..6f18127ed167 100644
--- a/pkgs/development/python-modules/aioopenexchangerates/default.nix
+++ b/pkgs/development/python-modules/aioopenexchangerates/default.nix
@@ -1,7 +1,7 @@
 { lib
 , aiohttp
 , aioresponses
-, pydantic
+, pydantic_1
 , buildPythonPackage
 , fetchFromGitHub
 , poetry-core
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aioopenexchangerates";
-  version = "0.4.6";
+  version = "0.4.8";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -21,12 +21,11 @@ buildPythonPackage rec {
     owner = "MartinHjelmare";
     repo = "aioopenexchangerates";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6lgjblCyc4NSnw+nlCH0SKV7f9aa4qcfa7v9pgzusKo=";
+    hash = "sha256-qwqhbHp4JPsbA6g7SI2frtqhayCmA1s3pTW2S4r6gmw=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'pydantic = "^1.9"' 'pydantic = "*"' \
       --replace " --cov=aioopenexchangerates --cov-report=term-missing:skip-covered" ""
   '';
 
@@ -36,7 +35,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
-    pydantic
+    pydantic_1
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/aioquic/default.nix b/pkgs/development/python-modules/aioquic/default.nix
index fc0fe63de4e5..0d9801df1f82 100644
--- a/pkgs/development/python-modules/aioquic/default.nix
+++ b/pkgs/development/python-modules/aioquic/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , certifi
+, cryptography
 , fetchPypi
 , openssl
 , pylsqpack
@@ -13,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "aioquic";
-  version = "0.9.23";
+  version = "0.9.25";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UsnaYO0IN/6LimoNfc8N++vsjpoCfhDr9yBPBWnFj6g=";
+    hash = "sha256-cHlceJBTJthVwq5SQHIjSq5YbHibgSkuJy0CHpsEMKM=";
   };
 
   nativeBuildInputs = [
@@ -29,6 +30,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     certifi
+    cryptography
     pylsqpack
     pyopenssl
     service-identity
diff --git a/pkgs/development/python-modules/aiortm/default.nix b/pkgs/development/python-modules/aiortm/default.nix
index dbbaea2d3903..e1e4f7fabaf7 100644
--- a/pkgs/development/python-modules/aiortm/default.nix
+++ b/pkgs/development/python-modules/aiortm/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "aiortm";
-  version = "0.8.7";
+  version = "0.8.10";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -24,12 +24,12 @@ buildPythonPackage rec {
     owner = "MartinHjelmare";
     repo = "aiortm";
     rev = "refs/tags/v${version}";
-    hash = "sha256-rWULiyQGBA01hWfRDulDuHX0c1LPo6CTZ9HFOn3MD+E=";
+    hash = "sha256-WkVuuvWWdj2McdXl+XwYukUcloehelFIi6QL5LSkfLk=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace " --cov=aiortm --cov-report=term-missing:skip-covered" ""
+      --replace-warn " --cov=aiortm --cov-report=term-missing:skip-covered" ""
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aiovodafone/default.nix b/pkgs/development/python-modules/aiovodafone/default.nix
index 59274326723b..cd19fc80327b 100644
--- a/pkgs/development/python-modules/aiovodafone/default.nix
+++ b/pkgs/development/python-modules/aiovodafone/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aiovodafone";
-  version = "0.5.3";
+  version = "0.5.4";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "chemelli74";
     repo = "aiovodafone";
     rev = "refs/tags/v${version}";
-    hash = "sha256-a9V5rocQmloNkg9IsxOAle8zmOIQ7jf1xPLjdsjntVw=";
+    hash = "sha256-J2VdRxCzIjRUOqQW4YzOC8RRth9tibBS9YuizveqhhI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/airthings-ble/default.nix b/pkgs/development/python-modules/airthings-ble/default.nix
index d5b1b5e2c1d2..aa418733a6cc 100644
--- a/pkgs/development/python-modules/airthings-ble/default.nix
+++ b/pkgs/development/python-modules/airthings-ble/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "airthings-ble";
-  version = "0.6.0";
+  version = "0.6.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "vincegio";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-T+KtB6kPrLahI73W/Bb3A9ws91v4n1EtURgm3RcLzW8=";
+    hash = "sha256-A7Nrg0O+WVoHP+m8pz6idnNcxulwPYmMt9DfhKTHG24=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/alive-progress/default.nix b/pkgs/development/python-modules/alive-progress/default.nix
index b10b056f292a..58ccedd26d6c 100644
--- a/pkgs/development/python-modules/alive-progress/default.nix
+++ b/pkgs/development/python-modules/alive-progress/default.nix
@@ -5,20 +5,28 @@
 , fetchFromGitHub
 , grapheme
 , pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "alive-progress";
-  version = "3.1.4";
-  format = "setuptools";
+  version = "3.1.5";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "rsalmei";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-27PgxQ9nw8p5hfaSf/jPYG7419o3i8B8R09o93szSOk=";
+    repo = "alive-progress";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-yJhl0QrMHET9ISDc/D5AEQ7dTJkmcV2SWqy/xmG18uY=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     about-time
     grapheme
@@ -36,6 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A new kind of Progress Bar, with real-time throughput, ETA, and very cool animations";
     homepage = "https://github.com/rsalmei/alive-progress";
+    changelog = "https://github.com/rsalmei/alive-progress/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ thiagokokada ];
   };
diff --git a/pkgs/development/python-modules/ansible/default.nix b/pkgs/development/python-modules/ansible/default.nix
index 42f4d0032cfd..957c36b8525e 100644
--- a/pkgs/development/python-modules/ansible/default.nix
+++ b/pkgs/development/python-modules/ansible/default.nix
@@ -21,7 +21,7 @@
 
 let
   pname = "ansible";
-  version = "9.0.1";
+  version = "9.1.0";
 in
 buildPythonPackage {
   inherit pname version;
@@ -31,7 +31,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zAbCUfFCg3z1QLeXdyRZapTz0P6dqWGRdeneZTnNBwU=";
+    hash = "sha256-WtlJkfsODlOncKn/zxtoBH9hsigtlIp9JoLs2PuPob8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/anthropic/default.nix b/pkgs/development/python-modules/anthropic/default.nix
index fdf38b174683..5dcd191aacdc 100644
--- a/pkgs/development/python-modules/anthropic/default.nix
+++ b/pkgs/development/python-modules/anthropic/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "anthropic";
-  version = "0.11.0";
+  version = "0.14.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "anthropics";
     repo = "anthropic-sdk-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-1g3Bbij9HbMK+JJASe+VTBXx5jCQheXLrcnAD0qMs8g=";
+    hash = "sha256-LnY9YoDOVIRqSRQQ/3ggUvlOf0p1351HOjqzRZSLsME=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aocd-example-parser/default.nix b/pkgs/development/python-modules/aocd-example-parser/default.nix
new file mode 100644
index 000000000000..c2379aa914e1
--- /dev/null
+++ b/pkgs/development/python-modules/aocd-example-parser/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flit-core
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aocd-example-parser";
+  version = "unstable-2023-12-17";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "wimglenn";
+    repo = "aocd-example-parser";
+    rev = "07330183f3e43401444fe17b08d72eb6168504e1";
+    hash = "sha256-iOxqzZj29aY/xyigir1KOU6GcBBvnlxEOBLHChEQjf4=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  # Circular dependency with aocd
+  # pythonImportsCheck = [
+  #   "aocd_example_parser"
+  # ];
+
+  meta = with lib; {
+    description = "Default implementation of an example parser plugin for advent-of-code-data";
+    homepage = "https://github.com/wimglenn/aocd-example-parser";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aocd/default.nix b/pkgs/development/python-modules/aocd/default.nix
index f1a31ee243b8..1b56736028b8 100644
--- a/pkgs/development/python-modules/aocd/default.nix
+++ b/pkgs/development/python-modules/aocd/default.nix
@@ -1,32 +1,33 @@
 { lib
 , stdenv
+, aocd-example-parser
+, beautifulsoup4
 , buildPythonPackage
 , fetchFromGitHub
-, requests
-, pytestCheckHook
-, tzlocal
-, pytest-mock
+, numpy
+, pebble
+, pook
 , pytest-freezegun
+, pytest-mock
 , pytest-raisin
 , pytest-socket
+, pytestCheckHook
+, python-dateutil
+, pythonOlder
+, requests
 , requests-mock
-, pook
-, numpy
 , rich
-, pebble
-, python-dateutil
-, termcolor
-, beautifulsoup4
 , setuptools
-, pythonOlder
+, termcolor
+, tzlocal
 }:
 
 buildPythonPackage rec {
   pname = "aocd";
   version = "2.0.1";
-  format = "pyproject";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "wimglenn";
@@ -35,15 +36,30 @@ buildPythonPackage rec {
     hash = "sha256-YZvcR97uHceloqwoP+azaBmj3GLusYNbItLIaeJ3QD0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
+    aocd-example-parser
+    beautifulsoup4
+    pebble
     python-dateutil
     requests
+    rich # for example parser aoce. must either be here or checkInputs
     termcolor
-    beautifulsoup4
-    pebble
     tzlocal
-    setuptools
-    rich # for example parser aoce. must either be here or checkInputs
+  ];
+
+  nativeCheckInputs = [
+    numpy
+    pook
+    pytest-freezegun
+    pytest-mock
+    pytest-raisin
+    pytest-socket
+    pytestCheckHook
+    requests-mock
   ];
 
   # Too many failing tests
@@ -85,20 +101,6 @@ buildPythonPackage rec {
     "test_submit_float_warns"
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-    pytest-mock
-    pytest-freezegun
-    pytest-raisin
-    pytest-socket
-  ];
-
-  checkInputs = [
-    pook
-    numpy
-    requests-mock
-  ];
-
   pythonImportsCheck = [
     "aocd"
   ];
diff --git a/pkgs/development/python-modules/apache-beam/default.nix b/pkgs/development/python-modules/apache-beam/default.nix
index bd53a6f0b48a..2e267e2ef191 100644
--- a/pkgs/development/python-modules/apache-beam/default.nix
+++ b/pkgs/development/python-modules/apache-beam/default.nix
@@ -150,7 +150,7 @@ buildPythonPackage rec {
 
   # Make sure we're running the tests for the actually installed
   # package, so that cython's .so files are available.
-  preCheck = "cd $out/lib/${python.libPrefix}/site-packages";
+  preCheck = "cd $out/${python.sitePackages}";
 
   disabledTestPaths = [
     # Fails with
diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix
index d70a70d43eae..9d3f55bec283 100644
--- a/pkgs/development/python-modules/apprise/default.nix
+++ b/pkgs/development/python-modules/apprise/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "apprise";
-  version = "1.7.1";
+  version = "1.7.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jUOdCFUEcFJEJd7e5LyKcnZsIWwhjzdyw3QE6y/Yblo=";
+    hash = "sha256-CeFZspAI5sjpPX/8PBXUGcC7rkFiBAX48tNDK3Ki6b8=";
   };
 
   nativeBuildInputs = [
@@ -75,5 +75,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/caronc/apprise/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ marsam ];
+    mainProgram = "apprise";
   };
 }
diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix
index 49e61e87731c..53ad86c4ea37 100644
--- a/pkgs/development/python-modules/approvaltests/default.nix
+++ b/pkgs/development/python-modules/approvaltests/default.nix
@@ -19,16 +19,16 @@
 
 buildPythonPackage rec {
   pname = "approvaltests";
-  version = "10.2.0";
+  version = "10.3.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "approvals";
     repo = "ApprovalTests.Python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2NaqqgrHXJovoVExvbr0s86eRbcxy+DUrsdRH/vak3E=";
+    hash = "sha256-1f0iTwLREF20Khkd4/xEfxXINJIpc4LfszsvCblS/yM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix b/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
index a56d63aa3b1e..5101f0fcc0d0 100644
--- a/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
+++ b/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
@@ -17,21 +17,21 @@
 
 buildPythonPackage rec {
   pname = "appthreat-vulnerability-db";
-  version = "5.5.10";
+  version = "5.6.1";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "AppThreat";
     repo = "vulnerability-db";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yBB66H8l+kjVcpmt3gYzggRgfxjFvMPwy3rcYuKYqks=";
+    hash = "sha256-BkJ1hA4SXuXYkJnSNaZ/JeX+PHdJylfwKkRzQsBxc24=";
   };
 
   postPatch = ''
-    substituteInPlace pytest.ini \
-      --replace " --cov-append --cov-report term --cov vdb" ""
+    substituteInPlace pyproject.toml \
+      --replace-warn " --cov-report=term-missing --no-cov-on-fail --cov vdb" ""
   '';
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/asyncsleepiq/default.nix b/pkgs/development/python-modules/asyncsleepiq/default.nix
index 08931c695803..25969661bf15 100644
--- a/pkgs/development/python-modules/asyncsleepiq/default.nix
+++ b/pkgs/development/python-modules/asyncsleepiq/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "asyncsleepiq";
-  version = "1.5.2";
+  version = "1.5.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-QwVUYYC25Lx3nfQ8PKCO2mFMT9ol6mvwojVVATwW4kI=";
+    hash = "sha256-TDHFKLifNmmAVvD5DjSopEXFbR+KPMIdSA+rLAKrfpI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/atom/default.nix b/pkgs/development/python-modules/atom/default.nix
index b6be40bc6c93..519fc3791d79 100644
--- a/pkgs/development/python-modules/atom/default.nix
+++ b/pkgs/development/python-modules/atom/default.nix
@@ -10,16 +10,16 @@
 
 buildPythonPackage rec {
   pname = "atom";
-  version = "0.10.3";
-  format = "pyproject";
+  version = "0.10.4";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "nucleic";
-    repo = pname;
+    repo = "atom";
     rev = "refs/tags/${version}";
-    hash = "sha256-NXjvRVYcWU9p7b8y2ICOzYe6TeMh1S70Edy/JvTG7a4=";
+    hash = "sha256-HoUKU6z+6PPBUsvI4earZG9UXN0PrugAxu/F7WUfUe8=";
   };
 
   nativeBuildInputs = [
@@ -45,6 +45,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Memory efficient Python objects";
     homepage = "https://github.com/nucleic/atom";
+    changelog = "https://github.com/nucleic/atom/releases/tag/${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ bhipple ];
   };
diff --git a/pkgs/development/python-modules/autofaiss/default.nix b/pkgs/development/python-modules/autofaiss/default.nix
index 9f1bf2a6d818..0f6ab7dda159 100644
--- a/pkgs/development/python-modules/autofaiss/default.nix
+++ b/pkgs/development/python-modules/autofaiss/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "autofaiss";
-  version = "2.16.0";
+  version = "2.17.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "criteo";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-NpehDx67VyIkcqno2DB2NmUKKZhK1Owwd9BNh3nqOLY=";
+    hash = "sha256-pey3wrW7CDLMiPPKnmYrcSJqGuy6ecA2SE9m3Jtt6DU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/autopep8/default.nix b/pkgs/development/python-modules/autopep8/default.nix
index 9a177d7b4936..4bfffd8a780b 100644
--- a/pkgs/development/python-modules/autopep8/default.nix
+++ b/pkgs/development/python-modules/autopep8/default.nix
@@ -40,6 +40,7 @@ buildPythonPackage rec {
     description = "A tool that automatically formats Python code to conform to the PEP 8 style guide";
     homepage = "https://github.com/hhatto/autopep8";
     license = licenses.mit;
+    mainProgram = "autopep8";
     maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/development/python-modules/awsipranges/default.nix b/pkgs/development/python-modules/awsipranges/default.nix
new file mode 100644
index 000000000000..036639c3cdb7
--- /dev/null
+++ b/pkgs/development/python-modules/awsipranges/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pyopenssl
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "awsipranges";
+  version = "0.3.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "aws-samples";
+    repo = "awsipranges";
+    rev = "refs/tags/${version}";
+    hash = "sha256-ve1+0zkDDUGswtQoXhfESMcBzoNgUutxEhz43HXL4H8=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  nativeCheckInputs = [
+    pyopenssl
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "awsipranges"
+  ];
+
+  disabledTestPaths = [
+    # Tests require network access
+    "tests/data/test_syntax_and_semantics.py"
+    "tests/integration/test_package_apis.py"
+    "tests/unit/test_data_loading.py"
+  ];
+
+  meta = with lib; {
+    description = "Module to work with the AWS IP address ranges";
+    homepage = "https://github.com/aws-samples/awsipranges";
+    changelog = "https://github.com/aws-samples/awsipranges/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/awswrangler/default.nix b/pkgs/development/python-modules/awswrangler/default.nix
index d3eee65f576a..274b88a9811b 100644
--- a/pkgs/development/python-modules/awswrangler/default.nix
+++ b/pkgs/development/python-modules/awswrangler/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "awswrangler";
-  version = "3.5.1";
+  version = "3.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "aws-sdk-pandas";
     rev = "refs/tags/${version}";
-    hash = "sha256-USHRs/NRCPACvVxsQyRF1yQsQefAXSTwdHJqQqKe6bQ=";
+    hash = "sha256-lIEitS/pyOq4RjyUqPzfKOcNtAIWp14sQcLfQ1FwEoE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-batch/default.nix b/pkgs/development/python-modules/azure-batch/default.nix
index 2ca6a6d743ca..041d79b5ebd0 100644
--- a/pkgs/development/python-modules/azure-batch/default.nix
+++ b/pkgs/development/python-modules/azure-batch/default.nix
@@ -1,29 +1,31 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, msrest
-, azure-common
 , msrestazure
+, azure-common
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "azure-batch";
-  version = "14.0.0";
-  format = "setuptools";
+  version = "14.1.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-FlsembhvghAkxProX7NIadQHqg67DKS5b7JthZwmyTQ=";
+    hash = "sha256-lhayyqYpx0ABItaF1VfrzQF5famImQgxj5pUdIQ5es0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    msrest
-    msrestazure
     azure-common
+    msrestazure
   ];
 
   # Module has no tests
@@ -35,7 +37,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "This is the Microsoft Azure Batch Client Library";
-    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/batch/azure-batch";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-batch_${version}/sdk/batch/azure-batch/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ maxwilson ];
   };
diff --git a/pkgs/development/python-modules/azure-common/default.nix b/pkgs/development/python-modules/azure-common/default.nix
index ed4cd5243abf..2b4caa102f79 100644
--- a/pkgs/development/python-modules/azure-common/default.nix
+++ b/pkgs/development/python-modules/azure-common/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   ] ++ lib.optionals (!isPy3k) [ setuptools ]; # need for namespace lookup
 
   postInstall = lib.optionalString (!isPy3k) ''
-    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py
+    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/${python.sitePackages}"/azure/__init__.py
   '';
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/azure-mgmt-common/default.nix b/pkgs/development/python-modules/azure-mgmt-common/default.nix
index 7ce7ce2c3f00..5f0390708c7d 100644
--- a/pkgs/development/python-modules/azure-mgmt-common/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-common/default.nix
@@ -28,8 +28,8 @@ buildPythonPackage rec {
   ];
 
   postInstall = pkgs.lib.optionalString (!isPy3k) ''
-    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/mgmt/__init__.py
-    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/lib/${python.libPrefix}"/site-packages/azure/__init__.py
+    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/${python.sitePackages}"/azure/mgmt/__init__.py
+    echo "__import__('pkg_resources').declare_namespace(__name__)" >> "$out/${python.sitePackages}"/azure/__init__.py
   '';
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/backports-zoneinfo/default.nix b/pkgs/development/python-modules/backports-zoneinfo/default.nix
index ed0915eee522..ff5196855d34 100644
--- a/pkgs/development/python-modules/backports-zoneinfo/default.nix
+++ b/pkgs/development/python-modules/backports-zoneinfo/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     (substituteAll {
       name = "zoneinfo-path";
       src = ./zoneinfo.patch;
-      zoneinfo = "${tzdata}/lib/${python.libPrefix}/site-packages/tzdata/zoneinfo";
+      zoneinfo = "${tzdata}/${python.sitePackages}/tzdata/zoneinfo";
     })
   ];
 
diff --git a/pkgs/development/python-modules/bip-utils/default.nix b/pkgs/development/python-modules/bip-utils/default.nix
index 505c19cf1943..5666f7c1353a 100644
--- a/pkgs/development/python-modules/bip-utils/default.nix
+++ b/pkgs/development/python-modules/bip-utils/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "bip-utils";
-  version = "2.9.0";
+  version = "2.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "ebellocchia";
     repo = "bip_utils";
     rev = "refs/tags/v${version}";
-    hash = "sha256-PUWKpAn6Z1E7uMk8+XFm6FDtupzj6eMSkyXR9vN1w3I=";
+    hash = "sha256-D+LalbrwsjxwYW8l38D1l4tGAsjrZ+bS+/Ppgaxkzy4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/blebox-uniapi/default.nix b/pkgs/development/python-modules/blebox-uniapi/default.nix
index f93ef838751f..7436f6309152 100644
--- a/pkgs/development/python-modules/blebox-uniapi/default.nix
+++ b/pkgs/development/python-modules/blebox-uniapi/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "blebox-uniapi";
-  version = "2.2.0";
+  version = "2.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "blebox";
     repo = "blebox_uniapi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cLSI6wa3gHE0QkSVVWMNpb5fyQy0TLDNSqOuGlDJGJc=";
+    hash = "sha256-aVYk/N8dH0jc9BLQ2nZXulMCUqwEWpSX/JTiAxdn2sM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix
index d590470de27a..33ffd9a3d705 100644
--- a/pkgs/development/python-modules/boto3-stubs/default.nix
+++ b/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -365,14 +365,14 @@
 
 buildPythonPackage rec {
   pname = "boto3-stubs";
-  version = "1.34.27";
+  version = "1.34.32";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/YRnjjsSNxA0EGkOaLx6YwZBE47iat7uz9Z5iUUU2Gk=";
+    hash = "sha256-B38TsIVoYr7a+5K4SZuWBiTQb2hFlb5wH63lGo6WFe0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix
index 022663609ea5..e790e8cea5b2 100644
--- a/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.34.27";
+  version = "1.34.32";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-6r4CRGoS6r0dCY4WN0MnW2HCxurrvtmb5bVNt+9sc2c=";
+    hash = "sha256-l4yXuMArX/o3JqUFLlcVrsxSxkCnWoCIs6WEU8KwVLI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/breezy/Cargo.lock b/pkgs/development/python-modules/breezy/Cargo.lock
index 6b1457497700..0c70fa49f4ee 100644
--- a/pkgs/development/python-modules/breezy/Cargo.lock
+++ b/pkgs/development/python-modules/breezy/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.5"
+version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
 dependencies = [
  "memchr",
 ]
@@ -25,7 +25,7 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "breezy"
-version = "3.3.4"
+version = "3.3.5"
 dependencies = [
  "pyo3",
 ]
@@ -37,10 +37,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
 name = "indoc"
-version = "1.0.9"
+version = "2.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
+checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
 
 [[package]]
 name = "lazy_static"
@@ -50,15 +56,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.147"
+version = "0.2.152"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
 
 [[package]]
 name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -66,9 +72,9 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.6.3"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "memoffset"
@@ -81,9 +87,9 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "parking_lot"
@@ -97,9 +103,9 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.8"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
  "libc",
@@ -110,18 +116,18 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.66"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "pyo3"
-version = "0.19.2"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38"
+checksum = "9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0"
 dependencies = [
  "cfg-if",
  "indoc",
@@ -136,9 +142,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-build-config"
-version = "0.19.2"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "076c73d0bc438f7a4ef6fdd0c3bb4732149136abd952b110ac93e4edb13a6ba5"
+checksum = "07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be"
 dependencies = [
  "once_cell",
  "target-lexicon",
@@ -146,9 +152,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-ffi"
-version = "0.19.2"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e53cee42e77ebe256066ba8aa77eff722b3bb91f3419177cf4cd0f304d3284d9"
+checksum = "dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1"
 dependencies = [
  "libc",
  "pyo3-build-config",
@@ -156,9 +162,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-macros"
-version = "0.19.2"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfeb4c99597e136528c6dd7d5e3de5434d1ceaf487436a3f03b2d56b6fc9efd1"
+checksum = "05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3"
 dependencies = [
  "proc-macro2",
  "pyo3-macros-backend",
@@ -168,10 +174,11 @@ dependencies = [
 
 [[package]]
 name = "pyo3-macros-backend"
-version = "0.19.2"
+version = "0.20.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "947dc12175c254889edc0c02e399476c2f652b4b9ebd123aa655c224de259536"
+checksum = "0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f"
 dependencies = [
+ "heck",
  "proc-macro2",
  "quote",
  "syn",
@@ -179,27 +186,27 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags",
 ]
 
 [[package]]
 name = "regex"
-version = "1.9.5"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -209,9 +216,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.3.8"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -220,13 +227,13 @@ dependencies = [
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.5"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "rio-py"
-version = "3.3.4"
+version = "3.3.5"
 dependencies = [
  "lazy_static",
  "pyo3",
@@ -241,15 +248,15 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "smallvec"
-version = "1.11.0"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "syn"
-version = "1.0.109"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -258,21 +265,21 @@ dependencies = [
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.11"
+version = "0.12.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
+checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unindent"
-version = "0.1.11"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
+checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
 
 [[package]]
 name = "windows-targets"
diff --git a/pkgs/development/python-modules/breezy/default.nix b/pkgs/development/python-modules/breezy/default.nix
index 505137993b08..9861218d13c7 100644
--- a/pkgs/development/python-modules/breezy/default.nix
+++ b/pkgs/development/python-modules/breezy/default.nix
@@ -1,8 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
-, fetchpatch
-, fetchPypi
+, fetchFromGitHub
 , cargo
 , configobj
 , cython
@@ -29,24 +28,18 @@
 
 buildPythonPackage rec {
   pname = "breezy";
-  version = "3.3.4";
-  format = "pyproject";
+  version = "3.3.5";
+  pyproject = true;
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-fEEvOfo8YWhx+xuiqD/KNstlso5/K1XJnGY64tkLIwE=";
+  src = fetchFromGitHub {
+    owner = "breezy-team";
+    repo = "breezy";
+    rev = "brz-${version}";
+    hash = "sha256-z8NKb8gFgA6dufM12jnZIZ6b1ZMZRzFA3w7t7gECEts=";
   };
 
-  patches = [
-    # Explicitly track which URLs are used for GitLab
-    (fetchpatch {
-      url = "https://github.com/breezy-team/breezy/commit/cc9fdf3774253183f726127c2ee191c24640d898.patch";
-      hash = "sha256-HTDAW3CPEZ1YBe0wnv6ncWEd0QRHwHawfTplbVDiOGc=";
-    })
-  ];
-
   cargoDeps = rustPlatform.importCargoLock {
     lockFile = ./Cargo.lock;
   };
@@ -129,7 +122,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Friendly distributed version control system";
     homepage = "https://www.breezy-vcs.org/";
-    changelog = "https://github.com/breezy-team/breezy/blob/brz-${version}/doc/en/release-notes/brz-${versions.majorMinor version}.txt";
+    changelog = "https://github.com/breezy-team/breezy/blob/${src.rev}/doc/en/release-notes/brz-${versions.majorMinor version}.txt";
     license = licenses.gpl2Only;
     maintainers = [ maintainers.marsam ];
     mainProgram = "brz";
diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix
index 7c22634f2a3c..fa7ebb248adb 100644
--- a/pkgs/development/python-modules/celery/default.nix
+++ b/pkgs/development/python-modules/celery/default.nix
@@ -18,6 +18,7 @@
 , pytest-click
 , pytest-subtests
 , pytest-timeout
+, pytest-xdist
 , pytestCheckHook
 , python-dateutil
 , pythonOlder
@@ -63,6 +64,7 @@ buildPythonPackage rec {
     pytest-click
     pytest-subtests
     pytest-timeout
+    pytest-xdist
     pytestCheckHook
   ];
 
@@ -77,6 +79,10 @@ buildPythonPackage rec {
   disabledTests = [
     "msgpack"
     "test_check_privileges_no_fchown"
+    # fails with pytest-xdist
+    "test_itercapture_limit"
+    "test_stamping_headers_in_options"
+    "test_stamping_with_replace"
   ] ++ lib.optionals stdenv.isDarwin [
     # too many open files on hydra
     "test_cleanup"
diff --git a/pkgs/development/python-modules/censys/default.nix b/pkgs/development/python-modules/censys/default.nix
index f4b1f97f8cfa..901f70dddd2e 100644
--- a/pkgs/development/python-modules/censys/default.nix
+++ b/pkgs/development/python-modules/censys/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "censys";
-  version = "2.2.10";
+  version = "2.2.11";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "censys";
     repo = "censys-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-rjLTEaHSBB6igffNGt4qJZeSyIn1Cc1ZGEGfEoMj7OQ=";
+    hash = "sha256-/aB8rsyymNTXJLsf/IkA6o7M/mzyao10cl7kbxHEzGc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cirq-ft/default.nix b/pkgs/development/python-modules/cirq-ft/default.nix
index d307191dd9af..a0fbbc40da1f 100644
--- a/pkgs/development/python-modules/cirq-ft/default.nix
+++ b/pkgs/development/python-modules/cirq-ft/default.nix
@@ -7,15 +7,20 @@
 , nbconvert
 , nbformat
 , pytestCheckHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "cirq-ft";
-  format = "setuptools";
+  pyproject = true;
   inherit (cirq-core) version src meta;
 
   sourceRoot = "${src.name}/${pname}";
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     attrs
     cachetools
@@ -31,6 +36,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # Upstream doesn't always adjust the version
+    "test_version"
+  ];
+
   # cirq's importlib hook doesn't work here
   #pythonImportsCheck = [ "cirq_ft" ];
 
diff --git a/pkgs/development/python-modules/cirq-google/default.nix b/pkgs/development/python-modules/cirq-google/default.nix
index 4f185c825c34..c2d36a4f796d 100644
--- a/pkgs/development/python-modules/cirq-google/default.nix
+++ b/pkgs/development/python-modules/cirq-google/default.nix
@@ -1,27 +1,23 @@
 { buildPythonPackage
 , cirq-core
+, freezegun
 , google-api-core
 , protobuf
 , pytestCheckHook
-, freezegun
 , pythonRelaxDepsHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "cirq-google";
-  format = "setuptools";
+  pyproject = true;
   inherit (cirq-core) version src meta;
 
   sourceRoot = "${src.name}/${pname}";
 
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "google-api-core[grpc] >= 1.14.0, < 2.0.0dev" "google-api-core[grpc] >= 1.14.0, < 3.0.0dev" \
-      --replace "protobuf >= 3.15.0, < 4" "protobuf >= 3.15.0"
-  '';
-
   nativeBuildInputs = [
     pythonRelaxDepsHook
+    setuptools
   ];
 
   propagatedBuildInputs = [
@@ -40,6 +36,8 @@ buildPythonPackage rec {
     "cirq_google/_version_test.py"
     # Trace/BPT trap: 5
     "cirq_google/engine/calibration_test.py"
+    # Very time-consuming
+    "cirq_google/engine/*_test.py"
   ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/clarifai-grpc/default.nix b/pkgs/development/python-modules/clarifai-grpc/default.nix
index 511605a8ad99..ea3bf5c530d3 100644
--- a/pkgs/development/python-modules/clarifai-grpc/default.nix
+++ b/pkgs/development/python-modules/clarifai-grpc/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "clarifai-grpc";
-  version = "10.0.4";
+  version = "10.0.10";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Clarifai";
     repo = "clarifai-python-grpc";
     rev = "refs/tags/${version}";
-    hash = "sha256-jhM+UfyaliVmUH6e3ArZvZokB8lDKS/fx8376cZwlQM=";
+    hash = "sha256-IcMnzfkq4eSXh2KsxSog64RQbJhXkEWjma6LNkzDX0Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/clickhouse-connect/default.nix b/pkgs/development/python-modules/clickhouse-connect/default.nix
index 9f6e4519c262..b44188ffcc71 100644
--- a/pkgs/development/python-modules/clickhouse-connect/default.nix
+++ b/pkgs/development/python-modules/clickhouse-connect/default.nix
@@ -23,7 +23,7 @@
 }:
 buildPythonPackage rec {
   pname = "clickhouse-connect";
-  version = "0.6.23";
+  version = "0.7.0";
 
   format = "setuptools";
 
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     repo = "clickhouse-connect";
     owner = "ClickHouse";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Gaiq5t/u5LJeJR5nNNfBvdNaFEycqgxVCHFETIvsUUU=";
+    hash = "sha256-RpuBKdjjSjJJ9UU7VW20gD9Rouj0oxv72sZZaUa/BfY=";
   };
 
   nativeBuildInputs = [ cython_3 ];
diff --git a/pkgs/development/python-modules/cryptodatahub/default.nix b/pkgs/development/python-modules/cryptodatahub/default.nix
index 734569297796..e19a4137e4f3 100644
--- a/pkgs/development/python-modules/cryptodatahub/default.nix
+++ b/pkgs/development/python-modules/cryptodatahub/default.nix
@@ -1,36 +1,38 @@
 { lib
-, buildPythonPackage
-, fetchFromGitLab
-
-# build-system
-, setuptools
-
-# dependencies
 , asn1crypto
 , attrs
+, beautifulsoup4
+, buildPythonPackage
+, fetchFromGitLab
 , pathlib2
+, pyfakefs
 , python-dateutil
+, pythonOlder
+, setuptools
 , six
-, urllib3
-
-# tests
-, beautifulsoup4
-, pyfakefs
 , unittestCheckHook
+, urllib3
 }:
 
 buildPythonPackage rec {
   pname = "cryptodatahub";
-  version = "0.10.1";
-  format = "pyproject";
+  version = "0.12.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitLab {
     owner = "coroner";
     repo = "cryptodatahub";
-    rev = "v${version}";
-    hash = "sha256-eLdK5gFrLnbIBB1NTeQzpdCLPdATVjzPn5LhhUsDuwo=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-zVHHBQYcl26zTtXPAs/AgKOojKQORu08rpkfY0l1zjM=";
   };
 
+  postPatch = ''
+    substituteInPlace requirements.txt  \
+      --replace-warn "attrs>=20.3.0,<22.0.1" "attrs>=20.3.0"
+  '';
+
   nativeBuildInputs = [
     setuptools
   ];
@@ -44,23 +46,28 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  pythonImportsCheck = [ "cryptodatahub" ];
-
   nativeCheckInputs = [
     beautifulsoup4
     pyfakefs
     unittestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "cryptodatahub"
+  ];
+
+
   preCheck = ''
     # failing tests
     rm test/updaters/test_common.py
+    # Tests require network access
+    rm test/common/test_utils.py
   '';
 
   meta = with lib; {
     description = "Repository of cryptography-related data";
     homepage = "https://gitlab.com/coroner/cryptodatahub";
-    changelog = "https://gitlab.com/coroner/cryptodatahub/-/blob/${src.rev}/CHANGELOG.rst";
+    changelog = "https://gitlab.com/coroner/cryptodatahub/-/blob/${version}/CHANGELOG.rst";
     license = licenses.mpl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/cryptolyzer/default.nix b/pkgs/development/python-modules/cryptolyzer/default.nix
index 27c5150f3715..61d5a4a3f664 100644
--- a/pkgs/development/python-modules/cryptolyzer/default.nix
+++ b/pkgs/development/python-modules/cryptolyzer/default.nix
@@ -1,35 +1,56 @@
 { lib
 , attrs
+, beautifulsoup4
 , buildPythonPackage
 , certvalidator
+, colorama
 , cryptoparser
+, dnspython
 , fetchPypi
+, pathlib2
+, pyfakefs
+, python-dateutil
 , pythonOlder
 , requests
-, six
+, setuptools
 , urllib3
 }:
 
 buildPythonPackage rec {
   pname = "cryptolyzer";
-  version = "0.12.1";
-  format = "setuptools";
+  version = "0.12.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "CryptoLyzer";
     inherit version;
-    hash = "sha256-1Ec57A5lCjy9FsA3vDmCyfOeHZaQz01FNiKyNV3eJfc=";
+    hash = "sha256-UffFdQ+MiB8kPzqnmWdnGRwAAM9wJwpUDK2bPvPvH0c=";
   };
 
+  postPatch = ''
+    substituteInPlace requirements.txt  \
+      --replace-warn "attrs>=20.3.0,<22.0.1" "attrs>=20.3.0" \
+      --replace-warn "bs4" "beautifulsoup4"
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    certvalidator
     attrs
-    six
-    urllib3
+    beautifulsoup4
+    certvalidator
+    colorama
     cryptoparser
+    dnspython
+    pathlib2
+    pyfakefs
+    python-dateutil
     requests
+    urllib3
   ];
 
   # Tests require networking
diff --git a/pkgs/development/python-modules/cryptoparser/default.nix b/pkgs/development/python-modules/cryptoparser/default.nix
index a04c424e61e3..e377b35ee5be 100644
--- a/pkgs/development/python-modules/cryptoparser/default.nix
+++ b/pkgs/development/python-modules/cryptoparser/default.nix
@@ -12,15 +12,20 @@
 
 buildPythonPackage rec {
   pname = "cryptoparser";
-  version = "0.12.1";
-  format = "pyproject";
+  version = "0.12.2";
+  pyproject = true;
 
   src = fetchPypi {
     pname = "CryptoParser";
     inherit version;
-    hash = "sha256-Q05koDfVaVgiQYhULkwzl9uzUIumO8ZIGJPfxRBUsj0=";
+    hash = "sha256-SG7I/uOWZapjZ5zGW1HndGqaYc2k2aRWf3IWlartIJE=";
   };
 
+  postPatch = ''
+    substituteInPlace requirements.txt  \
+      --replace-warn "attrs>=20.3.0,<22.0.1" "attrs>=20.3.0"
+  '';
+
   nativeBuildInputs = [
     setuptools
   ];
diff --git a/pkgs/development/python-modules/cvelib/default.nix b/pkgs/development/python-modules/cvelib/default.nix
index 0f9d292a5151..c269c351c1da 100644
--- a/pkgs/development/python-modules/cvelib/default.nix
+++ b/pkgs/development/python-modules/cvelib/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "cvelib";
-  version = "1.2.1";
+  version = "1.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "RedHatProductSecurity";
     repo = "cvelib";
     rev = "tags/${version}";
-    hash = "sha256-hJPcxnc4iQzsYNNVJ9fw6yQl+5K7pdtjHT6oMmBx/Zs=";
+    hash = "sha256-PCZUAKgE80PD//4qK8ap55IN9vtx9WdpRZUAC3UdaWM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cx-freeze/default.nix b/pkgs/development/python-modules/cx-freeze/default.nix
index 91cae6b49d7f..a3c71a2776bc 100644
--- a/pkgs/development/python-modules/cx-freeze/default.nix
+++ b/pkgs/development/python-modules/cx-freeze/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "cx-freeze";
-  version = "6.15.12";
+  version = "6.15.13";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "cx_Freeze";
     inherit version;
-    hash = "sha256-Ak4OC94xD21daVdsbYSvFxO1YKJcccJ8xoCBk50cWww=";
+    hash = "sha256-VeOgoVrga9dPJ0W9S3Ye/9Ff5yEOlP2DlDf0sDUh1yo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
index 26fed6a0b493..6d5aa4032c2d 100644
--- a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
+++ b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "cyclonedx-python-lib";
-  version = "6.4.0";
+  version = "6.4.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "CycloneDX";
     repo = "cyclonedx-python-lib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-WPXhla5VGyexZPxq9R86G9CNWuGyn79H+lPDCmWitN0=";
+    hash = "sha256-IhiH1Vk/Wf6cTxijxE1erkQozY+vOVd5pu6tAVUoDJM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/daiquiri/default.nix b/pkgs/development/python-modules/daiquiri/default.nix
index c7d6602de5fe..c3e5436de969 100644
--- a/pkgs/development/python-modules/daiquiri/default.nix
+++ b/pkgs/development/python-modules/daiquiri/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "daiquiri";
-  version = "3.2.3";
+  version = "3.2.5.1";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-P8rvN2/WgIi5I5E3R6t+4S2Lf7Kvf4xfIOWYCZfp6DU=";
+    hash = "sha256-Xy6G1vyovDjR6a36YFGE32/eo3AuB8oC0Wqj0AQ7Luw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/deebot-client/default.nix b/pkgs/development/python-modules/deebot-client/default.nix
new file mode 100644
index 000000000000..df62c36fd930
--- /dev/null
+++ b/pkgs/development/python-modules/deebot-client/default.nix
@@ -0,0 +1,82 @@
+{ lib
+, aiohttp
+, aiomqtt
+, buildPythonPackage
+, cachetools
+, defusedxml
+, docker
+, fetchFromGitHub
+, numpy
+, pillow
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, setuptools-scm
+, svg-py
+, testfixtures
+}:
+
+buildPythonPackage rec {
+  pname = "deebot-client";
+  version = "5.0.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchFromGitHub {
+    owner = "DeebotUniverse";
+    repo = "client.py";
+    rev = "refs/tags/${version}";
+    hash = "sha256-fBRP3ieeTIVtyNtRapmAr1utuLMp44C1hK/TAExy4Ok=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    aiomqtt
+    cachetools
+    defusedxml
+    numpy
+    pillow
+    svg-py
+  ];
+
+  nativeCheckInputs = [
+    docker
+    pytest-asyncio
+    pytestCheckHook
+    testfixtures
+  ];
+
+  pythonImportsCheck = [
+    "deebot_client"
+  ];
+
+  disabledTests = [
+    # Tests require running container
+    "test_last_message_received_at"
+    "test_client_bot_subscription"
+    "test_client_reconnect_manual"
+    "test_p2p_success"
+    "test_p2p_not_supported"
+    "test_p2p_data_type_not_supported"
+    "test_p2p_to_late"
+    "test_p2p_parse_error"
+    "test_mqtt_task_exceptions"
+    "test_mqtt_task_exceptions"
+    "test_client_reconnect_on_broker_error"
+  ];
+
+  meta = with lib; {
+    description = "Deebot client library";
+    homepage = "https://github.com/DeebotUniverse/client.py";
+    changelog = "https://github.com/DeebotUniverse/client.py/releases/tag/${version}";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/dissect-cstruct/default.nix b/pkgs/development/python-modules/dissect-cstruct/default.nix
index cecc7dffef3f..bcc86b1f7588 100644
--- a/pkgs/development/python-modules/dissect-cstruct/default.nix
+++ b/pkgs/development/python-modules/dissect-cstruct/default.nix
@@ -9,16 +9,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-cstruct";
-  version = "3.10";
-  format = "pyproject";
+  version = "3.12";
+  pyproject = true;
 
-  disabled = pythonOlder "3.10";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.cstruct";
     rev = "refs/tags/${version}";
-    hash = "sha256-cdBojvFI0cN6mEZ98xLa3XldvIoR+Jv1c0/hvVkKVoQ=";
+    hash = "sha256-67s0Qr/YeQp/K9MZS+btKdp+9J6mIMCwiittIUB9p2w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-esedb/default.nix b/pkgs/development/python-modules/dissect-esedb/default.nix
index 1253b9ebb9c8..b5ddf86dd548 100644
--- a/pkgs/development/python-modules/dissect-esedb/default.nix
+++ b/pkgs/development/python-modules/dissect-esedb/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-esedb";
-  version = "3.10";
+  version = "3.11";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.esedb";
     rev = "refs/tags/${version}";
-    hash = "sha256-RlXnUD+KiBmntM/f7jEzdZ0Tdb8vPGvW0e3XoANaPnk=";
+    hash = "sha256-ynrZqP3QXe+SXFB0Uz+tdH2jGj+hpHfarbEN2P1+r/8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-extfs/default.nix b/pkgs/development/python-modules/dissect-extfs/default.nix
index 86206ee27ac1..0659372ca5cf 100644
--- a/pkgs/development/python-modules/dissect-extfs/default.nix
+++ b/pkgs/development/python-modules/dissect-extfs/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-extfs";
-  version = "3.7";
+  version = "3.8";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.extfs";
     rev = "refs/tags/${version}";
-    hash = "sha256-RsAWqtoarn/2sZU5dkQYt794dXGOr5fe68VgMNDBst4=";
+    hash = "sha256-yM9PTMI4/8oU2bvOCKdh5tT0gw9+6esV1auKSbupL0U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-hypervisor/default.nix b/pkgs/development/python-modules/dissect-hypervisor/default.nix
index 975526db7158..d8ccf0e0d8fb 100644
--- a/pkgs/development/python-modules/dissect-hypervisor/default.nix
+++ b/pkgs/development/python-modules/dissect-hypervisor/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-hypervisor";
-  version = "3.10";
+  version = "3.11";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.hypervisor";
     rev = "refs/tags/${version}";
-    hash = "sha256-Ml5U7yc4iqqilL6Y9qF3VU+pa0AXnYVQjVas90TpG30=";
+    hash = "sha256-x7C2h9NZRlkJWAe0+PCmOhOpfHM2/4vc7oEGQqGEPq8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-ntfs/default.nix b/pkgs/development/python-modules/dissect-ntfs/default.nix
index 4d69844c9884..97ebe80f18b8 100644
--- a/pkgs/development/python-modules/dissect-ntfs/default.nix
+++ b/pkgs/development/python-modules/dissect-ntfs/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-ntfs";
-  version = "3.7";
+  version = "3.8";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.ntfs";
     rev = "refs/tags/${version}";
-    hash = "sha256-bnFimn5ektIKiX73NZ+1Iz3Uoew138a0nFJgypffC4o=";
+    hash = "sha256-BmXYnN8B7r/gz+zEWWS7ClOv29QOiHrm7g2ZNZXlnGU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-target/default.nix b/pkgs/development/python-modules/dissect-target/default.nix
index 90f82426f1c6..786b29562874 100644
--- a/pkgs/development/python-modules/dissect-target/default.nix
+++ b/pkgs/development/python-modules/dissect-target/default.nix
@@ -39,7 +39,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-target";
-  version = "3.14";
+  version = "3.15";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -48,12 +48,12 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.target";
     rev = "refs/tags/${version}";
-    hash = "sha256-vp1upVwohMXFKxlHy5lWmigdq9MUk1UknSsPpCXt50s=";
+    hash = "sha256-1uWKlp0t1mVtt3lbjl4U1TMxE2YHN/GzGs8OuoVTRqc=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "flow.record~=" "flow.record>="
+      --replace-warn "flow.record~=" "flow.record>="
   '';
 
   nativeBuildInputs = [
@@ -110,12 +110,13 @@ buildPythonPackage rec {
     # Test requires rdump
     "test_exec_target_command"
     # Issue with tar file
-    "test_tar_sensitive_drive_letter"
     "test_dpapi_decrypt_blob"
-    "test_notifications_appdb"
     "test_md"
-    "test_notifications_wpndatabase"
     "test_nested_md_lvm"
+    "test_notifications_appdb"
+    "test_notifications_wpndatabase"
+    "test_tar_anonymous_filesystems"
+    "test_tar_sensitive_drive_letter"
     # Tests compare dates and times
     "yum"
     # Filesystem access, windows defender tests
diff --git a/pkgs/development/python-modules/dissect-util/default.nix b/pkgs/development/python-modules/dissect-util/default.nix
index 495294db9c3f..894b5e35f4e0 100644
--- a/pkgs/development/python-modules/dissect-util/default.nix
+++ b/pkgs/development/python-modules/dissect-util/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-util";
-  version = "3.13";
+  version = "3.14";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.util";
     rev = "refs/tags/${version}";
-    hash = "sha256-GUDYr3lP0BV7zJaaUen78CplRA7jfn1zYes7kczNGEU=";
+    hash = "sha256-NzqQW6OFv+CtAxa5J2X/XGS9UCFfhMp4elvgcTrA1Wg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-volume/default.nix b/pkgs/development/python-modules/dissect-volume/default.nix
index 1a2ce1e27355..77f69a83730f 100644
--- a/pkgs/development/python-modules/dissect-volume/default.nix
+++ b/pkgs/development/python-modules/dissect-volume/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-volume";
-  version = "3.7";
+  version = "3.8";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.volume";
     rev = "refs/tags/${version}";
-    hash = "sha256-5ZO++l6BWA085U5IkghjCT46YhKc85SB7sNU2h4Fpec=";
+    hash = "sha256-hEfURO4ITpjSpfHMlYfzO1cG+tjvqBP5QLYzo2uz8yo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect-xfs/default.nix b/pkgs/development/python-modules/dissect-xfs/default.nix
index 1f46b745edc3..af83a91ec22f 100644
--- a/pkgs/development/python-modules/dissect-xfs/default.nix
+++ b/pkgs/development/python-modules/dissect-xfs/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-xfs";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.xfs";
     rev = "refs/tags/${version}";
-    hash = "sha256-unrkmhLvjWWKHiqJWCEVEVcUjxWXMznjOytRbDwAxKw=";
+    hash = "sha256-bqpN4Ho5A9j8oLwErPErMVgkanIkdNTqcT3lkdQiw6M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dissect/default.nix b/pkgs/development/python-modules/dissect/default.nix
index eac1ba89fa55..544deeace888 100644
--- a/pkgs/development/python-modules/dissect/default.nix
+++ b/pkgs/development/python-modules/dissect/default.nix
@@ -35,7 +35,7 @@
 
 buildPythonPackage rec {
   pname = "dissect";
-  version = "3.11";
+  version = "3.12";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect";
     rev = "refs/tags/${version}";
-    hash = "sha256-6y+p+Ulc1Viu5s1AL/ecVtO4YRnmem/ZleY8xC4CJrU=";
+    hash = "sha256-hy5Yr/yR7CC7cp6pA1JP+GKazu+N4AwPqFKwb7zM+N8=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/development/python-modules/distutils-cfg/default.nix b/pkgs/development/python-modules/distutils-cfg/default.nix
index cbf12c17582a..fb616c65d036 100644
--- a/pkgs/development/python-modules/distutils-cfg/default.nix
+++ b/pkgs/development/python-modules/distutils-cfg/default.nix
@@ -24,7 +24,7 @@ in stdenv.mkDerivation {
   dontUnpack = true;
 
   installPhase = ''
-    dest="$out/lib/${python.libPrefix}/site-packages/distutils"
+    dest="$out/${python.sitePackages}/distutils"
     mkdir -p $dest
     ln -s ${python}/lib/${python.libPrefix}/distutils/* $dest
     ln -s ${distutilsCfg} $dest/distutils.cfg
diff --git a/pkgs/development/python-modules/django-cleanup/default.nix b/pkgs/development/python-modules/django-cleanup/default.nix
index acc94865c02b..a465ffefc6a6 100644
--- a/pkgs/development/python-modules/django-cleanup/default.nix
+++ b/pkgs/development/python-modules/django-cleanup/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "django-cleanup";
-  version = "8.0.0";
+  version = "8.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xzmgVUTh5I3ISIcchw2/FZX4Uz0kUjvGc2DkNWLtrw0=";
+    hash = "sha256-cN+QUHakTnoRGzEZgZmvYz3uCIduGZ5tzjbKjda4sQ8=";
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/django-crispy-bootstrap5/default.nix b/pkgs/development/python-modules/django-crispy-bootstrap5/default.nix
new file mode 100644
index 000000000000..16609c82d34a
--- /dev/null
+++ b/pkgs/development/python-modules/django-crispy-bootstrap5/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, django
+, setuptools
+, pytestCheckHook
+, pytest-django
+, django-crispy-forms
+}:
+
+buildPythonPackage rec {
+  pname = "django-crispy-bootstrap5";
+  version = "2023.10";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "django-crispy-forms";
+    repo = "crispy-bootstrap5";
+    rev = "refs/tags/${version}";
+    hash = "sha256-AUMlLj3GmI+0vYw56Dw2+iF5s1l6GF+zV7PRD889ldg=";
+  };
+
+  propagatedBuildInputs = [
+    django
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytest-django
+    pytestCheckHook
+    django-crispy-forms
+  ];
+
+  pythonImportsCheck = [ "crispy_bootstrap5" ];
+
+  meta = with lib; {
+    description = "Bootstrap 5 template pack for django-crispy-forms";
+    homepage = "https://github.com/django-crispy-forms/crispy-bootstrap5";
+    license = licenses.mit;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/python-modules/django-maintenance-mode/default.nix b/pkgs/development/python-modules/django-maintenance-mode/default.nix
index e6940c53b430..9cd0950d2547 100644
--- a/pkgs/development/python-modules/django-maintenance-mode/default.nix
+++ b/pkgs/development/python-modules/django-maintenance-mode/default.nix
@@ -1,33 +1,29 @@
 { lib
-, fetchFromGitHub
-, fetchpatch
 , buildPythonPackage
 , django
-, python-fsutil
+, fetchFromGitHub
 , python
+, python-fsutil
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "django-maintenance-mode";
   version = "0.19.0";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "fabiocaccamo";
-    repo = pname;
+    repo = "django-maintenance-mode";
     rev = "refs/tags/${version}";
     hash = "sha256-NAm3xMcHePTYxysihYj48bk7r9ykEtPcxPjSEju/zMM=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-broken-test.patch";
-      url = "https://github.com/fabiocaccamo/django-maintenance-mode/commit/68cde8d9ceef00eeaa2068f420698c1c562fa9fc.patch";
-      hash = "sha256-K/zYYkcnmWGc7Knz4l9PgvUtT0IccPRXc3UFriC1ldc=";
-    })
+  nativeBuildInputs = [
+    setuptools
   ];
 
   propagatedBuildInputs = [
@@ -43,11 +39,15 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
+  pythonImportsCheck = [
+    "maintenance_mode"
+  ];
+
   meta = with lib; {
     description = "Shows a 503 error page when maintenance-mode is on";
     homepage = "https://github.com/fabiocaccamo/django-maintenance-mode";
     changelog = "https://github.com/fabiocaccamo/django-maintenance-mode/releases/tag/${version}";
-    maintainers = with maintainers; [ mrmebelman ];
     license = licenses.bsd3;
+    maintainers = with maintainers; [ mrmebelman ];
   };
 }
diff --git a/pkgs/development/python-modules/django-reversion/default.nix b/pkgs/development/python-modules/django-reversion/default.nix
index 7eaa9c3a7189..35d54194f07d 100644
--- a/pkgs/development/python-modules/django-reversion/default.nix
+++ b/pkgs/development/python-modules/django-reversion/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "django-reversion";
-  version = "5.0.10";
+  version = "5.0.12";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
 src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wYdJpnwdtBZ8yszDY5XF/mB48xKGloPC89IUBR5aayk=";
+    hash = "sha256-wEfMmanxukqubbicOsJDR41t6Y7Ipgxwc/zIddicXNs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/django-silk/default.nix b/pkgs/development/python-modules/django-silk/default.nix
index 9f91aee935ac..5cb38385284c 100644
--- a/pkgs/development/python-modules/django-silk/default.nix
+++ b/pkgs/development/python-modules/django-silk/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "django-silk";
-  version = "5.0.3";
+  version = "5.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     owner = "jazzband";
     repo = "django-silk";
     rev = "refs/tags/${version}";
-    hash = "sha256-91FcOqAYZK7/RCKgXjbQEPUQ2cZRFi7NzVLQF+MMDRI=";
+    hash = "sha256-QqY1bRa0v4DZ2/gDbssyhJA9Kb+5jig4hZEBVKZiowY=";
   };
 
   # "test_time_taken" tests aren't suitable for reproducible execution, but Django's
diff --git a/pkgs/development/python-modules/django-vite/default.nix b/pkgs/development/python-modules/django-vite/default.nix
index 5f4ee952e2f1..607d0b6e818f 100644
--- a/pkgs/development/python-modules/django-vite/default.nix
+++ b/pkgs/development/python-modules/django-vite/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "django-vite";
-  version = "3.0.2";
+  version = "3.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "MrBin99";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Lnecxkn+E1Bce/EhP1AHH9/VrdzBiMGLv+eYld5+QKM=";
+    hash = "sha256-FH42auBm/YRfGgjL9TGQLed/p0P8POb7DOLmpUK1d9c=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django-webpack-loader/default.nix b/pkgs/development/python-modules/django-webpack-loader/default.nix
index 3f1aa0138b90..3850c7cbd891 100644
--- a/pkgs/development/python-modules/django-webpack-loader/default.nix
+++ b/pkgs/development/python-modules/django-webpack-loader/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "django-webpack-loader";
-  version = "3.0.0";
+  version = "3.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dND6btp4i4Sxq4KMLn786EFLBe7wpOsr8n0xGlDgpO0=";
+    hash = "sha256-UTMbM9p2aI60078+o7tWQ0sMHfstzYjL+wo5YY9o3Xo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dploot/default.nix b/pkgs/development/python-modules/dploot/default.nix
new file mode 100644
index 000000000000..6b6dc6454cb6
--- /dev/null
+++ b/pkgs/development/python-modules/dploot/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, poetry-core
+, pythonRelaxDepsHook
+, fetchPypi
+, impacket
+, cryptography
+, pyasn1
+, lxml
+}:
+
+buildPythonPackage rec {
+  pname = "dploot";
+  version = "2.2.4";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-40/5KOlEFvPL9ohCfR3kqoikpKFfJO22MToq3GhamKM=";
+  };
+
+  pythonRelaxDeps = true;
+
+  nativeBuildInputs = [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = [
+    impacket
+    cryptography
+    pyasn1
+    lxml
+  ];
+
+  pythonImportsCheck = [ "dploot" ];
+
+  # No tests
+  doCheck = false;
+
+  meta = {
+    homepage = "https://github.com/zblurx/dploot";
+    description = "DPAPI looting remotely in Python";
+    changelog = "https://github.com/zblurx/dploot/releases/tag/${version}";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ vncsb ];
+  };
+}
diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix
index fc9245f33777..97b27d14bd35 100644
--- a/pkgs/development/python-modules/dulwich/default.nix
+++ b/pkgs/development/python-modules/dulwich/default.nix
@@ -74,6 +74,8 @@ buildPythonPackage rec {
   disabledTestPaths = [
     # missing test inputs
     "dulwich/contrib/test_swift_smoke.py"
+    # flaky on high core count >4
+    "dulwich/tests/compat/test_client.py"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/dvc-objects/default.nix b/pkgs/development/python-modules/dvc-objects/default.nix
index 34848b020c63..778bcf39fa27 100644
--- a/pkgs/development/python-modules/dvc-objects/default.nix
+++ b/pkgs/development/python-modules/dvc-objects/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-objects";
-  version = "3.0.3";
+  version = "3.0.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = "dvc-objects";
     rev = "refs/tags/${version}";
-    hash = "sha256-JQ3UDUOpuxPavXkoJqbS0T7y3kpwuJ8NvqAl3DahoLU=";
+    hash = "sha256-os4MzxB4IuqJ9EsKZXGzOU23Qf6LLLiV6SLaNpMlEp8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/dvc/default.nix b/pkgs/development/python-modules/dvc/default.nix
index ec46ef9edfc8..b4cad5f2b206 100644
--- a/pkgs/development/python-modules/dvc/default.nix
+++ b/pkgs/development/python-modules/dvc/default.nix
@@ -58,7 +58,7 @@
 
 buildPythonPackage rec {
   pname = "dvc";
-  version = "3.42.0";
+  version = "3.43.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -67,7 +67,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = "dvc";
     rev = "refs/tags/${version}";
-    hash = "sha256-NTviaNhGe3hisP32Ccp1wHTrKXHZZP7gJFwDy7BlI/M=";
+    hash = "sha256-i9hIsn5rybDaWSzAFKazwB5wgpL0DAyUrqnxqCGLiR0=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/es-client/default.nix b/pkgs/development/python-modules/es-client/default.nix
index 7c72732f7499..96282cb54c6d 100644
--- a/pkgs/development/python-modules/es-client/default.nix
+++ b/pkgs/development/python-modules/es-client/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , certifi
 , click
+, ecs-logging
 , elastic-transport
 , elasticsearch8
 , fetchFromGitHub
@@ -19,8 +20,8 @@
 
 buildPythonPackage rec {
   pname = "es-client";
-  version = "8.11.0";
-  format = "pyproject";
+  version = "8.12.3";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -28,7 +29,7 @@ buildPythonPackage rec {
     owner = "untergeek";
     repo = "es_client";
     rev = "refs/tags/v${version}";
-    hash = "sha256-VsHpWe37/CZvGm3PqVq4mJCBA9juvOD9FLmDeW8OjiM=";
+    hash = "sha256-kskUPewMEp37OwLtopJFtbC8Nxa07qgImLejYyiUJao=";
   };
 
   pythonRelaxDeps = true;
@@ -41,6 +42,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     certifi
     click
+    ecs-logging
     elastic-transport
     elasticsearch8
     pyyaml
@@ -62,7 +64,11 @@ buildPythonPackage rec {
   disabledTests = [
     # Tests require network access
     "test_bad_version_raises"
+    "test_basic_operation"
+    "test_basic_operation"
     "test_client_info"
+    "test_logging_options_ecs"
+    "test_logging_options_json"
     "test_multiple_hosts_raises"
     "test_non_dict_passed"
     "test_skip_version_check"
diff --git a/pkgs/development/python-modules/fingerprints/default.nix b/pkgs/development/python-modules/fingerprints/default.nix
index 00c2efe7e3f3..a4e3be44b06f 100644
--- a/pkgs/development/python-modules/fingerprints/default.nix
+++ b/pkgs/development/python-modules/fingerprints/default.nix
@@ -1,21 +1,30 @@
 { lib
-, fetchFromGitHub
 , buildPythonPackage
+, fetchFromGitHub
 , normality
 , pytestCheckHook
+, pythonOlder
+, setuptools
 }:
+
 buildPythonPackage rec {
   pname = "fingerprints";
-  version = "1.1.0";
-  format = "setuptools";
+  version = "1.2.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "alephdata";
     repo = "fingerprints";
     rev = version;
-    hash = "sha256-rptBM08dvivfglPvl3PZd9V/7u2SHbJ/BxfVHNGMt3A=";
+    hash = "sha256-U2UslCy1OagVTtllCKsEBX4zI/qIczbxs2Cxzy+/Xys=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     normality
   ];
@@ -32,6 +41,6 @@ buildPythonPackage rec {
     description = "A library to generate entity fingerprints";
     homepage = "https://github.com/alephdata/fingerprints";
     license = licenses.mit;
-    maintainers = [ ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/fontparts/default.nix b/pkgs/development/python-modules/fontparts/default.nix
index e3113b8d1fb4..9f042cf1ef46 100644
--- a/pkgs/development/python-modules/fontparts/default.nix
+++ b/pkgs/development/python-modules/fontparts/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "fontParts";
-  version = "0.11.0";
+  version = "0.12.1";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-He3BAIWxwDIM80ixmYjyAHlwDK9bBe/qS8P4+TVEkEg=";
+    hash = "sha256-eeU13S1IcC+bsiK3YDlT4rVDeXDGcxx1wY/is8t5pCA=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/frigidaire/default.nix b/pkgs/development/python-modules/frigidaire/default.nix
index 1519347b8ba2..d8ddff87463b 100644
--- a/pkgs/development/python-modules/frigidaire/default.nix
+++ b/pkgs/development/python-modules/frigidaire/default.nix
@@ -6,28 +6,33 @@
 , idna
 , pythonOlder
 , requests
+, setuptools
 , urllib3
 }:
 
 buildPythonPackage rec {
   pname = "frigidaire";
-  version = "0.18.13";
-  format = "setuptools";
+  version = "0.18.15";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "bm1549";
-    repo = pname;
+    repo = "frigidaire";
     rev = "refs/tags/${version}";
-    hash = "sha256-FikBV4KjutQfupGPXcVT1h+BfQ099WRrmbrEJOaVCQI=";
+    hash = "sha256-5+epdQyeTGJp8iTrX6vyp4JgM45Fl5cb67Z8trNBe+8=";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace 'version = "SNAPSHOT"' 'version = "${version}"'
+      --replace-warn 'version = "SNAPSHOT"' 'version = "${version}"'
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     certifi
     chardet
diff --git a/pkgs/development/python-modules/fuse-python/default.nix b/pkgs/development/python-modules/fuse-python/default.nix
index 87f075460caf..8bcb486a6311 100644
--- a/pkgs/development/python-modules/fuse-python/default.nix
+++ b/pkgs/development/python-modules/fuse-python/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "fuse-python";
-  version = "1.0.5";
+  version = "1.0.7";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dOX/szaCu6mlrypaBI9Ht+e0ZOv4QpG/WiWL+60Do6o=";
+    hash = "sha256-MhiAY2UkCM1HKuu2+S0135LIu0IAk3H4yJJ7s35r3Rs=";
   };
 
   buildInputs = [ fuse ];
diff --git a/pkgs/development/python-modules/gehomesdk/default.nix b/pkgs/development/python-modules/gehomesdk/default.nix
index 9b66fc47bd64..3cbc255ec7a0 100644
--- a/pkgs/development/python-modules/gehomesdk/default.nix
+++ b/pkgs/development/python-modules/gehomesdk/default.nix
@@ -7,22 +7,27 @@
 , lxml
 , pythonOlder
 , requests
+, setuptools
 , slixmpp
 , websockets
 }:
 
 buildPythonPackage rec {
   pname = "gehomesdk";
-  version = "0.5.26";
-  format = "setuptools";
+  version = "0.5.27";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eIpBVfkUIQBriZ4wxp8ii5YmuuKF8r0lNauBEEqoNV8=";
+    hash = "sha256-H76y784lYzETgq5XSsQOSGka/kvM+hyMHzUHEJuXTuk=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     bidict
diff --git a/pkgs/development/python-modules/gentools/default.nix b/pkgs/development/python-modules/gentools/default.nix
index e4760c3fe958..7dd95925f4ba 100644
--- a/pkgs/development/python-modules/gentools/default.nix
+++ b/pkgs/development/python-modules/gentools/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "gentools";
-  version = "1.2.1";
+  version = "1.2.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "ariebovenberg";
     repo = "gentools";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RBUIji3FOIRjfp4t7zBAVSeiWaYufz4ID8nTWmhDkf8=";
+    hash = "sha256-+6KTFxOpwvGOCqy6JU87gOZmDa6MvjR10qES5wIfrjI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/georss-client/default.nix b/pkgs/development/python-modules/georss-client/default.nix
index d6529cbf9fec..51d895456da3 100644
--- a/pkgs/development/python-modules/georss-client/default.nix
+++ b/pkgs/development/python-modules/georss-client/default.nix
@@ -6,23 +6,28 @@
 , pytestCheckHook
 , pythonOlder
 , requests
+, setuptools
 , xmltodict
 }:
 
 buildPythonPackage rec {
   pname = "georss-client";
-  version = "0.15";
-  format = "setuptools";
+  version = "0.17";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-georss-client";
-    rev = "v${version}";
-    hash = "sha256-D1ggfEDU+vlFmi1USwdHj1due0PrCQCpKF4zaarHCFs=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-DvQifO/jirpacWZccK4WPxnm/iYs1qT5nAYQUDoleO4=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     haversine
     xmltodict
@@ -41,6 +46,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library for accessing GeoRSS feeds";
     homepage = "https://github.com/exxamalte/python-georss-client";
+    changelog = "https://github.com/exxamalte/python-georss-client/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix b/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix
index 273b67acfb7c..e74f3670f223 100644
--- a/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix
+++ b/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix
@@ -4,22 +4,27 @@
 , georss-client
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "georss-ingv-centro-nazionale-terremoti-client";
-  version = "0.6";
-  format = "setuptools";
+  version = "0.7";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-georss-ingv-centro-nazionale-terremoti-client";
-    rev = "v${version}";
-    hash = "sha256-zqjo70NzpUt5zNEar0P1sl/gMb+ZcS+7GX7QGuFjMYY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-J72yd1D4mKCOsBRLMUXKnxmjr6g0IQApTTrWjklczN8=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     georss-client
   ];
@@ -35,6 +40,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library for accessing the INGV Centro Nazionale Terremoti GeoRSS feed";
     homepage = "https://github.com/exxamalte/python-georss-ingv-centro-nazionale-terremoti-client";
+    changelog = "https://github.com/exxamalte/python-georss-ingv-centro-nazionale-terremoti-client/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/git-annex-adapter/default.nix b/pkgs/development/python-modules/git-annex-adapter/default.nix
index 1279be5e9d3f..8af128e895a0 100644
--- a/pkgs/development/python-modules/git-annex-adapter/default.nix
+++ b/pkgs/development/python-modules/git-annex-adapter/default.nix
@@ -1,20 +1,31 @@
-{ lib, buildPythonPackage, isPy3k, fetchFromGitHub, fetchpatch, substituteAll
-, python, util-linux, pygit2, gitMinimal, git-annex, cacert
+{ lib
+, buildPythonPackage
+, cacert
+, fetchFromGitHub
+, fetchpatch
+, git-annex
+, gitMinimal
+, pygit2
+, pytestCheckHook
+, python
+, pythonOlder
+, setuptools
+, substituteAll
+, util-linux
 }:
 
 buildPythonPackage rec {
   pname = "git-annex-adapter";
   version = "0.2.2";
-  format = "setuptools";
+  pyproject = true;
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.7";
 
-  # No tests in PyPI tarball
   src = fetchFromGitHub {
     owner = "alpernebbi";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0666vqspgnvmfs6j3kifwyxr6zmxjs0wlwis7br4zcq0gk32zgdx";
+    repo = "git-annex-adapter";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-vb0vxnwAs0/yOjpyyoGWvX6Tu+cuziGNdnXbdzXexhg=";
   };
 
   patches = [
@@ -37,17 +48,31 @@ buildPythonPackage rec {
     })
   ];
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    pygit2
+    cacert
+  ];
+
   nativeCheckInputs = [
     gitMinimal
     util-linux # `rev` is needed in tests/test_process.py
+    pytestCheckHook
   ];
 
-  propagatedBuildInputs = [ pygit2 cacert ];
+  pythonImportsCheck = [
+    "git_annex_adapter"
+  ];
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest
-  '';
-  pythonImportsCheck = [ "git_annex_adapter" ];
+  disabledTests = [
+    # KeyError and AssertionError
+    "test_jsonprocess_annex_metadata_batch"
+    "test_process_annex_metadata_batch"
+    "test_batchjson_metadata"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/alpernebbi/git-annex-adapter";
diff --git a/pkgs/development/python-modules/githubkit/default.nix b/pkgs/development/python-modules/githubkit/default.nix
index 8d8fd8cd6e32..3b7340e43596 100644
--- a/pkgs/development/python-modules/githubkit/default.nix
+++ b/pkgs/development/python-modules/githubkit/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "githubkit";
-  version = "0.11.0";
+  version = "0.11.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "yanyongyu";
     repo = "githubkit";
     rev = "refs/tags/v${version}";
-    hash = "sha256-o7u/C9Ylw903Hat4xZdb0YYVtXKSu2WljD9uiLQeFIU=";
+    hash = "sha256-nPXs6thXAshDojgHSNyEeBN/jNJkfFECSuY5f51Zozo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/gitlike-commands/default.nix b/pkgs/development/python-modules/gitlike-commands/default.nix
index 90ac29e9b345..c5e8ab506696 100644
--- a/pkgs/development/python-modules/gitlike-commands/default.nix
+++ b/pkgs/development/python-modules/gitlike-commands/default.nix
@@ -1,14 +1,13 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "gitlike-commands";
-  version = "0.2.1";
+  version = "0.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -17,18 +16,9 @@ buildPythonPackage rec {
     owner = "unixorn";
     repo = "gitlike-commands";
     rev = "refs/tags/v${version}";
-    hash = "sha256-VjweN4gigzCNvg6TccZx2Xw1p7SusKplxUTZjItTQc0=";
+    hash = "sha256-Z0l8nCKov1iMJvI3YTHvg0ey+oPju3rgaKtmk6OX44g=";
   };
 
-  patches = [
-    # Replace distutils, https://github.com/unixorn/gitlike-commands/pull/8
-    (fetchpatch {
-      name = "replace-distutils.patch";
-      url = "https://github.com/unixorn/gitlike-commands/commit/8a97206aff50a25ac6860032aa03925899c3d0aa.patch";
-      hash = "sha256-a2utKbf9vrQlYlPcdj/+OAqWf7VkuC5kvbJ53SK52IA=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/pkgs/development/python-modules/glean-parser/default.nix b/pkgs/development/python-modules/glean-parser/default.nix
index d85a0771a809..380ada5d33a6 100644
--- a/pkgs/development/python-modules/glean-parser/default.nix
+++ b/pkgs/development/python-modules/glean-parser/default.nix
@@ -15,15 +15,15 @@
 
 buildPythonPackage rec {
   pname = "glean-parser";
-  version = "10.0.3";
+  version = "11.0.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     pname = "glean_parser";
     inherit version;
-    hash = "sha256-1XNZYp0pX57lcAaKKEaWaJLj/ttyIlnsvNjMN20pm1E=";
+    hash = "sha256-eeUjtRsP3c6fbGMJ+oxkMou3BrLWyEelP4ipPQFpXkM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/glfw/default.nix b/pkgs/development/python-modules/glfw/default.nix
index 31d6c0a275d8..667206fa58ea 100644
--- a/pkgs/development/python-modules/glfw/default.nix
+++ b/pkgs/development/python-modules/glfw/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "glfw";
-  version = "2.6.4";
+  version = "2.6.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "FlorianRhiem";
     repo = "pyGLFW";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ANydW+4uLIJelUdDCHZ6WJgIJHNXzdc9jK/nZbZHi+I=";
+    hash = "sha256-mh2l63Nt9YMCPM3AplKWPx5HQZi2/cm+dUS56JB8fGA=";
   };
 
   # Patch path to GLFW shared object
diff --git a/pkgs/development/python-modules/google-ai-generativelanguage/default.nix b/pkgs/development/python-modules/google-ai-generativelanguage/default.nix
index ac6dfc171933..69a56b278358 100644
--- a/pkgs/development/python-modules/google-ai-generativelanguage/default.nix
+++ b/pkgs/development/python-modules/google-ai-generativelanguage/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-ai-generativelanguage";
-  version = "0.4.0";
+  version = "0.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yBmQZsCPdMTpEpB3gym7nzV7oepdb4LeK8DRBVK/T4w=";
+    hash = "sha256-fF7pjNpfSeCnhbDUz+gVn+NKBQKdCEAVLzlRQUEpXX8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-asset/default.nix b/pkgs/development/python-modules/google-cloud-asset/default.nix
index a2e1e852da70..4d090d6e738e 100644
--- a/pkgs/development/python-modules/google-cloud-asset/default.nix
+++ b/pkgs/development/python-modules/google-cloud-asset/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-asset";
-  version = "3.23.0";
+  version = "3.24.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ILg5PCstA6KwOsQZYkkE8xvFAbs6na24uUx8B5T7w1M=";
+    hash = "sha256-A9Ov5a6lpcJ+6diVEjFlLKMwROuSKO/lZOuGxN6Nn7U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-dataproc/default.nix b/pkgs/development/python-modules/google-cloud-dataproc/default.nix
index 3b0fff422ce1..41c8122f9857 100644
--- a/pkgs/development/python-modules/google-cloud-dataproc/default.nix
+++ b/pkgs/development/python-modules/google-cloud-dataproc/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dataproc";
-  version = "5.8.0";
+  version = "5.9.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sDQS3WPLhNwLsIRM2emp7vQOHQ1xlkllkFLMzw0+ldc=";
+    hash = "sha256-flH5yQBbxfG8sjYnFx3pzWJGpEd1EYpIzGMoYSgKdt8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-monitoring/default.nix b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
index 63060d008efd..c0cff664760a 100644
--- a/pkgs/development/python-modules/google-cloud-monitoring/default.nix
+++ b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-monitoring";
-  version = "2.18.0";
+  version = "2.19.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Bswdf7dcXlC1S8wASUHqSyCnqfCe1+bnU1FP2MQ2CWo=";
+    hash = "sha256-zhtDkpuJ4NH1lOFYmw+oO+R/H9gP6L+ud/4fdzIknwY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-redis/default.nix b/pkgs/development/python-modules/google-cloud-redis/default.nix
index 228545f62da4..451535149511 100644
--- a/pkgs/development/python-modules/google-cloud-redis/default.nix
+++ b/pkgs/development/python-modules/google-cloud-redis/default.nix
@@ -7,20 +7,25 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-redis";
-  version = "2.14.0";
-  format = "setuptools";
+  version = "2.15.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TzuRWGGdQrsmOLidvLiC80e9t9VVu8LUNhq2Ikk0Pco=";
+    hash = "sha256-EyThUipPk96q5TuJDMKugFSGXDdWi0vOH5EzP2zzcyI=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     google-api-core
     proto-plus
diff --git a/pkgs/development/python-modules/google-cloud-tasks/default.nix b/pkgs/development/python-modules/google-cloud-tasks/default.nix
index 6aca5ab49226..bc6cf42b27c7 100644
--- a/pkgs/development/python-modules/google-cloud-tasks/default.nix
+++ b/pkgs/development/python-modules/google-cloud-tasks/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-tasks";
-  version = "2.15.1";
+  version = "2.16.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wkk3hefFhfDvL7iSFbOZqzTLaVBJPydSItjt5P4/zxY=";
+    hash = "sha256-oybkbzeqE4sW6RN5P7AFJV3rahTCykwJndQ8uAmhiCE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
index 7d89107c0d35..09237f9afbcd 100644
--- a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
+++ b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-texttospeech";
-  version = "2.15.1";
+  version = "2.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-R4ReOtnO/auvNYlHyxlt3eovqkzfyvhkoBHbghpN6vs=";
+    hash = "sha256-flG/fsyx8DH/w49EF5ddckPZoVDvkPsz/SFI16CVWR8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-trace/default.nix b/pkgs/development/python-modules/google-cloud-trace/default.nix
index 98a62651013c..8c6085685f71 100644
--- a/pkgs/development/python-modules/google-cloud-trace/default.nix
+++ b/pkgs/development/python-modules/google-cloud-trace/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-trace";
-  version = "1.12.0";
+  version = "1.13.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IvbMxHbOMQHUH7q86sP+/N/gV9KWez6OIMAmcTY6Uko=";
+    hash = "sha256-2oGGbqPLcPdMuSjVCG9yIV0moEToLUxjVFW22yHbRzc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
index ef0a5971ebbb..e8ac6fa628f5 100644
--- a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
+++ b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-videointelligence";
-  version = "2.12.0";
+  version = "2.13.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-SwGUkyzSYEGZuIBbwQhpLmoqJZ9Hd1FrnLyXi4hx4pU=";
+    hash = "sha256-ODRF08xxjUrj6PMzfTlcYLqGrgV71OA0VHT44ktQZ4k=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix b/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
index d4c285c3f34e..87372d653845 100644
--- a/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
+++ b/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-websecurityscanner";
-  version = "1.13.0";
+  version = "1.14.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vktbTjzNYMa8otEGGq36fYOKcNuNasWql4SBWbk84Iw=";
+    hash = "sha256-tb8BCpQtEj/0/dGSqTf+c0V0NwGZYx8y0oEHpoJWqhM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/govee-ble/default.nix b/pkgs/development/python-modules/govee-ble/default.nix
index 6b5b23c6a8a8..5499af7a1f95 100644
--- a/pkgs/development/python-modules/govee-ble/default.nix
+++ b/pkgs/development/python-modules/govee-ble/default.nix
@@ -12,18 +12,23 @@
 
 buildPythonPackage rec {
   pname = "govee-ble";
-  version = "0.27.3";
-  format = "pyproject";
+  version = "0.31.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "Bluetooth-Devices";
-    repo = pname;
+    repo = "govee-ble";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yMKZe2hEkBm9c/5QuFNQMVPsdHTx9lnEVysRlbntiVY=";
+    hash = "sha256-g4tOu4nrJx1DVk2KLfF6HIEM7vTkfBg2fd7R1j+Xwrk=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=govee_ble --cov-report=term-missing:skip-covered" ""
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -39,11 +44,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=govee_ble --cov-report=term-missing:skip-covered" ""
-  '';
-
   pythonImportsCheck = [
     "govee_ble"
   ];
diff --git a/pkgs/development/python-modules/gpaw/default.nix b/pkgs/development/python-modules/gpaw/default.nix
index e415c192511c..be43eb55857d 100644
--- a/pkgs/development/python-modules/gpaw/default.nix
+++ b/pkgs/development/python-modules/gpaw/default.nix
@@ -74,14 +74,14 @@ let
 
 in buildPythonPackage rec {
   pname = "gpaw";
-  version = "23.9.1";
+  version = "24.1.0";
   format = "setuptools";
 
   src = fetchFromGitLab {
     owner = "gpaw";
     repo = pname;
     rev = version;
-    hash = "sha256-9nnK4ksTFATO6HexnxfMiih/yoY/noyJZXZOaDG/2kc=";
+    hash = "sha256-8eX50F124R46dGN2rJS/dDvPeDmEm7XpVyTiOAjMKyI=";
   };
 
   # `inetutils` is required because importing `gpaw`, as part of
diff --git a/pkgs/development/python-modules/gradio-pdf/default.nix b/pkgs/development/python-modules/gradio-pdf/default.nix
index d2bbfecefdc3..f1758be6a76f 100644
--- a/pkgs/development/python-modules/gradio-pdf/default.nix
+++ b/pkgs/development/python-modules/gradio-pdf/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "gradio-pdf";
-  version = "0.0.3";
+  version = "0.0.4";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "gradio_pdf";
     inherit version;
-    hash = "sha256-l9bcH/6paEdKk9Q7HM3ap9MI1Qi7rPZ/ucAibBUEPKI=";
+    hash = "sha256-lyZd8tH3SaTmE/7ooNaQJUYZRvjSOLx3+doWTCTXk9U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/griffe/default.nix b/pkgs/development/python-modules/griffe/default.nix
index ac429dae7ca0..3c2ebb007713 100644
--- a/pkgs/development/python-modules/griffe/default.nix
+++ b/pkgs/development/python-modules/griffe/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "griffe";
-  version = "0.39.1";
+  version = "0.40.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "mkdocstrings";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-1YHfwiQzt348fuyKpr5YXLeAnXzZljargnTugytvNK0=";
+    hash = "sha256-VUQmyNO2e4SoXzGbd751l7TtRgvaiWOr75gSGwKGPUI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/gruut-ipa/default.nix b/pkgs/development/python-modules/gruut-ipa/default.nix
index 26a7223b97e7..bca9611b7e21 100644
--- a/pkgs/development/python-modules/gruut-ipa/default.nix
+++ b/pkgs/development/python-modules/gruut-ipa/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   postPatch = ''
     patchShebangs bin/*
     substituteInPlace bin/speak-ipa \
-      --replace '${"\${src_dir}:"}' "$out/lib/${python.libPrefix}/site-packages:" \
+      --replace '${"\${src_dir}:"}' "$out/${python.sitePackages}:" \
       --replace "do espeak" "do ${espeak}/bin/espeak"
   '';
 
diff --git a/pkgs/development/python-modules/gtimelog/default.nix b/pkgs/development/python-modules/gtimelog/default.nix
deleted file mode 100644
index 6d6accc642a8..000000000000
--- a/pkgs/development/python-modules/gtimelog/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ lib, fetchFromGitHub, makeWrapper
-, glibcLocales, gobject-introspection, gtk3, libsoup, libsecret
-, buildPythonPackage, python
-, pygobject3, freezegun, mock
-}:
-
-buildPythonPackage rec {
-  pname = "gtimelog";
-  version = "unstable-2020-05-16";
-  format = "setuptools";
-
-  src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
-    rev = "80682ddbf9e0d68b8c67257289784f3b49b543d8";
-    sha256 = "0qv2kv7vc3qqlzxsisgg31cmrkkqgnmxspbj10c5fhdmwzzwi0i9";
-  };
-
-  nativeBuildInputs = [ makeWrapper gobject-introspection ];
-  buildInputs = [
-    glibcLocales gtk3 libsoup libsecret
-  ];
-
-  propagatedBuildInputs = [
-    pygobject3 freezegun mock
-  ];
-
-  checkPhase = ''
-    substituteInPlace runtests --replace "/usr/bin/env python3" "${python.interpreter}"
-    ./runtests
-  '';
-
-  pythonImportsCheck = [ "gtimelog" ];
-
-  preFixup = ''
-    wrapProgram $out/bin/gtimelog \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH ":" "${gtk3.out}/lib" \
-  '';
-
-  meta = with lib; {
-    description = "A time tracking app";
-    longDescription = ''
-      GTimeLog is a small time tracking application for GNOME.
-      It's main goal is to be as unintrusive as possible.
-
-      To run gtimelog successfully on a system that does not have full GNOME 3
-      installed, the following NixOS options should be set:
-      - programs.dconf.enable = true;
-      - services.gnome.gnome-keyring.enable = true;
-
-      In addition, the following packages should be added to the environment:
-      - gnome.adwaita-icon-theme
-      - gnome.dconf
-    '';
-    homepage = "https://gtimelog.org/";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ oxzi ];
-  };
-}
diff --git a/pkgs/development/python-modules/gurobipy/linux.nix b/pkgs/development/python-modules/gurobipy/linux.nix
index e9a72cbb5cba..a7c519406e74 100644
--- a/pkgs/development/python-modules/gurobipy/linux.nix
+++ b/pkgs/development/python-modules/gurobipy/linux.nix
@@ -16,7 +16,7 @@ buildPythonPackage {
 
   postFixup = ''
     patchelf --set-rpath $out/lib \
-      $out/lib/${python.libPrefix}/site-packages/gurobipy/gurobipy.so
+      $out/${python.sitePackages}/gurobipy/gurobipy.so
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index f06dd4109abe..a0ab0eefe58e 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "2024.1.8";
+  version = "2024.2.0";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = "hahomematic";
     rev = "refs/tags/${version}";
-    hash = "sha256-ln+Dich2I503LA5nIWK9k3B83LjIBsRUmBv2xJmFRQI=";
+    hash = "sha256-/cs1wyz3v9dLMAAgd0ipC7Z56ZzFQEBq8oqvousgr+U=";
   };
 
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/python-modules/hatch-requirements-txt/default.nix b/pkgs/development/python-modules/hatch-requirements-txt/default.nix
index a6246b3a4746..999596680505 100644
--- a/pkgs/development/python-modules/hatch-requirements-txt/default.nix
+++ b/pkgs/development/python-modules/hatch-requirements-txt/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "hatch-requirements-txt";
-  version = "0.4.0";
+  version = "0.4.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "repo-helper";
     repo = "hatch-requirements-txt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qk+70o/41BLxCuz3SOXkGYSEmUZOG1oLYcFUmlarqmY=";
+    hash = "sha256-Kd3rDfTBn/t/NiSJMPkHRWD5solUF7MAN8EiZokxHrk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/hg-commitsigs/default.nix b/pkgs/development/python-modules/hg-commitsigs/default.nix
index a97c2be2b98c..7a97bff33316 100644
--- a/pkgs/development/python-modules/hg-commitsigs/default.nix
+++ b/pkgs/development/python-modules/hg-commitsigs/default.nix
@@ -20,9 +20,9 @@ stdenv.mkDerivation rec {
   dontBuild = true;
 
   installPhase = ''
-    mkdir -p $out/lib/${python.libPrefix}/site-packages/hgext3rd/
+    mkdir -p $out/${python.sitePackages}/hgext3rd/
     install -D $src/commitsigs.py \
-               $out/lib/${python.libPrefix}/site-packages/hgext3rd/
+               $out/${python.sitePackages}/hgext3rd/
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/hwi/default.nix b/pkgs/development/python-modules/hwi/default.nix
index 046dbc7bb4ff..0f4c21e86e7c 100644
--- a/pkgs/development/python-modules/hwi/default.nix
+++ b/pkgs/development/python-modules/hwi/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "hwi";
-  version = "2.3.1";
+  version = "2.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "bitcoin-core";
     repo = "HWI";
     rev = "refs/tags/${version}";
-    hash = "sha256-V4BWB4mCONQ8kjAy6ySonAbCUTaKpBTvhSnHmoH8TQM=";
+    hash = "sha256-a1ppYDuY7CtNrKSvuAofS79nvDaYUMIm4FCHiiQYrtQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/influxdb-client/default.nix b/pkgs/development/python-modules/influxdb-client/default.nix
index 8e0bd695c0f6..6fb8974642ee 100644
--- a/pkgs/development/python-modules/influxdb-client/default.nix
+++ b/pkgs/development/python-modules/influxdb-client/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "influxdb-client";
-  version = "1.39.0";
+  version = "1.40.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "influxdata";
     repo = "influxdb-client-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cj3qeT5wE/RqrwOW1MV9sVG+khxyRAO5438omqbKbmY=";
+    hash = "sha256-+I5DxcxNxIRDwtfYXLvXPl8Z3FKcSWyaYtv1KHT9QO4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ipwhois/default.nix b/pkgs/development/python-modules/ipwhois/default.nix
index f9a80ff2f7b8..c6e50535bad4 100644
--- a/pkgs/development/python-modules/ipwhois/default.nix
+++ b/pkgs/development/python-modules/ipwhois/default.nix
@@ -21,7 +21,7 @@ buildPythonPackage rec {
 
   src = fetchFromGitHub {
     owner = "secynic";
-    repo = pname;
+    repo = "ipwhois";
     rev = "refs/tags/v${version}";
     hash = "sha256-2CfRRHlIIaycUtzKeMBKi6pVPeBCb1nW3/1hoxQU1YM=";
   };
@@ -35,6 +35,8 @@ buildPythonPackage rec {
     })
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   pythonRelaxDeps = [
     "dnspython"
   ];
@@ -65,6 +67,8 @@ buildPythonPackage rec {
   disabledTestPaths = [
     # Tests require network access
     "ipwhois/tests/online/"
+    # Stress test
+    "ipwhois/tests/stress/test_experimental.py"
   ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/jq/jq-py-setup.patch b/pkgs/development/python-modules/jq/jq-py-setup.patch
deleted file mode 100644
index 0894b776fef6..000000000000
--- a/pkgs/development/python-modules/jq/jq-py-setup.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 01cc813..15e9048 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1,97 +1,18 @@
- #!/usr/bin/env python
- 
- import os
--import subprocess
--import tarfile
--import shutil
--import sysconfig
- 
- from setuptools import setup
--from setuptools.command.build_ext import build_ext
- from setuptools.extension import Extension
- 
--
--def _path_in_dir(relative_path):
--    return os.path.abspath(os.path.join(os.path.dirname(__file__), relative_path))
--
--def _dep_source_path(relative_path):
--    return os.path.join(_path_in_dir("deps"), relative_path)
--
--def _dep_build_path(relative_path):
--    return os.path.join(_path_in_dir("_deps/build"), relative_path)
--
- def _read(fname):
-     return open(os.path.join(os.path.dirname(__file__), fname)).read()
- 
- 
--jq_lib_tarball_path = _dep_source_path("jq-1.6.tar.gz")
--jq_lib_dir = _dep_build_path("jq-1.6")
--
--oniguruma_version = "6.9.4"
--oniguruma_lib_tarball_path = _dep_source_path("onig-{}.tar.gz".format(oniguruma_version))
--oniguruma_lib_build_dir = _dep_build_path("onig-{}".format(oniguruma_version))
--oniguruma_lib_install_dir = _dep_build_path("onig-install-{}".format(oniguruma_version))
--
--class jq_build_ext(build_ext):
--    def run(self):
--        if not os.path.exists(_dep_build_path(".")):
--            os.makedirs(_dep_build_path("."))
--        self._build_oniguruma()
--        self._build_libjq()
--        build_ext.run(self)
--
--    def _build_oniguruma(self):
--        self._build_lib(
--            tarball_path=oniguruma_lib_tarball_path,
--            lib_dir=oniguruma_lib_build_dir,
--            commands=[
--                ["./configure", "CFLAGS=-fPIC", "--prefix=" + oniguruma_lib_install_dir],
--                ["make"],
--                ["make", "install"],
--            ])
--
--
--    def _build_libjq(self):
--        self._build_lib(
--            tarball_path=jq_lib_tarball_path,
--            lib_dir=jq_lib_dir,
--            commands=[
--                ["./configure", "CFLAGS=-fPIC -pthread", "--disable-maintainer-mode", "--with-oniguruma=" + oniguruma_lib_install_dir],
--                ["make"],
--            ])
--
--    def _build_lib(self, tarball_path, lib_dir, commands):
--        self._extract_tarball(
--            tarball_path=tarball_path,
--            lib_dir=lib_dir,
--        )
--
--        macosx_deployment_target = sysconfig.get_config_var("MACOSX_DEPLOYMENT_TARGET")
--        if macosx_deployment_target:
--            os.environ['MACOSX_DEPLOYMENT_TARGET'] = str(macosx_deployment_target)
--
--        def run_command(args):
--            print("Executing: %s" % ' '.join(args))
--            subprocess.check_call(args, cwd=lib_dir)
--
--        for command in commands:
--            run_command(command)
--
--    def _extract_tarball(self, tarball_path, lib_dir):
--        if os.path.exists(lib_dir):
--            shutil.rmtree(lib_dir)
--        tarfile.open(tarball_path, "r:gz").extractall(_dep_build_path("."))
--
--
- jq_extension = Extension(
-     "jq",
-     sources=["jq.c"],
--    include_dirs=[os.path.join(jq_lib_dir, "src")],
--    extra_link_args=["-lm"],
--    extra_objects=[
--        os.path.join(jq_lib_dir, ".libs/libjq.a"),
--        os.path.join(oniguruma_lib_install_dir, "lib/libonig.a"),
--    ],
-+    libraries=["jq"]
- )
- 
- setup(
-@@ -104,7 +25,6 @@ def _extract_tarball(self, tarball_path, lib_dir):
-     python_requires='>=3.5',
-     license='BSD 2-Clause',
-     ext_modules = [jq_extension],
--    cmdclass={"build_ext": jq_build_ext},
-     classifiers=[
-         'Development Status :: 5 - Production/Stable',
-         'Intended Audience :: Developers',
diff --git a/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix b/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix
index 6800635c0b2f..9609d68c6961 100644
--- a/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix
+++ b/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix
@@ -6,6 +6,7 @@
 , fetchFromGitHub
 , json-stream
 , json-stream-rs-tokenizer
+, pythonOlder
 , rustc
 , rustPlatform
 , setuptools
@@ -15,14 +16,16 @@
 
 buildPythonPackage rec {
   pname = "json-stream-rs-tokenizer";
-  version = "0.4.22";
-  format = "setuptools";
+  version = "0.4.25";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "smheidrich";
     repo = "py-json-stream-rs-tokenizer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EW726gUXTBX3gTxlFQ45RgkUa2Z4tIjUZxO4GBLXgEs=";
+    hash = "sha256-zo/jRAWSwcOnO8eU4KhDNz44P6xDGcrZf9CflwsSvF0=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
diff --git a/pkgs/development/python-modules/jsonargparse/default.nix b/pkgs/development/python-modules/jsonargparse/default.nix
index afe6f4220904..999811b7eee7 100644
--- a/pkgs/development/python-modules/jsonargparse/default.nix
+++ b/pkgs/development/python-modules/jsonargparse/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "jsonargparse";
-  version = "4.27.2";
+  version = "4.27.3";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     owner = "omni-us";
     repo = "jsonargparse";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qvc0HpwgYXDayA0q0D598rCb+I3LuaPm2tmmd0E3rrk=";
+    hash = "sha256-ZhNop6Zo1uWJhX5XEkjTq3XcRw1WzFd6jrk5CpBGCwo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyter-book/default.nix b/pkgs/development/python-modules/jupyter-book/default.nix
index 69d0734bfa00..bdb7b5772941 100644
--- a/pkgs/development/python-modules/jupyter-book/default.nix
+++ b/pkgs/development/python-modules/jupyter-book/default.nix
@@ -3,13 +3,12 @@
 , fetchPypi
 , pythonOlder
 , flit-core
-, pythonRelaxDepsHook
 , click
-, docutils
 , jinja2
 , jsonschema
 , linkify-it-py
 , myst-nb
+, myst-parser
 , pyyaml
 , sphinx
 , sphinx-comments
@@ -26,29 +25,28 @@
 
 buildPythonPackage rec {
   pname = "jupyter-book";
-  version = "0.15.1";
+  version = "1.0.0";
+  pyproject = true;
 
-  format = "pyproject";
-
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-ihY07Bb37t7g0Rbx5ft8SCAyia2S2kLglRnccdlWwBA=";
+    inherit version;
+    pname = "jupyter_book";
+    hash = "sha256-U5xdBJNUYgDZ3ie9S1936uoDEV+JN/gl1P+Cs4AamH4=";
   };
 
   nativeBuildInputs = [
     flit-core
-    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
     click
-    docutils
     jinja2
     jsonschema
     linkify-it-py
     myst-nb
+    myst-parser
     pyyaml
     sphinx
     sphinx-comments
@@ -63,16 +61,9 @@ buildPythonPackage rec {
     sphinx-multitoc-numbering
   ];
 
-  pythonRelaxDeps = [
-    "docutils"
-    "myst-nb"
-    "sphinx"
-    "sphinx-thebe"
-    "sphinxcontrib-bibtex"
-  ];
-
   pythonImportsCheck = [
     "jupyter_book"
+    "jupyter_book.cli.main"
   ];
 
   meta = with lib; {
@@ -81,5 +72,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/executablebooks/jupyter-book/blob/v${version}/CHANGELOG.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ marsam ];
+    mainProgram = "jupyter-book";
   };
 }
diff --git a/pkgs/development/python-modules/kaa-base/default.nix b/pkgs/development/python-modules/kaa-base/default.nix
index 96c83a4ac81d..8d83bdb5b110 100644
--- a/pkgs/development/python-modules/kaa-base/default.nix
+++ b/pkgs/development/python-modules/kaa-base/default.nix
@@ -24,20 +24,20 @@ buildPythonPackage rec {
   installPhase = ''
     runHook preInstall
 
-    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+    mkdir -p "$out/${python.sitePackages}"
 
-    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+    export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
 
     ${python}/bin/${python.executable} setup.py install \
-      --install-lib=$out/lib/${python.libPrefix}/site-packages \
+      --install-lib=$out/${python.sitePackages} \
       --prefix="$out"
 
-    eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
+    eapth="$out/${python.sitePackages}/easy-install.pth"
     if [ -e "$eapth" ]; then
     mv "$eapth" $(dirname "$eapth")/${pname}-${version}.pth
     fi
 
-    rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+    rm -f "$out/${python.sitePackages}"/site.py*
 
     runHook postInstall
   '';
diff --git a/pkgs/development/python-modules/kaa-metadata/default.nix b/pkgs/development/python-modules/kaa-metadata/default.nix
index de71d207b876..20ae66f17a9d 100644
--- a/pkgs/development/python-modules/kaa-metadata/default.nix
+++ b/pkgs/development/python-modules/kaa-metadata/default.nix
@@ -29,20 +29,20 @@ buildPythonPackage rec {
   installPhase = ''
     runHook preInstall
 
-    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
+    mkdir -p "$out/${python.sitePackages}"
 
-    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+    export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
 
     ${python}/bin/${python.executable} setup.py install \
-      --install-lib=$out/lib/${python.libPrefix}/site-packages \
+      --install-lib=$out/${python.sitePackages} \
       --prefix="$out"
 
-    eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
+    eapth="$out/${python.sitePackages}/easy-install.pth"
     if [ -e "$eapth" ]; then
     mv "$eapth" $(dirname "$eapth")/${pname}-${version}.pth
     fi
 
-    rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
+    rm -f "$out/${python.sitePackages}"/site.py*
 
     runHook postInstall
   '';
diff --git a/pkgs/development/python-modules/keyring-pass/default.nix b/pkgs/development/python-modules/keyring-pass/default.nix
new file mode 100644
index 000000000000..c9ac11c9313a
--- /dev/null
+++ b/pkgs/development/python-modules/keyring-pass/default.nix
@@ -0,0 +1,78 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, gnupg
+, keyring
+, pass
+, poetry-core
+, pythonOlder
+}:
+buildPythonPackage rec {
+  pname = "keyring-pass";
+  version = "0.9.2";
+  disabled = pythonOlder "3.6";
+
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "nazarewk";
+    repo = "keyring_pass";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-Sf7eDOB3prH2s6BzdBtxewSweC0ibLXVxNHBJRRaJe4=";
+  };
+
+  postPatch = ''
+    substituteInPlace keyring_pass/__init__.py \
+      --replace 'pass_binary = "pass"' 'pass_binary = "${lib.getExe pass}"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  nativeCheckInputs = [
+    keyring
+    gnupg
+  ];
+
+  checkPhase = ''
+    export HOME="$TMPDIR"
+
+    # generate temporary GPG identity
+    cat <<EOF | gpg --gen-key --batch /dev/stdin
+    %no-protection
+    %transient-key
+    Key-Type: 1
+    Key-Length: 1024
+    Subkey-Type: 1
+    Subkey-Length: 1024
+    Name-Real: test
+    Name-Email: test@example.com
+    Expire-Date: 1
+    EOF
+
+    # configure password store
+    ${lib.getExe pass} init test@example.com
+
+    # Configure `keyring` CLI
+    # first make sure `keyring-pass` is in "$PYTHONPATH"
+    [[ "$PYTHONPATH" == *"$out"/lib/python*/site-packages* ]]
+    export PYTHON_KEYRING_BACKEND="keyring_pass.PasswordStoreBackend"
+
+    # confirm set/get/del works
+    keyring set test-service test-username <<<"test-password"
+    test "$(keyring get test-service test-username)" == "test-password"
+    keyring del test-service test-username
+  '';
+
+  pythonImportsCheck = [
+    "keyring_pass"
+  ];
+
+  meta = {
+    description = "Password Store (pass) backend for python's keyring";
+    homepage = "https://github.com/nazarewk/keyring_pass";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.nazarewk ];
+  };
+}
diff --git a/pkgs/development/python-modules/langchain-community/default.nix b/pkgs/development/python-modules/langchain-community/default.nix
index d5935a67d8d2..0d0046b216ee 100644
--- a/pkgs/development/python-modules/langchain-community/default.nix
+++ b/pkgs/development/python-modules/langchain-community/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "langchain-community";
-  version = "0.0.13";
+  version = "0.0.16";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "langchain_community";
     inherit version;
-    hash = "sha256-z2bG/3/L61gvXojuAN7Op/3spczd2nJQRvKO/Gl8Qac=";
+    hash = "sha256-wGUSqTAToG+6dnnNWhJU/4uSfN3S0fvgzERL97vfC4w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix
index 3268ed2e2275..8e8309874f1e 100644
--- a/pkgs/development/python-modules/langchain-core/default.nix
+++ b/pkgs/development/python-modules/langchain-core/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "langchain-core";
-  version = "0.1.11";
+  version = "0.1.16";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "langchain_core";
     inherit version;
-    hash = "sha256-StS1ltv9vIOTyW1AmDuXrsFlqwumZDC+rnPj2HnBOg0=";
+    hash = "sha256-jLVG7tMYAJ7hqKOB0QgHTt3wOVrmHrJD2wDXbh4mXok=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ldfparser/default.nix b/pkgs/development/python-modules/ldfparser/default.nix
index f71543c828bb..b5a39128d786 100644
--- a/pkgs/development/python-modules/ldfparser/default.nix
+++ b/pkgs/development/python-modules/ldfparser/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "ldfparser";
-  version = "0.21.0";
+  version = "0.22.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "c4deszes";
     repo = "ldfparser";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4uwze9TJYmNvhDiKYyUX6Ya+eQb0mbpQQaawUWmO3Gs=";
+    hash = "sha256-oHFfoeD2C69VIW82akbp0tmxZp5ImA+l5ZDnN9cjhhA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/libknot/default.nix b/pkgs/development/python-modules/libknot/default.nix
index fd5b0451381b..f79e4d638eba 100644
--- a/pkgs/development/python-modules/libknot/default.nix
+++ b/pkgs/development/python-modules/libknot/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "libknot";
-  version = "3.3.3";
+  version = "3.3.4";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-w8VAA+llRg1xeAMRe7ISHo8H+qGi247jwOjTZHecFVM=";
+    hash = "sha256-KRxc34lqOGuYJM2mUsYrjfiVCQNBxcQyO30wPLf17+Q=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/libvirt/default.nix b/pkgs/development/python-modules/libvirt/default.nix
index de5a75ee9eea..e10f7c056c6b 100644
--- a/pkgs/development/python-modules/libvirt/default.nix
+++ b/pkgs/development/python-modules/libvirt/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "libvirt";
-  version = "9.10.0";
+  version = "10.0.0";
   format = "setuptools";
 
   src = fetchFromGitLab {
     owner = "libvirt";
     repo = "libvirt-python";
     rev = "v${version}";
-    hash = "sha256-7qJieTLPzyHvhOLUsti4Mbt94iba2eTZd6OvPn3uLEA=";
+    hash = "sha256-zl1Hfm7flRflNjIpLoLAlPDysYlieC05HEd/mzFW8pU=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix
index 5647c2ee7909..248fa5c47607 100644
--- a/pkgs/development/python-modules/litellm/default.nix
+++ b/pkgs/development/python-modules/litellm/default.nix
@@ -15,7 +15,7 @@
 , httpx
 }:
 let
-  version = "1.19.0";
+  version = "1.20.9";
 in
 buildPythonPackage rec {
   pname = "litellm";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "BerriAI";
     repo = "litellm";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cHGLOcOC9G6FlJfyrf+owURfGtn/gCAJuhSPt9lJS0o=";
+    hash = "sha256-Sb5vfaKFUjBWfR/SPHLJLPD/EpoEwW56xKqgbUgM0K4=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/losant-rest/default.nix b/pkgs/development/python-modules/losant-rest/default.nix
index fbc65794da26..6587f99d8118 100644
--- a/pkgs/development/python-modules/losant-rest/default.nix
+++ b/pkgs/development/python-modules/losant-rest/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "losant-rest";
-  version = "1.19.3";
+  version = "1.19.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Losant";
     repo = "losant-rest-python";
     rev = "v${version}";
-    hash = "sha256-Ppy7vOA7ix76nvzVEP+BkL8dsoN0oXNX/5IZyhXDoSw=";
+    hash = "sha256-aVOviCeYi/oj1Xv7I0d4U+JBU0w3wbjORXOim/g5S7U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/maestral/default.nix b/pkgs/development/python-modules/maestral/default.nix
index 3e871a90562b..4645174e122f 100644
--- a/pkgs/development/python-modules/maestral/default.nix
+++ b/pkgs/development/python-modules/maestral/default.nix
@@ -62,7 +62,7 @@ buildPythonPackage rec {
   makeWrapperArgs = [
     # Add the installed directories to the python path so the daemon can find them
     "--prefix PYTHONPATH : ${makePythonPath propagatedBuildInputs}"
-    "--prefix PYTHONPATH : $out/lib/${python.libPrefix}/site-packages"
+    "--prefix PYTHONPATH : $out/${python.sitePackages}"
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/meep/default.nix b/pkgs/development/python-modules/meep/default.nix
index d99b5c3e2e0c..70a588f1c8aa 100644
--- a/pkgs/development/python-modules/meep/default.nix
+++ b/pkgs/development/python-modules/meep/default.nix
@@ -113,7 +113,7 @@ buildPythonPackage rec {
   checkPhase = ''
     runHook preCheck
 
-    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+    export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
 
     # Generate a python test script
     cat > test.py << EOF
diff --git a/pkgs/development/python-modules/meshtastic/default.nix b/pkgs/development/python-modules/meshtastic/default.nix
index 9dcc2d4a3a56..534623abccdd 100644
--- a/pkgs/development/python-modules/meshtastic/default.nix
+++ b/pkgs/development/python-modules/meshtastic/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "meshtastic";
-  version = "2.2.19";
+  version = "2.2.20";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "meshtastic";
     repo = "Meshtastic-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-5VXvh0W3llSnpIalg1e+JyFgmlTV5J2x4VC/j2+9Xb8=";
+    hash = "sha256-0q8omX306iM3p52u39Dc7m6oxAPo9Fs6CEVicYdIMT4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/mkdocs-material/default.nix b/pkgs/development/python-modules/mkdocs-material/default.nix
index e8df6bbc8253..317271a10d55 100644
--- a/pkgs/development/python-modules/mkdocs-material/default.nix
+++ b/pkgs/development/python-modules/mkdocs-material/default.nix
@@ -32,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-material";
-  version = "9.4.14";
+  version = "9.5.6";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = "squidfunk";
     repo = "mkdocs-material";
     rev = "refs/tags/${version}";
-    hash = "sha256-oP0DeSRgoLx6boEOa3if5BitGXmJ11DoUVZK16Sjlwg=";
+    hash = "sha256-t+kS/MZ6kfga+LPSBj0h+vkY/u/bd3iqRUyOHXfrwDU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix b/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
index 85687b1882ba..60fe20c468af 100644
--- a/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
+++ b/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-swagger-ui-tag";
-  version = "0.6.7";
+  version = "0.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Blueswen";
     repo = "mkdocs-swagger-ui-tag";
     rev = "refs/tags/v${version}";
-    hash = "sha256-lvE/mN56X2fx835GFNDYQc7ptxBYqwjrJ9Z6Flcvufg=";
+    hash = "sha256-TV7V1PttzyLeVQ/Ag/tMV2aqtCys1mlYpj6i0x+ko/w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix
index f41519c00112..deb54ab149be 100644
--- a/pkgs/development/python-modules/mpi4py/default.nix
+++ b/pkgs/development/python-modules/mpi4py/default.nix
@@ -25,11 +25,11 @@ buildPythonPackage rec {
   configurePhase = "";
 
   installPhase = ''
-    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
-    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+    mkdir -p "$out/${python.sitePackages}"
+    export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
 
     ${python}/bin/${python.executable} setup.py install \
-      --install-lib=$out/lib/${python.libPrefix}/site-packages \
+      --install-lib=$out/${python.sitePackages} \
       --prefix="$out"
 
     # --install-lib:
diff --git a/pkgs/development/python-modules/myjwt/default.nix b/pkgs/development/python-modules/myjwt/default.nix
index a54ab560a235..c310c7efe1a1 100644
--- a/pkgs/development/python-modules/myjwt/default.nix
+++ b/pkgs/development/python-modules/myjwt/default.nix
@@ -12,6 +12,7 @@
 , pytest-mock
 , pytestCheckHook
 , pythonOlder
+, pythonRelaxDepsHook
 , questionary
 , requests
 , requests-mock
@@ -20,7 +21,7 @@
 buildPythonPackage rec {
   pname = "myjwt";
   version = "1.6.1";
-  format = "pyproject";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -33,12 +34,17 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "1.6.0" "${version}" \
-      --replace 'cryptography = "^39.0.2"' 'cryptography = "^39.0.0"'
+      --replace-warn "1.6.0" "${version}"
   '';
 
+  pythonRelaxDeps = [
+    "cryptography"
+    "questionary"
+  ];
+
   nativeBuildInputs = [
     poetry-core
+    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy-boto3-builder/default.nix b/pkgs/development/python-modules/mypy-boto3-builder/default.nix
index 273da11049ad..a51b5df67c23 100644
--- a/pkgs/development/python-modules/mypy-boto3-builder/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-builder/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-builder";
-  version = "7.21.0";
+  version = "7.23.1";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "youtype";
     repo = "mypy_boto3_builder";
     rev = "refs/tags/${version}";
-    hash = "sha256-lj9Jkp1AGWIAdGzakpt0BMnmdwe1Uf04PI9sMfEBTbw=";
+    hash = "sha256-dbf2rHDQSeHEIN31yIm1142Z7AxTZzMf9FGvrWsJblA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/napari-npe2/default.nix b/pkgs/development/python-modules/napari-npe2/default.nix
index 64659858258b..95ae7bfb39bb 100644
--- a/pkgs/development/python-modules/napari-npe2/default.nix
+++ b/pkgs/development/python-modules/napari-npe2/default.nix
@@ -13,6 +13,7 @@
 , pyyaml
 , rich
 , typer
+, tomli-w
 }:
 
 buildPythonPackage rec {
@@ -46,6 +47,7 @@ buildPythonPackage rec {
     pyyaml
     rich
     typer
+    tomli-w
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/napari-svg/default.nix b/pkgs/development/python-modules/napari-svg/default.nix
index 9150abfb252b..3094327dd422 100644
--- a/pkgs/development/python-modules/napari-svg/default.nix
+++ b/pkgs/development/python-modules/napari-svg/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , imageio
 , napari-plugin-engine
+, numpy
 , pythonOlder
 , setuptools-scm
 , vispy
@@ -10,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "napari-svg";
-  version = "0.1.6";
-  format = "setuptools";
+  version = "0.1.10";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "napari";
-    repo = pname;
+    repo = "napari-svg";
     rev = "refs/tags/v${version}";
-    hash = "sha256-lvI6RWT9oUE95vL6WO75CASc/Z+1G5UMm2p8vhqIjA0=";
+    hash = "sha256-ywN9lUwBFW8zP7ivP7MNTYFbTCcmaZxAuKr056uY68Q=";
   };
 
   nativeBuildInputs = [
@@ -27,9 +28,10 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    vispy
-    napari-plugin-engine
     imageio
+    napari-plugin-engine
+    numpy
+    vispy
   ];
 
   # Circular dependency: napari
@@ -38,6 +40,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A plugin for writing svg files from napari";
     homepage = "https://github.com/napari/napari-svg";
+    changelog = "https://github.com/napari/napari-svg/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ SomeoneSerge ];
   };
diff --git a/pkgs/development/python-modules/neo4j/default.nix b/pkgs/development/python-modules/neo4j/default.nix
index 5215da38339c..4db2398c25b5 100644
--- a/pkgs/development/python-modules/neo4j/default.nix
+++ b/pkgs/development/python-modules/neo4j/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "neo4j";
-  version = "5.16.0";
+  version = "5.17.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "neo4j";
     repo = "neo4j-python-driver";
     rev = "refs/tags/${version}";
-    hash = "sha256-ly/R2ufd5gEkUyfajpeMQblTiKipC9HFtxkWkh16zLo=";
+    hash = "sha256-BZo4TzFrH1ATl09zRXy+1AFJSBopmByDHe7oITZy7pA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/niaarm/default.nix b/pkgs/development/python-modules/niaarm/default.nix
index 3b0399365613..e69bdd6169f7 100644
--- a/pkgs/development/python-modules/niaarm/default.nix
+++ b/pkgs/development/python-modules/niaarm/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "niaarm";
-  version = "0.3.5";
+  version = "0.3.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "firefly-cpp";
     repo = "NiaARM";
     rev = "refs/tags/${version}";
-    hash = "sha256-E5G1uVDSErqwxTBNQ7qselemW9A3W8sr3ExPEh+1les=";
+    hash = "sha256-DOTeo5ZPZQR56E78pAKQ3DXarIUHhxXoZu0fISDr6fw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/nibabel/default.nix b/pkgs/development/python-modules/nibabel/default.nix
index 34066a583646..3bccab344741 100644
--- a/pkgs/development/python-modules/nibabel/default.nix
+++ b/pkgs/development/python-modules/nibabel/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "nibabel";
-  version = "5.1.0";
-  format = "pyproject";
+  version = "5.2.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-znPKXpVyCechmiI8tx93I1yd8qz00/J/hhujjpSBrFM=";
+    hash = "sha256-Pfjxq5gdG9kvQzHVZVKNEmq5cX/b1M/mj0P80cK/P1I=";
   };
 
   nativeBuildInputs = [
@@ -77,13 +77,9 @@ buildPythonPackage rec {
     export PATH=$out/bin:$PATH
   '';
 
-  disabledTests = [
-    # https://github.com/nipy/nibabel/issues/951
-    "test_filenames"
-  ];
-
   meta = with lib; {
     homepage = "https://nipy.org/nibabel";
+    changelog = "https://github.com/nipy/nibabel/blob/${version}/Changelog";
     description = "Access a multitude of neuroimaging data formats";
     license = licenses.mit;
     maintainers = with maintainers; [ ashgillman ];
diff --git a/pkgs/development/python-modules/nipreps-versions/default.nix b/pkgs/development/python-modules/nipreps-versions/default.nix
new file mode 100644
index 000000000000..1c54ab9d905e
--- /dev/null
+++ b/pkgs/development/python-modules/nipreps-versions/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, flit-scm
+, packaging
+, setuptools-scm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "nipreps-versions";
+  version = "1.0.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "nipreps";
+    repo = "version-schemes";
+    rev = "refs/tags/${version}";
+    hash = "sha256-B2wtLurzgk59kTooH51a2dewK7aEyA0dAm64Wp+tqhM=";
+  };
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    flit-scm
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    packaging
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "nipreps_versions" ];
+
+  meta = with lib; {
+    description = "Setuptools_scm plugin for nipreps version schemes";
+    homepage = "https://github.com/nipreps/version-schemes";
+    changelog = "https://github.com/nipreps/version-schemes/blob/${src.rev}/CHANGES.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/niworkflows/default.nix b/pkgs/development/python-modules/niworkflows/default.nix
new file mode 100644
index 000000000000..494a834c937a
--- /dev/null
+++ b/pkgs/development/python-modules/niworkflows/default.nix
@@ -0,0 +1,101 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, hatch-vcs
+, hatchling
+, pytestCheckHook
+, attrs
+, importlib-resources
+, jinja2
+, looseversion
+, matplotlib
+, nibabel
+, nilearn
+, nipype
+, nitransforms
+, numpy
+, packaging
+, pandas
+, pybids
+, pyyaml
+, scikit-image
+, scipy
+, seaborn
+, svgutils
+, templateflow
+, traits
+, transforms3d
+}:
+
+buildPythonPackage rec {
+  pname = "niworkflows";
+  version = "1.10.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "nipreps";
+    repo = "niworkflows";
+    rev = "refs/tags/${version}";
+    hash = "sha256-wQPk9imDvomg+NTWk+VeW1TE2QlvMyi1YYVVaznhktU=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml --replace '"traits < 6.4"' '"traits"'
+  '';
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    importlib-resources
+    jinja2
+    looseversion
+    matplotlib
+    nibabel
+    nilearn
+    nipype
+    nitransforms
+    numpy
+    packaging
+    pandas
+    pybids
+    pyyaml
+    scikit-image
+    scipy
+    seaborn
+    svgutils
+    templateflow
+    traits
+    transforms3d
+  ];
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeCheckInputs = [ pytestCheckHook ];
+  preCheck = ''export HOME=$(mktemp -d)'';
+  pytestFlagsArray = [ "niworkflows" ];
+  # try to download data:
+  disabledTests = [
+    "test_GenerateCifti"
+    "ROIsPlot"
+    "ROIsPlot2"
+    "test_SimpleShowMaskRPT"
+    "test_cifti_surfaces_plot"
+    "niworkflows.utils.misc.get_template_specs"
+    "niworkflows.interfaces.cifti._prepare_cifti"
+  ];
+  disabledTestPaths = [ "niworkflows/tests/test_registration.py" ];
+
+  pythonImportsCheck = [ "niworkflows" ];
+
+  meta = with lib; {
+    description = "Common workflows for MRI (anatomical, functional, diffusion, etc.)";
+    homepage = "https://github.com/nipreps/niworkflows";
+    changelog = "https://github.com/nipreps/niworkflows/blob/${src.rev}/CHANGES.rst";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/nose2/default.nix b/pkgs/development/python-modules/nose2/default.nix
index 28dd8df3e263..de96b74709ed 100644
--- a/pkgs/development/python-modules/nose2/default.nix
+++ b/pkgs/development/python-modules/nose2/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "nose2";
-  version = "0.14.0";
+  version = "0.14.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XCjXcKC5pwKGK9bDdVuizS95lN1RjJguXOKY1/N0ZqQ=";
+    hash = "sha256-f48Dohyd4sMwFZM6/O9yv45KLV3+w7QAkih95uQbCTo=";
   };
 
   nativeBuildInputs = [
@@ -45,13 +45,8 @@ buildPythonPackage rec {
     unittestCheckHook
   ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
 
-  preCheck = ''
-    # https://github.com/nose-devs/nose2/issues/588
-    substituteInPlace nose2/tests/functional/test_junitxml_plugin.py \
-      --replace "test_skip_reason_in_message" "dont_test_skip_reason_in_message"
-  '';
-
   meta = with lib; {
+    changelog = "https://github.com/nose-devs/nose2/blob/${version}/docs/changelog.rst";
     description = "Test runner for Python";
     homepage = "https://github.com/nose-devs/nose2";
     license = licenses.bsd0;
diff --git a/pkgs/development/python-modules/oelint-parser/default.nix b/pkgs/development/python-modules/oelint-parser/default.nix
index 3b9afa0d6c93..c646e355cc0d 100644
--- a/pkgs/development/python-modules/oelint-parser/default.nix
+++ b/pkgs/development/python-modules/oelint-parser/default.nix
@@ -2,23 +2,27 @@
 , nix-update-script
 , fetchPypi
 , buildPythonPackage
+, deprecated
 , regex
 , pip
 }:
 
 buildPythonPackage rec {
   pname = "oelint-parser";
-  version = "2.13.11";
+  version = "3.0.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "oelint_parser";
-    hash = "sha256-Hr+2S4AGx0W+rrMFdAlN7/OcDTFYivZVYknD/sHWMDs=";
+    hash = "sha256-8Gagk3ijAlmIp0MQwuJ2REIUcoTlvdNcCK9k2RY8DOA=";
   };
 
   buildInputs = [ pip ];
-  propagatedBuildInputs = [ regex ];
+  propagatedBuildInputs = [
+    deprecated
+    regex
+  ];
   pythonImportsCheck = [ "oelint_parser" ];
 
   # Fail to run inside the code the build.
diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix
index f0f279701103..9093bfe73b5d 100644
--- a/pkgs/development/python-modules/openai/default.nix
+++ b/pkgs/development/python-modules/openai/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "openai";
-  version = "1.9.0";
+  version = "1.10.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7.1";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "openai";
     repo = "openai-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+3tCttKWbWt3Nsf5E6NWYt0yLRV0kfj7Qz6PhaOmBsY=";
+    hash = "sha256-VffgHJLsfnT3xqELV7Ze1o1rqohKxscC3SDthP8TwzI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/opower/default.nix b/pkgs/development/python-modules/opower/default.nix
index 9c35a3c5491f..6e5225d17337 100644
--- a/pkgs/development/python-modules/opower/default.nix
+++ b/pkgs/development/python-modules/opower/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "opower";
-  version = "0.2.0";
+  version = "0.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "tronikos";
     repo = "opower";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OT+QCbHQbL3vCfPuyzxBKqUJ2EtFn+PslrKGlrC6Ip8=";
+    hash = "sha256-YqNHjGJ0BkF8/1LVDqbw9QoJgPgwbA1sIPJUuP4TTJY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/oras/default.nix b/pkgs/development/python-modules/oras/default.nix
index 6dd42eeca3db..c43a92524e01 100644
--- a/pkgs/development/python-modules/oras/default.nix
+++ b/pkgs/development/python-modules/oras/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "oras";
-  version = "0.1.26";
+  version = "0.1.27";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "oras-project";
     repo = "oras-py";
     rev = "refs/tags/${version}";
-    hash = "sha256-t3098ZeAkwLhinyrFwmi7KKrFgZZKPN6qvp3REQNwG8=";
+    hash = "sha256-T2zuflew91UsEjhPKPjNxPBN+C//S1vWvXKVT602EVI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pglast/default.nix b/pkgs/development/python-modules/pglast/default.nix
index f3d86a0cac92..4a3e4794bd77 100644
--- a/pkgs/development/python-modules/pglast/default.nix
+++ b/pkgs/development/python-modules/pglast/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pglast";
-  version = "6.1";
+  version = "6.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XdQQsknvZ4Nlmlsh/Lnp0bGjaduqaoH8IKPTOqBWhrU=";
+    hash = "sha256-mGP7o52Wun6AdE2jMAJBmLR10EmN50qzbMzB06BFXMg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/plaid-python/default.nix b/pkgs/development/python-modules/plaid-python/default.nix
index 109b72039b1d..388688c19f97 100644
--- a/pkgs/development/python-modules/plaid-python/default.nix
+++ b/pkgs/development/python-modules/plaid-python/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "plaid-python";
-  version = "18.3.0";
+  version = "18.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0u1gj8ZpUL/eehsPNjq7JoDdVDDhlS9SGDw5xizxRlE=";
+    hash = "sha256-bspTjaTATICk58YHxnq2ZM1N5PNS2o0nVQDWUeUvVAc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pmdarima/default.nix b/pkgs/development/python-modules/pmdarima/default.nix
index f1d152decc1f..2ddb03b8afe1 100644
--- a/pkgs/development/python-modules/pmdarima/default.nix
+++ b/pkgs/development/python-modules/pmdarima/default.nix
@@ -43,7 +43,7 @@ buildPythonPackage rec {
   # Make sure we're running the tests for the actually installed
   # package, so that cython's compiled files are available.
   preCheck = ''
-    cd $out/lib/${python.libPrefix}/site-packages
+    cd $out/${python.sitePackages}
   '';
 
   nativeCheckInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/posthog/default.nix b/pkgs/development/python-modules/posthog/default.nix
index 8606a9834a25..82bb7ffd57e4 100644
--- a/pkgs/development/python-modules/posthog/default.nix
+++ b/pkgs/development/python-modules/posthog/default.nix
@@ -14,7 +14,7 @@
 }:
 let
   pname = "posthog";
-  version = "3.3.2";
+  version = "3.3.4";
 in
 buildPythonPackage {
   inherit pname version;
@@ -24,7 +24,7 @@ buildPythonPackage {
     owner = "PostHog";
     repo = "posthog-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7Bs0KDa799qt8sKwmj6oO0L/nWzczI+UXGWNXGv7B7s=";
+    hash = "sha256-xw6mbcEuW3bt5XmJ7ADE34Pm7MEOqJM08NBde8yqeBg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/preshed/default.nix b/pkgs/development/python-modules/preshed/default.nix
index 557045649425..e0d37c51a2b1 100644
--- a/pkgs/development/python-modules/preshed/default.nix
+++ b/pkgs/development/python-modules/preshed/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "preshed";
-  version = "4.0.0";
+  version = "3.0.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XisLKgfdGo3uqtZhIBmEXGAu4kkH9pNuqvF6q9VuVEw=";
+    hash = "sha256-chhjxSRP/NJlGtCSiVGix8d7EC9OEaJRrYXTfudiFmA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix
index 2b05786997ae..d456ac3fd96d 100644
--- a/pkgs/development/python-modules/publicsuffixlist/default.nix
+++ b/pkgs/development/python-modules/publicsuffixlist/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "publicsuffixlist";
-  version = "0.10.0.20240125";
+  version = "0.10.0.20240201";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lxyUgACsRULzQLNyU2TFrLdRzdSbQzvECTRaYQP8O04=";
+    hash = "sha256-8IAfr55UWsstyyoFr5KJWAtU1LnAguEAwUSWts/iK1o=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/py-sonic/default.nix b/pkgs/development/python-modules/py-sonic/default.nix
index ec0da2c3ab3b..826c23120ed9 100644
--- a/pkgs/development/python-modules/py-sonic/default.nix
+++ b/pkgs/development/python-modules/py-sonic/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "py-sonic";
-  version = "1.0.0";
+  version = "1.0.1";
   format = "setuptools";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9ho0F5kf74pCsLujwLt+pU+Ikxu70/kk+WP7lnD7CiE=";
+    hash = "sha256-DU1T86T0jQ6ptkWdjuV70VC8MFx/rK5aQFYjbK6F2Hk=";
   };
 
   # package has no tests
diff --git a/pkgs/development/python-modules/pycaption/default.nix b/pkgs/development/python-modules/pycaption/default.nix
index 7df7ed1f70ad..cfe2838db9ff 100644
--- a/pkgs/development/python-modules/pycaption/default.nix
+++ b/pkgs/development/python-modules/pycaption/default.nix
@@ -13,17 +13,17 @@
 
 buildPythonPackage rec {
   pname = "pycaption";
-  version = "2.2.1";
+  version = "2.2.2";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "pbs";
     repo = "pycaption";
-    rev = version;
-    hash = "sha256-IPCU9MsBY+Vsk6SrR9+3j4Izfhw5LeUrK0KUa3seSs4=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-6c16S77K1UC7+rz8tF0tLlBspienhDbgSXhdJzkQZII=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyenphase/default.nix b/pkgs/development/python-modules/pyenphase/default.nix
index 02c437298efc..4826806c19f1 100644
--- a/pkgs/development/python-modules/pyenphase/default.nix
+++ b/pkgs/development/python-modules/pyenphase/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pyenphase";
-  version = "1.18.0";
+  version = "1.19.0";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "pyenphase";
     repo = "pyenphase";
     rev = "refs/tags/v${version}";
-    hash = "sha256-lnxHWEQ9nVWT7dK0Vz7cCN/ur9C/RfzJDh6AYpFHJds=";
+    hash = "sha256-Wj2CkOvH5mS+DaIcbrqHjK+0mG3gfyF5M9tFImeJ/ko=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyformlang/default.nix b/pkgs/development/python-modules/pyformlang/default.nix
index d4a055d459cd..63bf98a0ea5f 100644
--- a/pkgs/development/python-modules/pyformlang/default.nix
+++ b/pkgs/development/python-modules/pyformlang/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "pyformlang";
-  version = "1.0.4";
+  version = "1.0.6";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ysX6c8q26bcQyq6GgKBKxTdp00j+4ypb3mgM2cqCmBs=";
+    hash = "sha256-LHQM+Vy8YVfTtpWaveYgBlp74AnS/IF3Y1EbgwVku7I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pygit2/default.nix b/pkgs/development/python-modules/pygit2/default.nix
index 50211bda6400..0a2e73c3c18e 100644
--- a/pkgs/development/python-modules/pygit2/default.nix
+++ b/pkgs/development/python-modules/pygit2/default.nix
@@ -10,24 +10,29 @@
 , pycparser
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pygit2";
-  version = "1.13.3";
-  format = "setuptools";
+  version = "1.14.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AlfGJgEeSvuZvbIIdUQ/cG+EIB1MkmN/AiFbmOrBPe0=";
+    hash = "sha256-9SntlmDtv5tiXMrn5RCY73NmLmFJZgkAl3LUYnqCaqg=";
   };
 
   preConfigure = lib.optionalString stdenv.isDarwin ''
     export DYLD_LIBRARY_PATH="${libgit2}/lib"
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   buildInputs = [
     libgit2
   ];
@@ -65,6 +70,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A set of Python bindings to the libgit2 shared library";
     homepage = "https://github.com/libgit2/pygit2";
+    changelog = "https://github.com/libgit2/pygit2/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/pygls/default.nix b/pkgs/development/python-modules/pygls/default.nix
index 9903e104034c..9c4d50843e22 100644
--- a/pkgs/development/python-modules/pygls/default.nix
+++ b/pkgs/development/python-modules/pygls/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pygls";
-  version = "1.2.1";
+  version = "1.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "openlawlibrary";
     repo = "pygls";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ARez9fs50kScfMp/W/aFIOcJonpFrcfyrzJuVwou7fk=";
+    hash = "sha256-6+SMlBTi+jw+bAUYqbaxXT5QygZFj4FeeEp6bch8M1s=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/pygmo/default.nix b/pkgs/development/python-modules/pygmo/default.nix
index 0ce6a2fd3f99..d311df0a4530 100644
--- a/pkgs/development/python-modules/pygmo/default.nix
+++ b/pkgs/development/python-modules/pygmo/default.nix
@@ -28,7 +28,7 @@ toPythonModule (stdenv.mkDerivation rec {
   };
 
   cmakeFlags = [
-    "-DPYGMO_INSTALL_PATH=${placeholder "out"}/lib/${python.libPrefix}/site-packages"
+    "-DPYGMO_INSTALL_PATH=${placeholder "out"}/${python.sitePackages}"
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pylgnetcast/default.nix b/pkgs/development/python-modules/pylgnetcast/default.nix
index 1e18c9f93aea..f4811bf02dfc 100644
--- a/pkgs/development/python-modules/pylgnetcast/default.nix
+++ b/pkgs/development/python-modules/pylgnetcast/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pylgnetcast";
-  version = "0.3.8";
+  version = "0.3.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "Drafteed";
     repo = "python-lgnetcast";
     rev = "refs/tags/v${version}";
-    hash = "sha256-UxZ4XM7n0Ryd4D967fXPTA4sqTrZwS8Tj/Q8kNGdk8Q=";
+    hash = "sha256-5lzLknuGLQryLCc4YQJn8AGuWTiSM90+8UTQ/WYfASM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pylutron-caseta/default.nix b/pkgs/development/python-modules/pylutron-caseta/default.nix
index e069e902687f..c95a36aa8eca 100644
--- a/pkgs/development/python-modules/pylutron-caseta/default.nix
+++ b/pkgs/development/python-modules/pylutron-caseta/default.nix
@@ -1,37 +1,50 @@
 { lib
 , async-timeout
 , buildPythonPackage
+, click
 , cryptography
 , fetchFromGitHub
+, hatchling
 , pytest-asyncio
 , pytest-timeout
 , pytestCheckHook
 , pythonOlder
-, setuptools
+, xdg
+, zeroconf
 }:
 
 buildPythonPackage rec {
   pname = "pylutron-caseta";
-  version = "0.18.3";
-  format = "pyproject";
+  version = "0.19.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "gurumitts";
-    repo = pname;
+    repo = "pylutron-caseta";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tjmMu7LUne+hLLTXGqHhci9/PZiuQ10mQaARvL2sdIM=";
+    hash = "sha256-/xTHtzXEFGL2/oP1oVxJj7GO3fSZ5CwjXDdp6OLhlzM=";
   };
 
   nativeBuildInputs = [
-    setuptools
+    hatchling
   ];
 
   propagatedBuildInputs = [
     cryptography
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    async-timeout
   ];
 
+  passthru.optional-dependencies = {
+    cli = [
+      click
+      xdg
+      zeroconf
+    ];
+  };
+
   nativeCheckInputs = [
     pytest-asyncio
     pytest-timeout
diff --git a/pkgs/development/python-modules/pylutron/default.nix b/pkgs/development/python-modules/pylutron/default.nix
index b55696d840f9..f217b46179f9 100644
--- a/pkgs/development/python-modules/pylutron/default.nix
+++ b/pkgs/development/python-modules/pylutron/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "pylutron";
-  version = "0.2.10";
+  version = "0.2.11";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-DKwjBQXC7O/8bFxq5shJJxRV3HYgBeS7tJXg4m3vQMY=";
+    hash = "sha256-9M7bCZD3zGZM62ID0yB/neKkF+6UW8x5m2y5vj/mYes=";
   };
 
   # Project has no tests
diff --git a/pkgs/development/python-modules/pymatting/01-kdtree-signature.patch b/pkgs/development/python-modules/pymatting/01-kdtree-signature.patch
deleted file mode 100644
index 2193b260aea1..000000000000
--- a/pkgs/development/python-modules/pymatting/01-kdtree-signature.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tests/test_kdtree.py b/tests/test_kdtree.py
-index 0110083..049fa07 100644
---- a/tests/test_kdtree.py
-+++ b/tests/test_kdtree.py
-@@ -23,7 +23,7 @@ def run_kdtree():
- 
-     tree = cKDTree(data_points)
- 
--    distances2, indices2 = tree.query(query_points, k=k, n_jobs=-1)
-+    distances2, indices2 = tree.query(query_points, k=k)
- 
-     t2 = time.perf_counter()
- 
diff --git a/pkgs/development/python-modules/pymatting/default.nix b/pkgs/development/python-modules/pymatting/default.nix
index 5e3b39dd523a..371a4a03c2f3 100644
--- a/pkgs/development/python-modules/pymatting/default.nix
+++ b/pkgs/development/python-modules/pymatting/default.nix
@@ -4,14 +4,15 @@
 , numba
 , numpy
 , pillow
-, scipy
 , pytestCheckHook
-,
+, scipy
+, setuptools
 }:
+
 buildPythonPackage rec {
   pname = "pymatting";
   version = "1.1.10";
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "pymatting";
@@ -20,7 +21,9 @@ buildPythonPackage rec {
     hash = "sha256-wHCTqcBvVN/pTXH3iW57DPpMEsnehutRQB5NaugS6Zs=";
   };
 
-  patches = [ ./01-kdtree-signature.patch ];
+  nativeBuildInputs = [
+    setuptools
+  ];
 
   propagatedBuildInputs = [
     numba
@@ -29,12 +32,14 @@ buildPythonPackage rec {
     scipy
   ];
 
-  pythonImportsCheck = [ "pymatting" ];
-
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "pymatting"
+  ];
+
   disabledTests = [
     # no access to input data set
     # see: https://github.com/pymatting/pymatting/blob/master/tests/download_images.py
diff --git a/pkgs/development/python-modules/pymilvus/default.nix b/pkgs/development/python-modules/pymilvus/default.nix
index c98654ef8732..e0a68e2a4385 100644
--- a/pkgs/development/python-modules/pymilvus/default.nix
+++ b/pkgs/development/python-modules/pymilvus/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "pymilvus";
-  version = "2.3.5";
+  version = "2.3.6";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "milvus-io";
     repo = "pymilvus";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OKvaJyy6v79wcE9T0v2KwOBKShhDE8g0adIWce0bESs=";
+    hash = "sha256-K7k3MTOEm9+HDwMps9C8Al0Jmp1ptJw3pN1LEBOUz0U=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/development/python-modules/pyngo/default.nix b/pkgs/development/python-modules/pyngo/default.nix
index 3616d5eaec6b..a52a09166c5e 100644
--- a/pkgs/development/python-modules/pyngo/default.nix
+++ b/pkgs/development/python-modules/pyngo/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "pyngo";
-  version = "2.0.0";
+  version = "2.0.1";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "yezz123";
     repo = "pyngo";
     rev = "refs/tags/${version}";
-    hash = "sha256-jHPZjS/J1VLpsLN2wg5UJCgavoSEs4Uogo4GI6bZMuY=";
+    hash = "sha256-wvy1L21AnQ4JP5seAh6DWksQU2OcbYTXKcixpFryH4w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pysnmplib/default.nix b/pkgs/development/python-modules/pysnmplib/default.nix
index 587bb4762716..abcbe70562de 100644
--- a/pkgs/development/python-modules/pysnmplib/default.nix
+++ b/pkgs/development/python-modules/pysnmplib/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pysnmplib";
-  version = "5.0.23";
+  version = "5.0.24";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "pysnmp";
     repo = "pysnmp";
     rev = "refs/tags/v${version}";
-    hash = "sha256-1h87fqaWMJN25SOD0xOkP3PFm1GPK99sT0o6ILCFVUI=";
+    hash = "sha256-AtQqXiy943cYhHDsyz9Yk5uA4xK7Q4p21CT3X3zYzrQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyspellchecker/default.nix b/pkgs/development/python-modules/pyspellchecker/default.nix
index 0a8b0162ad74..ee8d980c1bb0 100644
--- a/pkgs/development/python-modules/pyspellchecker/default.nix
+++ b/pkgs/development/python-modules/pyspellchecker/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pyspellchecker";
-  version = "0.7.3";
+  version = "0.8.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "barrust";
     repo = "pyspellchecker";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DUFJGO0Ncobr36k0hQRgeHf77Mds53JJHOMlf4/zfAI=";
+    hash = "sha256-8IwTMj/RqMc9UqhzyvmrirPGuMEwj3iMr+FmF+8312U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytedee-async/default.nix b/pkgs/development/python-modules/pytedee-async/default.nix
index 6269df577501..f4ce2c7bcd89 100644
--- a/pkgs/development/python-modules/pytedee-async/default.nix
+++ b/pkgs/development/python-modules/pytedee-async/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pytedee-async";
-  version = "0.2.12";
+  version = "0.2.13";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "zweckj";
     repo = "pytedee_async";
     rev = "refs/tags/v${version}";
-    hash = "sha256-eepN5Urr9fp1780iy3Z4sot+hXvMCxMGodYBdRdDj9Y=";
+    hash = "sha256-3W+eqkniDMoDKeute5w1QyklOc/aren/Q8txBEI/4ys=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-django/default.nix b/pkgs/development/python-modules/pytest-django/default.nix
index a9c8743badf8..531ad08dec46 100644
--- a/pkgs/development/python-modules/pytest-django/default.nix
+++ b/pkgs/development/python-modules/pytest-django/default.nix
@@ -7,7 +7,6 @@
 , django-configurations
 , pytest
 , pytestCheckHook
-, pytest-xdist
 }:
 buildPythonPackage rec {
   pname = "pytest-django";
@@ -35,7 +34,6 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     django-configurations
     pytestCheckHook
-    pytest-xdist
   ];
 
   preCheck = ''
@@ -51,6 +49,8 @@ buildPythonPackage rec {
     "test_settings_restored"
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   meta = with lib; {
     description = "py.test plugin for testing of Django applications";
     homepage = "https://pytest-django.readthedocs.org/en/latest/";
diff --git a/pkgs/development/python-modules/python-docs-theme/default.nix b/pkgs/development/python-modules/python-docs-theme/default.nix
index 464697c35bfa..270df8b2accf 100644
--- a/pkgs/development/python-modules/python-docs-theme/default.nix
+++ b/pkgs/development/python-modules/python-docs-theme/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "python-docs-theme";
-  version = "2023.9";
+  version = "2024.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "python";
     repo = "python-docs-theme";
     rev = "refs/tags/${version}";
-    hash = "sha256-XVwMEfprTNdNnaW38HMCAu4CswdVjBXYtNWBgqXfbno=";
+    hash = "sha256-nU8KQu89/xWvR6xoIOKsGrOqDjFhA3TgHROHfbAqCRU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-fsutil/default.nix b/pkgs/development/python-modules/python-fsutil/default.nix
index 0e362ea35f18..5a347071f620 100644
--- a/pkgs/development/python-modules/python-fsutil/default.nix
+++ b/pkgs/development/python-modules/python-fsutil/default.nix
@@ -4,22 +4,27 @@
 , pytestCheckHook
 , pythonOlder
 , requests
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "python-fsutil";
-  version = "0.13.0";
-  format = "setuptools";
+  version = "0.13.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "fabiocaccamo";
-    repo = pname;
+    repo = "python-fsutil";
     rev = "refs/tags/${version}";
-    hash = "sha256-RbpbFd+GqFPl88FqKvYEE6HcwFRzPDUTs3vMYM6x7es=";
+    hash = "sha256-yY8hhw6uNKqrcj0geoQeGN/JCDJVja7pCPUHwoViL64=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     requests
   ];
diff --git a/pkgs/development/python-modules/python-kasa/default.nix b/pkgs/development/python-modules/python-kasa/default.nix
index c61fcfac480b..fbba1227f8d0 100644
--- a/pkgs/development/python-modules/python-kasa/default.nix
+++ b/pkgs/development/python-modules/python-kasa/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "python-kasa";
-  version = "0.6.1";
+  version = "0.6.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "python-kasa";
     repo = "python-kasa";
     rev = "refs/tags/${version}";
-    hash = "sha256-kMhmnIwdVix9DgijTcNf5fsm4jiqygxjOvgGNOGN4O8=";
+    hash = "sha256-ka7fVveqX61XGmX43S/eB939dfqoEDh8eX1cw7hGE7U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytrafikverket/default.nix b/pkgs/development/python-modules/pytrafikverket/default.nix
index 9a60920dd7b8..d880602a5123 100644
--- a/pkgs/development/python-modules/pytrafikverket/default.nix
+++ b/pkgs/development/python-modules/pytrafikverket/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pytrafikverket";
-  version = "0.3.9.2";
+  version = "0.3.10";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NxxuyLnzJ8T2jaQ761O943rpBbNwp/F4PygyQULkXzw=";
+    hash = "sha256-B3K9wDFj7uSgs6BsJUnD6r2JVcH7u7UrbVXUTMGqmQE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/qcs-api-client/default.nix b/pkgs/development/python-modules/qcs-api-client/default.nix
index 0b38510d6603..60ed1433794a 100644
--- a/pkgs/development/python-modules/qcs-api-client/default.nix
+++ b/pkgs/development/python-modules/qcs-api-client/default.nix
@@ -6,7 +6,7 @@
 , httpx
 , iso8601
 , poetry-core
-, pydantic
+, pydantic_1
 , pyjwt
 , pytest-asyncio
 , pytestCheckHook
@@ -23,7 +23,7 @@
 buildPythonPackage rec {
   pname = "qcs-api-client";
   version = "0.23.1";
-  format = "pyproject";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -46,6 +46,7 @@ buildPythonPackage rec {
   pythonRelaxDeps = [
     "attrs"
     "httpx"
+    "iso8601"
   ];
 
   nativeBuildInputs = [
@@ -57,7 +58,7 @@ buildPythonPackage rec {
     attrs
     httpx
     iso8601
-    pydantic
+    pydantic_1
     pyjwt
     python-dateutil
     retrying
diff --git a/pkgs/development/python-modules/rdkit/default.nix b/pkgs/development/python-modules/rdkit/default.nix
index 7d0632ebc836..de0bb15b8ce2 100644
--- a/pkgs/development/python-modules/rdkit/default.nix
+++ b/pkgs/development/python-modules/rdkit/default.nix
@@ -141,7 +141,7 @@ buildPythonPackage rec {
   checkPhase = ''
     export QT_QPA_PLATFORM='offscreen'
     export RDBASE=$(realpath ..)
-    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+    export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
     (cd $RDBASE/rdkit/Chem && python $RDBASE/rdkit/TestRunner.py test_list.py)
   '';
 
diff --git a/pkgs/development/python-modules/recipe-scrapers/default.nix b/pkgs/development/python-modules/recipe-scrapers/default.nix
index 9ff74c48044b..30d0efc83432 100644
--- a/pkgs/development/python-modules/recipe-scrapers/default.nix
+++ b/pkgs/development/python-modules/recipe-scrapers/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "recipe-scrapers";
-  version = "14.53.0";
+  version = "14.54.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "hhursev";
     repo = "recipe-scrapers";
     rev = "refs/tags/${version}";
-    hash = "sha256-uYUzn3JlsZmzzbk740aD3PW3OuGqdsAfU7HlYX5kPrY=";
+    hash = "sha256-Q7ubT7SBHNxyvfqFhDmBjnW7ssoXBsMZR+eYg5CntHY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/reconplogger/default.nix b/pkgs/development/python-modules/reconplogger/default.nix
index e6791dddb1d6..29f3c8b649aa 100644
--- a/pkgs/development/python-modules/reconplogger/default.nix
+++ b/pkgs/development/python-modules/reconplogger/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "reconplogger";
-  version = "4.13.0";
+  version = "4.15.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "omni-us";
     repo = "reconplogger";
     rev = "refs/tags/v${version}";
-    hash = "sha256-eqo26u99nTO/8kgG9nqeVArWJiwP4wqkcisAju8vOPs=";
+    hash = "sha256-0+YOrMqyDK6uAni2h5b6P850veIkUiifX6aHzCnRHD0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/recursive-pth-loader/default.nix b/pkgs/development/python-modules/recursive-pth-loader/default.nix
index 499ad3c23d07..e42988eeff9a 100644
--- a/pkgs/development/python-modules/recursive-pth-loader/default.nix
+++ b/pkgs/development/python-modules/recursive-pth-loader/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   installPhase =
     ''
-      dst=$out/lib/${python.libPrefix}/site-packages
+      dst=$out/${python.sitePackages}
       mkdir -p $dst
       cp sitecustomize.* $dst/
     '';
diff --git a/pkgs/development/python-modules/regenmaschine/default.nix b/pkgs/development/python-modules/regenmaschine/default.nix
index e3fb2889470e..d76c06fe5d34 100644
--- a/pkgs/development/python-modules/regenmaschine/default.nix
+++ b/pkgs/development/python-modules/regenmaschine/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "regenmaschine";
-  version = "2023.12.0";
+  version = "2024.01.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = "regenmaschine";
     rev = "refs/tags/${version}";
-    hash = "sha256-9VBqLmbWJCrfDw9T1qmE9KkdlS+MDnvoG8O9dPCuJDs=";
+    hash = "sha256-Vd8ACF2AXbT7FE/b0koIPUrNd9DgmjgS5unBuRiq784=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/reptor/default.nix b/pkgs/development/python-modules/reptor/default.nix
index 94d3058a8a15..1f35854766f0 100644
--- a/pkgs/development/python-modules/reptor/default.nix
+++ b/pkgs/development/python-modules/reptor/default.nix
@@ -32,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "reptor";
-  version = "0.8";
+  version = "0.9";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = "Syslifters";
     repo = "reptor";
     rev = "refs/tags/${version}";
-    hash = "sha256-YnDAjbj3TTr+WajuW6Dq3f+fjeJxrWk7VNWKhh9O7Zw=";
+    hash = "sha256-CjTedIl7ZkSFfKKhHmCadTd7zdz3gP7Q4uCscv5An38=";
   };
 
   pythonRelaxDeps = true;
diff --git a/pkgs/development/python-modules/requests-pkcs12/default.nix b/pkgs/development/python-modules/requests-pkcs12/default.nix
index 4c939064d759..87f20922a712 100644
--- a/pkgs/development/python-modules/requests-pkcs12/default.nix
+++ b/pkgs/development/python-modules/requests-pkcs12/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "requests-pkcs12";
-  version = "1.22";
+  version = "1.24";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "m-click";
     repo = "requests_pkcs12";
     rev = version;
-    hash = "sha256-YMFeWbPTwxP/+lYojXEbJf87FNHL6QrzOdOKF5JERSE=";
+    hash = "sha256-JLFUdg7kbjhlpGgrQ29U1TRTKhjDlvMGc/FRE+awfLc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/rich-pixels/default.nix b/pkgs/development/python-modules/rich-pixels/default.nix
index a086065725b5..7b77e59b6c9f 100644
--- a/pkgs/development/python-modules/rich-pixels/default.nix
+++ b/pkgs/development/python-modules/rich-pixels/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , pytestCheckHook
 , syrupy
@@ -21,6 +22,14 @@ buildPythonPackage rec {
     hash = "sha256-fbpnHEfBPWLSYhgETqKbdmmzt7Lu/4oKgetjgNvv04c=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-version.patch";
+      url = "https://github.com/darrenburns/rich-pixels/commit/ff1cc3fef789321831f29e9bf282ae6b337eddb2.patch";
+      hash = "sha256-58ZHBNg1RCuOfuE034qF1SbAgoiWMNlSG3c5pCSLUyI=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
     pythonRelaxDepsHook
diff --git a/pkgs/development/python-modules/ring-doorbell/default.nix b/pkgs/development/python-modules/ring-doorbell/default.nix
index 8065fea978bf..7b0695eb928e 100644
--- a/pkgs/development/python-modules/ring-doorbell/default.nix
+++ b/pkgs/development/python-modules/ring-doorbell/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "ring-doorbell";
-  version = "0.8.5";
+  version = "0.8.6";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "ring_doorbell";
     inherit version;
-    hash = "sha256-WYoElfkq0/uK3GPcIwDUP9w8l5zN9G2X/KDJbJNse9s=";
+    hash = "sha256-sjGN1I/SeI5POkACYBcUA76Fyk7XJln7A6ofg11ygrw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/rmrl/default.nix b/pkgs/development/python-modules/rmrl/default.nix
index 48a33ca47cde..3b93126aa73c 100644
--- a/pkgs/development/python-modules/rmrl/default.nix
+++ b/pkgs/development/python-modules/rmrl/default.nix
@@ -3,8 +3,10 @@
 , pythonOlder
 , fetchFromGitHub
 , poetry-core
+, pythonRelaxDepsHook
 , pdfrw
 , reportlab
+, rmscene
 , setuptools
 , svglib
 , xdg
@@ -12,26 +14,34 @@
 
 buildPythonPackage rec {
   pname = "rmrl";
-  version = "unstable-2022-12-11";
+  version = "0.2.1-unstable-2023-06-1";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.10";
 
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchFromGitHub {
-    owner = "naturale0";
+    owner = "benneti";
     repo = "rmrl";
-    rev = "3c908536f11dfa92f81e7127ae76f18f0b2cc3e3";
-    hash = "sha256-13pMfRe2McWDpBTlJy/TBT0W5wyd0EXDoocxeIzmqCo=";
+    rev = "e6f20322c80c6551174da1826c78261dfb3b74fe";
+    hash = "sha256-jGWYrw6kcNSb4zhyCjap3l8+YCdOkk5kb5UCiBgW8u0=";
   };
 
   nativeBuildInputs = [
     poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "reportlab"
+    "rmscene"
+    "xdg"
   ];
 
   propagatedBuildInputs = [
     pdfrw
     reportlab
+    rmscene
     setuptools
     svglib
     xdg
@@ -44,7 +54,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "Render reMarkable documents to PDF";
-    homepage = "https://github.com/naturale0/rmrl";
+    homepage = "https://github.com/benneti/rmrl";
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/rmscene/default.nix b/pkgs/development/python-modules/rmscene/default.nix
new file mode 100644
index 000000000000..9e6bba74d05b
--- /dev/null
+++ b/pkgs/development/python-modules/rmscene/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, poetry-core
+, packaging
+, hypothesis
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "rmscene";
+  version = "0.5.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.10";
+
+  src = fetchFromGitHub {
+    owner = "ricklupton";
+    repo = "rmscene";
+    rev = "v${version}";
+    hash = "sha256-uIvoKdW7caOfc8OEGIcyDwyos9NLwtZ++CeZdUO/G8M=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    packaging
+  ];
+
+  pythonImportsCheck = [ "rmscene" ];
+
+  nativeCheckInputs = [
+    hypothesis
+    pytestCheckHook
+  ];
+
+  meta = {
+    changelog = "https://github.com/ricklupton/rmscene/blob/${src.rev}/README.md#changelog";
+    description = "Read v6 .rm files from the reMarkable tablet";
+    homepage = "https://github.com/ricklupton/rmscene";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/robotframework-databaselibrary/default.nix b/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
index d24bcf5bfc7a..39b45d5816bd 100644
--- a/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
+++ b/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
@@ -1,8 +1,10 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , setuptools
 , robotframework
+, robotframework-excellib
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -10,9 +12,11 @@ buildPythonPackage rec {
   version = "1.4.1";
   pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-/n4+xA/eLrcVEwlWyLQLrkX5waYaJKRkphwT22b7hTU=";
+  src = fetchFromGitHub {
+    owner = "MarketSquare";
+    repo = "Robotframework-Database-Library";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-BCVXmlrYOaG+Dh67OytUfQnJ9Ak3MtHR3swOXdAN/HU=";
   };
 
   nativeBuildInputs = [
@@ -22,14 +26,18 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     robotframework
+    robotframework-excellib
   ];
 
-  # unit tests are impure
-  doCheck = false;
+  pythonImportsCheck = [ "DatabaseLibrary" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "Database Library contains utilities meant for Robot Framework";
-    homepage = "https://github.com/franz-see/Robotframework-Database-Library";
+    homepage = "https://github.com/MarketSquare/Robotframework-Database-Library";
     license = licenses.asl20;
     maintainers = with maintainers; [ talkara ];
   };
diff --git a/pkgs/development/python-modules/robotframework-excellib/default.nix b/pkgs/development/python-modules/robotframework-excellib/default.nix
new file mode 100644
index 000000000000..550cc45e8ca3
--- /dev/null
+++ b/pkgs/development/python-modules/robotframework-excellib/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, openpyxl
+, robotframework
+}:
+
+buildPythonPackage rec {
+  pname = "robotframework-excellib";
+  version = "2.0.1";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-ZzAwlYM8DgWD1hfWRnY8u2RnZc3V368kgigBApeDZYg=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    openpyxl
+    robotframework
+  ];
+
+  pythonImportsCheck = [ "ExcelLibrary" ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  meta = {
+    description = "Robot Framework library for working with Excel documents";
+    homepage = "https://github.com/peterservice-rnd/robotframework-excellib";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix b/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
index d014d0441975..961d967b31e6 100644
--- a/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
+++ b/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
@@ -41,24 +41,9 @@ buildPythonPackage rec {
     robotstatuschecker
   ];
 
-  disabledTestPaths = [
-    # https://github.com/robotframework/SeleniumLibrary/issues/1804
-    "utest/test/keywords/test_webdrivercache.py"
-  ];
-
-  disabledTests = [
-    "test_create_opera_executable_path_not_set"
-    "test_create_opera_executable_path_set"
-    "test_create_opera_with_options"
-    "test_create_opera_with_service_log_path_real_path"
-    "test_get_executable_path"
-    "test_get_ff_profile_instance_FirefoxProfile"
-    "test_has_options"
-    "test_importer"
-    "test_log_file_with_index_exist"
-    "test_opera"
-    "test_single_method"
-  ];
+  preCheck = ''
+    mkdir utest/output_dir
+  '';
 
   meta = with lib; {
     changelog = "https://github.com/robotframework/SeleniumLibrary/blob/${src.rev}/docs/SeleniumLibrary-${version}.rst";
diff --git a/pkgs/development/python-modules/robotframework/default.nix b/pkgs/development/python-modules/robotframework/default.nix
index 31bd894f5c01..f87fe2bdd37a 100644
--- a/pkgs/development/python-modules/robotframework/default.nix
+++ b/pkgs/development/python-modules/robotframework/default.nix
@@ -1,24 +1,40 @@
-{ lib, fetchFromGitHub, buildPythonPackage, jsonschema }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, setuptools
+, jsonschema
+, python
+}:
 
 buildPythonPackage rec {
   pname = "robotframework";
-  version = "6.1.1";
-  format = "setuptools";
+  version = "7.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "robotframework";
+    repo = "robotframework";
     rev = "refs/tags/v${version}";
-    hash = "sha256-vtP0TVkCMrm0CRXlpZvVTBf7yd8+3p+nRArMWyQUn4k=";
+    hash = "sha256-IyOm2MTHj2rOew/IkyGIfI4XZSFU88+Tx8KHKIRT2G4=";
   };
 
-  nativeCheckInputs = [ jsonschema ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    jsonschema
+  ];
 
   checkPhase = ''
-    python3 utest/run.py
+    ${python.interpreter} utest/run.py
   '';
 
   meta = with lib; {
+    changelog = "https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-${version}.rst";
     description = "Generic test automation framework";
     homepage = "https://robotframework.org/";
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/robotstatuschecker/default.nix b/pkgs/development/python-modules/robotstatuschecker/default.nix
index ef338ef0d341..fb0d137c9b06 100644
--- a/pkgs/development/python-modules/robotstatuschecker/default.nix
+++ b/pkgs/development/python-modules/robotstatuschecker/default.nix
@@ -1,9 +1,15 @@
-{ lib, buildPythonPackage, fetchFromGitHub, python, robotframework }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, robotframework
+, python
+}:
 
 buildPythonPackage rec {
-  version = "3.0.1";
-  format = "setuptools";
   pname = "robotstatuschecker";
+  version = "3.0.1";
+  pyproject = true;
 
   # no tests included in PyPI tarball
   src = fetchFromGitHub {
@@ -13,10 +19,24 @@ buildPythonPackage rec {
     hash = "sha256-yW6353gDwo/IzoWOB8oelaS6IUbvTtwwDT05yD7w6UA=";
   };
 
+  postPatch = ''
+    # https://github.com/robotframework/statuschecker/issues/46
+    substituteInPlace test/tests.robot \
+      --replace-fail BuiltIn.Log Log
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [ robotframework ];
 
   checkPhase = ''
+    runHook preCheck
+
     ${python.interpreter} test/run.py
+
+    runHook postCheck
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/rokuecp/default.nix b/pkgs/development/python-modules/rokuecp/default.nix
index 34a5c17a4772..00f710060cc7 100644
--- a/pkgs/development/python-modules/rokuecp/default.nix
+++ b/pkgs/development/python-modules/rokuecp/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "rokuecp";
-  version = "0.18.2";
+  version = "0.19.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "ctalkington";
     repo = "python-rokuecp";
     rev = "refs/tags/${version}";
-    hash = "sha256-fgnR3TZh+cHvC8qJnvwfrrtxCdEr89Uw8ciACzaQPYE=";
+    hash = "sha256-e7BY0Y2SdAtECKqOCUZfq7PcCR2bhQ4lESQD9jTaqpI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/safetensors/default.nix b/pkgs/development/python-modules/safetensors/default.nix
index 976d6b9b3fa8..0aa729c20e54 100644
--- a/pkgs/development/python-modules/safetensors/default.nix
+++ b/pkgs/development/python-modules/safetensors/default.nix
@@ -16,22 +16,22 @@
 
 buildPythonPackage rec {
   pname = "safetensors";
-  version = "0.3.3";
-  format = "pyproject";
+  version = "0.4.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "huggingface";
-    repo = pname;
+    repo = "safetensors";
     rev = "refs/tags/v${version}";
-    hash = "sha256-U+indMoLFN6vMZkJTWFG08lsdXuK5gOfgaHmUVl6DPk=";
+    hash = "sha256-hdPUI8k7CCQwt2C/AsjUHRmAL6ob+yCN97KkWtqOQL8=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     sourceRoot = "${src.name}/bindings/python";
-    hash = "sha256-MhRs9tFCmVZI5O0EVRUbo4ZnUVRQ0EfQTU+E1K+qKZI=";
+    hash = "sha256-7n9aYlha6IaPsZ2zMfD5EIkrk8ENwMBwj41s6QU7ml0=";
   };
 
   sourceRoot = "${src.name}/bindings/python";
@@ -41,6 +41,7 @@ buildPythonPackage rec {
     cargo
     rustc
     rustPlatform.cargoSetupHook
+    rustPlatform.maturinBuildHook
   ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix
index f3bba5c1a12e..0710b82176e8 100644
--- a/pkgs/development/python-modules/sagemaker/default.nix
+++ b/pkgs/development/python-modules/sagemaker/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "sagemaker";
-  version = "2.204.0";
+  version = "2.206.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "sagemaker-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Bku13l4CPz1SYNpqnnteE97jX+X9sv6ea9X2tiZzeXY=";
+    hash = "sha256-aKLv8bXH1lq6yBeFsR2odtTo4sbaHlSyeSUnKdIzW9Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/scmrepo/default.nix b/pkgs/development/python-modules/scmrepo/default.nix
index 6faf74e51aa1..611949ae6515 100644
--- a/pkgs/development/python-modules/scmrepo/default.nix
+++ b/pkgs/development/python-modules/scmrepo/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "scmrepo";
-  version = "2.0.4";
+  version = "2.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-gBGfL6Xet7ASdwRTFJ5nHpyeXi/pqlrL9o5nC3m48hk=";
+    hash = "sha256-KG7Y+1qqsgDwgRYsb3XbZnF6FduHJCAEizfuugBi0Go=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/scs/default.nix b/pkgs/development/python-modules/scs/default.nix
index 5e95bed4cbdb..c1ca83ed4ba1 100644
--- a/pkgs/development/python-modules/scs/default.nix
+++ b/pkgs/development/python-modules/scs/default.nix
@@ -41,6 +41,13 @@ buildPythonPackage rec {
       url = "https://github.com/bodono/scs-python/commit/dd17e2e5282ebe85f2df8a7c6b25cfdeb894970d.patch";
       hash = "sha256-vSeSJeeu5Wx3RXPyB39YTo0RU8HtAojrUw85Q76/QzA=";
     })
+    # fix test_solve_random_cone_prob on linux after scipy 1.12 update
+    # https://github.com/bodono/scs-python/pull/82
+    (fetchpatch {
+      name = "scipy-1.12-fix.patch";
+      url = "https://github.com/bodono/scs-python/commit/4baf4effdc2ce7ac2dd1beaf864f1a5292eb06c6.patch";
+      hash = "sha256-U/F5MakwYZN5hCaeAkcCG38WQxX9mXy9OvhyEQqN038=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -62,12 +69,6 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [ pytestCheckHook ];
   pythonImportsCheck = [ "scs" ];
-  disabledTests = lib.lists.optional (stdenv.system == "x86_64-linux") [
-    # `test/test_scs_rand.py` hang on "x86_64-linux" (https://github.com/NixOS/nixpkgs/pull/244532#pullrequestreview-1598095858)
-    "test_feasible"
-    "test_infeasibl"
-    "test_unbounded"
-  ];
 
   meta = with lib; {
     description = "Python interface for SCS: Splitting Conic Solver";
diff --git a/pkgs/development/python-modules/seaborn/default.nix b/pkgs/development/python-modules/seaborn/default.nix
index fef58d973ccf..a296478b176c 100644
--- a/pkgs/development/python-modules/seaborn/default.nix
+++ b/pkgs/development/python-modules/seaborn/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "seaborn";
-  version = "0.13.0";
+  version = "0.13.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "mwaskom";
     repo = "seaborn";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RbtBNKTjUHdCFe1V7IvACgbSNIPhVFMYmtE34GKVIzs=";
+    hash = "sha256-aGIVcdG/XN999nYBHh3lJqGa3QVt0j8kmzaxdkULznY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/selenium/default.nix b/pkgs/development/python-modules/selenium/default.nix
index 5a5c4304c636..09ddebebe240 100644
--- a/pkgs/development/python-modules/selenium/default.nix
+++ b/pkgs/development/python-modules/selenium/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
   '';
 
   postInstall = ''
-    DST_PREFIX=$out/lib/${python.libPrefix}/site-packages/selenium/webdriver/
+    DST_PREFIX=$out/${python.sitePackages}/selenium/webdriver/
     DST_REMOTE=$DST_PREFIX/remote/
     DST_FF=$DST_PREFIX/firefox
     cp ../rb/lib/selenium/webdriver/atoms/getAttribute.js $DST_REMOTE
diff --git a/pkgs/development/python-modules/sharp-aquos-rc/default.nix b/pkgs/development/python-modules/sharp-aquos-rc/default.nix
new file mode 100644
index 000000000000..5dc7580467e8
--- /dev/null
+++ b/pkgs/development/python-modules/sharp-aquos-rc/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "sharp-aquos-rc";
+  version = "0.4";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "jmoore987";
+    repo = "sharp_aquos_rc";
+    rev = "refs/tags/${version}";
+    hash = "sha256-w/XA58iT/pmNCy9up5fayjxBsevzgr8ImKgPiNtYHAM=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [ pyyaml ];
+
+  # No tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "sharp_aquos_rc" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/jmoore987/sharp_aquos_rc";
+    description = "Control Sharp Aquos SmartTVs through the IP interface";
+    changelog = "https://github.com/jmoore987/sharp_aquos_rc/releases/tag/${version}";
+    maintainers = with maintainers; [ jamiemagee ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/snakemake-interface-common/default.nix b/pkgs/development/python-modules/snakemake-interface-common/default.nix
index a61aec87d0b6..e6580140c512 100644
--- a/pkgs/development/python-modules/snakemake-interface-common/default.nix
+++ b/pkgs/development/python-modules/snakemake-interface-common/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "snakemake-interface-common";
-  version = "1.15.1";
+  version = "1.15.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-7AWIYt9sz6+oHQ5ELpIJDTBWSwIpX3gJYgfgxMNHQ2k=";
+    hash = "sha256-f4C/g2h6W72q1XQMDm/RvnRcOSPWyEMuZXqkVEY7S70=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix b/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix
index dc7798015cb7..6b282371f22b 100644
--- a/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-confluencebuilder";
-  version = "2.3.0";
+  version = "2.4.0";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "sphinxcontrib_confluencebuilder";
     inherit version;
-    hash = "sha256-Zpe2n131afnq4IhQEEZtquvSEkkjv/uznXt2tQhGfZA=";
+    hash = "sha256-q3+GwMVWMRu4eWwbdXcbPQzpBhBXcZEMFTpbEO+teLk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/stdlibs/default.nix b/pkgs/development/python-modules/stdlibs/default.nix
index 443dc56aee11..677d282f0653 100644
--- a/pkgs/development/python-modules/stdlibs/default.nix
+++ b/pkgs/development/python-modules/stdlibs/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "stdlibs";
-  version = "2023.12.15";
+  version = "2024.1.28";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "omnilib";
     repo = "stdlibs";
     rev = "refs/tags/v${version}";
-    hash = "sha256-1Av10FNJkCC2XGNx1LDqd0GwiNPIDPXPFatW8+2XoaI=";
+    hash = "sha256-xf46ih7viVUKNIT1tLs5MQPNjNtQlQ2N9BJIGPt4Srk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/subarulink/default.nix b/pkgs/development/python-modules/subarulink/default.nix
index 603acb73884b..9eeb7e99aaa0 100644
--- a/pkgs/development/python-modules/subarulink/default.nix
+++ b/pkgs/development/python-modules/subarulink/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "subarulink";
-  version = "0.7.9";
+  version = "0.7.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "G-Two";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-dRhZWV58tHoGpJ2bDWFov1timTHYnqTPILySauutyzg=";
+    hash = "sha256-OKZ55J294I3wPo2vL+wuMMCA4N1ejgtquA8Bf7wPiIs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/svg-py/default.nix b/pkgs/development/python-modules/svg-py/default.nix
new file mode 100644
index 000000000000..f2971a0b4144
--- /dev/null
+++ b/pkgs/development/python-modules/svg-py/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flit-core
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "svg-py";
+  version = "1.4.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "orsinium-labs";
+    repo = "svg.py";
+    rev = "refs/tags/${version}";
+    hash = "sha256-GbXPDYDq6zlsPJ/PAjR6OvarVrp7x3LGhseyTMwY8Dg=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pyyaml
+  ];
+
+  pythonImportsCheck = [
+    "svg"
+  ];
+
+  disabledTestPaths = [
+    # Tests need additional files
+    "tests/test_attributes.py"
+  ];
+
+  meta = with lib; {
+    description = "Type-safe Python library to generate SVG files";
+    homepage = "https://github.com/orsinium-labs/svg.py";
+    changelog = "https://github.com/orsinium-labs/svg.py/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/svgutils/default.nix b/pkgs/development/python-modules/svgutils/default.nix
new file mode 100644
index 000000000000..ea2c7c547e43
--- /dev/null
+++ b/pkgs/development/python-modules/svgutils/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, lxml
+, matplotlib
+, pytestCheckHook
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "svgutils";
+  version = "0.3.4";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "btel";
+    repo = "svg_utils";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ITvZx+3HMbTyaRmCb7tR0LKqCxGjqDdV9/2taziUD0c=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [
+    lxml
+    matplotlib
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook nose ];
+
+  pythonImportsCheck = [ "svgutils" ];
+
+  meta = with lib; {
+    description = "Python tools to create and manipulate SVG files";
+    homepage = "https://github.com/btel/svg_utils";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/tables/default.nix b/pkgs/development/python-modules/tables/default.nix
index 56cb2898bf1f..70a6f86231e8 100644
--- a/pkgs/development/python-modules/tables/default.nix
+++ b/pkgs/development/python-modules/tables/default.nix
@@ -1,6 +1,5 @@
 { lib
 , fetchPypi
-, fetchpatch
 , buildPythonPackage
 , pythonOlder
 , blosc2
@@ -23,7 +22,7 @@
 buildPythonPackage rec {
   pname = "tables";
   version = "3.9.2";
-  pyproject = true;
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
@@ -32,20 +31,6 @@ buildPythonPackage rec {
     hash = "sha256-1HAmPC5QxLfIY1oNmawf8vnnBMJNceX6M8RSnn0K2cM=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "numpy-1.25-compatibility.patch";
-      url = "https://github.com/PyTables/PyTables/commit/337792561e5924124efd20d6fea6bbbd2428b2aa.patch";
-      hash = "sha256-pz3A/jTPWXXlzr+Yl5PRUvdSAinebFsoExfek4RUHkc=";
-    })
-    (fetchpatch {
-      name = "numexpr-2.8.5-compatibility.patch";
-      url = "https://github.com/PyTables/PyTables/commit/1a235490ebe1a138da1139cfa19829b5f0a2af37.patch";
-      includes = [ "tables/tests/test_queries.py" ];
-      hash = "sha256-uMS+Z2Zcz68ILMQaBdIDMnCyasozCaCGOiGIyw0+Evc=";
-    })
-  ];
-
   nativeBuildInputs = [
     blosc2
     cython
diff --git a/pkgs/development/python-modules/tcxreader/default.nix b/pkgs/development/python-modules/tcxreader/default.nix
index 1334708fc7f7..7509b02e94e2 100644
--- a/pkgs/development/python-modules/tcxreader/default.nix
+++ b/pkgs/development/python-modules/tcxreader/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "tcxreader";
-  version = "0.4.6";
+  version = "0.4.9";
   pyproject = true;
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "alenrajsp";
     repo = "tcxreader";
     rev = "refs/tags/v${version}";
-    hash = "sha256-J7yzJfJr2EK/0hZLVgk+Poqr/vY/9bsgA6cePTQ45U0=";
+    hash = "sha256-N/YsH1P8F9bSuzTgrYNU6xEO/yldXNIXMN0pQgIesfc=";
   };
 
   nativeBuildInputs = [
@@ -35,6 +35,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A reader for Garmin’s TCX file format";
     homepage = "https://github.com/alenrajsp/tcxreader";
+    changelog = "https://github.com/alenrajsp/tcxreader/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ firefly-cpp ];
   };
diff --git a/pkgs/development/python-modules/templateflow/default.nix b/pkgs/development/python-modules/templateflow/default.nix
new file mode 100644
index 000000000000..c879b7064d0f
--- /dev/null
+++ b/pkgs/development/python-modules/templateflow/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, setuptools-scm
+, nipreps-versions
+, pybids
+, requests
+, tqdm
+}:
+
+buildPythonPackage rec {
+  pname = "templateflow";
+  version = "23.1.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "templateflow";
+    repo = "python-client";
+    rev = "refs/tags/${version}";
+    hash = "sha256-8AdXC1IFGfYZ5cvCAyBz0tD3zia+KBILX0tL9IcO2NA=";
+  };
+
+  nativeBuildInputs = [ setuptools-scm ];
+  propagatedBuildInputs = [
+    nipreps-versions
+    pybids
+    requests
+    tqdm
+  ];
+
+  doCheck = false;  # most tests try to download data
+  #pythonImportsCheck = [ "templateflow" ];  # touches $HOME/.cache, hence needs https://github.com/NixOS/nixpkgs/pull/120300
+
+  meta = with lib; {
+    homepage = "https://templateflow.org/python-client";
+    description = "Python API to query TemplateFlow via pyBIDS";
+    changelog = "https://github.com/templateflow/python-client/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/tensordict/default.nix b/pkgs/development/python-modules/tensordict/default.nix
index c6a563bf55e5..1c5bad17e8a0 100644
--- a/pkgs/development/python-modules/tensordict/default.nix
+++ b/pkgs/development/python-modules/tensordict/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "tensordict";
-  version = "0.2.1";
+  version = "0.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "pytorch";
     repo = "tensordict";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+Osoz1632F/dEkG/o8RUqCIDok2Qc9Qdak+CCr9m26g=";
+    hash = "sha256-XTFUzPs/fqX3DPtu/qSE1hY+7r/HToPVPaTyVRzDT/E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/tesla-fleet-api/default.nix b/pkgs/development/python-modules/tesla-fleet-api/default.nix
new file mode 100644
index 000000000000..508e4f665975
--- /dev/null
+++ b/pkgs/development/python-modules/tesla-fleet-api/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pythonOlder
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "tesla-fleet-api";
+  version = "0.2.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.10";
+
+  src = fetchFromGitHub {
+    owner = "Teslemetry";
+    repo = "python-tesla-fleet-api";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-sijFbwHRgTQXurg0bl5vH8NIGb2pR9XIQod7PJ6/rvY=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Module has no tests
+  doCheck  =false;
+
+  pythonImportsCheck = [
+    "tesla_fleet_api"
+  ];
+
+  meta = with lib; {
+    description = "Python library for Tesla Fleet API and Teslemetry";
+    homepage = "https://github.com/Teslemetry/python-tesla-fleet-api";
+    changelog = "https://github.com/Teslemetry/python-tesla-fleet-api/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/tilequant/default.nix b/pkgs/development/python-modules/tilequant/default.nix
index fe4a748fa238..220f40354dcc 100644
--- a/pkgs/development/python-modules/tilequant/default.nix
+++ b/pkgs/development/python-modules/tilequant/default.nix
@@ -4,6 +4,7 @@
 , click
 , ordered-set
 , pythonOlder
+, pythonRelaxDepsHook
 , pillow
 , sortedcollections
 , setuptools_dso
@@ -21,6 +22,14 @@ buildPythonPackage rec {
     hash = "sha256-uW1g3nlT6Y+1beifo/MOlGxsGL7on/jcAROxSddySHk=";
   };
 
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "pillow"
+  ];
+
   propagatedBuildInputs = [
     click
     ordered-set
diff --git a/pkgs/development/python-modules/torchrl/default.nix b/pkgs/development/python-modules/torchrl/default.nix
index bbf1fccd76ba..371a178ab5c9 100644
--- a/pkgs/development/python-modules/torchrl/default.nix
+++ b/pkgs/development/python-modules/torchrl/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, fetchpatch
 , ninja
 , setuptools
 , wheel
@@ -32,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "torchrl";
-  version = "0.2.1";
+  version = "0.3.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -41,17 +40,9 @@ buildPythonPackage rec {
     owner = "pytorch";
     repo = "rl";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Y3WbSMGXS6fb4RyXk2SAKHT6RencGTZXM3tc65AQx74=";
+    hash = "sha256-ngl/gbNm+62W6UFNo8GOhSaIuK9FERDxGBCr++7B4gw=";
   };
 
-  patches = [
-    (fetchpatch {  # https://github.com/pytorch/rl/pull/1828
-      name = "pyproject.toml-remove-unknown-properties";
-      url = "https://github.com/pytorch/rl/commit/c390cf602fc79cb37d5f7bda6e44b5e9546ecda0.patch";
-      hash = "sha256-cUBBvKJ8vIHprcGzMojkUxcOrrmNPIoIBfLwHXWkjOc=";
-    })
-  ];
-
   nativeBuildInputs = [
     ninja
     setuptools
@@ -103,11 +94,6 @@ buildPythonPackage rec {
     rm -rf torchrl
 
     export XDG_RUNTIME_DIR=$(mktemp -d)
-  ''
-  # Otherwise, tochrl will try to use unpackaged torchsnapshot.
-  # TODO: This should be the default from next release so remove when updating from 0.2.1
-  + ''
-    export CKPT_BACKEND="torch"
   '';
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix
index 8b5e1f66b650..ea72ad9f0424 100644
--- a/pkgs/development/python-modules/transformers/default.nix
+++ b/pkgs/development/python-modules/transformers/default.nix
@@ -53,7 +53,7 @@
 
 buildPythonPackage rec {
   pname = "transformers";
-  version = "4.37.1";
+  version = "4.37.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -62,7 +62,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "transformers";
     rev = "refs/tags/v${version}";
-    hash = "sha256-1W6Ec3+zdv75qd6s6Ogy/wkAKc+lA0xjZNAcMo8Q3ns=";
+    hash = "sha256-O8A+6f6Qwr/OqwzA3i3MPCmcwg1BoQY6mvhozrLz16Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix
index 5e104532e267..83d14083f461 100644
--- a/pkgs/development/python-modules/trimesh/default.nix
+++ b/pkgs/development/python-modules/trimesh/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "4.0.10";
+  version = "4.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NuM7EUXl1QW0HyUPGAyeVDI5Dht4CMu/ufULKNW0bNw=";
+    hash = "sha256-ca0KytcPZaflr0eF/CRwbWSjmUzKNSbVkXLbQ1scHZ8=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/trytond/default.nix b/pkgs/development/python-modules/trytond/default.nix
index bb1835ff7b9b..f196b3a3d472 100644
--- a/pkgs/development/python-modules/trytond/default.nix
+++ b/pkgs/development/python-modules/trytond/default.nix
@@ -25,14 +25,14 @@
 
 buildPythonPackage rec {
   pname = "trytond";
-  version = "7.0.2";
+  version = "7.0.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/Xb6YOQ8nV+bXTdt/iAgYkBkmV6fRVFjR+86SfKU+aw=";
+    hash = "sha256-UTDONJrb28gnGkoV6Rb/2ChsgcLIxCmDhSd4gvFxq14=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-aiobotocore/default.nix b/pkgs/development/python-modules/types-aiobotocore/default.nix
index e149c276115f..8ead0699cd77 100644
--- a/pkgs/development/python-modules/types-aiobotocore/default.nix
+++ b/pkgs/development/python-modules/types-aiobotocore/default.nix
@@ -364,12 +364,12 @@
 
 buildPythonPackage rec {
   pname = "types-aiobotocore";
-  version = "2.11.0";
+  version = "2.11.1";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-gw6q/ht30klxav7Du4siFvAkU6Mx2VIzNyDbJzaK47Y=";
+    hash = "sha256-LsG7jHSIEk//iAiBD6SwL6JjlQSezBFGEzrxeYtPrkQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-awscrt/default.nix b/pkgs/development/python-modules/types-awscrt/default.nix
index 63fc7400878f..c2adf4dd7b7b 100644
--- a/pkgs/development/python-modules/types-awscrt/default.nix
+++ b/pkgs/development/python-modules/types-awscrt/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "types-awscrt";
-  version = "0.20.2";
+  version = "0.20.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "types_awscrt";
     inherit version;
-    hash = "sha256-XimYakrTlorD2CyqhdZo08ZiJMnueL4/5kvOMNrnt5g=";
+    hash = "sha256-BqhZGJoynKjmbVbO7vI5FIjjm4ePvSFB8RXqtNQW/iI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-docutils/default.nix b/pkgs/development/python-modules/types-docutils/default.nix
index 8ed9bc0c1998..13cd4f61f93c 100644
--- a/pkgs/development/python-modules/types-docutils/default.nix
+++ b/pkgs/development/python-modules/types-docutils/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-docutils";
-  version = "0.20.0.20240125";
+  version = "0.20.0.20240201";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-r3YOMR2Jrz+PtiVD6FCZ1v2dwDttGjva9mlXNnXVitg=";
+    hash = "sha256-ukv9T/bdGWQLp6tdk5ADk6ZYl4gPNlCZeWSpQ/Tnmms=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-markdown/default.nix b/pkgs/development/python-modules/types-markdown/default.nix
index 8b65e9c05945..e0b1301062a6 100644
--- a/pkgs/development/python-modules/types-markdown/default.nix
+++ b/pkgs/development/python-modules/types-markdown/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "types-markdown";
-  version = "3.5.0.20240106";
+  version = "3.5.0.20240129";
   pyproject = true;
 
   src = fetchPypi {
     pname = "types-Markdown";
     inherit version;
-    hash = "sha256-vkfTXL5h1Fi9F67BJ/HaIzzW7Zb6mhMccQN4pOiFcDA=";
+    hash = "sha256-ms02/vJk2e1aljRcRffYDw2WcFnpIhOZizBG+7ZPZ/w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-protobuf/default.nix b/pkgs/development/python-modules/types-protobuf/default.nix
index 841edf89f4c6..362681861f59 100644
--- a/pkgs/development/python-modules/types-protobuf/default.nix
+++ b/pkgs/development/python-modules/types-protobuf/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-protobuf";
-  version = "4.24.0.20240106";
+  version = "4.24.0.20240129";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Ak8DTzteK7K7/1XrxNWR7Q0igNkPrO7csUi55xSj8+4=";
+    hash = "sha256-ioPdO5t2oz4I2GNsXaohKs4TlkGO2Rg3Y1/NVkpiSJE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-pyopenssl/default.nix b/pkgs/development/python-modules/types-pyopenssl/default.nix
index 3af4ba92b01a..7a0a60049296 100644
--- a/pkgs/development/python-modules/types-pyopenssl/default.nix
+++ b/pkgs/development/python-modules/types-pyopenssl/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "types-pyopenssl";
-  version = "23.3.0.20240106";
+  version = "24.0.0.20240130";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "types-pyOpenSSL";
     inherit version;
-    hash = "sha256-PW80Yr7AwmDKrfk/uzdyJcEmZht3nH2auZttrVyhDbk=";
+    hash = "sha256-yBLlwcNSSfde9ZNXCLKpl9Yqv5dFviIuX5S5WVRyqyU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix
index 74ebca264a61..25538aa7c897 100644
--- a/pkgs/development/python-modules/types-requests/default.nix
+++ b/pkgs/development/python-modules/types-requests/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.31.0.20240106";
+  version = "2.31.0.20240125";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-DhxzHBfzNhjsWOAithShouzCX33IaACzbvNBOAQCxhI=";
+    hash = "sha256-A6KM4dfNVBmRSOBDsgec3e0i1nldGaLCpnkaSyteLrU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/types-setuptools/default.nix b/pkgs/development/python-modules/types-setuptools/default.nix
index d98aea408b94..0b7e0d91b2a6 100644
--- a/pkgs/development/python-modules/types-setuptools/default.nix
+++ b/pkgs/development/python-modules/types-setuptools/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-setuptools";
-  version = "68.2.0.2";
+  version = "69.0.0.20240115";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Ce/DgK1cf3jjC8oVRvcGRpVozyYITPq3Ps+D3qHShEY=";
+    hash = "sha256-GpyGOJn0DL4gU9DNHQDd7wMwtJIzVGfQGPc8H+yUYqM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/uamqp/default.nix b/pkgs/development/python-modules/uamqp/default.nix
index f8d4cc0b9dd9..68c72fe80fed 100644
--- a/pkgs/development/python-modules/uamqp/default.nix
+++ b/pkgs/development/python-modules/uamqp/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , cython
 , certifi
 , CFNetwork
@@ -17,26 +16,19 @@
 
 buildPythonPackage rec {
   pname = "uamqp";
-  version = "1.6.5";
+  version = "1.6.8";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-uamqp-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-q8FxM4PBXLD5q68nrUJ+TGkui1yQJ3HHNF7jn+e+HkA=";
+    hash = "sha256-L4E7nnsVZ/VrOM0t4KtztU9ALmtGfi1vDzUi0ogtZOc=";
   };
 
   patches = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
     ./darwin-azure-c-shared-utility-corefoundation.patch
   ] ++ [
-    (fetchpatch {
-      name = "CVE-2024-21646.patch";
-      url = "https://github.com/Azure/azure-uamqp-c/commit/12ddb3a31a5a97f55b06fa5d74c59a1d84ad78fe.patch";
-      stripLen = 1;
-      extraPrefix = "src/vendor/azure-uamqp-c/";
-      hash = "sha256-9o3TNKFeJvZRZeS6qo2Zl+JVFrrqAGYWDQbusz4Ou+g=";
-    })
     # Fix incompatible function pointer conversion error with clang 16.
     ./clang-fix-incompatible-function-pointer-conversion.patch
   ];
diff --git a/pkgs/development/python-modules/weaviate-client/default.nix b/pkgs/development/python-modules/weaviate-client/default.nix
index d73a8b282ce9..35a4c5527533 100644
--- a/pkgs/development/python-modules/weaviate-client/default.nix
+++ b/pkgs/development/python-modules/weaviate-client/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "weaviate-client";
-  version = "3.26.1";
+  version = "3.26.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7lWiY4cPnKwZ+9/QHg20RbPtGBEzHHWgJAdErUS4rZU=";
+    hash = "sha256-Y+xwg5tkkJgQpkqns+W4UIhGLpPH4u08MuvvtwLzZyM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix
index c79e41d82545..9128df5b033a 100644
--- a/pkgs/development/python-modules/xiaomi-ble/default.nix
+++ b/pkgs/development/python-modules/xiaomi-ble/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "xiaomi-ble";
-  version = "0.21.2";
+  version = "0.24.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-x9FQk3oGSxFrFj/F+QU9n7UMRTn0N4HsGonuNEEe9ug=";
+    hash = "sha256-G+8nLRunxS4+cId6jbWpzwULCsPNyX+iXiusmR8niVU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/yalexs/default.nix b/pkgs/development/python-modules/yalexs/default.nix
index 19d40b4f8051..7f7c86af09cb 100644
--- a/pkgs/development/python-modules/yalexs/default.nix
+++ b/pkgs/development/python-modules/yalexs/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yalexs";
-  version = "1.10.0";
+  version = "1.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-7LFKqC8IHzXKKU5Pw6Qud9jqJFc0lSEJFn636T6CsfQ=";
+    hash = "sha256-PQPcD2klwXA/7uH1RrdCd26WGaLpcchp7r1M1RXxQ9Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ytmusicapi/default.nix b/pkgs/development/python-modules/ytmusicapi/default.nix
index 56cc67ec5c06..a52954af91f2 100644
--- a/pkgs/development/python-modules/ytmusicapi/default.nix
+++ b/pkgs/development/python-modules/ytmusicapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "ytmusicapi";
-  version = "1.5.0";
+  version = "1.5.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "sigma67";
     repo = "ytmusicapi";
     rev = "refs/tags/${version}";
-    hash = "sha256-TlTCW9KeW9O00FzDiH8BXW/3795hsEUW1VXUy5qOk3w=";
+    hash = "sha256-9HpGmilaV5AhzN90/KLFpJjOZJMKS8SjuSE8cXLcBNA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zcbor/default.nix b/pkgs/development/python-modules/zcbor/default.nix
index 1525a7610c73..9bce9e925c1d 100644
--- a/pkgs/development/python-modules/zcbor/default.nix
+++ b/pkgs/development/python-modules/zcbor/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "zcbor";
-  version = "0.8.0";
+  version = "0.8.1";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-47HwITfFcHNze3tt4vJxHB4BQ7oyl17DM8IV0WomM5Q=";
+    hash = "sha256-U3Y/r3tBhzK6bGnMxdqKzS7bLHyAzgpGZ5PVK9pw7Pk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zigpy-znp/default.nix b/pkgs/development/python-modules/zigpy-znp/default.nix
index 94fa9cdb0d38..4378570f77f9 100644
--- a/pkgs/development/python-modules/zigpy-znp/default.nix
+++ b/pkgs/development/python-modules/zigpy-znp/default.nix
@@ -8,6 +8,7 @@
 , pytest-mock
 , pytest-rerunfailures
 , pytest-timeout
+, pytest-xdist
 , pytestCheckHook
 , pythonOlder
 , setuptools
@@ -53,6 +54,7 @@ buildPythonPackage rec {
     pytest-mock
     pytest-rerunfailures
     pytest-timeout
+    pytest-xdist
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python2-modules/pygtk/default.nix b/pkgs/development/python2-modules/pygtk/default.nix
index c3960dd5309d..003474ee8582 100644
--- a/pkgs/development/python2-modules/pygtk/default.nix
+++ b/pkgs/development/python2-modules/pygtk/default.nix
@@ -64,8 +64,8 @@ buildPythonPackage rec {
   postInstall = ''
     rm $out/bin/pygtk-codegen-2.0
     ln -s ${pygobject2}/bin/pygobject-codegen-2.0  $out/bin/pygtk-codegen-2.0
-    ln -s ${pygobject2}/lib/${python.libPrefix}/site-packages/pygobject-${pygobject2.version}.pth \
-                  $out/lib/${python.libPrefix}/site-packages/${pname}-${version}.pth
+    ln -s ${pygobject2}/${python.sitePackages}/pygobject-${pygobject2.version}.pth \
+                  $out/${python.sitePackages}/${pname}-${version}.pth
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 43d64f98639b..d39d0c5b8441 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -1304,7 +1304,7 @@ let
         substituteInPlace R/zzz.R \
           --replace ".onLoad <- function(...) {" \
             ".onLoad <- function(...) {
-          Sys.setenv(\"SPARK_HOME\" = Sys.getenv(\"SPARK_HOME\", unset = \"${pkgs.python3Packages.pyspark}/lib/${pkgs.python3Packages.python.libPrefix}/site-packages/pyspark\"))
+          Sys.setenv(\"SPARK_HOME\" = Sys.getenv(\"SPARK_HOME\", unset = \"${pkgs.python3Packages.pyspark}/${pkgs.python3Packages.python.sitePackages}/pyspark\"))
           Sys.setenv(\"JAVA_HOME\" = Sys.getenv(\"JAVA_HOME\", unset = \"${pkgs.jdk}\"))"
       '';
     });
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index 97715659be0d..a0f4effd1fbf 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -312,7 +312,9 @@ in
           cp -R ext/fast_mmaped_file_rs $out
         '';
       };
-      hash = "sha256-XuQZPbFWqPHlrJvllkvLl1FjKeoAUbi8oKDrS2rY1KM=";
+      hash = if lib.versionAtLeast attrs.version "1.1.0"
+        then "sha256-tSyoCEBtMMkFfPynaMx8oc9bO7I+Pf6Y/f3Ld8uwlEE="
+        else "sha256-XuQZPbFWqPHlrJvllkvLl1FjKeoAUbi8oKDrS2rY1KM=";
     };
     nativeBuildInputs = [
       cargo
@@ -320,10 +322,16 @@ in
       rustPlatform.cargoSetupHook
       rustPlatform.bindgenHook
     ];
+    disallowedReferences = [
+      rustc.unwrapped
+    ];
     preBuild = ''
       cat ../.cargo/config > ext/fast_mmaped_file_rs/.cargo/config.toml
       sed -i "s|cargo-vendor-dir|$PWD/../cargo-vendor-dir|" ext/fast_mmaped_file_rs/.cargo/config.toml
     '';
+    postInstall = ''
+      find $out -type f -name .rustc_info.json -delete
+    '';
   };
 
   glib2 = attrs: {
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 94eb10e0d103..fde655201a81 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "checkov";
-  version = "3.1.70";
+  version = "3.2.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = "checkov";
     rev = "refs/tags/${version}";
-    hash = "sha256-6HR6Hfv8dAo3/GT1OZQmH7yq4fY9Xi8SKkGUjG9914I=";
+    hash = "sha256-zrrWPe2rc9knv6PitDokDvXa23rPDt1nr3tqPqP/fYs=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix
index c55c8ed63133..10634622fe5e 100644
--- a/pkgs/development/tools/analysis/codeql/default.nix
+++ b/pkgs/development/tools/analysis/codeql/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.16.0";
+  version = "2.16.1";
 
   dontConfigure = true;
   dontBuild = true;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
-    hash = "sha256-1XqpERNM4rNyv9HT1jyZIqSkEDsajIJ9D0FzWcFm20c=";
+    hash = "sha256-y9tSG/SxCeyFdWF6gKuPSBgfG5H2uB/XRmQkfMBdKQU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index 0ff3e6ad1af6..1bf477cf3d16 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -20,7 +20,7 @@ let
     ppx_deriving_yojson
     ppx_import
     stdlib-shims
-    why3
+    why3.dev
     re
     result
     seq
diff --git a/pkgs/development/tools/analysis/snyk/default.nix b/pkgs/development/tools/analysis/snyk/default.nix
index 3d8a82b59b5b..c207b201d569 100644
--- a/pkgs/development/tools/analysis/snyk/default.nix
+++ b/pkgs/development/tools/analysis/snyk/default.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "snyk";
-  version = "1.1269.0";
+  version = "1.1274.0";
 
   src = fetchFromGitHub {
     owner = "snyk";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-jFaWkit96mIBCIYVOYoa5qNOP+fzmzwoi5bFgpi8JHM=";
+    hash = "sha256-cQIgHHulgjUxrl35dKEf7j9kZUp378rLmgwz4K8+Qy0=";
   };
 
-  npmDepsHash = "sha256-GCWpNFDfvpZrMLy8S7q1V0bzngL0fe0gZeMx+MbHOKU=";
+  npmDepsHash = "sha256-Ji7zbmPNsqeXsC+mnYnfKL7m7mkXRAcwlaP+M8wWrIo=";
 
   postPatch = ''
     substituteInPlace package.json --replace '"version": "1.0.0-monorepo"' '"version": "${version}"'
diff --git a/pkgs/development/tools/api-linter/default.nix b/pkgs/development/tools/api-linter/default.nix
index d1ce3fde4464..97bda5410596 100644
--- a/pkgs/development/tools/api-linter/default.nix
+++ b/pkgs/development/tools/api-linter/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "api-linter";
-  version = "1.63.2";
+  version = "1.63.3";
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "api-linter";
     rev = "v${version}";
-    hash = "sha256-xbYu/5E3rkH5VUuH0fCs2gfpWysDVABxY+pA4JkU5WY=";
+    hash = "sha256-mcmp3M9KhZp3j18jh+3v5fwPPLRs2hkrRUN3RM/zCmo=";
   };
 
-  vendorHash = "sha256-SDfErsM9wC1bGgBwcMRvjTOzqGNQ3kIQM7XeL4sLTC8=";
+  vendorHash = "sha256-/z2FqMyZnn2A5aajimTS2zw3A1v5v0uYZY81acuQOnw=";
 
   subPackages = [ "cmd/api-linter" ];
 
@@ -23,14 +23,6 @@ buildGoModule rec {
     "-w"
   ];
 
-  # reference: https://github.com/googleapis/api-linter/blob/v1.63.2/.github/workflows/release.yaml#L76
-  preBuild = ''
-    cat > cmd/api-linter/version.go <<EOF
-    package main
-    const version = "${version}"
-    EOF
-  '';
-
   meta = with lib; {
     description = "Linter for APIs defined in protocol buffers";
     homepage = "https://github.com/googleapis/api-linter/";
diff --git a/pkgs/development/tools/azcopy/default.nix b/pkgs/development/tools/azcopy/default.nix
index 17be1edca98f..ed7db536bd83 100644
--- a/pkgs/development/tools/azcopy/default.nix
+++ b/pkgs/development/tools/azcopy/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "azure-storage-azcopy";
-  version = "10.22.2";
+  version = "10.23.0";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-storage-azcopy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mC6iAsUmnJeVIJPkoI/pNN6mujALW9qvQ4M7Wk9eLnQ=";
+    hash = "sha256-Df45DHGA7EM4hx3iAmYNNUHjrUrkW6QniJkHaN7wNZM=";
   };
 
   subPackages = [ "." ];
diff --git a/pkgs/development/tools/bearer/default.nix b/pkgs/development/tools/bearer/default.nix
index ce9e365a6579..bc7412c1d72c 100644
--- a/pkgs/development/tools/bearer/default.nix
+++ b/pkgs/development/tools/bearer/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "bearer";
-  version = "1.36.0";
+  version = "1.37.0";
 
   src = fetchFromGitHub {
     owner = "bearer";
     repo = "bearer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-l5dGWr4oYD+Ado+KdCm+EmEhrkP3rJ9npudXEL9uY4c=";
+    hash = "sha256-b4EQAAPYMoL1MP5sVr3Fu0/znWxlVzpeGbghommCpUg=";
   };
 
-  vendorHash = "sha256-2/bg5RaT1ISYq5VjH5FrB7TThAb3UucAoFsPlkxaHVg=";
+  vendorHash = "sha256-jE1DUANd1PgSWbwz/PV1pIMgzvRm0ApaJaLCljMw4ig=";
 
   subPackages = [
     "cmd/bearer"
diff --git a/pkgs/development/tools/build-managers/gup/default.nix b/pkgs/development/tools/build-managers/gup/default.nix
index c051b34dea35..202fdf4d296f 100644
--- a/pkgs/development/tools/build-managers/gup/default.nix
+++ b/pkgs/development/tools/build-managers/gup/default.nix
@@ -1,18 +1,17 @@
 { stdenv, fetchFromGitHub, nix-update-source, lib, python3
-, which, runtimeShell, pychecker ? null }:
+, which, runtimeShell, pylint }:
 stdenv.mkDerivation rec {
-  version = "0.8.4";
+  version = "0.9.0";
   src = fetchFromGitHub {
     owner = "timbertson";
     repo = "gup";
     rev = "version-${version}";
-    sha256 = "0b8q9mrr7b9silwc4mp733j1z18g4lp6ppdi8p2rxzgb2fb4bkvp";
+    sha256 = "12ck047jminfwb4cfzmvfc9dpxg25xian11jgly534rlcbmgmkgq";
   };
   pname = "gup";
-  nativeBuildInputs = [ python3 which pychecker ];
+  nativeBuildInputs = [ python3 which pylint ];
   buildInputs = [ python3 ];
   strictDeps = true;
-  SKIP_PYCHECKER = pychecker == null;
   buildPhase = "make python";
   installPhase = ''
     mkdir $out
diff --git a/pkgs/development/tools/build-managers/moon/default.nix b/pkgs/development/tools/build-managers/moon/default.nix
index d437fe643b4e..b8dc4d27b2b9 100644
--- a/pkgs/development/tools/build-managers/moon/default.nix
+++ b/pkgs/development/tools/build-managers/moon/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "moon";
-  version = "1.19.3";
+  version = "1.20.1";
 
   src = fetchFromGitHub {
     owner = "moonrepo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-kv43d2KDYwMpyutqf4M/Z4fo1A3lwdwOOyxOQwM5vik=";
+    hash = "sha256-wAY5jifyjK5jp5nlrwt/Krp96in06SnayTKx8inrf0A=";
   };
 
-  cargoHash = "sha256-G8aT44K3HAfmOH6GltbZ91xQRqy79/bimu4cUlAZEDo=";
+  cargoHash = "sha256-qfDw+zmhk0M3gItiB7qfgiQCBRvOYBOirJFMyNRr714=";
 
   env = {
     RUSTFLAGS = "-C strip=symbols";
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index 81d00d6304e0..f67dba03c365 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -17,13 +17,13 @@
 
 buildGoModule rec {
   pname = "buildah";
-  version = "1.33.2";
+  version = "1.34.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    hash = "sha256-jkUEGaECBNidKreoyezWw7LN38uHqyYo40dOwfuuuI4=";
+    hash = "sha256-LX7yc2FnCiquHV/tESJV/VkuUYXbRNSxmMzVpSz/F8w=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/buildkit/default.nix b/pkgs/development/tools/buildkit/default.nix
index 8898ff89f371..19f418b543a1 100644
--- a/pkgs/development/tools/buildkit/default.nix
+++ b/pkgs/development/tools/buildkit/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "buildkit";
-  version = "0.12.4";
+  version = "0.12.5";
 
   src = fetchFromGitHub {
     owner = "moby";
     repo = "buildkit";
     rev = "v${version}";
-    hash = "sha256-nQvrd2W9xWWGTlwN5Q2E3rs67OUxZ4bIp+rK2W2PUww=";
+    hash = "sha256-LESaOrUxV/BHGW9JSZfTXpbedp1aegPFWu9/tRx2ArM=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/capnproto-java/default.nix b/pkgs/development/tools/capnproto-java/default.nix
index cbda8c2cc97e..b96aa44a779c 100644
--- a/pkgs/development/tools/capnproto-java/default.nix
+++ b/pkgs/development/tools/capnproto-java/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "capnproto-java";
-  version = "0.1.15";
+  version = "0.1.16";
 
   src = fetchFromGitHub {
     owner = "capnproto";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256:IcmzI1G0mXOlpzmiyeLD7o1p/eOeVpwkiGsgy5OIjxw=";
+    hash = "sha256-7uYtRHKsJvbE1b0HbNXGbRXpkUHHLjMDIWLlOUcQWDk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/tools/check-jsonschema/default.nix b/pkgs/development/tools/check-jsonschema/default.nix
index 3731e3e7e5f3..3591e5a2515f 100644
--- a/pkgs/development/tools/check-jsonschema/default.nix
+++ b/pkgs/development/tools/check-jsonschema/default.nix
@@ -4,7 +4,7 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "check-jsonschema";
-  version = "0.27.3";
+  version = "0.27.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -12,8 +12,8 @@ buildPythonApplication rec {
   src = fetchFromGitHub {
     owner = "python-jsonschema";
     repo = "check-jsonschema";
-    rev = version;
-    hash = "sha256-WXvhlkU1dRNKhW3sMakd644W56xv8keMjSZL4MrQEc8=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-xOLS2AQlVrL9b7VVCbnDyjHhQYmcD2DvPmEs+nn7Gm4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/tools/cloudsmith-cli/default.nix b/pkgs/development/tools/cloudsmith-cli/default.nix
index ee3cd5ac33a3..48952c0616fb 100644
--- a/pkgs/development/tools/cloudsmith-cli/default.nix
+++ b/pkgs/development/tools/cloudsmith-cli/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cloudsmith-cli";
-  version = "0.35.2";
+  version = "1.1.1";
   format = "wheel";
 
   src = fetchPypi {
     pname = "cloudsmith_cli";
     inherit format version;
-    hash = "sha256-+M4CPveS9dltMI291Atm84T/cf4dPOO3wPvPI15E73Y=";
+    hash = "sha256-evwXXGmGa6V2LhgkmX04E5VvdPxeZzvl4F28auXcSng=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/continuous-integration/buildbot/master.nix b/pkgs/development/tools/continuous-integration/buildbot/master.nix
index d57e11fb07ab..d2554713109c 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/master.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/master.nix
@@ -70,14 +70,14 @@ let
 
   package = buildPythonApplication rec {
     pname = "buildbot";
-    version = "3.10.1";
+    version = "3.11.0";
     format = "pyproject";
 
     disabled = pythonOlder "3.8";
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-/J4jWoIZEObSZKw04Ib6h4AvJtfNwzwozRu+gFek1Dk=";
+      hash = "sha256-0TW14K0Cp3Ylk+JDNV9x7a8Ul7EC5FTTVvSGccXv6JU=";
     };
 
     propagatedBuildInputs = [
diff --git a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
index 88b03f46a362..80c417066428 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix
@@ -6,7 +6,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6lJW1XNwKXeTTn0jDOIsVHUrmxSWc4iK3gINvTFX2XU=";
+    hash = "sha256-ImXiBIFSj0of2SFX01sXB5BI4TYA2IAGmfPofC8ERZQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
index 5e9f056f3708..4d2253c54d61 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix
@@ -8,7 +8,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-W0NRRS0z02/31eyqVRGJUZlUaI77I9WuAI3d3FlWHOQ=";
+      hash = "sha256-bu22WXJ2yBGe89GL3RBxkUN/yPu2GEYURk6C+2LIpns=";
     };
 
     # Remove unnecessary circular dependency on buildbot
@@ -35,7 +35,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-NfpgTZ0+sP2U8rkf+C4WTpXKVBvO8T+ijs8xIPe49tA=";
+      hash = "sha256-WDtw4wSAPsmIRcoZS1PIRzQR4OJnHVyc19Q7MnU5VSs=";
     };
 
     # Remove unnecessary circular dependency on buildbot
@@ -62,7 +62,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-ykzzvsxP8e0TIHnZJPSnFJoZNNZDvbZ7vZ6hCZyd0iA=";
+      hash = "sha256-HGlKu9ptej35GJYBBWted/YtsH/uigckAoFAjYTh3gY=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -84,7 +84,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-U0j/ovoP3A83BzQWF4dtwisJxs00mZz0yyT12mlxfGo=";
+      hash = "sha256-oFbR4NvI/6oPXY8TospkHS1j/5KzXd1fguazFtDPIko=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -106,7 +106,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-cu0+66DHf8Hfvfx/IvVyexwl3I0MmLjJrNDBPLxo7Bg=";
+      hash = "sha256-O4scYAKpoEOXsPIodkKUrfwCGNYHlOGfvDnguaM12U0=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -128,7 +128,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-vt7ea0IWIKn4i8sBUUMsoOMi1gPzzFssQ6wORDClJqs=";
+      hash = "sha256-DlYqK32lVdZ8qby/1+JCo6m81/0dsxqiAfWMIZ1OAPQ=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -150,7 +150,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-Fd8r2+jV4YSuYu6zUl0fDjEdUGkzuHckR+PTSEyoXio=";
+      hash = "sha256-cK+uZU7rG423IT8xvwrpMPiUXfu1oPpGB5onmWNK4fs=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -172,7 +172,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-Q8gwqUfMy+D9dPBSw60BhNV12iu9mjhc7KXKYjtO23s=";
+      hash = "sha256-Gbc0T1fsmke1pO/LiXCzQYrjWzYG1WhHZgypLyzhfok=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -194,7 +194,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-LzsdHTABtHJzEfkyJ6LbmLE0QmKA3DVjY8VP90O3jT4=";
+      hash = "sha256-eFfOYhKw575VWlwD5dKRnqjSUV6kdPrv3UXBs/3AREo=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -210,13 +210,35 @@
     };
   };
 
+  react-wsgi-dashboards = buildPythonPackage rec {
+    pname = "buildbot-react-wsgi-dashboards";
+    inherit (buildbot-pkg) version;
+
+    src = fetchPypi {
+      inherit pname version;
+      hash = "sha256-0CCD1Zrj1xodUITvLzTDrLgLGaEVqt8y26f+exsP4N8=";
+    };
+
+    buildInputs = [ buildbot-pkg ];
+
+    # tests fail
+    doCheck = false;
+
+    meta = with lib; {
+      homepage = "https://buildbot.net/";
+      description = "Buildbot WSGI dashboards Plugin (React)";
+      maintainers = teams.buildbot.members;
+      license = licenses.gpl2;
+    };
+  };
+
   badges = buildPythonPackage rec {
     pname = "buildbot-badges";
     inherit (buildbot-pkg) version;
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-tVMXGYTZlkchfeEcHh3B/wGEZb8xUemtnbFzX65tvb8=";
+      hash = "sha256-FNMspluhQlGgQ4X7gJisakHTTmn/5PtQ+obK26PrXdg=";
     };
 
     buildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/tools/continuous-integration/buildbot/worker.nix b/pkgs/development/tools/continuous-integration/buildbot/worker.nix
index c87b8db563c9..eb613858f463 100644
--- a/pkgs/development/tools/continuous-integration/buildbot/worker.nix
+++ b/pkgs/development/tools/continuous-integration/buildbot/worker.nix
@@ -28,7 +28,7 @@ buildPythonPackage (rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jihAPEzeegUEa/BZ93De7728IXjL7BkrwfPk5G6rnUw=";
+    hash = "sha256-7zpf1Xl5dYPJk8V5PQCx/v+sE9kH23UWM9QbE0fH4tA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
index 2a08b991a102..4972f2cd90b1 100644
--- a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
+++ b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "cirrus-cli";
-  version = "0.108.5";
+  version = "0.110.0";
 
   src = fetchFromGitHub {
     owner = "cirruslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+2rrKty5XLf8AYXAMI/7ngf5SPqD62ELBcA67sETpOI=";
+    sha256 = "sha256-5BMaOuiXz8SMfaB7qFvCyboGFKxzenkEVwj25Qh4MKw=";
   };
 
-  vendorHash = "sha256-AGg6R2TUKW2yU0O8QXrK6r37HKl2HQ+YOJjBkMmHVgM=";
+  vendorHash = "sha256-xJnBMSfYwx6uHuMjyR9IWGHwt3fNajDr6DW8o+J+lj8=";
 
   ldflags = [
     "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
diff --git a/pkgs/development/tools/continuous-integration/fly/default.nix b/pkgs/development/tools/continuous-integration/fly/default.nix
index 55df9269f927..8c07f2ebb910 100644
--- a/pkgs/development/tools/continuous-integration/fly/default.nix
+++ b/pkgs/development/tools/continuous-integration/fly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fly";
-  version = "7.11.0";
+  version = "7.11.1";
 
   src = fetchFromGitHub {
     owner = "concourse";
     repo = "concourse";
     rev = "v${version}";
-    hash = "sha256-lp6EXdwmgmjhFxRQXn2P4iRrtJS1QTvg4225V/6E7MI=";
+    hash = "sha256-zbE81vsO3rhXrPGL11lBqg3lryndaHEbW+CBxP6PlPA=";
   };
 
-  vendorHash = "sha256-p3EhXrRjAFG7Ayfj/ArAWO7KL3S/iR/nwFwXcDc+DSs=";
+  vendorHash = "sha256-Os76Kim+qznVtSY+GF3jgKz7Vmf7mRTcjZ6v8NnFY2U=";
 
   subPackages = [ "fly" ];
 
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 0298fe20055a..e88c92d83b0d 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.426.2";
+  version = "2.426.3";
 
   src = fetchurl {
     url = "https://get.jenkins.io/war-stable/${version}/jenkins.war";
-    hash = "sha256-NzG59Elz+78+U1+YqAwhqtlxnLTuqKHlnpdMEf6EaEg=";
+    hash = "sha256-q0OSQ6agfi54/nw0CMWWCfe+O/JolHrCFGV6+Wq60QY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix b/pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix
index a3f27e533e7d..c05800237637 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "woodpecker-plugin-git";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "woodpecker-ci";
     repo = "plugin-git";
     rev = "refs/tags/${version}";
-    hash = "sha256-9aK6c2uUBhTzBni6S4XwevdVRxswiMYGJKwmKOGHIbg=";
+    hash = "sha256-vQcHEsOJFMbrt5KpoHB59g5gIxwXQuJpudhu2qbgCY8=";
   };
 
-  vendorHash = "sha256-ol5k37gGFsyeEnGOVcJaerkIejShHyNCBu4RZ8WyHvU=";
+  vendorHash = "sha256-nPeF6Z+d69o1JwCUlzVREx8DyIqokHIfTRC1/S5XG6A=";
 
   CGO_ENABLED = "0";
 
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/common.nix b/pkgs/development/tools/continuous-integration/woodpecker/common.nix
index cdb54fa07f71..bad183d98125 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/common.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/common.nix
@@ -1,18 +1,17 @@
-{ lib, fetchFromGitHub }:
+{ lib, fetchzip }:
 let
-  version = "1.0.5";
-  srcHash = "sha256-tkgkhYuLHfmT42P+UMZ7uNB2wBKo0YGiw0a5RoMAu6M=";
-  vendorHash = "sha256-QTTnTPOgP+FlbqXNCGJc9VuBzQcMujpvFB3+DykYTPY=";
-  yarnHash = "sha256-TrcTc5svLLSedRC8gCwIBW7/mtHo+uSNZGImtRiVJ0w=";
+  version = "2.3.0";
+  srcHash = "sha256-r5TV5WJW2klSlrOG6EjfUgLyHhMI+BMUTY/2JIUgd0Q=";
+  # The tarball contains vendored dependencies
+  vendorHash = null;
 in
 {
-  inherit version yarnHash vendorHash;
+  inherit version vendorHash;
 
-  src = fetchFromGitHub {
-    owner = "woodpecker-ci";
-    repo = "woodpecker";
-    rev = "v${version}";
+  src = fetchzip {
+    url = "https://github.com/woodpecker-ci/woodpecker/releases/download/v${version}/woodpecker-src.tar.gz";
     hash = srcHash;
+    stripRoot = false;
   };
 
   postInstall = ''
@@ -26,7 +25,7 @@ in
   ldflags = [
     "-s"
     "-w"
-    "-X github.com/woodpecker-ci/woodpecker/version.Version=${version}"
+    "-X go.woodpecker-ci.org/woodpecker/v2/version.Version=${version}"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix b/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix
deleted file mode 100644
index 01767d6fe00e..000000000000
--- a/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ lib, buildPackages, callPackage, fetchFromGitHub, fetchYarnDeps, mkYarnPackage }:
-let
-  common = callPackage ./common.nix { };
-
-  esbuild_0_17_19 = buildPackages.esbuild.overrideAttrs (_: rec {
-    version = "0.17.19";
-
-    src = fetchFromGitHub {
-      owner = "evanw";
-      repo = "esbuild";
-      rev = "v${version}";
-      hash = "sha256-PLC7OJLSOiDq4OjvrdfCawZPfbfuZix4Waopzrj8qsU=";
-    };
-
-    vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
-  });
-in
-mkYarnPackage {
-  pname = "woodpecker-frontend";
-  inherit (common) version;
-
-  src = "${common.src}/web";
-
-  packageJSON = ./woodpecker-package.json;
-  yarnLock = ./yarn.lock;
-
-  offlineCache = fetchYarnDeps {
-    yarnLock = ./yarn.lock;
-    hash = common.yarnHash;
-  };
-
-  ESBUILD_BINARY_PATH = lib.getExe esbuild_0_17_19;
-
-  buildPhase = ''
-    runHook preBuild
-
-    yarn --offline build
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    cp -R deps/woodpecker-ci/dist $out
-    echo "${common.version}" > "$out/version"
-
-    runHook postInstall
-  '';
-
-  # Do not attempt generating a tarball for woodpecker-frontend again.
-  doDist = false;
-
-  meta = common.meta // {
-    description = "Woodpecker Continuous Integration server frontend";
-  };
-}
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/server.nix b/pkgs/development/tools/continuous-integration/woodpecker/server.nix
index 874949dff2f4..fb232a19ba2e 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/server.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/server.nix
@@ -1,4 +1,4 @@
-{ buildGoModule, callPackage, woodpecker-frontend }:
+{ buildGoModule, callPackage }:
 let
   common = callPackage ./common.nix { };
 in
@@ -6,17 +6,11 @@ buildGoModule {
   pname = "woodpecker-server";
   inherit (common) version src ldflags postInstall vendorHash;
 
-  postPatch = ''
-    cp -r ${woodpecker-frontend} web/dist
-  '';
-
   subPackages = "cmd/server";
 
   CGO_ENABLED = 1;
 
   passthru = {
-    inherit woodpecker-frontend;
-
     updateScript = ./update.sh;
   };
 
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/update.sh b/pkgs/development/tools/continuous-integration/woodpecker/update.sh
index bfe948e8f507..4ee52f9aded2 100755
--- a/pkgs/development/tools/continuous-integration/woodpecker/update.sh
+++ b/pkgs/development/tools/continuous-integration/woodpecker/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github jq nix-prefetch pnpm-lock-export
+#!nix-shell -i bash -p nix wget jq nix-prefetch
 
 # shellcheck shell=bash
 
@@ -26,28 +26,9 @@ fi
 
 # strip leading "v"
 version="${version#v}"
+sed -i -E -e "s#version = \".*\"#version = \"$version\"#" common.nix
 
 # Woodpecker repository
-src_hash=$(nix-prefetch-github woodpecker-ci woodpecker --rev "v${version}" | jq -r .hash)
-
-# Go modules
-vendorHash=$(nix-prefetch '{ sha256 }: (callPackage (import ./cli.nix) { }).goModules.overrideAttrs (_: { modHash = sha256; })')
-
-# Front-end dependencies
-woodpecker_src="https://raw.githubusercontent.com/woodpecker-ci/woodpecker/v$version"
-wget "${TOKEN_ARGS[@]}" "$woodpecker_src/web/package.json" -O woodpecker-package.json
-
-trap 'rm -rf pnpm-lock.yaml' EXIT
-wget "${TOKEN_ARGS[@]}" "$woodpecker_src/web/pnpm-lock.yaml"
-pnpm-lock-export --schema yarn.lock@v1
-yarn_hash=$(prefetch-yarn-deps yarn.lock)
-
-# Use friendlier hashes
+src_hash=$(nix-prefetch-url --type sha256 --unpack "https://github.com/woodpecker-ci/woodpecker/releases/download/v$version/woodpecker-src.tar.gz")
 src_hash=$(nix hash to-sri --type sha256 "$src_hash")
-vendorHash=$(nix hash to-sri --type sha256 "$vendorHash")
-yarn_hash=$(nix hash to-sri --type sha256 "$yarn_hash")
-
-sed -i -E -e "s#version = \".*\"#version = \"$version\"#" common.nix
 sed -i -E -e "s#srcHash = \".*\"#srcHash = \"$src_hash\"#" common.nix
-sed -i -E -e "s#vendorHash = \".*\"#vendorHash = \"$vendorHash\"#" common.nix
-sed -i -E -e "s#yarnHash = \".*\"#yarnHash = \"$yarn_hash\"#" common.nix
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json b/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json
deleted file mode 100644
index 565c05aa8c2d..000000000000
--- a/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
-  "name": "woodpecker-ci",
-  "author": "Woodpecker CI",
-  "version": "0.0.0",
-  "license": "Apache-2.0",
-  "engines": {
-    "node": ">=14"
-  },
-  "scripts": {
-    "start": "vite",
-    "build": "vite build --base=/BASE_PATH",
-    "serve": "vite preview",
-    "lint": "eslint --max-warnings 0 --ext .js,.ts,.vue,.json .",
-    "formatcheck": "prettier -c .",
-    "format:fix": "prettier --write .",
-    "typecheck": "vue-tsc --noEmit",
-    "test": "echo 'No tests configured' && exit 0"
-  },
-  "dependencies": {
-    "@intlify/unplugin-vue-i18n": "^0.10.1",
-    "@kyvg/vue3-notification": "^2.9.1",
-    "@vueuse/core": "^9.13.0",
-    "ansi_up": "^5.2.1",
-    "dayjs": "^1.11.9",
-    "floating-vue": "^2.0.0-beta.24",
-    "fuse.js": "^6.6.2",
-    "humanize-duration": "^3.28.0",
-    "javascript-time-ago": "^2.5.9",
-    "lodash": "^4.17.21",
-    "node-emoji": "^1.11.0",
-    "pinia": "^2.1.4",
-    "prismjs": "^1.29.0",
-    "vue": "^3.3.4",
-    "vue-i18n": "^9.2.2",
-    "vue-router": "^4.2.2"
-  },
-  "devDependencies": {
-    "@iconify/json": "^2.2.85",
-    "@types/humanize-duration": "^3.27.1",
-    "@types/javascript-time-ago": "^2.0.3",
-    "@types/lodash": "^4.14.195",
-    "@types/node": "^18.16.19",
-    "@types/node-emoji": "^1.8.2",
-    "@types/prismjs": "^1.26.0",
-    "@typescript-eslint/eslint-plugin": "^5.60.1",
-    "@typescript-eslint/parser": "^5.60.1",
-    "@vitejs/plugin-vue": "^4.2.3",
-    "@vue/compiler-sfc": "^3.3.4",
-    "eslint": "^8.44.0",
-    "eslint-config-airbnb-base": "^15.0.0",
-    "eslint-config-airbnb-typescript": "^17.0.0",
-    "eslint-config-prettier": "^8.8.0",
-    "eslint-plugin-import": "^2.27.5",
-    "eslint-plugin-prettier": "^4.2.1",
-    "eslint-plugin-promise": "^6.1.1",
-    "eslint-plugin-simple-import-sort": "^10.0.0",
-    "eslint-plugin-vue": "^9.15.1",
-    "eslint-plugin-vue-scoped-css": "^2.5.0",
-    "prettier": "^2.8.8",
-    "typescript": "5.0.3",
-    "unplugin-icons": "^0.16.3",
-    "unplugin-vue-components": "^0.24.1",
-    "vite": "^4.3.9",
-    "vite-plugin-prismjs": "^0.0.8",
-    "vite-plugin-windicss": "^1.9.0",
-    "vite-svg-loader": "^4.0.0",
-    "vue-eslint-parser": "^9.3.1",
-    "vue-tsc": "^1.8.3",
-    "windicss": "^3.5.6"
-  },
-  "pnpm": {
-    "overrides": {
-      "semver@<7.5.2": ">=7.5.2",
-      "postcss@<8.4.31": ">=8.4.31"
-    }
-  }
-}
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/yarn.lock b/pkgs/development/tools/continuous-integration/woodpecker/yarn.lock
deleted file mode 100644
index cf7c076e748b..000000000000
--- a/pkgs/development/tools/continuous-integration/woodpecker/yarn.lock
+++ /dev/null
@@ -1,3219 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@aashutoshrathi/word-wrap@1.2.6":
-  version "1.2.6"
-  resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz"
-  integrity "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA=="
-
-"@ampproject/remapping@2.2.1":
-  version "2.2.1"
-  resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz"
-  integrity "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg=="
-  dependencies:
-    "@jridgewell/gen-mapping" "0.3.3"
-    "@jridgewell/trace-mapping" "0.3.18"
-
-"@antfu/install-pkg@0.1.1":
-  version "0.1.1"
-  resolved "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.1.1.tgz"
-  integrity "sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ=="
-  dependencies:
-    "execa" "5.1.1"
-    "find-up" "5.0.0"
-
-"@antfu/utils@0.7.4":
-  version "0.7.4"
-  resolved "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.4.tgz"
-  integrity "sha512-qe8Nmh9rYI/HIspLSTwtbMFPj6dISG6+dJnOguTlPNXtCvS2uezdxscVBb7/3DrmNbQK49TDqpkSQ1chbRGdpQ=="
-
-"@babel/code-frame@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz"
-  integrity "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ=="
-  dependencies:
-    "@babel/highlight" "7.22.5"
-
-"@babel/compat-data@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz"
-  integrity "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA=="
-
-"@babel/core@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz"
-  integrity "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg=="
-  dependencies:
-    "@ampproject/remapping" "2.2.1"
-    "@babel/code-frame" "7.22.5"
-    "@babel/generator" "7.22.5"
-    "@babel/helper-compilation-targets" "7.22.5"
-    "@babel/helper-module-transforms" "7.22.5"
-    "@babel/helpers" "7.22.5"
-    "@babel/parser" "7.22.5"
-    "@babel/template" "7.22.5"
-    "@babel/traverse" "7.22.5"
-    "@babel/types" "7.22.5"
-    "convert-source-map" "1.9.0"
-    "debug" "4.3.4"
-    "gensync" "1.0.0-beta.2"
-    "json5" "2.2.3"
-    "semver" "7.5.3"
-
-"@babel/generator@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz"
-  integrity "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA=="
-  dependencies:
-    "@babel/types" "7.22.5"
-    "@jridgewell/gen-mapping" "0.3.3"
-    "@jridgewell/trace-mapping" "0.3.18"
-    "jsesc" "2.5.2"
-
-"@babel/helper-compilation-targets@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz"
-  integrity "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw=="
-  dependencies:
-    "@babel/compat-data" "7.22.5"
-    "@babel/core" "7.22.5"
-    "@babel/helper-validator-option" "7.22.5"
-    "browserslist" "4.21.9"
-    "lru-cache" "5.1.1"
-    "semver" "7.5.3"
-
-"@babel/helper-environment-visitor@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz"
-  integrity "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q=="
-
-"@babel/helper-function-name@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz"
-  integrity "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ=="
-  dependencies:
-    "@babel/template" "7.22.5"
-    "@babel/types" "7.22.5"
-
-"@babel/helper-hoist-variables@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz"
-  integrity "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw=="
-  dependencies:
-    "@babel/types" "7.22.5"
-
-"@babel/helper-module-imports@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz"
-  integrity "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg=="
-  dependencies:
-    "@babel/types" "7.22.5"
-
-"@babel/helper-module-transforms@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz"
-  integrity "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw=="
-  dependencies:
-    "@babel/helper-environment-visitor" "7.22.5"
-    "@babel/helper-module-imports" "7.22.5"
-    "@babel/helper-simple-access" "7.22.5"
-    "@babel/helper-split-export-declaration" "7.22.5"
-    "@babel/helper-validator-identifier" "7.22.5"
-    "@babel/template" "7.22.5"
-    "@babel/traverse" "7.22.5"
-    "@babel/types" "7.22.5"
-
-"@babel/helper-simple-access@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz"
-  integrity "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w=="
-  dependencies:
-    "@babel/types" "7.22.5"
-
-"@babel/helper-split-export-declaration@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz"
-  integrity "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ=="
-  dependencies:
-    "@babel/types" "7.22.5"
-
-"@babel/helper-string-parser@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz"
-  integrity "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw=="
-
-"@babel/helper-validator-identifier@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz"
-  integrity "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ=="
-
-"@babel/helper-validator-option@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz"
-  integrity "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw=="
-
-"@babel/helpers@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz"
-  integrity "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q=="
-  dependencies:
-    "@babel/template" "7.22.5"
-    "@babel/traverse" "7.22.5"
-    "@babel/types" "7.22.5"
-
-"@babel/highlight@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz"
-  integrity "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw=="
-  dependencies:
-    "@babel/helper-validator-identifier" "7.22.5"
-    "chalk" "2.4.2"
-    "js-tokens" "4.0.0"
-
-"@babel/parser@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz"
-  integrity "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q=="
-  dependencies:
-    "@babel/types" "7.22.5"
-
-"@babel/template@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz"
-  integrity "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw=="
-  dependencies:
-    "@babel/code-frame" "7.22.5"
-    "@babel/parser" "7.22.5"
-    "@babel/types" "7.22.5"
-
-"@babel/traverse@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz"
-  integrity "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ=="
-  dependencies:
-    "@babel/code-frame" "7.22.5"
-    "@babel/generator" "7.22.5"
-    "@babel/helper-environment-visitor" "7.22.5"
-    "@babel/helper-function-name" "7.22.5"
-    "@babel/helper-hoist-variables" "7.22.5"
-    "@babel/helper-split-export-declaration" "7.22.5"
-    "@babel/parser" "7.22.5"
-    "@babel/types" "7.22.5"
-    "debug" "4.3.4"
-    "globals" "11.12.0"
-
-"@babel/types@7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz"
-  integrity "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA=="
-  dependencies:
-    "@babel/helper-string-parser" "7.22.5"
-    "@babel/helper-validator-identifier" "7.22.5"
-    "to-fast-properties" "2.0.0"
-
-"@esbuild/android-arm64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz"
-  integrity "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA=="
-
-"@esbuild/android-arm@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz"
-  integrity "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A=="
-
-"@esbuild/android-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz"
-  integrity "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww=="
-
-"@esbuild/darwin-arm64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz"
-  integrity "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg=="
-
-"@esbuild/darwin-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz"
-  integrity "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw=="
-
-"@esbuild/freebsd-arm64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz"
-  integrity "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ=="
-
-"@esbuild/freebsd-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz"
-  integrity "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ=="
-
-"@esbuild/linux-arm64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz"
-  integrity "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg=="
-
-"@esbuild/linux-arm@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz"
-  integrity "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA=="
-
-"@esbuild/linux-ia32@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz"
-  integrity "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ=="
-
-"@esbuild/linux-loong64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz"
-  integrity "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ=="
-
-"@esbuild/linux-mips64el@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz"
-  integrity "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A=="
-
-"@esbuild/linux-ppc64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz"
-  integrity "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg=="
-
-"@esbuild/linux-riscv64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz"
-  integrity "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA=="
-
-"@esbuild/linux-s390x@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz"
-  integrity "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q=="
-
-"@esbuild/linux-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz"
-  integrity "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw=="
-
-"@esbuild/netbsd-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz"
-  integrity "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q=="
-
-"@esbuild/openbsd-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz"
-  integrity "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g=="
-
-"@esbuild/sunos-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz"
-  integrity "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg=="
-
-"@esbuild/win32-arm64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz"
-  integrity "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag=="
-
-"@esbuild/win32-ia32@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz"
-  integrity "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw=="
-
-"@esbuild/win32-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz"
-  integrity "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA=="
-
-"@eslint-community/eslint-utils@4.4.0":
-  version "4.4.0"
-  resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz"
-  integrity "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA=="
-  dependencies:
-    "eslint" "8.44.0"
-    "eslint-visitor-keys" "3.4.1"
-
-"@eslint-community/regexpp@4.5.1":
-  version "4.5.1"
-  resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz"
-  integrity "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ=="
-
-"@eslint/eslintrc@2.1.0":
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz"
-  integrity "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A=="
-  dependencies:
-    "ajv" "6.12.6"
-    "debug" "4.3.4"
-    "espree" "9.6.0"
-    "globals" "13.20.0"
-    "ignore" "5.2.4"
-    "import-fresh" "3.3.0"
-    "js-yaml" "4.1.0"
-    "minimatch" "3.1.2"
-    "strip-json-comments" "3.1.1"
-
-"@eslint/js@8.44.0":
-  version "8.44.0"
-  resolved "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz"
-  integrity "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw=="
-
-"@floating-ui/core@1.3.1":
-  version "1.3.1"
-  resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.3.1.tgz"
-  integrity "sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g=="
-
-"@floating-ui/dom@1.1.1":
-  version "1.1.1"
-  resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.1.tgz"
-  integrity "sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw=="
-  dependencies:
-    "@floating-ui/core" "1.3.1"
-
-"@humanwhocodes/config-array@0.11.10":
-  version "0.11.10"
-  resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz"
-  integrity "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ=="
-  dependencies:
-    "@humanwhocodes/object-schema" "1.2.1"
-    "debug" "4.3.4"
-    "minimatch" "3.1.2"
-
-"@humanwhocodes/module-importer@1.0.1":
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz"
-  integrity "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="
-
-"@humanwhocodes/object-schema@1.2.1":
-  version "1.2.1"
-  resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz"
-  integrity "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
-
-"@iconify/json@^2.2.85", "@iconify/json@2.2.85":
-  version "2.2.85"
-  resolved "https://registry.npmjs.org/@iconify/json/-/json-2.2.85.tgz"
-  integrity "sha512-T72zjZlpP311ftbdzpOFbRCictazlrX1xR8lLu3swVvFo22b/SZNBN4r0cv+e+eVNZvMxhF/cFww2fkaZ3m7Pg=="
-  dependencies:
-    "@iconify/types" "2.0.0"
-    "pathe" "1.1.1"
-
-"@iconify/types@2.0.0":
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz"
-  integrity "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="
-
-"@iconify/utils@2.1.7":
-  version "2.1.7"
-  resolved "https://registry.npmjs.org/@iconify/utils/-/utils-2.1.7.tgz"
-  integrity "sha512-P8S3z/L1LcV4Qem9AoCfVAaTFGySEMzFEY4CHZLkfRj0Fv9LiR+AwjDgrDrzyI93U2L2mg9JHsbTJ52mF8suNw=="
-  dependencies:
-    "@antfu/install-pkg" "0.1.1"
-    "@antfu/utils" "0.7.4"
-    "@iconify/types" "2.0.0"
-    "debug" "4.3.4"
-    "kolorist" "1.8.0"
-    "local-pkg" "0.4.3"
-
-"@intlify/bundle-utils@5.5.0":
-  version "5.5.0"
-  resolved "https://registry.npmjs.org/@intlify/bundle-utils/-/bundle-utils-5.5.0.tgz"
-  integrity "sha512-k5xe8oAoPXiH6unXvyyyCRbq+LtLn1tSi/6r5f6mF+MsX7mcOMtgYbyAQINsjFrf7EDu5Pg4BY00VWSt8bI9XQ=="
-  dependencies:
-    "@intlify/message-compiler" "9.3.0-beta.17"
-    "@intlify/shared" "9.3.0-beta.17"
-    "acorn" "8.9.0"
-    "escodegen" "2.1.0"
-    "estree-walker" "2.0.2"
-    "jsonc-eslint-parser" "1.4.1"
-    "magic-string" "0.30.0"
-    "source-map" "0.6.1"
-    "vue-i18n" "9.2.2"
-    "yaml-eslint-parser" "0.3.2"
-
-"@intlify/core-base@9.2.2":
-  version "9.2.2"
-  resolved "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz"
-  integrity "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA=="
-  dependencies:
-    "@intlify/devtools-if" "9.2.2"
-    "@intlify/message-compiler" "9.2.2"
-    "@intlify/shared" "9.2.2"
-    "@intlify/vue-devtools" "9.2.2"
-
-"@intlify/devtools-if@9.2.2":
-  version "9.2.2"
-  resolved "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz"
-  integrity "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg=="
-  dependencies:
-    "@intlify/shared" "9.2.2"
-
-"@intlify/message-compiler@9.2.2":
-  version "9.2.2"
-  resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz"
-  integrity "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA=="
-  dependencies:
-    "@intlify/shared" "9.2.2"
-    "source-map" "0.6.1"
-
-"@intlify/message-compiler@9.3.0-beta.17":
-  version "9.3.0-beta.17"
-  resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.3.0-beta.17.tgz"
-  integrity "sha512-i7hvVIRk1Ax2uKa9xLRJCT57to08OhFMhFXXjWN07rmx5pWQYQ23MfX1xgggv9drnWTNhqEiD+u4EJeHoS5+Ww=="
-  dependencies:
-    "@intlify/shared" "9.3.0-beta.17"
-    "source-map" "0.6.1"
-
-"@intlify/shared@9.2.2":
-  version "9.2.2"
-  resolved "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz"
-  integrity "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q=="
-
-"@intlify/shared@9.3.0-beta.17":
-  version "9.3.0-beta.17"
-  resolved "https://registry.npmjs.org/@intlify/shared/-/shared-9.3.0-beta.17.tgz"
-  integrity "sha512-mscf7RQsUTOil35jTij4KGW1RC9SWQjYScwLxP53Ns6g24iEd5HN7ksbt9O6FvTmlQuX77u+MXpBdfJsGqizLQ=="
-
-"@intlify/unplugin-vue-i18n@^0.10.1", "@intlify/unplugin-vue-i18n@0.10.1":
-  version "0.10.1"
-  resolved "https://registry.npmjs.org/@intlify/unplugin-vue-i18n/-/unplugin-vue-i18n-0.10.1.tgz"
-  integrity "sha512-9ZzE0ddlDO06Xzg25JPiNbx6PJPDho5k/Np+uL9fJRZEKq2TxT3c+ZK+Pec6j0ybhhVXeda8/yE3tPUf4SOXZQ=="
-  dependencies:
-    "@intlify/bundle-utils" "5.5.0"
-    "@intlify/shared" "9.3.0-beta.17"
-    "@rollup/pluginutils" "5.0.2"
-    "@vue/compiler-sfc" "3.3.4"
-    "debug" "4.3.4"
-    "fast-glob" "3.3.0"
-    "js-yaml" "4.1.0"
-    "json5" "2.2.3"
-    "pathe" "1.1.1"
-    "picocolors" "1.0.0"
-    "source-map" "0.6.1"
-    "unplugin" "1.3.1"
-    "vue-i18n" "9.2.2"
-
-"@intlify/vue-devtools@9.2.2":
-  version "9.2.2"
-  resolved "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz"
-  integrity "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg=="
-  dependencies:
-    "@intlify/core-base" "9.2.2"
-    "@intlify/shared" "9.2.2"
-
-"@jridgewell/gen-mapping@0.3.3":
-  version "0.3.3"
-  resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz"
-  integrity "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ=="
-  dependencies:
-    "@jridgewell/set-array" "1.1.2"
-    "@jridgewell/sourcemap-codec" "1.4.15"
-    "@jridgewell/trace-mapping" "0.3.18"
-
-"@jridgewell/resolve-uri@3.1.0":
-  version "3.1.0"
-  resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz"
-  integrity "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
-
-"@jridgewell/set-array@1.1.2":
-  version "1.1.2"
-  resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz"
-  integrity "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
-
-"@jridgewell/sourcemap-codec@1.4.14":
-  version "1.4.14"
-  resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
-  integrity "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
-
-"@jridgewell/sourcemap-codec@1.4.15":
-  version "1.4.15"
-  resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
-  integrity "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
-
-"@jridgewell/trace-mapping@0.3.18":
-  version "0.3.18"
-  resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz"
-  integrity "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA=="
-  dependencies:
-    "@jridgewell/resolve-uri" "3.1.0"
-    "@jridgewell/sourcemap-codec" "1.4.14"
-
-"@kyvg/vue3-notification@^2.9.1", "@kyvg/vue3-notification@2.9.1":
-  version "2.9.1"
-  resolved "https://registry.npmjs.org/@kyvg/vue3-notification/-/vue3-notification-2.9.1.tgz"
-  integrity "sha512-FsY8g25tQetr3etnarxHtCeNFKssH8sheFu13LyL2JJmOOel437QqKV5n4RBDDDTIo55iKgIVYXeojliXYdEhw=="
-  dependencies:
-    "vue" "3.3.4"
-
-"@nodelib/fs.scandir@2.1.5":
-  version "2.1.5"
-  resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
-  integrity "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="
-  dependencies:
-    "@nodelib/fs.stat" "2.0.5"
-    "run-parallel" "1.2.0"
-
-"@nodelib/fs.stat@2.0.5":
-  version "2.0.5"
-  resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
-  integrity "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
-
-"@nodelib/fs.walk@1.2.8":
-  version "1.2.8"
-  resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz"
-  integrity "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="
-  dependencies:
-    "@nodelib/fs.scandir" "2.1.5"
-    "fastq" "1.15.0"
-
-"@rollup/pluginutils@5.0.2":
-  version "5.0.2"
-  resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz"
-  integrity "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA=="
-  dependencies:
-    "@types/estree" "1.0.1"
-    "estree-walker" "2.0.2"
-    "picomatch" "2.3.1"
-
-"@trysound/sax@0.2.0":
-  version "0.2.0"
-  resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz"
-  integrity "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA=="
-
-"@types/estree@1.0.1":
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz"
-  integrity "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA=="
-
-"@types/humanize-duration@^3.27.1", "@types/humanize-duration@3.27.1":
-  version "3.27.1"
-  resolved "https://registry.npmjs.org/@types/humanize-duration/-/humanize-duration-3.27.1.tgz"
-  integrity "sha512-K3e+NZlpCKd6Bd/EIdqjFJRFHbrq5TzPPLwREk5Iv/YoIjQrs6ljdAUCo+Lb2xFlGNOjGSE0dqsVD19cZL137w=="
-
-"@types/javascript-time-ago@^2.0.3", "@types/javascript-time-ago@2.0.3":
-  version "2.0.3"
-  resolved "https://registry.npmjs.org/@types/javascript-time-ago/-/javascript-time-ago-2.0.3.tgz"
-  integrity "sha512-G6SdYh6gHxgCTU0s4cMIRHwRO4p3f7jQSZbDPfUOZpUAG1od3rTjT0e8rxGThUiTTWQHwpBRws8eHO8D2QqfkA=="
-
-"@types/json-schema@7.0.12":
-  version "7.0.12"
-  resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz"
-  integrity "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA=="
-
-"@types/json5@0.0.29":
-  version "0.0.29"
-  resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz"
-  integrity "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
-
-"@types/lodash@^4.14.195", "@types/lodash@4.14.195":
-  version "4.14.195"
-  resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.195.tgz"
-  integrity "sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg=="
-
-"@types/node-emoji@^1.8.2", "@types/node-emoji@1.8.2":
-  version "1.8.2"
-  resolved "https://registry.npmjs.org/@types/node-emoji/-/node-emoji-1.8.2.tgz"
-  integrity "sha512-PfF1qL/9veo8BSHLV84C9ORNr3lHSlnWJ6yU8OdNufoftajeWHTLVbGHvp2B7e7DPDS9gMs6cfeSsqo5rqSitg=="
-
-"@types/node@^18.16.19", "@types/node@18.16.19":
-  version "18.16.19"
-  resolved "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz"
-  integrity "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA=="
-
-"@types/prismjs@^1.26.0", "@types/prismjs@1.26.0":
-  version "1.26.0"
-  resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.0.tgz"
-  integrity "sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ=="
-
-"@types/semver@7.5.0":
-  version "7.5.0"
-  resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz"
-  integrity "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw=="
-
-"@types/web-bluetooth@0.0.16":
-  version "0.0.16"
-  resolved "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz"
-  integrity "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
-
-"@typescript-eslint/eslint-plugin@^5.60.1", "@typescript-eslint/eslint-plugin@5.60.1":
-  version "5.60.1"
-  resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.1.tgz"
-  integrity "sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw=="
-  dependencies:
-    "@eslint-community/regexpp" "4.5.1"
-    "@typescript-eslint/parser" "5.60.1"
-    "@typescript-eslint/scope-manager" "5.60.1"
-    "@typescript-eslint/type-utils" "5.60.1"
-    "@typescript-eslint/utils" "5.60.1"
-    "debug" "4.3.4"
-    "eslint" "8.44.0"
-    "grapheme-splitter" "1.0.4"
-    "ignore" "5.2.4"
-    "natural-compare-lite" "1.4.0"
-    "semver" "7.5.3"
-    "tsutils" "3.21.0"
-    "typescript" "5.0.3"
-
-"@typescript-eslint/parser@^5.60.1", "@typescript-eslint/parser@5.60.1":
-  version "5.60.1"
-  resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.1.tgz"
-  integrity "sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q=="
-  dependencies:
-    "@typescript-eslint/scope-manager" "5.60.1"
-    "@typescript-eslint/types" "5.60.1"
-    "@typescript-eslint/typescript-estree" "5.60.1"
-    "debug" "4.3.4"
-    "eslint" "8.44.0"
-    "typescript" "5.0.3"
-
-"@typescript-eslint/scope-manager@5.60.1":
-  version "5.60.1"
-  resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz"
-  integrity "sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ=="
-  dependencies:
-    "@typescript-eslint/types" "5.60.1"
-    "@typescript-eslint/visitor-keys" "5.60.1"
-
-"@typescript-eslint/type-utils@5.60.1":
-  version "5.60.1"
-  resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.1.tgz"
-  integrity "sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A=="
-  dependencies:
-    "@typescript-eslint/typescript-estree" "5.60.1"
-    "@typescript-eslint/utils" "5.60.1"
-    "debug" "4.3.4"
-    "eslint" "8.44.0"
-    "tsutils" "3.21.0"
-    "typescript" "5.0.3"
-
-"@typescript-eslint/types@5.60.1":
-  version "5.60.1"
-  resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.1.tgz"
-  integrity "sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg=="
-
-"@typescript-eslint/typescript-estree@5.60.1":
-  version "5.60.1"
-  resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz"
-  integrity "sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw=="
-  dependencies:
-    "@typescript-eslint/types" "5.60.1"
-    "@typescript-eslint/visitor-keys" "5.60.1"
-    "debug" "4.3.4"
-    "globby" "11.1.0"
-    "is-glob" "4.0.3"
-    "semver" "7.5.3"
-    "tsutils" "3.21.0"
-    "typescript" "5.0.3"
-
-"@typescript-eslint/utils@5.60.1":
-  version "5.60.1"
-  resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.1.tgz"
-  integrity "sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ=="
-  dependencies:
-    "@eslint-community/eslint-utils" "4.4.0"
-    "@types/json-schema" "7.0.12"
-    "@types/semver" "7.5.0"
-    "@typescript-eslint/scope-manager" "5.60.1"
-    "@typescript-eslint/types" "5.60.1"
-    "@typescript-eslint/typescript-estree" "5.60.1"
-    "eslint" "8.44.0"
-    "eslint-scope" "5.1.1"
-    "semver" "7.5.3"
-
-"@typescript-eslint/visitor-keys@5.60.1":
-  version "5.60.1"
-  resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz"
-  integrity "sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw=="
-  dependencies:
-    "@typescript-eslint/types" "5.60.1"
-    "eslint-visitor-keys" "3.4.1"
-
-"@vitejs/plugin-vue@^4.2.3", "@vitejs/plugin-vue@4.2.3":
-  version "4.2.3"
-  resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz"
-  integrity "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw=="
-  dependencies:
-    "vite" "4.3.9"
-    "vue" "3.3.4"
-
-"@volar/language-core@1.7.10":
-  version "1.7.10"
-  resolved "https://registry.npmjs.org/@volar/language-core/-/language-core-1.7.10.tgz"
-  integrity "sha512-18Gmth5M0UI3hDDqhZngjMnb6WCslcfglkOdepRIhGxRYe7xR7DRRzciisYDMZsvOQxDYme+uaohg0dKUxLV2Q=="
-  dependencies:
-    "@volar/source-map" "1.7.10"
-
-"@volar/source-map@1.7.10":
-  version "1.7.10"
-  resolved "https://registry.npmjs.org/@volar/source-map/-/source-map-1.7.10.tgz"
-  integrity "sha512-FBpLEOKJpRxeh2nYbw1mTI5sZOPXYU8LlsCz6xuBY3yNtAizDTTIZtBHe1V8BaMpoSMgRysZe4gVxMEi3rDGVA=="
-  dependencies:
-    "muggle-string" "0.3.1"
-
-"@volar/typescript@1.7.10":
-  version "1.7.10"
-  resolved "https://registry.npmjs.org/@volar/typescript/-/typescript-1.7.10.tgz"
-  integrity "sha512-yqIov4wndLU3GE1iE25bU5W6T+P+exPePcE1dFPPBKzQIBki1KvmdQN5jBlJp3Wo+wp7UIxa/RsdNkXT+iFBjg=="
-  dependencies:
-    "@volar/language-core" "1.7.10"
-
-"@vue/compiler-core@3.3.4":
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz"
-  integrity "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g=="
-  dependencies:
-    "@babel/parser" "7.22.5"
-    "@vue/shared" "3.3.4"
-    "estree-walker" "2.0.2"
-    "source-map-js" "1.0.2"
-
-"@vue/compiler-dom@3.3.4":
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz"
-  integrity "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w=="
-  dependencies:
-    "@vue/compiler-core" "3.3.4"
-    "@vue/shared" "3.3.4"
-
-"@vue/compiler-sfc@^3.3.4", "@vue/compiler-sfc@3.3.4":
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz"
-  integrity "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ=="
-  dependencies:
-    "@babel/parser" "7.22.5"
-    "@vue/compiler-core" "3.3.4"
-    "@vue/compiler-dom" "3.3.4"
-    "@vue/compiler-ssr" "3.3.4"
-    "@vue/reactivity-transform" "3.3.4"
-    "@vue/shared" "3.3.4"
-    "estree-walker" "2.0.2"
-    "magic-string" "0.30.0"
-    "postcss" "8.4.31"
-    "source-map-js" "1.0.2"
-
-"@vue/compiler-ssr@3.3.4":
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz"
-  integrity "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ=="
-  dependencies:
-    "@vue/compiler-dom" "3.3.4"
-    "@vue/shared" "3.3.4"
-
-"@vue/devtools-api@6.5.0":
-  version "6.5.0"
-  resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz"
-  integrity "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
-
-"@vue/language-core@1.8.3":
-  version "1.8.3"
-  resolved "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.3.tgz"
-  integrity "sha512-AzhvMYoQkK/tg8CpAAttO19kx1zjS3+weYIr2AhlH/M5HebVzfftQoq4jZNFifjq+hyLKi8j9FiDMS8oqA89+A=="
-  dependencies:
-    "@volar/language-core" "1.7.10"
-    "@volar/source-map" "1.7.10"
-    "@vue/compiler-dom" "3.3.4"
-    "@vue/reactivity" "3.3.4"
-    "@vue/shared" "3.3.4"
-    "minimatch" "9.0.2"
-    "muggle-string" "0.3.1"
-    "typescript" "5.0.3"
-    "vue-template-compiler" "2.7.14"
-
-"@vue/reactivity-transform@3.3.4":
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz"
-  integrity "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw=="
-  dependencies:
-    "@babel/parser" "7.22.5"
-    "@vue/compiler-core" "3.3.4"
-    "@vue/shared" "3.3.4"
-    "estree-walker" "2.0.2"
-    "magic-string" "0.30.0"
-
-"@vue/reactivity@3.3.4":
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz"
-  integrity "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ=="
-  dependencies:
-    "@vue/shared" "3.3.4"
-
-"@vue/runtime-core@3.3.4":
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz"
-  integrity "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA=="
-  dependencies:
-    "@vue/reactivity" "3.3.4"
-    "@vue/shared" "3.3.4"
-
-"@vue/runtime-dom@3.3.4":
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz"
-  integrity "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ=="
-  dependencies:
-    "@vue/runtime-core" "3.3.4"
-    "@vue/shared" "3.3.4"
-    "csstype" "3.1.2"
-
-"@vue/server-renderer@3.3.4":
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz"
-  integrity "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ=="
-  dependencies:
-    "@vue/compiler-ssr" "3.3.4"
-    "@vue/shared" "3.3.4"
-    "vue" "3.3.4"
-
-"@vue/shared@3.3.4":
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz"
-  integrity "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
-
-"@vue/typescript@1.8.3":
-  version "1.8.3"
-  resolved "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.3.tgz"
-  integrity "sha512-6bdgSnIFpRYHlt70pHmnmNksPU00bfXgqAISeaNz3W6d2cH0OTfH8h/IhligQ82sJIhsuyfftQJ5518ZuKIhtA=="
-  dependencies:
-    "@volar/typescript" "1.7.10"
-    "@vue/language-core" "1.8.3"
-
-"@vueuse/core@^9.13.0", "@vueuse/core@9.13.0":
-  version "9.13.0"
-  resolved "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz"
-  integrity "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw=="
-  dependencies:
-    "@types/web-bluetooth" "0.0.16"
-    "@vueuse/metadata" "9.13.0"
-    "@vueuse/shared" "9.13.0"
-    "vue-demi" "0.14.5"
-
-"@vueuse/metadata@9.13.0":
-  version "9.13.0"
-  resolved "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz"
-  integrity "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ=="
-
-"@vueuse/shared@9.13.0":
-  version "9.13.0"
-  resolved "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz"
-  integrity "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw=="
-  dependencies:
-    "vue-demi" "0.14.5"
-
-"@windicss/config@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@windicss/config/-/config-1.9.0.tgz"
-  integrity "sha512-QO4+udbmDIgZwAi89tqUt5nGwBq3IgyELjLn83twZXiIqzOw+77ecCuM0oPSbzWmIbCqXq3wRQHd6Z1u5E/5zQ=="
-  dependencies:
-    "debug" "4.3.4"
-    "jiti" "1.18.2"
-    "windicss" "3.5.6"
-
-"@windicss/plugin-utils@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/@windicss/plugin-utils/-/plugin-utils-1.9.0.tgz"
-  integrity "sha512-omAacM5ExIr9XBUI2z47CyCXJBke4imJZqXW41YgHhRLbahTngbScFk5yxa6dXivDXUpUKqasOPXBJgA4bhHCg=="
-  dependencies:
-    "@antfu/utils" "0.7.4"
-    "@windicss/config" "1.9.0"
-    "debug" "4.3.4"
-    "fast-glob" "3.3.0"
-    "magic-string" "0.30.0"
-    "micromatch" "4.0.5"
-    "windicss" "3.5.6"
-
-"acorn-jsx@5.3.2":
-  version "5.3.2"
-  resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
-  integrity "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="
-  dependencies:
-    "acorn" "8.9.0"
-
-"acorn@7.4.1":
-  version "7.4.1"
-  resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
-  integrity "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
-
-"acorn@8.9.0":
-  version "8.9.0"
-  resolved "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz"
-  integrity "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ=="
-
-"ajv@6.12.6":
-  version "6.12.6"
-  resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
-  integrity "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="
-  dependencies:
-    "fast-deep-equal" "3.1.3"
-    "fast-json-stable-stringify" "2.1.0"
-    "json-schema-traverse" "0.4.1"
-    "uri-js" "4.4.1"
-
-"ansi-regex@5.0.1":
-  version "5.0.1"
-  resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
-  integrity "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
-
-"ansi-styles@3.2.1":
-  version "3.2.1"
-  resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
-  integrity "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="
-  dependencies:
-    "color-convert" "1.9.3"
-
-"ansi-styles@4.3.0":
-  version "4.3.0"
-  resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
-  integrity "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
-  dependencies:
-    "color-convert" "2.0.1"
-
-"ansi_up@^5.2.1", "ansi_up@5.2.1":
-  version "5.2.1"
-  resolved "https://registry.npmjs.org/ansi_up/-/ansi_up-5.2.1.tgz"
-  integrity "sha512-5bz5T/7FRmlxA37zDXhG6cAwlcZtfnmNLDJra66EEIT3kYlw5aPJdbkJEhm59D6kA4Wi5ict6u6IDYHJaQlH+g=="
-
-"anymatch@3.1.3":
-  version "3.1.3"
-  resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz"
-  integrity "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="
-  dependencies:
-    "normalize-path" "3.0.0"
-    "picomatch" "2.3.1"
-
-"argparse@2.0.1":
-  version "2.0.1"
-  resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz"
-  integrity "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
-
-"array-buffer-byte-length@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz"
-  integrity "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "is-array-buffer" "3.0.2"
-
-"array-includes@3.1.6":
-  version "3.1.6"
-  resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz"
-  integrity "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "define-properties" "1.2.0"
-    "es-abstract" "1.21.2"
-    "get-intrinsic" "1.2.1"
-    "is-string" "1.0.7"
-
-"array-union@2.1.0":
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz"
-  integrity "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
-
-"array.prototype.flat@1.3.1":
-  version "1.3.1"
-  resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz"
-  integrity "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "define-properties" "1.2.0"
-    "es-abstract" "1.21.2"
-    "es-shim-unscopables" "1.0.0"
-
-"array.prototype.flatmap@1.3.1":
-  version "1.3.1"
-  resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz"
-  integrity "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "define-properties" "1.2.0"
-    "es-abstract" "1.21.2"
-    "es-shim-unscopables" "1.0.0"
-
-"atob@2.1.2":
-  version "2.1.2"
-  resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz"
-  integrity "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
-
-"available-typed-arrays@1.0.5":
-  version "1.0.5"
-  resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz"
-  integrity "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
-
-"babel-plugin-prismjs@2.1.0":
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/babel-plugin-prismjs/-/babel-plugin-prismjs-2.1.0.tgz"
-  integrity "sha512-ehzSKYfeAz4U78zi/sfwsjDPlq0LvDKxNefcZTJ/iKBu+plsHsLqZhUeGf1+82LAcA35UZGbU6ksEx2Utphc/g=="
-  dependencies:
-    "prismjs" "1.29.0"
-
-"balanced-match@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
-  integrity "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
-
-"binary-extensions@2.2.0":
-  version "2.2.0"
-  resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
-  integrity "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
-
-"boolbase@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
-  integrity "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
-
-"brace-expansion@1.1.11":
-  version "1.1.11"
-  resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
-  integrity "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
-  dependencies:
-    "balanced-match" "1.0.2"
-    "concat-map" "0.0.1"
-
-"brace-expansion@2.0.1":
-  version "2.0.1"
-  resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz"
-  integrity "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="
-  dependencies:
-    "balanced-match" "1.0.2"
-
-"braces@3.0.2":
-  version "3.0.2"
-  resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"
-  integrity "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A=="
-  dependencies:
-    "fill-range" "7.0.1"
-
-"browserslist@4.21.9":
-  version "4.21.9"
-  resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz"
-  integrity "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg=="
-  dependencies:
-    "caniuse-lite" "1.0.30001509"
-    "electron-to-chromium" "1.4.447"
-    "node-releases" "2.0.12"
-    "update-browserslist-db" "1.0.11"
-
-"call-bind@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz"
-  integrity "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA=="
-  dependencies:
-    "function-bind" "1.1.1"
-    "get-intrinsic" "1.2.1"
-
-"callsites@3.1.0":
-  version "3.1.0"
-  resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
-  integrity "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
-
-"caniuse-lite@1.0.30001509":
-  version "1.0.30001509"
-  resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz"
-  integrity "sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA=="
-
-"chalk@2.4.2":
-  version "2.4.2"
-  resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
-  integrity "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
-  dependencies:
-    "ansi-styles" "3.2.1"
-    "escape-string-regexp" "1.0.5"
-    "supports-color" "5.5.0"
-
-"chalk@4.1.2":
-  version "4.1.2"
-  resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
-  integrity "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="
-  dependencies:
-    "ansi-styles" "4.3.0"
-    "supports-color" "7.2.0"
-
-"chokidar@3.5.3":
-  version "3.5.3"
-  resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz"
-  integrity "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw=="
-  dependencies:
-    "anymatch" "3.1.3"
-    "braces" "3.0.2"
-    "glob-parent" "5.1.2"
-    "is-binary-path" "2.1.0"
-    "is-glob" "4.0.3"
-    "normalize-path" "3.0.0"
-    "readdirp" "3.6.0"
-
-"color-convert@1.9.3":
-  version "1.9.3"
-  resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
-  integrity "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="
-  dependencies:
-    "color-name" "1.1.3"
-
-"color-convert@2.0.1":
-  version "2.0.1"
-  resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
-  integrity "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="
-  dependencies:
-    "color-name" "1.1.4"
-
-"color-name@1.1.3":
-  version "1.1.3"
-  resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
-  integrity "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
-
-"color-name@1.1.4":
-  version "1.1.4"
-  resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
-  integrity "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
-
-"commander@7.2.0":
-  version "7.2.0"
-  resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz"
-  integrity "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
-
-"concat-map@0.0.1":
-  version "0.0.1"
-  resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
-  integrity "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
-
-"confusing-browser-globals@1.0.11":
-  version "1.0.11"
-  resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz"
-  integrity "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA=="
-
-"convert-source-map@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz"
-  integrity "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
-
-"cross-spawn@7.0.3":
-  version "7.0.3"
-  resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
-  integrity "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w=="
-  dependencies:
-    "path-key" "3.1.1"
-    "shebang-command" "2.0.0"
-    "which" "2.0.2"
-
-"css-select@5.1.0":
-  version "5.1.0"
-  resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz"
-  integrity "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg=="
-  dependencies:
-    "boolbase" "1.0.0"
-    "css-what" "6.1.0"
-    "domhandler" "5.0.3"
-    "domutils" "3.1.0"
-    "nth-check" "2.1.1"
-
-"css-tree@2.2.1":
-  version "2.2.1"
-  resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz"
-  integrity "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="
-  dependencies:
-    "mdn-data" "2.0.28"
-    "source-map-js" "1.0.2"
-
-"css-tree@2.3.1":
-  version "2.3.1"
-  resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz"
-  integrity "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw=="
-  dependencies:
-    "mdn-data" "2.0.30"
-    "source-map-js" "1.0.2"
-
-"css-what@6.1.0":
-  version "6.1.0"
-  resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz"
-  integrity "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
-
-"css@3.0.0":
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/css/-/css-3.0.0.tgz"
-  integrity "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ=="
-  dependencies:
-    "inherits" "2.0.4"
-    "source-map" "0.6.1"
-    "source-map-resolve" "0.6.0"
-
-"cssesc@3.0.0":
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz"
-  integrity "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
-
-"csso@5.0.5":
-  version "5.0.5"
-  resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz"
-  integrity "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ=="
-  dependencies:
-    "css-tree" "2.2.1"
-
-"csstype@3.1.2":
-  version "3.1.2"
-  resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz"
-  integrity "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
-
-"dayjs@^1.11.9", "dayjs@1.11.9":
-  version "1.11.9"
-  resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz"
-  integrity "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA=="
-
-"de-indent@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz"
-  integrity "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg=="
-
-"debug@3.2.7":
-  version "3.2.7"
-  resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
-  integrity "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="
-  dependencies:
-    "ms" "2.1.3"
-
-"debug@4.3.4":
-  version "4.3.4"
-  resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
-  integrity "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
-  dependencies:
-    "ms" "2.1.2"
-
-"decode-uri-component@0.2.2":
-  version "0.2.2"
-  resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz"
-  integrity "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ=="
-
-"deep-is@0.1.4":
-  version "0.1.4"
-  resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz"
-  integrity "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
-
-"define-properties@1.2.0":
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz"
-  integrity "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA=="
-  dependencies:
-    "has-property-descriptors" "1.0.0"
-    "object-keys" "1.1.1"
-
-"dir-glob@3.0.1":
-  version "3.0.1"
-  resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
-  integrity "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="
-  dependencies:
-    "path-type" "4.0.0"
-
-"doctrine@2.1.0":
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz"
-  integrity "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw=="
-  dependencies:
-    "esutils" "2.0.3"
-
-"doctrine@3.0.0":
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz"
-  integrity "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w=="
-  dependencies:
-    "esutils" "2.0.3"
-
-"dom-serializer@2.0.0":
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz"
-  integrity "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="
-  dependencies:
-    "domelementtype" "2.3.0"
-    "domhandler" "5.0.3"
-    "entities" "4.5.0"
-
-"domelementtype@2.3.0":
-  version "2.3.0"
-  resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz"
-  integrity "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
-
-"domhandler@5.0.3":
-  version "5.0.3"
-  resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz"
-  integrity "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="
-  dependencies:
-    "domelementtype" "2.3.0"
-
-"domutils@3.1.0":
-  version "3.1.0"
-  resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz"
-  integrity "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA=="
-  dependencies:
-    "dom-serializer" "2.0.0"
-    "domelementtype" "2.3.0"
-    "domhandler" "5.0.3"
-
-"electron-to-chromium@1.4.447":
-  version "1.4.447"
-  resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.447.tgz"
-  integrity "sha512-sxX0LXh+uL41hSJsujAN86PjhrV/6c79XmpY0TvjZStV6VxIgarf8SRkUoUTuYmFcZQTemsoqo8qXOGw5npWfw=="
-
-"entities@4.5.0":
-  version "4.5.0"
-  resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz"
-  integrity "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
-
-"es-abstract@1.21.2":
-  version "1.21.2"
-  resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz"
-  integrity "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg=="
-  dependencies:
-    "array-buffer-byte-length" "1.0.0"
-    "available-typed-arrays" "1.0.5"
-    "call-bind" "1.0.2"
-    "es-set-tostringtag" "2.0.1"
-    "es-to-primitive" "1.2.1"
-    "function.prototype.name" "1.1.5"
-    "get-intrinsic" "1.2.1"
-    "get-symbol-description" "1.0.0"
-    "globalthis" "1.0.3"
-    "gopd" "1.0.1"
-    "has" "1.0.3"
-    "has-property-descriptors" "1.0.0"
-    "has-proto" "1.0.1"
-    "has-symbols" "1.0.3"
-    "internal-slot" "1.0.5"
-    "is-array-buffer" "3.0.2"
-    "is-callable" "1.2.7"
-    "is-negative-zero" "2.0.2"
-    "is-regex" "1.1.4"
-    "is-shared-array-buffer" "1.0.2"
-    "is-string" "1.0.7"
-    "is-typed-array" "1.1.10"
-    "is-weakref" "1.0.2"
-    "object-inspect" "1.12.3"
-    "object-keys" "1.1.1"
-    "object.assign" "4.1.4"
-    "regexp.prototype.flags" "1.5.0"
-    "safe-regex-test" "1.0.0"
-    "string.prototype.trim" "1.2.7"
-    "string.prototype.trimend" "1.0.6"
-    "string.prototype.trimstart" "1.0.6"
-    "typed-array-length" "1.0.4"
-    "unbox-primitive" "1.0.2"
-    "which-typed-array" "1.1.9"
-
-"es-set-tostringtag@2.0.1":
-  version "2.0.1"
-  resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz"
-  integrity "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg=="
-  dependencies:
-    "get-intrinsic" "1.2.1"
-    "has" "1.0.3"
-    "has-tostringtag" "1.0.0"
-
-"es-shim-unscopables@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz"
-  integrity "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w=="
-  dependencies:
-    "has" "1.0.3"
-
-"es-to-primitive@1.2.1":
-  version "1.2.1"
-  resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz"
-  integrity "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA=="
-  dependencies:
-    "is-callable" "1.2.7"
-    "is-date-object" "1.0.5"
-    "is-symbol" "1.0.4"
-
-"esbuild@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz"
-  integrity "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw=="
-
-"escalade@3.1.1":
-  version "3.1.1"
-  resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"
-  integrity "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
-
-"escape-string-regexp@1.0.5":
-  version "1.0.5"
-  resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
-  integrity "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
-
-"escape-string-regexp@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
-  integrity "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
-
-"escodegen@2.1.0":
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz"
-  integrity "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="
-  dependencies:
-    "esprima" "4.0.1"
-    "estraverse" "5.3.0"
-    "esutils" "2.0.3"
-
-"eslint-config-airbnb-base@^15.0.0", "eslint-config-airbnb-base@15.0.0":
-  version "15.0.0"
-  resolved "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz"
-  integrity "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig=="
-  dependencies:
-    "confusing-browser-globals" "1.0.11"
-    "eslint" "8.44.0"
-    "eslint-plugin-import" "2.27.5"
-    "object.assign" "4.1.4"
-    "object.entries" "1.1.6"
-    "semver" "7.5.3"
-
-"eslint-config-airbnb-typescript@^17.0.0", "eslint-config-airbnb-typescript@17.0.0":
-  version "17.0.0"
-  resolved "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.0.0.tgz"
-  integrity "sha512-elNiuzD0kPAPTXjFWg+lE24nMdHMtuxgYoD30OyMD6yrW1AhFZPAg27VX7d3tzOErw+dgJTNWfRSDqEcXb4V0g=="
-  dependencies:
-    "@typescript-eslint/eslint-plugin" "5.60.1"
-    "@typescript-eslint/parser" "5.60.1"
-    "eslint" "8.44.0"
-    "eslint-config-airbnb-base" "15.0.0"
-    "eslint-plugin-import" "2.27.5"
-
-"eslint-config-prettier@^8.8.0", "eslint-config-prettier@8.8.0":
-  version "8.8.0"
-  resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz"
-  integrity "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA=="
-  dependencies:
-    "eslint" "8.44.0"
-
-"eslint-import-resolver-node@0.3.7":
-  version "0.3.7"
-  resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz"
-  integrity "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA=="
-  dependencies:
-    "debug" "3.2.7"
-    "is-core-module" "2.12.1"
-    "resolve" "1.22.2"
-
-"eslint-module-utils@2.8.0":
-  version "2.8.0"
-  resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz"
-  integrity "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw=="
-  dependencies:
-    "@typescript-eslint/parser" "5.60.1"
-    "debug" "3.2.7"
-    "eslint" "8.44.0"
-    "eslint-import-resolver-node" "0.3.7"
-
-"eslint-plugin-import@^2.27.5", "eslint-plugin-import@2.27.5":
-  version "2.27.5"
-  resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz"
-  integrity "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow=="
-  dependencies:
-    "@typescript-eslint/parser" "5.60.1"
-    "array-includes" "3.1.6"
-    "array.prototype.flat" "1.3.1"
-    "array.prototype.flatmap" "1.3.1"
-    "debug" "3.2.7"
-    "doctrine" "2.1.0"
-    "eslint" "8.44.0"
-    "eslint-import-resolver-node" "0.3.7"
-    "eslint-module-utils" "2.8.0"
-    "has" "1.0.3"
-    "is-core-module" "2.12.1"
-    "is-glob" "4.0.3"
-    "minimatch" "3.1.2"
-    "object.values" "1.1.6"
-    "resolve" "1.22.2"
-    "semver" "7.5.3"
-    "tsconfig-paths" "3.14.2"
-
-"eslint-plugin-prettier@^4.2.1", "eslint-plugin-prettier@4.2.1":
-  version "4.2.1"
-  resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz"
-  integrity "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ=="
-  dependencies:
-    "eslint" "8.44.0"
-    "eslint-config-prettier" "8.8.0"
-    "prettier" "2.8.8"
-    "prettier-linter-helpers" "1.0.0"
-
-"eslint-plugin-promise@^6.1.1", "eslint-plugin-promise@6.1.1":
-  version "6.1.1"
-  resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz"
-  integrity "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig=="
-  dependencies:
-    "eslint" "8.44.0"
-
-"eslint-plugin-simple-import-sort@^10.0.0", "eslint-plugin-simple-import-sort@10.0.0":
-  version "10.0.0"
-  resolved "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz"
-  integrity "sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw=="
-  dependencies:
-    "eslint" "8.44.0"
-
-"eslint-plugin-vue-scoped-css@^2.5.0", "eslint-plugin-vue-scoped-css@2.5.0":
-  version "2.5.0"
-  resolved "https://registry.npmjs.org/eslint-plugin-vue-scoped-css/-/eslint-plugin-vue-scoped-css-2.5.0.tgz"
-  integrity "sha512-vR+raYNE1aQ69lS1lZGiKoz8rXFI3MWf2fxrfns/XCQ0XT5sIguhDtQS+9JmUQJClenLDEe2CQx7P+eeSdF4cA=="
-  dependencies:
-    "eslint" "8.44.0"
-    "eslint-utils" "3.0.0"
-    "lodash" "4.17.21"
-    "postcss" "8.4.31"
-    "postcss-safe-parser" "6.0.0"
-    "postcss-scss" "4.0.6"
-    "postcss-selector-parser" "6.0.13"
-    "postcss-styl" "0.12.3"
-    "vue-eslint-parser" "9.3.1"
-
-"eslint-plugin-vue@^9.15.1", "eslint-plugin-vue@9.15.1":
-  version "9.15.1"
-  resolved "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.15.1.tgz"
-  integrity "sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A=="
-  dependencies:
-    "@eslint-community/eslint-utils" "4.4.0"
-    "eslint" "8.44.0"
-    "natural-compare" "1.4.0"
-    "nth-check" "2.1.1"
-    "postcss-selector-parser" "6.0.13"
-    "semver" "7.5.3"
-    "vue-eslint-parser" "9.3.1"
-    "xml-name-validator" "4.0.0"
-
-"eslint-scope@5.1.1":
-  version "5.1.1"
-  resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
-  integrity "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw=="
-  dependencies:
-    "esrecurse" "4.3.0"
-    "estraverse" "4.3.0"
-
-"eslint-scope@7.2.0":
-  version "7.2.0"
-  resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz"
-  integrity "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw=="
-  dependencies:
-    "esrecurse" "4.3.0"
-    "estraverse" "5.3.0"
-
-"eslint-utils@2.1.0":
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz"
-  integrity "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg=="
-  dependencies:
-    "eslint-visitor-keys" "1.3.0"
-
-"eslint-utils@3.0.0":
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz"
-  integrity "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA=="
-  dependencies:
-    "eslint" "8.44.0"
-    "eslint-visitor-keys" "2.1.0"
-
-"eslint-visitor-keys@1.3.0":
-  version "1.3.0"
-  resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
-  integrity "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ=="
-
-"eslint-visitor-keys@2.1.0":
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz"
-  integrity "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw=="
-
-"eslint-visitor-keys@3.4.1":
-  version "3.4.1"
-  resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz"
-  integrity "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA=="
-
-"eslint@^8.44.0", "eslint@8.44.0":
-  version "8.44.0"
-  resolved "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz"
-  integrity "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A=="
-  dependencies:
-    "@eslint-community/eslint-utils" "4.4.0"
-    "@eslint-community/regexpp" "4.5.1"
-    "@eslint/eslintrc" "2.1.0"
-    "@eslint/js" "8.44.0"
-    "@humanwhocodes/config-array" "0.11.10"
-    "@humanwhocodes/module-importer" "1.0.1"
-    "@nodelib/fs.walk" "1.2.8"
-    "ajv" "6.12.6"
-    "chalk" "4.1.2"
-    "cross-spawn" "7.0.3"
-    "debug" "4.3.4"
-    "doctrine" "3.0.0"
-    "escape-string-regexp" "4.0.0"
-    "eslint-scope" "7.2.0"
-    "eslint-visitor-keys" "3.4.1"
-    "espree" "9.6.0"
-    "esquery" "1.5.0"
-    "esutils" "2.0.3"
-    "fast-deep-equal" "3.1.3"
-    "file-entry-cache" "6.0.1"
-    "find-up" "5.0.0"
-    "glob-parent" "6.0.2"
-    "globals" "13.20.0"
-    "graphemer" "1.4.0"
-    "ignore" "5.2.4"
-    "import-fresh" "3.3.0"
-    "imurmurhash" "0.1.4"
-    "is-glob" "4.0.3"
-    "is-path-inside" "3.0.3"
-    "js-yaml" "4.1.0"
-    "json-stable-stringify-without-jsonify" "1.0.1"
-    "levn" "0.4.1"
-    "lodash.merge" "4.6.2"
-    "minimatch" "3.1.2"
-    "natural-compare" "1.4.0"
-    "optionator" "0.9.3"
-    "strip-ansi" "6.0.1"
-    "strip-json-comments" "3.1.1"
-    "text-table" "0.2.0"
-
-"espree@6.2.1":
-  version "6.2.1"
-  resolved "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz"
-  integrity "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw=="
-  dependencies:
-    "acorn" "7.4.1"
-    "acorn-jsx" "5.3.2"
-    "eslint-visitor-keys" "1.3.0"
-
-"espree@9.6.0":
-  version "9.6.0"
-  resolved "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz"
-  integrity "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A=="
-  dependencies:
-    "acorn" "8.9.0"
-    "acorn-jsx" "5.3.2"
-    "eslint-visitor-keys" "3.4.1"
-
-"esprima@4.0.1":
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
-  integrity "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
-
-"esquery@1.5.0":
-  version "1.5.0"
-  resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz"
-  integrity "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg=="
-  dependencies:
-    "estraverse" "5.3.0"
-
-"esrecurse@4.3.0":
-  version "4.3.0"
-  resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz"
-  integrity "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="
-  dependencies:
-    "estraverse" "5.3.0"
-
-"estraverse@4.3.0":
-  version "4.3.0"
-  resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
-  integrity "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
-
-"estraverse@5.3.0":
-  version "5.3.0"
-  resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
-  integrity "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
-
-"estree-walker@2.0.2":
-  version "2.0.2"
-  resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz"
-  integrity "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
-
-"esutils@2.0.3":
-  version "2.0.3"
-  resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
-  integrity "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
-
-"execa@5.1.1":
-  version "5.1.1"
-  resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
-  integrity "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg=="
-  dependencies:
-    "cross-spawn" "7.0.3"
-    "get-stream" "6.0.1"
-    "human-signals" "2.1.0"
-    "is-stream" "2.0.1"
-    "merge-stream" "2.0.0"
-    "npm-run-path" "4.0.1"
-    "onetime" "5.1.2"
-    "signal-exit" "3.0.7"
-    "strip-final-newline" "2.0.0"
-
-"fast-deep-equal@3.1.3":
-  version "3.1.3"
-  resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
-  integrity "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
-
-"fast-diff@1.3.0":
-  version "1.3.0"
-  resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz"
-  integrity "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw=="
-
-"fast-glob@3.3.0":
-  version "3.3.0"
-  resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz"
-  integrity "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA=="
-  dependencies:
-    "@nodelib/fs.stat" "2.0.5"
-    "@nodelib/fs.walk" "1.2.8"
-    "glob-parent" "5.1.2"
-    "merge2" "1.4.1"
-    "micromatch" "4.0.5"
-
-"fast-json-stable-stringify@2.1.0":
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
-  integrity "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
-
-"fast-levenshtein@2.0.6":
-  version "2.0.6"
-  resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
-  integrity "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
-
-"fastq@1.15.0":
-  version "1.15.0"
-  resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz"
-  integrity "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw=="
-  dependencies:
-    "reusify" "1.0.4"
-
-"file-entry-cache@6.0.1":
-  version "6.0.1"
-  resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz"
-  integrity "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg=="
-  dependencies:
-    "flat-cache" "3.0.4"
-
-"fill-range@7.0.1":
-  version "7.0.1"
-  resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"
-  integrity "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ=="
-  dependencies:
-    "to-regex-range" "5.0.1"
-
-"find-up@5.0.0":
-  version "5.0.0"
-  resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
-  integrity "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="
-  dependencies:
-    "locate-path" "6.0.0"
-    "path-exists" "4.0.0"
-
-"flat-cache@3.0.4":
-  version "3.0.4"
-  resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz"
-  integrity "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg=="
-  dependencies:
-    "flatted" "3.2.7"
-    "rimraf" "3.0.2"
-
-"flatted@3.2.7":
-  version "3.2.7"
-  resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz"
-  integrity "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
-
-"floating-vue@^2.0.0-beta.24", "floating-vue@2.0.0-beta.24":
-  version "2.0.0-beta.24"
-  resolved "https://registry.npmjs.org/floating-vue/-/floating-vue-2.0.0-beta.24.tgz"
-  integrity "sha512-URSzP6YXaF4u1oZ9XGL8Sn8puuM7ivp5jkOUrpy5Q1mfo9BfGppJOn+ierTmsSUfJEeHBae8KT7r5DeI3vQIEw=="
-  dependencies:
-    "@floating-ui/dom" "1.1.1"
-    "vue" "3.3.4"
-    "vue-resize" "2.0.0-alpha.1"
-
-"for-each@0.3.3":
-  version "0.3.3"
-  resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz"
-  integrity "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw=="
-  dependencies:
-    "is-callable" "1.2.7"
-
-"fs.realpath@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
-  integrity "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
-
-"fsevents@2.3.2":
-  version "2.3.2"
-  resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz"
-  integrity "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA=="
-
-"function-bind@1.1.1":
-  version "1.1.1"
-  resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
-  integrity "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
-
-"function.prototype.name@1.1.5":
-  version "1.1.5"
-  resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz"
-  integrity "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "define-properties" "1.2.0"
-    "es-abstract" "1.21.2"
-    "functions-have-names" "1.2.3"
-
-"functions-have-names@1.2.3":
-  version "1.2.3"
-  resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz"
-  integrity "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="
-
-"fuse.js@^6.6.2", "fuse.js@6.6.2":
-  version "6.6.2"
-  resolved "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz"
-  integrity "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA=="
-
-"gensync@1.0.0-beta.2":
-  version "1.0.0-beta.2"
-  resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz"
-  integrity "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
-
-"get-intrinsic@1.2.1":
-  version "1.2.1"
-  resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz"
-  integrity "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw=="
-  dependencies:
-    "function-bind" "1.1.1"
-    "has" "1.0.3"
-    "has-proto" "1.0.1"
-    "has-symbols" "1.0.3"
-
-"get-stream@6.0.1":
-  version "6.0.1"
-  resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"
-  integrity "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="
-
-"get-symbol-description@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz"
-  integrity "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "get-intrinsic" "1.2.1"
-
-"glob-parent@5.1.2":
-  version "5.1.2"
-  resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
-  integrity "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="
-  dependencies:
-    "is-glob" "4.0.3"
-
-"glob-parent@6.0.2":
-  version "6.0.2"
-  resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz"
-  integrity "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="
-  dependencies:
-    "is-glob" "4.0.3"
-
-"glob@7.2.3":
-  version "7.2.3"
-  resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
-  integrity "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="
-  dependencies:
-    "fs.realpath" "1.0.0"
-    "inflight" "1.0.6"
-    "inherits" "2.0.4"
-    "minimatch" "3.1.2"
-    "once" "1.4.0"
-    "path-is-absolute" "1.0.1"
-
-"globals@11.12.0":
-  version "11.12.0"
-  resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
-  integrity "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
-
-"globals@13.20.0":
-  version "13.20.0"
-  resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz"
-  integrity "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ=="
-  dependencies:
-    "type-fest" "0.20.2"
-
-"globalthis@1.0.3":
-  version "1.0.3"
-  resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz"
-  integrity "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA=="
-  dependencies:
-    "define-properties" "1.2.0"
-
-"globby@11.1.0":
-  version "11.1.0"
-  resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz"
-  integrity "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g=="
-  dependencies:
-    "array-union" "2.1.0"
-    "dir-glob" "3.0.1"
-    "fast-glob" "3.3.0"
-    "ignore" "5.2.4"
-    "merge2" "1.4.1"
-    "slash" "3.0.0"
-
-"gopd@1.0.1":
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz"
-  integrity "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA=="
-  dependencies:
-    "get-intrinsic" "1.2.1"
-
-"grapheme-splitter@1.0.4":
-  version "1.0.4"
-  resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz"
-  integrity "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
-
-"graphemer@1.4.0":
-  version "1.4.0"
-  resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz"
-  integrity "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="
-
-"has-bigints@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz"
-  integrity "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ=="
-
-"has-flag@3.0.0":
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
-  integrity "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
-
-"has-flag@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
-  integrity "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
-
-"has-property-descriptors@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz"
-  integrity "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ=="
-  dependencies:
-    "get-intrinsic" "1.2.1"
-
-"has-proto@1.0.1":
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz"
-  integrity "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg=="
-
-"has-symbols@1.0.3":
-  version "1.0.3"
-  resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
-  integrity "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
-
-"has-tostringtag@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz"
-  integrity "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ=="
-  dependencies:
-    "has-symbols" "1.0.3"
-
-"has@1.0.3":
-  version "1.0.3"
-  resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz"
-  integrity "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="
-  dependencies:
-    "function-bind" "1.1.1"
-
-"he@1.2.0":
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz"
-  integrity "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
-
-"human-signals@2.1.0":
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz"
-  integrity "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
-
-"humanize-duration@^3.28.0", "humanize-duration@3.28.0":
-  version "3.28.0"
-  resolved "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.28.0.tgz"
-  integrity "sha512-jMAxraOOmHuPbffLVDKkEKi/NeG8dMqP8lGRd6Tbf7JgAeG33jjgPWDbXXU7ypCI0o+oNKJFgbSB9FKVdWNI2A=="
-
-"ignore@5.2.4":
-  version "5.2.4"
-  resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz"
-  integrity "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ=="
-
-"import-fresh@3.3.0":
-  version "3.3.0"
-  resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz"
-  integrity "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw=="
-  dependencies:
-    "parent-module" "1.0.1"
-    "resolve-from" "4.0.0"
-
-"imurmurhash@0.1.4":
-  version "0.1.4"
-  resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
-  integrity "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="
-
-"inflight@1.0.6":
-  version "1.0.6"
-  resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
-  integrity "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="
-  dependencies:
-    "once" "1.4.0"
-    "wrappy" "1.0.2"
-
-"inherits@2.0.4":
-  version "2.0.4"
-  resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
-  integrity "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
-
-"internal-slot@1.0.5":
-  version "1.0.5"
-  resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz"
-  integrity "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ=="
-  dependencies:
-    "get-intrinsic" "1.2.1"
-    "has" "1.0.3"
-    "side-channel" "1.0.4"
-
-"is-array-buffer@3.0.2":
-  version "3.0.2"
-  resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz"
-  integrity "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "get-intrinsic" "1.2.1"
-    "is-typed-array" "1.1.10"
-
-"is-bigint@1.0.4":
-  version "1.0.4"
-  resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz"
-  integrity "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg=="
-  dependencies:
-    "has-bigints" "1.0.2"
-
-"is-binary-path@2.1.0":
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"
-  integrity "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="
-  dependencies:
-    "binary-extensions" "2.2.0"
-
-"is-boolean-object@1.1.2":
-  version "1.1.2"
-  resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz"
-  integrity "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "has-tostringtag" "1.0.0"
-
-"is-callable@1.2.7":
-  version "1.2.7"
-  resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz"
-  integrity "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="
-
-"is-core-module@2.12.1":
-  version "2.12.1"
-  resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz"
-  integrity "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg=="
-  dependencies:
-    "has" "1.0.3"
-
-"is-date-object@1.0.5":
-  version "1.0.5"
-  resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz"
-  integrity "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ=="
-  dependencies:
-    "has-tostringtag" "1.0.0"
-
-"is-extglob@2.1.1":
-  version "2.1.1"
-  resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
-  integrity "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
-
-"is-glob@4.0.3":
-  version "4.0.3"
-  resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
-  integrity "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="
-  dependencies:
-    "is-extglob" "2.1.1"
-
-"is-negative-zero@2.0.2":
-  version "2.0.2"
-  resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz"
-  integrity "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA=="
-
-"is-number-object@1.0.7":
-  version "1.0.7"
-  resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz"
-  integrity "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ=="
-  dependencies:
-    "has-tostringtag" "1.0.0"
-
-"is-number@7.0.0":
-  version "7.0.0"
-  resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
-  integrity "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
-
-"is-path-inside@3.0.3":
-  version "3.0.3"
-  resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz"
-  integrity "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="
-
-"is-regex@1.1.4":
-  version "1.1.4"
-  resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz"
-  integrity "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "has-tostringtag" "1.0.0"
-
-"is-shared-array-buffer@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz"
-  integrity "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA=="
-  dependencies:
-    "call-bind" "1.0.2"
-
-"is-stream@2.0.1":
-  version "2.0.1"
-  resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
-  integrity "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
-
-"is-string@1.0.7":
-  version "1.0.7"
-  resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz"
-  integrity "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg=="
-  dependencies:
-    "has-tostringtag" "1.0.0"
-
-"is-symbol@1.0.4":
-  version "1.0.4"
-  resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz"
-  integrity "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg=="
-  dependencies:
-    "has-symbols" "1.0.3"
-
-"is-typed-array@1.1.10":
-  version "1.1.10"
-  resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz"
-  integrity "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A=="
-  dependencies:
-    "available-typed-arrays" "1.0.5"
-    "call-bind" "1.0.2"
-    "for-each" "0.3.3"
-    "gopd" "1.0.1"
-    "has-tostringtag" "1.0.0"
-
-"is-weakref@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz"
-  integrity "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ=="
-  dependencies:
-    "call-bind" "1.0.2"
-
-"isexe@2.0.0":
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
-  integrity "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
-
-"javascript-time-ago@^2.5.9", "javascript-time-ago@2.5.9":
-  version "2.5.9"
-  resolved "https://registry.npmjs.org/javascript-time-ago/-/javascript-time-ago-2.5.9.tgz"
-  integrity "sha512-pQ8mNco/9g9TqWXWWjP0EWl6i/lAQScOyEeXy5AB+f7MfLSdgyV9BJhiOD1zrIac/lrxPYOWNbyl/IW8CW5n0A=="
-  dependencies:
-    "relative-time-format" "1.1.6"
-
-"jiti@1.18.2":
-  version "1.18.2"
-  resolved "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz"
-  integrity "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg=="
-
-"js-tokens@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
-  integrity "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
-
-"js-yaml@4.1.0":
-  version "4.1.0"
-  resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
-  integrity "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="
-  dependencies:
-    "argparse" "2.0.1"
-
-"jsesc@2.5.2":
-  version "2.5.2"
-  resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
-  integrity "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
-
-"json-schema-traverse@0.4.1":
-  version "0.4.1"
-  resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
-  integrity "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
-
-"json-stable-stringify-without-jsonify@1.0.1":
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
-  integrity "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
-
-"json5@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz"
-  integrity "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA=="
-  dependencies:
-    "minimist" "1.2.8"
-
-"json5@2.2.3":
-  version "2.2.3"
-  resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz"
-  integrity "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="
-
-"jsonc-eslint-parser@1.4.1":
-  version "1.4.1"
-  resolved "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-1.4.1.tgz"
-  integrity "sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg=="
-  dependencies:
-    "acorn" "7.4.1"
-    "eslint-utils" "2.1.0"
-    "eslint-visitor-keys" "1.3.0"
-    "espree" "6.2.1"
-    "semver" "7.5.3"
-
-"kolorist@1.8.0":
-  version "1.8.0"
-  resolved "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz"
-  integrity "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="
-
-"levn@0.4.1":
-  version "0.4.1"
-  resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
-  integrity "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="
-  dependencies:
-    "prelude-ls" "1.2.1"
-    "type-check" "0.4.0"
-
-"local-pkg@0.4.3":
-  version "0.4.3"
-  resolved "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz"
-  integrity "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g=="
-
-"locate-path@6.0.0":
-  version "6.0.0"
-  resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz"
-  integrity "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="
-  dependencies:
-    "p-locate" "5.0.0"
-
-"lodash.merge@4.6.2":
-  version "4.6.2"
-  resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"
-  integrity "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
-
-"lodash.sortedlastindex@4.1.0":
-  version "4.1.0"
-  resolved "https://registry.npmjs.org/lodash.sortedlastindex/-/lodash.sortedlastindex-4.1.0.tgz"
-  integrity "sha512-s8xEQdsp2Tu5zUqVdFSe9C0kR8YlnAJYLqMdkh+pIRBRxF6/apWseLdHl3/+jv2I61dhPwtI/Ff+EqvCpc+N8w=="
-
-"lodash@^4.17.21", "lodash@4.17.21":
-  version "4.17.21"
-  resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
-  integrity "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
-
-"lru-cache@5.1.1":
-  version "5.1.1"
-  resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz"
-  integrity "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="
-  dependencies:
-    "yallist" "3.1.1"
-
-"lru-cache@6.0.0":
-  version "6.0.0"
-  resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz"
-  integrity "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="
-  dependencies:
-    "yallist" "4.0.0"
-
-"magic-string@0.30.0":
-  version "0.30.0"
-  resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz"
-  integrity "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ=="
-  dependencies:
-    "@jridgewell/sourcemap-codec" "1.4.15"
-
-"mdn-data@2.0.28":
-  version "2.0.28"
-  resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz"
-  integrity "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="
-
-"mdn-data@2.0.30":
-  version "2.0.30"
-  resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz"
-  integrity "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA=="
-
-"merge-stream@2.0.0":
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz"
-  integrity "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
-
-"merge2@1.4.1":
-  version "1.4.1"
-  resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
-  integrity "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
-
-"micromatch@4.0.5":
-  version "4.0.5"
-  resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz"
-  integrity "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA=="
-  dependencies:
-    "braces" "3.0.2"
-    "picomatch" "2.3.1"
-
-"mimic-fn@2.1.0":
-  version "2.1.0"
-  resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
-  integrity "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
-
-"minimatch@3.1.2":
-  version "3.1.2"
-  resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
-  integrity "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="
-  dependencies:
-    "brace-expansion" "1.1.11"
-
-"minimatch@7.4.6":
-  version "7.4.6"
-  resolved "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz"
-  integrity "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw=="
-  dependencies:
-    "brace-expansion" "2.0.1"
-
-"minimatch@9.0.2":
-  version "9.0.2"
-  resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz"
-  integrity "sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg=="
-  dependencies:
-    "brace-expansion" "2.0.1"
-
-"minimist@1.2.8":
-  version "1.2.8"
-  resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
-  integrity "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
-
-"ms@2.1.2":
-  version "2.1.2"
-  resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
-  integrity "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
-
-"ms@2.1.3":
-  version "2.1.3"
-  resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
-  integrity "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
-
-"muggle-string@0.3.1":
-  version "0.3.1"
-  resolved "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz"
-  integrity "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg=="
-
-"nanoid@3.3.6":
-  version "3.3.6"
-  resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz"
-  integrity "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
-
-"natural-compare-lite@1.4.0":
-  version "1.4.0"
-  resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz"
-  integrity "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g=="
-
-"natural-compare@1.4.0":
-  version "1.4.0"
-  resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
-  integrity "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
-
-"node-emoji@^1.11.0", "node-emoji@1.11.0":
-  version "1.11.0"
-  resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz"
-  integrity "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A=="
-  dependencies:
-    "lodash" "4.17.21"
-
-"node-releases@2.0.12":
-  version "2.0.12"
-  resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz"
-  integrity "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ=="
-
-"normalize-path@3.0.0":
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
-  integrity "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
-
-"npm-run-path@4.0.1":
-  version "4.0.1"
-  resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz"
-  integrity "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw=="
-  dependencies:
-    "path-key" "3.1.1"
-
-"nth-check@2.1.1":
-  version "2.1.1"
-  resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz"
-  integrity "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="
-  dependencies:
-    "boolbase" "1.0.0"
-
-"object-inspect@1.12.3":
-  version "1.12.3"
-  resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz"
-  integrity "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g=="
-
-"object-keys@1.1.1":
-  version "1.1.1"
-  resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"
-  integrity "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
-
-"object.assign@4.1.4":
-  version "4.1.4"
-  resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz"
-  integrity "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "define-properties" "1.2.0"
-    "has-symbols" "1.0.3"
-    "object-keys" "1.1.1"
-
-"object.entries@1.1.6":
-  version "1.1.6"
-  resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz"
-  integrity "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "define-properties" "1.2.0"
-    "es-abstract" "1.21.2"
-
-"object.values@1.1.6":
-  version "1.1.6"
-  resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz"
-  integrity "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "define-properties" "1.2.0"
-    "es-abstract" "1.21.2"
-
-"once@1.4.0":
-  version "1.4.0"
-  resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
-  integrity "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="
-  dependencies:
-    "wrappy" "1.0.2"
-
-"onetime@5.1.2":
-  version "5.1.2"
-  resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz"
-  integrity "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="
-  dependencies:
-    "mimic-fn" "2.1.0"
-
-"optionator@0.9.3":
-  version "0.9.3"
-  resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz"
-  integrity "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg=="
-  dependencies:
-    "@aashutoshrathi/word-wrap" "1.2.6"
-    "deep-is" "0.1.4"
-    "fast-levenshtein" "2.0.6"
-    "levn" "0.4.1"
-    "prelude-ls" "1.2.1"
-    "type-check" "0.4.0"
-
-"p-limit@3.1.0":
-  version "3.1.0"
-  resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz"
-  integrity "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="
-  dependencies:
-    "yocto-queue" "0.1.0"
-
-"p-locate@5.0.0":
-  version "5.0.0"
-  resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz"
-  integrity "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="
-  dependencies:
-    "p-limit" "3.1.0"
-
-"parent-module@1.0.1":
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
-  integrity "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="
-  dependencies:
-    "callsites" "3.1.0"
-
-"path-exists@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz"
-  integrity "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
-
-"path-is-absolute@1.0.1":
-  version "1.0.1"
-  resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
-  integrity "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
-
-"path-key@3.1.1":
-  version "3.1.1"
-  resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
-  integrity "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
-
-"path-parse@1.0.7":
-  version "1.0.7"
-  resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
-  integrity "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
-
-"path-type@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
-  integrity "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
-
-"pathe@1.1.1":
-  version "1.1.1"
-  resolved "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz"
-  integrity "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q=="
-
-"picocolors@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
-  integrity "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
-
-"picomatch@2.3.1":
-  version "2.3.1"
-  resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
-  integrity "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
-
-"pinia@^2.1.4", "pinia@2.1.4":
-  version "2.1.4"
-  resolved "https://registry.npmjs.org/pinia/-/pinia-2.1.4.tgz"
-  integrity "sha512-vYlnDu+Y/FXxv1ABo1vhjC+IbqvzUdiUC3sfDRrRyY2CQSrqqaa+iiHmqtARFxJVqWQMCJfXx1PBvFs9aJVLXQ=="
-  dependencies:
-    "@vue/devtools-api" "6.5.0"
-    "typescript" "5.0.3"
-    "vue" "3.3.4"
-    "vue-demi" "0.14.5"
-
-"postcss-safe-parser@6.0.0":
-  version "6.0.0"
-  resolved "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz"
-  integrity "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ=="
-  dependencies:
-    "postcss" "8.4.31"
-
-"postcss-scss@4.0.6":
-  version "4.0.6"
-  resolved "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz"
-  integrity "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ=="
-  dependencies:
-    "postcss" "8.4.31"
-
-"postcss-selector-parser@6.0.13":
-  version "6.0.13"
-  resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz"
-  integrity "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ=="
-  dependencies:
-    "cssesc" "3.0.0"
-    "util-deprecate" "1.0.2"
-
-"postcss-styl@0.12.3":
-  version "0.12.3"
-  resolved "https://registry.npmjs.org/postcss-styl/-/postcss-styl-0.12.3.tgz"
-  integrity "sha512-8I7Cd8sxiEITIp32xBK4K/Aj1ukX6vuWnx8oY/oAH35NfQI4OZaY5nd68Yx8HeN5S49uhQ6DL0rNk0ZBu/TaLg=="
-  dependencies:
-    "debug" "4.3.4"
-    "fast-diff" "1.3.0"
-    "lodash.sortedlastindex" "4.1.0"
-    "postcss" "8.4.31"
-    "stylus" "0.57.0"
-
-"postcss@8.4.31":
-  version "8.4.31"
-  resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz"
-  integrity "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ=="
-  dependencies:
-    "nanoid" "3.3.6"
-    "picocolors" "1.0.0"
-    "source-map-js" "1.0.2"
-
-"prelude-ls@1.2.1":
-  version "1.2.1"
-  resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
-  integrity "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
-
-"prettier-linter-helpers@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz"
-  integrity "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w=="
-  dependencies:
-    "fast-diff" "1.3.0"
-
-"prettier@^2.8.8", "prettier@2.8.8":
-  version "2.8.8"
-  resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz"
-  integrity "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="
-
-"prismjs@^1.29.0", "prismjs@1.29.0":
-  version "1.29.0"
-  resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz"
-  integrity "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q=="
-
-"punycode@2.3.0":
-  version "2.3.0"
-  resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz"
-  integrity "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
-
-"queue-microtask@1.2.3":
-  version "1.2.3"
-  resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
-  integrity "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
-
-"readdirp@3.6.0":
-  version "3.6.0"
-  resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz"
-  integrity "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="
-  dependencies:
-    "picomatch" "2.3.1"
-
-"regexp.prototype.flags@1.5.0":
-  version "1.5.0"
-  resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz"
-  integrity "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "define-properties" "1.2.0"
-    "functions-have-names" "1.2.3"
-
-"relative-time-format@1.1.6":
-  version "1.1.6"
-  resolved "https://registry.npmjs.org/relative-time-format/-/relative-time-format-1.1.6.tgz"
-  integrity "sha512-aCv3juQw4hT1/P/OrVltKWLlp15eW1GRcwP1XdxHrPdZE9MtgqFpegjnTjLhi2m2WI9MT/hQQtE+tjEWG1hgkQ=="
-
-"resolve-from@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
-  integrity "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
-
-"resolve@1.22.2":
-  version "1.22.2"
-  resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz"
-  integrity "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g=="
-  dependencies:
-    "is-core-module" "2.12.1"
-    "path-parse" "1.0.7"
-    "supports-preserve-symlinks-flag" "1.0.0"
-
-"reusify@1.0.4":
-  version "1.0.4"
-  resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
-  integrity "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
-
-"rimraf@3.0.2":
-  version "3.0.2"
-  resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
-  integrity "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="
-  dependencies:
-    "glob" "7.2.3"
-
-"rollup@3.26.0":
-  version "3.26.0"
-  resolved "https://registry.npmjs.org/rollup/-/rollup-3.26.0.tgz"
-  integrity "sha512-YzJH0eunH2hr3knvF3i6IkLO/jTjAEwU4HoMUbQl4//Tnl3ou0e7P5SjxdDr8HQJdeUJShlbEHXrrnEHy1l7Yg=="
-
-"run-parallel@1.2.0":
-  version "1.2.0"
-  resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
-  integrity "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="
-  dependencies:
-    "queue-microtask" "1.2.3"
-
-"safe-regex-test@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz"
-  integrity "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "get-intrinsic" "1.2.1"
-    "is-regex" "1.1.4"
-
-"safer-buffer@2.1.2":
-  version "2.1.2"
-  resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
-  integrity "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
-
-"sax@1.2.4":
-  version "1.2.4"
-  resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz"
-  integrity "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
-
-"semver@7.5.3":
-  version "7.5.3"
-  resolved "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz"
-  integrity "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ=="
-  dependencies:
-    "lru-cache" "6.0.0"
-
-"shebang-command@2.0.0":
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
-  integrity "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="
-  dependencies:
-    "shebang-regex" "3.0.0"
-
-"shebang-regex@3.0.0":
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
-  integrity "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
-
-"side-channel@1.0.4":
-  version "1.0.4"
-  resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz"
-  integrity "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "get-intrinsic" "1.2.1"
-    "object-inspect" "1.12.3"
-
-"signal-exit@3.0.7":
-  version "3.0.7"
-  resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz"
-  integrity "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
-
-"slash@3.0.0":
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
-  integrity "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
-
-"source-map-js@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
-  integrity "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
-
-"source-map-resolve@0.6.0":
-  version "0.6.0"
-  resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz"
-  integrity "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w=="
-  dependencies:
-    "atob" "2.1.2"
-    "decode-uri-component" "0.2.2"
-
-"source-map@0.6.1":
-  version "0.6.1"
-  resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
-  integrity "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-
-"source-map@0.7.4":
-  version "0.7.4"
-  resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz"
-  integrity "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA=="
-
-"string.prototype.trim@1.2.7":
-  version "1.2.7"
-  resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz"
-  integrity "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "define-properties" "1.2.0"
-    "es-abstract" "1.21.2"
-
-"string.prototype.trimend@1.0.6":
-  version "1.0.6"
-  resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz"
-  integrity "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "define-properties" "1.2.0"
-    "es-abstract" "1.21.2"
-
-"string.prototype.trimstart@1.0.6":
-  version "1.0.6"
-  resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz"
-  integrity "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "define-properties" "1.2.0"
-    "es-abstract" "1.21.2"
-
-"strip-ansi@6.0.1":
-  version "6.0.1"
-  resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
-  integrity "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="
-  dependencies:
-    "ansi-regex" "5.0.1"
-
-"strip-bom@3.0.0":
-  version "3.0.0"
-  resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
-  integrity "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="
-
-"strip-final-newline@2.0.0":
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
-  integrity "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
-
-"strip-json-comments@3.1.1":
-  version "3.1.1"
-  resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
-  integrity "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
-
-"stylus@0.57.0":
-  version "0.57.0"
-  resolved "https://registry.npmjs.org/stylus/-/stylus-0.57.0.tgz"
-  integrity "sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ=="
-  dependencies:
-    "css" "3.0.0"
-    "debug" "4.3.4"
-    "glob" "7.2.3"
-    "safer-buffer" "2.1.2"
-    "sax" "1.2.4"
-    "source-map" "0.7.4"
-
-"supports-color@5.5.0":
-  version "5.5.0"
-  resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
-  integrity "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="
-  dependencies:
-    "has-flag" "3.0.0"
-
-"supports-color@7.2.0":
-  version "7.2.0"
-  resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
-  integrity "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="
-  dependencies:
-    "has-flag" "4.0.0"
-
-"supports-preserve-symlinks-flag@1.0.0":
-  version "1.0.0"
-  resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
-  integrity "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
-
-"svgo@3.0.2":
-  version "3.0.2"
-  resolved "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz"
-  integrity "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ=="
-  dependencies:
-    "@trysound/sax" "0.2.0"
-    "commander" "7.2.0"
-    "css-select" "5.1.0"
-    "css-tree" "2.3.1"
-    "csso" "5.0.5"
-    "picocolors" "1.0.0"
-
-"text-table@0.2.0":
-  version "0.2.0"
-  resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
-  integrity "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
-
-"to-fast-properties@2.0.0":
-  version "2.0.0"
-  resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz"
-  integrity "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog=="
-
-"to-regex-range@5.0.1":
-  version "5.0.1"
-  resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
-  integrity "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="
-  dependencies:
-    "is-number" "7.0.0"
-
-"tsconfig-paths@3.14.2":
-  version "3.14.2"
-  resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz"
-  integrity "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g=="
-  dependencies:
-    "@types/json5" "0.0.29"
-    "json5" "1.0.2"
-    "minimist" "1.2.8"
-    "strip-bom" "3.0.0"
-
-"tslib@1.14.1":
-  version "1.14.1"
-  resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
-  integrity "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
-
-"tsutils@3.21.0":
-  version "3.21.0"
-  resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz"
-  integrity "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA=="
-  dependencies:
-    "tslib" "1.14.1"
-    "typescript" "5.0.3"
-
-"type-check@0.4.0":
-  version "0.4.0"
-  resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
-  integrity "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="
-  dependencies:
-    "prelude-ls" "1.2.1"
-
-"type-fest@0.20.2":
-  version "0.20.2"
-  resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz"
-  integrity "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
-
-"typed-array-length@1.0.4":
-  version "1.0.4"
-  resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz"
-  integrity "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "for-each" "0.3.3"
-    "is-typed-array" "1.1.10"
-
-"typescript@5.0.3":
-  version "5.0.3"
-  resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.3.tgz"
-  integrity "sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA=="
-
-"unbox-primitive@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz"
-  integrity "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw=="
-  dependencies:
-    "call-bind" "1.0.2"
-    "has-bigints" "1.0.2"
-    "has-symbols" "1.0.3"
-    "which-boxed-primitive" "1.0.2"
-
-"unplugin-icons@^0.16.3", "unplugin-icons@0.16.3":
-  version "0.16.3"
-  resolved "https://registry.npmjs.org/unplugin-icons/-/unplugin-icons-0.16.3.tgz"
-  integrity "sha512-hivVVr6++WHSj6Iz+rjTa14/ALMYT+PFd2sPtTBKlQR3cdzui1VwM72TzSu94NkDm/KVncvOIiBwoHwUPeL9bg=="
-  dependencies:
-    "@antfu/install-pkg" "0.1.1"
-    "@antfu/utils" "0.7.4"
-    "@iconify/utils" "2.1.7"
-    "@vue/compiler-sfc" "3.3.4"
-    "debug" "4.3.4"
-    "kolorist" "1.8.0"
-    "local-pkg" "0.4.3"
-    "unplugin" "1.3.1"
-
-"unplugin-vue-components@^0.24.1", "unplugin-vue-components@0.24.1":
-  version "0.24.1"
-  resolved "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.24.1.tgz"
-  integrity "sha512-T3A8HkZoIE1Cja95xNqolwza0yD5IVlgZZ1PVAGvVCx8xthmjsv38xWRCtHtwl+rvZyL9uif42SRkDGw9aCfMA=="
-  dependencies:
-    "@antfu/utils" "0.7.4"
-    "@rollup/pluginutils" "5.0.2"
-    "chokidar" "3.5.3"
-    "debug" "4.3.4"
-    "fast-glob" "3.3.0"
-    "local-pkg" "0.4.3"
-    "magic-string" "0.30.0"
-    "minimatch" "7.4.6"
-    "resolve" "1.22.2"
-    "unplugin" "1.3.1"
-    "vue" "3.3.4"
-
-"unplugin@1.3.1":
-  version "1.3.1"
-  resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.3.1.tgz"
-  integrity "sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw=="
-  dependencies:
-    "acorn" "8.9.0"
-    "chokidar" "3.5.3"
-    "webpack-sources" "3.2.3"
-    "webpack-virtual-modules" "0.5.0"
-
-"update-browserslist-db@1.0.11":
-  version "1.0.11"
-  resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz"
-  integrity "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA=="
-  dependencies:
-    "browserslist" "4.21.9"
-    "escalade" "3.1.1"
-    "picocolors" "1.0.0"
-
-"uri-js@4.4.1":
-  version "4.4.1"
-  resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
-  integrity "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="
-  dependencies:
-    "punycode" "2.3.0"
-
-"util-deprecate@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
-  integrity "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
-
-"vite-plugin-prismjs@^0.0.8", "vite-plugin-prismjs@0.0.8":
-  version "0.0.8"
-  resolved "https://registry.npmjs.org/vite-plugin-prismjs/-/vite-plugin-prismjs-0.0.8.tgz"
-  integrity "sha512-mBPPMS/hwVUArdqCtp/oajZT7iq1qwJDDCciNZ3R5+Q5tQUuUHXtDKuZHYnklPLElNbENf2FyuOtC4FrgxQRAA=="
-  dependencies:
-    "@babel/core" "7.22.5"
-    "babel-plugin-prismjs" "2.1.0"
-
-"vite-plugin-windicss@^1.9.0", "vite-plugin-windicss@1.9.0":
-  version "1.9.0"
-  resolved "https://registry.npmjs.org/vite-plugin-windicss/-/vite-plugin-windicss-1.9.0.tgz"
-  integrity "sha512-w0unPfcbVU5eaISAsFTLgIb41SLhmXoUF75Othu8NqFioe8+DEqiuvJ7/k/LRuEuvI8Rt/OKrY6cNzrB+dykaA=="
-  dependencies:
-    "@windicss/plugin-utils" "1.9.0"
-    "debug" "4.3.4"
-    "kolorist" "1.8.0"
-    "vite" "4.3.9"
-    "windicss" "3.5.6"
-
-"vite-svg-loader@^4.0.0", "vite-svg-loader@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-4.0.0.tgz"
-  integrity "sha512-0MMf1yzzSYlV4MGePsLVAOqXsbF5IVxbn4EEzqRnWxTQl8BJg/cfwIzfQNmNQxZp5XXwd4kyRKF1LytuHZTnqA=="
-  dependencies:
-    "@vue/compiler-sfc" "3.3.4"
-    "svgo" "3.0.2"
-
-"vite@^4.3.9", "vite@4.3.9":
-  version "4.3.9"
-  resolved "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz"
-  integrity "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg=="
-  dependencies:
-    "@types/node" "18.16.19"
-    "esbuild" "0.17.19"
-    "postcss" "8.4.31"
-    "rollup" "3.26.0"
-
-"vue-demi@0.14.5":
-  version "0.14.5"
-  resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz"
-  integrity "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA=="
-  dependencies:
-    "vue" "3.3.4"
-
-"vue-eslint-parser@^9.3.1", "vue-eslint-parser@9.3.1":
-  version "9.3.1"
-  resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.1.tgz"
-  integrity "sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g=="
-  dependencies:
-    "debug" "4.3.4"
-    "eslint" "8.44.0"
-    "eslint-scope" "7.2.0"
-    "eslint-visitor-keys" "3.4.1"
-    "espree" "9.6.0"
-    "esquery" "1.5.0"
-    "lodash" "4.17.21"
-    "semver" "7.5.3"
-
-"vue-i18n@^9.2.2", "vue-i18n@9.2.2":
-  version "9.2.2"
-  resolved "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz"
-  integrity "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ=="
-  dependencies:
-    "@intlify/core-base" "9.2.2"
-    "@intlify/shared" "9.2.2"
-    "@intlify/vue-devtools" "9.2.2"
-    "@vue/devtools-api" "6.5.0"
-    "vue" "3.3.4"
-
-"vue-resize@2.0.0-alpha.1":
-  version "2.0.0-alpha.1"
-  resolved "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz"
-  integrity "sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg=="
-  dependencies:
-    "vue" "3.3.4"
-
-"vue-router@^4.2.2", "vue-router@4.2.2":
-  version "4.2.2"
-  resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.2.2.tgz"
-  integrity "sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ=="
-  dependencies:
-    "@vue/devtools-api" "6.5.0"
-    "vue" "3.3.4"
-
-"vue-template-compiler@2.7.14":
-  version "2.7.14"
-  resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz"
-  integrity "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ=="
-  dependencies:
-    "de-indent" "1.0.2"
-    "he" "1.2.0"
-
-"vue-tsc@^1.8.3", "vue-tsc@1.8.3":
-  version "1.8.3"
-  resolved "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.3.tgz"
-  integrity "sha512-Ua4DHuYxjudlhCW2nRZtaXbhIDVncRGIbDjZhHpF8Z8vklct/G/35/kAPuGNSOmq0JcvhPAe28Oa7LWaUerZVA=="
-  dependencies:
-    "@vue/language-core" "1.8.3"
-    "@vue/typescript" "1.8.3"
-    "semver" "7.5.3"
-    "typescript" "5.0.3"
-
-"vue@^3.3.4", "vue@3.3.4":
-  version "3.3.4"
-  resolved "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz"
-  integrity "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw=="
-  dependencies:
-    "@vue/compiler-dom" "3.3.4"
-    "@vue/compiler-sfc" "3.3.4"
-    "@vue/runtime-dom" "3.3.4"
-    "@vue/server-renderer" "3.3.4"
-    "@vue/shared" "3.3.4"
-
-"webpack-sources@3.2.3":
-  version "3.2.3"
-  resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
-  integrity "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
-
-"webpack-virtual-modules@0.5.0":
-  version "0.5.0"
-  resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz"
-  integrity "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw=="
-
-"which-boxed-primitive@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz"
-  integrity "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg=="
-  dependencies:
-    "is-bigint" "1.0.4"
-    "is-boolean-object" "1.1.2"
-    "is-number-object" "1.0.7"
-    "is-string" "1.0.7"
-    "is-symbol" "1.0.4"
-
-"which-typed-array@1.1.9":
-  version "1.1.9"
-  resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz"
-  integrity "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA=="
-  dependencies:
-    "available-typed-arrays" "1.0.5"
-    "call-bind" "1.0.2"
-    "for-each" "0.3.3"
-    "gopd" "1.0.1"
-    "has-tostringtag" "1.0.0"
-    "is-typed-array" "1.1.10"
-
-"which@2.0.2":
-  version "2.0.2"
-  resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
-  integrity "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="
-  dependencies:
-    "isexe" "2.0.0"
-
-"windicss@^3.5.6", "windicss@3.5.6":
-  version "3.5.6"
-  resolved "https://registry.npmjs.org/windicss/-/windicss-3.5.6.tgz"
-  integrity "sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA=="
-
-"wrappy@1.0.2":
-  version "1.0.2"
-  resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
-  integrity "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
-
-"xml-name-validator@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz"
-  integrity "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw=="
-
-"yallist@3.1.1":
-  version "3.1.1"
-  resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz"
-  integrity "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
-
-"yallist@4.0.0":
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
-  integrity "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
-
-"yaml-eslint-parser@0.3.2":
-  version "0.3.2"
-  resolved "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-0.3.2.tgz"
-  integrity "sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg=="
-  dependencies:
-    "eslint-visitor-keys" "1.3.0"
-    "lodash" "4.17.21"
-    "yaml" "1.10.2"
-
-"yaml@1.10.2":
-  version "1.10.2"
-  resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz"
-  integrity "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
-
-"yocto-queue@0.1.0":
-  version "0.1.0"
-  resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
-  integrity "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
diff --git a/pkgs/development/tools/database/clickhouse-backup/default.nix b/pkgs/development/tools/database/clickhouse-backup/default.nix
index 97ebb25b1ba8..fd94c7e608b1 100644
--- a/pkgs/development/tools/database/clickhouse-backup/default.nix
+++ b/pkgs/development/tools/database/clickhouse-backup/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "clickhouse-backup";
-  version = "2.4.15";
+  version = "2.4.23";
 
   src = fetchFromGitHub {
     owner = "AlexAkulov";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-J56gew81ZdYZHfpBZcyCURFrVX0GGl/iMploXA1UllU=";
+    sha256 = "sha256-6S1XJEaZE6h69KfBddkJ+sE3OfUnY1KECPKyJ2pExRU=";
   };
 
-  vendorHash = "sha256-P+EE5+GRBqBv5WgRgMYJc4bfHuHDh9q8kOIhlEswc3g=";
+  vendorHash = "sha256-DTykJR/dMIDKL5fTzDivsRf2DIfzJcm+AN3rQHflpJo=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/development/tools/database/pgweb/default.nix b/pkgs/development/tools/database/pgweb/default.nix
index affda7ff49e2..ef0f64a73a17 100644
--- a/pkgs/development/tools/database/pgweb/default.nix
+++ b/pkgs/development/tools/database/pgweb/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "pgweb";
-  version = "0.14.2";
+  version = "0.14.3";
 
   src = fetchFromGitHub {
     owner = "sosedoff";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-gM7hqFriXkcwNO+I3d138kfp1F4YsO/Qbq0NzMszkwM=";
+    hash = "sha256-We7MyKOdauf93tBihvjouEiZ4FnkvsUtfJpswK6ef7Q=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/database/sqlite-web/default.nix b/pkgs/development/tools/database/sqlite-web/default.nix
index ee333ac02744..351c5475ea0e 100644
--- a/pkgs/development/tools/database/sqlite-web/default.nix
+++ b/pkgs/development/tools/database/sqlite-web/default.nix
@@ -5,11 +5,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "sqlite-web";
-  version = "0.3.6";
+  version = "0.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17pymadm063358nji70xzma64zkfv26c3pai5i1whsfp9ahqzasg";
+    sha256 = "sha256-VIbmYN6KjCRpE+kvJyBV75deYmh+zRjcQXZ2/7mseYU=";
   };
 
   propagatedBuildInputs = with python3Packages; [ flask peewee pygments ];
diff --git a/pkgs/development/tools/detekt/default.nix b/pkgs/development/tools/detekt/default.nix
index 091fef564756..ff643693daec 100644
--- a/pkgs/development/tools/detekt/default.nix
+++ b/pkgs/development/tools/detekt/default.nix
@@ -1,13 +1,13 @@
 { detekt, lib, stdenv, fetchurl, makeWrapper, jre_headless, testers }:
 stdenv.mkDerivation rec {
   pname = "detekt";
-  version = "1.23.4";
+  version = "1.23.5";
 
   jarfilename = "${pname}-${version}-executable.jar";
 
   src = fetchurl {
     url = "https://github.com/detekt/detekt/releases/download/v${version}/detekt-cli-${version}-all.jar";
-    sha256 = "sha256-Kx6I0pe7Qz4JMZeBRVdka6wfoL9uQgZjCUGInZJeAOA=";
+    sha256 = "sha256-Pz+MaZimJMCjtGPy7coi6SSE7IdAQhtp2u8YV4s7KLY=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/devpi-client/default.nix b/pkgs/development/tools/devpi-client/default.nix
index 9a7c8dcccd97..a481bf8804fe 100644
--- a/pkgs/development/tools/devpi-client/default.nix
+++ b/pkgs/development/tools/devpi-client/default.nix
@@ -8,12 +8,12 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "devpi-client";
-  version = "7.0.0";
+  version = "7.0.2";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AI/GNubb7+nwz/vM6v/JoUtWup6rBJieKXtFQzrdPkE=";
+    hash = "sha256-oOX5Z8WXgNJYsgXqHE2CsXdDnA3XmDF6axD1D318bPQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/documentation/antora/default.nix b/pkgs/development/tools/documentation/antora/default.nix
index 9a68837714af..6ac43313e962 100644
--- a/pkgs/development/tools/documentation/antora/default.nix
+++ b/pkgs/development/tools/documentation/antora/default.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "antora";
-  version = "3.1.5";
+  version = "3.1.7";
 
   src = fetchFromGitLab {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PCtYV5jPGFja26Dv4kXiaw8ITWR4xzVP/9hc45UWHeg=";
+    hash = "sha256-uGXXp6boS5yYsInSmkI9S0Tn85QGVp/5Fsh1u3G4oPk=";
   };
 
-  npmDepsHash = "sha256-//426AFUoJy7phqbbLdwkJvhOzcYsIumSaeAKefFsf4=";
+  npmDepsHash = "sha256-oWLRAuvWDk7w18qlDH14EE4elX5nhLKHSQANa/kXKvw=";
 
   # This is to stop tests from being ran, as some of them fail due to trying to query remote repositories
   postPatch = ''
diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix
index 501965b18a12..2c2f83b7d595 100644
--- a/pkgs/development/tools/earthly/default.nix
+++ b/pkgs/development/tools/earthly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "earthly";
-  version = "0.8.0";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "earthly";
     repo = "earthly";
     rev = "v${version}";
-    hash = "sha256-CB3ybV/jW1l0esSPNA6hBsceVw0UlmyDydz9dLmd3N4=";
+    hash = "sha256-FfmjQf66+oG4OmB15+hGbXVaVDtXk7koVv4aKByASR8=";
   };
 
-  vendorHash = "sha256-IU/D//ucQQIb/+M5rN7mtoVqDFmq799b6IoQfjD86Ls=";
+  vendorHash = "sha256-vfLEPP0mYpduuHkGD7u5EBjnp9oq7JhB9EvuOgO+Irs=";
   subPackages = [ "cmd/earthly" "cmd/debugger" ];
 
   CGO_ENABLED = 0;
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 2f817c0cd040..75f103dec6cb 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.19.12";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    hash = "sha256-NQ06esCSU6YPvQ4cMsi3DEFGIQGl8Ff6fhdTxUAyGvo=";
+    hash = "sha256-CJUBjDQAXSUFe37zYGbX6geeEk9goZ/aOalWDHPIZis=";
   };
 
   vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
diff --git a/pkgs/development/tools/faas-cli/default.nix b/pkgs/development/tools/faas-cli/default.nix
index e96315197a03..9eaadd43cedb 100644
--- a/pkgs/development/tools/faas-cli/default.nix
+++ b/pkgs/development/tools/faas-cli/default.nix
@@ -18,13 +18,13 @@ let
 in
 buildGoModule rec {
   pname = "faas-cli";
-  version = "0.16.22";
+  version = "0.16.23";
 
   src = fetchFromGitHub {
     owner = "openfaas";
     repo = "faas-cli";
     rev = version;
-    sha256 = "sha256-m9pdP+ADNPWzrs4VPcdwE7I3aiaBtSb3i1qpFxMIdM4=";
+    sha256 = "sha256-QbMwokFHaISvsNuHy/Do90bvXtwaJmie/hDLybuy2qk=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/fable/default.nix b/pkgs/development/tools/fable/default.nix
index 30bf14f4fcf4..10447afe20f3 100644
--- a/pkgs/development/tools/fable/default.nix
+++ b/pkgs/development/tools/fable/default.nix
@@ -2,9 +2,9 @@
 
 buildDotnetGlobalTool {
   pname = "fable";
-  version = "4.10.0";
+  version = "4.11.0";
 
-  nugetSha256 = "sha256-qSnPb+qjF10gzP8LSvvqnAXa0tedvOMHCrVd8zTtZl0=";
+  nugetSha256 = "sha256-AOsCthGk4YiTcKjIdCE1nnADWLqfd80vPFMmo9YLGUA=";
   passthru.updateScript = ./update.sh;
 
   meta = with lib; {
diff --git a/pkgs/development/tools/glslviewer/default.nix b/pkgs/development/tools/glslviewer/default.nix
index 06016bec25b5..4be67a29e399 100644
--- a/pkgs/development/tools/glslviewer/default.nix
+++ b/pkgs/development/tools/glslviewer/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     sed '1i#include <cstring>' -i src/tools/text.cpp # gcc12
+    sed '8i#include <cstdint>' -i src/io/fs.cpp # gcc13
   '';
 
   nativeBuildInputs = [ pkg-config ensureNewerSourcesForZipFilesHook python3Packages.six ];
diff --git a/pkgs/development/tools/go-containerregistry/default.nix b/pkgs/development/tools/go-containerregistry/default.nix
index f5c742ce9102..a6e0d9c47681 100644
--- a/pkgs/development/tools/go-containerregistry/default.nix
+++ b/pkgs/development/tools/go-containerregistry/default.nix
@@ -4,13 +4,13 @@ let bins = [ "crane" "gcrane" ]; in
 
 buildGoModule rec {
   pname = "go-containerregistry";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JL8OLL0dTvtk6gfzyCdQi+mSbcLZeklvQc/bC4L5+eE=";
+    sha256 = "sha256-9sKJM1QnQcGF9d5oT1YEoSeIlg0wh2VOQ6cC1QCrcgY=";
   };
   vendorHash = null;
 
diff --git a/pkgs/development/tools/goimports-reviser/default.nix b/pkgs/development/tools/goimports-reviser/default.nix
index a2edc9415926..30cf393334c9 100644
--- a/pkgs/development/tools/goimports-reviser/default.nix
+++ b/pkgs/development/tools/goimports-reviser/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "goimports-reviser";
-  version = "3.6.3";
+  version = "3.6.4";
 
   src = fetchFromGitHub {
     owner = "incu6us";
     repo = "goimports-reviser";
     rev = "v${version}";
-    hash = "sha256-wv09/Do8D05qP289g4HMxluEf7AROaJ/au35ZSVR1DQ=";
+    hash = "sha256-+GVC/qJnqWm5tsn2Y5BPafapp7ct9kqHWlDNxukEZsM=";
   };
   vendorHash = "sha256-z+FeAXPXKi653im2X2WOP1R9gRl/x7UBnndoEXoxdwA=";
 
diff --git a/pkgs/development/tools/golines/default.nix b/pkgs/development/tools/golines/default.nix
index 986e68dd634d..68ee00ecb638 100644
--- a/pkgs/development/tools/golines/default.nix
+++ b/pkgs/development/tools/golines/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golines";
-  version = "0.11.0";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "segmentio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2K9KAg8iSubiTbujyFGN3yggrL+EDyeUCs9OOta/19A=";
+    sha256 = "sha256-D0gI9BA0vgM1DBqwolNTfPsTCWuOGrcu5gAVFEdyVGg=";
   };
 
-  vendorHash = "sha256-rxYuzn4ezAxaeDhxd8qdOzt+CKYIh03A9zKNdzILq18=";
+  vendorHash = "sha256-jI3/m1UdZMKrS3H9jPhcVAUCjc1G/ejzHi9SCTy24ak=";
 
   meta = with lib; {
     description = "A golang formatter that fixes long lines";
diff --git a/pkgs/development/tools/gptcommit/default.nix b/pkgs/development/tools/gptcommit/default.nix
index 3b7892022b85..19d18edf1c42 100644
--- a/pkgs/development/tools/gptcommit/default.nix
+++ b/pkgs/development/tools/gptcommit/default.nix
@@ -11,7 +11,7 @@
 
 let
   pname = "gptcommit";
-  version = "0.5.14";
+  version = "0.5.16";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
     owner = "zurawiki";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-xjaFr1y2Fd7IWbJlegnIsfS5/oMJYd6QTnwp7IK17xM=";
+    hash = "sha256-JhMkK2zw3VL9o7j8DJmjY/im+GyCjfV2TJI3GDo8T8c=";
   };
 
-  cargoHash = "sha256-VZrlEJi/UPQTGFiSpZs+Do+69CY3zdqGkAnUxMYvvaw=";
+  cargoHash = "sha256-ye9MAfG3m24ofV95Kr+KTP4FEqfrsm3aTQ464hG9q08=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/gqlgenc/default.nix b/pkgs/development/tools/gqlgenc/default.nix
index 07ea00756e58..700a305efa46 100644
--- a/pkgs/development/tools/gqlgenc/default.nix
+++ b/pkgs/development/tools/gqlgenc/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gqlgenc";
-  version = "0.16.2";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "yamashou";
     repo = "gqlgenc";
     rev = "v${version}";
-    sha256 = "sha256-XNmCSkgJJ2notrv0Din4jlU9EoHJcznjEUiXQgQ5a7I=";
+    sha256 = "sha256-CkVPbMepkBpCeyRv30S6RTvBSe6BsJuit87x1S9GPMU=";
   };
 
   excludedPackages = [ "example" ];
diff --git a/pkgs/development/tools/grpc-gateway/default.nix b/pkgs/development/tools/grpc-gateway/default.nix
index b278c846343a..85f6857f5c2c 100644
--- a/pkgs/development/tools/grpc-gateway/default.nix
+++ b/pkgs/development/tools/grpc-gateway/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grpc-gateway";
-  version = "2.19.0";
+  version = "2.19.1";
 
   src = fetchFromGitHub {
     owner = "grpc-ecosystem";
     repo = "grpc-gateway";
     rev = "v${version}";
-    sha256 = "sha256-mppN8twrOTIVK3TDQcv5fYZtXKPA34EWGPo31JxME1g=";
+    sha256 = "sha256-CdGQpQfOSimeio8v1lZ7xzE/oAS2qFyu+uN+H9i7vpo=";
   };
 
-  vendorHash = "sha256-R/V3J9vCSQppm59RCaJrDIS0Juff5htPl/GjTwhHEfQ=";
+  vendorHash = "sha256-no7kZGpf/VOuceC3J+izGFQp5aMS3b+Rn+x4BFZ2zgs=";
 
   meta = with lib; {
     description =
diff --git a/pkgs/development/tools/jaq/default.nix b/pkgs/development/tools/jaq/default.nix
index ae7c6b35bd7b..b95473aac745 100644
--- a/pkgs/development/tools/jaq/default.nix
+++ b/pkgs/development/tools/jaq/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jaq";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "01mf02";
     repo = "jaq";
     rev = "v${version}";
-    hash = "sha256-Jc/etdQtJfFmmdxWdJUVQqPjHTCY6ZUAO+ShNJboOq0=";
+    hash = "sha256-QXlHiVlKx9qmW5Cw4IGzjuUSUfoc9IvA5ZkTc1Ev37Q=";
   };
 
-  cargoHash = "sha256-TaWD9xpTsNWQt/Wz5PYY0mgFfP5d/Jn3EhcHUywUk3Q=";
+  cargoHash = "sha256-9fv8Z9AE9GV/Bq+iAsxUkD/CS25/kOBKKS4SAke/tFk=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
diff --git a/pkgs/development/tools/jira-cli-go/default.nix b/pkgs/development/tools/jira-cli-go/default.nix
index 51b847769cbb..d031cd9394d7 100644
--- a/pkgs/development/tools/jira-cli-go/default.nix
+++ b/pkgs/development/tools/jira-cli-go/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "jira-cli-go";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "ankitpokhrel";
     repo = "jira-cli";
     rev = "v${version}";
-    hash = "sha256-FdDoKww/6WzKCZBrgvh72TRovMXLOOzlmoFreMGWAeo=";
+    hash = "sha256-edytj9hB8lDwy3qGSyLudu5G4DSRGKhD0vDoWz5eUgs=";
   };
 
   vendorHash = "sha256-DAdzbANqr0fa4uO8k/yJFoirgbZiKOQhOH8u8d+ncao=";
diff --git a/pkgs/development/tools/k6/default.nix b/pkgs/development/tools/k6/default.nix
index 06f8251f0993..c5c8f85e9126 100644
--- a/pkgs/development/tools/k6/default.nix
+++ b/pkgs/development/tools/k6/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "k6";
-  version = "0.48.0";
+  version = "0.49.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-6EiHLm69mBhv0ujFPdXUk1wPZwKk9TS250QHrdXfQD8=";
+    hash = "sha256-zlsHEAGsey+qe0s7sle9Kt/V0hTp6uzelJmRlATznUY=";
   };
 
   subPackages = [ "./" ];
diff --git a/pkgs/development/tools/kdash/default.nix b/pkgs/development/tools/kdash/default.nix
index c7f4e8b7525f..73746875247d 100644
--- a/pkgs/development/tools/kdash/default.nix
+++ b/pkgs/development/tools/kdash/default.nix
@@ -12,13 +12,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kdash";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "kdash-rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Vk0Pf5uF9AANv/vf32ZrICJJTp6QRsR/nFW40xnkImo=";
+    sha256 = "sha256-XY6aBqLHbif3RsytNm7JnDXspICJuhS7SJ+ApwTeqX4=";
   };
 
   nativeBuildInputs = [ perl python3 pkg-config ];
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl xorg.xcbutil ]
     ++ lib.optional stdenv.isDarwin AppKit;
 
-  cargoHash = "sha256-gY4ywjTokEc5Uv4InARH2s3WYiPGYSDDWk2kltyQa+0=";
+  cargoHash = "sha256-ODQf+Fvil+oBJcM38h1HdrcgtJw0b65f5auLuZtUgik=";
 
   meta = with lib; {
     description = "A simple and fast dashboard for Kubernetes";
diff --git a/pkgs/development/tools/kube-linter/default.nix b/pkgs/development/tools/kube-linter/default.nix
index bcacc28214bf..141239c403f2 100644
--- a/pkgs/development/tools/kube-linter/default.nix
+++ b/pkgs/development/tools/kube-linter/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kube-linter";
-  version = "0.6.5";
+  version = "0.6.7";
 
   src = fetchFromGitHub {
     owner = "stackrox";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gygzibpTpdVg1ZenAXIDHXYwAemlr6qkioE+GV52NkE=";
+    sha256 = "sha256-D9QJsYaYvGjDucr0Xedg2LEqfwTxzIQBBNNFZ1m5D/U=";
   };
 
-  vendorHash = "sha256-ZeAAvL5pOvHMAsDBe/0CBeayTsUrPDK5a5rAxHAu64o=";
+  vendorHash = "sha256-ARrMHjR/fOGS8EDMCKiEr3ubWjqDySb/AdX9jNYWOVA=";
 
   ldflags = [
     "-s" "-w" "-X golang.stackrox.io/kube-linter/internal/version.version=${version}"
diff --git a/pkgs/development/tools/language-servers/beancount-language-server/default.nix b/pkgs/development/tools/language-servers/beancount-language-server/default.nix
index 9eb1d746c216..844bc89567d0 100644
--- a/pkgs/development/tools/language-servers/beancount-language-server/default.nix
+++ b/pkgs/development/tools/language-servers/beancount-language-server/default.nix
@@ -1,20 +1,26 @@
 { lib
 , fetchFromGitHub
 , rustPlatform
+, stdenv
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "beancount-language-server";
-  version = "1.3.1";
+  version = "1.3.4";
 
   src = fetchFromGitHub {
     owner = "polarmutex";
     repo = "beancount-language-server";
     rev = "v${version}";
-    hash = "sha256-9IkbEOG6xcmpowsLj/RHnMFGQxh02JMQsTVli4hvs/M=";
+    hash = "sha256-C44Z8JaEZvwgocaGjWT3rUAgIBtCRo0xZappMsydR7g=";
   };
 
-  cargoHash = "sha256-qhN2//hhCaKpm0HAiUL/CfdrtvAXgR34vXBECB8UDxE=";
+  cargoHash = "sha256-NMSNCURSO1iIWHH27FI5Y0q7+Ghds8VSxRGBOp+fH6A=";
+
+  # Workaround for https://github.com/NixOS/nixpkgs/issues/166205
+  env = lib.optionalAttrs (stdenv.cc.libcxx != null) {
+    NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
+  };
 
   doInstallCheck = true;
   postInstallCheck = ''
diff --git a/pkgs/development/tools/language-servers/jq-lsp/default.nix b/pkgs/development/tools/language-servers/jq-lsp/default.nix
index 08e83763fd09..13f852790662 100644
--- a/pkgs/development/tools/language-servers/jq-lsp/default.nix
+++ b/pkgs/development/tools/language-servers/jq-lsp/default.nix
@@ -3,18 +3,29 @@
 , fetchFromGitHub
 }:
 
-buildGoModule {
+buildGoModule rec {
   pname = "jq-lsp";
-  version = "unstable-2023-10-27";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "wader";
     repo = "jq-lsp";
-    rev = "b4707e7776a4eb3093b1a7533ebd41368240095a";
-    hash = "sha256-AU4xGweeFx+kSsrqkTtSjl+N77cITF/qvAVZGUZY5SE=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-a3ZqVWG7kjWQzL1efrKc4s4D14qD/+6JM26vaduxhWg=";
   };
 
-  vendorHash = "sha256-ppQ81uERHBgOr/bm/CoDSWcK+IqHwvcL6RFi0DgoLuw=";
+  vendorHash = "sha256-bIe006I1ryvIJ4hC94Ux2YVdlmDIM4oZaK/qXafYYe0=";
+
+  # based on https://github.com/wader/jq-lsp/blob/master/.goreleaser.yml
+  CGO_ENABLED = 0;
+  GOFLAGS = [ "-trimpath" ];
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.version=${version}"
+    "-X main.commit=${src.rev}"
+    "-X main.builtBy=Nix"
+  ];
 
   meta = with lib; {
     description = "jq language server";
diff --git a/pkgs/development/tools/minizinc/ide.nix b/pkgs/development/tools/minizinc/ide.nix
index bacd769271e4..ce115971f944 100644
--- a/pkgs/development/tools/minizinc/ide.nix
+++ b/pkgs/development/tools/minizinc/ide.nix
@@ -1,26 +1,34 @@
-{ lib, mkDerivation, fetchFromGitHub, qtbase, qtwebengine, qtwebkit, qmake, minizinc }:
+{ lib, stdenv, fetchFromGitHub, qtbase, qmake, qtwebsockets, minizinc, makeWrapper, Cocoa }:
 
-mkDerivation rec {
+let
+  executableLoc = if stdenv.isDarwin then "$out/Applications/MiniZincIDE.app/Contents/MacOS/MiniZincIDE" else "$out/bin/MiniZincIDE";
+in
+stdenv.mkDerivation rec {
   pname = "minizinc-ide";
-  version = "2.5.5";
+  version = "2.8.2";
 
   src = fetchFromGitHub {
     owner = "MiniZinc";
     repo = "MiniZincIDE";
     rev = version;
-    sha256 = "sha256-0U3KFRDam8psbCaEOcrwqzICAy1oBgo8SFEiR/PMqZk=";
+    hash = "sha256-3L/hulNI7e2wE9gMt2h3mS0ubHZ4kcVpwALCmWQtv7A=";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ qmake ];
-  buildInputs = [ qtbase qtwebengine qtwebkit ];
+  nativeBuildInputs = [ qmake makeWrapper ];
+  buildInputs = [ qtbase qtwebsockets ] ++ lib.optionals stdenv.isDarwin [ Cocoa ];
 
   sourceRoot = "${src.name}/MiniZincIDE";
 
   dontWrapQtApps = true;
 
-  postInstall = ''
-    wrapProgram $out/bin/MiniZincIDE --prefix PATH ":" ${lib.makeBinPath [ minizinc ]}
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir -p $out/Applications
+    mv $out/bin/MiniZincIDE.app $out/Applications/
+  '' + ''
+    wrapProgram ${executableLoc} \
+      --prefix PATH ":" ${lib.makeBinPath [ minizinc ]} \
+      --set QT_QPA_PLATFORM_PLUGIN_PATH "${qtbase}/lib/qt-6/plugins/platforms"
   '';
 
   meta = with lib; {
@@ -34,7 +42,7 @@ mkDerivation rec {
       It is a subset of the higher-level language Zinc.
     '';
     license = licenses.mpl20;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.dtzWill ];
   };
 }
diff --git a/pkgs/development/tools/misc/act/default.nix b/pkgs/development/tools/misc/act/default.nix
index 5a22531dbcf5..e9f6d070b6f6 100644
--- a/pkgs/development/tools/misc/act/default.nix
+++ b/pkgs/development/tools/misc/act/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "act";
-  version = "0.2.57";
+  version = "0.2.58";
 
   src = fetchFromGitHub {
     owner = "nektos";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-lof3PWscGHQ9ZTF83wGyG0jMebYY2xec+HouQezr2d8=";
+    hash = "sha256-JvkJYjgBdbd3ffgOTMeE6Pe94Ctk19nOd2b2HfckPTU=";
   };
 
-  vendorHash = "sha256-7nvUs1R2jybh+PR/cHml8lR5jU25b2liPKLH47WDVxQ=";
+  vendorHash = "sha256-0Sjj9+YJcIkigvJOXxtDVcUylZmVY/Xv/IYpEBN46Is=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/misc/circleci-cli/default.nix b/pkgs/development/tools/misc/circleci-cli/default.nix
index b4bc5fe48d6f..6e26a71ff38d 100644
--- a/pkgs/development/tools/misc/circleci-cli/default.nix
+++ b/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "circleci-cli";
-  version = "0.1.29658";
+  version = "0.1.29936";
 
   src = fetchFromGitHub {
     owner = "CircleCI-Public";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zubYAeVYddFC6J7kCjTlhNciy/X95yzEq2UyRWi2Jh8=";
+    sha256 = "sha256-PJy2kg727ZEsEbQzR5EE8SeYfM1ZqaIbS2FZxewn5J0=";
   };
 
   vendorHash = "sha256-mDpuoKOW2/PexZ/yJeQ2yzCjoKfD23J36pZ5BPDo/mg=";
diff --git a/pkgs/development/tools/misc/devspace/default.nix b/pkgs/development/tools/misc/devspace/default.nix
index f2f31d00e6b2..198e15370bf8 100644
--- a/pkgs/development/tools/misc/devspace/default.nix
+++ b/pkgs/development/tools/misc/devspace/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "devspace";
-  version = "6.3.9";
+  version = "6.3.10";
 
   src = fetchFromGitHub {
     owner = "devspace-sh";
     repo = "devspace";
     rev = "v${version}";
-    hash = "sha256-Jy2e1bCCO3YeigQM9qSbbgqrZppXlUq+2oXIiotMKtI=";
+    hash = "sha256-ExVetF5YP9gf5ifBsdPow7KA867+4iOxe/0OwZwctoc=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/misc/edb/default.nix b/pkgs/development/tools/misc/edb/default.nix
index 2203863264f3..fdde4064698c 100644
--- a/pkgs/development/tools/misc/edb/default.nix
+++ b/pkgs/development/tools/misc/edb/default.nix
@@ -3,14 +3,14 @@
 
 mkDerivation rec {
   pname = "edb";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "eteran";
     repo = "edb-debugger";
-    rev = "1.3.0";
+    rev = version;
     fetchSubmodules = true;
-    sha256 = "fFUau8XnsRFjC83HEsqyhrwCCBOfDmV6oACf3txm7O8=";
+    hash = "sha256-1Q0eZS05L4sxzcPvEFdEaobO7JYHRu98Yf+n3ZnBi+E=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
@@ -26,12 +26,10 @@ mkDerivation rec {
     # The build script checks for the presence of .git to determine whether
     # submodules were fetched and will throw an error if it's not there.
     # Avoid using leaveDotGit in the fetchFromGitHub options as it is non-deterministic.
-    mkdir -p src/qhexview/.git
+    mkdir -p src/qhexview/.git lib/gdtoa-desktop/.git
 
     # Change default optional terminal program path to one that is more likely to work on NixOS.
     substituteInPlace ./src/Configuration.cpp --replace "/usr/bin/xterm" "xterm";
-
-    sed '1i#include <memory>' -i include/{RegisterViewModelBase,State,IState}.h # gcc12
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/misc/kool/default.nix b/pkgs/development/tools/misc/kool/default.nix
index 5b326beb1efc..f1d4b2b74654 100644
--- a/pkgs/development/tools/misc/kool/default.nix
+++ b/pkgs/development/tools/misc/kool/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "kool";
-  version = "2.2.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "kool-dev";
     repo = "kool";
     rev = version;
-    hash = "sha256-YVgUKA7bMcncZDYaxaN2kCbE3JUmM9aM3GoQkOXEWpA=";
+    hash = "sha256-+vdizU2/q2nrEanpRPy1scgfTYh/I7feW4jz8efelWY=";
   };
 
-  vendorHash = "sha256-zsrqppHl7Z8o+J1SzZnv1jOdPO04JaF1K38a//+uAxU=";
+  vendorHash = "sha256-PmS96KVhe9TDmtYBx2hROLCbGMQ0OY3MN405dUmxPzk=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/misc/n98-magerun2/default.nix b/pkgs/development/tools/misc/n98-magerun2/default.nix
index 6aabcbffbb66..c04b3840a437 100644
--- a/pkgs/development/tools/misc/n98-magerun2/default.nix
+++ b/pkgs/development/tools/misc/n98-magerun2/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "n98-magerun2";
-  version = "7.2.0";
+  version = "7.3.1";
 
   src = fetchurl {
     url = "https://github.com/netz98/n98-magerun2/releases/download/${finalAttrs.version}/n98-magerun2.phar";
-    hash = "sha256-w+58TTyoS44Ouaz6KFIJLhSl/UeF1I7cSznlZH6fLXw=";
+    hash = "sha256-5G3sfyw8C3BwRqnK2o3upJTI/pENyaFCiMC4XGOkJT4=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/misc/opengrok/default.nix b/pkgs/development/tools/misc/opengrok/default.nix
index 73f54dc24b8e..a2ade07c21c4 100644
--- a/pkgs/development/tools/misc/opengrok/default.nix
+++ b/pkgs/development/tools/misc/opengrok/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "opengrok";
-  version = "1.13.1";
+  version = "1.13.2";
 
   # binary distribution
   src = fetchurl {
     url = "https://github.com/oracle/opengrok/releases/download/${version}/${pname}-${version}.tar.gz";
-    hash = "sha256-3/BBLPoYX1/ft3MGiJD9OPtkB2PJM7bXkGRuXxTToXI=";
+    hash = "sha256-Er6f1KgMZ4e/o3TJkw6z96rxBGQ/KEc9gGI2W6m+b8U=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/misc/runme/default.nix b/pkgs/development/tools/misc/runme/default.nix
index d0b3e5cfeadf..c0f305a591e3 100644
--- a/pkgs/development/tools/misc/runme/default.nix
+++ b/pkgs/development/tools/misc/runme/default.nix
@@ -12,16 +12,16 @@
 
 buildGoModule rec {
   pname = "runme";
-  version = "2.2.0";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "stateful";
     repo = "runme";
     rev = "v${version}";
-    hash = "sha256-6V7OxWJ0EYcbaHmls0P9iJD9tQ9N4GSPzBAKVdShvXg=";
+    hash = "sha256-JEKfUrXCN2cvoVs2bScq1v/DfmqaUoew3PyGnNaTKN8=";
   };
 
-  vendorHash = "sha256-PLDsea/o067ifiX0RKFC7gDpORLVEQ0DV6sdBzzQCTs=";
+  vendorHash = "sha256-+g6vEgA+vbGzLnotmhk0gp1IcY3zpF71TdoB8d84W6A=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/development/tools/misc/slint-lsp/default.nix b/pkgs/development/tools/misc/slint-lsp/default.nix
index ac26ead01cff..3fa33bbcb8da 100644
--- a/pkgs/development/tools/misc/slint-lsp/default.nix
+++ b/pkgs/development/tools/misc/slint-lsp/default.nix
@@ -25,14 +25,14 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "slint-lsp";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-zNTel91c1ECg4z7xIu37GcSWHTxTKtxpGjH3TpiFQ1k=";
+    sha256 = "sha256-ZX8ylDDyOWwEcupNg7u0RvmsKMC4RZNaKPg04PaCo3w=";
   };
 
-  cargoHash = "sha256-pT3z6t1W/DitH/GJJIJhQawslodKzIkCyO0yd9OlvAg=";
+  cargoHash = "sha256-BxiN2/PItU29H8btX5bjwfd9C6p8AEvxJunM8lMu3SI=";
 
   nativeBuildInputs = [ cmake pkg-config fontconfig ];
   buildInputs = rpathLibs ++ [ xorg.libxcb.dev ]
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 591eaeaa1ae2..d851aa217b5f 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, perl, libunwind, buildPackages, gitUpdater }:
+{ lib, stdenv, fetchurl, perl, libunwind, buildPackages, gitUpdater, elfutils }:
 
 stdenv.mkDerivation rec {
   pname = "strace";
-  version = "6.6";
+  version = "6.7";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-QhtBhsBrcFFj5k3IXycevc9nZgr4ZnKDFH1ehZ/IqWw=";
+    sha256 = "sha256-IJAgHho/8yhG9P5CHBFjsV9EC7OOMTVdCfgtOUmSKvc=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   # On RISC-V platforms, LLVM's libunwind implementation is unsupported by strace.
   # The build will silently fall back and -k will not work on RISC-V.
-  buildInputs = [ libunwind ]; # support -k
+  buildInputs = [ libunwind elfutils ]; # support -k and -kk
 
   configureFlags = [ "--enable-mpers=check" ];
 
diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix
index 1eccff2694cb..4756be84a860 100644
--- a/pkgs/development/tools/misc/texlab/default.nix
+++ b/pkgs/development/tools/misc/texlab/default.nix
@@ -15,16 +15,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "texlab";
-  version = "5.12.2";
+  version = "5.12.3";
 
   src = fetchFromGitHub {
     owner = "latex-lsp";
     repo = "texlab";
     rev = "refs/tags/v${version}";
-    hash = "sha256-NEiUWMmJjhhK9XYbW1dla7iZJG4bdttbuSJmtO4f1UE=";
+    hash = "sha256-/QjaAzCPhXzsiRhnRRZcujmk1C9IONYlMfjp/a1iIDA=";
   };
 
-  cargoHash = "sha256-OFgBBO4RZ7oS2da9cGIePnLhfFdHfW3FdOT0B8bNC3g=";
+  cargoHash = "sha256-VDRLbhgQkPkeTpQxRsq8QEU53Zd4b5F0phoq2cAWIK8=";
 
   outputs = [ "out" ] ++ lib.optional (!isCross) "man";
 
diff --git a/pkgs/development/tools/mysql-shell/innovation.nix b/pkgs/development/tools/mysql-shell/innovation.nix
index 6104aadf0492..0755b2271c03 100644
--- a/pkgs/development/tools/mysql-shell/innovation.nix
+++ b/pkgs/development/tools/mysql-shell/innovation.nix
@@ -16,7 +16,6 @@
 , libssh
 , zstd
 , lz4
-, boost
 , readline
 , libtirpc
 , rpcsvc-proto
@@ -35,8 +34,8 @@
 let
   pythonDeps = with python3.pkgs; [ certifi paramiko pyyaml ];
 
-  mysqlShellVersion = "8.2.1";
-  mysqlServerVersion = "8.2.0";
+  mysqlShellVersion = "8.3.0";
+  mysqlServerVersion = "8.3.0";
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "mysql-shell-innovation";
@@ -45,11 +44,11 @@ stdenv.mkDerivation (finalAttrs: {
   srcs = [
     (fetchurl {
       url = "https://cdn.mysql.com//Downloads/MySQL-${lib.versions.majorMinor mysqlServerVersion}/mysql-${mysqlServerVersion}.tar.gz";
-      hash = "sha256-itPj8cWuIVS+Y4rPVW6JgfcC0FKsxZV+d23xciwhGXk=";
+      hash = "sha256-HyFJWgt6grJKRT1S4hU6gUs8pwTsz5mXZtVFvOUvOG4=";
     })
     (fetchurl {
       url = "https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-${finalAttrs.version}-src.tar.gz";
-      hash = "sha256-m6WdFow28bxW52q+m8PniZCU/1Ej4secdPQi8GKlziE=";
+      hash = "sha256-O0j/gvS9fR/xp9plytjj249H7LY/+eyst1IsFpy318U=";
     })
   ];
 
@@ -71,7 +70,6 @@ stdenv.mkDerivation (finalAttrs: {
     ++ lib.optionals stdenv.isDarwin [ cctools DarwinTools ];
 
   buildInputs = [
-    boost
     curl
     libedit
     libssh
@@ -98,7 +96,7 @@ stdenv.mkDerivation (finalAttrs: {
     # Build MySQL
     echo "Building mysqlclient mysqlxclient"
 
-    cmake -DWITH_BOOST=system -DWITH_SYSTEM_LIBS=ON -DWITH_ROUTER=OFF -DWITH_UNIT_TESTS=OFF \
+    cmake -DWITH_SYSTEM_LIBS=ON -DWITH_FIDO=system -DWITH_ROUTER=OFF -DWITH_UNIT_TESTS=OFF \
       -DFORCE_UNSUPPORTED_COMPILER=1 -S ../mysql -B ../mysql/build
 
     cmake --build ../mysql/build --parallel ''${NIX_BUILD_CORES:-1} --target mysqlclient mysqlxclient
diff --git a/pkgs/development/tools/oh-my-posh/default.nix b/pkgs/development/tools/oh-my-posh/default.nix
index 26e3947e191c..ce6d63c418f0 100644
--- a/pkgs/development/tools/oh-my-posh/default.nix
+++ b/pkgs/development/tools/oh-my-posh/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "oh-my-posh";
-  version = "19.8.0";
+  version = "19.8.2";
 
   src = fetchFromGitHub {
     owner = "jandedobbeleer";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-nCzGvWthu+gmYKKEqnU552Y4Ii4O7Ttel/9wmZo84fY=";
+    hash = "sha256-Gc8pz+DFP0Wze6YC4hzhgZiSGi61j7Lzak/o3LhdcfI=";
   };
 
   vendorHash = "sha256-8ZupQe4b3uCX79Q0oYqggMWZE9CfX5OSFdLIrxT8CHY=";
diff --git a/pkgs/development/tools/okteto/default.nix b/pkgs/development/tools/okteto/default.nix
index 2d6a26856df7..1c7ba093b6aa 100644
--- a/pkgs/development/tools/okteto/default.nix
+++ b/pkgs/development/tools/okteto/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "okteto";
-  version = "2.24.1";
+  version = "2.25.1";
 
   src = fetchFromGitHub {
     owner = "okteto";
     repo = "okteto";
     rev = version;
-    hash = "sha256-AM92VtkTRR4QSEg0mrki8UzOxVx7g+IsKUDHTE62d08=";
+    hash = "sha256-HBXp66chq+SzdEb463awolf4Uv0ScHN6MjoziYyh4kA=";
   };
 
-  vendorHash = "sha256-vSvHjQZFLzUIC9u+myI6Xi4YhetVkiQxBIkm5/RoV2U=";
+  vendorHash = "sha256-+Adnveutg8soqK2Zwn2SNq7SEHd/Z91diHbPYHrGVrA=";
 
   postPatch = ''
     # Disable some tests that need file system & network access.
diff --git a/pkgs/development/tools/open-policy-agent/default.nix b/pkgs/development/tools/open-policy-agent/default.nix
index 2d5fae331142..ee249c2c7657 100644
--- a/pkgs/development/tools/open-policy-agent/default.nix
+++ b/pkgs/development/tools/open-policy-agent/default.nix
@@ -11,13 +11,13 @@ assert enableWasmEval && stdenv.isDarwin -> builtins.throw "building with wasm o
 
 buildGoModule rec {
   pname = "open-policy-agent";
-  version = "0.60.0";
+  version = "0.61.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "opa";
     rev = "v${version}";
-    hash = "sha256-E+94J83IDLuEayrlwIp8TL+GZeUCkQmSyNL8N7mvK6o=";
+    hash = "sha256-d0/S9XP/W6Mhs1b9IBzm7kerb6SJ7UzsYS0DnTDVfvY=";
   };
 
   vendorHash = null;
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index d02a32827c2c..cbdd003d9216 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "packer";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "packer";
     rev = "v${version}";
-    hash = "sha256-pHqYO3a9JruOCbMbLLQ2BqS4bcCeaBf82cBxGVHgLoY=";
+    hash = "sha256-P7QG4ldOJn83w5XxIzC1dhVmn2e/gcwHBT9cZiQmsbo=";
   };
 
-  vendorHash = "sha256-ydG1nINW9uGYv5uNlJ6p8GHSkIW83qGpUAfRU+yQXmc=";
+  vendorHash = "sha256-KtMK6jZ9c84OVWJC1njgOh1U+wrFo4G6Qt/XfOFvIhE=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/postiats-utilities/default.nix b/pkgs/development/tools/postiats-utilities/default.nix
index 51d9d14efa17..6ac021e1ba09 100644
--- a/pkgs/development/tools/postiats-utilities/default.nix
+++ b/pkgs/development/tools/postiats-utilities/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    libdir="$out/lib/${python3.libPrefix}/site-packages"
+    libdir="$out/${python3.sitePackages}"
     mkdir -p "$libdir"
     cp -r postiats "$libdir"
 
diff --git a/pkgs/development/tools/protoc-gen-go-vtproto/default.nix b/pkgs/development/tools/protoc-gen-go-vtproto/default.nix
index d24ab86538af..e1e716eee13a 100644
--- a/pkgs/development/tools/protoc-gen-go-vtproto/default.nix
+++ b/pkgs/development/tools/protoc-gen-go-vtproto/default.nix
@@ -4,16 +4,16 @@
 }:
 buildGoModule rec {
   pname = "protoc-gen-go-vtproto";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "vtprotobuf";
     rev = "v${version}";
-    sha256 = "sha256-2DpL8CYl0MWpr7TBJPwDlgKvOoa5RrVwMjOxrEP5Wio=";
+    sha256 = "sha256-ji6elc0hN49A4Ov/ckd8chPR4/8ZX11THzVz9HJGui4=";
   };
 
-  vendorHash = "sha256-JpSVO8h7+StLG9/dJQkmrIlh9zIHABoqP1hq+X5ajVs=";
+  vendorHash = "sha256-UMOEePOtOtmm9ShQy5LXcEUTv8/SIG9dU7/9vLhrBxQ=";
 
   excludedPackages = [ "conformance" ];
 
diff --git a/pkgs/development/tools/pscale/default.nix b/pkgs/development/tools/pscale/default.nix
index 055cfae346c1..5a505559d0e5 100644
--- a/pkgs/development/tools/pscale/default.nix
+++ b/pkgs/development/tools/pscale/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "pscale";
-  version = "0.177.0";
+  version = "0.181.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-nvtLUrJhxqMWi/NzKw1KYOEL+1DsWfJoLXoXQI7QP6M=";
+    sha256 = "sha256-f/SrH/xdH0HYxGAbbIvr7yAgHJZlIfT/P1mC+yzQ7Vs=";
   };
 
-  vendorHash = "sha256-n6vPeeOmSB/qHBGCdZHZtf3JD/wgFYD0+VO3Ir8MtqE=";
+  vendorHash = "sha256-Fj2yOENvomRcaIgP91NRl8rcggjPFZbKTwdUBBizios=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/development/tools/purescript/spago/default.nix b/pkgs/development/tools/purescript/spago/default.nix
index ada0eb350efa..82d3be2fd469 100644
--- a/pkgs/development/tools/purescript/spago/default.nix
+++ b/pkgs/development/tools/purescript/spago/default.nix
@@ -55,4 +55,7 @@ spago.overrideAttrs (oldAttrs: {
           touch $out
         '';
   };
+  meta = (oldAttrs.meta or {}) // {
+    mainProgram = "spago";
+  };
 })
diff --git a/pkgs/development/tools/refurb/default.nix b/pkgs/development/tools/refurb/default.nix
index 5eb52df0a0f1..17c32d78d288 100644
--- a/pkgs/development/tools/refurb/default.nix
+++ b/pkgs/development/tools/refurb/default.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "refurb";
-  version = "1.27.0";
+  version = "1.28.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "dosisod";
     repo = "refurb";
     rev = "refs/tags/v${version}";
-    hash = "sha256-v9zeip7dyEGbn4FVXkd713ybVyf9tvvflCeiS4H7lO0=";
+    hash = "sha256-b7Id2Oyjw3NZno56IMDIq7fn5u9+jn42nuae8ix90fM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/reindeer/default.nix b/pkgs/development/tools/reindeer/default.nix
index 37def64e68f5..6dab09450ee2 100644
--- a/pkgs/development/tools/reindeer/default.nix
+++ b/pkgs/development/tools/reindeer/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "reindeer";
-  version = "unstable-2024-01-12";
+  version = "unstable-2024-01-25";
 
   src = fetchFromGitHub {
     owner = "facebookincubator";
     repo = pname;
-    rev = "8815ee8ac5463b7004751ff8db73d7daf0b281c4";
-    sha256 = "sha256-GIIvfiCzm/dpIZB1S1wCs1/VifKzvwZ+RYXVbjNDEY4=";
+    rev = "66cf0b39d0307210a95ff4cf84996a5b73da76c5";
+    sha256 = "sha256-F/I1eJVJEs97Rgs94KiSmRJgpNSgQiblMxrYySl5e+g=";
   };
 
-  cargoSha256 = "sha256-iAmwxOZTW5zLhufJG5U6m2h/yXck6NvmwXd2tsvBZh8=";
+  cargoSha256 = "sha256-Yv/DKW/6/XCbF0o50qPjOlU/3wNBJi/8o5uGRcS0gic=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs =
diff --git a/pkgs/development/tools/rover/default.nix b/pkgs/development/tools/rover/default.nix
index 5fbde990df75..90b3d91413f7 100644
--- a/pkgs/development/tools/rover/default.nix
+++ b/pkgs/development/tools/rover/default.nix
@@ -1,5 +1,4 @@
 { lib
-, callPackage
 , fetchFromGitHub
 , perl
 , rustPlatform
@@ -9,20 +8,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rover";
-  version = "0.14.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "apollographql";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fVgo5Ds/VK0kBpF+F2FdMvBnQj2IB+B5ToOK8ONdq6c=";
+    sha256 = "sha256-+BsD7SRinU57Alg71N3tdL9iFGGdomVA7SrBE6G1f4E=";
   };
 
-  cargoSha256 = "sha256-fNqnpLNENLJEhbqxLFUqyjAf8tEPCLoGSRV91gOY9LI=";
+  cargoSha256 = "sha256-SDvOxvfv8FNUebfwSFnBc6ormK2xpXPjmACwtllHfQE=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
     darwin.apple_sdk.frameworks.CoreServices
+    darwin.apple_sdk.frameworks.SystemConfiguration
   ];
 
   nativeBuildInputs = [
@@ -36,15 +36,6 @@ rustPlatform.buildRustPackage rec {
     "-- --skip=latest_plugins_are_valid_versions"
   ];
 
-  # The rover-client's build script (xtask/src/commands/prep/schema.rs) will try to
-  # download the API's graphql schema at build time to our read-only filesystem.
-  # To avoid this we pre-download it to a location the build script checks.
-  preBuild = ''
-    cp ${./schema}/hash.id              crates/rover-client/.schema/
-    cp ${./schema}/etag.id              crates/rover-client/.schema/
-    cp ${./schema}/schema.graphql       crates/rover-client/.schema/
-  '';
-
   passthru.updateScript = ./update.sh;
 
   # Some tests try to write configuration data to a location in the user's home
diff --git a/pkgs/development/tools/rover/schema/etag.id b/pkgs/development/tools/rover/schema/etag.id
deleted file mode 100644
index 59331ac0df6d..000000000000
--- a/pkgs/development/tools/rover/schema/etag.id
+++ /dev/null
@@ -1 +0,0 @@
-d35f8c48cb89329f33656944fa9e997de1e778b043b9ca4d78c8accdecfd9046
diff --git a/pkgs/development/tools/rover/schema/hash.id b/pkgs/development/tools/rover/schema/hash.id
deleted file mode 100644
index d730728cfa77..000000000000
--- a/pkgs/development/tools/rover/schema/hash.id
+++ /dev/null
@@ -1 +0,0 @@
-ff145f12604d11312e6a2f8a61a3d226fcdb2ca79f6b7fbc24c5a22aa23ab1af
diff --git a/pkgs/development/tools/rover/schema/schema.graphql b/pkgs/development/tools/rover/schema/schema.graphql
deleted file mode 100644
index 8cc527f4f822..000000000000
--- a/pkgs/development/tools/rover/schema/schema.graphql
+++ /dev/null
@@ -1,1980 +0,0 @@
-schema {
-  query: Query
-  mutation: Mutation
-}
-
-"""An organization in Apollo Studio. Can have multiple members and graphs."""
-type Organization {
-  auditLogExports: [AuditLogExport!]
-  """Graphs belonging to this organization."""
-  graphs(includeDeleted: Boolean): [Graph!]!
-  """Globally unique identifier, which isn't guaranteed stable (can be changed by administrators)."""
-  id: ID!
-  """Name of the organization, which can change over time and isn't unique."""
-  name: String!
-  """Graphs belonging to this organization."""
-  services(includeDeleted: Boolean): [Graph!]! @deprecated(reason: "Use graphs field instead")
-}
-
-type OrganizationMutation {
-  """Trigger a request for an audit export"""
-  requestAuditExport(actors: [ActorInput!], from: Timestamp!, graphIds: [String!], to: Timestamp!): Organization
-}
-
-"""Represents an actor that performs actions in Apollo Studio. Most actors are either a `USER` or a `GRAPH` (based on a request's provided API key), and they have the corresponding `ActorType`."""
-type Actor {
-  actorId: ID!
-  type: ActorType!
-}
-
-"""Input type to provide when specifying an `Actor` in operation arguments. See also the `Actor` object type."""
-input ActorInput {
-  actorId: ID!
-  type: ActorType!
-}
-
-enum ActorType {
-  ANONYMOUS_USER
-  BACKFILL
-  CRON
-  GRAPH
-  INTERNAL_IDENTITY
-  SYNCHRONIZATION
-  SYSTEM
-  USER
-}
-
-union AddOperationCollectionEntriesResult = AddOperationCollectionEntriesSuccess | PermissionError | ValidationError
-
-type AddOperationCollectionEntriesSuccess {
-  operationCollectionEntries: [OperationCollectionEntry!]!
-}
-
-union AddOperationCollectionEntryResult = OperationCollectionEntry | PermissionError | ValidationError
-
-input AddOperationInput {
-  """The operation's fields."""
-  document: OperationCollectionEntryStateInput!
-  """The operation's name."""
-  name: String!
-}
-
-type AffectedQuery {
-  id: ID!
-  """First 128 characters of query signature for display"""
-  signature: String
-  """Name to display to the user for the operation"""
-  displayName: String
-  """Name provided for the operation, which can be empty string if it is an anonymous operation"""
-  name: String
-  """Determines if this query validates against the proposed schema"""
-  isValid: Boolean
-  """List of changes affecting this query. Returns null if queried from SchemaDiff.changes.affectedQueries.changes"""
-  changes: [ChangeOnOperation!]
-  """Whether this operation was ignored and its severity was downgraded for that reason"""
-  markedAsIgnored: Boolean
-  """Whether the changes were marked as safe and its severity was downgraded for that reason"""
-  markedAsSafe: Boolean
-  """If the operation would be approved if the check ran again. Returns null if queried from SchemaDiff.changes.affectedQueries.alreadyApproved"""
-  alreadyApproved: Boolean
-  """If the operation would be ignored if the check ran again"""
-  alreadyIgnored: Boolean
-}
-
-"""
-Represents an API key that's used to authenticate a
-particular Apollo user or graph.
-"""
-interface ApiKey {
-  """The API key's ID."""
-  id: ID!
-  """The API key's name, for distinguishing it from other keys."""
-  keyName: String
-  """The value of the API key. **This is a secret credential!**"""
-  token: String!
-}
-
-type ApiKeyProvision {
-  apiKey: ApiKey!
-  created: Boolean!
-}
-
-type AuditLogExport {
-  """The list of actors to filter the audit export"""
-  actors: [Identity!]
-  """The time when the audit export was completed"""
-  completedAt: Timestamp
-  """The time when the audit export was reqeusted"""
-  createdAt: Timestamp!
-  """List of URLs to download the audits for the requested range"""
-  downloadUrls: [String!]
-  """The starting point of audits to include in export"""
-  from: Timestamp!
-  """The list of graphs to filter the audit export"""
-  graphs: [Graph!]
-  """The id for the audit export"""
-  id: ID!
-  """The user that initiated the audit export"""
-  requester: User
-  """The status of the audit export"""
-  status: AuditStatus!
-  """The end point of audits to include in export"""
-  to: Timestamp!
-}
-
-enum AuditStatus {
-  CANCELLED
-  COMPLETED
-  EXPIRED
-  FAILED
-  IN_PROGRESS
-  QUEUED
-}
-
-"""The building of a Studio variant (including supergraph composition and any contract filtering) as part of a launch."""
-type Build {
-  """The inputs provided to the build, including subgraph and contract details."""
-  input: BuildInput!
-  """The result of the build. This value is null until the build completes."""
-  result: BuildResult
-}
-
-"""A single error that occurred during the failed execution of a build."""
-type BuildError {
-  code: String
-  locations: [SourceLocation!]!
-  message: String!
-}
-
-"""Contains the details of an executed build that failed."""
-type BuildFailure {
-  """A list of all errors that occurred during the failed build."""
-  errorMessages: [BuildError!]!
-}
-
-union BuildInput = CompositionBuildInput | FilterBuildInput
-
-union BuildResult = BuildFailure | BuildSuccess
-
-"""Contains the details of an executed build that succeeded."""
-type BuildSuccess {
-  """Contains the supergraph and API schemas created by composition."""
-  coreSchema: CoreSchema!
-}
-
-"""A single change that was made to a definition in a schema."""
-type Change {
-  """The severity of the change (e.g., `FAILURE` or `NOTICE`)"""
-  severity: ChangeSeverity!
-  """Indicates the type of change that was made, and to what (e.g., 'TYPE_REMOVED')."""
-  code: String!
-  """Indication of the category of the change (e.g. addition, removal, edit)."""
-  category: ChangeCategory!
-  """A human-readable description of the change."""
-  description: String!
-  affectedQueries: [AffectedQuery!]
-  """Top level node affected by the change."""
-  parentNode: NamedIntrospectionType
-  """
-  Node related to the top level node that was changed, such as a field in an object,
-  a value in an enum or the object of an interface.
-  """
-  childNode: NamedIntrospectionValue
-  """Target arg of change made."""
-  argNode: NamedIntrospectionArg
-}
-
-"""
-Defines a set of categories that a schema change
-can be grouped by.
-"""
-enum ChangeCategory {
-  ADDITION
-  EDIT
-  REMOVAL
-  DEPRECATION
-}
-
-"""
-These schema change codes represent all of the possible changes that can
-occur during the schema diff algorithm.
-"""
-enum ChangeCode {
-  """Field was removed from the type."""
-  FIELD_REMOVED
-  """Type (object or scalar) was removed from the schema."""
-  TYPE_REMOVED
-  """Argument to a field was removed."""
-  ARG_REMOVED
-  """Type is no longer included in the union."""
-  TYPE_REMOVED_FROM_UNION
-  """Field was removed from the input object."""
-  FIELD_REMOVED_FROM_INPUT_OBJECT
-  """Value was removed from the enum."""
-  VALUE_REMOVED_FROM_ENUM
-  """Type no longer implements the interface."""
-  TYPE_REMOVED_FROM_INTERFACE
-  """Non-nullable argument was added to the field."""
-  REQUIRED_ARG_ADDED
-  """Non-nullable field was added to the input object. (Deprecated.)"""
-  NON_NULLABLE_FIELD_ADDED_TO_INPUT_OBJECT
-  """Required field was added to the input object."""
-  REQUIRED_FIELD_ADDED_TO_INPUT_OBJECT
-  """Return type for the field was changed."""
-  FIELD_CHANGED_TYPE
-  """Type of the field in the input object was changed."""
-  FIELD_ON_INPUT_OBJECT_CHANGED_TYPE
-  """
-  Type was changed from one kind to another.
-  Ex: scalar to object or enum to union.
-  """
-  TYPE_CHANGED_KIND
-  """Type of the argument was changed."""
-  ARG_CHANGED_TYPE
-  """Argument was changed from nullable to non-nullable."""
-  ARG_CHANGED_TYPE_OPTIONAL_TO_REQUIRED
-  """A new value was added to the enum."""
-  VALUE_ADDED_TO_ENUM
-  """A new value was added to the enum."""
-  TYPE_ADDED_TO_UNION
-  """Type now implements the interface."""
-  TYPE_ADDED_TO_INTERFACE
-  """Default value added or changed for the argument."""
-  ARG_DEFAULT_VALUE_CHANGE
-  """Nullable argument was added to the field."""
-  OPTIONAL_ARG_ADDED
-  """Nullable field was added to the input type. (Deprecated.)"""
-  NULLABLE_FIELD_ADDED_TO_INPUT_OBJECT
-  """Optional field was added to the input type."""
-  OPTIONAL_FIELD_ADDED_TO_INPUT_OBJECT
-  """Field was added to the type."""
-  FIELD_ADDED
-  """Type was added to the schema."""
-  TYPE_ADDED
-  """Enum was deprecated."""
-  ENUM_DEPRECATED
-  """Enum deprecation was removed."""
-  ENUM_DEPRECATION_REMOVED
-  """Reason for enum deprecation changed."""
-  ENUM_DEPRECATED_REASON_CHANGE
-  """Field was deprecated."""
-  FIELD_DEPRECATED
-  """Field deprecation removed."""
-  FIELD_DEPRECATION_REMOVED
-  """Reason for field deprecation changed."""
-  FIELD_DEPRECATED_REASON_CHANGE
-  """Description was added, removed, or updated for type."""
-  TYPE_DESCRIPTION_CHANGE
-  """Description was added, removed, or updated for field."""
-  FIELD_DESCRIPTION_CHANGE
-  """Description was added, removed, or updated for enum value."""
-  ENUM_VALUE_DESCRIPTION_CHANGE
-  """Description was added, removed, or updated for argument."""
-  ARG_DESCRIPTION_CHANGE
-  """Directive was removed."""
-  DIRECTIVE_REMOVED
-  """Argument to the directive was removed."""
-  DIRECTIVE_ARG_REMOVED
-  """Location of the directive was removed."""
-  DIRECTIVE_LOCATION_REMOVED
-  """Repeatable flag was removed for directive."""
-  DIRECTIVE_REPEATABLE_REMOVED
-  """Non-nullable argument added to directive."""
-  REQUIRED_DIRECTIVE_ARG_ADDED
-}
-
-"""
-Represents the tuple of static information
-about a particular kind of schema change.
-"""
-type ChangeDefinition {
-  code: ChangeCode!
-  defaultSeverity: ChangeSeverity!
-  category: ChangeCategory!
-}
-
-"""An addition made to a Studio variant's changelog after a launch."""
-type ChangelogLaunchResult {
-  createdAt: Timestamp!
-  schemaTagID: ID!
-}
-
-"""Info about a change in the context of an operation it affects"""
-type ChangeOnOperation {
-  """The semantic info about this change, i.e. info about the change that doesn't depend on the operation"""
-  semanticChange: SemanticChange!
-  """Human-readable explanation of the impact of this change on the operation"""
-  impact: String
-}
-
-enum ChangeSeverity {
-  FAILURE
-  NOTICE
-}
-
-"""
-Summary of the changes for a schema diff, computed by placing the changes into categories and then
-counting the size of each category. This categorization can be done in different ways, and
-accordingly there are multiple fields here for each type of categorization.
-
-Note that if an object or interface field is added/removed, there won't be any addition/removal
-changes generated for its arguments or @deprecated usages. If an enum type is added/removed, there
-will be addition/removal changes generated for its values, but not for those values' @deprecated
-usages. Description changes won't be generated for a schema element if that element (or an
-ancestor) was added/removed.
-"""
-type ChangeSummary {
-  """
-  Counts for changes to non-field aspects of objects, input objects, and interfaces,
-  and all aspects of enums, unions, and scalars.
-  """
-  type: TypeChangeSummaryCounts!
-  """Counts for changes to fields of objects, input objects, and interfaces."""
-  field: FieldChangeSummaryCounts!
-  """Counts for all changes."""
-  total: TotalChangeSummaryCounts!
-}
-
-enum ChangeType {
-  FAILURE
-  NOTICE
-}
-
-"""Filter options available when listing checks."""
-input CheckFilterInput {
-  authors: [String!]
-  branches: [String!]
-  subgraphs: [String!]
-  status: CheckFilterInputStatusOption
-  variants: [String!]
-}
-
-"""Options for filtering CheckWorkflows by status"""
-enum CheckFilterInputStatusOption {
-  FAILED
-  PENDING
-  PASSED
-}
-
-"""The result of performing a subgraph check, including all steps."""
-type CheckPartialSchemaResult {
-  """Result of compostion run as part of the overall subgraph check."""
-  compositionValidationResult: CompositionCheckResult!
-  """Overall result of the check. This will be null if composition validation was unsuccessful."""
-  checkSchemaResult: CheckSchemaResult
-  """Whether any modifications were detected in the composed core schema."""
-  coreSchemaModified: Boolean!
-}
-
-"""The possible results of a request to initiate schema checks (either a success object or one of multiple `Error` objects)."""
-union CheckRequestResult = CheckRequestSuccess | InvalidInputError | PermissionError | PlanError
-
-"""Represents a successfully initiated execution of schema checks. This does not indicate the _result_ of the checks, only that they were initiated."""
-type CheckRequestSuccess {
-  """The URL of the Apollo Studio page for this check."""
-  targetURL: String!
-  """The unique ID for this execution of schema checks."""
-  workflowID: ID!
-}
-
-"""Input type to provide when running schema checks asynchronously for a non-federated graph."""
-input CheckSchemaAsyncInput {
-  """Configuration options for the check execution."""
-  config: HistoricQueryParametersInput!
-  """The GitHub context to associate with the check."""
-  gitContext: GitContextInput!
-  graphRef: ID @deprecated(reason: "This field is not required to be sent anymore")
-  """The URL of the GraphQL endpoint that Apollo Sandbox introspected to obtain the proposed schema. Required if `isSandbox` is `true`."""
-  introspectionEndpoint: String
-  """If `true`, the check was initiated by Apollo Sandbox."""
-  isSandbox: Boolean!
-  proposedSchemaDocument: String
-}
-
-"""The result of running schema checks on a graph variant."""
-type CheckSchemaResult {
-  """The schema diff and affected operations generated by the schema check."""
-  diffToPrevious: SchemaDiff!
-  """The URL to view the schema diff in Studio."""
-  targetUrl: String
-}
-
-type CheckWorkflow {
-  """
-  The variant provided as a base to check against. Only the differences from the
-  base schema will be tested in operations checks.
-  """
-  baseVariant: GraphVariant
-  """The timestamp when the check workflow completed."""
-  completedAt: Timestamp
-  id: ID!
-  """The name of the implementing service that was responsible for triggering the validation."""
-  implementingServiceName: String
-  """The timestamp when the check workflow started."""
-  startedAt: Timestamp
-  """Overall status of the workflow, based on the underlying task statuses."""
-  status: CheckWorkflowStatus!
-  """The set of check tasks associated with this workflow, e.g. composition, operations, etc."""
-  tasks: [CheckWorkflowTask!]!
-  """Contextual parameters supplied by the runtime environment where the check was run."""
-  gitContext: GitContext
-  createdAt: Timestamp!
-}
-
-enum CheckWorkflowStatus {
-  FAILED
-  PASSED
-  PENDING
-}
-
-interface CheckWorkflowTask {
-  completedAt: Timestamp
-  createdAt: Timestamp!
-  id: ID!
-  """
-  The status of this task. All tasks start with the PENDING status while initializing. If any
-   prerequisite task fails, then the task status becomes BLOCKED. Otherwise, if all prerequisite
-   tasks pass, then this task runs (still having the PENDING status). Once the task completes, the
-   task status will become either PASSED or FAILED.
-  """
-  status: CheckWorkflowTaskStatus!
-  """A studio UI url to view the details of this check workflow task"""
-  targetURL: String
-  """The workflow that this task belongs to."""
-  workflow: CheckWorkflow!
-}
-
-enum CheckWorkflowTaskStatus {
-  BLOCKED
-  FAILED
-  PASSED
-  PENDING
-}
-
-"""Filter options to exclude by client reference ID, client name, and client version."""
-input ClientInfoFilter {
-  name: String!
-  """Ignored"""
-  referenceID: ID
-  version: String
-}
-
-"""The result of supergraph composition that Studio performed in response to an attempted deletion of a subgraph."""
-type SubgraphRemovalResult {
-  """A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated."""
-  errors: [SchemaCompositionError]!
-  """Whether this composition result resulted in a new supergraph schema passed to Uplink (`true`), or the build failed for any reason (`false`). For dry runs, this value is `true` if Uplink _would have_ been updated with the result."""
-  updatedGateway: Boolean!
-}
-
-"""The result of supergraph composition that Studio performed in response to an attempted publish of a subgraph."""
-type SubgraphPublicationResult {
-  """The generated composition config, or null if any errors occurred."""
-  compositionConfig: CompositionConfig
-  """A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated."""
-  errors: [SchemaCompositionError]!
-  """Whether this composition result resulted in a new supergraph schema passed to Uplink (`true`), or the build failed for any reason (`false`). For dry runs, this value is `true` if Uplink _would have_ been updated with the result."""
-  updatedGateway: Boolean!
-  """Whether a new subgraph was created as part of this publish."""
-  wasCreated: Boolean!
-  """The URL of the Studio page for this update's associated launch, if available."""
-  launchUrl: String
-  """Human-readable text describing the launch result of the subgraph publish."""
-  launchCliCopy: String
-}
-
-type CompositionBuildInput {
-  subgraphs: [Subgraph!]!
-  version: String
-}
-
-type CompositionCheckTask implements CheckWorkflowTask {
-  completedAt: Timestamp
-  """
-  Whether the build's output supergraph core schema differs from that of the active publish for
-  the workflow's variant at the time this field executed (NOT at the time the check workflow
-  started).
-  """
-  coreSchemaModified: Boolean!
-  createdAt: Timestamp!
-  id: ID!
-  status: CheckWorkflowTaskStatus!
-  targetURL: String
-  workflow: CheckWorkflow!
-  """
-  An old version of buildResult that returns a very old GraphQL type that generally should be
-  avoided. This field will soon be deprecated.
-  """
-  result: CompositionResult
-}
-
-"""Composition configuration exposed to the gateway."""
-type CompositionConfig {
-  """The resulting API schema's SHA256 hash, represented as a hexadecimal string."""
-  schemaHash: String!
-}
-
-"""The result of supergraph composition that Studio performed."""
-type CompositionPublishResult implements CompositionResult {
-  """The unique ID for this instance of composition."""
-  graphCompositionID: ID!
-  """A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated."""
-  errors: [SchemaCompositionError!]!
-  """The supergraph SDL generated by composition."""
-  supergraphSdl: GraphQLDocument
-}
-
-"""The result of supergraph composition performed by Apollo Studio, often as the result of a subgraph check or subgraph publish. See individual implementations for more details."""
-interface CompositionResult {
-  """The unique ID for this instance of composition."""
-  graphCompositionID: ID!
-  """A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated."""
-  errors: [SchemaCompositionError!]!
-  """Supergraph SDL generated by composition."""
-  supergraphSdl: GraphQLDocument
-}
-
-"""The result of composition validation run by Apollo Studio during a subgraph check."""
-type CompositionCheckResult implements CompositionResult {
-  """The unique ID for this instance of composition."""
-  graphCompositionID: ID!
-  """A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated."""
-  errors: [SchemaCompositionError!]!
-  """The supergraph schema document generated by composition."""
-  supergraphSdl: GraphQLDocument
-}
-
-type ContractVariantUpsertErrors {
-  """A list of all errors that occurred when attempting to create or update a contract variant."""
-  errorMessages: [String!]!
-}
-
-union ContractVariantUpsertResult = ContractVariantUpsertErrors | ContractVariantUpsertSuccess
-
-type ContractVariantUpsertSuccess {
-  """The updated contract variant"""
-  contractVariant: GraphVariant!
-  """Human-readable text describing the launch result of the contract update."""
-  launchCliCopy: String
-  """The URL of the Studio page for this update's associated launch, if available."""
-  launchUrl: String
-}
-
-"""Contains the supergraph and API schemas generated by composition."""
-type CoreSchema {
-  """The composed API schema document."""
-  apiDocument: GraphQLDocument!
-  """The composed supergraph schema document."""
-  coreDocument: GraphQLDocument!
-  """The supergraph schema document's SHA256 hash, represented as a hexadecimal string."""
-  coreHash: String!
-}
-
-union CreateOperationCollectionResult = OperationCollection | PermissionError | ValidationError
-
-"""
-Implement the DateTime<Utc> scalar
-
-The input/output is a string in RFC3339 format.
-"""
-scalar DateTime @specifiedBy(url: "https://datatracker.ietf.org/doc/html/rfc3339")
-
-union DeleteOperationCollectionResult = PermissionError
-
-"""The result of attempting to delete a graph variant."""
-type GraphVariantDeletionResult {
-  """Whether the variant was deleted or not."""
-  deleted: Boolean!
-}
-
-"""The result of a schema checks workflow that was run on a downstream variant as part of checks for the corresponding source variant. Most commonly, these downstream checks are [contract checks](https://www.apollographql.com/docs/studio/contracts#contract-checks)."""
-type DownstreamCheckResult {
-  """Whether the downstream check workflow blocks the upstream check workflow from completing."""
-  blocking: Boolean!
-  """The ID of the graph that the downstream variant belongs to."""
-  downstreamGraphID: String!
-  """The name of the downstream variant."""
-  downstreamVariantName: String!
-  """
-  The downstream checks workflow that this result corresponds to. This value is null
-  if the workflow hasn't been initialized yet, or if the downstream variant was deleted.
-  """
-  downstreamWorkflow: CheckWorkflow
-  """
-  Whether the downstream check workflow is causing the upstream check workflow to fail. This occurs
-  when the downstream check workflow is both blocking and failing. This may be null while the
-  downstream check workflow is pending.
-  """
-  failsUpstreamWorkflow: Boolean
-  """The downstream checks task that this result corresponds to."""
-  workflowTask: DownstreamCheckTask!
-}
-
-type DownstreamCheckTask implements CheckWorkflowTask {
-  completedAt: Timestamp
-  createdAt: Timestamp!
-  id: ID!
-  """
-  A list of results for all downstream checks triggered as part of the source variant's checks workflow.
-  This value is null if the task hasn't been initialized yet, or if the build task fails (the build task is a
-  prerequisite to this task). This value is _not_ null _while_ the task is running. The returned list is empty
-  if the source variant has no downstream variants.
-  """
-  results: [DownstreamCheckResult!]
-  status: CheckWorkflowTaskStatus!
-  targetURL: String
-  workflow: CheckWorkflow!
-}
-
-interface Error {
-  message: String!
-}
-
-"""A single subgraph in a supergraph. Every supergraph managed by Apollo Studio includes at least one subgraph. See https://www.apollographql.com/docs/federation/managed-federation/overview/ for more information."""
-type GraphVariantSubgraph {
-  """The subgraph's name."""
-  name: String!
-  """The URL of the subgraph's GraphQL endpoint."""
-  url: String
-  """The current user-provided version/edition of the subgraph. Typically a Git SHA or docker image ID."""
-  revision: String!
-  """The ID of the graph this subgraph belongs to."""
-  graphID: String!
-  """The name of the graph variant this subgraph belongs to."""
-  graphVariant: String!
-  """The subgraph's current active schema, used in supergraph composition for the the associated variant."""
-  activePartialSchema: SubgraphSchema!
-  """The timestamp when the subgraph was created."""
-  createdAt: Timestamp!
-  """The timestamp when the subgraph was most recently updated."""
-  updatedAt: Timestamp!
-}
-
-"""Container for a list of subgraphs composing a supergraph."""
-type GraphVariantSubgraphs {
-  """The list of underlying subgraphs."""
-  services: [GraphVariantSubgraph!]!
-}
-
-"""Counts of changes at the field level, including objects, interfaces, and input fields."""
-type FieldChangeSummaryCounts {
-  """Number of changes that are additions of fields to object, interface, and input types."""
-  additions: Int!
-  """Number of changes that are removals of fields from object, interface, and input types."""
-  removals: Int!
-  """
-  Number of changes that are field edits. This includes fields changing type and any field
-  deprecation and description changes, but also includes any argument changes and any input object
-  field changes.
-  """
-  edits: Int!
-}
-
-"""Inputs provided to the build for a contract variant, which filters types and fields from a source variant's schema."""
-type FilterBuildInput {
-  """Schema filtering rules for the build, such as tags to include or exclude from the source variant schema."""
-  filterConfig: FilterConfig!
-  """The source variant schema document's SHA256 hash, represented as a hexadecimal string."""
-  schemaHash: String!
-}
-
-type FilterCheckTask implements CheckWorkflowTask {
-  completedAt: Timestamp
-  createdAt: Timestamp!
-  id: ID!
-  status: CheckWorkflowTaskStatus!
-  targetURL: String
-  workflow: CheckWorkflow!
-}
-
-"""The filter configuration used to build a contract schema. The configuration consists of lists of tags for schema elements to include or exclude in the resulting schema."""
-type FilterConfig {
-  """Tags of schema elements to exclude from the contract schema."""
-  exclude: [String!]!
-  """Tags of schema elements to include in the contract schema."""
-  include: [String!]!
-}
-
-input FilterConfigInput {
-  """A list of tags for schema elements to exclude from the resulting contract schema."""
-  exclude: [String!]!
-  """
-  Whether to hide unreachable objects, interfaces, unions, inputs, enums and scalars from
-  the resulting contract schema. Defaults to `false`.
-  """
-  hideUnreachableTypes: Boolean! = false
-  """A list of tags for schema elements to include in the resulting contract schema."""
-  include: [String!]!
-}
-
-type GitContext {
-  commit: ID
-}
-
-"""Input type to provide when specifying the Git context for a run of schema checks."""
-input GitContextInput {
-  """The Git repository branch used in the check."""
-  branch: String
-  """The ID of the Git commit used in the check."""
-  commit: ID
-  """The username of the user who created the Git commit used in the check."""
-  committer: String
-  """The commit message of the Git commit used in the check."""
-  message: String
-  """The Git repository's remote URL."""
-  remoteUrl: String
-}
-
-"""
-Represents a graph API key, which has permissions scoped to a
-user role for a single Apollo graph.
-"""
-type GraphApiKey implements ApiKey {
-  """The timestamp when the API key was created."""
-  createdAt: Timestamp!
-  """Details of the user or graph that created the API key."""
-  createdBy: Identity
-  """The API key's ID."""
-  id: ID!
-  """The API key's name, for distinguishing it from other keys."""
-  keyName: String
-  """The permission level assigned to the API key upon creation."""
-  role: UserPermission!
-  """The value of the API key. **This is a secret credential!**"""
-  token: String!
-}
-
-"""A union of all containers that can comprise the components of a Studio graph"""
-union GraphImplementors = GraphVariantSubgraphs
-
-"""A GraphQL document, such as the definition of an operation or schema."""
-scalar GraphQLDocument
-
-"""A graph variant"""
-type GraphVariant {
-  """The variant's global identifier in the form `graphID@variant`."""
-  id: ID!
-  router: Router
-  """The filter configuration used to build a contract schema. The configuration consists of lists of tags for schema elements to include or exclude in the resulting schema."""
-  contractFilterConfig: FilterConfig
-  """
-  A human-readable description of the filter configuration of this contract variant, or null if this isn't a contract
-  variant.
-  """
-  contractFilterConfigDescription: String
-  """The graph that this variant belongs to."""
-  graph: Graph!
-  """Latest approved launch for the variant, and what is served through Uplink."""
-  latestApprovedLaunch: Launch
-  """Latest launch for the variant, whether successful or not."""
-  latestLaunch: Launch
-  """The variant's name (e.g., `staging`)."""
-  name: String!
-  """Which permissions the current user has for interacting with this variant"""
-  permissions: GraphVariantPermissions!
-  readme: Readme!
-  """The variant this variant is derived from. This property currently only exists on contract variants."""
-  sourceVariant: GraphVariant
-  """A list of the saved [operation collections](https://www.apollographql.com/docs/studio/explorer/operation-collections/) associated with this variant."""
-  operationCollections: [OperationCollection!]!
-  """The URL of the variant's GraphQL endpoint for query and mutation operations. For subscription operations, use `subscriptionUrl`."""
-  url: String
-  """The URL of the variant's GraphQL endpoint for subscription operations."""
-  subscriptionUrl: String
-  """The details of the variant's most recent publication."""
-  latestPublication: SchemaPublication
-  """A list of the subgraphs included in this variant. This value is null for non-federated variants. Set `includeDeleted` to `true` to include deleted subgraphs."""
-  subgraphs(includeDeleted: Boolean! = false): [GraphVariantSubgraph!]
-  """Returns the details of the subgraph with the provided `name`, or null if this variant doesn't include a subgraph with that name."""
-  subgraph(name: ID!): GraphVariantSubgraph
-}
-
-"""Result of looking up a variant by ref"""
-union GraphVariantLookup = GraphVariant | InvalidRefFormat
-
-"""Modifies a variant of a graph, also called a schema tag in parts of our product."""
-type GraphVariantMutation {
-  """
-  _Asynchronously_ kicks off operation checks for a proposed non-federated
-  schema change against its associated graph.
-
-  Returns a `CheckRequestSuccess` object with a workflow ID that you can use
-  to check status, or an error object if the checks workflow failed to start.
-  """
-  submitCheckSchemaAsync(input: CheckSchemaAsyncInput!): CheckRequestResult!
-  """
-  _Asynchronously_ kicks off composition and operation checks for a proposed subgraph schema change against its associated supergraph.
-
-  Returns a `CheckRequestSuccess` object with a workflow ID that you can use
-  to check status, or an error object if the checks workflow failed to start.
-  """
-  submitSubgraphCheckAsync(input: SubgraphCheckAsyncInput!): CheckRequestResult!
-  """Updates the [README](https://www.apollographql.com/docs/studio/org/graphs/#the-readme-page) of this variant."""
-  updateVariantReadme(
-    """The full new text of the README, as a Markdown-formatted string."""
-    readme: String!
-  ): GraphVariant
-  """Delete the variant."""
-  delete: GraphVariantDeletionResult!
-}
-
-"""Individual permissions for the current user when interacting with a particular Studio graph variant."""
-type GraphVariantPermissions {
-  """Whether the currently authenticated user is permitted to manage/update this variant's build configuration (e.g., build pipeline version)."""
-  canManageBuildConfig: Boolean!
-  """Whether the currently authenticated user is permitted to manage/update cloud routers"""
-  canManageCloudRouter: Boolean!
-  """Whether the currently authenticated user is permitted to update variant-level settings for the Apollo Studio Explorer."""
-  canManageExplorerSettings: Boolean!
-  """Whether the currently authenticated user is permitted to publish schemas to this variant."""
-  canPushSchemas: Boolean!
-  """Whether the currently authenticated user is permitted to view this variant's build configuration details (e.g., build pipeline version)."""
-  canQueryBuildConfig: Boolean!
-  """Whether the currently authenticated user is permitted to view details regarding cloud routers"""
-  canQueryCloudRouter: Boolean!
-  """Whether the currently authenticated user is permitted to view cloud router logs"""
-  canQueryCloudRouterLogs: Boolean!
-  """Whether the currently authenticated user is permitted to download schemas associated to this variant."""
-  canQuerySchemas: Boolean!
-  """Whether the currently authenticated user is permitted to update the README for this variant."""
-  canUpdateVariantReadme: Boolean!
-  canCreateCollectionInVariant: Boolean!
-  canShareCollectionInVariant: Boolean!
-}
-
-input HistoricQueryParameters {
-  from: String = "-86400"
-  to: String = "0"
-  """Minimum number of requests within the window for a query to be considered."""
-  queryCountThreshold: Int = 1
-  """
-  Number of requests within the window for a query to be considered, relative to
-  total request count. Expected values are between 0 and 0.05 (minimum 5% of total
-  request volume)
-  """
-  queryCountThresholdPercentage: Float = 0
-  """A list of operation IDs to filter out during validation."""
-  ignoredOperations: [ID!] = null
-  """A list of clients to filter out during validation."""
-  excludedClients: [ClientInfoFilter!] = null
-  """A list of operation names to filter out during validation."""
-  excludedOperationNames: [OperationNameFilterInput!] = null
-  """
-  A list of variants to include in the validation. If no variants are provided
-  then this defaults to the "current" variant along with the base variant. The
-  base variant indicates the schema that generates diff and marks the metrics that
-  are checked for broken queries. We union this base variant with the untagged values('',
-  same as null inside of `in`, and 'current') in this metrics fetch. This strategy
-  supports users who have not tagged their metrics or schema.
-  """
-  includedVariants: [String!] = null
-}
-
-"""Input type to provide when specifying configuration details for schema checks."""
-input HistoricQueryParametersInput {
-  """Clients to be excluded from check."""
-  excludedClients: [ClientInfoFilter!]
-  """Operations to be ignored in this schema check, specified by operation name."""
-  excludedOperationNames: [OperationNameFilterInput!]
-  """Start time for operations to be checked against. Specified as either a) an ISO formatted date/time string or b) a negative number of seconds relative to the time the check request was submitted."""
-  from: String
-  """Operations to be ignored in this schema check, specified by ID."""
-  ignoredOperations: [ID!]
-  """Graph variants to be included in check."""
-  includedVariants: [String!]
-  """Maximum number of queries to be checked against the change."""
-  queryCountThreshold: Int
-  """Only fail check if this percentage of operations would be negatively impacted."""
-  queryCountThresholdPercentage: Float
-  """End time for operations to be checked against. Specified as either a) an ISO formatted date/time string or b) a negative number of seconds relative to the time the check request was submitted."""
-  to: String
-}
-
-"""An identity (such as a `User` or `Graph`) in Apollo Studio. See implementing types for details."""
-interface Identity {
-  """Returns a representation of the identity as an `Actor` type."""
-  asActor: Actor!
-  """The identity's identifier, which is unique among objects of its type."""
-  id: ID!
-  """The identity's human-readable name."""
-  name: String!
-}
-
-type InternalIdentity implements Identity {
-  accounts: [Organization!]!
-  asActor: Actor!
-  email: String
-  id: ID!
-  name: String!
-}
-
-input IntrospectionDirectiveInput {
-  name: String!
-  description: String
-  locations: [IntrospectionDirectiveLocation!]!
-  args: [IntrospectionInputValueInput!]!
-  isRepeatable: Boolean
-}
-
-"""__DirectiveLocation introspection type"""
-enum IntrospectionDirectiveLocation {
-  """Location adjacent to a query operation."""
-  QUERY
-  """Location adjacent to a mutation operation."""
-  MUTATION
-  """Location adjacent to a subscription operation."""
-  SUBSCRIPTION
-  """Location adjacent to a field."""
-  FIELD
-  """Location adjacent to a fragment definition."""
-  FRAGMENT_DEFINITION
-  """Location adjacent to a fragment spread."""
-  FRAGMENT_SPREAD
-  """Location adjacent to an inline fragment."""
-  INLINE_FRAGMENT
-  """Location adjacent to a variable definition."""
-  VARIABLE_DEFINITION
-  """Location adjacent to a schema definition."""
-  SCHEMA
-  """Location adjacent to a scalar definition."""
-  SCALAR
-  """Location adjacent to an object type definition."""
-  OBJECT
-  """Location adjacent to a field definition."""
-  FIELD_DEFINITION
-  """Location adjacent to an argument definition."""
-  ARGUMENT_DEFINITION
-  """Location adjacent to an interface definition."""
-  INTERFACE
-  """Location adjacent to a union definition."""
-  UNION
-  """Location adjacent to an enum definition."""
-  ENUM
-  """Location adjacent to an enum value definition."""
-  ENUM_VALUE
-  """Location adjacent to an input object type definition."""
-  INPUT_OBJECT
-  """Location adjacent to an input object field definition."""
-  INPUT_FIELD_DEFINITION
-}
-
-"""__EnumValue introspection type"""
-input IntrospectionEnumValueInput {
-  name: String!
-  description: String
-  isDeprecated: Boolean!
-  deprecationReason: String
-}
-
-"""__Field introspection type"""
-input IntrospectionFieldInput {
-  name: String!
-  description: String
-  args: [IntrospectionInputValueInput!]!
-  type: IntrospectionTypeInput!
-  isDeprecated: Boolean!
-  deprecationReason: String
-}
-
-"""__Value introspection type"""
-input IntrospectionInputValueInput {
-  name: String!
-  description: String
-  type: IntrospectionTypeInput!
-  defaultValue: String
-  isDeprecated: Boolean
-  deprecationReason: String
-}
-
-"""__Schema introspection type"""
-input IntrospectionSchemaInput {
-  types: [IntrospectionTypeInput!]
-  queryType: IntrospectionTypeRefInput!
-  mutationType: IntrospectionTypeRefInput
-  subscriptionType: IntrospectionTypeRefInput
-  directives: [IntrospectionDirectiveInput!]!
-  description: String
-}
-
-"""__Type introspection type"""
-input IntrospectionTypeInput {
-  kind: IntrospectionTypeKind!
-  name: String
-  description: String
-  specifiedByUrl: String
-  fields: [IntrospectionFieldInput!]
-  interfaces: [IntrospectionTypeInput!]
-  possibleTypes: [IntrospectionTypeInput!]
-  enumValues: [IntrospectionEnumValueInput!]
-  inputFields: [IntrospectionInputValueInput!]
-  ofType: IntrospectionTypeInput
-}
-
-enum IntrospectionTypeKind {
-  """Indicates this type is a scalar."""
-  SCALAR
-  """Indicates this type is an object. 'fields' and 'interfaces' are valid fields."""
-  OBJECT
-  """
-  Indicates this type is an interface. 'fields' and 'possibleTypes' are valid
-  fields
-  """
-  INTERFACE
-  """Indicates this type is a union. 'possibleTypes' is a valid field."""
-  UNION
-  """Indicates this type is an enum. 'enumValues' is a valid field."""
-  ENUM
-  """Indicates this type is an input object. 'inputFields' is a valid field."""
-  INPUT_OBJECT
-  """Indicates this type is a list. 'ofType' is a valid field."""
-  LIST
-  """Indicates this type is a non-null. 'ofType' is a valid field."""
-  NON_NULL
-}
-
-"""Shallow __Type introspection type"""
-input IntrospectionTypeRefInput {
-  name: String!
-  kind: String
-}
-
-"""An error caused by providing invalid input for a task, such as schema checks."""
-type InvalidInputError {
-  """The error message."""
-  message: String!
-}
-
-"""This object is returned when a request to fetch a Studio graph variant provides an invalid graph ref."""
-type InvalidRefFormat implements Error {
-  message: String!
-}
-
-"""Represents the complete process of making a set of updates to a deployed graph variant."""
-type Launch {
-  """The unique identifier for this launch."""
-  id: ID!
-  """The ID of the launch's associated graph."""
-  graphId: String!
-  """The name of the launch's associated variant."""
-  graphVariant: String!
-  order: OrderOrError!
-  """The timestamp when the launch was approved."""
-  approvedAt: Timestamp
-  """The associated build for this launch (a build includes schema composition and contract filtering). This value is null until the build is initiated."""
-  build: Build
-  """The inputs provided to this launch's associated build, including subgraph schemas and contract filters."""
-  buildInput: BuildInput!
-  """The timestamp when the launch completed. This value is null until the launch completes."""
-  completedAt: Timestamp
-  """The timestamp when the launch was initiated."""
-  createdAt: Timestamp!
-  """Contract launches that were triggered by this launch."""
-  downstreamLaunches: [Launch!]!
-  """Whether the launch completed."""
-  isCompleted: Boolean
-  """Whether the result of the launch has been published to the associated graph and variant. This is always false for a failed launch."""
-  isPublished: Boolean
-  """The most recent launch sequence step that has started but not necessarily completed."""
-  latestSequenceStep: LaunchSequenceStep
-  """A specific publication of a graph variant pertaining to this launch."""
-  publication: SchemaPublication
-  """A list of results from the completed launch. The items included in this list vary depending on whether the launch succeeded, failed, or was superseded."""
-  results: [LaunchResult!]!
-  """Cloud router configuration associated with this build event. It will be non-null for any cloud-router variant, and null for any not cloudy variant/graph."""
-  routerConfig: String
-  """A list of all serial steps in the launch sequence. This list can change as the launch progresses. For example, a `LaunchCompletedStep` is appended after a launch completes."""
-  sequence: [LaunchSequenceStep!]!
-  """A shortened version of `Launch.id` that includes only the first 8 characters."""
-  shortenedID: String!
-  """The launch's status. If a launch is superseded, its status remains `LAUNCH_INITIATED`. To check for a superseded launch, use `supersededAt`."""
-  status: LaunchStatus!
-  """A list of subgraph changes that are included in this launch."""
-  subgraphChanges: [SubgraphChange!]
-  """The timestamp when this launch was superseded by another launch. If an active launch is superseded, it terminates."""
-  supersededAt: Timestamp
-  """The launch that superseded this launch, if any. If an active launch is superseded, it terminates."""
-  supersededBy: Launch
-  """The source variant launch that caused this launch to be initiated. This value is present only for contract variant launches. Otherwise, it's null."""
-  upstreamLaunch: Launch
-}
-
-"""Types of results that can be associated with a `Launch`"""
-union LaunchResult = ChangelogLaunchResult
-
-"""The timing details for the build step of a launch."""
-type LaunchSequenceBuildStep {
-  """The timestamp when the step completed."""
-  completedAt: Timestamp
-  """The timestamp when the step started."""
-  startedAt: Timestamp
-}
-
-"""The timing details for the checks step of a launch."""
-type LaunchSequenceCheckStep {
-  """The timestamp when the step completed."""
-  completedAt: Timestamp
-  """The timestamp when the step started."""
-  startedAt: Timestamp
-}
-
-"""The timing details for the completion step of a launch."""
-type LaunchSequenceCompletedStep {
-  """The timestamp when the step (and therefore the launch) completed."""
-  completedAt: Timestamp
-}
-
-"""The timing details for the initiation step of a launch."""
-type LaunchSequenceInitiatedStep {
-  """The timestamp when the step (and therefore the launch) started."""
-  startedAt: Timestamp
-}
-
-"""The timing details for the publish step of a launch."""
-type LaunchSequencePublishStep {
-  """The timestamp when the step completed."""
-  completedAt: Timestamp
-  """The timestamp when the step started."""
-  startedAt: Timestamp
-}
-
-"""Represents the various steps that occur in sequence during a single launch."""
-union LaunchSequenceStep = LaunchSequenceBuildStep | LaunchSequenceCheckStep | LaunchSequenceCompletedStep | LaunchSequenceInitiatedStep | LaunchSequencePublishStep | LaunchSequenceSupersededStep
-
-"""The timing details for the superseded step of a launch. This step occurs only if the launch is superseded by another launch."""
-type LaunchSequenceSupersededStep {
-  """The timestamp when the step completed, thereby ending the execution of this launch in favor of the superseding launch."""
-  completedAt: Timestamp
-}
-
-enum LaunchStatus {
-  LAUNCH_COMPLETED
-  LAUNCH_FAILED
-  LAUNCH_INITIATED
-}
-
-enum LogLevel {
-  WARN
-  INFO
-  ERROR
-  DEBUG
-}
-
-type LogMessage {
-  """Timestamp in UTC"""
-  timestamp: DateTime!
-  """Log message contents"""
-  message: String!
-  """Log level"""
-  level: LogLevel!
-}
-
-type Mutation {
-  """Provides access to mutation fields for modifying a Studio graph with the provided ID."""
-  graph(id: ID!): GraphMutation
-  """
-  Provides access to mutation fields for modifying an Apollo user with the
-  provided ID.
-  """
-  user(id: ID!): UserMutation
-  """Creates an [operation collection](https://www.apollographql.com/docs/studio/explorer/operation-collections/) for a given variant, or creates a [sandbox collection](https://www.apollographql.com/docs/studio/explorer/operation-collections/#sandbox-collections) without an associated variant."""
-  createOperationCollection(
-    """The collection's description."""
-    description: String
-    """Whether the collection is a [sandbox collection](https://www.apollographql.com/docs/studio/explorer/operation-collections/#sandbox-collections)."""
-    isSandbox: Boolean!
-    """Whether the collection is shared across its associated organization."""
-    isShared: Boolean!
-    """The minimum role a user needs to edit this collection. Valid values: null, CONSUMER, OBSERVER, DOCUMENTER, CONTRIBUTOR, GRAPH_ADMIN. This value is ignored if `isShared` is `false`. The default value is  `GRAPH_ADMIN`."""
-    minEditRole: UserPermission
-    """The collection's name."""
-    name: String!
-    """The [graph ref](https://www.apollographql.com/docs/rover/conventions/#graph-refs) of the graph variants to associate the collection with."""
-    variantRefs: [ID!]
-  ): CreateOperationCollectionResult!
-  operationCollection(id: ID!): OperationCollectionMutation
-}
-
-"""
-ISO 8601 combined date and time without timezone.
-
-# Examples
-
-* `2015-07-01T08:59:60.123`,
-"""
-scalar NaiveDateTime
-
-type NamedIntrospectionArg {
-  name: String
-  description: String
-}
-
-"""
-The shared fields for a named introspection type. Currently this is returned for the
-top level value affected by a change. In the future, we may update this
-type to be an interface, which is extended by the more specific types:
-scalar, object, input object, union, interface, and enum
-
-For an in-depth look at where these types come from, see:
-https://github.com/DefinitelyTyped/DefinitelyTyped/blob/659eb50d3/types/graphql/utilities/introspectionQuery.d.ts#L31-L37
-"""
-type NamedIntrospectionType {
-  kind: IntrospectionTypeKind
-  name: String
-  description: String
-}
-
-"""
-Introspection values that can be children of other types for changes, such
-as input fields, objects in interfaces, enum values. In the future, this
-value could become an interface to allow fields specific to the types
-returned.
-"""
-type NamedIntrospectionValue {
-  name: String
-  description: String
-  printedType: String
-}
-
-"""An error that occurs when a requested object is not found."""
-type NotFoundError implements Error {
-  """The error message."""
-  message: String!
-}
-
-"""A list of saved GraphQL operations."""
-type OperationCollection {
-  """The timestamp when the collection was created."""
-  createdAt: Timestamp!
-  """The user or other entity that created the collection."""
-  createdBy: Identity
-  """The collection's description. A `null` description was never set, and empty string description was set to be empty string by a user, or other entity."""
-  description: String
-  id: ID!
-  """Whether the current user has marked the collection as a favorite."""
-  isFavorite: Boolean!
-  """Whether the collection is a [sandbox collection](https://www.apollographql.com/docs/studio/explorer/operation-collections/#sandbox-collections)."""
-  isSandbox: Boolean!
-  """Whether the collection is shared across its associated organization."""
-  isShared: Boolean!
-  """The timestamp when the collection was most recently updated."""
-  lastUpdatedAt: Timestamp!
-  """The user or other entity that most recently updated the collection."""
-  lastUpdatedBy: Identity
-  """The minimum role a user needs to edit this collection. Valid values: null, CONSUMER, OBSERVER, DOCUMENTER, CONTRIBUTOR, GRAPH_ADMIN. This value is always `null` if `isShared` is `false`. If `null` when `isShared` is `true`, the minimum role is `GRAPH_ADMIN`."""
-  minEditRole: UserPermission
-  """The collection's name."""
-  name: String!
-  """Returns the operation in the collection with the specified ID, if any."""
-  operation(id: ID!): OperationCollectionEntryResult
-  """A list of the GraphQL operations that belong to the collection."""
-  operations: [OperationCollectionEntry!]!
-  """The permissions that the current user has for the collection."""
-  permissions: OperationCollectionPermissions!
-}
-
-"""A saved operation entry within an Operation Collection."""
-type OperationCollectionEntry {
-  """The timestamp when the entry was created."""
-  createdAt: Timestamp!
-  """The user or other entity that created the entry."""
-  createdBy: Identity
-  """Details of the entry's associated operation, such as its `body` and `variables`."""
-  currentOperationRevision: OperationCollectionEntryState!
-  id: ID!
-  """The timestamp when the entry was most recently updated."""
-  lastUpdatedAt: Timestamp!
-  """The user or other entity that most recently updated the entry."""
-  lastUpdatedBy: Identity
-  """The entry's name."""
-  name: String!
-  """The entry's lexicographical ordering index within its containing collection."""
-  orderingIndex: String!
-}
-
-"""Provides fields for modifying an operation in a collection."""
-type OperationCollectionEntryMutation {
-  """Updates the name of an operation."""
-  updateName(name: String!): UpdateOperationCollectionEntryResult
-  """Updates the body, headers, and/or variables of an operation."""
-  updateValues(operationInput: OperationCollectionEntryStateInput!): UpdateOperationCollectionEntryResult
-}
-
-union OperationCollectionEntryMutationResult = NotFoundError | OperationCollectionEntryMutation | PermissionError
-
-"""Possible return values when querying for an entry in an operation collection (either the entry object or an `Error` object)."""
-union OperationCollectionEntryResult = NotFoundError | OperationCollectionEntry
-
-"""The most recent body, variable and header values of a saved operation entry."""
-type OperationCollectionEntryState {
-  """The raw body of the entry's GraphQL operation."""
-  body: String!
-  """Headers for the entry's GraphQL operation."""
-  headers: [OperationHeader!]
-  """Variables for the entry's GraphQL operation, as a JSON string."""
-  variables: String
-}
-
-"""Fields for creating or modifying an operation collection entry."""
-input OperationCollectionEntryStateInput {
-  """The operation's query body."""
-  body: String!
-  """The operation's headers."""
-  headers: [OperationHeaderInput!]
-  """The operation's variables."""
-  variables: String
-}
-
-"""Provides fields for modifying an [operation collection](https://www.apollographql.com/docs/studio/explorer/operation-collections/)."""
-type OperationCollectionMutation {
-  """Adds an operation to this collection."""
-  addOperation(name: String!, operationInput: OperationCollectionEntryStateInput!): AddOperationCollectionEntryResult
-  """Adds operations to this collection."""
-  addOperations(operations: [AddOperationInput!]!): AddOperationCollectionEntriesResult
-  """Deletes this operation collection. This also deletes all of the collection's associated operations."""
-  delete: DeleteOperationCollectionResult
-  """Deletes an operation from this collection."""
-  deleteOperation(id: ID!): RemoveOperationCollectionEntryResult
-  operation(id: ID!): OperationCollectionEntryMutationResult
-  """Updates the minimum role a user needs to be able to modify this collection."""
-  setMinEditRole(editRole: UserPermission): UpdateOperationCollectionResult
-  """Updates this collection's description."""
-  updateDescription(description: String): UpdateOperationCollectionResult
-  """Updates whether the current user has marked this collection as a favorite."""
-  updateIsFavorite(isFavorite: Boolean!): UpdateOperationCollectionResult
-  """Updates whether this collection is shared across its associated organization."""
-  updateIsShared(isShared: Boolean!): UpdateOperationCollectionResult
-  """Updates this operation collection's name."""
-  updateName(name: String!): UpdateOperationCollectionResult
-}
-
-"""Whether the current user can perform various actions on the associated collection."""
-type OperationCollectionPermissions {
-  """Whether the current user can edit operations in the associated collection."""
-  canEditOperations: Boolean!
-  """Whether the current user can delete or update the associated collection's metadata, such as its name and description."""
-  canManage: Boolean!
-  """Whether the current user can read operations in the associated collection."""
-  canReadOperations: Boolean!
-}
-
-union OperationCollectionResult = NotFoundError | OperationCollection | PermissionError | ValidationError
-
-"""Saved headers on a saved operation."""
-type OperationHeader {
-  """The header's name."""
-  name: String!
-  """The header's value."""
-  value: String!
-}
-
-input OperationHeaderInput {
-  """The header's name."""
-  name: String!
-  """The header's value."""
-  value: String!
-}
-
-"""Options to filter by operation name."""
-input OperationNameFilterInput {
-  """name of the operation set by the user and reported alongside metrics"""
-  name: String!
-  version: String
-}
-
-type OperationsCheckResult {
-  id: ID!
-  """Indication of the success of the change, either failure, warning, or notice."""
-  checkSeverity: ChangeSeverity!
-  """Number of operations that were validated during schema diff"""
-  numberOfCheckedOperations: Int!
-  """List of schema changes with associated affected clients and operations"""
-  changes: [Change!]!
-  """Summary/counts for all changes in diff"""
-  changeSummary: ChangeSummary!
-  """Operations affected by all changes in diff"""
-  affectedQueries: [AffectedQuery!]
-  """Number of affected query operations that are neither marked as SAFE or IGNORED"""
-  numberOfAffectedOperations: Int!
-  createdAt: Timestamp!
-}
-
-type OperationsCheckTask implements CheckWorkflowTask {
-  completedAt: Timestamp
-  createdAt: Timestamp!
-  id: ID!
-  status: CheckWorkflowTaskStatus!
-  targetURL: String
-  workflow: CheckWorkflow!
-  """
-  The result of the operations check. This will be null when the task is initializing or running,
-  or when the build task fails (which is a prerequisite task to this one).
-  """
-  result: OperationsCheckResult
-}
-
-type Order {
-  id: ID!
-  orderType: OrderType!
-  status: OrderStatus!
-  reason: String
-  logs(first: Int, offset: Int): [LogMessage!]!
-  router: Router!
-}
-
-union OrderOrError = Order
-
-enum OrderStatus {
-  PENDING
-  COMPLETED
-  ROLLING_BACK
-  ERRORED
-  SUPERSEDED
-}
-
-enum OrderType {
-  CREATE_ROUTER
-  DESTROY_ROUTER
-  UPDATE_ROUTER
-}
-
-"""The schema for a single published subgraph in Studio."""
-type SubgraphSchema {
-  """The subgraph schema document as SDL."""
-  sdl: String!
-}
-
-"""
-Input for registering a partial schema to an implementing service.
-One of the fields must be specified (validated server-side).
-
-If a new partialSchemaSDL is passed in, this operation will store it before
-creating the association.
-
-If both the sdl and hash are specified, an error will be thrown if the provided
-hash doesn't match our hash of the sdl contents. If the sdl field is specified,
-the hash does not need to be and will be computed server-side.
-"""
-input PartialSchemaInput {
-  """
-  Contents of the partial schema in SDL syntax, but may reference types
-  that aren't defined in this document
-  """
-  sdl: String
-  """
-  Hash of the partial schema to associate; error is thrown if only the hash is
-  specified and the hash has not been seen before
-  """
-  hash: String
-}
-
-"""An error that occurs when the current user doesn't have sufficient permissions to perform an action."""
-type PermissionError implements Error {
-  """The error message."""
-  message: String!
-}
-
-"""An error related to an organization's Apollo Studio plan."""
-type PlanError {
-  """The error message."""
-  message: String!
-}
-
-type Query {
-  """Returns the root URL of the Apollo Studio frontend."""
-  frontendUrlRoot: String!
-  """Returns details of the graph with the provided ID."""
-  graph(id: ID!): Graph
-  """Returns details of the authenticated `User` or `Graph` executing this query. If this is an unauthenticated query (i.e., no API key is provided), this field returns null."""
-  me: Identity
-  """Returns details of the Studio organization with the provided ID."""
-  organization(id: ID!): Organization
-  """Returns details of the Apollo user with the provided ID."""
-  user(id: ID!): User
-  """Returns details of a Studio graph variant with the provided graph ref. A graph ref has the format `graphID@variantName` (or just `graphID` for the default variant `current`). Returns null if the graph or variant doesn't exist, or if the graph isn't accessible by the current actor."""
-  variant(ref: ID!): GraphVariantLookup
-  """Returns the [operation collection](https://www.apollographql.com/docs/studio/explorer/operation-collections/) for the provided ID."""
-  operationCollection(id: ID!): OperationCollectionResult!
-}
-
-"""The README documentation for a graph variant, which is displayed in Studio."""
-type Readme {
-  """The contents of the README in plaintext."""
-  content: String!
-  """The README's unique ID. `a15177c0-b003-4837-952a-dbfe76062eb1` for the default README"""
-  id: ID!
-  """The actor that most recently updated the README (usually a `User`). `null` for the default README, or if the `User` was deleted."""
-  lastUpdatedBy: Identity
-  """The timestamp when the README was most recently updated. `null` for the default README"""
-  lastUpdatedTime: Timestamp
-}
-
-union RemoveOperationCollectionEntryResult = OperationCollection | PermissionError
-
-type Router {
-  """
-  Last time when the Cloud Router was updated
-
-  If the Cloud Router was never updated, this value will be null
-  """
-  updatedAt: NaiveDateTime
-  """Current status of the Cloud Router"""
-  status: RouterStatus!
-  """Current version of the Cloud Router"""
-  routerVersion: RouterVersion!
-  """
-  URL where the Cloud Router can be found
-
-  This will be null if the Cloud Router is in a deleted status
-  """
-  routerUrl: String
-  """Retrieves a specific Order related to this Cloud Router"""
-  order(orderId: ID!): Order
-  """Retrieves all Orders related to this Cloud Router"""
-  orders(first: Int, offset: Int): [Order!]!
-  """Return the list of secrets for this Cloud Router with their hash values"""
-  secrets: [Secret!]!
-}
-
-enum RouterStatus {
-  CREATING
-  UPDATING
-  DELETING
-  ROLLING_BACK
-  RUNNING
-  DELETED
-}
-
-type RouterVersion {
-  version: String!
-  core: String!
-  build: String!
-  status: Status!
-  configVersion: String!
-  configSchema: String!
-}
-
-"""A GraphQL schema document and associated metadata."""
-type Schema {
-  """The GraphQL schema document's SHA256 hash, represented as a hexadecimal string."""
-  hash: ID!
-  """The GraphQL schema document."""
-  document: GraphQLDocument!
-}
-
-"""An error that occurred while running schema composition on a set of subgraph schemas."""
-type SchemaCompositionError {
-  """A human-readable message describing the error."""
-  message: String!
-  """Source locations related to the error."""
-  locations: [SourceLocation]!
-  """A machine-readable error code."""
-  code: String
-}
-
-"""The result of computing the difference between two schemas, usually as part of schema checks."""
-type SchemaDiff {
-  """Indicates the overall safety of the changes included in the diff, based on operation history (e.g., `FAILURE` or `NOTICE`)."""
-  severity: ChangeSeverity!
-  """A list of all schema changes in the diff, including their severity."""
-  changes: [Change!]!
-  """Numeric summaries for each type of change in the diff."""
-  changeSummary: ChangeSummary!
-  """Operations affected by all changes in the diff."""
-  affectedQueries: [AffectedQuery!]
-  """The number of GraphQL operations that were validated during the check."""
-  numberOfCheckedOperations: Int
-  """The number of GraphQL operations affected by the diff's changes that are neither marked as safe nor ignored."""
-  numberOfAffectedOperations: Int!
-}
-
-"""Contains details for an individual publication of an individual graph variant."""
-type SchemaPublication {
-  """
-  The variant that was published to."
-  """
-  variant: GraphVariant!
-  """The schema that was published to the variant."""
-  schema: Schema!
-  """The result of federated composition executed for this publication. This result includes either a supergraph schema or error details, depending on whether composition succeeded. This value is null when the publication is for a non-federated graph."""
-  compositionResult: CompositionResult
-  """The timestamp when the variant was published to."""
-  publishedAt: Timestamp!
-  """A schema diff comparing against the schema from the most recent previous successful publication."""
-  diffToPrevious: SchemaDiff
-}
-
-type Secret {
-  createdAt: DateTime!
-  name: String!
-  hash: String!
-}
-
-type SemanticChange {
-  """Semantic metadata about the type of change"""
-  definition: ChangeDefinition!
-  """Top level node affected by the change"""
-  parentNode: NamedIntrospectionType
-  """
-  Node related to the top level node that was changed, such as a field in an object,
-  a value in an enum or the object of an interface
-  """
-  childNode: NamedIntrospectionValue
-  """Target arg of change made."""
-  argNode: NamedIntrospectionArg
-}
-
-"""
-A graph in Apollo Studio represents a graph in your organization.
-Each graph has one or more variants, which correspond to the different environments where that graph runs (such as staging and production).
-Each variant has its own GraphQL schema, which means schemas can differ between environments.
-"""
-type Graph implements Identity {
-  """The organization that this graph belongs to."""
-  account: Organization
-  """A list of the graph API keys that are active for this graph."""
-  apiKeys: [GraphApiKey!]
-  """Provides a view of the graph as an `Actor` type."""
-  asActor: Actor!
-  """Get a check workflow for this graph by its ID"""
-  checkWorkflow(id: ID!): CheckWorkflow
-  """The graph's globally unique identifier."""
-  id: ID!
-  """Permissions of the current user in this graph."""
-  myRole: UserPermission
-  name: String!
-  """Describes the permissions that the active user has for this graph."""
-  roles: GraphRoles
-  """The graph's name."""
-  title: String!
-  """
-  Provides details of the graph variant with the provided `name`, if a variant
-  with that name exists for this graph. Otherwise, returns null.
-
-   For a list of _all_ variants associated with a graph, use `Graph.variants` instead.
-  """
-  variant(name: String!): GraphVariant
-  """A list of the variants for this graph."""
-  variants: [GraphVariant!]!
-  """Get a GraphQL document by hash"""
-  document(hash: SHA256): GraphQLDocument
-  """Get check workflows for this graph ordered by creation time, most recent first."""
-  checkWorkflows(limit: Int! = 100, filter: CheckFilterInput): [CheckWorkflow!]!
-}
-
-"""Provides access to mutation fields for managing Studio graphs and subgraphs."""
-type GraphMutation {
-  """Generates a new graph API key for this graph with the specified permission level."""
-  newKey(keyName: String, role: UserPermission! = GRAPH_ADMIN): GraphApiKey!
-  """Deletes the existing graph API key with the provided ID, if any."""
-  removeKey(
-    """API key ID"""
-    id: ID!
-  ): Void
-  """Sets a new name for the graph API key with the provided ID, if any. This does not invalidate the key or change its value."""
-  renameKey(id: ID!, newKeyName: String): GraphApiKey
-  """Creates a contract schema from a source variant and a set of filter configurations"""
-  upsertContractVariant(
-    """The name of the contract variant, e.g. `public-api`. Once set, this value cannot be changed."""
-    contractVariantName: String!
-    """The filter configuration used to build a contract schema. The configuration consists of lists of tags for schema elements to include or exclude in the resulting schema."""
-    filterConfig: FilterConfigInput!
-    """Whether a launch and schema publish should be initiated after updating configuration. Defaults to `true`."""
-    initiateLaunch: Boolean! = true
-    """The graphRef of the variant the contract will be derived from, e.g. `my-graph@production`. Once set, this value cannot be changed."""
-    sourceVariant: String
-  ): ContractVariantUpsertResult!
-  """Make changes to a graph variant."""
-  variant(name: String!): GraphVariantMutation
-  """Publish a schema to this variant, either via a document or an introspection query result."""
-  uploadSchema(schema: IntrospectionSchemaInput, schemaDocument: String, tag: String!, historicParameters: HistoricQueryParameters, overrideComposedSchema: Boolean! = false, errorOnBadRequest: Boolean! = true, gitContext: GitContextInput): SchemaPublicationResult
-  """
-  Checks a proposed schema against the schema that has been published to
-  a particular variant, using metrics corresponding to `historicParameters`.
-  Callers can set `historicParameters` directly or rely on defaults set in the
-  graph's check configuration (7 days by default).
-  If they do not set `historicParameters` but set `useMaximumRetention`,
-  validation will use the maximum retention the graph has access to.
-  """
-  checkSchema(
-    """
-    Only one of proposedSchema, proposedSchemaDocument, and proposedSchemaHash
-    may be specified
-    """
-    proposedSchema: IntrospectionSchemaInput
-    proposedSchemaDocument: String
-    proposedSchemaHash: String
-    baseSchemaTag: String = "current"
-    gitContext: GitContextInput
-    historicParameters: HistoricQueryParameters
-    useMaximumRetention: Boolean
-    isSandboxCheck: Boolean! = false
-    """If this check is triggered for an sdl fetched using introspection, this is the endpoint where that schema was being served."""
-    introspectionEndpoint: String
-    """Deprecated and ignored."""
-    frontend: String
-  ): CheckSchemaResult!
-  """Publish to a subgraph. If composition is successful, this will update running routers."""
-  publishSubgraph(graphVariant: String!, name: String!, url: String, revision: String!, activePartialSchema: PartialSchemaInput!, gitContext: GitContextInput): SubgraphPublicationResult
-  """Removes a subgraph. If composition is successful, this will update running routers."""
-  removeImplementingServiceAndTriggerComposition(
-    graphVariant: String!
-    name: String!
-    """Do not remove the service, but recompose without it and report any errors."""
-    dryRun: Boolean! = false
-  ): SubgraphRemovalResult!
-  """
-  Checks a proposed subgraph schema change against a published subgraph.
-  If the proposal composes successfully, perform a usage check for the resulting supergraph schema.
-  """
-  checkPartialSchema(
-    """The name of the graph variant to run the check against."""
-    graphVariant: String!
-    """Name of the implementing service to validate the partial schema against"""
-    implementingServiceName: String!
-    """The partial schema to validate against an implementing service"""
-    partialSchema: PartialSchemaInput!
-    gitContext: GitContextInput
-    historicParameters: HistoricQueryParameters
-    """Deprecated and ignored."""
-    frontend: String
-    """
-    Whether to use the maximum retention for historical validation. This only takes
-    effect if historicParameters is null.
-    """
-    useMaximumRetention: Boolean
-    isSandboxCheck: Boolean! = false
-    """If this check is triggered for an sdl fetched using introspection, this is the endpoint where that schema was being served."""
-    introspectionEndpoint: String
-  ): CheckPartialSchemaResult!
-}
-
-"""Individual permissions for the current user when interacting with a particular Studio graph."""
-type GraphRoles {
-  """Whether the currently authenticated user is permitted to perform schema checks (i.e., run `rover (sub)graph check`)."""
-  canCheckSchemas: Boolean!
-  """Whether the currently authenticated user is permitted to create new graph variants."""
-  canCreateVariants: Boolean!
-  """Whether the currently authenticated user is permitted to delete the graph in question"""
-  canDelete: Boolean!
-  """Whether the currently authenticated user is permitted to manage user access to the graph in question."""
-  canManageAccess: Boolean!
-  """Whether the currently authenticated user is permitted to manage the build configuration (e.g., build pipeline version)."""
-  canManageBuildConfig: Boolean!
-  """Whether the currently authenticated user is permitted to manage third-party integrations (e.g., Datadog forwarding)."""
-  canManageIntegrations: Boolean!
-  """Whether the currently authenticated user is permitted to manage graph-level API keys."""
-  canManageKeys: Boolean!
-  """Whether the currently authenticated user is permitted to perform basic administration of variants (e.g., make a variant public)."""
-  canManageVariants: Boolean!
-  """Whether the currently authenticated user is permitted to view details about the build configuration (e.g. build pipeline version)."""
-  canQueryBuildConfig: Boolean!
-  """Whether the currently authenticated user is permitted to view details of the check configuration for this graph."""
-  canQueryCheckConfiguration: Boolean!
-  """Whether the currently authenticated user is permitted to view which subgraphs the graph is composed of."""
-  canQueryImplementingServices: Boolean!
-  """Whether the currently authenticated user is permitted to download schemas owned by this graph."""
-  canQuerySchemas: Boolean!
-  """Whether the currently authenticated user is permitted to register operations (i.e. `apollo client:push`) for this graph."""
-  canRegisterOperations: Boolean!
-  """Whether the currently authenticated user is permitted to make updates to the check configuration for this graph."""
-  canWriteCheckConfiguration: Boolean!
-}
-
-"""A SHA-256 hash, represented as a lowercase hexadecimal string."""
-scalar SHA256
-
-"""A location in a source code file."""
-type SourceLocation {
-  """Column number."""
-  column: Int!
-  """Line number."""
-  line: Int!
-}
-
-enum Status {
-  STABLE
-  NEXT
-  DEPRECATED
-}
-
-"""A subgraph in a federated Studio supergraph."""
-type Subgraph {
-  """The subgraph schema document's SHA256 hash, represented as a hexadecimal string."""
-  hash: String!
-  """The subgraph's registered name."""
-  name: String!
-  """The number of fields in this subgraph"""
-  numberOfFields: Int
-  """The number of types in this subgraph"""
-  numberOfTypes: Int
-  """The subgraph's routing URL, provided to gateways that use managed federation."""
-  routingURL: String!
-  """Timestamp of when the subgraph was published."""
-  updatedAt: Timestamp
-}
-
-"""A change made to a subgraph as part of a launch."""
-type SubgraphChange {
-  """The subgraph's name."""
-  name: ID!
-  """The type of change that was made."""
-  type: SubgraphChangeType!
-}
-
-enum SubgraphChangeType {
-  ADDITION
-  DELETION
-  MODIFICATION
-}
-
-"""Input type to provide when running schema checks asynchronously for a federated supergraph."""
-input SubgraphCheckAsyncInput {
-  """Configuration options for the check execution."""
-  config: HistoricQueryParametersInput!
-  """The GitHub context to associate with the check."""
-  gitContext: GitContextInput!
-  """The graph ref of the Studio graph and variant to run checks against (such as `my-graph@current`)."""
-  graphRef: ID
-  """The URL of the GraphQL endpoint that Apollo Sandbox introspected to obtain the proposed schema. Required if `isSandbox` is `true`."""
-  introspectionEndpoint: String
-  """If `true`, the check was initiated by Apollo Sandbox."""
-  isSandbox: Boolean!
-  """The proposed subgraph schema to perform checks with."""
-  proposedSchema: GraphQLDocument!
-  """The name of the subgraph to check schema changes for."""
-  subgraphName: String!
-}
-
-"""ISO 8601, extended format with nanoseconds, Zulu (or "[+-]seconds" as a string or number relative to now)"""
-scalar Timestamp
-
-"""Counts of changes."""
-type TotalChangeSummaryCounts {
-  """
-  Number of changes that are additions. This includes adding types, adding fields to object, input
-  object, and interface types, adding values to enums, adding members to interfaces and unions, and
-  adding arguments.
-  """
-  additions: Int!
-  """
-  Number of changes that are removals. This includes removing types, removing fields from object,
-  input object, and interface types, removing values from enums, removing members from interfaces
-  and unions, and removing arguments. This also includes removing @deprecated usages.
-  """
-  removals: Int!
-  """
-  Number of changes that are edits. This includes types changing kind, fields and arguments
-  changing type, arguments changing default value, and any description changes. This also includes
-  edits to @deprecated reason strings.
-  """
-  edits: Int!
-  """Number of changes that are new usages of the @deprecated directive."""
-  deprecations: Int!
-}
-
-"""Counts of changes at the type level, including interfaces, unions, enums, scalars, input objects, etc."""
-type TypeChangeSummaryCounts {
-  """Number of changes that are additions of types."""
-  additions: Int!
-  """Number of changes that are removals of types."""
-  removals: Int!
-  """
-  Number of changes that are edits. This includes types changing kind and any type description
-  changes, but also includes adding/removing values from enums, adding/removing members from
-  interfaces and unions, and any enum value deprecation and description changes.
-  """
-  edits: Int!
-}
-
-union UpdateOperationCollectionEntryResult = OperationCollectionEntry | PermissionError | ValidationError
-
-union UpdateOperationCollectionResult = OperationCollection | PermissionError | ValidationError
-
-"""Describes the result of publishing a schema to a graph variant."""
-type SchemaPublicationResult {
-  """A machine-readable response code that indicates the type of result (e.g., `UPLOAD_SUCCESS` or `NO_CHANGES`)"""
-  code: String!
-  """Whether the schema publish operation succeeded (`true`) or encountered errors (`false`)."""
-  success: Boolean!
-  """A Human-readable message describing the type of result."""
-  message: String!
-  """If the publish operation succeeded, this contains its details. Otherwise, this is null."""
-  publication: SchemaPublication
-}
-
-"""A registered Apollo Studio user."""
-type User implements Identity {
-  """Returns a list of all active user API keys for the user."""
-  apiKeys(includeCookies: Boolean = false): [UserApiKey!]!
-  """Returns a representation of this user as an `Actor` type. Useful when determining which actor (usually a `User` or `Graph`) performed a particular action in Studio."""
-  asActor: Actor!
-  """The user's unique ID."""
-  id: ID!
-  """A list of the user's memberships in Apollo Studio organizations."""
-  memberships: [UserMembership!]!
-  """The user's first and last name."""
-  name: String!
-}
-
-"""
-Represents a user API key, which has permissions identical to
-its associated Apollo user.
-"""
-type UserApiKey implements ApiKey {
-  """The API key's ID."""
-  id: ID!
-  """The API key's name, for distinguishing it from other keys."""
-  keyName: String
-  """The value of the API key. **This is a secret credential!**"""
-  token: String!
-}
-
-"""A single user's membership in a single Apollo Studio organization."""
-type UserMembership {
-  """The organization that the user belongs to."""
-  account: Organization!
-  """The timestamp when the user was added to the organization."""
-  createdAt: Timestamp!
-  """The user's permission level within the organization."""
-  permission: UserPermission!
-  """The user that belongs to the organization."""
-  user: User!
-}
-
-type UserMutation {
-  """Creates a new user API key for this user."""
-  newKey(keyName: String!): UserApiKey!
-  """
-  If this user has no active user API keys, this creates one for the user.
-
-  If this user has at least one active user API key, this returns one of those keys at random and does _not_ create a new key.
-  """
-  provisionKey(keyName: String! = "add-a-name"): ApiKeyProvision
-  """Deletes the user API key with the provided ID, if any."""
-  removeKey(
-    """API key ID"""
-    id: ID!
-  ): Void
-  """Sets a new name for the user API key with the provided ID, if any. This does not invalidate the key or change its value."""
-  renameKey(id: ID!, newKeyName: String): UserApiKey
-}
-
-enum UserPermission {
-  BILLING_MANAGER
-  CONSUMER
-  CONTRIBUTOR
-  DOCUMENTER
-  GRAPH_ADMIN
-  LEGACY_GRAPH_KEY
-  OBSERVER
-  ORG_ADMIN
-}
-
-"""An error that occurs when an operation contains invalid user input."""
-type ValidationError implements Error {
-  """The error's details."""
-  message: String!
-}
-
-"""Always null"""
-scalar Void
diff --git a/pkgs/development/tools/rover/update.sh b/pkgs/development/tools/rover/update.sh
index fbf6fba989c4..3914c9acb540 100755
--- a/pkgs/development/tools/rover/update.sh
+++ b/pkgs/development/tools/rover/update.sh
@@ -49,27 +49,3 @@ cargoSha256=$(
 sed --in-place \
     "s|cargoSha256 = \".*\"|cargoSha256 = \"$cargoSha256\"|" \
     "$dirname/default.nix"
-
-# Update apollo api schema info
-response="$(mktemp)"
-schemaUrl=https://graphql.api.apollographql.com/api/schema
-
-mkdir -p "$dirname"/schema
-
-# Fetch schema info
-echo "Fetching Apollo GraphQL schema"
-# include response headers, and append terminating newline to response body
-curl --include --write-out "\n" "$schemaUrl" > "$response"
-
-# Parse response headers and write the etag to schema/etag.id
-grep \
-    --max-count=1 \
-    --only-matching \
-    --perl-regexp \
-    '^etag: \K\S*' \
-    "$response" \
-    > "$dirname"/schema/etag.id
-
-# Discard headers and blank line (terminated by carriage return), and write the
-# response body to schema/schema.graphql
-sed '1,/^\r/d' "$response" > "$dirname"/schema/schema.graphql
diff --git a/pkgs/development/tools/rust/cargo-binstall/default.nix b/pkgs/development/tools/rust/cargo-binstall/default.nix
index 1e404f10eedb..bbc02e127761 100644
--- a/pkgs/development/tools/rust/cargo-binstall/default.nix
+++ b/pkgs/development/tools/rust/cargo-binstall/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-binstall";
-  version = "1.5.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "cargo-bins";
     repo = "cargo-binstall";
     rev = "v${version}";
-    hash = "sha256-QPUZnqELncUCfm995NN0hYDGFZcKrYXskZIaN2ZRtzk=";
+    hash = "sha256-KfzINyLxX07CDCP5wkBwl8bAf4x9AVTl6NiGjGZ7nFg=";
   };
 
-  cargoHash = "sha256-85r0jDBuvfrJq776MSbQT6w60/xWQkC9zLmZwjdanCk=";
+  cargoHash = "sha256-8Fwgs+pP2p5IqLXnFrPT+oOCRjyMIhQa+f63LA4aUOw=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/rust/cargo-bisect-rustc/default.nix b/pkgs/development/tools/rust/cargo-bisect-rustc/default.nix
index 963c2d4b2a6e..da57b85e083e 100644
--- a/pkgs/development/tools/rust/cargo-bisect-rustc/default.nix
+++ b/pkgs/development/tools/rust/cargo-bisect-rustc/default.nix
@@ -12,13 +12,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-bisect-rustc";
-  version = "0.6.7";
+  version = "0.6.8";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-1edBGjnVsMNoP06HAEERQJ6HCkk0dRKlnt1b8GnJWsY=";
+    hash = "sha256-7HiM1oRuLSfRaum66duag/w8ncFdxRLF0yeSGlIey0Y=";
   };
 
   patches =
@@ -47,7 +47,7 @@ rustPlatform.buildRustPackage rec {
     Security
   ];
 
-  cargoHash = "sha256-HzqGSuobGuIuLwoAPQJ1d6xUO2VJ0rcjfOYz2wdIbCk=";
+  cargoHash = "sha256-CgEs0cejquFRY3VN6CgbE23Gipg+LEuWp/jSIkITrjw=";
 
   checkFlags = [
     "--skip test_github"  # requires internet
diff --git a/pkgs/development/tools/rust/cargo-component/default.nix b/pkgs/development/tools/rust/cargo-component/default.nix
index e55599ff9978..3543f5d10fb4 100644
--- a/pkgs/development/tools/rust/cargo-component/default.nix
+++ b/pkgs/development/tools/rust/cargo-component/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-component";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = "cargo-component";
     rev = "v${version}";
-    hash = "sha256-x5srXt9xTBkBNfG9r7GsDKVSbxJCKU3Y6HoBLvAHyi0=";
+    hash = "sha256-xOHu7sm06Phe2hc2oev1Am2VlhiSBaeH52aSiFBxuqw=";
   };
 
-  cargoHash = "sha256-/ZzcsC89U+SfyZaANX1rbytVlQ88p4g+HKRd6JerpQc=";
+  cargoHash = "sha256-5xencr+HxUBvCwn8rZr1tONUs6S24swE2hlT8jx8t/k=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix
index 5c0d0f7ddf39..1610acb1c01f 100644
--- a/pkgs/development/tools/rust/cargo-deny/default.nix
+++ b/pkgs/development/tools/rust/cargo-deny/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deny";
-  version = "0.14.7";
+  version = "0.14.10";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = "cargo-deny";
     rev = version;
-    hash = "sha256-Ods0uibPrvrFW9HRHm4k9xhmOmvW8zJfVjMYEX7H0UA=";
+    hash = "sha256-9DqVd0EyfHB32hufz13TXdQZsLaiQWIVgTMQfWT5v1Q=";
   };
 
-  cargoHash = "sha256-/wHXKzHl00q+8e4A9YFAGqhoCqVwkFhMtWTuzdmZIHc=";
+  cargoHash = "sha256-KCJ2csFHIWuqHWCWRvTe++vKxHUkzv9tzrtEW6MUj5s=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/development/tools/rust/cargo-dist/default.nix b/pkgs/development/tools/rust/cargo-dist/default.nix
index 3d6300132c3b..5063a4baf40f 100644
--- a/pkgs/development/tools/rust/cargo-dist/default.nix
+++ b/pkgs/development/tools/rust/cargo-dist/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-dist";
-  version = "0.8.0";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "axodotdev";
     repo = "cargo-dist";
     rev = "v${version}";
-    hash = "sha256-AyxC1YS1VvCBIS6lKDtT2zX3bhorF4G+qg+brm4tJm8=";
+    hash = "sha256-Y4jXAZgJj0d1fUFuM94umlj/JsawWs3KxEQAucsT24s=";
   };
 
-  cargoHash = "sha256-kStLY/Hjj0DeisjXzw2BbmJalNljUP0ogBEXcoDX3FE=";
+  cargoHash = "sha256-Jza9U5vL45rvDPLb4/iELneKgy1OTCMBM1JxfuxZigQ=";
 
   nativeBuildInputs = [
     pkg-config
@@ -46,10 +46,9 @@ rustPlatform.buildRustPackage rec {
     ZSTD_SYS_USE_PKG_CONFIG = true;
   };
 
-  # remove tests that require internet access and a git repo
+  # remove tests that require internet access
   postPatch = ''
     rm cargo-dist/tests/integration-tests.rs
-    rm cargo-dist/tests/cli-tests.rs
   '';
 
   passthru.updateScript = nix-update-script { };
diff --git a/pkgs/development/tools/rust/cargo-license/default.nix b/pkgs/development/tools/rust/cargo-license/default.nix
index c6bb649866b8..27798f4ca85e 100644
--- a/pkgs/development/tools/rust/cargo-license/default.nix
+++ b/pkgs/development/tools/rust/cargo-license/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-license";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-hBlyRk23gRfKdYuVnrFoDE883S32X9DFvTIsR2zfJck=";
+    sha256 = "sha256-qwyWj0vPWQOZYib2ZZutX25a4wwnG1kFAiRCWqGyVms=";
   };
 
-  cargoHash = "sha256-4P2kR+Jxki62IdUKpMNL7hzBQWci2tKWrQXV5rkMXkw=";
+  cargoHash = "sha256-ifw/n7eejUWUqhieDLojuO3xgosn28NnjAKkq/ZSLEI=";
 
   meta = with lib; {
     description = "Cargo subcommand to see license of dependencies";
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 0c35fb9ccb6b..f3bd8a89c99b 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.37.7";
+  version = "0.37.8";
 
   src = fetchFromGitHub {
     owner = "sagiegurari";
     repo = "cargo-make";
     rev = version;
-    hash = "sha256-1WITPilqdJeOPWleEGP4ApHE0pIOQZabeY8x2joq6N4=";
+    hash = "sha256-hjrR5hCyR+s1/d9LvxRfklmLhReAU98NsEjyRrjD8sI=";
   };
 
-  cargoHash = "sha256-kT7IbknQ/TF4l/X7GIpX1btHCp10Z15GHd6GjPMCpJs=";
+  cargoHash = "sha256-KaBpq9ykTvSdGpziV15V7S5zMsEyVHJdLLMZydNYyF8=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-semver-checks/default.nix b/pkgs/development/tools/rust/cargo-semver-checks/default.nix
index e1b2f6867e1f..1d940aac1e27 100644
--- a/pkgs/development/tools/rust/cargo-semver-checks/default.nix
+++ b/pkgs/development/tools/rust/cargo-semver-checks/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-semver-checks";
-  version = "0.27.0";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner = "obi1kenobi";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-DN50syZ965MWXKg3lhEhvINeqZUtZgJNjusevf4EIUw=";
+    hash = "sha256-5QXTbsNp36jYrcSDmCXT5Nmhhr9TaWpF3QqaCKv5TTg=";
   };
 
-  cargoHash = "sha256-ulsU/QSSNqyZTjM77PQnr3HVUg2dS8SxHv2y6Lsvths=";
+  cargoHash = "sha256-uRgSNVleGzD75q16hd/AOl23DT1btWGuNgZ2IprGa7k=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/development/tools/rust/cargo-zigbuild/default.nix b/pkgs/development/tools/rust/cargo-zigbuild/default.nix
index 7173fbd5b9ac..adc845c67ea7 100644
--- a/pkgs/development/tools/rust/cargo-zigbuild/default.nix
+++ b/pkgs/development/tools/rust/cargo-zigbuild/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-zigbuild";
-  version = "0.18.2";
+  version = "0.18.3";
 
   src = fetchFromGitHub {
     owner = "messense";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-qPoPDUx88fBRkxcwirIgGO9wivB/e7B7Yy55JOICvdM=";
+    hash = "sha256-wL6Rmw5hJI8cJDw2WO9CDOyeOuZv6QoFxrn81JrYBR4=";
   };
 
-  cargoHash = "sha256-011FySv7BbfTB1uHWh916MvK1gXqbu8Bp38aEkUytqs=";
+  cargoHash = "sha256-uCZYDh4+Pri77DzqZj12cav7o8eDY2+fgwIwVBdcbHg=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 7623eeef02f8..a1c8dd591e10 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -13,14 +13,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2024-01-22";
-  cargoSha256 = "sha256-QH6iAZnkLGOGTrzkpj83Uib7TcO9xdnMWog4wWUEKRY=";
+  version = "2024-01-29";
+  cargoSha256 = "sha256-3f+Nc2HXCQsaZ+FFSH7ML0o1yikZWhsRZmA8JtBc2TY=";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-ZATChFWHToTZQFLlzrzDUX8fjEbMHHBIyPaZU1JGmjI=";
+    sha256 = "sha256-6K5rK1b2APQfXOrC+Hm+0QcyfPVt+TV81Q6Fd/QjMlQ=";
   };
 
   cargoBuildFlags = [ "--bin" "rust-analyzer" "--bin" "rust-analyzer-proc-macro-srv" ];
diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix
index 8c62e2f90d60..789b02112a4e 100644
--- a/pkgs/development/tools/sentry-cli/default.nix
+++ b/pkgs/development/tools/sentry-cli/default.nix
@@ -10,13 +10,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "sentry-cli";
-  version = "2.26.0";
+  version = "2.27.0";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-cli";
     rev = version;
-    sha256 = "sha256-9Qwonp2tGmaffYj5Vv09+Z3YcbFSFmeS/zc7PXjmrk4=";
+    sha256 = "sha256-dhIja1f+57QdgE0uYBNbgSsmFNE7h0GdcyBx4Z8bGpA=";
   };
   doCheck = false;
 
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ];
   nativeBuildInputs = [ pkg-config ];
 
-  cargoHash = "sha256-t1Gqis4Gd6Zdkka8u/tCRM5xmm3z85OqZIkINm9jNyc=";
+  cargoHash = "sha256-zLTdpbBy+41tVEItSjkHCu+D3YKiBJqlpAPMpUt5+VM=";
 
   meta = with lib; {
     homepage = "https://docs.sentry.io/cli/";
diff --git a/pkgs/development/tools/snazy/default.nix b/pkgs/development/tools/snazy/default.nix
index eed8301f3526..7abe2fd98cfc 100644
--- a/pkgs/development/tools/snazy/default.nix
+++ b/pkgs/development/tools/snazy/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "snazy";
-  version = "0.52.7";
+  version = "0.52.17";
 
   src = fetchFromGitHub {
     owner = "chmouel";
     repo = pname;
     rev = version;
-    hash = "sha256-NUDKTJtSzzY+kaqreHroJDW18lta9AcnL94t/jdEOlY=";
+    hash = "sha256-0r5xhmU9a9I+q24mjJ+C4EKK1Nw/67YThuBFibAx3Dw=";
   };
 
-  cargoHash = "sha256-raDkfP7EeyXbMr2puR+dHUKVqguVvkV7noNuLw/KttI=";
+  cargoHash = "sha256-ljYsF5lBRqiTqx9nta5h/75052GWOBJ9uJnqZkWJvwI=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/sqlboiler/default.nix b/pkgs/development/tools/sqlboiler/default.nix
index 432582dbc46e..eccb479aa5a4 100644
--- a/pkgs/development/tools/sqlboiler/default.nix
+++ b/pkgs/development/tools/sqlboiler/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "sqlboiler";
-  version = "4.15.0";
+  version = "4.16.1";
 
   src = fetchFromGitHub {
     owner = "volatiletech";
     repo = "sqlboiler";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MT1tjVCDaFB9HfjlGGnf6jTiPdKcrDamgp2nTpIarqY=";
+    hash = "sha256-MmZ2TZZ06eiz05bkEm6E8tmGRVkInBZJGHbuPN4fMMY=";
   };
 
-  vendorHash = "sha256-tZ1RQGmeDv4rtdF1WTRQV1K4Xy1AgIatLPPexnHJnkA=";
+  vendorHash = "sha256-BTrQPWThfJ7gWXi/Y1l/s2BmkW5lVYS/PP0WRwntQxA=";
 
   tags = [
     "mysql"
diff --git a/pkgs/development/tools/supabase-cli/default.nix b/pkgs/development/tools/supabase-cli/default.nix
index 6142ff4c170e..16710b2571c9 100644
--- a/pkgs/development/tools/supabase-cli/default.nix
+++ b/pkgs/development/tools/supabase-cli/default.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "supabase-cli";
-  version = "1.137.2";
+  version = "1.140.0";
 
   src = fetchFromGitHub {
     owner = "supabase";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-C7J1hXRsWlzVvvKjj0IlgWC/BtVsJOvFnPm7c+ioxCA=";
+    hash = "sha256-E/7/A/+RgSDp1OfdGDjGEnXv6UhcjFCLsKA4bBPTs9A=";
   };
 
   vendorHash = "sha256-p026yk50DfzUZX7TTFpDhvGHiD/XUhbxlHQz383pRZk=";
diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix
index 75379b5e8203..453b96242638 100644
--- a/pkgs/development/tools/symfony-cli/default.nix
+++ b/pkgs/development/tools/symfony-cli/default.nix
@@ -10,14 +10,14 @@
 
 buildGoModule rec {
   pname = "symfony-cli";
-  version = "5.8.4";
+  version = "5.8.6";
   vendorHash = "sha256-ACK0JCaS1MOCgUi2DMEjIcKf/nMCcrdDyIdioBZv7qw=";
 
   src = fetchFromGitHub {
     owner = "symfony-cli";
     repo = "symfony-cli";
     rev = "v${version}";
-    hash = "sha256-b6vjJaRSi5qNl4qpOEndqdZkaWxeI/6GnBiBIM2Vwr8=";
+    hash = "sha256-lZ4jPmqPGyWp8xS156XXl6s4ZfNbU4M5xJy25nRL1Bs=";
   };
 
   ldflags = [
diff --git a/pkgs/development/tools/the-way/default.nix b/pkgs/development/tools/the-way/default.nix
index a161728657ac..9418afb6cfa6 100644
--- a/pkgs/development/tools/the-way/default.nix
+++ b/pkgs/development/tools/the-way/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "the-way";
-  version = "0.20.2";
+  version = "0.20.3";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-jUo46NHjgSFOV7fsqh9Ki0QtTGfoaPjQ87/a66zBz1Q=";
+    sha256 = "sha256-/vG5LkQiA8iPP+UV1opLeJwbYfmzqYwpsoMizpGT98o=";
   };
 
-  cargoHash = "sha256-nmVsg8LX3di7ZAvvDuPQ3PXlLjs+L6YFTzwXRAkcxig=";
+  cargoHash = "sha256-iZxV099582LuZ8A3uOsKPyekAQG2cQusLZhW+W1wW/8=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/turso-cli/default.nix b/pkgs/development/tools/turso-cli/default.nix
index 4c9da1e13f14..09f96c2d183a 100644
--- a/pkgs/development/tools/turso-cli/default.nix
+++ b/pkgs/development/tools/turso-cli/default.nix
@@ -8,13 +8,13 @@
 }:
 buildGoModule rec {
   pname = "turso-cli";
-  version = "0.88.2";
+  version = "0.88.3";
 
   src = fetchFromGitHub {
     owner = "tursodatabase";
     repo = "turso-cli";
     rev = "v${version}";
-    hash = "sha256-9lnqjkDGQRu487Me895h/dyWDIVImQkU9bEiafjTbb8=";
+    hash = "sha256-tPeoLGYJRMXFVI09fupspdQMSMjF2Trdo2GlkoWs7wA=";
   };
 
   vendorHash = "sha256-rTeW2RQhcdwJTAMQELm4cdObJbm8gk/I2Qz3Wk3+zpI=";
diff --git a/pkgs/development/tools/twilio-cli/default.nix b/pkgs/development/tools/twilio-cli/default.nix
index c7711151863e..36d2f2dccc67 100644
--- a/pkgs/development/tools/twilio-cli/default.nix
+++ b/pkgs/development/tools/twilio-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "twilio-cli";
-  version = "5.17.0";
+  version = "5.17.1";
 
   src = fetchzip {
     url = "https://twilio-cli-prod.s3.amazonaws.com/twilio-v${finalAttrs.version}/twilio-v${finalAttrs.version}.tar.gz";
-    hash = "sha256-7BJ/9dqEKBjH89XDyIonRbfCn8cyjvgtV2PwdzGIUro=";
+    hash = "sha256-wgZdivfFjkX3bMmBLWY5vy32pXE7CqEkRGQqIhJrcdE=";
   };
 
   buildInputs = [ nodejs-slim ];
diff --git a/pkgs/development/tools/uftrace/default.nix b/pkgs/development/tools/uftrace/default.nix
index 0ccc51c50579..26bb1cf60e00 100644
--- a/pkgs/development/tools/uftrace/default.nix
+++ b/pkgs/development/tools/uftrace/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "uftrace";
-  version = "0.15.1";
+  version = "0.15.2";
 
   src = fetchFromGitHub {
     owner = "namhyung";
     repo = "uftrace";
     rev = "v${version}";
-    sha256 = "sha256-5P8CshSCK1Ugkg9+MJB8G31n4iyhZF0oVayouQU0CaA=";
+    sha256 = "sha256-FfTt1S7X7FakKXWbmJJ1HMYcu/tG/UFknz8XmEPbPUo=";
   };
 
   postUnpack = ''
diff --git a/pkgs/development/tools/vsce/default.nix b/pkgs/development/tools/vsce/default.nix
index 911ee57a6932..5ba007818e3b 100644
--- a/pkgs/development/tools/vsce/default.nix
+++ b/pkgs/development/tools/vsce/default.nix
@@ -12,16 +12,16 @@
 
 buildNpmPackage rec {
   pname = "vsce";
-  version = "2.22.0";
+  version = "2.23.0";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "vscode-vsce";
     rev = "v${version}";
-    hash = "sha256-zpZ/PsqZ9yRDKTXkSrcBgSxYer7JdjNZqsseHwfzkEY=";
+    hash = "sha256-2s8hG3HNDQnuwFXZX1mCTSbKCm4n7YAzhHDaWVYTyys=";
   };
 
-  npmDepsHash = "sha256-Difk9a9TYmfwzP9SawEuaxm7iHVjdfO+FxFCE7aEMzM=";
+  npmDepsHash = "sha256-1PVUDEecFW+lFmZOZUTlgeKsLwLK9O4vFHi6gOLjBfo=";
 
   postPatch = ''
     substituteInPlace package.json --replace '"version": "0.0.0"' '"version": "${version}"'
@@ -44,5 +44,6 @@ buildNpmPackage rec {
     description = "Visual Studio Code Extension Manager";
     maintainers = with maintainers; [ aaronjheng ];
     license = licenses.mit;
+    mainProgram = "vsce";
   };
 }
diff --git a/pkgs/development/tools/zed/default.nix b/pkgs/development/tools/zed/default.nix
index 68a84d53a502..6164b6d4c624 100644
--- a/pkgs/development/tools/zed/default.nix
+++ b/pkgs/development/tools/zed/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "zed";
-  version = "1.12.0";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "brimdata";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mBJmAV7ax4F61gP8yeiJj/EQyJi3zaex6jT/CKzR3LU=";
+    sha256 = "sha256-xyTHCBvklK8x6V7WsWDYytnVEfLcja78crvs62WJJ9o=";
   };
 
-  vendorHash = "sha256-BWvMy1dc3PzAc3kDTXtI6Y8kjRGLWR+aUleItg5EgRU=";
+  vendorHash = "sha256-m8GOKBwXlNhjEIkkbaIOAGslX4WRVPZ0OknGEG29b4E=";
 
   subPackages = [ "cmd/zed" "cmd/zq" ];
 
diff --git a/pkgs/development/web/bootstrap-studio/default.nix b/pkgs/development/web/bootstrap-studio/default.nix
index 2ba780245668..757b9e8c206c 100644
--- a/pkgs/development/web/bootstrap-studio/default.nix
+++ b/pkgs/development/web/bootstrap-studio/default.nix
@@ -2,10 +2,10 @@
 
 let
   pname = "bootstrap-studio";
-  version = "6.6.0";
+  version = "6.6.1";
   src = fetchurl {
     url = "https://releases.bootstrapstudio.io/${version}/Bootstrap%20Studio.AppImage";
-    sha256 = "sha256-kXYptuLmhYJ3YiKtfIMiOs4zssJ1+v+JgDHWVtbWQ+Y=";
+    sha256 = "sha256-mMhjdAJfiDoK4b8TfawzxZHyQG2MUJHpG45MhuaCPqs=";
   };
   appimageContents = appimageTools.extractType2 { inherit pname version src; };
 in
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index acc2a8c5c2dc..bae30f873a0f 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.39.2";
+  version = "1.40.2";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-R5LF3PwH8LZeBM7biR+QLo5+MJ9KvM41fk5IHR7oAOs=";
+    hash = "sha256-ycQN4BKuvK4FRYbHUKFFMVFg0LAG64xFiXbAkmQ46Cs=";
   };
 
-  cargoHash = "sha256-OPHQltS+3GZTIhMSg6ldLWy6L5skYzZxJLM06rLiDzs=";
+  cargoHash = "sha256-5OnYtVsuf6q4nQGO1+qL+2WFaKW0k13fNFS29gKaWhk=";
 
   postPatch = ''
     # upstream uses lld on aarch64-darwin for faster builds
diff --git a/pkgs/development/web/deno/librusty_v8.nix b/pkgs/development/web/deno/librusty_v8.nix
index 726a04dea474..60ce4616c014 100644
--- a/pkgs/development/web/deno/librusty_v8.nix
+++ b/pkgs/development/web/deno/librusty_v8.nix
@@ -10,11 +10,11 @@ let
   };
 in
 fetch_librusty_v8 {
-  version = "0.82.0";
+  version = "0.83.1";
   shas = {
-    x86_64-linux = "sha256-2nWOAUuzc7tr0KieeugIqI3zaRruvnLWBPn+ZdHTXsM=";
-    aarch64-linux = "sha256-vlc60ZoFtT2Ugp0npT0dep6WWnEBAznR7dYFRaMNAKM=";
-    x86_64-darwin = "sha256-CqyG/JOJe5kWzFJnnkU2Lz4VS/unWe1iucFxm+1HGsU=";
-    aarch64-darwin = "sha256-ps19JZqCpO3pEAMQZOO+l/Iz7u0dIXLnpYIsnOyAxYk=";
+    x86_64-linux = "sha256-0cCpFMPpFWTvoU3+HThYDDTQO7DdpdVDDer5k+3HQFY=";
+    aarch64-linux = "sha256-fOyJiD0raHxl+5tDWSpH/MbdBUqNY+HCKmTulYLXEYI=";
+    x86_64-darwin = "sha256-JwZ1FrU/MZeEnvSPDojvDdDxIF/bdZBPRCXrjbBb7WM=";
+    aarch64-darwin = "sha256-ajmr+SGj3L8TT+17NPkNcwQFESpIZuUul12Pp1oJAkY=";
   };
 }
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 9c6dfda5d877..c96cbe6cfb97 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.1.143";
+  version = "0.1.146";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    hash = "sha256-8Gzsod44hPSkBru8MNOYXvN4lvZei/j40syOSeauCW0=";
+    hash = "sha256-FXEYZEMwUsDWoN+MHjg6Au0rgZTE4N0ViktmEi2nH7c=";
   };
 
-  vendorHash = "sha256-auWVWFqPqv3Tia3gEkJ2A6eHNS0lJzaMV+kvzB8HiY8=";
+  vendorHash = "sha256-hfNrhaRZoRdbvh/MnwKWFbepGkCuCsbcW88tWSPwCO0=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/web/function-runner/default.nix b/pkgs/development/web/function-runner/default.nix
index 7582800e25bd..a3526a0c5584 100644
--- a/pkgs/development/web/function-runner/default.nix
+++ b/pkgs/development/web/function-runner/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "function-runner";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "Shopify";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-o+fsIBH/vONlb57m3+upKG2Gss6s7yBNATkbKtSHf/0=";
+    sha256 = "sha256-33UVo7mPD/o3Z/R5PFhosiSLFLLpJ0pHqUbKtX6THJE=";
   };
 
-  cargoHash = "sha256-7ACi4orqpmWiaMYmOjICR6/d1kVySzaaCWIoUxqnhpI=";
+  cargoHash = "sha256-TNbGmqITCk1VKVuO46LxO+zjAG7Laguq7EAruuhJIxk=";
 
   meta = with lib; {
     description = "A CLI tool which allows you to run Wasm Functions intended for the Shopify Functions infrastructure";
diff --git a/pkgs/development/web/grails/default.nix b/pkgs/development/web/grails/default.nix
index 9990cf4553a4..95660e2f3d60 100644
--- a/pkgs/development/web/grails/default.nix
+++ b/pkgs/development/web/grails/default.nix
@@ -11,11 +11,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "grails";
-  version = "6.1.0";
+  version = "6.1.2";
 
   src = fetchurl {
     url = "https://github.com/grails/grails-core/releases/download/v${version}/grails-${version}.zip";
-    sha256 = "sha256-v+AAIDWRAgBXmhX2BecEio4s5dVA77K+YycZY1k9uvg=";
+    sha256 = "sha256-PoiXZuAJbKsyBRVaxwsKSDh1BzPYlgAwe/xC0qfeDgs=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/web/minify/default.nix b/pkgs/development/web/minify/default.nix
index 6f2effcf94f2..232f6dffaaa6 100644
--- a/pkgs/development/web/minify/default.nix
+++ b/pkgs/development/web/minify/default.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "minify";
-  version = "2.20.14";
+  version = "2.20.16";
 
   src = fetchFromGitHub {
     owner = "tdewolff";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-/4iIN3L3hARxpa7bQcMBQ8DF6SfqrK+rFgJn/MYoUL8=";
+    hash = "sha256-0RiSNRoRmN7X2udwgGaArXgIRTaxaGH4fo3usiCJNbA=";
   };
 
-  vendorHash = "sha256-iTHUZUmT1LLS8wtPTDaay2Mx+Trv8TUox6PHwYTuY2U=";
+  vendorHash = "sha256-8OEF2sAJZuGX4z/OsXCAkRR82JO3rYCEJQbidIjGOJ8=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/games/armagetronad/default.nix b/pkgs/games/armagetronad/default.nix
index fb0117f3e93e..6bcc30ac011f 100644
--- a/pkgs/games/armagetronad/default.nix
+++ b/pkgs/games/armagetronad/default.nix
@@ -129,6 +129,12 @@ let
       nativeBuildInputs = [ autoconf automake gnum4 pkg-config which python3 ]
         ++ extraNativeBuildInputs;
 
+      postInstall = lib.optionalString (!dedicatedServer) ''
+        mkdir -p $out/share/{applications,icons/hicolor}
+        ln -s $out/share/games/armagetronad/desktop/armagetronad*.desktop $out/share/applications/
+        ln -s $out/share/games/armagetronad/desktop/icons $out/share/icons/hicolor
+      '';
+
       doInstallCheck = true;
 
       installCheckPhase = ''
diff --git a/pkgs/games/bugdom/default.nix b/pkgs/games/bugdom/default.nix
index 01db213de985..52760d907986 100644
--- a/pkgs/games/bugdom/default.nix
+++ b/pkgs/games/bugdom/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bugdom";
-  version = "1.3.3";
+  version = "1.3.4";
 
   src = fetchFromGitHub {
     owner = "jorio";
     repo = pname;
     rev = version;
-    hash = "sha256-oe7xxvoL82YF+EoIJDK6AfN3PmpqeGRlIsbaGx8xGeM=";
+    hash = "sha256-0c7v5tSqYuqtLOFl4sqD7+naJNqX/wlKHVntkZQGJ8A=";
     fetchSubmodules = true;
   };
 
@@ -51,8 +51,8 @@ stdenv.mkDerivation rec {
     mv Data $out/share/bugdom
     install -Dm755 {.,$out/bin}/Bugdom
     wrapProgram $out/bin/Bugdom --run "cd $out/share/bugdom"
-    install -Dm644 $src/packaging/bugdom.desktop $out/share/applications/bugdom.desktop
-    install -Dm644 $src/packaging/bugdom-desktopicon.png $out/share/pixmaps/bugdom-desktopicon.png
+    install -Dm644 $src/packaging/io.jor.bugdom.desktop $out/share/applications/io.jor.bugdom.desktop
+    install -Dm644 $src/packaging/io.jor.bugdom.png $out/share/pixmaps/io.jor.bugdom.png
   '') + ''
 
     runHook postInstall
diff --git a/pkgs/games/ckan/default.nix b/pkgs/games/ckan/default.nix
index 2f36fa75581d..c19b1e20812d 100644
--- a/pkgs/games/ckan/default.nix
+++ b/pkgs/games/ckan/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ckan";
-  version = "1.34.2";
+  version = "1.34.4";
 
   src = fetchurl {
     url = "https://github.com/KSP-CKAN/CKAN/releases/download/v${version}/ckan.exe";
-    sha256 = "sha256-MUaKgtLHVsrUy55lHella2YCblLGdnj0530qC5la2IE=";
+    sha256 = "sha256-T3SBzGmTwFZsEkd3kCK7auINKPsFx2zIYR2/Zqt5ATM=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/games/ddnet/default.nix b/pkgs/games/ddnet/default.nix
index 796074a0d50c..8e078e13f683 100644
--- a/pkgs/games/ddnet/default.nix
+++ b/pkgs/games/ddnet/default.nix
@@ -35,19 +35,19 @@
 
 stdenv.mkDerivation rec {
   pname = "ddnet";
-  version = "18.0.1";
+  version = "18.0.2";
 
   src = fetchFromGitHub {
     owner = "ddnet";
     repo = pname;
     rev = version;
-    hash = "sha256-CgmFljI9/S544Hm9J4CEqvNgepPM02JgJZJ5HX1d3wU=";
+    hash = "sha256-ywHPs1bRLxx8nd1D5LgMKkSxVPEuqWxaLzF+1nqNkto=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     name = "${pname}-${version}";
     inherit src;
-    hash = "sha256-oGZOgSPMnrzwEyUvXqdfquCWCFslPfD9C0vT8mILI+s=";
+    hash = "sha256-UPe1EMFwS1We2I9Ba8Ku2DTnnUFEl2wapfbDNiWMb1w";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/games/ferium/default.nix b/pkgs/games/ferium/default.nix
index 2cc48b6d8fbe..8c923d0b7bec 100644
--- a/pkgs/games/ferium/default.nix
+++ b/pkgs/games/ferium/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ferium";
-  version = "4.4.1";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "gorilla-devs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3ILDR6CmR/CTzZfUEPD10TQZRSDKSqHmwxU3GPHIyK8=";
+    sha256 = "sha256-1avmzaIDz4/ARewB7yLYMBVtwdkY4FFfwcHAZSyg1Xc=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoHash = "sha256-00rzn8eWcxRfPvIT2+EVQLd6e8gnMWx78QrwURpxstg=";
+  cargoHash = "sha256-IOnTJ/0mul7buBDNHkeqMM9NrFiX58xa03bVGrbAdNg=";
 
   # Disable the GUI file picker so that GTK/XDG dependencies aren't used
   buildNoDefaultFeatures = true;
diff --git a/pkgs/games/gcs/default.nix b/pkgs/games/gcs/default.nix
deleted file mode 100644
index be8bb7017863..000000000000
--- a/pkgs/games/gcs/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, runCommand
-, jdk8, ant
-, jre8, makeWrapper
-}:
-
-let
-  gcs = fetchFromGitHub {
-    owner = "richardwilkes";
-    repo = "gcs";
-    rev = "gcs-4.8.0";
-    sha256 = "0k8am8vfwls5s2z4zj1p1aqy8gapn5vbr9zy66s5g048ch8ah1hm";
-  };
-  appleStubs = fetchFromGitHub {
-    owner = "richardwilkes";
-    repo = "apple_stubs";
-    rev = "gcs-4.3.0";
-    sha256 = "0m1qw30b19s04hj7nch1mbvv5s698g5dr1d1r7r07ykvk1yh7zsa";
-  };
-  toolkit = fetchFromGitHub {
-    owner = "richardwilkes";
-    repo = "toolkit";
-    rev = "gcs-4.8.0";
-    sha256 = "1ciwwh0wxk3pzsj6rbggsbg3l2f741qy7yx1ca4v7vflsma84f1n";
-  };
-  library = fetchFromGitHub {
-    owner = "richardwilkes";
-    repo = "gcs_library";
-    rev = "gcs-4.8.0";
-    sha256 = "085jpp9mpv5kw00zds9sywmfq31mrlbrgahnwcjkx0z9i22amz4g";
-  };
-in stdenv.mkDerivation rec {
-  pname = "gcs";
-  version = "4.8.0";
-
-  src = runCommand "${pname}-${version}-src" { preferLocalBuild = true; } ''
-    mkdir -p $out
-    cd $out
-
-    cp -r ${gcs} gcs
-    cp -r ${appleStubs} apple_stubs
-    cp -r ${toolkit} toolkit
-    cp -r ${library} gcs_library
-  '';
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ jdk8 jre8 ant ];
-  buildPhase = ''
-    cd apple_stubs
-    ant
-
-    cd ../toolkit
-    ant
-
-    cd ../gcs
-    ant
-
-    cd ..
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/java
-
-    find gcs/libraries toolkit/libraries apple_stubs/ \( -name '*.jar' -and -not -name '*-src.jar' \) -exec cp '{}' $out/share/java ';'
-
-    makeWrapper ${jre8}/bin/java $out/bin/gcs \
-      --set GCS_LIBRARY ${library} \
-      --add-flags "-cp $out/share/java/gcs-${version}.jar com.trollworks.gcs.app.GCS"
-  '';
-
-  meta = with lib; {
-    description = "A stand-alone, interactive, character sheet editor for the GURPS 4th Edition roleplaying game system";
-    homepage = "https://gurpscharactersheet.com/";
-    sourceProvenance = with sourceTypes; [
-      fromSource
-      binaryBytecode  # source bundles dependencies as jars
-    ];
-    license = licenses.mpl20;
-    platforms = platforms.all;
-    maintainers = with maintainers; [];
-  };
-}
diff --git a/pkgs/games/gogdl/default.nix b/pkgs/games/gogdl/default.nix
index d5b3d0a5a544..d6f5d6d10ae0 100644
--- a/pkgs/games/gogdl/default.nix
+++ b/pkgs/games/gogdl/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonApplication rec {
   pname = "gogdl";
-  version = "0.7.3";
+  version = "1.0.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Heroic-Games-Launcher";
     repo = "heroic-gogdl";
-    rev = "89d15f1593cc26f15a5f8f409bb623764c095d37";
-    hash = "sha256-EECpXGVhcwihKB8fLObVvYzFD8uh7CxYKtFiGc0Jqbk=";
+    rev = "e1c3e5b98feda53ea88f54f9aa5c614ae9424ef0";
+    hash = "sha256-MGxpWfDGchZruVmSiea5s1JQV23F9QvQLWrxPmIsBEo=";
   };
 
   disabled = pythonOlder "3.8";
diff --git a/pkgs/games/instawow/default.nix b/pkgs/games/instawow/default.nix
index 36e60d548842..7534f5f892a7 100644
--- a/pkgs/games/instawow/default.nix
+++ b/pkgs/games/instawow/default.nix
@@ -2,14 +2,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "instawow";
-  version = "v3.1.0";
+  version = "3.2.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "layday";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-xJw/tgHBfOlv5JYsWWdEJ8vpel348YtXCQsaLqgp3Z0=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-eBpX+ojlrWwRXuMijnmb4lNlxIJ40Q9RUqS6txPBDiM=";
   };
 
   extras = [ ];  # Disable GUI, most dependencies are not packaged.
diff --git a/pkgs/games/nethack/default.nix b/pkgs/games/nethack/default.nix
index 46e4dc9ca20b..fbbdfeabe31b 100644
--- a/pkgs/games/nethack/default.nix
+++ b/pkgs/games/nethack/default.nix
@@ -2,6 +2,7 @@
 , less
 , buildPackages
 , x11Mode ? false, qtMode ? false, libXaw, libXext, libXpm, bdftopcf, mkfontdir, pkg-config, qt5
+, copyDesktopItems, makeDesktopItem
 }:
 
 let
@@ -33,7 +34,7 @@ in stdenv.mkDerivation rec {
                 ++ lib.optionals x11Mode [ libXaw libXext libXpm ]
                 ++ lib.optionals qtMode [ gzip qt5.qtbase.bin qt5.qtmultimedia.bin ];
 
-  nativeBuildInputs = [ flex bison ]
+  nativeBuildInputs = [ flex bison copyDesktopItems ]
                       ++ lib.optionals x11Mode [ mkfontdir bdftopcf ]
                       ++ lib.optionals qtMode [
                            pkg-config mkfontdir qt5.qtbase.dev
@@ -144,11 +145,26 @@ in stdenv.mkDerivation rec {
     ${lib.optionalString (!(x11Mode || qtMode)) "install -Dm 555 util/dlb -t $out/libexec/nethack/"}
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = "NetHack";
+      exec =
+         if x11Mode then "nethack-x11"
+         else if qtMode then "nethack-qt"
+         else "nethack";
+      icon = "nethack";
+      desktopName = "NetHack";
+      comment = "NetHack is a single player dungeon exploration game";
+      categories = [ "Game" "ActionGame" ];
+    })
+  ];
+
   meta = with lib; {
     description = "Rogue-like game";
     homepage = "http://nethack.org/";
     license = "nethack";
     platforms = if x11Mode then platforms.linux else platforms.unix;
     maintainers = with maintainers; [ abbradar ];
+    mainProgram = "nethack";
   };
 }
diff --git a/pkgs/games/nile/default.nix b/pkgs/games/nile/default.nix
index deae40acf064..a8e26ff6399a 100644
--- a/pkgs/games/nile/default.nix
+++ b/pkgs/games/nile/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonApplication rec {
   pname = "nile";
-  version = "unstable-2023-10-02";
+  version = "unstable-2024-01-27";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "imLinguin";
     repo = "nile";
-    rev = "8f7ab2650fc730efc8960b5fcd71421d724a4108";
-    hash = "sha256-Vhjp9JX8VX0PWsvEh5eOhz7vsIEaiCyPNPOjibE8GXo=";
+    rev = "f4eca37794b7c06affcf0bc28660de7c54eddc9a";
+    hash = "sha256-WsCR2xjQc4Kx1nUdApxbkkyX+nYoLl5IsSUVW3rjT1Q=";
   };
 
   disabled = pythonOlder "3.8";
diff --git a/pkgs/games/nxengine-evo/default.nix b/pkgs/games/nxengine-evo/default.nix
index 4660423a3509..ca57d11910aa 100644
--- a/pkgs/games/nxengine-evo/default.nix
+++ b/pkgs/games/nxengine-evo/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
       gpl3                   # Game engine
       unfreeRedistributable  # Game assets, freeware
     ];
-    maintainers = [ lib.maintainers.scubed2 ];
+    maintainers = [ ];
     homepage = "https://github.com/nxengine/nxengine-evo";
     platforms = lib.platforms.linux;
   };
diff --git a/pkgs/games/osu-lazer/bin.nix b/pkgs/games/osu-lazer/bin.nix
index c47792dd7cdf..43dafeae5f15 100644
--- a/pkgs/games/osu-lazer/bin.nix
+++ b/pkgs/games/osu-lazer/bin.nix
@@ -7,22 +7,22 @@
 
 let
   pname = "osu-lazer-bin";
-  version = "2024.114.0";
+  version = "2024.131.0";
 
   src = {
     aarch64-darwin = fetchzip {
       url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Apple.Silicon.zip";
-      hash = "sha256-T4xzggcz4T0kzLiQyGJfGo8lkAubG+miP2iMU9kxr5c=";
+      hash = "sha256-R25TAXU3gUcVKQMo8P+0/vTRzSoFrUdFz11inpch+7A=";
       stripRoot = false;
     };
     x86_64-darwin = fetchzip {
       url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Intel.zip";
-      hash = "sha256-1if+H4OAJt7BcgFyLoGe8dIgvkEQ5xT+wCIj03WVDLY=";
+      hash = "sha256-w7BK3pm0XrlzOv0oz+ZUfVRufzUCCfevlRL+RDLtoLU=";
       stripRoot = false;
     };
     x86_64-linux = fetchurl {
       url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage";
-      hash = "sha256-TM+x+T3EL28Era5eRRmhnunF8aoJ2r6oTTvjND08p9I=";
+      hash = "sha256-aNG6s942iTKyvM1XolMqmMs8XxoRYC/ZddCCJl0OtTE=";
     };
   }.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported.");
 
diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix
index 1bd769b472b9..cb1a11c330b6 100644
--- a/pkgs/games/osu-lazer/default.nix
+++ b/pkgs/games/osu-lazer/default.nix
@@ -16,13 +16,13 @@
 
 buildDotnetModule rec {
   pname = "osu-lazer";
-  version = "2024.114.0";
+  version = "2024.131.0";
 
   src = fetchFromGitHub {
     owner = "ppy";
     repo = "osu";
     rev = version;
-    hash = "sha256-6cvfKpBhJHCJ9XJ36YbgVRtRXIH9UL2lNW44LXj4mWM=";
+    hash = "sha256-fsXs/AzvEQ141y/DPRvg7a7b0K30IfjigbRj0qh88rs=";
   };
 
   projectFile = "osu.Desktop/osu.Desktop.csproj";
diff --git a/pkgs/games/osu-lazer/deps.nix b/pkgs/games/osu-lazer/deps.nix
index 82807ca692cc..669463431970 100644
--- a/pkgs/games/osu-lazer/deps.nix
+++ b/pkgs/games/osu-lazer/deps.nix
@@ -3,14 +3,14 @@
 
 { fetchNuGet }: [
   (fetchNuGet { pname = "AutoMapper"; version = "12.0.1"; sha256 = "0s0wjl4ck3sal8a50x786wxs9mbca7bxaqk3558yx5wpld4h4z3b"; })
-  (fetchNuGet { pname = "Clowd.Squirrel"; version = "2.10.2"; sha256 = "1kkvpflwmsr65blw22i8gn0bjzq7vvlndm4qa3qdiimckjsifa35"; })
+  (fetchNuGet { pname = "Clowd.Squirrel"; version = "2.11.1"; sha256 = "0s8ar0cl1pz1cbh3xm79cyaqdnfdm89mxd18qkhbyavhn6kqgnm0"; })
   (fetchNuGet { pname = "CodeFileSanity"; version = "0.0.37"; sha256 = "03ja3g66lb0smjmkr3yf28h7fy52wwbdnf6p268zfla3azh006pq"; })
   (fetchNuGet { pname = "DiffPlex"; version = "1.7.1"; sha256 = "1q78r70pirgb7j5wkh454ws237lihh0fig212cpbj02cz53c2h6j"; })
   (fetchNuGet { pname = "DiscordRichPresence"; version = "1.2.1.24"; sha256 = "0maw0yd6xgwy0cgk593z3zva0r5j267zpdmmpq8avj3zbna6n4x1"; })
   (fetchNuGet { pname = "FFmpeg.AutoGen"; version = "4.3.0.1"; sha256 = "0n6x57mnnvcjnrs8zyvy07h5zm4bcfy9gh4n4bvd9fx5ys4pxkvv"; })
   (fetchNuGet { pname = "Fody"; version = "6.8.0"; sha256 = "1y159433n5wzlvc8hjjrhjarf7mjvngbmh34jkd452zlrjqrhmns"; })
   (fetchNuGet { pname = "HidSharpCore"; version = "1.2.1.1"; sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll"; })
-  (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.54"; sha256 = "178sd0ym900knjz7dmy2bvggijbqfp4zbmscgkxfjq3agvjfap8a"; })
+  (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.57"; sha256 = "0brswm659d2vb11021z7xylljlnaf344yf5q093bqxyhbxva8ijq"; })
   (fetchNuGet { pname = "Humanizer"; version = "2.14.1"; sha256 = "18cycx9gvbc3735chdi2r583x73m2fkz1ws03yi3g640j9zv00fp"; })
   (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; sha256 = "1ai7hgr0qwd7xlqfd92immddyi41j3ag91h3594yzfsgsy6yhyqi"; })
   (fetchNuGet { pname = "Humanizer.Core.af"; version = "2.14.1"; sha256 = "197lsky6chbmrixgsg6dvxbdbbpis0an8mn6vnwjcydhncis087h"; })
@@ -65,17 +65,17 @@
   (fetchNuGet { pname = "JetBrains.ReSharper.GlobalTools"; version = "2022.2.3"; sha256 = "0ck4nkk8wlj2gcgs7j4j6z4yqrnf2f5rs2pgwa8kar026sc29xsl"; })
   (fetchNuGet { pname = "managed-midi"; version = "1.10.0"; sha256 = "1rih8iq8k4j6n3206d2j7z4vygp725kzs95c6yc7p1mlhfiiimvq"; })
   (fetchNuGet { pname = "Markdig"; version = "0.23.0"; sha256 = "1bwn885w7balwncmr764vidyyp9bixqlq6r3lhsapj8ykrpxxa70"; })
-  (fetchNuGet { pname = "MessagePack"; version = "2.5.129"; sha256 = "08bpg5v467zyx5ni8pj9x2nkqx3r2vbfdh7v72laii0707163fb2"; })
-  (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.5.129"; sha256 = "1q0pprliqr8wrn09k8sa2p9l28q30rk6sl47vlazgwc678f96vg7"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Connections.Abstractions"; version = "7.0.12"; sha256 = "0dih84mzrgnf0zm2k8w9ivhlxx1vin9srir8jqcvhibw0xwrpzzw"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Client"; version = "7.0.12"; sha256 = "1k9xak1f13nb4kp3ld0azlx2mp7ya8rbnd23587yanzv4lwpgab8"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Common"; version = "7.0.12"; sha256 = "0xs23299gmnjf92jjbn3bgi7493a89zylhvm7gcraayin1g8prpc"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Client"; version = "7.0.12"; sha256 = "0yjqyn7kdq4nmysaj9lab870hxc07l5q5qgkj7ppmrq7vzf49lbf"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Client.Core"; version = "7.0.12"; sha256 = "1x5d3jh4vxvankxx6xp1937m6p3ryz39cwwiajnck1lj5mkwhw5h"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Common"; version = "7.0.12"; sha256 = "1zqidbidqa0jyrsfm5rna6h37q18acqxh0v5vwxp6cf65r39w1z1"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.Json"; version = "7.0.12"; sha256 = "1irln0dn89kls3k2h9j9hj616psl71xpid3vz7cllc0n0fjxkz0y"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack"; version = "7.0.12"; sha256 = "1374x6j7r79piji2r8ppddyzgf9nadc6mmgabk3jgg9m4lc67z48"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson"; version = "7.0.12"; sha256 = "0zmvb48yvm1i6pysqbz63jk0y4c61nxapdwlb3c5nxwgjcy0n06k"; })
+  (fetchNuGet { pname = "MessagePack"; version = "2.5.140"; sha256 = "04iqlvcacbb37yf83xryd24n14dw780xx8dmc1zywi3x2nrqpjm9"; })
+  (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.5.140"; sha256 = "0ihx5b1cjls2p4i56nz49i690y9zvqm01dh4whkn2q8w19j22vla"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Connections.Abstractions"; version = "7.0.15"; sha256 = "0r66wrg3xgqyh9fnjyzmdcbpmpxzwb81frpd8psszqm0rkc2mplf"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Client"; version = "7.0.15"; sha256 = "179b1b6h5zw4l25h0g0h6frwfz6kfzxl7ycnmasywzqh0k260xdg"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Common"; version = "7.0.15"; sha256 = "1vbr740sy40q1dh5zwvc8pr96b2kzyg3a47qg5mnmgg4ajj1kzy9"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Client"; version = "7.0.15"; sha256 = "1wzx888jsy72vczylzh1bg37badhjsf8zfm1jxv9kd7b68z0rhn0"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Client.Core"; version = "7.0.15"; sha256 = "1pzyravryrs3adwa6z1abnx53mq355c7adk62b7pckq3rcqqzxan"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Common"; version = "7.0.15"; sha256 = "14ycx96d164pq21131l3hijabh3y6kya62nlcs5c4j20vrlr0ymr"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.Json"; version = "7.0.15"; sha256 = "01gw0qf3k2yq0wwdb709yz63migwfhr0nr1blxla3dn38c8vagg1"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack"; version = "7.0.15"; sha256 = "1ykvdjqgzqwld6zlifsm7mw42l8wdm952va2ha9sw1iz693h85s8"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson"; version = "7.0.15"; sha256 = "0bsh1aa5kva8cpaxn7n2i96975hbxcbpxydz3pjxaiav1f3ziq57"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.3.4"; sha256 = "1vzrni7n94f17bzc13lrvcxvgspx9s25ap1p005z6i1ikx6wgx30"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
@@ -89,7 +89,7 @@
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0-rc.1.21451.13"; sha256 = "11dg16x6g0gssb143qpghxz1s41himvhr7yhjwxs9hacx4ij2dm1"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "7.0.0"; sha256 = "181d7mp9307fs17lyy42f8cxnjwysddmpsalky4m0pqxcimnr6g7"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "2.0.3"; sha256 = "0dpyjp0hy9kkvk2dd4dclfmb10yq5avsw2a6v8nra9g6ii2p1nla"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Features"; version = "7.0.12"; sha256 = "0cdh6kchc9yjlid6vdx74p1r5i7x7dalys107hbj4aqcrqx0jnnd"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.Features"; version = "7.0.15"; sha256 = "14fal431gw6957hvxp4x6rdny1y8priaf3pykcflpf51bfa9lyhj"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "7.0.0"; sha256 = "1bqd3pqn5dacgnkq0grc17cgb2i0w8z1raw12nwm3p3zhrfcvgxf"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "7.0.0"; sha256 = "1gn7d18i1wfy13vrwhmdv1rmsb4vrk26kqdld4cgvh77yigj90xs"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "7.0.1"; sha256 = "0xv3sqc1lbx5j4yy6g2w3kakzvrpwqs2ihax6lqasj5sz5map6fk"; })
@@ -124,7 +124,7 @@
   (fetchNuGet { pname = "NuGet.ProjectModel"; version = "5.11.0"; sha256 = "1i0dcak9qdj8s68c5f3zhrjs5sc4rsim92dy1qw4x9cavv5jrp05"; })
   (fetchNuGet { pname = "NuGet.Protocol"; version = "5.11.0"; sha256 = "041pva6ykc5h6az7bb87mkg32c95cvxlixgspnd34zbdldr4ypdb"; })
   (fetchNuGet { pname = "NuGet.Versioning"; version = "5.11.0"; sha256 = "041351n1rbyqpfxqyxbvjgfrcbbawymbq96givz5pvdbabvyf5vq"; })
-  (fetchNuGet { pname = "NUnit"; version = "3.13.3"; sha256 = "0wdzfkygqnr73s6lpxg5b1pwaqz9f414fxpvpdmf72bvh4jaqzv6"; })
+  (fetchNuGet { pname = "NUnit"; version = "3.14.0"; sha256 = "19p8911lrfds1k9rv47jk1bbn665s0pvghkd06gzbg78j6mzzqqa"; })
   (fetchNuGet { pname = "NVika"; version = "2.2.0"; sha256 = "1lxv5m5nf4hfwfdhcscrl8m0hhjkqxxn555wxwb95x0d5w2czx6x"; })
   (fetchNuGet { pname = "OpenTabletDriver"; version = "0.6.4"; sha256 = "14wc2rgnbi2ili6sx9iqnmcbn1zlmbsk49zbiz5cycib6rxkqfdm"; })
   (fetchNuGet { pname = "OpenTabletDriver.Configurations"; version = "0.6.4"; sha256 = "0l7vf607i54y1xilr7bmjy9zlxacm00wz42mfbvzjf9rr54sy2pm"; })
@@ -137,10 +137,10 @@
   (fetchNuGet { pname = "ppy.ManagedBass.Fx"; version = "2022.1216.0"; sha256 = "1vw573mkligpx9qiqasw1683cqaa1kgnxhlnbdcj9c4320b1pwjm"; })
   (fetchNuGet { pname = "ppy.ManagedBass.Mix"; version = "2022.1216.0"; sha256 = "185bpvgbnd8y20r7vxb1an4pd1aal9b7b5wvmv3knz0qg8j0chd9"; })
   (fetchNuGet { pname = "ppy.ManagedBass.Wasapi"; version = "2022.1216.0"; sha256 = "0h2ncf59sza8whvrwwqi8b6fcrkqrnfgfhd0vnhyw0s98nj74f0z"; })
-  (fetchNuGet { pname = "ppy.osu.Framework"; version = "2024.114.0"; sha256 = "1xyfc9j5qiy0skhy8xxxdyss6jpd0bcrbbigq2z3mx750mi77rif"; })
+  (fetchNuGet { pname = "ppy.osu.Framework"; version = "2024.131.0"; sha256 = "0pa80w67nnfp3y25l5a6f6p9x48lj8bw3b24vzi3l8ndgcmnpyxz"; })
   (fetchNuGet { pname = "ppy.osu.Framework.NativeLibs"; version = "2023.1225.0-nativelibs"; sha256 = "008kj91i9486ff2q7fcgb8mmpinskvnmfsqza2m5vafh295y3h7m"; })
   (fetchNuGet { pname = "ppy.osu.Framework.SourceGeneration"; version = "2023.720.0"; sha256 = "001vvxyv483ibid25fdknvij77x0y983mp4psx2lbg3x2al7yxax"; })
-  (fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2023.1228.0"; sha256 = "09qjfavp71nlzyl6fqgpjfpsilii2fbsjyjggdbq9hf9i49hwz7s"; })
+  (fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2024.129.0"; sha256 = "032jpqv86z4sc835063gzbshkdzx3qhnzxlyaggidmbwn6i9fja6"; })
   (fetchNuGet { pname = "ppy.osuTK.NS20"; version = "1.0.211"; sha256 = "0j4a9n39pqm0cgdcps47p5n2mqph3h94r7hmf0bs59imif4jxvjy"; })
   (fetchNuGet { pname = "ppy.SDL2-CS"; version = "1.0.693-alpha"; sha256 = "15fgd3j9cs3adldiscqm0ffixf68h06wqdz1xy1286z4gczhi954"; })
   (fetchNuGet { pname = "ppy.Veldrid"; version = "4.9.3-g91ce5a6cda"; sha256 = "0m96jkagz1ab3jgmz61d4z7jrxz058nzsamvqz93c90rlw802cvm"; })
@@ -193,18 +193,17 @@
   (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; })
   (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; })
   (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; })
-  (fetchNuGet { pname = "Sentry"; version = "3.40.0"; sha256 = "1vijf4dfv842y2567sgs4bx51g7jyqsrmg689nj4nbbf44aay99a"; })
-  (fetchNuGet { pname = "SharpCompress"; version = "0.33.0"; sha256 = "1j94hfjvkygpp97svv75jay0rmnx9ygg86d5syyahl9hayns4ig9"; })
-  (fetchNuGet { pname = "SharpCompress"; version = "0.34.1"; sha256 = "0m02yk97fxafdqg6s8408vqcg1a0wll483sj4ff2m0dnxajffkii"; })
+  (fetchNuGet { pname = "Sentry"; version = "3.41.3"; sha256 = "1xrbl1q7qpkv60d5y9fd9a5g2d94nr51xiy31vksklzv011rdlj9"; })
+  (fetchNuGet { pname = "SharpCompress"; version = "0.36.0"; sha256 = "164ikphk4glldr73l247cjb65v064md0ccccm06rh0zvjq5iqlph"; })
   (fetchNuGet { pname = "SharpFNT"; version = "2.0.0"; sha256 = "1bgacgh9hbck0qvji6frbb50sdiqfdng2fvvfgfw8b9qaql91mx0"; })
   (fetchNuGet { pname = "SharpGen.Runtime"; version = "2.0.0-beta.13"; sha256 = "1250z6sa9ghf84czlkzvaysb29c0n229z1f0vh5qls89akrkl7h8"; })
   (fetchNuGet { pname = "SharpGen.Runtime.COM"; version = "2.0.0-beta.13"; sha256 = "1lmv3jp2g7mgy9j23pd3j0wr3p89qiq8v6c6qxqf688izyni1166"; })
   (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "2.1.0"; sha256 = "0lmj3qs39v5jcf2rjwav43nqnc7g6sd4l226l2jw85nidzmpvkwr"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.6"; sha256 = "0pzgdfl707pd9fz108xaff22w7c2y27yaix6wfp36phqkdnzz43m"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.7"; sha256 = "1pi9mpzy7wi0rcqpny0gkn7pxykg01b0x2pkv8sxl0ddzl8ywg7s"; })
   (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.4"; sha256 = "09akxz92qipr1cj8mk2hw99i0b81wwbwx26gpk21471zh543f8ld"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.6"; sha256 = "1w8zsgz2w2q0a9cw9cl1rzrpv48a04nhyq67ywan6xlgknds65a7"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.6"; sha256 = "0g959z7r3h43nwzm7z3jiib1xvyx146lxyv0x6fl8ll5wivpjyxq"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.6"; sha256 = "1vs1c7yhi0mdqrd35ji289cxkhg7dxdnn6wgjjbngvqxkdhkyxyc"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.7"; sha256 = "1y3jl4c76g2i13xss72nfvx5qr6mzsbjvjc5f9arybh53a0wavd6"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.7"; sha256 = "1kbwf3fn8kcf1q3gm87m359yxmb6kcnclk2y469008yijvijwa26"; })
+  (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.7"; sha256 = "0kcbn0s7n3ck1s1x30zf9y7x8n6c09qgj7n20h4zj2hyxcp3ag9b"; })
   (fetchNuGet { pname = "StbiSharp"; version = "1.1.0"; sha256 = "0wbw20m7nyhxj32k153l668sxigamlwig0qpz8l8d0jqz35vizm0"; })
   (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
   (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
@@ -235,7 +234,7 @@
   (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; })
   (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
   (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
-  (fetchNuGet { pname = "System.IO.Packaging"; version = "7.0.0"; sha256 = "16fgj2ab5ci217shmfsi6c0rnmkh90h6vyb60503nhpmh7y8di13"; })
+  (fetchNuGet { pname = "System.IO.Packaging"; version = "8.0.0"; sha256 = "1w1v3mswq9lzyh88046v0gmsb0pdl249hdazybsfxd9paqdrl4wh"; })
   (fetchNuGet { pname = "System.IO.Pipelines"; version = "7.0.0"; sha256 = "1ila2vgi1w435j7g2y7ykp2pdbh9c5a02vm85vql89az93b7qvav"; })
   (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
   (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
@@ -309,7 +308,7 @@
   (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "5.0.0"; sha256 = "1bn2pzaaq4wx9ixirr8151vm5hynn3lmrljcgjx9yghmm4k677k0"; })
   (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
   (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "7.0.0"; sha256 = "1151hbyrcf8kyg1jz8k9awpbic98lwz9x129rg7zk1wrs6vjlpxl"; })
-  (fetchNuGet { pname = "System.Text.Json"; version = "7.0.3"; sha256 = "0zjrnc9lshagm6kdb9bdh45dmlnkpwcpyssa896sda93ngbmj8k9"; })
+  (fetchNuGet { pname = "System.Text.Json"; version = "7.0.4"; sha256 = "1khcg2r7i29rpbg4mqxncs6r88s9hbbjzxpj29d13zvd31wypyv9"; })
   (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
   (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; })
   (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
@@ -329,5 +328,5 @@
   (fetchNuGet { pname = "Vortice.DirectX"; version = "2.4.2"; sha256 = "11yjyvyz922z1ygl8gxmdym3918df12nl7xxry4pdjpl8is33qic"; })
   (fetchNuGet { pname = "Vortice.DXGI"; version = "2.4.2"; sha256 = "17vsnm9ca6nqk3f1dfpfvd6i6fp8x8v41bn65rchrzwcv1zzi6pz"; })
   (fetchNuGet { pname = "Vortice.Mathematics"; version = "1.4.25"; sha256 = "0vl6g087disxyzskvkbnwym74s47lkza0ly3nk4y0y88zibcggrj"; })
-  (fetchNuGet { pname = "ZstdSharp.Port"; version = "0.7.2"; sha256 = "0ngngpjaxy3dnrz3mrfhkw52bp05n1xg4ckzf07yhc81hwzq1yi1"; })
+  (fetchNuGet { pname = "ZstdSharp.Port"; version = "0.7.4"; sha256 = "0087rymvclj96pscd8lbjidsdg1g4p83m6y20bcicz8sx7jnnzyg"; })
 ]
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
index 50862be46bd3..e9786a001e3a 100644
--- a/pkgs/games/quakespasm/vulkan.nix
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -36,6 +36,10 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "prefix=$(out) bindir=$(out)/bin" ];
 
+  env = lib.optionalAttrs stdenv.isDarwin {
+    NIX_CFLAGS_COMPILE = "-Wno-error=unused-but-set-variable";
+  };
+
   postFixup = ''
     wrapProgram $out/bin/vkquake \
       --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
diff --git a/pkgs/games/steam/runtime.nix b/pkgs/games/steam/runtime.nix
index 593d78afe0cc..8e0492b69af8 100644
--- a/pkgs/games/steam/runtime.nix
+++ b/pkgs/games/steam/runtime.nix
@@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
 
   pname = "steam-runtime";
   # from https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-steam-client-general-availability/VERSION.txt
-  version = "0.20220601.1";
+  version = "0.20231127.68515";
 
   src = fetchurl {
     url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/steam-runtime.tar.xz";
-    sha256 = "sha256-uYauNtbUlvrnATGks7hWy1zt4Y7AEeADrCr1eVylPbY=";
+    sha256 = "sha256-invUOdJGNhrswsj9Vj/bSAkEigWtBQ554sBAyvPf0mk=";
     name = "scout-runtime-${version}.tar.gz";
   };
 
diff --git a/pkgs/games/unciv/default.nix b/pkgs/games/unciv/default.nix
index 1e4c28c53da4..39e916b41726 100644
--- a/pkgs/games/unciv/default.nix
+++ b/pkgs/games/unciv/default.nix
@@ -5,6 +5,7 @@
 , makeDesktopItem
 , makeWrapper
 , jre
+, libGL
 , libpulseaudio
 , libXxf86vm
 }:
@@ -17,19 +18,20 @@ let
     categories = [ "Game" ];
   };
 
-  envLibPath = lib.makeLibraryPath [
+  envLibPath = lib.makeLibraryPath (lib.optionals stdenv.isLinux [
+    libGL
     libpulseaudio
     libXxf86vm
-  ];
+  ]);
 
 in
 stdenv.mkDerivation rec {
   pname = "unciv";
-  version = "4.9.19";
+  version = "4.10.4";
 
   src = fetchurl {
     url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
-    hash = "sha256-C591QKk36v4GAO2oXLOHE4B2RpOObtriN6EPC+xXKnc=";
+    hash = "sha256-GWGmb3xAMwb7rLMQfW9CzXke9aqXjMWlPILoZiaUHPE=";
   };
 
   dontUnpack = true;
@@ -40,7 +42,7 @@ stdenv.mkDerivation rec {
     runHook preInstall
 
     makeWrapper ${jre}/bin/java $out/bin/unciv \
-      --prefix LD_LIBRARY_PATH : ${envLibPath} \
+      --prefix LD_LIBRARY_PATH : "${envLibPath}" \
       --prefix PATH : ${lib.makeBinPath [ jre ]} \
       --add-flags "-jar ${src}"
 
diff --git a/pkgs/games/vintagestory/default.nix b/pkgs/games/vintagestory/default.nix
index 9b06c2b93314..474b5e2ddbac 100644
--- a/pkgs/games/vintagestory/default.nix
+++ b/pkgs/games/vintagestory/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vintagestory";
-  version = "1.19.1";
+  version = "1.19.3";
 
   src = fetchurl {
     url = "https://cdn.vintagestory.at/gamefiles/stable/vs_client_linux-x64_${version}.tar.gz";
-    hash = "sha256-PrsClGSXTah5kkhww7slfkwpo0gJryf6pm61LsCYbiE=";
+    hash = "sha256-ULxwNdQLQCWJqCTiGtT1X/Y32f406FT/UPAJNBYrV/s=";
   };
 
 
diff --git a/pkgs/misc/jitsi-meet-prosody/default.nix b/pkgs/misc/jitsi-meet-prosody/default.nix
index c121d88941f7..a30856e42dc8 100644
--- a/pkgs/misc/jitsi-meet-prosody/default.nix
+++ b/pkgs/misc/jitsi-meet-prosody/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet-prosody";
-  version = "1.0.7712";
+  version = "1.0.7762";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "MONg1CxLrfB+cmmXm4r3HqwF1on+vDZ0IODKSr7PsWo=";
+    sha256 = "AbIr+nJEccZFWDbuo+VeTEpLkreOBzKkrJFZFvY1ppI=";
   };
 
   dontBuild = true;
diff --git a/pkgs/misc/lilypond/unstable.nix b/pkgs/misc/lilypond/unstable.nix
index 77ac8c3e8d36..ad2560a751cb 100644
--- a/pkgs/misc/lilypond/unstable.nix
+++ b/pkgs/misc/lilypond/unstable.nix
@@ -1,10 +1,10 @@
 { lib, fetchurl, lilypond }:
 
 lilypond.overrideAttrs (oldAttrs: rec {
-  version = "2.25.11";
+  version = "2.25.12";
   src = fetchurl {
     url = "https://lilypond.org/download/sources/v${lib.versions.majorMinor version}/lilypond-${version}.tar.gz";
-    hash = "sha256-DDvo1LBTnDVSDyRDYF0aEToFsmvW1dlTaMHdpBEOdMI=";
+    hash = "sha256-6zOa+mvXN1SQYgUimdxkYQ/Eh+iaCb+FeXe/dglbHmk=";
   };
 
   passthru.updateScript = {
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
index d01499af2647..9e6bf4911342 100644
--- a/pkgs/misc/tmux-plugins/default.nix
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -534,6 +534,23 @@ in rec {
     };
   };
 
+  rose-pine = mkTmuxPlugin {
+    pluginName = "rose-pine";
+    version = "unstable-2024-01-08";
+    rtpFilePath = "rose-pine.tmux";
+    src = fetchFromGitHub {
+      owner = "rose-pine";
+      repo = "tmux";
+      rev = "dd6d01338ac4afeb96542dcf24e4a7fe179b69e6";
+      sha256 = "sha256-Tccb4VjdotOSw7flJV4N0H4557NxRhXiCecZBPU9ICQ=";
+    };
+    meta = {
+      homepage = "https://github.com/rose-pine/tmux";
+      description = "Rosé Pine theme for tmux";
+      license = lib.licenses.mit;
+    };
+  };
+
   sensible = mkTmuxPlugin {
     pluginName = "sensible";
     version = "unstable-2017-09-05";
diff --git a/pkgs/os-specific/darwin/airbuddy/default.nix b/pkgs/os-specific/darwin/airbuddy/default.nix
index 303311ccb105..374089c5aa1f 100644
--- a/pkgs/os-specific/darwin/airbuddy/default.nix
+++ b/pkgs/os-specific/darwin/airbuddy/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenvNoCC
 , fetchurl
-, undmg
+, _7zz
 }:
 
 stdenvNoCC.mkDerivation (finalAttrs: {
@@ -19,18 +19,15 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   dontBuild = true;
   dontFixup = true;
 
-  nativeBuildInputs = [ undmg ];
+  nativeBuildInputs = [ _7zz ];
 
-  # AirBuddy.dmg is not HFS formatted, default unpackPhase fails
-  # https://discourse.nixos.org/t/help-with-error-only-hfs-file-systems-are-supported-on-ventura
+  # AirBuddy.dmg is APFS formatted, unpack with 7zz
   unpackCmd = ''
-    mnt=$(mktemp -d)
+    runHook preUnpack
 
-    /usr/bin/hdiutil attach -nobrowse -readonly $src -mountpoint $mnt
+    7zz x $src
 
-    shopt -s extglob
-    DEST="$PWD"
-    (cd "$mnt"; cp -a !(Applications) "$DEST/")
+    runHook postUnpack
   '';
 
   sourceRoot = "AirBuddy.app";
diff --git a/pkgs/os-specific/darwin/aldente/default.nix b/pkgs/os-specific/darwin/aldente/default.nix
index a67efd3367d4..e585d8877803 100644
--- a/pkgs/os-specific/darwin/aldente/default.nix
+++ b/pkgs/os-specific/darwin/aldente/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenvNoCC
 , fetchurl
-, undmg
+, _7zz
 }:
 
 stdenvNoCC.mkDerivation (finalAttrs: {
@@ -16,24 +16,15 @@ stdenvNoCC.mkDerivation (finalAttrs: {
   dontBuild = true;
   dontFixup = true;
 
-  nativeBuildInputs = [ undmg ];
+  nativeBuildInputs = [ _7zz ];
 
-  # AlDente.dmg is not HFS formatted, default unpackPhase fails
-  # https://discourse.nixos.org/t/help-with-error-only-hfs-file-systems-are-supported-on-ventura
+  # AlDente.dmg is APFS formatted, unpack with 7zz
   unpackCmd = ''
-    if ! [[ "$curSrc" =~ \.dmg$ ]]; then return 1; fi
-    mnt=$(mktemp -d -t ci-XXXXXXXXXX)
+    runHook preUnpack
 
-    function finish {
-      /usr/bin/hdiutil detach $mnt -force
-    }
-    trap finish EXIT
+    7zz x $src
 
-    /usr/bin/hdiutil attach -nobrowse -readonly $src -mountpoint $mnt
-
-    shopt -s extglob
-    DEST="$PWD"
-    (cd "$mnt"; cp -a !(Applications) "$DEST/")
+    runHook postUnpack
   '';
 
   sourceRoot = "AlDente.app";
diff --git a/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch b/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
index e4b03dfe0cc3..83e020a1b848 100644
--- a/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
+++ b/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
@@ -16,7 +16,7 @@ index c23afce4..12ac12f4 100644
  		2FEA0D1B249040CA00EEF3AD /* PBXContainerItemProxy */ = {
  			isa = PBXContainerItemProxy;
  			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
-@@ -400,20 +393,6 @@
+@@ -400,27 +393,6 @@
  			remoteGlobalIDString = A93903C71C57E9ED00FE90DC;
  			remoteInfo = "MVKSPIRVToMSLConverter-macOS";
  		};
@@ -34,9 +34,16 @@ index c23afce4..12ac12f4 100644
 -			remoteGlobalIDString = A9092A8C1A81717B00051823;
 -			remoteInfo = MoltenVKShaderConverter;
 -		};
- /* End PBXContainerItemProxy section */
- 
- /* Begin PBXFileReference section */
+-		DCA2CEAE2A45DFD400FB75B6 /* PBXContainerItemProxy */ = {
+-			isa = PBXContainerItemProxy;
+-			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
+-			proxyType = 1;
+-			remoteGlobalIDString = DCFD7F6F2A45BDA0007BBBF7;
+-			remoteInfo = "MoltenVKShaderConverter-xrOS";
+-		};
+		DCBC41212A45DB1000F49BD1 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
 @@ -1019,7 +998,6 @@
  			buildRules = (
  			);
@@ -61,7 +68,7 @@ index c23afce4..12ac12f4 100644
  			);
  			name = "MoltenVK-macOS";
  			productName = MoltenVK;
-@@ -1476,24 +1452,6 @@
+@@ -1476,29 +1452,6 @@
  		};
  /* End PBXSourcesBuildPhase section */
  
@@ -81,6 +88,11 @@ index c23afce4..12ac12f4 100644
 -			name = MoltenVKShaderConverter;
 -			targetProxy = A9B1C7F4251AA5AF001D12CC /* PBXContainerItemProxy */;
 -		};
+-		DCA2CEAF2A45DFD400FB75B6 /* PBXTargetDependency */ = {
+-			isa = PBXTargetDependency;
+-			name = "MoltenVKShaderConverter-xrOS";
+-			targetProxy = DCA2CEAE2A45DFD400FB75B6 /* PBXContainerItemProxy */;
+-		};
 -/* End PBXTargetDependency section */
 -
  /* Begin XCBuildConfiguration section */
diff --git a/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch b/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
index ecc5242684d9..3e48b2b5ba67 100644
--- a/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
+++ b/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
@@ -6,7 +6,7 @@ index c7842b63..d55f73ed 100644
  	archiveVersion = 1;
  	classes = {
  	};
--	objectVersion = 52;
+-	objectVersion = 54;
 +	objectVersion = 48;
  	objects = {
 
diff --git a/pkgs/os-specific/darwin/moltenvk/default.nix b/pkgs/os-specific/darwin/moltenvk/default.nix
index 2293720d7fab..c6ada1f55d5f 100644
--- a/pkgs/os-specific/darwin/moltenvk/default.nix
+++ b/pkgs/os-specific/darwin/moltenvk/default.nix
@@ -1,7 +1,6 @@
 { lib
 , overrideCC
 , stdenv
-, fetchurl
 , fetchFromGitHub
 , gitUpdater
 , cctools
@@ -24,7 +23,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "MoltenVK";
-  version = "1.2.4";
+  version = "1.2.7";
 
   buildInputs = [
     AppKit
@@ -47,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "KhronosGroup";
     repo = "MoltenVK";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-BL46BgZHUpk0dpzmeZ/2W0msHxFwieeGDjmVB8Nb1J4=";
+    hash = "sha256-0+S/kueV+AEVt+oFnh4cgcDRVtEbUH1QiHFPhGhimCA=";
   };
 
   patches = [
@@ -59,17 +58,18 @@ stdenv.mkDerivation (finalAttrs: {
   postPatch = ''
     # Move `mvkGitRevDerived.h` to a stable location
     substituteInPlace Scripts/gen_moltenvk_rev_hdr.sh \
-      --replace '$'''{BUILT_PRODUCTS_DIR}' "$NIX_BUILD_TOP/$sourceRoot/build/include" \
-      --replace '$(git rev-parse HEAD)' ${finalAttrs.src.rev}
+      --replace-fail '$'''{BUILT_PRODUCTS_DIR}' "$NIX_BUILD_TOP/$sourceRoot/build/include" \
+      --replace-fail '$(git rev-parse HEAD)' ${finalAttrs.src.rev}
     # Use the SPIRV-Cross packaged in nixpkgs instead of one built specifically for MoltenVK.
     substituteInPlace MoltenVK/MoltenVK.xcodeproj/project.pbxproj \
-      --replace SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross SPIRV_CROSS_NAMESPACE_OVERRIDE=spirv_cross
+      --replace-fail SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross SPIRV_CROSS_NAMESPACE_OVERRIDE=spirv_cross
     substituteInPlace MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj \
-      --replace SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross SPIRV_CROSS_NAMESPACE_OVERRIDE=spirv_cross
+      --replace-fail SPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross SPIRV_CROSS_NAMESPACE_OVERRIDE=spirv_cross
     # Adding all of `usr/include` from the SDK results in header conflicts with `libcxx.dev`.
     # Work around it by symlinking just the SIMD stuff needed by MoltenVK.
     mkdir -p build/include
     ln -s "${MacOSX-SDK}/usr/include/simd" "build/include"
+    ln -s "${glslang.src}" "build/include/glslang"
   '';
 
   dontConfigure = true;
@@ -93,7 +93,6 @@ stdenv.mkDerivation (finalAttrs: {
     NIX_LDFLAGS+=" \
       -lMachineIndependent \
       -lGenericCodeGen \
-      -lOGLCompiler \
       -lglslang \
       -lOSDependent \
       -lSPIRV \
@@ -139,7 +138,7 @@ stdenv.mkDerivation (finalAttrs: {
     cp MoltenVK/MoltenVK/API/* "$dev/include/MoltenVK"
     install -m644 MoltenVK/icd/MoltenVK_icd.json "$out/share/vulkan/icd.d/MoltenVK_icd.json"
     substituteInPlace $out/share/vulkan/icd.d/MoltenVK_icd.json \
-      --replace ./libMoltenVK.dylib "$out/lib/libMoltenVK.dylib"
+      --replace-fail ./libMoltenVK.dylib "$out/lib/libMoltenVK.dylib"
   '';
 
   postFixup = ''
diff --git a/pkgs/os-specific/darwin/sketchybar/default.nix b/pkgs/os-specific/darwin/sketchybar/default.nix
index 9b3ef924dd07..1d10749bf95a 100644
--- a/pkgs/os-specific/darwin/sketchybar/default.nix
+++ b/pkgs/os-specific/darwin/sketchybar/default.nix
@@ -22,13 +22,13 @@ let
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "sketchybar";
-  version = "2.19.4";
+  version = "2.20.0";
 
   src = fetchFromGitHub {
     owner = "FelixKratz";
     repo = "SketchyBar";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-6MqTyCqFv5suQgQ5a9t1mDA2njjFFgk67Kp7xO5OXoA=";
+    hash = "sha256-Nyje2F2OXtojbAGNgGPGdX8SEH75SWWpBKLFULb96n4=";
   };
 
   buildInputs = [
diff --git a/pkgs/os-specific/darwin/yabai/default.nix b/pkgs/os-specific/darwin/yabai/default.nix
index f5bbf5407d50..54d307290925 100644
--- a/pkgs/os-specific/darwin/yabai/default.nix
+++ b/pkgs/os-specific/darwin/yabai/default.nix
@@ -17,7 +17,7 @@
 
 let
   pname = "yabai";
-  version = "6.0.6";
+  version = "6.0.7";
 
   test-version = testers.testVersion {
     package = yabai;
@@ -53,7 +53,7 @@ in
 
     src = fetchzip {
       url = "https://github.com/koekeishiya/yabai/releases/download/v${version}/yabai-v${version}.tar.gz";
-      hash = "sha256-G4BbYU4mgV8Jap8a872/YtoXU/hwUhFyLXdcuT1jldI=";
+      hash = "sha256-hZMBXSCiTlx/37jt2yLquCQ8AZ2LS3heIFPKolLub1c=";
     };
 
     nativeBuildInputs = [
@@ -89,7 +89,7 @@ in
       owner = "koekeishiya";
       repo = "yabai";
       rev = "v${version}";
-      hash = "sha256-wqGYVUDEDkrLSr0IoAO17wbtwaDeainnkDeR8O8oFqc=";
+      hash = "sha256-vWL2KA+Rhj78I2J1kGItJK+OdvhVo1ts0NoOHIK65Hg=";
     };
 
     nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/bpftrace/default.nix b/pkgs/os-specific/linux/bpftrace/default.nix
index d1cd6ff0cdfb..984eee759451 100644
--- a/pkgs/os-specific/linux/bpftrace/default.nix
+++ b/pkgs/os-specific/linux/bpftrace/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bpftrace";
-  version = "0.20.0";
+  version = "0.20.1";
 
   src = fetchFromGitHub {
     owner = "iovisor";
     repo  = "bpftrace";
     rev   = "v${version}";
-    hash  = "sha256-IfceH4OSlL0J9O7ZF3vYzvoRM/NFlevC6LChH5+p9CY=";
+    hash  = "sha256-jgM01G0zhaXNd2FiZwQb13O2/mXS971gUSGOAnrJLTQ=";
   };
 
 
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
index 70f9d7a6c69e..386df843971c 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
@@ -37,7 +37,7 @@ stdenvNoCC.mkDerivation {
     # Bluetooth firmware
     cp -rv "$NIX_BUILD_TOP/bluez-firmware/debian/firmware/broadcom/." "$out/lib/firmware/brcm"
 
-    # brcmfmac43455-stdio.bin is a symlink to the non-existent path: ../cypress/cyfmac43455-stdio.bin.
+    # brcmfmac43455-sdio.bin is a symlink to the non-existent path: ../cypress/cyfmac43455-sdio.bin.
     # See https://github.com/RPi-Distro/firmware-nonfree/issues/26
     ln -s "./cyfmac43455-sdio-standard.bin" "$out/lib/firmware/cypress/cyfmac43455-sdio.bin"
 
diff --git a/pkgs/os-specific/linux/fwts/default.nix b/pkgs/os-specific/linux/fwts/default.nix
index bb4a1a1bd37c..f04b8fcd2108 100644
--- a/pkgs/os-specific/linux/fwts/default.nix
+++ b/pkgs/os-specific/linux/fwts/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fwts";
-  version = "23.11.00";
+  version = "24.01.00";
 
   src = fetchzip {
     url = "https://fwts.ubuntu.com/release/${pname}-V${version}.tar.gz";
-    sha256 = "sha256-3cusxMFIYGKJ+ocQPc77bzHkyQhikLo1szSgE59aK9s=";
+    sha256 = "sha256-MXWmKxcxgSVCSeeGlWsa8JTBa5hLyvGPZ0811w+s+yA=";
     stripRoot = false;
   };
 
diff --git a/pkgs/os-specific/linux/intel-compute-runtime/default.nix b/pkgs/os-specific/linux/intel-compute-runtime/default.nix
index a8699684dbb7..a85eee05422c 100644
--- a/pkgs/os-specific/linux/intel-compute-runtime/default.nix
+++ b/pkgs/os-specific/linux/intel-compute-runtime/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-compute-runtime";
-  version = "23.43.27642.18";
+  version = "23.48.27912.11";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "compute-runtime";
     rev = version;
-    hash = "sha256-AXHNIWCezPYTzc+SXp1B4BzhfSfM2GUCpWLtCT1SE7I=";
+    hash = "sha256-9VKmD7FxvBrDVqT1TzKommjrTvalfR4diReaDRy+Lk0=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/os-specific/linux/kernel/hardened/config.nix b/pkgs/os-specific/linux/kernel/hardened/config.nix
index 7aa9c5117352..ea49966f46dd 100644
--- a/pkgs/os-specific/linux/kernel/hardened/config.nix
+++ b/pkgs/os-specific/linux/kernel/hardened/config.nix
@@ -39,21 +39,33 @@ assert (versionAtLeast version "4.9");
   DEBUG_PI_LIST         = whenOlder "5.2" yes; # doesn't BUG()
   DEBUG_PLIST           = whenAtLeast "5.2" yes;
   DEBUG_SG              = yes;
+  DEBUG_VIRTUAL         = yes;
   SCHED_STACK_END_CHECK = yes;
 
   REFCOUNT_FULL = whenOlder "5.4.208" yes;
 
+  # tell EFI to wipe memory during reset
+  # https://lwn.net/Articles/730006/
+  RESET_ATTACK_MITIGATION = yes;
+
+  # restricts loading of line disciplines via TIOCSETD ioctl to CAP_SYS_MODULE
+  CONFIG_LDISC_AUTOLOAD = option no;
+
   # Randomize page allocator when page_alloc.shuffle=1
   SHUFFLE_PAGE_ALLOCATOR = whenAtLeast "5.2" yes;
 
-  # Allow enabling slub/slab free poisoning with slub_debug=P
-  SLUB_DEBUG = yes;
-
   # Wipe higher-level memory allocations on free() with page_poison=1
   PAGE_POISONING           = yes;
   PAGE_POISONING_NO_SANITY = whenOlder "5.11" yes;
   PAGE_POISONING_ZERO      = whenOlder "5.11" yes;
 
+  # Enable init_on_alloc and init_on_free by default
+  INIT_ON_ALLOC_DEFAULT_ON = yes;
+  INIT_ON_FREE_DEFAULT_ON  = yes;
+
+  # Wipe all caller-used registers on exit from a function
+  ZERO_CALL_USED_REGS = yes;
+
   # Enable the SafeSetId LSM
   SECURITY_SAFESETID = whenAtLeast "5.1" yes;
 
@@ -70,6 +82,16 @@ assert (versionAtLeast version "4.9");
   GCC_PLUGIN_RANDSTRUCT = whenOlder "5.19" yes; # A port of the PaX randstruct plugin
   GCC_PLUGIN_RANDSTRUCT_PERFORMANCE = whenOlder "5.19" yes;
 
+  # Runtime undefined behaviour checks
+  # https://www.kernel.org/doc/html/latest/dev-tools/ubsan.html
+  # https://developers.redhat.com/blog/2014/10/16/gcc-undefined-behavior-sanitizer-ubsan
+  UBSAN      = yes;
+  UBSAN_TRAP = yes;
+  UBSAN_BOUNDS = yes;
+  UBSAN_SANITIZE_ALL = yes;
+  UBSAN_LOCAL_BOUNDS = option yes; # clang only
+  CFI_CLANG = option yes; # clang only Control Flow Integrity since 6.1
+
   # Same as GCC_PLUGIN_RANDSTRUCT*, but has been renamed to `RANDSTRUCT*` in 5.19.
   RANDSTRUCT = whenAtLeast "5.19" yes;
   RANDSTRUCT_PERFORMANCE = whenAtLeast "5.19" yes;
@@ -97,4 +119,15 @@ assert (versionAtLeast version "4.9");
   # CONFIG_DEVMEM=n causes these to not exist anymore.
   STRICT_DEVMEM    = option no;
   IO_STRICT_DEVMEM = option no;
+
+  # stricter IOMMU TLB invalidation
+  IOMMU_DEFAULT_DMA_STRICT = option yes;
+  IOMMU_DEFAULT_DMA_LAZY = option no;
+
+  # not needed for less than a decade old glibc versions
+  LEGACY_VSYSCALL_NONE = yes;
+
+  # Straight-Line-Speculation
+  # https://lwn.net/Articles/877845/
+  SLS = option yes;
 }
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index 918d8e8f16fb..e057d8376609 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -2,52 +2,52 @@
     "4.19": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.19.305-hardened1.patch",
-            "sha256": "1lrz04mxcp82qmfmwsahi5amv9j5j5qv7xjq9jcrycwcj0ljrfcv",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.305-hardened1/linux-hardened-4.19.305-hardened1.patch"
+            "name": "linux-hardened-4.19.306-hardened1.patch",
+            "sha256": "0g38iy5vw9glqmqhmj5y8nnx8gbdj312yb14qnwcl21m78k63mxk",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.306-hardened1/linux-hardened-4.19.306-hardened1.patch"
         },
-        "sha256": "1s6srmhd3visqchshg566c7gq5wnxr3m74854kxksqhhfif450ns",
-        "version": "4.19.305"
+        "sha256": "06dy270xw4frnrc9p2qjh8chgp02fr5ll5g2b0lx9xqzlq7y86xr",
+        "version": "4.19.306"
     },
     "5.10": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.10.208-hardened1.patch",
-            "sha256": "0aniccfyi81wwfzva3i2vxairnkdwrypislphf8r9wg49sya2z7f",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.208-hardened1/linux-hardened-5.10.208-hardened1.patch"
+            "name": "linux-hardened-5.10.209-hardened1.patch",
+            "sha256": "1vccxrwi8a8fz3fcjxxqbkdbfjjhzwqpcibfg0nrydcix79ixgyw",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.209-hardened1/linux-hardened-5.10.209-hardened1.patch"
         },
-        "sha256": "0vpvy47cmcinhs76cjl2n81zrlhbqgpi4v29izn2hzsl15x189ch",
-        "version": "5.10.208"
+        "sha256": "1mc8rssk5aypgb58jz6i2bbflfr6qh1kgqpam0k8fqvwcjnjzqj4",
+        "version": "5.10.209"
     },
     "5.15": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.15.147-hardened1.patch",
-            "sha256": "1z37g4gwxhdsbqh0yy7m9wlglayrmypsrdjgx0vk3shgvaiwx2il",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.147-hardened1/linux-hardened-5.15.147-hardened1.patch"
+            "name": "linux-hardened-5.15.148-hardened1.patch",
+            "sha256": "0pryxvr058fisns01w52xsfbx4aqx2ssfk9n1r575lgywp6q03fj",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.148-hardened1/linux-hardened-5.15.148-hardened1.patch"
         },
-        "sha256": "1m7wznqiakarpar4a0nbwxql0hkvds0s79zx3r1xn0fj4mbfdhan",
-        "version": "5.15.147"
+        "sha256": "1n75lrck581mppx84cds1a1l5vj05cdkp8ahpry7dx6rgz4pb1f4",
+        "version": "5.15.148"
     },
     "5.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.4.267-hardened1.patch",
-            "sha256": "12jyk0dmrs8kmmh8ca4s3jr2pk6m0izhm5yvncgjwff3xybzyj5p",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.267-hardened1/linux-hardened-5.4.267-hardened1.patch"
+            "name": "linux-hardened-5.4.268-hardened1.patch",
+            "sha256": "1lz9i5iaa6pchnk1bw9dg85n82j9hvjdh8pb7vxjg05fxvwgn7jh",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.268-hardened1/linux-hardened-5.4.268-hardened1.patch"
         },
-        "sha256": "0hqw8ww7y9mjrh1wgdkiwk8llxpf4lxwmsmzxm8j4l615kpqvlj2",
-        "version": "5.4.267"
+        "sha256": "081695lgkdwlrp6gpp6pyflgh76zax1w52shys4s9zjnrfkarj5g",
+        "version": "5.4.268"
     },
     "6.1": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.1.74-hardened1.patch",
-            "sha256": "0j7qbbf5s1khzbmsjh5i0nskj9nlw5224sz6zrvv5a1aw6bad976",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.74-hardened1/linux-hardened-6.1.74-hardened1.patch"
+            "name": "linux-hardened-6.1.75-hardened1.patch",
+            "sha256": "157fl991y8fsllwa0ny851vij3418fcs4nng02qzkc1rqzj625dz",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.75-hardened1/linux-hardened-6.1.75-hardened1.patch"
         },
-        "sha256": "08i0pgmmdnrmlha6ncl6if39rqg44c9dqyggf0swxlmfkzbx3yxp",
-        "version": "6.1.74"
+        "sha256": "0mis14ll6xmhw71vfpw1aahi5z207qysha7x316fq4qc6c899lbc",
+        "version": "6.1.75"
     },
     "6.5": {
         "patch": {
@@ -62,11 +62,21 @@
     "6.6": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.6.13-hardened1.patch",
-            "sha256": "108cpr6nidjha98g0x05vsqmdidjb9ikx4ggxjric76c5dsddg2l",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.6.13-hardened1/linux-hardened-6.6.13-hardened1.patch"
+            "name": "linux-hardened-6.6.14-hardened1.patch",
+            "sha256": "1r8aw6lb43fgayhdnk10hkllh8kanfww5xzfi5qzkbly28wr8abv",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.6.14-hardened1/linux-hardened-6.6.14-hardened1.patch"
         },
-        "sha256": "1g60hblf4mywq3rivkqmz2n7a9arinxwh4g4n4x4xb8ysiyrxf48",
-        "version": "6.6.13"
+        "sha256": "110mz8fjlg1j9wnhhq2ik5alayhf61adajd8jqmcsqprncnnpsgv",
+        "version": "6.6.14"
+    },
+    "6.7": {
+        "patch": {
+            "extra": "-hardened1",
+            "name": "linux-hardened-6.7.2-hardened1.patch",
+            "sha256": "1mkmqf8fc3dg77an9fkqp41141m01x93rydfmdn5ys5336mix8pi",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.7.2-hardened1/linux-hardened-6.7.2-hardened1.patch"
+        },
+        "sha256": "0wd6pxh7wy9bzjzwd0rdsdnghpr53qbs722fhg07bi19m8dy8kf3",
+        "version": "6.7.2"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json
index 86f9007f4653..4df17a1a0e3e 100644
--- a/pkgs/os-specific/linux/kernel/kernels-org.json
+++ b/pkgs/os-specific/linux/kernel/kernels-org.json
@@ -1,15 +1,15 @@
 {
     "testing": {
-        "version": "6.8-rc1",
-        "hash": "sha256:0rnrd1iy73vkrablx6rqlmxv9bv9zjfh6zj09aqca9rr5h8iz1p3"
+        "version": "6.8-rc2",
+        "hash": "sha256:0zlk5kq06lan0x689dxrxnfpz2zmlmykm1h0cfpgiy05f52kbhlk"
     },
     "6.5": {
         "version": "6.5.13",
         "hash": "sha256:1dfbbydmayfj9npx3z0g38p574pmcx3qgs49dv0npigl48wd9yvq"
     },
     "6.1": {
-        "version": "6.1.75",
-        "hash": "sha256:0mis14ll6xmhw71vfpw1aahi5z207qysha7x316fq4qc6c899lbc"
+        "version": "6.1.76",
+        "hash": "sha256:1zdi4xbk7zyiab7x8z12xqg72zaw3j61slvrbwjfx6pzh47cr005"
     },
     "5.15": {
         "version": "5.15.148",
@@ -28,11 +28,11 @@
         "hash": "sha256:06dy270xw4frnrc9p2qjh8chgp02fr5ll5g2b0lx9xqzlq7y86xr"
     },
     "6.6": {
-        "version": "6.6.14",
-        "hash": "sha256:110mz8fjlg1j9wnhhq2ik5alayhf61adajd8jqmcsqprncnnpsgv"
+        "version": "6.6.15",
+        "hash": "sha256:1ajzby6isqji1xlp660m4qj2i2xs003vsjp1jspziwl7hrzhqadb"
     },
     "6.7": {
-        "version": "6.7.2",
-        "hash": "sha256:0wd6pxh7wy9bzjzwd0rdsdnghpr53qbs722fhg07bi19m8dy8kf3"
+        "version": "6.7.3",
+        "hash": "sha256:0i1bfkawyp917d9v3qa5nqzspzr3ixx7scbfl8x4lms74xjqrw5p"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index 05b18383303f..e4716dfa6d96 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "19473";
-    sha256 = "0k9pgjg6k9j00x4m3g6chnhgznr5r1yyqd9x8q7a9q9j88vygszs";
+    rev = "19489";
+    sha256 = "1adnk4710iyq87bj48bfxzmzhv5hk0x3fmyz6ydk5af364fl87mk";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix b/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
index 9b70c577b4e6..bf8148c35c11 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "6.1.73-rt22"; # updated by ./update-rt.sh
+  version = "6.1.75-rt23"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz";
-    sha256 = "11vyblm4nkjncdi3akcyizw7jkyxsqn2mjixc51f7kgiddq4ibbc";
+    sha256 = "0mis14ll6xmhw71vfpw1aahi5z207qysha7x316fq4qc6c899lbc";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "1hl7y2sab21l81nl165b77jhfjhpcc1gvz64fs2yjjp4q2qih4b0";
+      sha256 = "0y88g4acq9vcxb169zficcih1dgq7ssl6v3f9740jr6r4l9ycv1x";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 5d4ebc214dc7..a7bf7128f5ef 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -65,4 +65,18 @@
     name = "export-rt-sched-migrate";
     patch = ./export-rt-sched-migrate.patch;
   };
+
+  rust_1_74 = {
+    name = "rust-1.74.patch";
+    patch = fetchpatch {
+      name = "rust-1.74.patch";
+      url = "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/?id=80fe9e51510b23472ad0f97175556490549ed714";
+      hash = "sha256-yGt7PwqN/G+ZtZSt6eARvVFdkC8tnUiu0Fz4cFCyguM=";
+    };
+  };
+
+  rust_1_75 = {
+    name = "rust-1.75.patch";
+    patch = ./rust-1.75.patch;
+  };
 }
diff --git a/pkgs/os-specific/linux/kernel/rust-1.75.patch b/pkgs/os-specific/linux/kernel/rust-1.75.patch
new file mode 100644
index 000000000000..9d6b1a3dcc75
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/rust-1.75.patch
@@ -0,0 +1,373 @@
+From 77007eef13d52d0a5df9706d47078c4e1390a0a9 Mon Sep 17 00:00:00 2001
+From: Miguel Ojeda <ojeda@kernel.org>
+Date: Sun, 24 Dec 2023 18:21:28 +0100
+Subject: [PATCH] rust: upgrade to Rust 1.75.0
+
+This is the next upgrade to the Rust toolchain, from 1.74.1 to 1.75.0
+(i.e. the latest) [1].
+
+See the upgrade policy [2] and the comments on the first upgrade in
+commit 3ed03f4da06e ("rust: upgrade to Rust 1.68.2").
+
+# Unstable features
+
+The `const_maybe_uninit_zeroed` unstable feature [3] was stabilized in
+Rust 1.75.0, which we were using in the PHYLIB abstractions.
+
+The only unstable features allowed to be used outside the `kernel` crate
+are still `new_uninit,offset_of`, though other code to be upstreamed
+may increase the list.
+
+Please see [4] for details.
+
+# Other improvements
+
+Rust 1.75.0 stabilized `pointer_byte_offsets` [5] which we could
+potentially use as an alternative for `ptr_metadata` in the future.
+
+# Required changes
+
+For this upgrade, no changes were required (i.e. on our side).
+
+# `alloc` upgrade and reviewing
+
+The vast majority of changes are due to our `alloc` fork being upgraded
+at once.
+
+There are two kinds of changes to be aware of: the ones coming from
+upstream, which we should follow as closely as possible, and the updates
+needed in our added fallible APIs to keep them matching the newer
+infallible APIs coming from upstream.
+
+Instead of taking a look at the diff of this patch, an alternative
+approach is reviewing a diff of the changes between upstream `alloc` and
+the kernel's. This allows to easily inspect the kernel additions only,
+especially to check if the fallible methods we already have still match
+the infallible ones in the new version coming from upstream.
+
+Another approach is reviewing the changes introduced in the additions in
+the kernel fork between the two versions. This is useful to spot
+potentially unintended changes to our additions.
+
+To apply these approaches, one may follow steps similar to the following
+to generate a pair of patches that show the differences between upstream
+Rust and the kernel (for the subset of `alloc` we use) before and after
+applying this patch:
+
+    # Get the difference with respect to the old version.
+    git -C rust checkout $(linux/scripts/min-tool-version.sh rustc)
+    git -C linux ls-tree -r --name-only HEAD -- rust/alloc |
+        cut -d/ -f3- |
+        grep -Fv README.md |
+        xargs -IPATH cp rust/library/alloc/src/PATH linux/rust/alloc/PATH
+    git -C linux diff --patch-with-stat --summary -R > old.patch
+    git -C linux restore rust/alloc
+
+    # Apply this patch.
+    git -C linux am rust-upgrade.patch
+
+    # Get the difference with respect to the new version.
+    git -C rust checkout $(linux/scripts/min-tool-version.sh rustc)
+    git -C linux ls-tree -r --name-only HEAD -- rust/alloc |
+        cut -d/ -f3- |
+        grep -Fv README.md |
+        xargs -IPATH cp rust/library/alloc/src/PATH linux/rust/alloc/PATH
+    git -C linux diff --patch-with-stat --summary -R > new.patch
+    git -C linux restore rust/alloc
+
+Now one may check the `new.patch` to take a look at the additions (first
+approach) or at the difference between those two patches (second
+approach). For the latter, a side-by-side tool is recommended.
+
+Link: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1750-2023-12-28 [1]
+Link: https://rust-for-linux.com/rust-version-policy [2]
+Link: https://github.com/rust-lang/rust/issues/91850 [3]
+Link: https://github.com/Rust-for-Linux/linux/issues/2 [4]
+Link: https://github.com/rust-lang/rust/issues/96283 [5]
+Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
+Link: https://lore.kernel.org/lkml/20231224172128.271447-1-ojeda@kernel.org/
+Signed-off-by: Alyssa Ross <hi@alyssa.is>
+---
+ Documentation/process/changes.rst |  2 +-
+ rust/alloc/alloc.rs               |  9 ++++++++-
+ rust/alloc/boxed.rs               | 20 ++++++++++++--------
+ rust/alloc/lib.rs                 |  7 ++++---
+ rust/alloc/raw_vec.rs             | 19 +++++++++++++++----
+ rust/alloc/vec/mod.rs             | 16 ++++++++++------
+ scripts/min-tool-version.sh       |  2 +-
+ 7 files changed, 51 insertions(+), 24 deletions(-)
+
+diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst
+index 169f67773518..52284fdbaf23 100644
+--- a/Documentation/process/changes.rst
++++ b/Documentation/process/changes.rst
+@@ -31,7 +31,7 @@ you probably needn't concern yourself with pcmciautils.
+ ====================== ===============  ========================================
+ GNU C                  5.1              gcc --version
+ Clang/LLVM (optional)  11.0.0           clang --version
+-Rust (optional)        1.74.1           rustc --version
++Rust (optional)        1.75.0           rustc --version
+ bindgen (optional)     0.65.1           bindgen --version
+ GNU make               3.82             make --version
+ bash                   4.2              bash --version
+diff --git a/rust/alloc/alloc.rs b/rust/alloc/alloc.rs
+index 150e13750ff7..8a6be8c98173 100644
+--- a/rust/alloc/alloc.rs
++++ b/rust/alloc/alloc.rs
+@@ -379,13 +379,20 @@ const fn ct_error(_: Layout) -> ! {
+         panic!("allocation failed");
+     }
+ 
++    #[inline]
+     fn rt_error(layout: Layout) -> ! {
+         unsafe {
+             __rust_alloc_error_handler(layout.size(), layout.align());
+         }
+     }
+ 
+-    unsafe { core::intrinsics::const_eval_select((layout,), ct_error, rt_error) }
++    #[cfg(not(feature = "panic_immediate_abort"))]
++    unsafe {
++        core::intrinsics::const_eval_select((layout,), ct_error, rt_error)
++    }
++
++    #[cfg(feature = "panic_immediate_abort")]
++    ct_error(layout)
+ }
+ 
+ // For alloc test `std::alloc::handle_alloc_error` can be used directly.
+diff --git a/rust/alloc/boxed.rs b/rust/alloc/boxed.rs
+index 9620eba17268..f5f40778a193 100644
+--- a/rust/alloc/boxed.rs
++++ b/rust/alloc/boxed.rs
+@@ -161,7 +161,7 @@
+ use core::marker::Unsize;
+ use core::mem::{self, SizedTypeProperties};
+ use core::ops::{
+-    CoerceUnsized, Deref, DerefMut, DispatchFromDyn, Generator, GeneratorState, Receiver,
++    CoerceUnsized, Coroutine, CoroutineState, Deref, DerefMut, DispatchFromDyn, Receiver,
+ };
+ use core::pin::Pin;
+ use core::ptr::{self, NonNull, Unique};
+@@ -211,7 +211,7 @@ impl<T> Box<T> {
+     /// ```
+     /// let five = Box::new(5);
+     /// ```
+-    #[cfg(all(not(no_global_oom_handling)))]
++    #[cfg(not(no_global_oom_handling))]
+     #[inline(always)]
+     #[stable(feature = "rust1", since = "1.0.0")]
+     #[must_use]
+@@ -2110,28 +2110,28 @@ fn as_mut(&mut self) -> &mut T {
+ #[stable(feature = "pin", since = "1.33.0")]
+ impl<T: ?Sized, A: Allocator> Unpin for Box<T, A> where A: 'static {}
+ 
+-#[unstable(feature = "generator_trait", issue = "43122")]
+-impl<G: ?Sized + Generator<R> + Unpin, R, A: Allocator> Generator<R> for Box<G, A>
++#[unstable(feature = "coroutine_trait", issue = "43122")]
++impl<G: ?Sized + Coroutine<R> + Unpin, R, A: Allocator> Coroutine<R> for Box<G, A>
+ where
+     A: 'static,
+ {
+     type Yield = G::Yield;
+     type Return = G::Return;
+ 
+-    fn resume(mut self: Pin<&mut Self>, arg: R) -> GeneratorState<Self::Yield, Self::Return> {
++    fn resume(mut self: Pin<&mut Self>, arg: R) -> CoroutineState<Self::Yield, Self::Return> {
+         G::resume(Pin::new(&mut *self), arg)
+     }
+ }
+ 
+-#[unstable(feature = "generator_trait", issue = "43122")]
+-impl<G: ?Sized + Generator<R>, R, A: Allocator> Generator<R> for Pin<Box<G, A>>
++#[unstable(feature = "coroutine_trait", issue = "43122")]
++impl<G: ?Sized + Coroutine<R>, R, A: Allocator> Coroutine<R> for Pin<Box<G, A>>
+ where
+     A: 'static,
+ {
+     type Yield = G::Yield;
+     type Return = G::Return;
+ 
+-    fn resume(mut self: Pin<&mut Self>, arg: R) -> GeneratorState<Self::Yield, Self::Return> {
++    fn resume(mut self: Pin<&mut Self>, arg: R) -> CoroutineState<Self::Yield, Self::Return> {
+         G::resume((*self).as_mut(), arg)
+     }
+ }
+@@ -2448,4 +2448,8 @@ fn cause(&self) -> Option<&dyn core::error::Error> {
+     fn source(&self) -> Option<&(dyn core::error::Error + 'static)> {
+         core::error::Error::source(&**self)
+     }
++
++    fn provide<'b>(&'b self, request: &mut core::error::Request<'b>) {
++        core::error::Error::provide(&**self, request);
++    }
+ }
+diff --git a/rust/alloc/lib.rs b/rust/alloc/lib.rs
+index 9c7ea73da108..345cf5c9cf92 100644
+--- a/rust/alloc/lib.rs
++++ b/rust/alloc/lib.rs
+@@ -80,6 +80,8 @@
+     not(no_sync),
+     target_has_atomic = "ptr"
+ ))]
++#![cfg_attr(not(bootstrap), doc(rust_logo))]
++#![cfg_attr(not(bootstrap), feature(rustdoc_internals))]
+ #![no_std]
+ #![needs_allocator]
+ // Lints:
+@@ -115,7 +117,6 @@
+ #![feature(const_eval_select)]
+ #![feature(const_maybe_uninit_as_mut_ptr)]
+ #![feature(const_maybe_uninit_write)]
+-#![feature(const_maybe_uninit_zeroed)]
+ #![feature(const_pin)]
+ #![feature(const_refs_to_cell)]
+ #![feature(const_size_of_val)]
+@@ -141,7 +142,7 @@
+ #![feature(maybe_uninit_uninit_array)]
+ #![feature(maybe_uninit_uninit_array_transpose)]
+ #![feature(pattern)]
+-#![feature(pointer_byte_offsets)]
++#![feature(ptr_addr_eq)]
+ #![feature(ptr_internals)]
+ #![feature(ptr_metadata)]
+ #![feature(ptr_sub_ptr)]
+@@ -168,7 +169,7 @@
+ //
+ // Language features:
+ // tidy-alphabetical-start
+-#![cfg_attr(not(test), feature(generator_trait))]
++#![cfg_attr(not(test), feature(coroutine_trait))]
+ #![cfg_attr(test, feature(panic_update_hook))]
+ #![cfg_attr(test, feature(test))]
+ #![feature(allocator_internals)]
+diff --git a/rust/alloc/raw_vec.rs b/rust/alloc/raw_vec.rs
+index a7425582a323..f1b8cec8cc62 100644
+--- a/rust/alloc/raw_vec.rs
++++ b/rust/alloc/raw_vec.rs
+@@ -338,10 +338,13 @@ pub fn reserve_for_push(&mut self, len: usize) {
+     /// The same as `reserve`, but returns on errors instead of panicking or aborting.
+     pub fn try_reserve(&mut self, len: usize, additional: usize) -> Result<(), TryReserveError> {
+         if self.needs_to_grow(len, additional) {
+-            self.grow_amortized(len, additional)
+-        } else {
+-            Ok(())
++            self.grow_amortized(len, additional)?;
+         }
++        unsafe {
++            // Inform the optimizer that the reservation has succeeded or wasn't needed
++            core::intrinsics::assume(!self.needs_to_grow(len, additional));
++        }
++        Ok(())
+     }
+ 
+     /// The same as `reserve_for_push`, but returns on errors instead of panicking or aborting.
+@@ -378,7 +381,14 @@ pub fn try_reserve_exact(
+         len: usize,
+         additional: usize,
+     ) -> Result<(), TryReserveError> {
+-        if self.needs_to_grow(len, additional) { self.grow_exact(len, additional) } else { Ok(()) }
++        if self.needs_to_grow(len, additional) {
++            self.grow_exact(len, additional)?;
++        }
++        unsafe {
++            // Inform the optimizer that the reservation has succeeded or wasn't needed
++            core::intrinsics::assume(!self.needs_to_grow(len, additional));
++        }
++        Ok(())
+     }
+ 
+     /// Shrinks the buffer down to the specified capacity. If the given amount
+@@ -569,6 +579,7 @@ fn alloc_guard(alloc_size: usize) -> Result<(), TryReserveError> {
+ // ensure that the code generation related to these panics is minimal as there's
+ // only one location which panics rather than a bunch throughout the module.
+ #[cfg(not(no_global_oom_handling))]
++#[cfg_attr(not(feature = "panic_immediate_abort"), inline(never))]
+ fn capacity_overflow() -> ! {
+     panic!("capacity overflow");
+ }
+diff --git a/rust/alloc/vec/mod.rs b/rust/alloc/vec/mod.rs
+index 41ca71805ef0..0d95fd7ef337 100644
+--- a/rust/alloc/vec/mod.rs
++++ b/rust/alloc/vec/mod.rs
+@@ -1376,7 +1376,7 @@ pub fn as_mut_slice(&mut self) -> &mut [T] {
+     /// [`as_mut_ptr`]: Vec::as_mut_ptr
+     /// [`as_ptr`]: Vec::as_ptr
+     #[stable(feature = "vec_as_ptr", since = "1.37.0")]
+-    #[cfg_attr(not(bootstrap), rustc_never_returns_null_ptr)]
++    #[rustc_never_returns_null_ptr]
+     #[inline]
+     pub fn as_ptr(&self) -> *const T {
+         // We shadow the slice method of the same name to avoid going through
+@@ -1436,7 +1436,7 @@ pub fn as_ptr(&self) -> *const T {
+     /// [`as_mut_ptr`]: Vec::as_mut_ptr
+     /// [`as_ptr`]: Vec::as_ptr
+     #[stable(feature = "vec_as_ptr", since = "1.37.0")]
+-    #[cfg_attr(not(bootstrap), rustc_never_returns_null_ptr)]
++    #[rustc_never_returns_null_ptr]
+     #[inline]
+     pub fn as_mut_ptr(&mut self) -> *mut T {
+         // We shadow the slice method of the same name to avoid going through
+@@ -1565,7 +1565,8 @@ pub unsafe fn set_len(&mut self, new_len: usize) {
+     #[stable(feature = "rust1", since = "1.0.0")]
+     pub fn swap_remove(&mut self, index: usize) -> T {
+         #[cold]
+-        #[inline(never)]
++        #[cfg_attr(not(feature = "panic_immediate_abort"), inline(never))]
++        #[track_caller]
+         fn assert_failed(index: usize, len: usize) -> ! {
+             panic!("swap_remove index (is {index}) should be < len (is {len})");
+         }
+@@ -1606,7 +1607,8 @@ fn assert_failed(index: usize, len: usize) -> ! {
+     #[stable(feature = "rust1", since = "1.0.0")]
+     pub fn insert(&mut self, index: usize, element: T) {
+         #[cold]
+-        #[inline(never)]
++        #[cfg_attr(not(feature = "panic_immediate_abort"), inline(never))]
++        #[track_caller]
+         fn assert_failed(index: usize, len: usize) -> ! {
+             panic!("insertion index (is {index}) should be <= len (is {len})");
+         }
+@@ -1667,7 +1669,7 @@ fn assert_failed(index: usize, len: usize) -> ! {
+     #[track_caller]
+     pub fn remove(&mut self, index: usize) -> T {
+         #[cold]
+-        #[inline(never)]
++        #[cfg_attr(not(feature = "panic_immediate_abort"), inline(never))]
+         #[track_caller]
+         fn assert_failed(index: usize, len: usize) -> ! {
+             panic!("removal index (is {index}) should be < len (is {len})");
+@@ -2097,6 +2099,7 @@ pub fn pop(&mut self) -> Option<T> {
+         } else {
+             unsafe {
+                 self.len -= 1;
++                core::intrinsics::assume(self.len < self.capacity());
+                 Some(ptr::read(self.as_ptr().add(self.len())))
+             }
+         }
+@@ -2299,7 +2302,8 @@ pub fn split_off(&mut self, at: usize) -> Self
+         A: Clone,
+     {
+         #[cold]
+-        #[inline(never)]
++        #[cfg_attr(not(feature = "panic_immediate_abort"), inline(never))]
++        #[track_caller]
+         fn assert_failed(at: usize, len: usize) -> ! {
+             panic!("`at` split index (is {at}) should be <= len (is {len})");
+         }
+diff --git a/scripts/min-tool-version.sh b/scripts/min-tool-version.sh
+index c62066825f53..bcc7d4247290 100755
+--- a/scripts/min-tool-version.sh
++++ b/scripts/min-tool-version.sh
+@@ -31,7 +31,7 @@ llvm)
+ 	fi
+ 	;;
+ rustc)
+-	echo 1.74.1
++	echo 1.75.0
+ 	;;
+ bindgen)
+ 	echo 0.65.1
+-- 
+2.43.0
+
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index a1b4e48bb23d..7a3beba7db33 100644
--- a/pkgs/os-specific/linux/kernel/zen-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix
@@ -4,16 +4,16 @@ let
   # comments with variant added for update script
   # ./update-zen.py zen
   zenVariant = {
-    version = "6.7.2"; #zen
+    version = "6.7.3"; #zen
     suffix = "zen1"; #zen
-    sha256 = "0k2hcvq8djjmq4cb1lsaj0rklsbpjbfsg7l3ibj1yz244m05r113"; #zen
+    sha256 = "1qm1vhd1x8gd2klcasp8f0x9hqaci4b5ih1nn9qc7vqash14hxy6"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
     version = "6.7.2"; #lqx
-    suffix = "lqx1"; #lqx
-    sha256 = "0qn401dgcx3488k8kndcyyf5qjwxn7nd7rnyzbm0rkgvvbnzmdv1"; #lqx
+    suffix = "lqx2"; #lqx
+    sha256 = "0w82k39rqps8xwxnp87b16nfh4nmiys8532vrc8akjl1ffj68bqd"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
diff --git a/pkgs/os-specific/linux/libbpf/default.nix b/pkgs/os-specific/linux/libbpf/default.nix
index 995bfba34a7f..21712e76661a 100644
--- a/pkgs/os-specific/linux/libbpf/default.nix
+++ b/pkgs/os-specific/linux/libbpf/default.nix
@@ -4,7 +4,12 @@
 , stdenv
 , zlib
 , lib
+
+# for passthru.tests
+, knot-dns
 , nixosTests
+, systemd
+, tracee
 }:
 
 stdenv.mkDerivation rec {
@@ -25,7 +30,9 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" "-C src" ];
 
   passthru.tests = {
+    inherit knot-dns tracee;
     bpf = nixosTests.bpf;
+    systemd = systemd.override { withLibBPF = true; };
   };
 
   postInstall = ''
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 4caf5b9aa943..6724651bbaf7 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -12,7 +12,6 @@
   nix-update-script,
   nixosTests,
   openssl,
-  pam,
   pkg-config,
   systemd,
 }:
@@ -41,11 +40,16 @@ stdenv.mkDerivation rec {
     libseccomp
     libselinux
     openssl
-    pam
     systemd
   ];
 
-  patches = [ ./add-meson-options.patch ];
+  patches = [
+     # make build more nix compatible
+    ./add-meson-options.patch
+
+    # fix docbook2man version detection
+    ./docbook-hack.patch
+  ];
 
   mesonFlags = [
     "-Dinstall-init-files=false"
diff --git a/pkgs/os-specific/linux/lxc/docbook-hack.patch b/pkgs/os-specific/linux/lxc/docbook-hack.patch
new file mode 100644
index 000000000000..f758014efbaa
--- /dev/null
+++ b/pkgs/os-specific/linux/lxc/docbook-hack.patch
@@ -0,0 +1,21 @@
+diff --git a/meson.build b/meson.build
+index d1527679e..360824994 100644
+--- a/meson.build
++++ b/meson.build
+@@ -320,15 +320,7 @@ docconf.set('LXC_USERNIC_CONF', lxc_user_network_conf)
+ docconf.set('LXC_USERNIC_DB', lxc_user_network_db)
+ docconf.set('PACKAGE_VERSION', version_data.get('LXC_VERSION'))
+ docconf.set('docdtd', '"-//OASIS//DTD DocBook XML" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"')
+-sgml2man = find_program('docbook2X2man', 'docbook2x-man', 'db2x_docbook2man', 'docbook2man', 'docbook-to-man', required: false, version: '>=0.8')
+-if not sgml2man.found()
+-    sgml2man = find_program('docbook2man', required: false, version: '<0.8')
+-    if sgml2man.found()
+-        docconf.set('docdtd', '"-//Davenport//DTD DocBook V3.0//EN"')
+-    elif want_mans
+-        error('missing required docbook2x or docbook-utils dependency')
+-    endif
+-endif
++sgml2man = find_program('docbook2X2man', 'docbook2x-man', 'db2x_docbook2man', 'docbook2man', 'docbook-to-man', required: false)
+ 
+ ## Threads.
+ threads = dependency('threads')
diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
index bde6ff9d959b..2051368a49f6 100755
--- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
+++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
@@ -407,6 +407,13 @@ fi
 
 tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX)
 
+if [[ ${#tmpDir} -ge 60 ]]; then
+    # Very long tmp dirs lead to "too long for Unix domain socket"
+    # SSH ControlPath errors. Especially macOS sets long TMPDIR paths.
+    rmdir "$tmpDir"
+    tmpDir=$(TMPDIR= mktemp -t -d nixos-rebuild.XXXXXX)
+fi
+
 cleanup() {
     for ctrl in "$tmpDir"/ssh-*; do
         ssh -o ControlPath="$ctrl" -O exit dummyhost 2>/dev/null || true
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 98ba2ca98e83..01fe26e08bb8 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -61,16 +61,14 @@ rec {
   # Vulkan developer beta driver
   # See here for more information: https://developer.nvidia.com/vulkan-driver
   vulkan_beta = generic rec {
-    version = "535.43.23";
+    version = "535.43.24";
     persistencedVersion = "535.98";
     settingsVersion = "535.98";
-    sha256_64bit = "sha256-lnCiXkkRpKBVjvRSnJ5W8k4Mix6qMw1Lo2S0VjdexzI=";
-    openSha256 = "sha256-i74x94a4HCkqIqwInFgqZEFagVlMNZ1/OIztcTR1ReA=";
+    sha256_64bit = "sha256-UbheqrPzSMPFjM3URN/Jr8rpuY12BCFtCvBlxMqXFbo=";
+    openSha256 = "sha256-01UOzUZTCf7pHUc61/qlh98qAiXsYp8Iankev9+wVdI=";
     settingsSha256 = "sha256-jCRfeB1w6/dA27gaz6t5/Qo7On0zbAPIi74LYLel34s=";
     persistencedSha256 = "sha256-WviDU6B50YG8dO64CGvU3xK8WFUX8nvvVYm/fuGyroM=";
     url = "https://developer.nvidia.com/downloads/vulkan-beta-${lib.concatStrings (lib.splitVersion version)}-linux";
-
-    brokenOpen = kernel.kernelAtLeast "6.7";
   };
 
   # data center driver compatible with current default cudaPackages
diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix
index abbdd71694d2..7014e3b095f4 100644
--- a/pkgs/os-specific/linux/rdma-core/default.nix
+++ b/pkgs/os-specific/linux/rdma-core/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "rdma-core";
-  version = "49.1";
+  version = "50.0";
 
   src = fetchFromGitHub {
     owner = "linux-rdma";
     repo = "rdma-core";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-fAEHugGRlrn0rRazyeC649H4vc0V3dqTTSDAo1HY22A=";
+    hash = "sha256-PJlbY7QR9b2eVaALpuq/67kRTc91HEhs9Wl7WXtSLmA=";
   };
 
   strictDeps = true;
diff --git a/pkgs/os-specific/linux/setools/default.nix b/pkgs/os-specific/linux/setools/default.nix
index 2e554a0241b2..0819ae91fc87 100644
--- a/pkgs/os-specific/linux/setools/default.nix
+++ b/pkgs/os-specific/linux/setools/default.nix
@@ -8,18 +8,18 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "setools";
-  version = "4.4.1";
+  version = "4.4.4";
 
   src = fetchFromGitHub {
     owner = "SELinuxProject";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-4T5FIdnKi35JSm+IoYA2gIBBRV0nN0YLEw9xvDqNcgo=";
+    hash = "sha256-QCJfFdY4THBurx7G8q/WAzb7b9CwtNNGi5fn9D++BMU=";
   };
 
   nativeBuildInputs = [ cython ];
   buildInputs = [ libsepol ];
-  propagatedBuildInputs = [ enum34 libselinux networkx ]
+  propagatedBuildInputs = [ enum34 libselinux networkx setuptools ]
     ++ optionals withGraphics [ pyqt5 ];
 
   nativeCheckInputs = [ tox checkpolicy ];
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index c17aa380dd80..c084112a5bdc 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -217,32 +217,33 @@ stdenv.mkDerivation (finalAttrs: {
   ] ++ lib.optional stdenv.hostPlatform.isMusl (
     let
       oe-core = fetchzip {
-        url = "https://git.openembedded.org/openembedded-core/snapshot/openembedded-core-eb8a86fee9eeae787cc0a58ef2ed087fd48d93eb.tar.gz";
-        sha256 = "tE2KpXLvOknIpEZFdOnNxvBmDvZrra3kvQp9tKxa51c=";
+        url = "https://git.openembedded.org/openembedded-core/snapshot/openembedded-core-6fdf03bd950e55ef7881041606f6e76141033716.tar.gz";
+        sha256 = "/+9aJdOxBY8Y4vJPftOCxmyK8L2nvR82KmJxil1a2aY=";
       };
       musl-patches = oe-core + "/meta/recipes-core/systemd/systemd";
     in
     [
-      (musl-patches + "/0001-Adjust-for-musl-headers.patch")
-      (musl-patches + "/0005-pass-correct-parameters-to-getdents64.patch")
-      (musl-patches + "/0006-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch")
-      (musl-patches + "/0009-missing_type.h-add-comparison_fn_t.patch")
-      (musl-patches + "/0010-add-fallback-parse_printf_format-implementation.patch")
-      (musl-patches + "/0011-src-basic-missing.h-check-for-missing-strndupa.patch")
-      (musl-patches + "/0012-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch")
-      (musl-patches + "/0013-add-missing-FTW_-macros-for-musl.patch")
-      (musl-patches + "/0014-Use-uintmax_t-for-handling-rlim_t.patch")
-      (musl-patches + "/0016-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch")
-      (musl-patches + "/0017-Define-glibc-compatible-basename-for-non-glibc-syste.patch")
-      (musl-patches + "/0018-Do-not-disable-buffering-when-writing-to-oom_score_a.patch")
-      (musl-patches + "/0019-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch")
-      (musl-patches + "/0020-avoid-redefinition-of-prctl_mm_map-structure.patch")
-      (musl-patches + "/0021-do-not-disable-buffer-in-writing-files.patch")
-      (musl-patches + "/0022-Handle-__cpu_mask-usage.patch")
-      (musl-patches + "/0023-Handle-missing-gshadow.patch")
-      (musl-patches + "/0024-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch")
-      (musl-patches + "/0028-sd-event-Make-malloc_trim-conditional-on-glibc.patch")
-      (musl-patches + "/0029-shared-Do-not-use-malloc_info-on-musl.patch")
+      (musl-patches + "/0017-Adjust-for-musl-headers.patch")
+      (musl-patches + "/0016-pass-correct-parameters-to-getdents64.patch")
+      (musl-patches + "/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch")
+      (musl-patches + "/0001-missing_type.h-add-comparison_fn_t.patch")
+      (musl-patches + "/0002-add-fallback-parse_printf_format-implementation.patch")
+      (musl-patches + "/0003-src-basic-missing.h-check-for-missing-strndupa.patch")
+      (musl-patches + "/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch")
+      (musl-patches + "/0005-add-missing-FTW_-macros-for-musl.patch")
+      (musl-patches + "/0006-Use-uintmax_t-for-handling-rlim_t.patch")
+      (musl-patches + "/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch")
+      (musl-patches + "/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch")
+      (musl-patches + "/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch")
+      (musl-patches + "/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch")
+      (musl-patches + "/0011-avoid-redefinition-of-prctl_mm_map-structure.patch")
+      (musl-patches + "/0012-do-not-disable-buffer-in-writing-files.patch")
+      (musl-patches + "/0013-Handle-__cpu_mask-usage.patch")
+      (musl-patches + "/0014-Handle-missing-gshadow.patch")
+      (musl-patches + "/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch")
+      (musl-patches + "/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch")
+      (musl-patches + "/0021-shared-Do-not-use-malloc_info-on-musl.patch")
+      (musl-patches + "/0022-avoid-missing-LOCK_EX-declaration.patch")
     ]
   );
 
diff --git a/pkgs/os-specific/linux/zfs/unstable.nix b/pkgs/os-specific/linux/zfs/unstable.nix
index 997cbe18ba7d..691fa523b522 100644
--- a/pkgs/os-specific/linux/zfs/unstable.nix
+++ b/pkgs/os-specific/linux/zfs/unstable.nix
@@ -17,23 +17,24 @@ callPackage ./generic.nix args {
   # check the release notes for compatible kernels
   kernelCompatible =
     if stdenv'.isx86_64 || removeLinuxDRM
-    then kernel.kernelOlder "6.7"
+    then kernel.kernelOlder "6.8"
     else kernel.kernelOlder "6.2";
 
   latestCompatibleLinuxPackages = if stdenv'.isx86_64 || removeLinuxDRM
-    then linuxKernel.packages.linux_6_6
+    then linuxKernel.packages.linux_6_7
     else linuxKernel.packages.linux_6_1;
 
   # this package should point to a version / git revision compatible with the latest kernel release
   # IMPORTANT: Always use a tagged release candidate or commits from the
   # zfs-<version>-staging branch, because this is tested by the OpenZFS
   # maintainers.
-  version = "2.2.2";
+  version = "2.2.3-unstable-2024-01-26";
+  rev = "3425484eb907d489c315cced2a1fdea08ef03fc4";
 
   isUnstable = true;
   tests = [
     nixosTests.zfs.unstable
   ];
 
-  hash = "sha256-CqhETAwhWMhbld5ib3Rz1dxms+GQbLwjEZw/V7U/2nE=";
+  hash = "sha256-P8PIp0qRHm/fxYdxWKVRX9LR5tKZR7fFUSY90QDE/lU=";
 }
diff --git a/pkgs/os-specific/windows/default.nix b/pkgs/os-specific/windows/default.nix
index dfd749dc2a9c..7d152a607b8e 100644
--- a/pkgs/os-specific/windows/default.nix
+++ b/pkgs/os-specific/windows/default.nix
@@ -17,9 +17,10 @@ lib.makeScope newScope (self: with self; {
     stdenv = crossLibcStdenv;
   };
 
+  # FIXME untested with llvmPackages_16 was using llvmPackages_8
   crossThreadsStdenv = overrideCC crossLibcStdenv
     (if stdenv.hostPlatform.useLLVM or false
-     then buildPackages.llvmPackages_8.clangNoLibcxx
+     then buildPackages.llvmPackages.clangNoLibcxx
      else buildPackages.gccWithoutTargetLibc.override (old: {
        bintools = old.bintools.override {
          libc = libcCross;
diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix
index 3bfc7a58e727..706186c8e2f1 100644
--- a/pkgs/os-specific/windows/mingw-w64/default.nix
+++ b/pkgs/os-specific/windows/mingw-w64/default.nix
@@ -2,35 +2,20 @@
 , stdenv
 , windows
 , fetchurl
-, fetchpatch
 , autoreconfHook
 }:
 
 let
-  version = "10.0.0";
+  version = "11.0.1";
 in stdenv.mkDerivation {
   pname = "mingw-w64";
   inherit version;
 
   src = fetchurl {
     url = "mirror://sourceforge/mingw-w64/mingw-w64-v${version}.tar.bz2";
-    hash = "sha256-umtDCu1yxjo3aFMfaj/8Kw/eLFejslFFDc9ImolPCJQ=";
+    hash = "sha256-P2a84Gnui+10OaGhPafLkaXmfqYXDyExesf1eUYl7hA=";
   };
 
-  patches = [
-    # Upstream patches to fix build parallelism
-    (fetchpatch {
-      name = "crt-suff-make-4.4.patch";
-      url = "https://github.com/mirror/mingw-w64/commit/953bcd32ae470c4647e94de8548dda5a8f07d82d.patch";
-      hash = "sha256-lrS4ZDa/Uwsj5DXajOUv+knZXan0JVU70KHHdIjJ07Y=";
-    })
-    (fetchpatch {
-      name = "dll-dep-make-4.4.patch";
-      url = "https://github.com/mirror/mingw-w64/commit/e1b0c1420bbd52ef505c71737c57393ac1397b0a.patch";
-      hash = "sha256-/56Cmmy0UYTaDKIWG7CgXsThvCHK6lSbekbBOoOJSIQ=";
-    })
-  ];
-
   outputs = [ "out" "dev" ];
 
   configureFlags = [
diff --git a/pkgs/servers/apache-airflow/python-package.nix b/pkgs/servers/apache-airflow/python-package.nix
index ac39c99ba7d1..29559cb60a31 100644
--- a/pkgs/servers/apache-airflow/python-package.nix
+++ b/pkgs/servers/apache-airflow/python-package.nix
@@ -265,7 +265,7 @@ buildPythonPackage rec {
   ];
 
   postInstall = ''
-    cp -rv ${airflow-frontend}/static/dist $out/lib/${python.libPrefix}/site-packages/airflow/www/static
+    cp -rv ${airflow-frontend}/static/dist $out/${python.sitePackages}/airflow/www/static
     # Needed for pythonImportsCheck below
     export HOME=$(mktemp -d)
   '';
diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix
index d50873a83347..9d9c20d855e2 100644
--- a/pkgs/servers/atlassian/jira.nix
+++ b/pkgs/servers/atlassian/jira.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-jira";
-  version = "9.11.1";
+  version = "9.13.0";
 
   src = fetchurl {
     url = "https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz";
-    sha256 = "sha256-ertaJrURAMViQ5WVa8JgCu9vlTNwGVRiPTt7grIrgZQ=";
+    sha256 = "sha256-WKb43gb8VUhnmm+Jvh7w/MHbyJVrYnxkpqfPk5hQk/w=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/baserow/default.nix b/pkgs/servers/baserow/default.nix
index ea46b4bfb8f2..37366183dba0 100644
--- a/pkgs/servers/baserow/default.nix
+++ b/pkgs/servers/baserow/default.nix
@@ -127,8 +127,8 @@ with python.pkgs; buildPythonApplication rec {
 
   fixupPhase = ''
     cp -r src/baserow/contrib/database/{api,action,trash,formula,file_import} \
-      $out/lib/${python.libPrefix}/site-packages/baserow/contrib/database/
-    cp -r src/baserow/core/management/backup $out/lib/${python.libPrefix}/site-packages/baserow/core/management/
+      $out/${python.sitePackages}/baserow/contrib/database/
+    cp -r src/baserow/core/management/backup $out/${python.sitePackages}/baserow/core/management/
   '';
 
   disabledTests = [
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index 08fdbcebb016..d3ef5324db86 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -14,7 +14,7 @@
 
 stdenv.mkDerivation rec {
   pname = "slurm";
-  version = "23.11.1.1";
+  version = "23.11.3.1";
 
   # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
   # because the latter does not keep older releases.
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     repo = "slurm";
     # The release tags use - instead of .
     rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
-    hash = "sha256-dfCQKKw44bD5d7Sv7e40Qm3df9Mzz7WvmWf7SP8R1KQ=";
+    hash = "sha256-fSw7LaIEyExsdVgJ9pfWEBhnBUsczdJl0coEPDdKVzA=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/servers/db-rest/default.nix b/pkgs/servers/db-rest/default.nix
index 8eab440e523b..8594dccbbd00 100644
--- a/pkgs/servers/db-rest/default.nix
+++ b/pkgs/servers/db-rest/default.nix
@@ -7,7 +7,7 @@
 }:
 buildNpmPackage rec {
   pname = "db-rest";
-  version = "6.0.3";
+  version = "6.0.4";
 
   nodejs = nodejs_18;
 
@@ -15,19 +15,10 @@ buildNpmPackage rec {
     owner = "derhuerst";
     repo = pname;
     rev = version;
-    hash = "sha256-kHT8/8ivqcP6YRBvkZ4jpJ/xBMM1PddLgV1Z/MFmSTM=";
+    hash = "sha256-guiAtPOvU/yqspq+G+mTSIFqBp6Kl0JZBPfjPC+ZM1g=";
   };
 
-  patches = [
-    # add files and bin property to package.json
-    # keep until https://github.com/derhuerst/db-rest/pull/37 is merged and released
-    (fetchpatch {
-      url = "https://github.com/derhuerst/db-rest/commit/7d2c8bebdd5e8152b181748e3c36683ecf9e71c9.patch";
-      hash = "sha256-KyNcvSJLQrX8BO/4814wefeeC+s0pvM2ng44q6diU24=";
-    })
-  ];
-
-  npmDepsHash = "sha256-d/Qs194TU4ooy6GsBsZhrf5H1iPCUnlieBgtuqfAtkQ=";
+  npmDepsHash = "sha256-lJT344HpHJFN3QO6kVAj1NhRFTwS+EVkR0ePbtIguFo=";
 
   preConfigure = ''
     patchShebangs ./build/index.js
diff --git a/pkgs/servers/dex/default.nix b/pkgs/servers/dex/default.nix
index 65bbf51ba9d0..16a792f111f0 100644
--- a/pkgs/servers/dex/default.nix
+++ b/pkgs/servers/dex/default.nix
@@ -1,24 +1,24 @@
-{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests, testers, dex-oidc }:
 
 buildGoModule rec {
   pname = "dex";
-  version = "2.37.0";
+  version = "2.38.0";
 
   src = fetchFromGitHub {
     owner = "dexidp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2u9UHummUpPljTzPNCQfHwYVeWgDOGLcGx10aVHUAZM=";
+    sha256 = "sha256-nk6llGXJSUA8BWz3S320klMJkOI9BE5oiKgPTuNZVyM=";
   };
 
-  vendorHash = "sha256-sSn3qpbo04DjyPD+Ogx9JUdJ/++fNYb0bAmudQjchQ0=";
+  vendorHash = "sha256-yQaoRV6nMHHNpyc2SgyYGJaeIR72dNAh1U3bPHlYEws=";
 
   subPackages = [
     "cmd/dex"
   ];
 
   ldflags = [
-    "-w" "-s" "-X github.com/dexidp/dex/version.Version=${src.rev}"
+    "-w" "-s" "-X main.version=${src.rev}"
   ];
 
   postInstall = ''
@@ -26,7 +26,14 @@ buildGoModule rec {
     cp -r $src/web $out/share/web
   '';
 
-  passthru.tests = { inherit (nixosTests) dex-oidc; };
+  passthru.tests = {
+    inherit (nixosTests) dex-oidc;
+    version = testers.testVersion {
+      package = dex-oidc;
+      command = "dex version";
+      version = "v${version}";
+    };
+  };
 
   meta = with lib; {
     description = "OpenID Connect and OAuth2 identity provider with pluggable connectors";
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index 28fe866dfdcc..d14c7450c8da 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -4,6 +4,7 @@
 # build+runtime deps.
 , knot-dns, luajitPackages, libuv, gnutls, lmdb
 , jemalloc, systemd, libcap_ng, dns-root-data, nghttp2 # optionals, in principle
+, fstrm, protobufc # more optionals
 # test-only deps.
 , cmocka, which, cacert
 , extraFeatures ? false /* catch-all if defaults aren't enough */
@@ -62,9 +63,10 @@ unwrapped = stdenv.mkDerivation rec {
 
   # http://knot-resolver.readthedocs.io/en/latest/build.html#requirements
   buildInputs = [ knot-dns lua.lua libuv gnutls lmdb ]
+    ## the rest are optional dependencies
     ++ optionals stdenv.isLinux [ /*lib*/systemd libcap_ng ]
     ++ [ jemalloc nghttp2 ]
-    ## optional dependencies; TODO: dnstap
+    ++ [ fstrm protobufc ] # dnstap support
     ;
 
   mesonFlags = [
diff --git a/pkgs/servers/elasticmq-server-bin/default.nix b/pkgs/servers/elasticmq-server-bin/default.nix
index 82b1a97cd51c..7f83216cf909 100644
--- a/pkgs/servers/elasticmq-server-bin/default.nix
+++ b/pkgs/servers/elasticmq-server-bin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "elasticmq-server";
-  version = "1.5.5";
+  version = "1.5.7";
 
   src = fetchurl {
     url = "https://s3-eu-west-1.amazonaws.com/softwaremill-public/${finalAttrs.pname}-${finalAttrs.version}.jar";
-    sha256 = "sha256-LjaabD9Ax0Jy1OJgEX2TWctEfsK7jlzWKAOq6RCVeqQ=";
+    sha256 = "sha256-J7LT1OwMIt0jV9lRwTVdkW2Mm9OqxyGUlte3VHZrTZ0=";
   };
 
   # don't do anything?
diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix
index 662c4d530170..224ce41d185e 100644
--- a/pkgs/servers/gpsd/default.nix
+++ b/pkgs/servers/gpsd/default.nix
@@ -84,7 +84,7 @@ stdenv.mkDerivation rec {
     substituteInPlace SConscript --replace "env['CCVERSION']" "env['CC']"
 
     sconsFlags+=" udevdir=$out/lib/udev"
-    sconsFlags+=" python_libdir=$out/lib/${python3Packages.python.libPrefix}/site-packages"
+    sconsFlags+=" python_libdir=$out/${python3Packages.python.sitePackages}"
   '';
 
   # - leapfetch=no disables going online at build time to fetch leap-seconds
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index abfb8c7b9417..a00b6523d995 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -226,7 +226,8 @@
       aqualogic
     ];
     "aquostv" = ps: with ps; [
-    ]; # missing inputs: sharp_aquos_rc
+      sharp-aquos-rc
+    ];
     "aranet" = ps: with ps; [
       aioesphomeapi
       aiohttp-cors
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix
index 38b071f16564..529e2f736bb2 100644
--- a/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix
@@ -5,13 +5,13 @@
 
 buildNpmPackage rec {
   pname = "light-entity-card";
-  version = "6.1.1";
+  version = "6.1.3";
 
   src = fetchFromGitHub {
     owner = "ljmerza";
     repo = "light-entity-card";
     rev = "refs/tags/${version}";
-    hash = "sha256-LoZt65oAw52NxVFgV9kVDr65CX5G6Xek2zDafDIxXmw=";
+    hash = "sha256-DtpNKcnxMWbKwfIwo9R2g2Vux9oAjTI0URixGC41qeA=";
   };
 
   npmDepsHash = "sha256-EZDTWtn3joikwiC5Kfn94+tXRDpBhMDHqHozfIkfbJ0=";
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-graph-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-graph-card/default.nix
index 60942d5f4ed2..68ec48997d5d 100644
--- a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-graph-card/default.nix
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-graph-card/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "mini-graph-card";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "kalkih";
     repo = "mini-graph-card";
     rev = "refs/tags/v${version}";
-    hash = "sha256-AC4VawRtWTeHbFqDJ6oQchvUu08b4F3ManiPPXpyGPc=";
+    hash = "sha256-o87c1tqZAQDlzxsxVdPZj1ei37nx7dVIZDzoQIUkmPk=";
   };
 
-  npmDepsHash = "sha256-0ErOTkcCnMqMTsTkVL320SxZaET/izFj9GiNWC2tQtQ=";
+  npmDepsHash = "sha256-4GgFlSpqGxY7TCgyovqMSoLUin46bKN8tUQTdjv1eog=";
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix
index 96decc53eeb4..83f1dae71b9e 100644
--- a/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix
+++ b/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "mini-media-player";
-  version = "1.16.8";
+  version = "1.16.9";
 
   src = fetchFromGitHub {
     owner = "kalkih";
     repo = "mini-media-player";
     rev = "v${version}";
-    hash = "sha256-mBxK/Y+gesaJwPYHB4P8FCkyfoV9lwC8jAzPZJV+B+M=";
+    hash = "sha256-tEG8xmqsPDssXmsCobHJoNK3qdRvBRe6FcTfm16r6+g=";
   };
 
-  npmDepsHash = "sha256-kuEgX5PX7RKhaJPzx+GW37TiSISvz+51tKGacvAMlfg=";
+  npmDepsHash = "sha256-pN6Hq0ECnmSZgKPoSfdAQsqNykUakLqRCTyLGVK57KQ=";
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/servers/home-automation/evcc/default.nix b/pkgs/servers/home-automation/evcc/default.nix
index 66594ee3dd7c..7909bbf9b68e 100644
--- a/pkgs/servers/home-automation/evcc/default.nix
+++ b/pkgs/servers/home-automation/evcc/default.nix
@@ -16,16 +16,16 @@
 
 buildGoModule rec {
   pname = "evcc";
-  version = "0.123.8";
+  version = "0.123.9";
 
   src = fetchFromGitHub {
     owner = "evcc-io";
     repo = "evcc";
     rev = version;
-    hash = "sha256-AsLprF4Szv91mShE1Ch6qOIkAIwHTw5lWm38DjQGOZM=";
+    hash = "sha256-BiJo0XsEdggmAfIzl717yDarDhD6IadP9an1Xv9N3ww=";
   };
 
-  vendorHash = "sha256-FKF6+64mjrKgzFAb+O0QCURieOoRB//QNbpMFMcNG8s=";
+  vendorHash = "sha256-1A87F6S4E87Uv05Ya4mA2B1QhJ1GEUtGx98/29m0LHI=";
 
   npmDeps = fetchNpmDeps {
     inherit src;
diff --git a/pkgs/servers/homepage-dashboard/default.nix b/pkgs/servers/homepage-dashboard/default.nix
index 973208affa0a..0a6a831414fa 100644
--- a/pkgs/servers/homepage-dashboard/default.nix
+++ b/pkgs/servers/homepage-dashboard/default.nix
@@ -13,13 +13,13 @@
 
 buildNpmPackage rec {
   pname = "homepage-dashboard";
-  version = "0.8.6";
+  version = "0.8.7";
 
   src = fetchFromGitHub {
     owner = "gethomepage";
     repo = "homepage";
     rev = "v${version}";
-    hash = "sha256-ws4zPt6N4gPRLgJAeozPlbSJm0mOQKmkOZpKeB1y+J0=";
+    hash = "sha256-H8BUyIsbn8UL6VuA2SEJXzJ77S/880rQIoNKFJNApqQ=";
   };
 
   npmDepsHash = "sha256-RC2Y4XZqO+mLEKQxq+j2ukZYi/uu9XIjYadxek9P+SM=";
diff --git a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
index 497cc5b1ea0a..01f953f7c80c 100644
--- a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mod_wsgi";
-  version = "4.9.4";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "GrahamDumpleton";
     repo = "mod_wsgi";
     rev = version;
-    hash = "sha256-6rRHdgdTb94kqIpWJOJOwoIsaXb/c4XY3q331GwQyf0=";
+    hash = "sha256-/4swm4AYCN3xyz2+OH7XqH/dFC53wqGPZgEAdxZQvbs=";
   };
 
   buildInputs = [ apacheHttpd python3 ncurses ];
diff --git a/pkgs/servers/http/pomerium/default.nix b/pkgs/servers/http/pomerium/default.nix
index 6a47c2f509a8..e4443d93be20 100644
--- a/pkgs/servers/http/pomerium/default.nix
+++ b/pkgs/servers/http/pomerium/default.nix
@@ -122,7 +122,7 @@ buildGoModule rec {
     homepage = "https://pomerium.io";
     description = "Authenticating reverse proxy";
     license = licenses.asl20;
-    maintainers = with maintainers; [ lukegb ];
+    maintainers = with maintainers; [ lukegb devusb ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/servers/icingaweb2/default.nix b/pkgs/servers/icingaweb2/default.nix
index 83d482e251a1..25f1a419e0e3 100644
--- a/pkgs/servers/icingaweb2/default.nix
+++ b/pkgs/servers/icingaweb2/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "icingaweb2";
-  version = "2.11.4";
+  version = "2.12.1";
 
   src = fetchFromGitHub {
     owner = "Icinga";
     repo = "icingaweb2";
     rev = "v${version}";
-    hash = "sha256-UMC1puEM0PhIu+lJouOj81tI/E6fz1PzPN0FU7TNwTg=";
+    hash = "sha256-j101HsFvJZrzpK395TF4seztYfCCQKnqrpEpGj5xrtQ=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/icingaweb2/ipl.nix b/pkgs/servers/icingaweb2/ipl.nix
index b9623f47c91f..021876fa1d29 100644
--- a/pkgs/servers/icingaweb2/ipl.nix
+++ b/pkgs/servers/icingaweb2/ipl.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "icingaweb2-ipl";
-  version = "0.13.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "Icinga";
     repo = "icinga-php-library";
     rev = "v${version}";
-    hash = "sha256-U3SzjjYoalejPs5hqZP2QyvlKdgdpWk9o0DkFGtWC2w=";
+    hash = "sha256-4f0Xx4mnc+M2i97/TFQeg2rZaJUpKkx1SvpbLWmSYNo=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/icingaweb2/thirdparty.nix b/pkgs/servers/icingaweb2/thirdparty.nix
index cc3f2c502ad4..552842967fde 100644
--- a/pkgs/servers/icingaweb2/thirdparty.nix
+++ b/pkgs/servers/icingaweb2/thirdparty.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "icingaweb2-thirdparty";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "Icinga";
     repo = "icinga-php-thirdparty";
     rev = "v${version}";
-    sha256 = "sha256-ZKERh8lssN5TF6W2eUY1j+kSslxOmGj72dV45a23o7Q=";
+    sha256 = "sha256-T67DcsHVf3yDQveNtSPqLoOOPuT4ThkUSCJ9aCSVaIc=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/jicofo/default.nix b/pkgs/servers/jicofo/default.nix
index d8d85b8f6599..b567c701ff7e 100644
--- a/pkgs/servers/jicofo/default.nix
+++ b/pkgs/servers/jicofo/default.nix
@@ -2,10 +2,10 @@
 
 let
   pname = "jicofo";
-  version = "1.0-1059";
+  version = "1.0-1062";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "NlBRUI4j/5njFS/TtBTsaV/5ILFtqWd6SF+FqpGp1Uk=";
+    sha256 = "bU7h7kjs2yu1O+qhKcs6C63DH/omo/R1+Ms40KHkjHU=";
   };
 in
 stdenv.mkDerivation {
diff --git a/pkgs/servers/jitsi-videobridge/default.nix b/pkgs/servers/jitsi-videobridge/default.nix
index 96f5190e18f1..06aa43e5fce3 100644
--- a/pkgs/servers/jitsi-videobridge/default.nix
+++ b/pkgs/servers/jitsi-videobridge/default.nix
@@ -2,10 +2,10 @@
 
 let
   pname = "jitsi-videobridge2";
-  version = "2.3-64-g719465d1";
+  version = "2.3-67-gb2d4229f";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "zZYBSHaMhGzJfONyEUkPUCalxLyB/EjqLqIgJPg2Z8o=";
+    sha256 = "aE9QFzOJk3jMzNTEitcaBZVKpa1IJ55JahLfNDCujJI=";
   };
 in
 stdenv.mkDerivation {
diff --git a/pkgs/servers/keycloak/default.nix b/pkgs/servers/keycloak/default.nix
index 646d2d83ed1c..fac37227c8bc 100644
--- a/pkgs/servers/keycloak/default.nix
+++ b/pkgs/servers/keycloak/default.nix
@@ -18,11 +18,11 @@ let
   '';
 in stdenv.mkDerivation rec {
   pname = "keycloak";
-  version = "23.0.4";
+  version = "23.0.5";
 
   src = fetchzip {
     url = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip";
-    hash = "sha256-qvgYH/e+V++Tk39sgELTiUqyoEbBuUoCRNaCiM8ZuoA=";
+    hash = "sha256-6oIe1lKHVcddCTQacLHrEJ8yTMqN9FsVwbwpHDnN1oA=";
   };
 
   nativeBuildInputs = [ makeWrapper jre ];
diff --git a/pkgs/servers/komga/default.nix b/pkgs/servers/komga/default.nix
index ef4dbec2e3f9..994428abb1b8 100644
--- a/pkgs/servers/komga/default.nix
+++ b/pkgs/servers/komga/default.nix
@@ -8,11 +8,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "komga";
-  version = "1.10.1";
+  version = "1.10.3";
 
   src = fetchurl {
     url = "https://github.com/gotson/${pname}/releases/download/${version}/${pname}-${version}.jar";
-    sha256 = "sha256-fgboHXS5lBvhnAfKUbCmKVjvRp+WF7kuU/VTEgky3VI=";
+    sha256 = "sha256-t/nwqEVrsBeELJLLtizDI737VnODRsuPfQlnDUBfoKc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
index c82e919e7dc2..8f6ccf2fb66d 100644
--- a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, autoconf, automake, sqlite, pkg-config, dovecot, libtool, xapian, icu64 }:
 stdenv.mkDerivation rec {
   pname = "dovecot-fts-xapian";
-  version = "1.5.7";
+  version = "1.5.8";
 
   src = fetchFromGitHub {
     owner = "grosjo";
     repo = "fts-xapian";
     rev = version;
-    sha256 = "sha256-Kxc5mmnp4HBuaPeQUwDLYj3ga7PeF0WJFJFRwhNBZA4=";
+    sha256 = "sha256-K4ZtiKvTlFtqNQ+geFQnssaNIYp5pDmWYwdTQvwb8wc=";
   };
 
   buildInputs = [ dovecot xapian icu64 sqlite ];
diff --git a/pkgs/servers/mail/mailpit/default.nix b/pkgs/servers/mail/mailpit/default.nix
index 5f88dd97528d..55be7d208822 100644
--- a/pkgs/servers/mail/mailpit/default.nix
+++ b/pkgs/servers/mail/mailpit/default.nix
@@ -12,13 +12,13 @@
 }:
 
 let
-  version = "1.12.1";
+  version = "1.13.1";
 
   src = fetchFromGitHub {
     owner = "axllent";
     repo = "mailpit";
     rev = "v${version}";
-    hash = "sha256-Ez34JC8QhOCVS7itZAOtYcspbM9MjtZa+1BP2FEIt8U=";
+    hash = "sha256-50amJ4pFNVcV7WT303ObPJiCx6tNYWNks3oFnexHRoA=";
   };
 
   # Separate derivation, because if we mix this in buildGoModule, the separate
@@ -30,7 +30,7 @@ let
 
     npmDeps = fetchNpmDeps {
       inherit src;
-      hash = "sha256-TjlkWozbZlDOsCOdZnOM6axkBYi5G2BCOlvSY4dZg4c=";
+      hash = "sha256-KleFztYmbgIPg/3acXJTg1J5uyWsVZUQ0caK+hT1uxQ=";
     };
 
     env = lib.optionalAttrs (stdenv.isDarwin && stdenv.isx86_64) {
@@ -56,7 +56,7 @@ buildGoModule {
   pname = "mailpit";
   inherit src version;
 
-  vendorHash = "sha256-mJWSCqgIPChMR1iFS2rXXOCG+lF1HekmmAjwPPa140g=";
+  vendorHash = "sha256-iNNs9vLvOKqVpLKt65wVmffgq1l/9KOtnbRPg+2kbsM=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index 77a184ad0712..6cf520a1a54c 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -27,13 +27,13 @@ assert withHyperscan -> stdenv.isx86_64;
 
 stdenv.mkDerivation rec {
   pname = "rspamd";
-  version = "3.8.0";
+  version = "3.8.1";
 
   src = fetchFromGitHub {
     owner = "rspamd";
     repo = "rspamd";
     rev = version;
-    hash = "sha256-7OL0VZKOhIqJb31/VEUgcYDCLifMs1Rfh3SZUKeFAqk=";
+    hash = "sha256-XbsebaplhLWPXpdwZyMbxsRyuvaBHtO2WtMoFzN7yXA=";
   };
 
   hardeningEnable = [ "pie" ];
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix
index 25b6fc41a07b..dcd2a6dcae35 100644
--- a/pkgs/servers/mastodon/default.nix
+++ b/pkgs/servers/mastodon/default.nix
@@ -22,18 +22,6 @@ stdenv.mkDerivation rec {
     name = "${pname}-gems-${version}";
     inherit version gemset ruby;
     gemdir = src;
-    # This fix (copied from https://github.com/NixOS/nixpkgs/pull/76765) replaces the gem
-    # symlinks with directories, resolving this error when running rake:
-    #   /nix/store/451rhxkggw53h7253izpbq55nrhs7iv0-mastodon-gems-3.0.1/lib/ruby/gems/2.6.0/gems/bundler-1.17.3/lib/bundler/settings.rb:6:in `<module:Bundler>': uninitialized constant Bundler::Settings (NameError)
-    postBuild = ''
-      for gem in "$out"/lib/ruby/gems/*/gems/*; do
-        cp -a "$gem/" "$gem.new"
-        rm "$gem"
-        # needed on macOS, otherwise the mv yields permission denied
-        chmod +w "$gem.new"
-        mv "$gem.new" "$gem"
-      done
-    '';
   };
 
   mastodonModules = stdenv.mkDerivation {
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
index 6ccec387514c..06c07c09df5b 100644
--- a/pkgs/servers/mastodon/source.nix
+++ b/pkgs/servers/mastodon/source.nix
@@ -1,7 +1,7 @@
 # This file was generated by pkgs.mastodon.updateScript.
 { fetchFromGitHub, applyPatches, patches ? [] }:
 let
-  version = "4.2.4";
+  version = "4.2.5";
 in
 (
   applyPatches {
@@ -9,7 +9,7 @@ in
       owner = "mastodon";
       repo = "mastodon";
       rev = "v${version}";
-      hash = "sha256-YPGOe9wywRls26PqEbqFeQRg7rcnRBO2NyiNW1fssts=";
+      hash = "sha256-dgC5V/CVE9F1ORTjPWUWc/JVcWCEj/pb4eWpDV0WliY=";
     };
     patches = patches ++ [];
   }) // {
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 9f542ac98e76..b1ad448f0971 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -17,20 +17,20 @@ let
 in
 python3.pkgs.buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.99.0";
+  version = "1.100.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "element-hq";
     repo = "synapse";
     rev = "v${version}";
-    hash = "sha256-NS0in7zUkIS+fI5gQEua9y1UXspEHWNCntyZHZCtfPg=";
+    hash = "sha256-6YK/VV0ELvMJoA5ipmoB4S13HqA0UEOnQ6JbQdlkYWU=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-FQhHpbp8Rkkqp6Ngly/HP8iWGlWh5CDaztgAwKB/afI=";
+    hash = "sha256-oXIraayA6Dd8aYirRhM9Av8x7bj+WZI6o7dEr9OCtdk=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index ce71d96a3924..0f1ef64fe85e 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -21,16 +21,16 @@ let
 in
 buildGoModule rec {
   pname = "minio";
-  version = "2024-01-18T22-51-28Z";
+  version = "2024-01-28T22-35-53Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-O0MvwX8fD6QKaFTSfat9eVV+gY9ZaWIvxOpevwZaODw=";
+    sha256 = "sha256-FI+YVpl8BeY2GbMrjUCLkXARLqeU3qwqbnFU6iZPRG8=";
   };
 
-  vendorHash = "sha256-zB5yaWY0MhksqhrJfmfkpwlZio0p291t9ETESgADBjg=";
+  vendorHash = "sha256-v6Mn0f8xNsaV1ixnuVs9cPi5FghAGKjX5nWiBZLhBUU=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/misc/gobgpd/default.nix b/pkgs/servers/misc/gobgpd/default.nix
index 60360d26667a..a7b4b05b57cc 100644
--- a/pkgs/servers/misc/gobgpd/default.nix
+++ b/pkgs/servers/misc/gobgpd/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "gobgpd";
-  version = "3.22.0";
+  version = "3.23.0";
 
   src = fetchFromGitHub {
     owner = "osrg";
     repo = "gobgp";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ItzoknejTtVjm0FD+UdpCa+cL0i2uvcffTNIWCjBdVU=";
+    hash = "sha256-PUwYcwWgaV/DQl565fugppc+I/y7z7Ns3P4SspS88ts=";
   };
 
   vendorHash = "sha256-5eB3vFOo3LCsjMnWYFH0yq5+IunwKXp5C34x6NvpFZ8=";
diff --git a/pkgs/servers/misc/navidrome/default.nix b/pkgs/servers/misc/navidrome/default.nix
index 8c18b6769a13..09358c12e49c 100644
--- a/pkgs/servers/misc/navidrome/default.nix
+++ b/pkgs/servers/misc/navidrome/default.nix
@@ -18,23 +18,23 @@
 
 buildGoModule rec {
   pname = "navidrome";
-  version = "0.50.2";
+  version = "0.51.0";
 
   src = fetchFromGitHub {
     owner = "navidrome";
     repo = "navidrome";
     rev = "v${version}";
-    hash = "sha256-SZ9wVOHtmkrWfYGA0hNCXag2Yp17glOQpBsEQRK6Npg=";
+    hash = "sha256-AsDVU1J/lPjTY6R7khzorbBCWuL9FX6aZnMD2snBSys=";
   };
 
-  vendorHash = "sha256-PKj2zJhGR1yETLZ4as35cuwil3vfyFKfkKF/32YdAt8=";
+  vendorHash = "sha256-Q95OchWkxd/EmG7Vu0e/dge9nOIrGmcTgjGL5dBvEKA=";
 
   npmRoot = "ui";
 
   npmDeps = fetchNpmDeps {
     inherit src;
     sourceRoot = "${src.name}/ui";
-    hash = "sha256-7wMMBJE3zSm+eCIaLBjt+Q0OWh3u0XpS0XHnaH17Xsc=";
+    hash = "sha256-LrLswdt6RA55FQE/YWHNwtjxljjlCNSTLWJNqy1ohKo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix
index 571142c886bd..6ddaf2ba07a2 100644
--- a/pkgs/servers/monitoring/grafana-agent/default.nix
+++ b/pkgs/servers/monitoring/grafana-agent/default.nix
@@ -14,16 +14,16 @@
 
 buildGoModule rec {
   pname = "grafana-agent";
-  version = "0.39.1";
+  version = "0.39.2";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "agent";
     rev = "v${version}";
-    hash = "sha256-GUsLscLbDnHBO+BWiuo/qCxrV+mW5XUlLpqj8iWUxzo=";
+    hash = "sha256-KwXkCTKnoXHL2RFpJjjwtIolEpqCM6te5wMk9xQNOqE=";
   };
 
-  vendorHash = "sha256-lC6ESGT0dheATVDjJZxDP8YU4RtJMEfTJSyETDtGzTc=";
+  vendorHash = "sha256-aSHO5SoMem14Fc6DirqtYBVWJQtf5mzCT3T33mMyhkc=";
   proxyVendor = true; # darwin/linux hash mismatch
 
   frontendYarnOfflineCache = fetchYarnDeps {
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 9dc861c75866..fcb3c1f2ed3b 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,8 +1,38 @@
-{ lib, buildGoModule, fetchurl, fetchFromGitHub, nixosTests, tzdata, wire }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub, removeReferencesTo
+, tzdata, wire
+, yarn, nodejs, python3, cacert
+, jq, moreutils
+, nix-update-script, nixosTests
+}:
+
+let
+  # We need dev dependencies to run webpack, but patch away
+  # `cypress` (and @grafana/e2e which has a direct dependency on cypress).
+  # This attempts to download random blobs from the Internet in
+  # postInstall. Also, it's just a testing framework, so not worth the hassle.
+  patchAwayGrafanaE2E = ''
+    find . -name package.json | while IFS=$'\n' read -r pkg_json; do
+      <"$pkg_json" jq '. + {
+        "devDependencies": .devDependencies | del(."@grafana/e2e") | del(.cypress)
+      }' | sponge "$pkg_json"
+    done
+    rm -r packages/grafana-e2e
+  '';
 
+  # Injects a `t.Skip()` into a given test since
+  # there's apparently no other way to skip tests here.
+  skipTest = lineOffset: testCase: file:
+    let
+      jumpAndAppend = lib.concatStringsSep ";" (lib.replicate (lineOffset - 1) "n" ++ [ "a" ]);
+    in ''
+      sed -i -e '/${testCase}/{
+      ${jumpAndAppend} t.Skip();
+      }' ${file}
+    '';
+in
 buildGoModule rec {
   pname = "grafana";
-  version = "10.2.3";
+  version = "10.3.1";
 
   excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" "modowners" ];
 
@@ -10,28 +40,47 @@ buildGoModule rec {
     owner = "grafana";
     repo = "grafana";
     rev = "v${version}";
-    hash = "sha256-F61RtPEjQ4uFVcJLG04CD4//w8X7uJinxzYyoW/MosA=";
+    hash = "sha256-UPIq7BWTlT0omt/SM5+vkfOHvsdcx/ikkjcW9X8pcw0=";
   };
 
-  srcStatic = fetchurl {
-    url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    hash = "sha256-xoZgaml1SB9PEI3kTE3zRlJR5O4tog58bua2blvc8to=";
+  offlineCache = stdenv.mkDerivation {
+    name = "${pname}-${version}-yarn-offline-cache";
+    inherit src;
+    nativeBuildInputs = [
+      yarn nodejs cacert
+      jq moreutils
+    ];
+    postPatch = ''
+      ${patchAwayGrafanaE2E}
+    '';
+    buildPhase = ''
+      runHook preBuild
+      export HOME="$(mktemp -d)"
+      yarn config set enableTelemetry 0
+      yarn config set cacheFolder $out
+      yarn config set --json supportedArchitectures.os '[ "linux" ]'
+      yarn config set --json supportedArchitectures.cpu '["arm", "arm64", "ia32", "x64"]'
+      yarn
+      runHook postBuild
+    '';
+    dontConfigure = true;
+    dontInstall = true;
+    dontFixup = true;
+    outputHashMode = "recursive";
+    outputHash = "sha256-70eMa8E483f/Bz7iy+4Seap1EfIdjD5krnt6W9CUows=";
   };
 
-  vendorHash = "sha256-rQOnuh6t+cUqyAAnUhGgxMaW88pawnauAGQd6w0T57Q=";
+  disallowedRequisites = [ offlineCache ];
+
+  vendorHash = "sha256-Gf2A22d7/8xU/ld7kveqGonVKGFCArGNansPRGhfyXM=";
+
+  nativeBuildInputs = [ wire yarn jq moreutils removeReferencesTo python3 ];
 
-  nativeBuildInputs = [ wire ];
+  postPatch = ''
+    ${patchAwayGrafanaE2E}
+  '';
 
-  postConfigure = let
-    skipTest = lineOffset: testCase: file:
-      let
-        jumpAndAppend = lib.concatStringsSep ";" (lib.replicate (lineOffset - 1) "n" ++ [ "a" ]);
-      in ''
-        sed -i -e '/${testCase}/{
-        ${jumpAndAppend} t.Skip();
-        }' ${file}
-      '';
-  in ''
+  postConfigure = ''
     # Generate DI code that's required to compile the package.
     # From https://github.com/grafana/grafana/blob/v8.2.3/Makefile#L33-L35
     wire gen -tags oss ./pkg/server
@@ -69,6 +118,29 @@ buildGoModule rec {
     # grafana> 2023/08/24 08:30:23 failed to copy objects, err: Post "https://storage.googleapis.com/upload/storage/v1/b/grafana-testing-repo/o?alt=json&name=test-path%2Fbuild%2FTestCopyLocalDir2194093976%2F001%2Ffile2.txt&prettyPrint=false&projection=full&uploadType=multipart": dial tcp: lookup storage.googleapis.com on [::1]:53: read udp [::1]:36436->[::1]:53: read: connection refused
     # grafana> panic: test timed out after 10m0s
     rm pkg/build/gcloud/storage/gsutil_test.go
+
+    # Setup node_modules
+    export HOME="$(mktemp -d)"
+
+    # Help node-gyp find Node.js headers
+    # (see https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/javascript.section.md#pitfalls-javascript-yarn2nix-pitfalls)
+    mkdir -p $HOME/.node-gyp/${nodejs.version}
+    echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion
+    ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version}
+    export npm_config_nodedir=${nodejs}
+
+    yarn config set enableTelemetry 0
+    yarn config set cacheFolder $offlineCache
+    yarn --immutable-cache
+
+    # The build OOMs on memory constrained aarch64 without this
+    export NODE_OPTIONS=--max_old_space_size=4096
+  '';
+
+  postBuild = ''
+    # After having built all the Go code, run the JS builders now.
+    yarn run build
+    yarn run plugins:build-bundled
   '';
 
   ldflags = [
@@ -86,16 +158,19 @@ buildGoModule rec {
   '';
 
   postInstall = ''
-    tar -xvf $srcStatic
     mkdir -p $out/share/grafana
-    mv grafana-*/{public,conf,tools} $out/share/grafana/
+    cp -r public conf $out/share/grafana/
+  '';
 
-    cp ./conf/defaults.ini $out/share/grafana/conf/
+  postFixup = ''
+    while read line; do
+      remove-references-to -t $offlineCache "$line"
+    done < <(find $out -type f -name '*.js.map' -or -name '*.js')
   '';
 
   passthru = {
     tests = { inherit (nixosTests) grafana; };
-    updateScript = ./update.sh;
+    updateScript = nix-update-script { };
   };
 
   meta = with lib; {
diff --git a/pkgs/servers/monitoring/grafana/update.sh b/pkgs/servers/monitoring/grafana/update.sh
deleted file mode 100755
index 3fd4fd56be7c..000000000000
--- a/pkgs/servers/monitoring/grafana/update.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl common-updater-scripts jq nix nix-prefetch-scripts moreutils
-
-set -euxo pipefail
-
-FILE="$(nix-instantiate --eval -E 'with import ./. {}; (builtins.unsafeGetAttrPos "version" grafana).file' | tr -d '"')"
-replaceHash() {
-  old="${1?old hash missing}"
-  new="${2?new hash missing}"
-  awk -v OLD="$old" -v NEW="$new" '{
-    if (i=index($0, OLD)) {
-      $0 = substr($0, 1, i-1) NEW substr($0, i+length(OLD));
-    }
-    print $0;
-  }' "$FILE" | sponge "$FILE"
-}
-extractVendorHash() {
-  original="${1?original hash missing}"
-  result="$(nix-build -A grafana.goModules 2>&1 | tail -n3 | grep 'got:' | cut -d: -f2- | xargs echo || true)"
-  [ -z "$result" ] && { echo "$original"; } || { echo "$result"; }
-}
-
-oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion grafana" | tr -d '"')"
-latest="$(curl https://api.github.com/repos/grafana/grafana/releases/latest | jq '.tag_name' -r | tr -d 'v')"
-
-targetVersion="${1:-$latest}"
-if [ ! "${oldVersion}" = "${targetVersion}" ]; then
-  update-source-version grafana "${targetVersion#v}"
-  oldStaticHash="$(nix-instantiate --eval -A grafana.srcStatic.outputHash | tr -d '"')"
-  newStaticHash="$(nix-prefetch-url "https://dl.grafana.com/oss/release/grafana-${targetVersion#v}.linux-amd64.tar.gz")"
-  newStaticHash="$(nix hash to-sri --type sha256 $newStaticHash)"
-  replaceHash "$oldStaticHash" "$newStaticHash"
-  goHash="$(nix-instantiate --eval -A grafana.vendorHash | tr -d '"')"
-  emptyHash="$(nix-instantiate --eval -A lib.fakeHash | tr -d '"')"
-  replaceHash "$goHash" "$emptyHash"
-  replaceHash "$emptyHash" "$(extractVendorHash "$goHash")"
-  nix-build -A grafana
-else
-  echo "grafana is already up-to-date"
-fi
diff --git a/pkgs/servers/monitoring/icinga2/default.nix b/pkgs/servers/monitoring/icinga2/default.nix
index b1b00a32b4d6..165e6e186808 100644
--- a/pkgs/servers/monitoring/icinga2/default.nix
+++ b/pkgs/servers/monitoring/icinga2/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "icinga2${nameSuffix}";
-  version = "2.14.0";
+  version = "2.14.2";
 
   src = fetchFromGitHub {
     owner = "icinga";
     repo = "icinga2";
     rev = "v${version}";
-    sha256 = "sha256-MrNfkbbmID27Ht2sDSklrPvRvCmewOuOOBIFnHJz1zE=";
+    sha256 = "sha256-vUtLGkTLGObx3zbfRTboNVsl9AmpAkHc+IhWhnKupSM=";
   };
 
   patches = [
diff --git a/pkgs/servers/monitoring/prometheus/domain-exporter.nix b/pkgs/servers/monitoring/prometheus/domain-exporter.nix
index e1b3200e4f0d..5f5ce702cebc 100644
--- a/pkgs/servers/monitoring/prometheus/domain-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/domain-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "domain-exporter";
-  version = "1.22.0";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "caarlos0";
     repo = "domain_exporter";
     rev = "v${version}";
-    hash = "sha256-tdAU4BY2jT3l/VMIthrJOPhPYi9UMYD7ZUVhwbO1oUA=";
+    hash = "sha256-5GyDQkd8zXZ9TtauWfW9uW8xkgtEICFm6f4Q/jVqOBc=";
   };
 
-  vendorHash = "sha256-6C1LfWF4tjCGW3iiEhD+qBJ+CjAv4A9KYKH/owTAYJ8=";
+  vendorHash = "sha256-EPpzrig40WXt5mo/vPTFjh+gYdFOlMknjNJHNChlQwk=";
 
   doCheck = false; # needs internet connection
 
diff --git a/pkgs/servers/monitoring/prometheus/exportarr/default.nix b/pkgs/servers/monitoring/prometheus/exportarr/default.nix
index 27e5da34efcf..1d56a749f33a 100644
--- a/pkgs/servers/monitoring/prometheus/exportarr/default.nix
+++ b/pkgs/servers/monitoring/prometheus/exportarr/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "exportarr";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "onedr0p";
     repo = "exportarr";
     rev = "v${version}";
-    hash = "sha256-jmvVhNaE0cVLHTLH6qKIi4ETr7Q8CTEhXPwzjWyfx5k=";
+    hash = "sha256-i5ia9GX/0wvLnIwSxZ50y3fTFHwkUzj00+NoEceXp84=";
   };
 
-  vendorHash = "sha256-AYuyOAU7T9YluX77zPu4o377L4wCQzVUrQunt0UIZlU=";
+  vendorHash = "sha256-2gzHX7XHzgvZXWm7mfakxnsRfpEysQwnZ0mJocLyyoA=";
 
   subPackages = [ "cmd/exportarr" ];
 
diff --git a/pkgs/servers/monitoring/prometheus/knot-exporter.nix b/pkgs/servers/monitoring/prometheus/knot-exporter.nix
index 9e6dafb029dc..d51d9bd3f79c 100644
--- a/pkgs/servers/monitoring/prometheus/knot-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/knot-exporter.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "knot-exporter";
-  version = "3.3.3";
+  version = "3.3.4";
   pyproject = true;
 
   src = fetchPypi {
     pname = "knot_exporter";
     inherit version;
-    hash = "sha256-A7WRwWwcfgrkR5ixEaDCcCdJ1J8/zeG5aFCBnFbD3Qo=";
+    hash = "sha256-jZNNJiJxq3pNSZFwu2UEHhrA0odIDY0UO+d4PJII1ZI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix b/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix
deleted file mode 100644
index 635ca0936b77..000000000000
--- a/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "openvpn_exporter-unstable";
-  version = "0.3.0";
-
-  src = fetchFromGitHub {
-    owner = "kumina";
-    repo = "openvpn_exporter";
-    rev = "v${version}";
-    hash = "sha256-tIB4yujZj36APGAe4doKF4YlEUnieeC8bTV+FFKxpJI=";
-  };
-
-  vendorHash = "sha256-urxzQU0bBS49mBg2jm6jHNZA3MTS3DlQY7D5Fa0F/Mk=";
-
-  meta = with lib; {
-    inherit (src.meta) homepage;
-    description = "Prometheus exporter for OpenVPN";
-    broken = true;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/servers/monitoring/prometheus/sql-exporter.nix b/pkgs/servers/monitoring/prometheus/sql-exporter.nix
index cc87fd0d7633..b88534cb5ac7 100644
--- a/pkgs/servers/monitoring/prometheus/sql-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/sql-exporter.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "sql_exporter";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "justwatchcom";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-TkTxmumL7T8stNPWkVrMdB23jjMyQcv2x9F+rK6Vj6E=";
+    sha256 = "sha256-Cp8+vVGyAwYcrBiEN1SmUnHqWFGtuypvzfDROJgOn28=";
   };
 
   vendorHash = null;
diff --git a/pkgs/servers/monitoring/prometheus/unbound-exporter.nix b/pkgs/servers/monitoring/prometheus/unbound-exporter.nix
index a7575e809b3a..e683ca72b9e5 100644
--- a/pkgs/servers/monitoring/prometheus/unbound-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/unbound-exporter.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  version = "0.4.4";
+  version = "0.4.5";
 in
 buildGoModule {
   pname = "unbound_exporter";
@@ -15,10 +15,10 @@ buildGoModule {
     owner = "letsencrypt";
     repo = "unbound_exporter";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0eo56z5b+hzKCY5OKg/9F7rjLyoSKPJoHLoXeMjCuFU=";
+    hash = "sha256-p2VSIQXTnNGgqUSvWQ4J3SbrnWGBO21ps4VCWOjioLM=";
   };
 
-  vendorHash = "sha256-4aWuf9UTPQseEwDJfWIcQW4uGMffRnWlHhiu0yMz4vk=";
+  vendorHash = "sha256-q3JqAGeEU5WZWTzdFE9hR2dAnsFjMM44JiYdodZrnhs=";
 
   passthru.tests = {
     inherit (nixosTests.prometheus-exporters) unbound;
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index 2a288e71ec87..b7c8cb2fcb9e 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -8,7 +8,7 @@
 
 buildGoModule rec {
   pname = "telegraf";
-  version = "1.29.2";
+  version = "1.29.4";
 
   subPackages = [ "cmd/telegraf" ];
 
@@ -16,10 +16,10 @@ buildGoModule rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "v${version}";
-    hash = "sha256-Z2+G4H1O4e77V9jfW+REK4PGdJgoPz+JgLxX/WqBoaY=";
+    hash = "sha256-XhGP5q0LbXaTgClZvRFV1Zjpi1mizoyFrzI7vobVaUo=";
   };
 
-  vendorHash = "sha256-mPw3KfQy9DRqv8E6zzYAbeUaLaNfiNPU77ic+JqqBuM=";
+  vendorHash = "sha256-DdE2r0M9/6aaq5c3m0AT82TNyIP2vBsaFCRP2um0hao=";
   proxyVendor = true;
 
   ldflags = [
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 6538c3f2cb62..63f7162fc5d6 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -36,7 +36,7 @@ let
       homepage = "https://nextcloud.com";
       maintainers = with maintainers; [ schneefux bachp globin ma27 ];
       license = licenses.agpl3Plus;
-      platforms = with platforms; unix;
+      platforms = platforms.linux;
       knownVulnerabilities = extraVulnerabilities
         ++ (optional eol "Nextcloud version ${version} is EOL");
     };
@@ -55,8 +55,8 @@ in {
   };
 
   nextcloud28 = generic {
-    version = "28.0.1";
-    hash = "sha256-L4BzW0Qwgicv5qO14yE3lX8fxEjHU0K5S1IAspcl86Q=";
+    version = "28.0.2";
+    hash = "sha256-3jTWuvPszqz90TjoVSDNheHSzmeY2f+keKwX6x76HQg=";
     packages = nextcloud28Packages;
   };
 
diff --git a/pkgs/servers/nextcloud/notify_push.nix b/pkgs/servers/nextcloud/notify_push.nix
index 9dee1ebe9565..c72cca0f4c23 100644
--- a/pkgs/servers/nextcloud/notify_push.nix
+++ b/pkgs/servers/nextcloud/notify_push.nix
@@ -36,9 +36,11 @@ rustPlatform.buildRustPackage rec {
   };
 
   meta = with lib; {
+    changelog = "https://github.com/nextcloud/notify_push/releases/tag/v${version}";
     description = "Update notifications for nextcloud clients";
     homepage = "https://github.com/nextcloud/notify_push";
     license = licenses.agpl3Plus;
+    platforms = platforms.linux;
     maintainers = teams.helsinki-systems.members;
   };
 }
diff --git a/pkgs/servers/nosql/aerospike/default.nix b/pkgs/servers/nosql/aerospike/default.nix
index 9c0d034d7b3a..301cb7de1aac 100644
--- a/pkgs/servers/nosql/aerospike/default.nix
+++ b/pkgs/servers/nosql/aerospike/default.nix
@@ -1,32 +1,30 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, openssl, zlib }:
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, cmake, libtool, openssl, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "aerospike-server";
-  version = "4.2.0.4";
+  version = "7.0.0.3";
 
   src = fetchFromGitHub {
     owner = "aerospike";
     repo = "aerospike-server";
     rev = version;
-    sha256 = "1vqi3xir4l57v62q1ns3713vajxffs6crss8fpvbcs57p7ygx3s7";
+    hash = "sha256-qyVfoOnWIUY1np58HtpVrKNsgiXlvdgffyMGjk+G5qI=";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ autoconf automake libtool ];
+  nativeBuildInputs = [ autoconf automake cmake libtool ];
   buildInputs = [ openssl zlib ];
 
+  dontUseCmakeConfigure = true;
+
   preBuild = ''
     patchShebangs build/gen_version
     substituteInPlace build/gen_version --replace 'git describe' 'echo ${version}'
-
-    # drop blanket -Werror
-    substituteInPlace make_in/Makefile.in --replace '-Werror' ""
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/share/udf
-    cp      target/Linux-x86_64/bin/asd $out/bin/asd
-    cp -dpR modules/lua-core/src        $out/share/udf/lua
+    mkdir -p $out/bin
+    cp target/Linux-x86_64/bin/asd $out/bin/asd
   '';
 
   meta = with lib; {
@@ -35,6 +33,5 @@ stdenv.mkDerivation rec {
     license = licenses.agpl3;
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ kalbasit ];
-    knownVulnerabilities = [ "CVE-2020-13151" ];
   };
 }
diff --git a/pkgs/servers/nosql/ferretdb/default.nix b/pkgs/servers/nosql/ferretdb/default.nix
index 29a984ad4fde..69ee8650697f 100644
--- a/pkgs/servers/nosql/ferretdb/default.nix
+++ b/pkgs/servers/nosql/ferretdb/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "ferretdb";
-  version = "1.18.0";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = "FerretDB";
     repo = "FerretDB";
     rev = "v${version}";
-    hash = "sha256-NNfX0WY3AynH5CtvBMaPcurom7r7suxKwn+kVnlxM/A=";
+    hash = "sha256-G2eQ0CjvZYYTFnx1U+qUGiZLqY8Xx70p7J1lkzbxmF8=";
   };
 
   postPatch = ''
@@ -20,7 +20,7 @@ buildGoModule rec {
     echo nixpkgs     > build/version/package.txt
   '';
 
-  vendorHash = "sha256-4AUTKZ4eJZkaSKq5norUDeGhIRygLSIuXxhs3z3uGxs=";
+  vendorHash = "sha256-27WwvhX4QHmhBbg8/OFA7MKo34jwngkDQ/ahqV3N4qY=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/servers/osmocom/osmo-bsc/default.nix b/pkgs/servers/osmocom/osmo-bsc/default.nix
index 6d71b9ba8869..1f9a6cabbf18 100644
--- a/pkgs/servers/osmocom/osmo-bsc/default.nix
+++ b/pkgs/servers/osmocom/osmo-bsc/default.nix
@@ -16,13 +16,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "osmo-bsc";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "osmo-bsc";
     rev = version;
-    hash = "sha256-9WXK2vw+SvAAaBzhpeB+sBux9cGWyPtJVczRfk4rI6E=";
+    hash = "sha256-pMdQcIFWiawXYnmHSjTk+3YcZNMrv3qmgWr4gkTknJA=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/osmocom/osmo-bts/default.nix b/pkgs/servers/osmocom/osmo-bts/default.nix
index 6ba3e2f8f0ca..42a214f7ce45 100644
--- a/pkgs/servers/osmocom/osmo-bts/default.nix
+++ b/pkgs/servers/osmocom/osmo-bts/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osmo-bts";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "osmo-bts";
     rev = version;
-    hash = "sha256-Y972aa98bNU3IhuGMV80nh4ZjQKUdK6of1Q8H75Ips8=";
+    hash = "sha256-dje+B1jobsVdQZYyIkLTZzez4HQirCcjyosTQCo/v64=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/osmocom/osmo-iuh/default.nix b/pkgs/servers/osmocom/osmo-iuh/default.nix
index 9047c7439724..56a94efbb02c 100644
--- a/pkgs/servers/osmocom/osmo-iuh/default.nix
+++ b/pkgs/servers/osmocom/osmo-iuh/default.nix
@@ -17,13 +17,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "osmo-iuh";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "osmo-iuh";
     rev = version;
-    hash = "sha256-rAU2+NxD+j2jntZ7dHvakv2aTsfzAg0+SFDHtSJNpn8=";
+    hash = "sha256-1G5N74N3BH+XP4hr+w0a1wc2DaE/GXpSu3JiPo8UBhI=";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/osmocom/osmo-mgw/default.nix b/pkgs/servers/osmocom/osmo-mgw/default.nix
index d08dfe52f942..fb94451aaadd 100644
--- a/pkgs/servers/osmocom/osmo-mgw/default.nix
+++ b/pkgs/servers/osmocom/osmo-mgw/default.nix
@@ -14,13 +14,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "osmo-mgw";
-  version = "1.12.0";
+  version = "1.12.2";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "osmo-mgw";
     rev = version;
-    hash = "sha256-vsOaWlO6y6qV1XcH/jNjvFzApIHqNrPDzZtDoTIMA5k=";
+    hash = "sha256-RE16qzL8CXjGzoDniB8gBF0fsIaWzDuIvpdQ/5vUdug=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/osmocom/osmo-msc/default.nix b/pkgs/servers/osmocom/osmo-msc/default.nix
index b469207d0169..1a46a010fbf9 100644
--- a/pkgs/servers/osmocom/osmo-msc/default.nix
+++ b/pkgs/servers/osmocom/osmo-msc/default.nix
@@ -19,13 +19,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "osmo-msc";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "osmo-msc";
     rev = version;
-    hash = "sha256-e36k/uEajtQ3cnqn+xvPQPGWuA8ILIlkjOkd96IOvow=";
+    hash = "sha256-JsfZUkXCpyLucaj0NL+MRCr2sWSCbuZRsipi4O7kFRQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/osmocom/osmo-pcu/default.nix b/pkgs/servers/osmocom/osmo-pcu/default.nix
index becbf8a04916..7349e03d9722 100644
--- a/pkgs/servers/osmocom/osmo-pcu/default.nix
+++ b/pkgs/servers/osmocom/osmo-pcu/default.nix
@@ -13,13 +13,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "osmo-pcu";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "osmo-pcu";
     rev = version;
-    hash = "sha256-p5gBOHw/3NJ482EX5LcmaWkwz/ikcK7EEeio/puNTFo=";
+    hash = "sha256-rE5/wtzABEd6OVSRVrBvIJuo/CSfK19nf7tm+QQzljY=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/readarr/default.nix b/pkgs/servers/readarr/default.nix
index c7dacb2ced50..67f24ed9204b 100644
--- a/pkgs/servers/readarr/default.nix
+++ b/pkgs/servers/readarr/default.nix
@@ -8,13 +8,13 @@ let
     x86_64-darwin = "x64";
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
   hash = {
-    x64-linux_hash = "sha256-i5ZlLHTV44hia3Vkm8Ht0vEN5XWjd9KJ4xOVNxrNxVE=";
-    arm64-linux_hash = "sha256-sX2Dn5/PfWdxh2qPDm2UbkqBIVpk+mb5CfuBwdPwloU=";
-    x64-osx_hash = "sha256-pBw0MnzxQ+dmRKARKB/Flr4ILS37Y2TVgIkRkjZyITo=";
+    x64-linux_hash = "sha256-Li8q1JY9e7NkNUMly+hCLAHPibqIdVO9Eijcsc0YKEc=";
+    arm64-linux_hash = "sha256-kPZ5seqYzHjINzFzUbZm7L5Uh5saa+WDSwNpmcYnYX0=";
+    x64-osx_hash = "sha256-R2WZAAJs/XG8C0DTvSEZ2c9ao78FTS9B7lieOKkUWRs=";
   }."${arch}-${os}_hash";
 in stdenv.mkDerivation rec {
   pname = "readarr";
-  version = "0.3.14.2358";
+  version = "0.3.17.2409";
 
   src = fetchurl {
     url = "https://github.com/Readarr/Readarr/releases/download/v${version}/Readarr.develop.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/servers/redpanda/default.nix b/pkgs/servers/redpanda/default.nix
index 80d963cc9130..4a93a46c6a85 100644
--- a/pkgs/servers/redpanda/default.nix
+++ b/pkgs/servers/redpanda/default.nix
@@ -7,12 +7,12 @@
 , stdenv
 }:
 let
-  version = "23.3.2";
+  version = "23.3.4";
   src = fetchFromGitHub {
     owner = "redpanda-data";
     repo = "redpanda";
     rev = "v${version}";
-    sha256 = "sha256-TRcTiwAK0epmQkV0pwAV1S1jXr0VCq9lZQkANjSToko=";
+    sha256 = "sha256-Bcr+bMqurwpd7IFTBR73RcgekkiuQQ3JPjvrp03fpJ0=";
   };
   server = callPackage ./server.nix { inherit src version; };
 in
diff --git a/pkgs/servers/roadrunner/default.nix b/pkgs/servers/roadrunner/default.nix
index bf4d9abc280d..0f47c6ebeb3a 100644
--- a/pkgs/servers/roadrunner/default.nix
+++ b/pkgs/servers/roadrunner/default.nix
@@ -6,12 +6,12 @@
 
 buildGoModule rec {
   pname = "roadrunner";
-  version = "2023.3.9";
+  version = "2023.3.10";
   src = fetchFromGitHub {
     repo = "roadrunner";
     owner = "roadrunner-server";
     rev = "v${version}";
-    hash = "sha256-nDtlOVbdCmo8U9w4glCeKjkk5s/IuxrpCaLxZ8TN4j4=";
+    hash = "sha256-8wcZWnRi+wIg78VdGV/38Oldwjry7QXxmdacjYfe3sw=";
   };
 
   nativeBuildInputs = [
@@ -44,7 +44,7 @@ buildGoModule rec {
       --replace "127.0.0.1:0" "127.0.0.1:55554"
   '';
 
-  vendorHash = "sha256-0O1gTRyV0YFuddFN1tEDBAUlegXF8vwBp6Y4dodE3XE=";
+  vendorHash = "sha256-xAzZdElu0rzoWnEQbhMO7DhQx3P7241yMy/Gvk9jnCA=";
 
   meta = {
     changelog = "https://github.com/roadrunner-server/roadrunner/blob/v${version}/CHANGELOG.md";
diff --git a/pkgs/servers/rustdesk-server/Cargo.lock b/pkgs/servers/rustdesk-server/Cargo.lock
index f8d7c9ae27f9..f62e537c154c 100644
--- a/pkgs/servers/rustdesk-server/Cargo.lock
+++ b/pkgs/servers/rustdesk-server/Cargo.lock
@@ -779,7 +779,7 @@ dependencies = [
 
 [[package]]
 name = "hbbs"
-version = "1.1.9"
+version = "1.1.10-3"
 dependencies = [
  "async-speed-limit",
  "async-trait",
@@ -1111,9 +1111,9 @@ dependencies = [
 
 [[package]]
 name = "mac_address"
-version = "1.1.3"
+version = "1.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df1d1bc1084549d60725ccc53a2bfa07f67fe4689fda07b05a36531f2988104a"
+checksum = "4863ee94f19ed315bf3bc00299338d857d4b5bc856af375cc97d237382ad3856"
 dependencies = [
  "nix",
  "winapi",
diff --git a/pkgs/servers/rustdesk-server/default.nix b/pkgs/servers/rustdesk-server/default.nix
index 684017fdaef0..93a25b233883 100644
--- a/pkgs/servers/rustdesk-server/default.nix
+++ b/pkgs/servers/rustdesk-server/default.nix
@@ -13,13 +13,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rustdesk-server";
-  version = "1.1.9";
+  version = "1.1.10-3";
 
   src = fetchFromGitHub {
     owner = "rustdesk";
     repo = "rustdesk-server";
     rev = version;
-    hash = "sha256-bC1eraMSa9Lz5icvU7dPnEIeqE5TaW8HseBQMRmDCXQ=";
+    hash = "sha256-iXe5V99hvtdRi6t/2wUMQ/aSCWfscA1s48vrdO6H2Rw=";
   };
 
   cargoLock = {
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index 5601ae2f7d0f..a7035426fdf9 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -47,14 +47,14 @@ let
   ]);
   path = lib.makeBinPath [ coreutils par2cmdline-turbo unrar unzip p7zip util-linux ];
 in stdenv.mkDerivation rec {
-  version = "4.2.1";
+  version = "4.2.2";
   pname = "sabnzbd";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-M9DvwizNeCXkV07dkgiComdjoceUACCuccZb+y9RMdw=";
+    sha256 = "sha256-e5MjsBFUeQ1FMgMIuTDAmAUqf9BaM+ic2qpd1GVZEAw=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/seafile-server/default.nix b/pkgs/servers/seafile-server/default.nix
index e1c9d0b0858e..109484c467b4 100644
--- a/pkgs/servers/seafile-server/default.nix
+++ b/pkgs/servers/seafile-server/default.nix
@@ -1,6 +1,25 @@
-{ stdenv, lib, fetchFromGitHub, pkg-config, python3, autoreconfHook
-, libuuid, sqlite, glib, libevent, libsearpc, openssl, fuse, libarchive, which
-, vala, cmake, oniguruma, nixosTests }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, pkg-config
+, python3
+, autoreconfHook
+, libuuid
+, sqlite
+, glib
+, libevent
+, libsearpc
+, openssl
+, fuse
+, libarchive
+, libjwt
+, curl
+, which
+, vala
+, cmake
+, oniguruma
+, nixosTests
+}:
 
 let
   # seafile-server relies on a specific version of libevhtp.
@@ -8,15 +27,16 @@ let
   libevhtp = import ./libevhtp.nix {
     inherit stdenv lib fetchFromGitHub cmake libevent;
   };
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "seafile-server";
-  version = "9.0.10";
+  version = "10.0.1";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile-server";
-    rev = "079a8b65a543bfbc48e7671c3dbbffe19fd02944"; # using a fixed revision because upstream may re-tag releases :/
-    sha256 = "sha256-F1n4E6ajpri3CVM7B28UKoTV1oOLr5nTy6Lw0E5tCrc=";
+    rev = "db09baec1b88fc131bf4453a808ab63a3fc714c9"; # using a fixed revision because upstream may re-tag releases :/
+    sha256 = "sha256-a5vtJcbnaYzq6/3xmhbWk23BZ+Wil/Tb/q22ML4bDqs=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
@@ -31,6 +51,8 @@ in stdenv.mkDerivation rec {
     python3
     fuse
     libarchive
+    libjwt
+    curl
     which
     vala
     libevhtp
diff --git a/pkgs/servers/search/meilisearch/Cargo.lock b/pkgs/servers/search/meilisearch/Cargo.lock
index 72701288f8b3..acbeed1c710f 100644
--- a/pkgs/servers/search/meilisearch/Cargo.lock
+++ b/pkgs/servers/search/meilisearch/Cargo.lock
@@ -491,7 +491,7 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
 
 [[package]]
 name = "benchmarks"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "anyhow",
  "bytes",
@@ -1402,7 +1402,7 @@ dependencies = [
 
 [[package]]
 name = "dump"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "anyhow",
  "big_s",
@@ -1634,7 +1634,7 @@ dependencies = [
 
 [[package]]
 name = "file-store"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "faux",
  "tempfile",
@@ -1656,7 +1656,7 @@ dependencies = [
 
 [[package]]
 name = "filter-parser"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "insta",
  "nom",
@@ -1687,7 +1687,7 @@ dependencies = [
 
 [[package]]
 name = "flatten-serde-json"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "criterion",
  "serde_json",
@@ -1805,7 +1805,7 @@ dependencies = [
 
 [[package]]
 name = "fuzzers"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "arbitrary",
  "clap",
@@ -2763,7 +2763,7 @@ dependencies = [
 
 [[package]]
 name = "index-scheduler"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "anyhow",
  "big_s",
@@ -2960,7 +2960,7 @@ dependencies = [
 
 [[package]]
 name = "json-depth-checker"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "criterion",
  "serde_json",
@@ -3472,7 +3472,7 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
 
 [[package]]
 name = "meili-snap"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "insta",
  "md5",
@@ -3481,7 +3481,7 @@ dependencies = [
 
 [[package]]
 name = "meilisearch"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "actix-cors",
  "actix-http",
@@ -3572,7 +3572,7 @@ dependencies = [
 
 [[package]]
 name = "meilisearch-auth"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "base64 0.21.5",
  "enum-iterator",
@@ -3591,7 +3591,7 @@ dependencies = [
 
 [[package]]
 name = "meilisearch-types"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "actix-web",
  "anyhow",
@@ -3621,7 +3621,7 @@ dependencies = [
 
 [[package]]
 name = "meilitool"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "anyhow",
  "clap",
@@ -3669,7 +3669,7 @@ dependencies = [
 
 [[package]]
 name = "milli"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "arroy",
  "big_s",
@@ -4076,7 +4076,7 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "permissive-json-pointer"
-version = "1.6.0"
+version = "1.6.1"
 dependencies = [
  "big_s",
  "serde_json",
diff --git a/pkgs/servers/search/meilisearch/default.nix b/pkgs/servers/search/meilisearch/default.nix
index 262a5e9e63e0..45059659b97d 100644
--- a/pkgs/servers/search/meilisearch/default.nix
+++ b/pkgs/servers/search/meilisearch/default.nix
@@ -8,7 +8,7 @@
 , nix-update-script
 }:
 
-let version = "1.6.0";
+let version = "1.6.1";
 in
 rustPlatform.buildRustPackage {
   pname = "meilisearch";
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage {
     owner = "meilisearch";
     repo = "MeiliSearch";
     rev = "refs/tags/v${version}";
-    hash = "sha256-B1psJeGWG0E5oPu+OVAxkdJNblqaBzB/CurpLxdESB8=";
+    hash = "sha256-bA0UWRX16HTB/XCuzRa1C71DxfMJx1fZ/xVZFkxq1SM=";
   };
 
   cargoBuildFlags = [
diff --git a/pkgs/servers/search/qdrant/Cargo.lock b/pkgs/servers/search/qdrant/Cargo.lock
index bc8317de6157..bafcd96575f7 100644
--- a/pkgs/servers/search/qdrant/Cargo.lock
+++ b/pkgs/servers/search/qdrant/Cargo.lock
@@ -479,7 +479,7 @@ checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
 
 [[package]]
 name = "api"
-version = "1.7.3"
+version = "1.7.4"
 dependencies = [
  "chrono",
  "common",
@@ -3742,7 +3742,7 @@ dependencies = [
 
 [[package]]
 name = "qdrant"
-version = "1.7.3"
+version = "1.7.4"
 dependencies = [
  "actix-cors",
  "actix-files",
diff --git a/pkgs/servers/search/qdrant/default.nix b/pkgs/servers/search/qdrant/default.nix
index e7df375495a0..5e3c48053b56 100644
--- a/pkgs/servers/search/qdrant/default.nix
+++ b/pkgs/servers/search/qdrant/default.nix
@@ -13,13 +13,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "qdrant";
-  version = "1.7.3";
+  version = "1.7.4";
 
   src = fetchFromGitHub {
     owner = "qdrant";
     repo = "qdrant";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-5c8lQ1CTtYjzrIfHev5aq1FbfctKr5UXylZzzJtyo+o=";
+    sha256 = "sha256-BgsLmE50mGmB5fcUjov8wcAHRTKMYaoyoXjSUyIddlc=";
   };
 
   cargoLock = {
diff --git a/pkgs/servers/snac2/default.nix b/pkgs/servers/snac2/default.nix
index d0d8e3434722..0d3d17ad7c32 100644
--- a/pkgs/servers/snac2/default.nix
+++ b/pkgs/servers/snac2/default.nix
@@ -10,14 +10,14 @@
 
 stdenv.mkDerivation rec {
   pname = "snac2";
-  version = "2.45";
+  version = "2.46";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "grunfink";
     repo = pname;
     rev = version;
-    hash = "sha256-zSmzG/Ws7/6rXBNqAtKqnWcsPA9jy/TidXlklwGhArc=";
+    hash = "sha256-t2o1aNgVl5dKmwOO9W7mn2uIf/rrbag476y3H3ugCfc=";
   };
 
   buildInputs = [ curl openssl ];
diff --git a/pkgs/servers/sql/mariadb/galera/default.nix b/pkgs/servers/sql/mariadb/galera/default.nix
index 720bb050be25..f934d6a00822 100644
--- a/pkgs/servers/sql/mariadb/galera/default.nix
+++ b/pkgs/servers/sql/mariadb/galera/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mariadb-galera";
-  version = "26.4.16";
+  version = "26.4.17";
 
   src = fetchFromGitHub {
     owner = "codership";
     repo = "galera";
     rev = "release_${version}";
-    hash = "sha256-bRkXux4vpnUGRYO4dYD6IuWsbMglsMf17tBw6qpvbDg=";
+    hash = "sha256-XcaHg0mqCGqP7VYb4jLSxuNxmBXJv2ivA/1spMyT4Tg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/sql/materialize/Cargo.lock b/pkgs/servers/sql/materialize/Cargo.lock
index c39f36cadb7a..9af5a20f6450 100644
--- a/pkgs/servers/sql/materialize/Cargo.lock
+++ b/pkgs/servers/sql/materialize/Cargo.lock
@@ -30,16 +30,18 @@ dependencies = [
 
 [[package]]
 name = "adler"
-version = "0.2.3"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "ahash"
-version = "0.7.4"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98"
+checksum = "57e6e951cfbb2db8de1828d49073a113a29fd7117b1596caa781a258c7e38d72"
 dependencies = [
+ "cfg-if",
+ "const-random",
  "getrandom",
  "once_cell",
  "version_check",
@@ -47,70 +49,109 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.18"
+version = "0.7.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
-name = "ansi_term"
-version = "0.12.1"
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
 dependencies = [
- "winapi",
+ "libc",
 ]
 
 [[package]]
+name = "anes"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
+
+[[package]]
 name = "anyhow"
-version = "1.0.52"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84450d0b4a8bd1ba4144ce8ce718fbc5d071358b1e5384bace6536b3d1f2d5b3"
+checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6"
+dependencies = [
+ "backtrace",
+]
 
 [[package]]
-name = "arbitrary"
-version = "1.0.0"
+name = "array-concat"
+version = "0.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "698b65a961a9d730fb45b6b0327e20207810c9f61ee421b082b27ba003f49e2b"
+checksum = "e9180feb72ccbc07cfe5ef7fa8bbf86ca71490d5dc9ef8ea02c7298ba94e7f7d"
 
 [[package]]
-name = "arc-swap"
-version = "0.4.8"
+name = "array-init-cursor"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dabe5a181f83789739c194cbe5a897dde195078fac08568d09221fd6137a7ba8"
+checksum = "bf7d0a018de4f6aa429b9d33d69edf69072b1c5b1cb8d3e4a5f7ef898fc3eb76"
+
+[[package]]
+name = "arrayvec"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
 
 [[package]]
 name = "arrow-format"
-version = "0.3.0"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f7da2d9660bfaebbdb0a44a33b3bd1dcb5a952fafa02c0dfc6a51ea471fef2a"
+checksum = "bb83ada98f9d252a3c3642d96c53a357684a87d2e9a753ddf2a30bae20b91790"
 dependencies = [
- "flatbuffers",
+ "planus",
+ "serde",
 ]
 
 [[package]]
 name = "arrow2"
-version = "0.8.1"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3452b2ae9727464a31a726c07ffec0c0da3b87831610d9ac99fc691c78b3a44"
+checksum = "7a4c5b03335bc1cb0fd9f5297f8fd3bbfd6fb04f3cb0bc7d6c91b7128cb8336a"
 dependencies = [
+ "ahash",
  "arrow-format",
- "base64",
+ "base64 0.13.1",
+ "bytemuck",
  "chrono",
+ "dyn-clone",
+ "either",
+ "ethnum",
+ "fallible-streaming-iterator",
+ "foreign_vec",
  "futures",
+ "getrandom",
  "hash_hasher",
+ "multiversion",
  "num-traits",
  "parquet2",
+ "rustc_version",
  "simdutf8",
+ "streaming-iterator",
 ]
 
 [[package]]
 name = "askama"
-version = "0.11.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d8f355701c672c2ba3d718acbd213f740beea577cc4eae66accdffe15be1882"
+checksum = "fb98f10f371286b177db5eeb9a6e5396609555686a35e1d4f7b9a9c6d8af0139"
 dependencies = [
  "askama_derive",
  "askama_escape",
@@ -119,47 +160,46 @@ dependencies = [
 
 [[package]]
 name = "askama_derive"
-version = "0.11.0"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84704cab5b7ae0fd3a9f78ee5eb7b27f3749df445f04623db6633459ae283267"
+checksum = "87bf87e6e8b47264efa9bde63d6225c6276a52e05e91bf37eaa8afd0032d6b71"
 dependencies = [
  "askama_shared",
  "proc-macro2",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "askama_escape"
-version = "0.10.2"
+version = "0.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a1bb320f97e6edf9f756bf015900038e43c7700e059688e5724a928c8f3b8d5"
+checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341"
 
 [[package]]
 name = "askama_shared"
-version = "0.12.0"
+version = "0.12.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dae03eebba55a2697a376e58b573a29fe36893157173ac8df312ad85f3c0e012"
+checksum = "bf722b94118a07fcbc6640190f247334027685d4e218b794dbfe17c32bf38ed0"
 dependencies = [
  "askama_escape",
- "humansize",
+ "mime",
+ "mime_guess",
  "nom",
- "num-traits",
- "percent-encoding",
  "proc-macro2",
  "quote",
  "serde",
  "serde_json",
- "syn",
+ "syn 1.0.107",
  "toml",
 ]
 
 [[package]]
 name = "assert_cmd"
-version = "2.0.2"
+version = "2.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e996dc7940838b7ef1096b882e29ec30a3149a3a443cdc8dba19ed382eca1fe2"
+checksum = "d5c2ca00549910ec251e3bd15f87aeeb206c9456b9a77b43ff6c97c54042a472"
 dependencies = [
- "bstr",
+ "bstr 0.2.14",
  "doc-comment",
  "predicates",
  "predicates-core",
@@ -169,34 +209,24 @@ dependencies = [
 
 [[package]]
 name = "async-compression"
-version = "0.3.8"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443ccbb270374a2b1055fc72da40e1f237809cd6bb0e97e66d264cd138473a6"
+checksum = "bc2d0cfb2a7388d34f590e76686704c494ed7aaceed62ee1ba35cbf363abc2a5"
 dependencies = [
  "flate2",
  "futures-core",
  "memchr",
  "pin-project-lite",
  "tokio",
-]
-
-[[package]]
-name = "async-native-tls"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d57d4cec3c647232e1094dc013546c0b33ce785d8aeb251e1f20dfaf8a9a13fe"
-dependencies = [
- "futures-util",
- "native-tls",
- "thiserror",
- "url",
+ "zstd 0.13.0",
+ "zstd-safe 7.0.0",
 ]
 
 [[package]]
 name = "async-stream"
-version = "0.3.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "171374e7e3b2504e0e5236e3b59260560f9fe94bfe9ac39ba5e4e929c5590625"
+checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e"
 dependencies = [
  "async-stream-impl",
  "futures-core",
@@ -204,31 +234,31 @@ dependencies = [
 
 [[package]]
 name = "async-stream-impl"
-version = "0.3.2"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "648ed8c8d2ce5409ccd57453d9d1b214b342a0d69376a6feda1fd6cae3299308"
+checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "async-trait"
-version = "0.1.52"
+version = "0.1.68"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3"
+checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "asynchronous-codec"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb4401f0a3622dad2e0763fa79e0eb328bc70fb7dccfdd645341f00d671247d6"
+checksum = "f0de5164e5edbf51c45fb8c2d9664ae1c095cce1b265ecf7569093c0d66ef690"
 dependencies = [
  "bytes",
  "futures-sink",
@@ -243,254 +273,303 @@ version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
 dependencies = [
- "hermit-abi",
+ "hermit-abi 0.1.6",
  "libc",
  "winapi",
 ]
 
 [[package]]
-name = "autocfg"
-version = "1.0.1"
+name = "auto_impl"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
-
-[[package]]
-name = "avro-derive"
-version = "0.0.0"
+checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89"
 dependencies = [
+ "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
-name = "aws-arn"
-version = "0.2.0"
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "autotools"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30ccc2d8a965d90b82f1517caadd1d261e28bdb3ab78c3fb1c4a44d4686fffa4"
+checksum = "c8138adefca3e5d2e73bfba83bd6eeaf904b26a7ac1b4a19892cfe16cc7e1701"
 dependencies = [
- "lazy_static",
- "serde",
+ "cc",
 ]
 
 [[package]]
 name = "aws-config"
-version = "0.4.0"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cb6c465279db702be3388e9ee0d8cbc8cfb4b470ad1916981d1a0e2ff26f12d"
+checksum = "11382bd8ac4c6c182a9775990935f96c916a865f1414486595f18eb8cfa9d90b"
 dependencies = [
+ "aws-credential-types",
  "aws-http",
+ "aws-runtime",
+ "aws-sdk-sso",
+ "aws-sdk-ssooidc",
  "aws-sdk-sts",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
  "bytes",
+ "fastrand",
+ "hex",
  "http",
  "hyper",
+ "ring",
+ "time",
  "tokio",
- "tower",
  "tracing",
+ "zeroize",
 ]
 
 [[package]]
-name = "aws-endpoint"
-version = "0.4.0"
+name = "aws-credential-types"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72549a509836fa0dcdc2a4e291f5b3c732ebae1acf6564701e9cb779be43ed01"
+checksum = "70a1629320d319dc715c6189b172349186557e209d2a7b893ff3d14efd33a47c"
 dependencies = [
- "aws-smithy-http",
+ "aws-smithy-async",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
+ "zeroize",
+]
+
+[[package]]
+name = "aws-http"
+version = "0.60.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30e4199d5d62ab09be6a64650c06cc5c4aa45806fed4c74bc4a5c8eaf039a6fa"
+dependencies = [
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
  "aws-types",
+ "bytes",
  "http",
- "regex",
+ "http-body",
+ "pin-project-lite",
  "tracing",
 ]
 
 [[package]]
-name = "aws-http"
-version = "0.4.0"
+name = "aws-runtime"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52ad8b6cda2e119df93b02a44fc86a1c56294aabd4f4469a299311436b8e9971"
+checksum = "87116d357c905b53f1828d15366363fd27b330a0393cbef349e653f686d36bad"
 dependencies = [
+ "aws-credential-types",
+ "aws-http",
+ "aws-sigv4",
+ "aws-smithy-async",
+ "aws-smithy-eventstream",
  "aws-smithy-http",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "aws-types",
+ "fastrand",
  "http",
- "lazy_static",
  "percent-encoding",
  "tracing",
+ "uuid",
 ]
 
 [[package]]
-name = "aws-sdk-kinesis"
-version = "0.4.0"
+name = "aws-sdk-s3"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8806c676d5106a992f95b1f3f5bac647fb6a2f22a9fc7faf9d182ab628654739"
+checksum = "56e78d98df174c479a7bb6a065a3314ccefe029c0c4a1cc49c0c012eea144264"
 dependencies = [
- "aws-endpoint",
+ "aws-credential-types",
  "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
+ "aws-sigv4",
  "aws-smithy-async",
- "aws-smithy-client",
+ "aws-smithy-checksums",
+ "aws-smithy-eventstream",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
+ "aws-smithy-xml",
  "aws-types",
  "bytes",
  "http",
- "tokio-stream",
- "tower",
+ "http-body",
+ "once_cell",
+ "percent-encoding",
+ "regex-lite",
+ "tracing",
+ "url",
 ]
 
 [[package]]
-name = "aws-sdk-s3"
-version = "0.4.0"
+name = "aws-sdk-secretsmanager"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94c9432a07d9522115a0bc4c338a93585e99bbea2fde17b87c1cdf6e7ce58a06"
+checksum = "09a51b0a0838b8aa5b80677d73ba88e7b05c812540bd44aede473d6e65e712aa"
 dependencies = [
- "aws-endpoint",
+ "aws-credential-types",
  "aws-http",
- "aws-sig-auth",
- "aws-sigv4",
+ "aws-runtime",
  "aws-smithy-async",
- "aws-smithy-client",
- "aws-smithy-eventstream",
  "aws-smithy-http",
- "aws-smithy-http-tower",
+ "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
- "aws-smithy-xml",
  "aws-types",
  "bytes",
+ "fastrand",
  "http",
- "md5",
- "tokio-stream",
- "tower",
+ "once_cell",
+ "regex-lite",
+ "tracing",
 ]
 
 [[package]]
-name = "aws-sdk-sqs"
-version = "0.4.0"
+name = "aws-sdk-sso"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15121818fa602c682df3444451e1abd4f89eb6a3f1af6ee126baadf97951b5b9"
+checksum = "86b1779a72c60d45e5699512310d7f6fb965fecc8f7419ce1b993b716f0026fd"
 dependencies = [
- "aws-endpoint",
+ "aws-credential-types",
  "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
- "aws-smithy-query",
+ "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
- "aws-smithy-xml",
  "aws-types",
  "bytes",
  "http",
- "tokio-stream",
- "tower",
+ "once_cell",
+ "regex-lite",
+ "tracing",
 ]
 
 [[package]]
-name = "aws-sdk-sts"
-version = "0.4.0"
+name = "aws-sdk-ssooidc"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82f6ee7e1862da6c1f82222423a5dd19897af8a313b1fdad3016711d3f76d3fd"
+checksum = "56ba4a42aa91acecd5ca43b330b5c8eb7f8808d720b6a6f796a35faa302fc73d"
 dependencies = [
- "aws-endpoint",
+ "aws-credential-types",
  "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
  "aws-smithy-async",
- "aws-smithy-client",
  "aws-smithy-http",
- "aws-smithy-http-tower",
- "aws-smithy-query",
+ "aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
- "aws-smithy-xml",
  "aws-types",
  "bytes",
  "http",
- "tower",
+ "once_cell",
+ "regex-lite",
+ "tracing",
 ]
 
 [[package]]
-name = "aws-sig-auth"
-version = "0.4.0"
+name = "aws-sdk-sts"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b92d50e5ec810ecba45cde8b8287cbe670541c65a6d0def0fcda4b6bdf3b6d15"
+checksum = "d27259dcd835b6069260edec09487383f40f45c1cc7f02c74258eff8a22555a4"
 dependencies = [
- "aws-sigv4",
- "aws-smithy-eventstream",
+ "aws-credential-types",
+ "aws-http",
+ "aws-runtime",
+ "aws-smithy-async",
  "aws-smithy-http",
+ "aws-smithy-json",
+ "aws-smithy-query",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
+ "aws-smithy-xml",
  "aws-types",
  "http",
- "thiserror",
+ "once_cell",
+ "regex-lite",
  "tracing",
 ]
 
 [[package]]
 name = "aws-sigv4"
-version = "0.4.0"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "675a411b2afff9272c370a61322ceaae74c3102d70524c145e1d43f389ee5bbb"
+checksum = "d222297ca90209dc62245f0a490355795f29de362eb5c19caea4f7f55fe69078"
 dependencies = [
+ "aws-credential-types",
  "aws-smithy-eventstream",
  "aws-smithy-http",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
  "bytes",
  "form_urlencoded",
  "hex",
+ "hmac",
  "http",
  "once_cell",
  "percent-encoding",
- "regex",
- "ring",
+ "sha2",
  "time",
  "tracing",
 ]
 
 [[package]]
 name = "aws-smithy-async"
-version = "0.34.0"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40f1fd575567cb5822e32c2d61aefe2d7afd14d4e49d4879b3efaf5372800de3"
+checksum = "1e9f65000917e3aa94c259d67fe01fa9e4cd456187d026067d642436e6311a81"
 dependencies = [
  "futures-util",
  "pin-project-lite",
  "tokio",
- "tokio-stream",
 ]
 
 [[package]]
-name = "aws-smithy-client"
-version = "0.34.0"
+name = "aws-smithy-checksums"
+version = "0.60.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06f2664795a1bb545d651089146f6033d3581ef198d96033a59ca1b2fd0cb6dd"
+checksum = "4c2a63681f82fb85ca58d566534b7dc619c782fee0c61c1aa51e2b560c21cb4f"
 dependencies = [
- "aws-smithy-async",
  "aws-smithy-http",
- "aws-smithy-http-tower",
  "aws-smithy-types",
  "bytes",
- "fastrand",
+ "crc32c",
+ "crc32fast",
+ "hex",
  "http",
  "http-body",
- "hyper",
- "hyper-tls",
- "pin-project",
+ "md-5",
  "pin-project-lite",
- "tokio",
- "tower",
+ "sha1",
+ "sha2",
  "tracing",
 ]
 
 [[package]]
 name = "aws-smithy-eventstream"
-version = "0.34.0"
+version = "0.60.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "790716b9e6a8aef428592921efd6d15dfdf556091015e15af6e6e62f9ae42d5f"
+checksum = "a85e16fa903c70c49ab3785e5f4ac2ad2171b36e0616f321011fa57962404bb6"
 dependencies = [
  "aws-smithy-types",
  "bytes",
@@ -499,97 +578,199 @@ dependencies = [
 
 [[package]]
 name = "aws-smithy-http"
-version = "0.34.0"
+version = "0.60.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713ad03f7d51a02e8542d92c8674fb4a3b777acec967eb46018d1776bceca86c"
+checksum = "e4e816425a6b9caea4929ac97d0cb33674849bd5f0086418abc0d02c63f7a1bf"
 dependencies = [
  "aws-smithy-eventstream",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
  "bytes",
  "bytes-utils",
  "futures-core",
  "http",
  "http-body",
- "hyper",
+ "once_cell",
  "percent-encoding",
- "pin-project",
+ "pin-project-lite",
+ "pin-utils",
  "tracing",
 ]
 
 [[package]]
-name = "aws-smithy-http-tower"
-version = "0.34.0"
+name = "aws-smithy-json"
+version = "0.60.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2abf5583dbd165d39c1c31f7495c1a5d5cab93e8090689769ff12cc65dd23a71"
+checksum = "8ab3f6d49e08df2f8d05e1bb5b68998e1e67b76054d3c43e7b954becb9a5e9ac"
 dependencies = [
- "aws-smithy-http",
- "bytes",
- "http",
- "http-body",
- "pin-project",
- "tower",
- "tracing",
+ "aws-smithy-types",
 ]
 
 [[package]]
-name = "aws-smithy-json"
-version = "0.34.0"
+name = "aws-smithy-query"
+version = "0.60.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62d3931e5d170f66a8d84594ebceff66497f2227a4355ac5e25818b547ff9a9b"
+checksum = "0f94a7a3aa509ff9e8b8d80749851d04e5eee0954c43f2e7d6396c4740028737"
 dependencies = [
  "aws-smithy-types",
+ "urlencoding",
 ]
 
 [[package]]
-name = "aws-smithy-query"
-version = "0.34.0"
+name = "aws-smithy-runtime"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90645f9a051e9d33a8740493c691449bf45acc212797c1316c55ae076e1a0327"
+checksum = "8da5b0a3617390e769576321816112f711c13d7e1114685e022505cf51fe5e48"
 dependencies = [
+ "aws-smithy-async",
+ "aws-smithy-http",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
- "urlencoding",
+ "bytes",
+ "fastrand",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "once_cell",
+ "pin-project-lite",
+ "pin-utils",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "aws-smithy-runtime-api"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2404c9eb08bfe9af255945254d9afc69a367b7ee008b8db75c05e3bca485fc65"
+dependencies = [
+ "aws-smithy-async",
+ "aws-smithy-types",
+ "bytes",
+ "http",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+ "zeroize",
 ]
 
 [[package]]
 name = "aws-smithy-types"
-version = "0.34.0"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7f35e1fc3f0bbd986d45d59d4e41d4f90cbb3762986f580ff0d08e069a8e1a5"
+checksum = "2aba8136605d14ac88f57dc3a693a9f8a4eab4a3f52bc03ff13746f0cd704e97"
 dependencies = [
- "itoa 1.0.1",
+ "base64-simd",
+ "bytes",
+ "bytes-utils",
+ "futures-core",
+ "http",
+ "http-body",
+ "itoa",
  "num-integer",
+ "pin-project-lite",
+ "pin-utils",
  "ryu",
+ "serde",
  "time",
+ "tokio",
+ "tokio-util",
 ]
 
 [[package]]
 name = "aws-smithy-xml"
-version = "0.34.0"
+version = "0.60.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fc9be9d70d5884e334cd6a0ceac607953a70be4ec33e75a65fe939cf3b621ad"
+checksum = "2e8f03926587fc881b12b102048bb04305bf7fb8c83e776f0ccc51eaa2378263"
 dependencies = [
- "thiserror",
  "xmlparser",
 ]
 
 [[package]]
 name = "aws-types"
-version = "0.4.0"
+version = "1.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97cb693d2383f85e22d5b131c9848059dbc552b0ed19121b249a920c71afe752"
+checksum = "4e5d5ee29077e0fcd5ddd0c227b521a33aaf02434b7cdba1c55eec5c1f18ac47"
 dependencies = [
+ "aws-credential-types",
  "aws-smithy-async",
+ "aws-smithy-runtime-api",
  "aws-smithy-types",
+ "http",
  "rustc_version",
  "tracing",
- "zeroize",
+]
+
+[[package]]
+name = "axum"
+version = "0.6.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf"
+dependencies = [
+ "async-trait",
+ "axum-core",
+ "base64 0.21.5",
+ "bitflags 1.3.2",
+ "bytes",
+ "futures-util",
+ "headers",
+ "http",
+ "http-body",
+ "hyper",
+ "itoa",
+ "matchit",
+ "memchr",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustversion",
+ "serde",
+ "serde_json",
+ "serde_path_to_error",
+ "serde_urlencoded",
+ "sha1",
+ "sync_wrapper",
+ "tokio",
+ "tokio-tungstenite",
+ "tower",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "axum-core"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "mime",
+ "rustversion",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "backoff"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1"
+dependencies = [
+ "getrandom",
+ "instant",
+ "rand",
 ]
 
 [[package]]
 name = "backtrace"
-version = "0.3.63"
+version = "0.3.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6"
+checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7"
 dependencies = [
  "addr2line",
  "cc",
@@ -601,38 +782,40 @@ dependencies = [
 ]
 
 [[package]]
+name = "base16ct"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
+
+[[package]]
 name = "base64"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
-name = "billing-demo"
-version = "0.0.0"
+name = "base64"
+version = "0.21.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+
+[[package]]
+name = "base64-simd"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195"
 dependencies = [
- "anyhow",
- "bytes",
- "chrono",
- "clap",
- "csv",
- "env_logger",
- "futures",
- "futures-channel",
- "hex",
- "mz-protoc",
- "ore",
- "postgres-types",
- "protobuf",
- "rand",
- "rand_distr",
- "test-util",
- "tokio",
- "tokio-postgres",
- "tracing",
- "uuid",
+ "outref",
+ "vsimd",
 ]
 
 [[package]]
+name = "base64ct"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bdca834647821e0b13d9539a8634eb62d3501b6b6c2cec1722786ee6671b851"
+
+[[package]]
 name = "bincode"
 version = "1.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -642,18 +825,63 @@ dependencies = [
 ]
 
 [[package]]
+name = "bindgen"
+version = "0.65.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5"
+dependencies = [
+ "bitflags 1.3.2",
+ "cexpr",
+ "clang-sys",
+ "lazy_static",
+ "lazycell",
+ "peeking_take_while",
+ "prettyplease 0.2.4",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "bit-set"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
+dependencies = [
+ "bit-vec",
+]
+
+[[package]]
+name = "bit-vec"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
+
+[[package]]
 name = "bitflags"
 version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
-name = "bitpacking"
-version = "0.8.4"
+name = "bitflags"
+version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8c7d2ac73c167c06af4a5f37e6e59d84148d57ccbe4480b76f0273eefea82d7"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
 dependencies = [
- "crunchy",
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
 ]
 
 [[package]]
@@ -673,22 +901,49 @@ checksum = "473fc6b38233f9af7baa94fb5852dca389e3d95b8e21c8e3719301462c5d9faf"
 dependencies = [
  "lazy_static",
  "memchr",
- "regex-automata",
+ "regex-automata 0.1.9",
+]
+
+[[package]]
+name = "bstr"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
+dependencies = [
+ "memchr",
+ "regex-automata 0.3.9",
  "serde",
 ]
 
 [[package]]
-name = "build-info"
-version = "0.0.0"
+name = "btoi"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9dd6407f73a9b8b6162d8a2ef999fe6afd7cc15902ebf42c5cd296addf17e0ad"
 dependencies = [
- "semver",
+ "num-traits",
+]
+
+[[package]]
+name = "built"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f346b6890a0dfa7266974910e7df2d5088120dd54721b9b0e5aae1ae5e05715"
+dependencies = [
+ "cargo-lock",
 ]
 
 [[package]]
 name = "bumpalo"
-version = "3.2.1"
+version = "3.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8"
+
+[[package]]
+name = "bytecount"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12ae9db68ad7fac5fe51304d20f016c911539251075a214f8e663babefa35187"
+checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c"
 
 [[package]]
 name = "bytefmt"
@@ -700,6 +955,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "bytemuck"
+version = "1.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdead85bdec19c194affaeeb670c0e41fe23de31459efd1c174d049269cf02cc"
+dependencies = [
+ "bytemuck_derive",
+]
+
+[[package]]
+name = "bytemuck_derive"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "562e382481975bc61d11275ac5e62a19abd00b0547d99516a415336f183dcd0e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
 name = "byteorder"
 version = "1.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -707,9 +982,12 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
 
 [[package]]
 name = "bytes"
-version = "1.1.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+dependencies = [
+ "serde",
+]
 
 [[package]]
 name = "bytes-utils"
@@ -722,37 +1000,88 @@ dependencies = [
 ]
 
 [[package]]
+name = "bytesize"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70"
+
+[[package]]
+name = "bzip2-sys"
+version = "0.1.11+1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+]
+
+[[package]]
+name = "camino"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88ad0e1e3e88dd237a156ab9f571021b8a158caa0ae44b1968a241efb5144c1e"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo-lock"
+version = "7.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c408da54db4c50d4693f7e649c299bc9de9c23ead86249e5368830bb32a734b"
+dependencies = [
+ "semver",
+ "serde",
+ "toml",
+ "url",
+]
+
+[[package]]
+name = "cargo-platform"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
 name = "cast"
-version = "0.2.2"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427"
+checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
 
 [[package]]
 name = "cc"
-version = "1.0.72"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
  "jobserver",
+ "libc",
 ]
 
 [[package]]
-name = "ccsr"
-version = "0.0.0"
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
 dependencies = [
- "anyhow",
- "futures",
- "hyper",
- "lazy_static",
- "mz-http-proxy",
- "native-tls",
- "openssl",
- "reqwest",
- "serde",
- "serde_json",
- "tokio",
- "tracing",
- "url",
+ "nom",
 ]
 
 [[package]]
@@ -763,12 +1092,12 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.19"
+version = "0.4.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
+checksum = "fdbc37d37da9e5bce8173f3a41b71d9bf3c674deebbaceacd0ebdabde76efb03"
 dependencies = [
- "libc",
- "num-integer",
+ "android-tzdata",
+ "iana-time-zone",
  "num-traits",
  "serde",
  "winapi",
@@ -776,9 +1105,9 @@ dependencies = [
 
 [[package]]
 name = "chrono-tz"
-version = "0.6.1"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58549f1842da3080ce63002102d5bc954c7bc843d4f47818e642abdc36253552"
+checksum = "fa48fa079165080f11d7753fd0bc175b7d391f276b965fe4b55bfad67856e463"
 dependencies = [
  "chrono",
  "chrono-tz-build",
@@ -789,9 +1118,9 @@ dependencies = [
 
 [[package]]
 name = "chrono-tz-build"
-version = "0.0.2"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db058d493fb2f65f41861bfed7e3fe6335264a9f0f92710cab5bdf01fef09069"
+checksum = "d9998fb9f7e9b2111641485bf8beb32f92945f97f92a3d061f744cfef335f751"
 dependencies = [
  "parse-zoneinfo",
  "phf",
@@ -800,17 +1129,61 @@ dependencies = [
 ]
 
 [[package]]
+name = "chunked_transfer"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fff857943da45f546682664a79488be82e69e43c1a7a2307679ab9afb3a66d2e"
+
+[[package]]
+name = "ciborium"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f"
+dependencies = [
+ "ciborium-io",
+ "ciborium-ll",
+ "serde",
+]
+
+[[package]]
+name = "ciborium-io"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369"
+
+[[package]]
+name = "ciborium-ll"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b"
+dependencies = [
+ "ciborium-io",
+ "half",
+]
+
+[[package]]
+name = "clang-sys"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa66045b9cb23c2e9c1520732030608b02ee07e5cfaa5a521ec15ded7fa24c90"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
 name = "clap"
-version = "3.0.6"
+version = "3.2.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1957aa4a5fb388f0a0a73ce7556c5b42025b874e5cdc2c670775e346e97adec0"
+checksum = "eef2b3ded6a26dfaec672a742c93c8cf6b689220324da509ec5caa20de55dc83"
 dependencies = [
  "atty",
- "bitflags",
+ "bitflags 1.3.2",
  "clap_derive",
- "indexmap",
- "lazy_static",
- "os_str_bytes",
+ "clap_lex",
+ "indexmap 1.9.1",
+ "once_cell",
  "strsim",
  "termcolor",
  "terminal_size",
@@ -819,27 +1192,64 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "3.0.0"
+version = "3.2.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1b9752c030a14235a0bd5ef3ad60a1dcac8468c30921327fc8af36b20c790b9"
+checksum = "d756c5824fc5c0c1ee8e36000f576968dbcb2081def956c83fad6f40acd46f96"
 dependencies = [
  "heck",
  "proc-macro-error",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5538cd660450ebeb4234cfecf8f2284b844ffc4c50531e66d584ad5b91293613"
+dependencies = [
+ "os_str_bytes",
 ]
 
 [[package]]
 name = "cmake"
-version = "0.1.41"
+version = "0.1.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c84c596dcf125d6781f58e3f4254677ec2a6d8aa56e8501ac277100990b3229"
+checksum = "e8ad8cef104ac57b68b89df3208164d228503abbdce70f6880ffa3d970e7443a"
 dependencies = [
  "cc",
 ]
 
 [[package]]
+name = "codespan-reporting"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+dependencies = [
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "columnation"
+version = "0.1.0"
+source = "git+https://github.com/MaterializeInc/columnation.git#2cd6d86e5ffabf98aef5cbef09a57f515eae7c55"
+dependencies = [
+ "paste",
+]
+
+[[package]]
+name = "compact_bytes"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de71a0422a777179ab4baef92325e56396443df4a680bc443b11f63d644ca019"
+dependencies = [
+ "serde",
+ "static_assertions",
+]
+
+[[package]]
 name = "compile-time-run"
 version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -847,116 +1257,97 @@ checksum = "43b5affba7c91c039a483065125dd8c6d4a0985e1e9ac5ab6dffdea4fe4e637f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "connection-string"
-version = "0.1.13"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b97faeec45f49581c458f8bf81992c5e3ec17d82cda99f59d3cea14eff62698d"
-dependencies = [
- "wasm-bindgen",
-]
+checksum = "510ca239cf13b7f8d16a2b48f263de7b4f8c566f0af58d901031473c76afb1e3"
 
 [[package]]
 name = "console"
-version = "0.14.0"
+version = "0.15.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cc80946b3480f421c2f17ed1cb841753a371c7c5104f51d507e13f532c856aa"
+checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60"
 dependencies = [
  "encode_unicode",
  "lazy_static",
  "libc",
- "terminal_size",
- "winapi",
+ "unicode-width",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
-name = "coord"
-version = "0.0.0"
+name = "console-api"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2895653b4d9f1538a83970077cb01dfc77a4810524e51a110944688e916b18e"
 dependencies = [
- "anyhow",
- "backtrace",
- "bincode",
- "build-info",
- "byteorder",
- "ccsr",
- "chrono",
+ "prost",
+ "prost-types",
+ "tonic",
+ "tracing-core",
+]
+
+[[package]]
+name = "console-subscriber"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4cf42660ac07fcebed809cfe561dd8730bcd35b075215e6479c516bcd0d11cb"
+dependencies = [
+ "console-api",
  "crossbeam-channel",
- "datadriven",
- "dataflow-types",
- "dec",
- "derivative",
- "differential-dataflow",
- "expr",
- "fail",
+ "crossbeam-utils",
  "futures",
- "interchange",
- "itertools",
- "kafka-util",
- "lazy_static",
- "log",
- "mz-avro",
- "mz-aws-util",
- "mz-protoc",
- "ore",
- "persist",
- "pgrepr",
- "postgres-types",
- "postgres-util",
- "prometheus",
- "protobuf",
- "rand",
- "rdkafka",
- "regex",
- "repr",
- "rusqlite",
- "semver",
+ "hdrhistogram",
+ "humantime",
+ "prost-types",
  "serde",
  "serde_json",
- "sql",
- "sql-parser",
- "tempfile",
- "timely",
+ "thread_local",
  "tokio",
- "tokio-postgres",
  "tokio-stream",
+ "tonic",
  "tracing",
- "transform",
- "uncased",
- "url",
- "uuid",
+ "tracing-core",
+ "tracing-subscriber",
 ]
 
 [[package]]
-name = "coordtest"
-version = "0.0.0"
+name = "const-oid"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3"
+
+[[package]]
+name = "const-random"
+version = "0.1.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "368a7a772ead6ce7e1de82bfb04c485f3db8ec744f72925af5735e29a22cc18e"
 dependencies = [
- "anyhow",
- "async-trait",
- "build-info",
- "clap",
- "coord",
- "datadriven",
- "dataflow",
- "dataflow-types",
- "expr",
- "futures",
- "ore",
- "repr",
- "serde_json",
- "sql-parser",
- "tempfile",
- "timely",
- "tokio",
+ "const-random-macro",
+ "proc-macro-hack",
+]
+
+[[package]]
+name = "const-random-macro"
+version = "0.1.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d7d6ab3c3a2282db210df5f02c4dab6e0a7057af0fb7ebd4070f30fe05c0ddb"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "proc-macro-hack",
+ "tiny-keccak",
 ]
 
 [[package]]
 name = "core-foundation"
-version = "0.9.1"
+version = "0.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -964,18 +1355,28 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.2"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+
+[[package]]
+name = "core_affinity"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b"
+checksum = "4436406e93f52cce33bfba4be067a9f7229da44a634c385e4b22cdfaca5f84cc"
+dependencies = [
+ "libc",
+ "num_cpus",
+ "winapi",
+]
 
 [[package]]
 name = "cpp_demangle"
-version = "0.3.2"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44919ecaf6f99e8e737bc239408931c9a01e9a6c74814fee8242dd2506b65390"
+checksum = "b446fd40bcc17eddd6a4a78f24315eb90afdb3334999ddfd4909985c47722442"
 dependencies = [
  "cfg-if",
- "glob",
 ]
 
 [[package]]
@@ -988,24 +1389,36 @@ dependencies = [
 ]
 
 [[package]]
+name = "crc32c"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dfea2db42e9927a3845fb268a10a72faed6d416065f77873f05e411457c363e"
+dependencies = [
+ "rustc_version",
+]
+
+[[package]]
 name = "crc32fast"
-version = "1.3.0"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
 name = "criterion"
-version = "0.3.5"
-source = "git+https://github.com/MaterializeInc/criterion.rs.git#db5acaae4314d3cb194129233689541c15d3935d"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
 dependencies = [
+ "anes",
  "atty",
  "cast",
+ "ciborium",
  "clap",
  "criterion-plot",
- "csv",
+ "futures",
  "itertools",
  "lazy_static",
  "num-traits",
@@ -1014,17 +1427,18 @@ dependencies = [
  "rayon",
  "regex",
  "serde",
- "serde_cbor",
  "serde_derive",
  "serde_json",
  "tinytemplate",
+ "tokio",
  "walkdir",
 ]
 
 [[package]]
 name = "criterion-plot"
-version = "0.4.4"
-source = "git+https://github.com/MaterializeInc/criterion.rs.git#db5acaae4314d3cb194129233689541c15d3935d"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
 dependencies = [
  "cast",
  "itertools",
@@ -1032,9 +1446,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam"
-version = "0.8.1"
+version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ae5588f6b3c3cb05239e90bd110f257254aecd01e4635400391aeae07497845"
+checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c"
 dependencies = [
  "cfg-if",
  "crossbeam-channel",
@@ -1046,9 +1460,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.2"
+version = "0.5.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa"
+checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
 dependencies = [
  "cfg-if",
  "crossbeam-utils",
@@ -1056,9 +1470,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.1"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
 dependencies = [
  "cfg-if",
  "crossbeam-epoch",
@@ -1067,13 +1481,13 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.5"
+version = "0.9.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd"
+checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a"
 dependencies = [
+ "autocfg",
  "cfg-if",
  "crossbeam-utils",
- "lazy_static",
  "memoffset",
  "scopeguard",
 ]
@@ -1090,9 +1504,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.6"
+version = "0.8.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfcae03edb34f947e64acdb1c33ec169824e20657e9ecb61cef6c8c74dcb8120"
+checksum = "b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6"
 dependencies = [
  "cfg-if",
  "lazy_static",
@@ -1106,27 +1520,41 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
 
 [[package]]
 name = "crypto-common"
-version = "0.1.0"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567569e659735adb39ff2d4c20600f7cd78be5471f8c58ab162bce3c03fdbc5f"
+checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8"
 dependencies = [
  "generic-array",
+ "typenum",
 ]
 
 [[package]]
 name = "csv"
-version = "1.1.6"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"
+checksum = "0b015497079b9a9d69c02ad25de6c0a6edef051ea6360a327d0bd05802ef64ad"
 dependencies = [
- "bstr",
  "csv-core",
- "itoa 0.4.6",
+ "itoa",
  "ryu",
  "serde",
 ]
 
 [[package]]
+name = "csv-async"
+version = "1.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71933d3f2d0481d5111cb2817b15b6961961458ec58adf8008194e6c850046f4"
+dependencies = [
+ "bstr 1.6.0",
+ "cfg-if",
+ "csv-core",
+ "futures",
+ "tokio",
+ "tokio-stream",
+]
+
+[[package]]
 name = "csv-core"
 version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1137,19 +1565,63 @@ dependencies = [
 
 [[package]]
 name = "ctor"
-version = "0.1.21"
+version = "0.1.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
+dependencies = [
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "cxx"
+version = "1.0.63"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccc0a48a9b826acdf4028595adc9db92caea352f7af011a3034acd172a52a0aa"
+checksum = "c949f4e2576a655698463c56dbc5c5ea4c00964becc9adb0458baa943e862a5b"
 dependencies = [
+ "cc",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "link-cplusplus",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "618f85c8f132bd8912aab124e15a38adc762bb7e3cef84524adde1692ef3e8bc"
+dependencies = [
+ "cc",
+ "codespan-reporting",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b44dad556b0c83d86676135d6c684bdc2b1b9a1188052dd1cb5998246163536"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2acc9305a8b69bc2308c2e17dbb98debeac984cdc89ac550c01507cc129433c3"
+dependencies = [
+ "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "darling"
-version = "0.12.4"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c"
+checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -1157,30 +1629,47 @@ dependencies = [
 
 [[package]]
 name = "darling_core"
-version = "0.12.4"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e91455b86830a1c21799d94524df0845183fa55bafd9aa137b01c7d1065fa36"
+checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
 dependencies = [
  "fnv",
  "ident_case",
  "proc-macro2",
  "quote",
  "strsim",
- "syn",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "darling_macro"
-version = "0.12.4"
+version = "0.20.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a"
+checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
 dependencies = [
  "darling_core",
  "quote",
- "syn",
+ "syn 2.0.39",
 ]
 
 [[package]]
+name = "dashmap"
+version = "5.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8858831f7781322e539ea39e72449c46b059638250c14344fec8d0aa6e539c"
+dependencies = [
+ "cfg-if",
+ "num_cpus",
+ "parking_lot",
+]
+
+[[package]]
+name = "data-encoding"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57"
+
+[[package]]
 name = "datadriven"
 version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1191,144 +1680,54 @@ dependencies = [
 ]
 
 [[package]]
-name = "dataflow"
-version = "0.0.0"
+name = "deadpool"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "421fe0f90f2ab22016f32a9881be5134fdd71c65298917084b0c7477cbc3856e"
 dependencies = [
- "anyhow",
- "async-compression",
  "async-trait",
- "aws-sdk-kinesis",
- "aws-sdk-s3",
- "aws-sdk-sqs",
- "bincode",
- "byteorder",
- "ccsr",
- "chrono",
- "crossbeam-channel",
- "csv-core",
- "dataflow-types",
- "dec",
- "differential-dataflow",
- "dogsdogsdogs",
- "enum-iterator",
- "expr",
- "flate2",
- "futures",
- "globset",
- "inotify",
- "interchange",
- "itertools",
- "kafka-util",
- "lazy_static",
- "log",
- "mz-avro",
- "mz-aws-util",
- "mz-protoc",
- "ore",
- "pdqselect",
- "persist",
- "persist-types",
- "postgres-protocol",
- "postgres-util",
- "prometheus",
- "protobuf",
- "pubnub-hyper",
- "rand",
- "rdkafka",
- "regex",
- "repr",
- "scopeguard",
- "serde",
- "serde_json",
- "tempfile",
- "timely",
- "timely-util",
+ "deadpool-runtime",
+ "num_cpus",
+ "retain_mut",
  "tokio",
- "tokio-postgres",
- "tokio-util",
- "tracing",
- "url",
- "uuid",
-]
-
-[[package]]
-name = "dataflow-bin"
-version = "0.0.0"
-dependencies = [
- "clap",
- "ore",
- "timely",
 ]
 
 [[package]]
-name = "dataflow-types"
-version = "0.0.0"
+name = "deadpool-postgres"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e866e414e9e12fc988f0bfb89a0b86228e7ed196ca509fbc4dcbc738c56e753c"
 dependencies = [
- "anyhow",
- "async-trait",
- "aws-config",
- "aws-smithy-http",
- "aws-types",
- "ccsr",
- "crossbeam-channel",
- "enum-iterator",
- "enum-kinds",
- "expr",
- "futures",
- "globset",
- "http",
- "interchange",
- "kafka-util",
- "mz-aws-util",
- "num_enum",
- "ore",
- "persist",
- "persist-types",
- "regex",
- "repr",
- "serde",
- "serde_json",
- "serde_regex",
- "timely",
+ "deadpool",
+ "log",
  "tokio",
- "tracing",
- "url",
- "uuid",
+ "tokio-postgres",
 ]
 
 [[package]]
-name = "dataflowd"
-version = "0.0.0"
+name = "deadpool-runtime"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaa37046cc0f6c3cc6090fbdbf73ef0b8ef4cfcc37f6befc0020f63e8cf121e1"
 dependencies = [
- "anyhow",
- "async-trait",
- "clap",
- "dataflow",
- "dataflow-types",
- "futures",
- "ore",
- "timely",
  "tokio",
- "tokio-serde",
- "tokio-util",
- "tracing",
- "tracing-subscriber",
 ]
 
 [[package]]
 name = "debugid"
-version = "0.7.2"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91cf5a8c2f2097e2a32627123508635d47ce10563d999ec1a95addf08b502ba"
+checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d"
 dependencies = [
+ "serde",
  "uuid",
 ]
 
 [[package]]
 name = "dec"
-version = "0.4.7"
+version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58be07317881c8d6887c3d2e1a73778bf47f4e027d834ae0d105da8bfa3715c8"
+checksum = "cbdeb628adfc427c3f926528cf76daf4418453e103151739d48f79b8182cb41f"
 dependencies = [
  "decnumber-sys",
  "libc",
@@ -1347,57 +1746,51 @@ dependencies = [
 ]
 
 [[package]]
-name = "derivative"
-version = "2.2.0"
+name = "der"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn",
+ "const-oid",
 ]
 
 [[package]]
-name = "derive_builder"
-version = "0.10.2"
+name = "derivative"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d13202debe11181040ae9063d739fa32cfcaaebe2275fe387703460ae2365b30"
+checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
 dependencies = [
- "derive_builder_macro",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
 ]
 
 [[package]]
-name = "derive_builder_core"
-version = "0.10.2"
+name = "derive-getters"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66e616858f6187ed828df7c64a6d71720d83767a7f19740b2d1b6fe6327b36e5"
+checksum = "7a2c35ab6e03642397cdda1dd58abbc05d418aef8e36297f336d5aba060fe8df"
 dependencies = [
- "darling",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
-name = "derive_builder_macro"
-version = "0.10.2"
+name = "diff"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58a94ace95092c5acb1e97a7e846b310cfbd499652f72297da7493f618a98d73"
-dependencies = [
- "derive_builder_core",
- "syn",
-]
+checksum = "0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499"
 
 [[package]]
 name = "differential-dataflow"
 version = "0.12.0"
-source = "git+https://github.com/TimelyDataflow/differential-dataflow.git#19808dc71b38d8a0c804ffae96d32868e64b20c1"
+source = "git+https://github.com/MaterializeInc/differential-dataflow.git#c5b9baca0283f4d96f7e6f914de8578fb5c521de"
 dependencies = [
  "abomonation",
  "abomonation_derive",
  "fnv",
  "serde",
- "serde_derive",
  "timely",
 ]
 
@@ -1409,17 +1802,37 @@ checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
 
 [[package]]
 name = "digest"
-version = "0.10.0"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8549e6bfdecd113b7e221fe60b433087f6957387a20f8118ebca9b12af19143d"
+checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
 dependencies = [
  "block-buffer",
  "crypto-common",
- "generic-array",
  "subtle",
 ]
 
 [[package]]
+name = "dirs"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
 name = "doc-comment"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1428,7 +1841,7 @@ checksum = "923dea538cea0aa3025e8685b20d6ee21ef99c4f77e954a30febbaac5ec73a97"
 [[package]]
 name = "dogsdogsdogs"
 version = "0.1.0"
-source = "git+https://github.com/TimelyDataflow/differential-dataflow.git#19808dc71b38d8a0c804ffae96d32868e64b20c1"
+source = "git+https://github.com/MaterializeInc/differential-dataflow.git#c5b9baca0283f4d96f7e6f914de8578fb5c521de"
 dependencies = [
  "abomonation",
  "abomonation_derive",
@@ -1439,36 +1852,21 @@ dependencies = [
 ]
 
 [[package]]
-name = "duct"
-version = "0.13.3"
+name = "dyn-clone"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1607fa68d55be208e83bcfbcfffbc1ec65c9fbcf9eb1a5d548dc3ac0100743b0"
-dependencies = [
- "libc",
- "once_cell",
- "os_pipe",
- "shared_child",
-]
+checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2"
 
 [[package]]
-name = "educe"
-version = "0.4.18"
+name = "either"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f86b50932a01e7ec5c06160492ab660fb19b6bb2a7878030dd6cd68d21df9d4d"
+checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
 dependencies = [
- "enum-ordinalize",
- "proc-macro2",
- "quote",
- "syn",
+ "serde",
 ]
 
 [[package]]
-name = "either"
-version = "1.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
-
-[[package]]
 name = "encode_unicode"
 version = "0.3.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1548,23 +1946,35 @@ dependencies = [
 ]
 
 [[package]]
+name = "enum-as-inner"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9720bba047d567ffc8a3cba48bf19126600e249ab7f128e9233e6376976a116"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
 name = "enum-iterator"
-version = "0.7.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6"
+checksum = "91a4ec26efacf4aeff80887a175a419493cb6f8b5480d26387eb0bd038976187"
 dependencies = [
  "enum-iterator-derive",
 ]
 
 [[package]]
 name = "enum-iterator-derive"
-version = "0.7.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159"
+checksum = "828de45d0ca18782232dfb8f3ea9cc428e8ced380eb26a520baaacfc70de39ce"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -1575,123 +1985,115 @@ checksum = "4e40a16955681d469ab3da85aaa6b42ff656b3c67b52e1d8d3dd36afe97fd462"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
-name = "enum-ordinalize"
-version = "3.1.10"
+name = "enum_dispatch"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b166c9e378360dd5a6666a9604bb4f54ae0cac39023ffbac425e917a2a04fef"
+checksum = "11f36e95862220b211a6e2aa5eca09b4fa391b13cd52ceb8035a24bf65a79de2"
 dependencies = [
- "num-bigint",
- "num-traits",
+ "once_cell",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "enumflags2"
-version = "0.7.1"
+version = "0.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8672257d642ffdd235f6e9c723c2326ac1253c8f3c022e7cfd2e57da55b1131"
+checksum = "c041f5090df68b32bcd905365fd51769c8b9d553fe87fde0b683534f10c01bd2"
 dependencies = [
  "enumflags2_derive",
 ]
 
 [[package]]
 name = "enumflags2_derive"
-version = "0.7.0"
+version = "0.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33526f770a27828ce7c2792fdb7cb240220237e0ff12933ed6c23957fc5dd7cf"
+checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.39",
 ]
 
 [[package]]
-name = "env_logger"
-version = "0.9.0"
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
+checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
 dependencies = [
- "atty",
- "humantime",
- "log",
- "regex",
- "termcolor",
+ "errno-dragonfly",
+ "libc",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "error-iter"
-version = "0.2.0"
+name = "errno-dragonfly"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e09bfe3000e5aaf2904d2c90e8f38de83dff06731c666d588d382f19da6606a9"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+dependencies = [
+ "cc",
+ "libc",
+]
 
 [[package]]
-name = "expr"
-version = "0.0.0"
+name = "error-chain"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
 dependencies = [
- "aho-corasick",
- "anyhow",
- "chrono",
- "csv",
- "datadriven",
- "dec",
- "encoding",
- "enum-iterator",
- "expr_test_util",
- "hex",
- "hmac",
- "itertools",
- "lowertest",
- "md-5",
- "num",
- "num-iter",
- "num_enum",
- "ordered-float",
- "ore",
- "paste",
- "pdqselect",
- "pgrepr",
- "proc-macro2",
- "regex",
- "regex-syntax",
- "repr",
- "serde",
- "serde_json",
- "sha-1",
- "sha2",
- "uncased",
- "uuid",
+ "version_check",
 ]
 
 [[package]]
-name = "expr_test_util"
-version = "0.0.0"
+name = "ethnum"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eac3c0b9fa6eb75255ebb42c0ba3e2210d102a66d2795afef6fed668f373311"
+
+[[package]]
+name = "eventsource-client"
+version = "0.11.0"
+source = "git+https://github.com/MaterializeInc/rust-eventsource-client#fb749fde693a9757289238ee71d4e9b3590fb24b"
 dependencies = [
- "datadriven",
- "expr",
- "lazy_static",
- "lowertest",
- "ore",
- "proc-macro2",
- "repr",
- "repr_test_util",
- "serde",
- "serde_json",
+ "futures",
+ "hyper",
+ "hyper-timeout",
+ "hyper-tls",
+ "log",
+ "pin-project",
+ "rand",
+ "tokio",
+]
+
+[[package]]
+name = "exclusion-set"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c3708c48ed7245587498d116a41566942d6d9943f5b3207fbf522e2bd0b72d0"
+dependencies = [
+ "loom",
 ]
 
 [[package]]
 name = "fail"
-version = "0.5.0"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec3245a0ca564e7f3c797d20d833a6870f57a728ac967d5225b3ffdef4465011"
+checksum = "fe5e43d0f78a42ad591453aedb1d7ae631ce7ee445c7643691055a9ed8d3b01c"
 dependencies = [
- "lazy_static",
  "log",
+ "once_cell",
  "rand",
 ]
 
@@ -1708,6 +2110,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
 
 [[package]]
+name = "fancy-regex"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2"
+dependencies = [
+ "bit-set",
+ "regex",
+]
+
+[[package]]
 name = "fast-float"
 version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1715,12 +2127,9 @@ checksum = "95765f67b4b18863968b4a1bd5bb576f732b29a4a28c7cd84c09fa3e2875f33c"
 
 [[package]]
 name = "fastrand"
-version = "1.5.0"
+version = "2.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e"
-dependencies = [
- "instant",
-]
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 
 [[package]]
 name = "filetime"
@@ -1730,15 +2139,15 @@ checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall",
+ "redox_syscall 0.2.10",
  "winapi",
 ]
 
 [[package]]
 name = "findshlibs"
-version = "0.10.1"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d691fdb3f817632d259d09220d4cf0991dbb2c9e59e044a02a59194bf6e14484"
+checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64"
 dependencies = [
  "cc",
  "lazy_static",
@@ -1747,25 +2156,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "flatbuffers"
-version = "2.0.0"
+name = "fixedbitset"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef4c5738bcd7fad10315029c50026f83c9da5e4a21f8ed66826f43e0e2bde5f6"
-dependencies = [
- "bitflags",
- "smallvec",
- "thiserror",
-]
+checksum = "279fb028e20b3c4c320317955b77c5e0c9701f05a1d309905d6fc702cdc5053e"
 
 [[package]]
 name = "flate2"
-version = "1.0.22"
+version = "1.0.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f"
+checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
 dependencies = [
- "cfg-if",
  "crc32fast",
- "libc",
+ "libz-sys",
  "miniz_oxide",
 ]
 
@@ -1800,48 +2203,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
+name = "foreign_vec"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee1b05cbd864bcaecbd3455d6d967862d446e4ebfc3c2e5e5b9841e53cba6673"
+
+[[package]]
 name = "form_urlencoded"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ece68d15c92e84fa4f19d3780f1294e5ca82a78a6d515f1efaabcc144688be00"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
 dependencies = [
- "matches",
  "percent-encoding",
 ]
 
 [[package]]
 name = "fs_extra"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674"
-
-[[package]]
-name = "fstrings"
-version = "0.2.3"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7845a0f15da505ac36baad0486612dab57f8b8d34e19c5470a265bbcdd572ae6"
-dependencies = [
- "fstrings-proc-macro",
- "proc-macro-hack",
-]
+checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
 
 [[package]]
-name = "fstrings-proc-macro"
-version = "0.2.3"
+name = "funty"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63b58c0e7581dc33478a32299182cbe5ae3b8c028be26728a47fb0a113c92d9d"
-dependencies = [
- "proc-macro-hack",
- "proc-macro2",
- "quote",
- "syn",
-]
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
 
 [[package]]
 name = "futures"
-version = "0.3.19"
+version = "0.3.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28560757fe2bb34e79f907794bb6b22ae8b0e5c669b638a1132f2592b19035b4"
+checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1854,9 +2246,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3dda0b6588335f360afc675d0564c17a77a2bda81ca178a4b6081bd86c7f0b"
+checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -1864,15 +2256,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0c8ff0461b82559810cdccfde3215c3f373807f5e5232b71479bff7bb2583d7"
+checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.19"
+version = "0.3.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29d6d2ff5bb10fb95c85b8ce46538a2e5f5e7fdc755623a7d4529ab8a4ed9d2a"
+checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -1881,38 +2273,44 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f9d34af5a1aac6fb380f735fe510746c38067c5bf16c7fd250280503c971b2"
+checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
 
 [[package]]
 name = "futures-macro"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6dbd947adfffb0efc70599b3ddcf7b5597bb5fa9e245eb99f62b3a5f7bb8bd3c"
+checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3055baccb68d74ff6480350f8d6eb8fcfa3aa11bdc1a1ae3afdd0514617d508"
+checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
 
 [[package]]
 name = "futures-task"
-version = "0.3.19"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+
+[[package]]
+name = "futures-timer"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ee7c6485c30167ce4dfb83ac568a849fe53274c831081476ee13e0dce1aad72"
+checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
 
 [[package]]
 name = "futures-util"
-version = "0.3.19"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b5cf40b47a271f77a8b1bec03ca09044d99d2372c0de244e66430761127164"
+checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1927,12 +2325,16 @@ dependencies = [
 ]
 
 [[package]]
-name = "fuzz"
-version = "0.0.1"
+name = "generator"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e"
 dependencies = [
- "honggfuzz",
- "repr",
- "sql-parser",
+ "cc",
+ "libc",
+ "log",
+ "rustversion",
+ "windows",
 ]
 
 [[package]]
@@ -1956,25 +2358,15 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.1"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4060f4657be78b8e766215b02b18a2e862d83745545de804638e2b545e81aee6"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
 dependencies = [
  "cfg-if",
+ "js-sys",
  "libc",
  "wasi",
-]
-
-[[package]]
-name = "getset"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24b328c01a4d71d2d8173daa93562a73ab0fe85616876f02500f53d82948c504"
-dependencies = [
- "proc-macro-error",
- "proc-macro2",
- "quote",
- "syn",
+ "wasm-bindgen",
 ]
 
 [[package]]
@@ -1985,18 +2377,18 @@ checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
 
 [[package]]
 name = "glob"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "globset"
-version = "0.4.8"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd"
+checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a"
 dependencies = [
  "aho-corasick",
- "bstr",
+ "bstr 0.2.14",
  "fnv",
  "log",
  "regex",
@@ -2004,10 +2396,28 @@ dependencies = [
 ]
 
 [[package]]
+name = "governor"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "821239e5672ff23e2a7060901fa622950bbd80b649cdaadd78d1c1767ed14eb4"
+dependencies = [
+ "cfg-if",
+ "dashmap",
+ "futures",
+ "futures-timer",
+ "no-std-compat",
+ "nonzero_ext",
+ "parking_lot",
+ "quanta",
+ "rand",
+ "smallvec",
+]
+
+[[package]]
 name = "h2"
-version = "0.3.9"
+version = "0.3.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f072413d126e57991455e0a922b31e4c8ba7c2ffbebf6b78b4f8521397d65cd"
+checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21"
 dependencies = [
  "bytes",
  "fnv",
@@ -2015,7 +2425,7 @@ dependencies = [
  "futures-sink",
  "futures-util",
  "http",
- "indexmap",
+ "indexmap 1.9.1",
  "slab",
  "tokio",
  "tokio-util",
@@ -2036,53 +2446,63 @@ checksum = "74721d007512d0cb3338cd20f0654ac913920061a4c4d0d8708edb3f2a698c0c"
 
 [[package]]
 name = "hashbrown"
-version = "0.11.2"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
 dependencies = [
  "ahash",
+ "allocator-api2",
 ]
 
 [[package]]
-name = "hashlink"
-version = "0.7.0"
+name = "hdrhistogram"
+version = "7.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf"
+checksum = "6490be71f07a5f62b564bc58e36953f675833df11c7e4a0647bee7a07ca1ec5e"
 dependencies = [
- "hashbrown",
+ "base64 0.13.1",
+ "byteorder",
+ "flate2",
+ "nom",
+ "num-traits",
 ]
 
 [[package]]
 name = "headers"
-version = "0.3.5"
-source = "git+https://github.com/MaterializeInc/headers.git#b968d50f79907ea74ad42c8cc83c950314f1ca31"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584"
 dependencies = [
- "base64",
- "bitflags",
+ "base64 0.13.1",
+ "bitflags 1.3.2",
  "bytes",
  "headers-core",
  "http",
  "httpdate",
  "mime",
- "sha-1",
+ "sha1",
 ]
 
 [[package]]
 name = "headers-core"
 version = "0.2.0"
-source = "git+https://github.com/MaterializeInc/headers.git#b968d50f79907ea74ad42c8cc83c950314f1ca31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429"
 dependencies = [
  "http",
 ]
 
 [[package]]
 name = "heck"
-version = "0.3.1"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
-dependencies = [
- "unicode-segmentation",
-]
+checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
 
 [[package]]
 name = "hermit-abi"
@@ -2094,6 +2514,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "hermit-abi"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+
+[[package]]
 name = "hex"
 version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2106,41 +2541,59 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0"
 
 [[package]]
+name = "hibitset"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3ede5cfa60c958e60330d65163adbc4211e15a2653ad80eb0cce878de120121"
+dependencies = [
+ "rayon",
+]
+
+[[package]]
 name = "hmac"
-version = "0.12.0"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddca131f3e7f2ce2df364b57949a9d47915cfbd35e46cfee355ccebbf794d6a2"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
 dependencies = [
  "digest",
 ]
 
 [[package]]
-name = "honggfuzz"
-version = "0.5.54"
+name = "home"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bea09577d948a98a5f59b7c891e274c4fb35ad52f67782b3d0cb53b9c05301f1"
+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
 dependencies = [
- "arbitrary",
- "lazy_static",
- "memmap",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "hostname"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
+dependencies = [
+ "libc",
+ "match_cfg",
+ "winapi",
 ]
 
 [[package]]
 name = "http"
-version = "0.2.6"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03"
+checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
 dependencies = [
  "bytes",
  "fnv",
- "itoa 1.0.1",
+ "itoa",
 ]
 
 [[package]]
 name = "http-body"
-version = "0.4.4"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6"
+checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
 dependencies = [
  "bytes",
  "http",
@@ -2148,34 +2601,34 @@ dependencies = [
 ]
 
 [[package]]
-name = "httparse"
-version = "1.5.1"
+name = "http-range-header"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503"
+checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29"
 
 [[package]]
-name = "httpdate"
-version = "1.0.0"
+name = "httparse"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05842d0d43232b23ccb7060ecb0f0626922c21f30012e97b767b30afd4a5d4b9"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
-name = "humansize"
-version = "1.1.1"
+name = "httpdate"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02296996cb8796d7c6e3bc2d9211b7802812d36999a51bb754123ead7d37d026"
+checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
 
 [[package]]
 name = "humantime"
-version = "2.0.1"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c1ad908cc71012b7bea4d0c53ba96a8cba9962f048fa68d143376143d863b7a"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "hyper"
-version = "0.14.16"
+version = "0.14.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7ec3e62bdc98a2f0393a5048e4c30ef659440ea6e0e572965103e72bd836f55"
+checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
 dependencies = [
  "bytes",
  "futures-channel",
@@ -2186,9 +2639,9 @@ dependencies = [
  "http-body",
  "httparse",
  "httpdate",
- "itoa 0.4.6",
+ "itoa",
  "pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
  "tokio",
  "tower-service",
  "tracing",
@@ -2197,9 +2650,9 @@ dependencies = [
 
 [[package]]
 name = "hyper-openssl"
-version = "0.9.1"
+version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9d52322a69f0a93f177d76ca82073fcec8d5b4eb6e28525d5b3142fa718195c"
+checksum = "d6ee5d7a8f718585d1c3c61dfde28ef5b0bb14734b4db13f5ada856cdc6c612b"
 dependencies = [
  "http",
  "hyper",
@@ -2214,21 +2667,15 @@ dependencies = [
 ]
 
 [[package]]
-name = "hyper-proxy"
-version = "0.9.1"
+name = "hyper-timeout"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca815a891b24fdfb243fa3239c86154392b0953ee584aa1a2a1f66d20cbe75cc"
+checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
 dependencies = [
- "bytes",
- "futures",
- "headers",
- "http",
  "hyper",
- "hyper-tls",
- "native-tls",
+ "pin-project-lite",
  "tokio",
- "tokio-native-tls",
- "tower-service",
+ "tokio-io-timeout",
 ]
 
 [[package]]
@@ -2245,6 +2692,20 @@ dependencies = [
 ]
 
 [[package]]
+name = "iana-time-zone"
+version = "0.1.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c495f162af0bf17656d0014a0eded5f3cd2f365fdd204548c2869db89359dc7"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "js-sys",
+ "once_cell",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
 name = "ident_case"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2252,20 +2713,19 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
 name = "idna"
-version = "0.2.0"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
 dependencies = [
- "matches",
  "unicode-bidi",
  "unicode-normalization",
 ]
 
 [[package]]
 name = "include_dir"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "482a2e29200b7eed25d7fdbd14423326760b7f6658d21a4cf12d55a50713c69f"
+checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e"
 dependencies = [
  "include_dir_macros",
 ]
@@ -2282,128 +2742,90 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "1.7.0"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5"
+checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
 dependencies = [
  "autocfg",
- "hashbrown",
+ "hashbrown 0.12.3",
+ "serde",
 ]
 
 [[package]]
-name = "indicatif"
-version = "0.16.2"
+name = "indexmap"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
 dependencies = [
- "console",
- "lazy_static",
- "number_prefix",
- "regex",
+ "equivalent",
+ "hashbrown 0.14.0",
 ]
 
 [[package]]
-name = "inotify"
-version = "0.10.0"
+name = "indicatif"
+version = "0.17.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf888f9575c290197b2c948dc9e9ff10bd1a39ad1ea8585f734585fa6b9d3f9"
+checksum = "4295cbb7573c16d310e99e713cf9e75101eb190ab31fccd35f2d2691b4352b19"
 dependencies = [
- "bitflags",
- "futures-core",
- "inotify-sys",
- "libc",
- "tokio",
+ "console",
+ "number_prefix",
+ "portable-atomic",
+ "unicode-width",
 ]
 
 [[package]]
-name = "inotify-sys"
-version = "0.1.4"
+name = "insta"
+version = "1.33.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4563555856585ab3180a5bf0b2f9f8d301a728462afffc8195b3f5394229c55"
+checksum = "1aa511b2e298cd49b1856746f6bb73e17036bcd66b25f5e92cdcdbec9bd75686"
 dependencies = [
- "libc",
+ "console",
+ "lazy_static",
+ "linked-hash-map",
+ "similar",
+ "yaml-rust",
 ]
 
 [[package]]
 name = "instant"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b141fdc7836c525d4d594027d318c84161ca17aaf8113ab1f81ab93ae897485"
-
-[[package]]
-name = "integer-encoding"
-version = "3.0.2"
+version = "0.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90c11140ffea82edce8dcd74137ce9324ec24b3cf0175fc9d7e29164da9915b8"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
 dependencies = [
- "async-trait",
- "futures-util",
+ "cfg-if",
 ]
 
 [[package]]
-name = "interchange"
-version = "0.0.0"
+name = "io-lifetimes"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
 dependencies = [
- "anyhow",
- "avro-derive",
- "base64",
- "byteorder",
- "ccsr",
- "chrono",
- "criterion",
- "dec",
- "differential-dataflow",
- "futures",
- "hex",
- "itertools",
- "lazy_static",
- "mz-avro",
- "mz-protoc",
- "num-traits",
- "ordered-float",
- "ore",
- "protobuf",
- "regex",
- "repr",
- "serde",
- "serde_json",
- "sha2",
- "smallvec",
- "sql-parser",
- "tempfile",
- "timely",
- "tokio",
- "tracing",
- "url",
- "uuid",
+ "hermit-abi 0.3.1",
+ "libc",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "ipnet"
-version = "2.3.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9"
+checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b"
 
 [[package]]
 name = "itertools"
-version = "0.10.3"
+version = "0.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
 dependencies = [
  "either",
 ]
 
 [[package]]
 name = "itoa"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"
-
-[[package]]
-name = "itoa"
-version = "1.0.1"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
+checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
 
 [[package]]
 name = "jobserver"
@@ -2416,60 +2838,241 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.51"
+version = "0.3.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
-name = "json"
-version = "0.12.4"
+name = "json-patch"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f54898088ccb91df1b492cc80029a6fdf1c48ca0db7c6822a8babad69c94658"
+dependencies = [
+ "serde",
+ "serde_json",
+ "thiserror",
+ "treediff",
+]
+
+[[package]]
+name = "jsonpath_lib"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd"
+checksum = "eaa63191d68230cccb81c5aa23abd53ed64d83337cacbb25a7b8c7979523774f"
+dependencies = [
+ "log",
+ "serde",
+ "serde_json",
+]
 
 [[package]]
-name = "json-flattened-view-gen"
-version = "0.1.0"
+name = "jsonwebtoken"
+version = "9.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c7ea04a7c5c055c175f189b6dc6ba036fd62306b58c66c9f6389036c503a3f4"
 dependencies = [
- "anyhow",
- "clap",
- "ore",
+ "base64 0.21.5",
+ "js-sys",
+ "pem",
+ "ring",
  "serde",
  "serde_json",
+ "simple_asn1",
 ]
 
 [[package]]
-name = "kafka-util"
-version = "0.0.0"
+name = "junit-report"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06c3a3342e6720a82d7d179f380e9841b73a1dd49344e33959fdfe571ce56b55"
 dependencies = [
- "anyhow",
- "ccsr",
+ "derive-getters",
+ "quick-xml",
+ "strip-ansi-escapes",
+ "time",
+]
+
+[[package]]
+name = "k8s-openapi"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edc3606fd16aca7989db2f84bb25684d0270c6d6fa1dbcd0025af7b4130523a6"
+dependencies = [
+ "base64 0.21.5",
+ "bytes",
  "chrono",
- "clap",
- "crossbeam",
+ "schemars",
+ "serde",
+ "serde-value",
+ "serde_json",
+]
+
+[[package]]
+name = "keyed_priority_queue"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d63b6407b66fc81fc539dccf3ddecb669f393c5101b6a2be3976c95099a06e8"
+dependencies = [
+ "indexmap 1.9.1",
+]
+
+[[package]]
+name = "kube"
+version = "0.87.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e34392aea935145070dcd5b39a6dea689ac6534d7d117461316c3d157b1d0fc3"
+dependencies = [
+ "k8s-openapi",
+ "kube-client",
+ "kube-core",
+ "kube-derive",
+ "kube-runtime",
+]
+
+[[package]]
+name = "kube-client"
+version = "0.87.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7266548b9269d9fa19022620d706697e64f312fb2ba31b93e6986453fcc82c92"
+dependencies = [
+ "base64 0.21.5",
+ "bytes",
+ "chrono",
+ "either",
  "futures",
- "mz-avro",
- "num_cpus",
- "ore",
+ "home",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-openssl",
+ "hyper-timeout",
+ "jsonpath_lib",
+ "k8s-openapi",
+ "kube-core",
+ "openssl",
+ "pem",
+ "pin-project",
  "rand",
- "rdkafka",
+ "secrecy",
  "serde",
  "serde_json",
+ "serde_yaml",
+ "thiserror",
  "tokio",
+ "tokio-tungstenite",
+ "tokio-util",
+ "tower",
+ "tower-http",
  "tracing",
- "url",
 ]
 
 [[package]]
-name = "krb5-src"
-version = "0.3.1+1.19.2"
+name = "kube-core"
+version = "0.87.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57fe5be675c272d885d49be528b3b048e38974a0579b0e691da2fb3f3c41eaca"
+checksum = "b8321c315b96b59f59ef6b33f604b84b905ab8f9ff114a4f909d934c520227b1"
 dependencies = [
- "duct",
- "openssl-sys",
+ "chrono",
+ "form_urlencoded",
+ "http",
+ "json-patch",
+ "k8s-openapi",
+ "once_cell",
+ "schemars",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "kube-derive"
+version = "0.87.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d54591e1f37fc329d412c0fdaced010cc1305b546a39f283fc51700f8fb49421"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote",
+ "serde_json",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "kube-runtime"
+version = "0.87.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e511e2c1a368d9d4bf6e70db58197e535d818df355b5a2007a8aeb17a370a8ba"
+dependencies = [
+ "ahash",
+ "async-trait",
+ "backoff",
+ "derivative",
+ "futures",
+ "hashbrown 0.14.0",
+ "json-patch",
+ "k8s-openapi",
+ "kube-client",
+ "parking_lot",
+ "pin-project",
+ "serde",
+ "serde_json",
+ "smallvec",
+ "thiserror",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "launchdarkly-server-sdk"
+version = "1.0.0"
+source = "git+https://github.com/MaterializeInc/rust-server-sdk#df1440c8b93a192d50470d1b258615febe52f1f8"
+dependencies = [
+ "built",
+ "chrono",
+ "crossbeam-channel",
+ "data-encoding",
+ "eventsource-client",
+ "futures",
+ "hyper",
+ "hyper-tls",
+ "launchdarkly-server-sdk-evaluation",
+ "lazy_static",
+ "log",
+ "lru",
+ "moka",
+ "parking_lot",
+ "ring",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+ "uuid",
+]
+
+[[package]]
+name = "launchdarkly-server-sdk-evaluation"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c27dd31ce69c55fca526d1c22c2dcca96fd0c98e496529d37eeef6c41652173"
+dependencies = [
+ "base16ct",
+ "chrono",
+ "itertools",
+ "lazy_static",
+ "log",
+ "maplit",
+ "regex",
+ "semver",
+ "serde",
+ "serde_json",
+ "serde_with",
+ "sha1",
+ "urlencoding",
 ]
 
 [[package]]
@@ -2479,33 +3082,60 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
-name = "libc"
-version = "0.2.112"
+name = "lazycell"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
 
 [[package]]
-name = "libm"
-version = "0.2.1"
+name = "lgalloc"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"
+checksum = "04e800ee9a186dfd634b56aac0814ab6281f87c962bc63087361fa73442e30e1"
+dependencies = [
+ "crossbeam-deque",
+ "libc",
+ "memmap2",
+ "tempfile",
+ "thiserror",
+]
 
 [[package]]
-name = "libsqlite3-sys"
-version = "0.23.1"
+name = "libc"
+version = "0.2.148"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
+
+[[package]]
+name = "libloading"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abd5850c449b40bacb498b2bbdfaff648b1b055630073ba8db499caf2d0ea9f2"
+checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd"
+dependencies = [
+ "cfg-if",
+ "winapi",
+]
+
+[[package]]
+name = "librocksdb-sys"
+version = "0.11.0+8.3.2"
+source = "git+https://github.com/MaterializeInc/rust-rocksdb?branch=master#3305d514d509c6b95b0c925c78157e5e4ae4b7ba"
 dependencies = [
+ "bindgen",
+ "bzip2-sys",
  "cc",
- "pkg-config",
- "vcpkg",
+ "glob",
+ "libc",
+ "libz-sys",
+ "lz4-sys",
+ "zstd-sys",
 ]
 
 [[package]]
 name = "libz-sys"
-version = "1.1.2"
+version = "1.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "602113192b08db8f38796c4e85c39e960c145965140e918018bcde1952429655"
+checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf"
 dependencies = [
  "cc",
  "libc",
@@ -2514,10 +3144,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "link-cplusplus"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8cae2cd7ba2f3f63938b9c724475dfb7b9861b545a90324476324ed21dbc8c8"
+dependencies = [
+ "cc",
+]
+
+[[package]]
 name = "linked-hash-map"
-version = "0.5.4"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
+checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linked_hash_set"
@@ -2529,44 +3168,87 @@ dependencies = [
 ]
 
 [[package]]
+name = "linux-raw-sys"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "36eb31c1778188ae1e64398743890d0877fef36d11521ac60406b42016e8c2cf"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+
+[[package]]
 name = "lock_api"
-version = "0.4.2"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312"
+checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b"
 dependencies = [
  "scopeguard",
 ]
 
 [[package]]
 name = "log"
-version = "0.4.14"
+version = "0.4.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
 dependencies = [
  "cfg-if",
 ]
 
 [[package]]
-name = "lowertest"
-version = "0.0.0"
+name = "loom"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5"
 dependencies = [
- "anyhow",
- "datadriven",
- "lazy_static",
- "lowertest-derive",
- "ore",
- "proc-macro2",
+ "cfg-if",
+ "generator",
+ "scoped-tls",
+ "tracing",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "lru"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1efa59af2ddfad1854ae27d75009d538d0998b4b2fd47083e743ac1a10e46c60"
+dependencies = [
+ "hashbrown 0.14.0",
+]
+
+[[package]]
+name = "lsp-types"
+version = "0.94.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c66bfd44a06ae10647fe3f8214762e9369fd4248df1350924b4ef9e770a85ea1"
+dependencies = [
+ "bitflags 1.3.2",
  "serde",
  "serde_json",
+ "serde_repr",
+ "url",
 ]
 
 [[package]]
-name = "lowertest-derive"
-version = "0.0.0"
+name = "lz4-sys"
+version = "1.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900"
 dependencies = [
- "proc-macro2",
- "quote",
- "syn",
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "mach2"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8"
+dependencies = [
+ "libc",
 ]
 
 [[package]]
@@ -2576,12 +3258,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
 
 [[package]]
+name = "match_cfg"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
+
+[[package]]
 name = "matchers"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
 dependencies = [
- "regex-automata",
+ "regex-automata 0.1.9",
 ]
 
 [[package]]
@@ -2591,337 +3279,2911 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
 
 [[package]]
-name = "materialized"
-version = "0.17.0"
+name = "matchit"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40"
+
+[[package]]
+name = "md-5"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "memmap2"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5172b50c23043ff43dd53e51392f36519d9b35a8f3a410d30ece5d1aedd58ae"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
+name = "mime_guess"
+version = "2.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
+dependencies = [
+ "mime",
+ "unicase",
+]
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+dependencies = [
+ "libc",
+ "log",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "moka"
+version = "0.9.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b49a05f67020456541f4f29cbaa812016a266a86ec76f96d3873d459c68fe5e"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+ "num_cpus",
+ "once_cell",
+ "parking_lot",
+ "rustc_version",
+ "scheduled-thread-pool",
+ "skeptic",
+ "smallvec",
+ "tagptr",
+ "thiserror",
+ "triomphe",
+ "uuid",
+]
+
+[[package]]
+name = "multimap"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
+
+[[package]]
+name = "multiversion"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "025c962a3dd3cc5e0e520aa9c612201d127dcdf28616974961a649dca64f5373"
+dependencies = [
+ "multiversion-macros",
+]
+
+[[package]]
+name = "multiversion-macros"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8a3e2bde382ebf960c1f3e79689fa5941625fe9bf694a1cb64af3e85faff3af"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "mysql_async"
+version = "0.33.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6750b17ce50f8f112ef1a8394121090d47c596b56a6a17569ca680a9626e2ef2"
+dependencies = [
+ "bytes",
+ "crossbeam",
+ "flate2",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "keyed_priority_queue",
+ "lazy_static",
+ "lru",
+ "mio",
+ "mysql_common",
+ "once_cell",
+ "pem",
+ "percent-encoding",
+ "pin-project",
+ "rand",
+ "serde",
+ "serde_json",
+ "socket2 0.5.3",
+ "thiserror",
+ "tokio",
+ "tokio-util",
+ "tracing",
+ "twox-hash",
+ "url",
+]
+
+[[package]]
+name = "mysql_common"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06f19e4cfa0ab5a76b627cec2d81331c49b034988eaf302c3bafeada684eadef"
+dependencies = [
+ "base64 0.21.5",
+ "bindgen",
+ "bitflags 2.4.1",
+ "bitvec",
+ "btoi",
+ "byteorder",
+ "bytes",
+ "cc",
+ "cmake",
+ "crc32fast",
+ "flate2",
+ "lazy_static",
+ "num-bigint",
+ "num-traits",
+ "rand",
+ "regex",
+ "saturating",
+ "serde",
+ "serde_json",
+ "sha1",
+ "sha2",
+ "smallvec",
+ "subprocess",
+ "thiserror",
+ "uuid",
+ "zstd 0.12.4",
+]
+
+[[package]]
+name = "mz"
+version = "0.3.0"
+dependencies = [
+ "assert_cmd",
+ "axum",
+ "clap",
+ "csv",
+ "dirs",
+ "hyper",
+ "indicatif",
+ "maplit",
+ "mz-build-info",
+ "mz-cloud-api",
+ "mz-frontegg-auth",
+ "mz-frontegg-client",
+ "mz-ore",
+ "once_cell",
+ "open",
+ "openssl-probe",
+ "reqwest",
+ "rpassword",
+ "security-framework",
+ "semver",
+ "serde",
+ "serde-aux",
+ "serde_json",
+ "tabled",
+ "termcolor",
+ "thiserror",
+ "time",
+ "tokio",
+ "toml",
+ "toml_edit",
+ "url",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-adapter"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "bytes",
+ "bytesize",
+ "chrono",
+ "criterion",
+ "datadriven",
+ "deadpool-postgres",
+ "dec",
+ "derivative",
+ "differential-dataflow",
+ "enum-kinds",
+ "fail",
+ "futures",
+ "governor",
+ "hex",
+ "http",
+ "itertools",
+ "launchdarkly-server-sdk",
+ "maplit",
+ "mz-adapter-types",
+ "mz-audit-log",
+ "mz-build-info",
+ "mz-catalog",
+ "mz-ccsr",
+ "mz-cloud-resources",
+ "mz-cluster-client",
+ "mz-compute-client",
+ "mz-compute-types",
+ "mz-controller",
+ "mz-controller-types",
+ "mz-expr",
+ "mz-kafka-util",
+ "mz-orchestrator",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-persist-types",
+ "mz-pgcopy",
+ "mz-pgrepr",
+ "mz-pgwire-common",
+ "mz-postgres-client",
+ "mz-postgres-util",
+ "mz-prof",
+ "mz-proto",
+ "mz-repr",
+ "mz-rocksdb-types",
+ "mz-secrets",
+ "mz-segment",
+ "mz-service",
+ "mz-sql",
+ "mz-sql-parser",
+ "mz-ssh-util",
+ "mz-stash",
+ "mz-storage-client",
+ "mz-storage-types",
+ "mz-timestamp-oracle",
+ "mz-tls-util",
+ "mz-tracing",
+ "mz-transform",
+ "once_cell",
+ "opentelemetry",
+ "prometheus",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "qcell",
+ "rand",
+ "rand_chacha",
+ "rdkafka",
+ "regex",
+ "reqwest",
+ "semver",
+ "serde",
+ "serde_json",
+ "serde_plain",
+ "smallvec",
+ "static_assertions",
+ "thiserror",
+ "timely",
+ "tokio",
+ "tokio-postgres",
+ "tokio-stream",
+ "tracing",
+ "tracing-core",
+ "tracing-opentelemetry",
+ "tracing-subscriber",
+ "uncased",
+ "url",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-adapter-types"
+version = "0.0.0"
+dependencies = [
+ "mz-ore",
+ "mz-repr",
+ "mz-storage-types",
+ "serde",
+ "timely",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-alloc"
+version = "0.0.0"
+dependencies = [
+ "mz-ore",
+ "mz-prof",
+ "mz-prof-http",
+ "tikv-jemallocator",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-audit-log"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "mz-ore",
+ "proptest",
+ "proptest-derive",
+ "serde",
+ "serde_json",
+ "serde_plain",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-avro"
+version = "0.7.0"
+dependencies = [
+ "anyhow",
+ "byteorder",
+ "chrono",
+ "crc32fast",
+ "digest",
+ "enum-kinds",
+ "flate2",
+ "itertools",
+ "mz-ore",
+ "once_cell",
+ "rand",
+ "regex",
+ "serde",
+ "serde_json",
+ "sha2",
+ "snap",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-avro-derive"
+version = "0.0.0"
+dependencies = [
+ "quote",
+ "syn 1.0.107",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-aws-secrets-controller"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "aws-config",
+ "aws-credential-types",
+ "aws-sdk-secretsmanager",
+ "aws-types",
+ "futures",
+ "mz-aws-util",
+ "mz-repr",
+ "mz-secrets",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-aws-util"
+version = "0.0.0"
+dependencies = [
+ "aws-config",
+ "aws-sdk-s3",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
+ "aws-types",
+ "hyper-tls",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-balancerd"
+version = "0.84.2"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "axum",
+ "bytes",
+ "bytesize",
+ "clap",
+ "futures",
+ "hyper",
+ "hyper-openssl",
+ "jsonwebtoken",
+ "mz-build-info",
+ "mz-environmentd",
+ "mz-frontegg-auth",
+ "mz-frontegg-mock",
+ "mz-http-util",
+ "mz-orchestrator-tracing",
+ "mz-ore",
+ "mz-pgwire-common",
+ "mz-server-core",
+ "num_cpus",
+ "openssl",
+ "postgres",
+ "prometheus",
+ "semver",
+ "tokio",
+ "tokio-openssl",
+ "tokio-postgres",
+ "tokio-util",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-build-info"
+version = "0.0.0"
+dependencies = [
+ "compile-time-run",
+ "semver",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-catalog"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "base64 0.13.1",
+ "bytes",
+ "bytesize",
+ "chrono",
+ "derivative",
+ "differential-dataflow",
+ "fail",
+ "futures",
+ "insta",
+ "itertools",
+ "md-5",
+ "mz-adapter-types",
+ "mz-audit-log",
+ "mz-build-info",
+ "mz-cloud-resources",
+ "mz-compute-client",
+ "mz-controller",
+ "mz-controller-types",
+ "mz-expr",
+ "mz-orchestrator",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-persist-types",
+ "mz-pgrepr",
+ "mz-pgtz",
+ "mz-postgres-util",
+ "mz-proto",
+ "mz-repr",
+ "mz-secrets",
+ "mz-sql",
+ "mz-sql-parser",
+ "mz-stash",
+ "mz-stash-types",
+ "mz-storage-client",
+ "mz-storage-types",
+ "once_cell",
+ "paste",
+ "postgres-openssl",
+ "prometheus",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "rand",
+ "serde",
+ "serde_json",
+ "serde_plain",
+ "sha2",
+ "similar-asserts",
+ "static_assertions",
+ "thiserror",
+ "timely",
+ "tokio",
+ "tokio-postgres",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-catalog-debug"
+version = "0.84.2"
+dependencies = [
+ "anyhow",
+ "clap",
+ "mz-adapter",
+ "mz-build-info",
+ "mz-catalog",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-secrets",
+ "mz-sql",
+ "mz-stash",
+ "mz-storage-types",
+ "mz-tls-util",
+ "once_cell",
+ "serde",
+ "serde_json",
+ "tokio",
+ "tokio-postgres",
+ "url",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-ccsr"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "hyper",
+ "mz-ore",
+ "native-tls",
+ "once_cell",
+ "openssl",
+ "prost-build",
+ "protobuf-src",
+ "reqwest",
+ "serde",
+ "serde_json",
+ "tokio",
+ "tracing",
+ "url",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-cloud-api"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "chrono",
+ "mz-frontegg-auth",
+ "mz-frontegg-client",
+ "once_cell",
+ "reqwest",
+ "serde",
+ "thiserror",
+ "tokio",
+ "url",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-cloud-resources"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "chrono",
+ "futures",
+ "k8s-openapi",
+ "kube",
+ "mz-ore",
+ "mz-repr",
+ "schemars",
+ "serde",
+ "serde_json",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-cluster"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "bytesize",
+ "clap",
+ "crossbeam-channel",
+ "dec",
+ "differential-dataflow",
+ "futures",
+ "mz-build-info",
+ "mz-cluster-client",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-persist-types",
+ "mz-pid-file",
+ "mz-repr",
+ "mz-service",
+ "mz-timely-util",
+ "once_cell",
+ "prometheus",
+ "regex",
+ "rocksdb",
+ "scopeguard",
+ "serde",
+ "smallvec",
+ "timely",
+ "tokio",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-cluster-client"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "chrono",
+ "futures",
+ "http",
+ "itertools",
+ "mz-ore",
+ "mz-proto",
+ "once_cell",
+ "prometheus",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "regex",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+ "tonic",
+ "tonic-build",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-clusterd"
+version = "0.84.2"
+dependencies = [
+ "anyhow",
+ "axum",
+ "clap",
+ "fail",
+ "futures",
+ "mz-alloc",
+ "mz-build-info",
+ "mz-cloud-resources",
+ "mz-cluster",
+ "mz-compute",
+ "mz-compute-client",
+ "mz-http-util",
+ "mz-metrics",
+ "mz-orchestrator-tracing",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-pid-file",
+ "mz-prof-http",
+ "mz-service",
+ "mz-storage",
+ "mz-storage-client",
+ "mz-storage-types",
+ "mz-timely-util",
+ "once_cell",
+ "timely",
+ "tokio",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-compute"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "bytesize",
+ "clap",
+ "core_affinity",
+ "crossbeam-channel",
+ "dec",
+ "differential-dataflow",
+ "dogsdogsdogs",
+ "futures",
+ "itertools",
+ "lgalloc",
+ "mz-build-info",
+ "mz-cluster",
+ "mz-cluster-client",
+ "mz-compute-client",
+ "mz-compute-types",
+ "mz-expr",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-persist-txn",
+ "mz-persist-types",
+ "mz-pid-file",
+ "mz-prof",
+ "mz-repr",
+ "mz-service",
+ "mz-storage-operators",
+ "mz-storage-types",
+ "mz-timely-util",
+ "once_cell",
+ "prometheus",
+ "scopeguard",
+ "serde",
+ "smallvec",
+ "timely",
+ "tokio",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-compute-client"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-stream",
+ "async-trait",
+ "bytesize",
+ "chrono",
+ "crossbeam-channel",
+ "differential-dataflow",
+ "futures",
+ "http",
+ "mz-build-info",
+ "mz-cluster-client",
+ "mz-compute-types",
+ "mz-expr",
+ "mz-orchestrator",
+ "mz-ore",
+ "mz-persist",
+ "mz-persist-client",
+ "mz-persist-types",
+ "mz-proto",
+ "mz-repr",
+ "mz-service",
+ "mz-storage-client",
+ "mz-storage-types",
+ "mz-timely-util",
+ "mz-tracing",
+ "once_cell",
+ "prometheus",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "regex",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "timely",
+ "tokio",
+ "tokio-stream",
+ "tonic",
+ "tonic-build",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-compute-types"
+version = "0.0.0"
+dependencies = [
+ "columnation",
+ "differential-dataflow",
+ "itertools",
+ "mz-expr",
+ "mz-ore",
+ "mz-proto",
+ "mz-repr",
+ "mz-storage-types",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "serde",
+ "timely",
+ "tonic-build",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-controller"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "bytesize",
+ "chrono",
+ "differential-dataflow",
+ "futures",
+ "mz-build-info",
+ "mz-cluster-client",
+ "mz-compute-client",
+ "mz-compute-types",
+ "mz-controller-types",
+ "mz-orchestrator",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-persist-types",
+ "mz-proto",
+ "mz-repr",
+ "mz-service",
+ "mz-stash-types",
+ "mz-storage-client",
+ "mz-storage-controller",
+ "mz-storage-types",
+ "once_cell",
+ "regex",
+ "serde",
+ "serde_json",
+ "timely",
+ "tokio",
+ "tokio-stream",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-controller-types"
+version = "0.0.0"
+dependencies = [
+ "mz-cluster-client",
+ "mz-compute-types",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-environmentd"
+version = "0.84.2"
 dependencies = [
  "anyhow",
  "askama",
- "askama_shared",
  "assert_cmd",
  "async-trait",
- "atty",
- "backtrace",
- "build-info",
+ "axum",
+ "base64 0.13.1",
  "bytes",
+ "bytesize",
  "cc",
- "cfg-if",
  "chrono",
  "clap",
- "compile-time-run",
- "coord",
- "coordtest",
- "crossbeam-channel",
  "datadriven",
- "dataflow",
- "dataflow-types",
- "dataflowd",
- "differential-dataflow",
  "fail",
  "fallible-iterator",
- "flate2",
  "futures",
- "hex",
- "hex-literal",
+ "headers",
+ "http",
+ "http-body",
+ "humantime",
  "hyper",
  "hyper-openssl",
+ "hyper-tls",
  "include_dir",
  "itertools",
- "kafka-util",
- "krb5-src",
- "lazy_static",
+ "jsonwebtoken",
  "libc",
- "mz-http-proxy",
- "mz-process-collector",
+ "mime",
+ "mz-adapter",
+ "mz-adapter-types",
+ "mz-alloc",
+ "mz-aws-secrets-controller",
+ "mz-build-info",
+ "mz-catalog",
+ "mz-cloud-resources",
+ "mz-controller",
+ "mz-environmentd",
+ "mz-expr",
+ "mz-frontegg-auth",
+ "mz-frontegg-mock",
+ "mz-http-util",
+ "mz-interchange",
+ "mz-metrics",
+ "mz-npm",
+ "mz-orchestrator",
+ "mz-orchestrator-kubernetes",
+ "mz-orchestrator-process",
+ "mz-orchestrator-tracing",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-pgrepr",
+ "mz-pgtest",
+ "mz-pgwire",
+ "mz-pgwire-common",
+ "mz-prof-http",
+ "mz-repr",
+ "mz-secrets",
+ "mz-segment",
+ "mz-server-core",
+ "mz-service",
+ "mz-sql",
+ "mz-sql-parser",
+ "mz-stash",
+ "mz-stash-types",
+ "mz-storage-client",
+ "mz-storage-types",
+ "mz-tls-util",
+ "mz-tracing",
  "nix",
  "num_cpus",
+ "once_cell",
  "openssl",
  "openssl-sys",
- "ore",
- "os_info",
- "pgrepr",
- "pgtest",
- "pgwire",
- "pid-file",
+ "opentelemetry",
+ "opentelemetry_sdk",
+ "pin-project",
  "postgres",
  "postgres-openssl",
  "postgres-protocol",
  "postgres_array",
  "predicates",
- "prof",
  "prometheus",
+ "proptest",
  "rand",
  "rdkafka-sys",
- "repr",
+ "regex",
  "reqwest",
  "rlimit",
- "semver",
+ "sentry",
+ "sentry-tracing",
  "serde",
  "serde_json",
- "sha2",
+ "serde_urlencoded",
  "shell-words",
- "sql",
+ "similar-asserts",
  "sysctl",
- "sysinfo",
- "tar",
  "tempfile",
- "tikv-jemallocator",
+ "thiserror",
  "timely",
  "tokio",
  "tokio-openssl",
  "tokio-postgres",
  "tokio-stream",
+ "tower",
+ "tower-http",
  "tracing",
+ "tracing-core",
+ "tracing-opentelemetry",
  "tracing-subscriber",
+ "tungstenite",
  "url",
  "uuid",
- "walkdir",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "mbta-to-mtrlz"
+name = "mz-expr"
 version = "0.0.0"
 dependencies = [
+ "aho-corasick",
  "anyhow",
- "byteorder",
+ "bytes",
+ "bytesize",
+ "chrono",
+ "chrono-tz",
+ "criterion",
+ "csv",
+ "datadriven",
+ "dec",
+ "derivative",
+ "encoding",
+ "enum-iterator",
+ "fallible-iterator",
+ "hex",
+ "hmac",
+ "itertools",
+ "md-5",
+ "mz-expr-test-util",
+ "mz-lowertest",
+ "mz-ore",
+ "mz-persist-types",
+ "mz-pgrepr",
+ "mz-pgtz",
+ "mz-proto",
+ "mz-regexp",
+ "mz-repr",
+ "mz-sql-parser",
+ "mz-sql-pretty",
+ "num",
+ "num_enum",
+ "once_cell",
+ "ordered-float",
+ "paste",
+ "proc-macro2",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "regex",
+ "regex-syntax",
+ "serde",
+ "serde_json",
+ "serde_regex",
+ "sha1",
+ "sha2",
+ "subtle",
+ "timely",
+ "tracing",
+ "uncased",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-expr-parser"
+version = "0.0.0"
+dependencies = [
+ "datadriven",
+ "mz-expr",
+ "mz-ore",
+ "mz-repr",
+ "proc-macro2",
+ "syn 2.0.39",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-expr-test-util"
+version = "0.0.0"
+dependencies = [
+ "datadriven",
+ "mz-expr",
+ "mz-lowertest",
+ "mz-ore",
+ "mz-repr",
+ "mz-repr-test-util",
+ "proc-macro2",
+ "serde",
+ "serde_json",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-fivetran-destination"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-compression",
+ "clap",
+ "csv-async",
+ "futures",
+ "itertools",
+ "mz-ore",
+ "mz-pgrepr",
+ "openssl",
+ "postgres-openssl",
+ "postgres-protocol",
+ "prost",
+ "prost-build",
+ "prost-types",
+ "protobuf-src",
+ "tokio",
+ "tokio-postgres",
+ "tonic",
+ "tonic-build",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-frontegg-auth"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "axum",
+ "base64 0.13.1",
  "clap",
+ "derivative",
  "futures",
- "json",
+ "jsonwebtoken",
+ "mz-ore",
+ "mz-repr",
+ "prometheus",
+ "reqwest",
+ "reqwest-middleware",
+ "reqwest-retry",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-frontegg-client"
+version = "0.0.0"
+dependencies = [
+ "jsonwebtoken",
+ "mz-frontegg-auth",
+ "mz-ore",
+ "once_cell",
+ "reqwest",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tokio",
+ "url",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-frontegg-mock"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "hyper",
+ "jsonwebtoken",
+ "mz-frontegg-auth",
+ "mz-ore",
+ "serde",
+ "serde_json",
+ "tokio",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-http-util"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "askama",
+ "axum",
+ "headers",
+ "http",
+ "hyper",
+ "include_dir",
+ "mz-ore",
+ "prometheus",
+ "serde",
+ "serde_json",
+ "tokio",
+ "tower",
+ "tower-http",
+ "tracing",
+ "tracing-subscriber",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-interchange"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "byteorder",
+ "chrono",
+ "clap",
+ "criterion",
+ "differential-dataflow",
+ "itertools",
+ "maplit",
+ "mz-avro",
+ "mz-avro-derive",
+ "mz-ccsr",
+ "mz-ore",
+ "mz-repr",
+ "once_cell",
  "ordered-float",
- "ore",
+ "prost",
+ "prost-build",
+ "prost-reflect",
+ "protobuf-src",
+ "serde_json",
+ "timely",
+ "tokio",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-kafka-util"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "chrono",
+ "clap",
+ "crossbeam",
+ "fancy-regex",
+ "futures",
+ "mz-avro",
+ "mz-ccsr",
+ "mz-ore",
+ "mz-ssh-util",
+ "num_cpus",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "rand",
  "rdkafka",
- "repr",
+ "serde",
  "serde_json",
- "test-util",
+ "thiserror",
  "tokio",
+ "tracing",
+ "url",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "md-5"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6a38fc55c8bbc10058782919516f88826e70320db6d206aebc49611d24216ae"
+name = "mz-lowertest"
+version = "0.0.0"
 dependencies = [
- "digest",
+ "anyhow",
+ "datadriven",
+ "mz-lowertest-derive",
+ "mz-ore",
+ "proc-macro2",
+ "serde",
+ "serde_json",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "md5"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
+name = "mz-lowertest-derive"
+version = "0.0.0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+ "workspace-hack",
+]
 
 [[package]]
-name = "memchr"
-version = "2.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
+name = "mz-lsp-server"
+version = "0.3.0"
+dependencies = [
+ "httparse",
+ "mz-build-info",
+ "mz-ore",
+ "mz-sql-lexer",
+ "mz-sql-parser",
+ "mz-sql-pretty",
+ "once_cell",
+ "regex",
+ "ropey",
+ "serde",
+ "serde_json",
+ "tokio",
+ "tower-lsp",
+ "workspace-hack",
+]
 
 [[package]]
-name = "memmap"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
+name = "mz-metabase"
+version = "0.0.0"
+dependencies = [
+ "reqwest",
+ "serde",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-metabase-smoketest"
+version = "0.0.0"
 dependencies = [
+ "anyhow",
+ "itertools",
+ "mz-metabase",
+ "mz-ore",
+ "tokio",
+ "tokio-postgres",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-metrics"
+version = "0.0.0"
+dependencies = [
+ "lgalloc",
  "libc",
- "winapi",
+ "mz-ore",
+ "paste",
+ "prometheus",
+ "tokio",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "memoffset"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
+name = "mz-mysql-util"
+version = "0.1.0"
 dependencies = [
- "autocfg",
+ "anyhow",
+ "indexmap 1.9.1",
+ "itertools",
+ "mysql_async",
+ "mz-ore",
+ "mz-proto",
+ "mz-repr",
+ "mz-ssh-util",
+ "once_cell",
+ "proptest",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "serde",
+ "thiserror",
+ "tonic-build",
+ "tracing",
+ "uuid",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "metabase"
+name = "mz-npm"
 version = "0.0.0"
 dependencies = [
+ "anyhow",
+ "flate2",
+ "hex",
+ "hex-literal",
  "reqwest",
+ "sha2",
+ "tar",
+ "walkdir",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-orchestrator"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "bytesize",
+ "chrono",
+ "derivative",
+ "futures-core",
+ "mz-ore",
+ "prost",
+ "protobuf-src",
+ "serde",
+ "tonic-build",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-orchestrator-kubernetes"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "chrono",
+ "clap",
+ "fail",
+ "futures",
+ "k8s-openapi",
+ "kube",
+ "maplit",
+ "mz-cloud-resources",
+ "mz-orchestrator",
+ "mz-repr",
+ "mz-secrets",
  "serde",
  "serde_json",
+ "sha2",
+ "tracing",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "metabase-smoketest"
+name = "mz-orchestrator-process"
 version = "0.0.0"
 dependencies = [
  "anyhow",
+ "async-stream",
+ "async-trait",
+ "chrono",
+ "futures",
+ "hex",
  "itertools",
- "metabase",
- "ore",
+ "libc",
+ "maplit",
+ "mz-orchestrator",
+ "mz-ore",
+ "mz-pid-file",
+ "mz-repr",
+ "mz-secrets",
+ "nix",
+ "scopeguard",
+ "serde",
+ "serde_json",
+ "sha1",
+ "sysinfo",
+ "tokio",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-orchestrator-tracing"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "clap",
+ "futures-core",
+ "http",
+ "humantime",
+ "mz-build-info",
+ "mz-orchestrator",
+ "mz-ore",
+ "mz-repr",
+ "mz-service",
+ "mz-tracing",
+ "opentelemetry",
+ "opentelemetry_sdk",
+ "sentry-tracing",
+ "tracing",
+ "tracing-subscriber",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-ore"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "atty",
+ "bytes",
+ "chrono",
+ "clap",
+ "compact_bytes",
+ "console-subscriber",
+ "criterion",
+ "ctor",
+ "either",
+ "futures",
+ "hibitset",
+ "http",
+ "hyper",
+ "hyper-tls",
+ "lgalloc",
+ "mz-ore",
+ "mz-test-macro",
+ "native-tls",
+ "num",
+ "once_cell",
+ "openssl",
+ "opentelemetry",
+ "opentelemetry-otlp",
+ "opentelemetry_sdk",
+ "paste",
+ "pin-project",
+ "prometheus",
+ "proptest",
+ "rand",
+ "scopeguard",
+ "sentry",
+ "sentry-tracing",
+ "serde",
+ "serde_json",
+ "smallvec",
+ "stacker",
+ "tokio",
+ "tokio-native-tls",
+ "tokio-openssl",
+ "tokio-test",
+ "tonic",
+ "tracing",
+ "tracing-opentelemetry",
+ "tracing-subscriber",
+ "uuid",
+ "workspace-hack",
+ "yansi",
+]
+
+[[package]]
+name = "mz-persist"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "arrow2",
+ "async-stream",
+ "async-trait",
+ "aws-config",
+ "aws-credential-types",
+ "aws-sdk-s3",
+ "aws-types",
+ "base64 0.13.1",
+ "bytes",
+ "deadpool-postgres",
+ "differential-dataflow",
+ "fail",
+ "futures-util",
+ "md-5",
+ "mz-aws-util",
+ "mz-ore",
+ "mz-persist-types",
+ "mz-postgres-client",
+ "mz-proto",
+ "once_cell",
+ "openssl",
+ "openssl-sys",
+ "postgres-openssl",
+ "prometheus",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "rand",
+ "serde",
+ "serde_json",
+ "tempfile",
+ "timely",
  "tokio",
  "tokio-postgres",
  "tracing",
+ "url",
+ "uuid",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "mime"
-version = "0.3.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+name = "mz-persist-client"
+version = "0.84.2"
+dependencies = [
+ "anyhow",
+ "async-stream",
+ "async-trait",
+ "bytes",
+ "clap",
+ "criterion",
+ "datadriven",
+ "differential-dataflow",
+ "futures",
+ "futures-task",
+ "futures-util",
+ "h2",
+ "hex",
+ "mz-build-info",
+ "mz-ore",
+ "mz-persist",
+ "mz-persist-types",
+ "mz-postgres-client",
+ "mz-proto",
+ "mz-timely-util",
+ "num_cpus",
+ "once_cell",
+ "prometheus",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "semver",
+ "sentry-tracing",
+ "serde",
+ "serde_json",
+ "tempfile",
+ "thiserror",
+ "timely",
+ "tokio",
+ "tokio-metrics",
+ "tokio-stream",
+ "tonic",
+ "tonic-build",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
 
 [[package]]
-name = "mime_guess"
-version = "2.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
+name = "mz-persist-txn"
+version = "0.0.0"
 dependencies = [
- "mime",
- "unicase",
+ "bytes",
+ "crossbeam-channel",
+ "differential-dataflow",
+ "futures",
+ "itertools",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-persist-types",
+ "mz-timely-util",
+ "prometheus",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "rand",
+ "serde",
+ "timely",
+ "tokio",
+ "tracing",
+ "uuid",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "minimal-lexical"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+name = "mz-persist-types"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "arrow2",
+ "bytes",
+ "chrono",
+ "hex",
+ "mz-ore",
+ "mz-proto",
+ "parquet2",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "serde",
+ "serde_json",
+ "workspace-hack",
+]
 
 [[package]]
-name = "miniz_oxide"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be0f75932c1f6cfae3c04000e40114adf955636e19040f9c0a2c380702aa1c7f"
+name = "mz-pgcopy"
+version = "0.0.0"
 dependencies = [
- "adler",
+ "bytes",
+ "csv",
+ "mz-ore",
+ "mz-pgrepr",
+ "mz-repr",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "mio"
-version = "0.7.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf80d3e903b34e0bd7282b218398aec54e082c840d9baf8339e0080a0c542956"
+name = "mz-pgrepr"
+version = "0.0.0"
 dependencies = [
- "libc",
- "log",
- "miow",
- "ntapi",
- "winapi",
+ "byteorder",
+ "bytes",
+ "chrono",
+ "dec",
+ "mz-ore",
+ "mz-pgrepr-consts",
+ "mz-pgwire-common",
+ "mz-repr",
+ "once_cell",
+ "postgres-types",
+ "uuid",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "miow"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
+name = "mz-pgrepr-consts"
+version = "0.0.0"
 dependencies = [
- "winapi",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "mz-avro"
-version = "0.6.5"
+name = "mz-pgtest"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "bytes",
+ "clap",
+ "datadriven",
+ "fallible-iterator",
+ "mz-ore",
+ "postgres-protocol",
+ "serde",
+ "serde_json",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-pgtz"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "chrono",
+ "chrono-tz",
+ "mz-lowertest",
+ "mz-ore",
+ "mz-proto",
+ "phf",
+ "phf_codegen",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "serde",
+ "uncased",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-pgwire"
+version = "0.0.0"
 dependencies = [
  "anyhow",
+ "async-trait",
  "byteorder",
+ "bytes",
+ "bytesize",
+ "futures",
+ "itertools",
+ "mz-adapter",
+ "mz-adapter-types",
+ "mz-expr",
+ "mz-frontegg-auth",
+ "mz-ore",
+ "mz-pgcopy",
+ "mz-pgrepr",
+ "mz-pgwire-common",
+ "mz-repr",
+ "mz-server-core",
+ "mz-sql",
+ "openssl",
+ "postgres",
+ "tokio",
+ "tokio-openssl",
+ "tokio-stream",
+ "tokio-util",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-pgwire-common"
+version = "0.0.0"
+dependencies = [
+ "async-trait",
+ "byteorder",
+ "bytes",
+ "bytesize",
+ "mz-ore",
+ "mz-server-core",
+ "tokio",
+ "tokio-openssl",
+ "tokio-postgres",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-pid-file"
+version = "0.0.0"
+dependencies = [
+ "cc",
+ "libc",
+ "mz-ore",
+ "tempfile",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-postgres-client"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "deadpool-postgres",
+ "mz-ore",
+ "mz-tls-util",
+ "prometheus",
+ "tokio",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-postgres-util"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "mz-cloud-resources",
+ "mz-ore",
+ "mz-proto",
+ "mz-repr",
+ "mz-ssh-util",
+ "mz-tls-util",
+ "openssh",
+ "openssl",
+ "postgres-openssl",
+ "postgres_array",
+ "proptest",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "serde",
+ "thiserror",
+ "tokio",
+ "tokio-postgres",
+ "tonic-build",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-proc"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "libc",
+ "mz-ore",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-prof"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "backtrace",
+ "flate2",
+ "libc",
+ "mz-ore",
+ "mz-proc",
+ "once_cell",
+ "pprof",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "tempfile",
+ "tikv-jemalloc-ctl",
+ "tokio",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-prof-http"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "askama",
+ "axum",
+ "bytesize",
+ "cfg-if",
+ "headers",
+ "http",
+ "include_dir",
+ "mime",
+ "mz-build-info",
+ "mz-http-util",
+ "mz-npm",
+ "mz-ore",
+ "mz-prof",
+ "once_cell",
+ "serde",
+ "tokio",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-proto"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
  "chrono",
- "crc32fast",
- "digest",
+ "chrono-tz",
+ "globset",
+ "http",
+ "mz-ore",
+ "num",
+ "proptest",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "regex",
+ "serde_json",
+ "tokio-postgres",
+ "url",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-regexp"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "mz-ore",
+ "mz-repr",
+ "postgres",
+ "regex",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-repr"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "bitflags 1.3.2",
+ "bytes",
+ "cfg-if",
+ "chrono",
+ "chrono-tz",
+ "columnation",
+ "compact_bytes",
+ "criterion",
+ "dec",
+ "differential-dataflow",
  "enum-kinds",
- "flate2",
+ "enum_dispatch",
+ "fast-float",
+ "hex",
  "itertools",
- "lazy_static",
- "md-5",
+ "mz-lowertest",
+ "mz-ore",
+ "mz-persist",
+ "mz-persist-types",
+ "mz-pgtz",
+ "mz-proto",
+ "mz-sql-parser",
+ "num-traits",
+ "num_enum",
+ "once_cell",
+ "ordered-float",
+ "postgres-protocol",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
  "rand",
  "regex",
+ "ryu",
  "serde",
  "serde_json",
- "sha2",
- "snap",
+ "smallvec",
+ "static_assertions",
+ "strsim",
+ "thiserror",
+ "timely",
+ "tokio-postgres",
  "tracing",
+ "tracing-core",
+ "tracing-subscriber",
+ "url",
  "uuid",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "mz-aws-util"
+name = "mz-repr-test-util"
+version = "0.0.0"
+dependencies = [
+ "chrono",
+ "datadriven",
+ "mz-lowertest",
+ "mz-ore",
+ "mz-repr",
+ "proc-macro2",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-rocksdb"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "bincode",
+ "derivative",
+ "itertools",
+ "mz-ore",
+ "mz-proto",
+ "mz-rocksdb-types",
+ "num_cpus",
+ "once_cell",
+ "prometheus",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "rocksdb",
+ "serde",
+ "serde_json",
+ "tempfile",
+ "thiserror",
+ "tokio",
+ "tonic-build",
+ "tracing",
+ "uncased",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-rocksdb-types"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "mz-ore",
+ "mz-proto",
+ "num_cpus",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "serde",
+ "tonic-build",
+ "uncased",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-s3-datagen"
 version = "0.0.0"
 dependencies = [
  "anyhow",
  "aws-config",
- "aws-sdk-kinesis",
  "aws-sdk-s3",
- "aws-sdk-sqs",
- "aws-sdk-sts",
- "aws-smithy-client",
- "aws-smithy-http",
- "aws-types",
- "hyper",
- "mz-http-proxy",
+ "bytefmt",
+ "clap",
+ "futures",
+ "indicatif",
+ "mz-aws-util",
+ "mz-ore",
+ "tokio",
+ "tracing",
+ "tracing-subscriber",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "mz-http-proxy"
-version = "0.1.0"
+name = "mz-secrets"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "mz-ore",
+ "mz-repr",
+ "tokio",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-segment"
+version = "0.0.0"
+dependencies = [
+ "mz-ore",
+ "segment",
+ "serde_json",
+ "tokio",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-server-core"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "futures",
+ "mz-ore",
+ "openssl",
+ "socket2 0.5.3",
+ "tokio",
+ "tokio-stream",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-service"
+version = "0.0.0"
 dependencies = [
+ "anyhow",
+ "async-stream",
+ "async-trait",
+ "clap",
+ "crossbeam-channel",
+ "futures",
  "http",
- "hyper",
- "hyper-proxy",
- "hyper-tls",
- "ipnet",
- "lazy_static",
+ "itertools",
+ "mz-aws-secrets-controller",
+ "mz-build-info",
+ "mz-orchestrator-kubernetes",
+ "mz-orchestrator-process",
+ "mz-ore",
+ "mz-proto",
+ "mz-repr",
+ "mz-secrets",
+ "once_cell",
+ "os_info",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "semver",
+ "sentry-tracing",
+ "serde",
+ "sysinfo",
+ "timely",
+ "tokio",
+ "tokio-stream",
+ "tonic",
+ "tonic-build",
+ "tower",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-sql"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "array-concat",
+ "aws-sdk-sts",
+ "bitflags 1.3.2",
+ "chrono",
+ "clap",
+ "datadriven",
+ "enum-kinds",
+ "fail",
+ "globset",
+ "hex",
+ "http",
+ "itertools",
+ "maplit",
+ "mysql_async",
+ "mz-adapter-types",
+ "mz-build-info",
+ "mz-ccsr",
+ "mz-cloud-resources",
+ "mz-controller-types",
+ "mz-expr",
+ "mz-interchange",
+ "mz-kafka-util",
+ "mz-lowertest",
+ "mz-mysql-util",
+ "mz-orchestrator",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-pgcopy",
+ "mz-pgrepr",
+ "mz-pgwire-common",
+ "mz-postgres-util",
+ "mz-proto",
+ "mz-repr",
+ "mz-rocksdb-types",
+ "mz-secrets",
+ "mz-sql-lexer",
+ "mz-sql-parser",
+ "mz-ssh-util",
+ "mz-storage-types",
+ "mz-tracing",
+ "num_enum",
+ "once_cell",
+ "paste",
+ "postgres_array",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "protobuf-native",
+ "rdkafka",
+ "regex",
  "reqwest",
+ "serde",
+ "serde_json",
+ "static_assertions",
+ "thiserror",
+ "tokio",
+ "tokio-postgres",
  "tracing",
+ "tracing-subscriber",
+ "uncased",
+ "uuid",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "mz-process-collector"
+name = "mz-sql-lexer"
 version = "0.0.0"
 dependencies = [
- "lazy_static",
- "libc",
- "ore",
- "procfs",
+ "anyhow",
+ "datadriven",
+ "mz-ore",
+ "phf",
+ "phf_codegen",
+ "serde",
+ "uncased",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-sql-parser"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "bytesize",
+ "datadriven",
+ "enum-kinds",
+ "itertools",
+ "mz-ore",
+ "mz-sql-lexer",
+ "mz-sql-parser",
+ "mz-walkabout",
+ "phf",
+ "serde",
+ "thiserror",
+ "tracing",
+ "uncased",
+ "unicode-width",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-sql-pretty"
+version = "0.0.0"
+dependencies = [
+ "datadriven",
+ "mz-ore",
+ "mz-sql-parser",
+ "pretty",
+ "thiserror",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-sqllogictest"
+version = "0.0.1"
+dependencies = [
+ "anyhow",
+ "bytes",
+ "chrono",
+ "clap",
+ "dec",
+ "fallible-iterator",
+ "futures",
+ "itertools",
+ "junit-report",
+ "md-5",
+ "mz-build-info",
+ "mz-cloud-resources",
+ "mz-controller",
+ "mz-environmentd",
+ "mz-orchestrator",
+ "mz-orchestrator-process",
+ "mz-orchestrator-tracing",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-pgrepr",
+ "mz-repr",
+ "mz-secrets",
+ "mz-service",
+ "mz-sql",
+ "mz-sql-parser",
+ "mz-stash-types",
+ "mz-storage-types",
+ "mz-tracing",
+ "once_cell",
+ "postgres-protocol",
+ "regex",
+ "reqwest",
+ "serde_json",
+ "shell-words",
+ "tempfile",
+ "time",
+ "tokio",
+ "tokio-postgres",
+ "tokio-stream",
+ "tower-http",
+ "tracing",
+ "uuid",
+ "walkdir",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-ssh-util"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "futures",
+ "mz-ore",
+ "openssh",
+ "openssh-mux-client",
+ "openssl",
+ "rand",
+ "scopeguard",
+ "serde",
+ "serde_json",
+ "ssh-key",
+ "tempfile",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+ "tracing",
+ "workspace-hack",
+ "zeroize",
+]
+
+[[package]]
+name = "mz-stash"
+version = "0.0.0"
+dependencies = [
+ "bytes",
+ "criterion",
+ "derivative",
+ "differential-dataflow",
+ "fail",
+ "futures",
+ "itertools",
+ "mz-ore",
+ "mz-proto",
+ "mz-stash-types",
+ "mz-tls-util",
+ "once_cell",
+ "paste",
+ "postgres-openssl",
+ "prometheus",
+ "proptest",
+ "prost",
+ "rand",
+ "serde",
+ "timely",
+ "tokio",
+ "tokio-postgres",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-stash-debug"
+version = "0.84.2"
+dependencies = [
+ "anyhow",
+ "clap",
+ "futures",
+ "mz-adapter",
+ "mz-build-info",
+ "mz-catalog",
+ "mz-ore",
+ "mz-secrets",
+ "mz-sql",
+ "mz-stash",
+ "mz-storage-controller",
+ "mz-storage-types",
+ "mz-tls-util",
+ "once_cell",
+ "prost",
+ "serde_json",
+ "tokio",
+ "tokio-postgres",
+ "tracing",
+ "tracing-subscriber",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-stash-types"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "mz-ore",
+ "mz-proto",
+ "paste",
  "prometheus",
+ "prost",
+ "serde",
+ "tokio-postgres",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "mz-protoc"
+name = "mz-storage"
 version = "0.0.0"
 dependencies = [
  "anyhow",
+ "async-stream",
+ "async-trait",
+ "axum",
+ "bincode",
+ "bytes",
+ "bytesize",
+ "chrono",
  "clap",
- "ore",
- "protobuf",
- "protobuf-codegen",
- "protobuf-parse",
+ "crossbeam-channel",
+ "csv-core",
+ "datadriven",
+ "dec",
+ "differential-dataflow",
+ "either",
+ "fail",
+ "futures",
+ "globset",
+ "http",
+ "humantime",
+ "indexmap 2.0.0",
+ "itertools",
+ "maplit",
+ "mysql_async",
+ "mysql_common",
+ "mz-avro",
+ "mz-aws-util",
+ "mz-build-info",
+ "mz-ccsr",
+ "mz-cloud-resources",
+ "mz-cluster",
+ "mz-expr",
+ "mz-http-util",
+ "mz-interchange",
+ "mz-kafka-util",
+ "mz-mysql-util",
+ "mz-orchestrator-tracing",
+ "mz-ore",
+ "mz-persist",
+ "mz-persist-client",
+ "mz-persist-types",
+ "mz-pgcopy",
+ "mz-pid-file",
+ "mz-postgres-util",
+ "mz-repr",
+ "mz-rocksdb",
+ "mz-secrets",
+ "mz-service",
+ "mz-sql-parser",
+ "mz-ssh-util",
+ "mz-storage-client",
+ "mz-storage-operators",
+ "mz-storage-types",
+ "mz-timely-util",
+ "num_cpus",
+ "once_cell",
+ "postgres-protocol",
+ "prometheus",
+ "prost",
+ "protobuf-src",
+ "rand",
+ "rdkafka",
+ "regex",
+ "rocksdb",
+ "seahash",
+ "serde",
+ "serde_json",
+ "sha2",
  "tempfile",
+ "thiserror",
+ "timely",
+ "tokio",
+ "tokio-postgres",
+ "tokio-stream",
+ "tokio-util",
+ "tonic-build",
+ "tracing",
+ "tracing-subscriber",
+ "url",
+ "uuid",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "mzcloud"
-version = "1.0.0"
-source = "git+https://github.com/MaterializeInc/cloud-sdks#b7886468ceb9e76d1c4b9e0b1b82a957ddd2b1c8"
+name = "mz-storage-client"
+version = "0.0.0"
 dependencies = [
- "reqwest",
+ "anyhow",
+ "async-trait",
+ "chrono",
+ "differential-dataflow",
+ "http",
+ "itertools",
+ "maplit",
+ "mz-ccsr",
+ "mz-cluster-client",
+ "mz-kafka-util",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-persist-types",
+ "mz-proto",
+ "mz-repr",
+ "mz-service",
+ "mz-storage-types",
+ "mz-timely-util",
+ "once_cell",
+ "prometheus",
+ "proptest",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "rdkafka",
+ "serde",
+ "serde_json",
+ "static_assertions",
+ "timely",
+ "tokio",
+ "tokio-stream",
+ "tonic",
+ "tonic-build",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-storage-controller"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "bytes",
+ "chrono",
+ "differential-dataflow",
+ "futures",
+ "itertools",
+ "mz-build-info",
+ "mz-cluster-client",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-persist-txn",
+ "mz-persist-types",
+ "mz-proto",
+ "mz-repr",
+ "mz-service",
+ "mz-stash",
+ "mz-stash-types",
+ "mz-storage-client",
+ "mz-storage-types",
+ "mz-tls-util",
+ "once_cell",
+ "proptest",
+ "prost",
+ "serde",
+ "serde_json",
+ "timely",
+ "tokio",
+ "tokio-postgres",
+ "tokio-stream",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-storage-operators"
+version = "0.0.0"
+dependencies = [
+ "async-stream",
+ "differential-dataflow",
+ "futures",
+ "mz-expr",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-persist-txn",
+ "mz-persist-types",
+ "mz-repr",
+ "mz-storage-types",
+ "mz-timely-util",
+ "prometheus",
+ "proptest",
+ "serde",
+ "timely",
+ "tokio",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-storage-types"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "aws-config",
+ "aws-credential-types",
+ "aws-sdk-sts",
+ "aws-types",
+ "base64 0.13.1",
+ "bytes",
+ "dec",
+ "derivative",
+ "differential-dataflow",
+ "fail",
+ "itertools",
+ "mysql_async",
+ "mz-aws-util",
+ "mz-ccsr",
+ "mz-cloud-resources",
+ "mz-expr",
+ "mz-interchange",
+ "mz-kafka-util",
+ "mz-mysql-util",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-persist-txn",
+ "mz-persist-types",
+ "mz-postgres-util",
+ "mz-proto",
+ "mz-repr",
+ "mz-rocksdb-types",
+ "mz-secrets",
+ "mz-service",
+ "mz-ssh-util",
+ "mz-stash-types",
+ "mz-timely-util",
+ "mz-tracing",
+ "native-tls",
+ "num_enum",
+ "once_cell",
+ "openssl",
+ "proptest",
+ "proptest-derive",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "rdkafka",
+ "scopeguard",
  "serde",
- "serde_derive",
  "serde_json",
+ "thiserror",
+ "timely",
+ "tokio",
+ "tokio-postgres",
+ "tonic-build",
+ "tracing",
  "url",
+ "uuid",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "mzcloud-cli"
+name = "mz-test-macro"
 version = "0.1.0"
 dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-test-util"
+version = "0.0.0"
+dependencies = [
  "anyhow",
+ "chrono",
+ "mz-kafka-util",
+ "mz-ore",
+ "rand",
+ "rdkafka",
+ "tokio",
+ "tokio-postgres",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-testdrive"
+version = "0.84.2"
+dependencies = [
+ "anyhow",
+ "async-compression",
+ "async-trait",
+ "atty",
+ "aws-config",
+ "aws-credential-types",
+ "aws-sdk-sts",
+ "aws-types",
+ "byteorder",
+ "bytes",
+ "chrono",
  "clap",
- "mzcloud",
- "ore",
+ "flate2",
+ "futures",
+ "globset",
+ "hex",
+ "http",
+ "humantime",
+ "itertools",
+ "junit-report",
+ "maplit",
+ "md-5",
+ "mysql_async",
+ "mz-adapter",
+ "mz-avro",
+ "mz-aws-util",
+ "mz-build-info",
+ "mz-catalog",
+ "mz-ccsr",
+ "mz-expr",
+ "mz-interchange",
+ "mz-kafka-util",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-persist-types",
+ "mz-pgrepr",
+ "mz-repr",
+ "mz-sql",
+ "mz-sql-parser",
+ "mz-stash",
+ "mz-storage-types",
+ "mz-tls-util",
+ "once_cell",
+ "postgres_array",
+ "prost",
+ "prost-reflect",
+ "protobuf-src",
+ "rand",
+ "rdkafka",
+ "regex",
  "reqwest",
  "serde",
  "serde_json",
+ "similar",
  "tempfile",
+ "termcolor",
+ "tiberius",
+ "time",
  "tokio",
- "zip",
+ "tokio-postgres",
+ "tokio-stream",
+ "tokio-util",
+ "tracing",
+ "tracing-subscriber",
+ "url",
+ "uuid",
+ "walkdir",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-timely-util"
+version = "0.0.0"
+dependencies = [
+ "ahash",
+ "differential-dataflow",
+ "futures-util",
+ "mz-ore",
+ "num-traits",
+ "proptest",
+ "serde",
+ "timely",
+ "tokio",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-timestamp-oracle"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "deadpool-postgres",
+ "dec",
+ "futures",
+ "mz-adapter-types",
+ "mz-ore",
+ "mz-pgrepr",
+ "mz-postgres-client",
+ "mz-repr",
+ "rand",
+ "serde",
+ "tokio",
+ "tracing",
+ "uuid",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-tls-util"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "openssl",
+ "openssl-sys",
+ "postgres-openssl",
+ "thiserror",
+ "tokio",
+ "tokio-postgres",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-tracing"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "mz-ore",
+ "mz-proto",
+ "proptest",
+ "prost",
+ "prost-build",
+ "protobuf-src",
+ "serde",
+ "tonic-build",
+ "tracing",
+ "tracing-subscriber",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-transform"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "datadriven",
+ "differential-dataflow",
+ "enum-kinds",
+ "itertools",
+ "mz-compute-types",
+ "mz-expr",
+ "mz-expr-parser",
+ "mz-expr-test-util",
+ "mz-lowertest",
+ "mz-ore",
+ "mz-persist-client",
+ "mz-repr",
+ "num-traits",
+ "ordered-float",
+ "paste",
+ "proc-macro2",
+ "serde_json",
+ "tracing",
+ "workspace-hack",
+]
+
+[[package]]
+name = "mz-walkabout"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "datadriven",
+ "itertools",
+ "mz-ore",
+ "quote",
+ "syn 1.0.107",
+ "tempfile",
+ "workspace-hack",
 ]
 
 [[package]]
 name = "native-tls"
-version = "0.2.8"
+version = "0.2.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d"
+checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
 dependencies = [
  "lazy_static",
  "libc",
@@ -2937,29 +6199,41 @@ dependencies = [
 
 [[package]]
 name = "nix"
-version = "0.23.1"
+version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6"
+checksum = "46a58d1d356c6597d08cde02c2f09d785b09e28711837b1ed667dc652c08a694"
 dependencies = [
- "bitflags",
- "cc",
+ "bitflags 1.3.2",
  "cfg-if",
  "libc",
  "memoffset",
+ "pin-utils",
+ "static_assertions",
 ]
 
 [[package]]
+name = "no-std-compat"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c"
+
+[[package]]
 name = "nom"
-version = "7.1.0"
+version = "7.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109"
+checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c"
 dependencies = [
  "memchr",
  "minimal-lexical",
- "version_check",
 ]
 
 [[package]]
+name = "nonzero_ext"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21"
+
+[[package]]
 name = "normalize-line-endings"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2967,14 +6241,24 @@ checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
 
 [[package]]
 name = "ntapi"
-version = "0.3.4"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a31937dea023539c72ddae0e3571deadc1414b300483fa7aaec176168cfa9d2"
+checksum = "bc51db7b362b205941f71232e56c625156eb9a929f8cf74a428fd5bc094a4afc"
 dependencies = [
  "winapi",
 ]
 
 [[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
 name = "num"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2990,9 +6274,9 @@ dependencies = [
 
 [[package]]
 name = "num-bigint"
-version = "0.4.2"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74e768dff5fb39a41b3bcd30bb25cf989706c90d028d1ad71971987aa309d535"
+checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
 dependencies = [
  "autocfg",
  "num-integer",
@@ -3043,43 +6327,42 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.14"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
 dependencies = [
  "autocfg",
- "libm",
 ]
 
 [[package]]
 name = "num_cpus"
-version = "1.13.1"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
 dependencies = [
- "hermit-abi",
+ "hermit-abi 0.2.6",
  "libc",
 ]
 
 [[package]]
 name = "num_enum"
-version = "0.5.6"
+version = "0.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "720d3ea1055e4e4574c0c0b0f8c3fd4f24c4cdaf465948206dea090b57b526ad"
+checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9"
 dependencies = [
  "num_enum_derive",
 ]
 
 [[package]]
 name = "num_enum_derive"
-version = "0.5.6"
+version = "0.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d992b768490d7fe0d8586d9b5745f6c49f557da6d81dc982b1d167ad4edbb21"
+checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
@@ -3090,18 +6373,18 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
 
 [[package]]
 name = "object"
-version = "0.27.1"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.8.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "oorandom"
@@ -3110,20 +6393,74 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ebcec7c9c2a95cacc7cd0ecb89d8a8454eca13906f6deb55258ffff0adeb9405"
 
 [[package]]
+name = "open"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8"
+dependencies = [
+ "pathdiff",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "openssh"
+version = "0.9.9"
+source = "git+https://github.com/MaterializeInc/openssh.git#34404a274c5e1a7addd48940656fa12b7531e793"
+dependencies = [
+ "dirs",
+ "libc",
+ "once_cell",
+ "openssh-mux-client",
+ "shell-escape",
+ "tempfile",
+ "thiserror",
+ "tokio",
+ "tokio-pipe",
+]
+
+[[package]]
+name = "openssh-mux-client"
+version = "0.15.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88eac793af6170bcd6d4f39c3b7ba3f4227cab5680d7189ba30f9d174600b75f"
+dependencies = [
+ "once_cell",
+ "sendfd",
+ "serde",
+ "ssh_format",
+ "thiserror",
+ "tokio",
+ "tokio-io-utility",
+ "typed-builder",
+]
+
+[[package]]
 name = "openssl"
-version = "0.10.38"
+version = "0.10.55"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95"
+checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "cfg-if",
  "foreign-types",
  "libc",
  "once_cell",
+ "openssl-macros",
  "openssl-sys",
 ]
 
 [[package]]
+name = "openssl-macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
 name = "openssl-probe"
 version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3131,20 +6468,19 @@ checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
 
 [[package]]
 name = "openssl-src"
-version = "111.16.0+1.1.1l"
+version = "111.25.0+1.1.1t"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab2173f69416cf3ec12debb5823d244127d23a9b127d5a5189aa97c5fa2859f"
+checksum = "3173cd3626c43e3854b1b727422a276e568d9ec5fe8cec197822cf52cfb743d6"
 dependencies = [
  "cc",
 ]
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.72"
+version = "0.9.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb"
+checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
 dependencies = [
- "autocfg",
  "cc",
  "libc",
  "openssl-src",
@@ -3153,71 +6489,108 @@ dependencies = [
 ]
 
 [[package]]
-name = "opentls"
-version = "0.2.1"
+name = "opentelemetry"
+version = "0.21.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f561874f8d6ecfb674fc08863414040c93cc90c0b6963fe679895fab8b65560"
+checksum = "1e32339a5dc40459130b3bd269e9892439f55b33e772d2a9d402a789baaf4e8a"
 dependencies = [
- "futures-util",
- "log",
- "openssl",
- "openssl-probe",
- "openssl-sys",
- "url",
+ "futures-core",
+ "futures-sink",
+ "indexmap 2.0.0",
+ "js-sys",
+ "once_cell",
+ "pin-project-lite",
+ "thiserror",
+ "urlencoding",
 ]
 
 [[package]]
-name = "ordered-float"
-version = "2.10.0"
+name = "opentelemetry-otlp"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87"
+checksum = "f24cda83b20ed2433c68241f918d0f6fdec8b1d43b7a9590ab4420c5095ca930"
 dependencies = [
- "num-traits",
- "serde",
+ "async-trait",
+ "futures-core",
+ "http",
+ "opentelemetry",
+ "opentelemetry-proto",
+ "opentelemetry-semantic-conventions",
+ "opentelemetry_sdk",
+ "prost",
+ "thiserror",
+ "tokio",
+ "tonic",
 ]
 
 [[package]]
-name = "ore"
-version = "0.0.0"
+name = "opentelemetry-proto"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2e155ce5cc812ea3d1dffbd1539aed653de4bf4882d60e6e04dcf0901d674e1"
+dependencies = [
+ "opentelemetry",
+ "opentelemetry_sdk",
+ "prost",
+ "tonic",
+]
+
+[[package]]
+name = "opentelemetry-semantic-conventions"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5774f1ef1f982ef2a447f6ee04ec383981a3ab99c8e77a1a7b30182e65bbc84"
+dependencies = [
+ "opentelemetry",
+]
+
+[[package]]
+name = "opentelemetry_sdk"
+version = "0.21.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f16aec8a98a457a52664d69e0091bac3a0abd18ead9b641cb00202ba4e0efe4"
 dependencies = [
- "anyhow",
  "async-trait",
- "bytes",
- "chrono",
- "clap",
- "crossbeam-utils",
- "ctor",
- "either",
- "futures",
- "lazy_static",
- "openssl",
- "pin-project",
- "prometheus",
- "smallvec",
- "stacker",
+ "crossbeam-channel",
+ "futures-channel",
+ "futures-executor",
+ "futures-util",
+ "glob",
+ "once_cell",
+ "opentelemetry",
+ "ordered-float",
+ "percent-encoding",
+ "rand",
+ "thiserror",
  "tokio",
- "tokio-openssl",
- "tracing-subscriber",
+ "tokio-stream",
 ]
 
 [[package]]
-name = "os_info"
-version = "3.0.9"
+name = "option-ext"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b89dd55b8d8d97dabd0d1adc625d188378fcf87632825bfe9c956acc9a11a72a"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
+[[package]]
+name = "ordered-float"
+version = "4.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e"
 dependencies = [
- "log",
+ "num-traits",
+ "rand",
  "serde",
- "winapi",
 ]
 
 [[package]]
-name = "os_pipe"
-version = "0.9.1"
+name = "os_info"
+version = "3.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db4d06355a7090ce852965b2d08e11426c315438462638c6d721448d0b47aa22"
+checksum = "c4750134fb6a5d49afc80777394ad5d95b04bc12068c6abb92fae8f43817270f"
 dependencies = [
- "libc",
+ "log",
+ "serde",
  "winapi",
 ]
 
@@ -3226,57 +6599,82 @@ name = "os_str_bytes"
 version = "6.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64"
+
+[[package]]
+name = "output_vt100"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53cdc5b785b7a58c5aad8216b3dfa114df64b0b06ae6e1501cef91df2fbdf8f9"
 dependencies = [
- "memchr",
+ "winapi",
+]
+
+[[package]]
+name = "outref"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a"
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "papergrid"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1526bb6aa9f10ec339fb10360f22c57edf81d5678d0278e93bc12a47ffbe4b01"
+dependencies = [
+ "bytecount",
+ "fnv",
+ "unicode-width",
 ]
 
 [[package]]
 name = "parking_lot"
-version = "0.11.1"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
- "instant",
  "lock_api",
  "parking_lot_core",
 ]
 
 [[package]]
 name = "parking_lot_core"
-version = "0.8.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018"
+checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0"
 dependencies = [
  "cfg-if",
- "instant",
  "libc",
- "redox_syscall",
+ "redox_syscall 0.2.10",
  "smallvec",
- "winapi",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
-name = "parquet-format-async-temp"
-version = "0.2.0"
-source = "git+https://github.com/MaterializeInc/parquet-format-rs?branch=main#52ef597df1a4067f1d8b12766661ca9b32fd7310"
+name = "parquet-format-safe"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1131c54b167dd4e4799ce762e1ab01549ebb94d5bdd13e6ec1b467491c378e1f"
 dependencies = [
  "async-trait",
- "byteorder",
  "futures",
- "integer-encoding",
- "ordered-float",
 ]
 
 [[package]]
 name = "parquet2"
-version = "0.8.1"
+version = "0.17.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57e98d7da0076cead49c49580cc5771dfe0ba8a93cadff9b47c1681a4a78e1f9"
+checksum = "aefc53bedbf9bbe0ff8912befafaafe30ced83851fb0aebe86696a9289ebb29e"
 dependencies = [
  "async-stream",
- "bitpacking",
  "futures",
- "parquet-format-async-temp",
+ "parquet-format-safe",
+ "seq-macro",
  "streaming-decompression",
 ]
 
@@ -3291,158 +6689,102 @@ dependencies = [
 
 [[package]]
 name = "paste"
-version = "1.0.6"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5"
+checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba"
 
 [[package]]
-name = "pdqselect"
-version = "0.1.1"
+name = "pathdiff"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7778906d9321dd56cde1d1ffa69a73e59dcf5fda6d366f62727adf2bd4193aee"
+checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
 
 [[package]]
-name = "percent-encoding"
-version = "2.1.0"
+name = "peeking_take_while"
+version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
 
 [[package]]
-name = "perf-kinesis"
-version = "0.0.0"
+name = "pem"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3163d2912b7c3b52d651a055f2c7eec9ba5cd22d26ef75b8dd3a59980b185923"
 dependencies = [
- "anyhow",
- "aws-sdk-kinesis",
- "bytes",
- "chrono",
- "clap",
- "env_logger",
- "futures",
- "futures-channel",
- "mz-aws-util",
- "ore",
- "rand",
- "test-util",
- "tokio",
- "tokio-postgres",
- "tracing",
+ "base64 0.21.5",
+ "serde",
 ]
 
 [[package]]
-name = "persist"
-version = "0.0.0"
+name = "pem-rfc7468"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d159833a9105500e0398934e205e0773f0b27529557134ecfc51c27646adac"
 dependencies = [
- "arrow2",
- "async-trait",
- "aws-config",
- "aws-sdk-s3",
- "aws-types",
- "base64",
- "bincode",
- "build-info",
- "criterion",
- "crossbeam-channel",
- "differential-dataflow",
- "fail",
- "futures-executor",
- "futures-util",
- "lazy_static",
- "md-5",
- "mz-aws-util",
- "mz-protoc",
- "ore",
- "parquet2",
- "persist-types",
- "protobuf",
- "rand",
- "semver",
- "serde",
- "serde_json",
- "tempfile",
- "timely",
- "tokio",
- "tracing",
- "uuid",
+ "base64ct",
 ]
 
 [[package]]
-name = "persist-types"
-version = "0.0.0"
-
-[[package]]
-name = "pgrepr"
-version = "0.0.0"
-dependencies = [
- "byteorder",
- "bytes",
- "chrono",
- "dec",
- "lazy_static",
- "ore",
- "postgres-types",
- "repr",
- "uuid",
-]
+name = "percent-encoding"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
 
 [[package]]
-name = "pgtest"
+name = "persistcli"
 version = "0.0.0"
 dependencies = [
  "anyhow",
+ "async-trait",
+ "axum",
  "bytes",
  "clap",
- "datadriven",
- "fallible-iterator",
- "ore",
- "postgres-protocol",
+ "differential-dataflow",
+ "futures",
+ "humantime",
+ "mz-http-util",
+ "mz-orchestrator-tracing",
+ "mz-ore",
+ "mz-persist",
+ "mz-persist-client",
+ "mz-persist-txn",
+ "mz-persist-types",
+ "num_cpus",
+ "num_enum",
+ "prometheus",
  "serde",
  "serde_json",
+ "timely",
+ "tokio",
+ "tracing",
+ "uuid",
+ "workspace-hack",
 ]
 
 [[package]]
-name = "pgwire"
-version = "0.0.0"
+name = "petgraph"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a13a2fa9d0b63e5f22328828741e523766fff0ee9e779316902290dff3f824f"
 dependencies = [
- "anyhow",
- "async-trait",
- "byteorder",
- "bytes",
- "chrono",
- "coord",
- "csv",
- "dataflow-types",
- "expr",
- "futures",
- "itertools",
- "lazy_static",
- "openssl",
- "ordered-float",
- "ore",
- "pgrepr",
- "postgres",
- "repr",
- "sql",
- "tokio",
- "tokio-openssl",
- "tokio-stream",
- "tokio-util",
- "tracing",
+ "fixedbitset",
+ "indexmap 1.9.1",
 ]
 
 [[package]]
 name = "phf"
-version = "0.10.1"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
+checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c"
 dependencies = [
  "phf_shared",
 ]
 
 [[package]]
 name = "phf_codegen"
-version = "0.10.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
+checksum = "a56ac890c5e3ca598bbdeaa99964edb5b0258a583a9eb6ef4e89fc85d9224770"
 dependencies = [
  "phf_generator",
  "phf_shared",
@@ -3450,9 +6792,9 @@ dependencies = [
 
 [[package]]
 name = "phf_generator"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
+checksum = "5b450720b6f75cfbfabc195814bd3765f337a4f9a83186f8537297cac12f6705"
 dependencies = [
  "phf_shared",
  "rand",
@@ -3460,49 +6802,39 @@ dependencies = [
 
 [[package]]
 name = "phf_shared"
-version = "0.10.0"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
+checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676"
 dependencies = [
  "siphasher",
  "uncased",
 ]
 
 [[package]]
-name = "pid-file"
-version = "0.0.0"
-dependencies = [
- "cc",
- "libc",
- "ore",
- "tempfile",
-]
-
-[[package]]
 name = "pin-project"
-version = "1.0.10"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e"
+checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
 dependencies = [
  "pin-project-internal",
 ]
 
 [[package]]
 name = "pin-project-internal"
-version = "1.0.10"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb"
+checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.7"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 
 [[package]]
 name = "pin-utils"
@@ -3517,6 +6849,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7c9b1041b4387893b91ee6746cddfc28516aff326a3519fb2adf820932c5e6cb"
 
 [[package]]
+name = "planus"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc1691dd09e82f428ce8d6310bd6d5da2557c82ff17694d2a32cad7242aea89f"
+dependencies = [
+ "array-init-cursor",
+]
+
+[[package]]
 name = "plotters"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3545,13 +6886,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "portable-atomic"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15eb2c6e362923af47e13c23ca5afb859e83d54452c55b0b9ac763b8f7c1ac16"
+
+[[package]]
 name = "postgres"
-version = "0.19.1"
-source = "git+https://github.com/MaterializeInc/rust-postgres?branch=mz-0.7.2#4320cb7a1fedb1b6157f0dec51f84f4c990f4d98"
+version = "0.19.5"
+source = "git+https://github.com/MaterializeInc/rust-postgres#b759caa33610403aa74b1cfdd37f45eb3100c9af"
 dependencies = [
  "bytes",
  "fallible-iterator",
- "futures",
+ "futures-util",
  "log",
  "tokio",
  "tokio-postgres",
@@ -3560,9 +6907,8 @@ dependencies = [
 [[package]]
 name = "postgres-openssl"
 version = "0.5.0"
-source = "git+https://github.com/MaterializeInc/rust-postgres?branch=mz-0.7.2#4320cb7a1fedb1b6157f0dec51f84f4c990f4d98"
+source = "git+https://github.com/MaterializeInc/rust-postgres#b759caa33610403aa74b1cfdd37f45eb3100c9af"
 dependencies = [
- "futures",
  "openssl",
  "tokio",
  "tokio-openssl",
@@ -3571,10 +6917,10 @@ dependencies = [
 
 [[package]]
 name = "postgres-protocol"
-version = "0.6.1"
-source = "git+https://github.com/MaterializeInc/rust-postgres?branch=mz-0.7.2#4320cb7a1fedb1b6157f0dec51f84f4c990f4d98"
+version = "0.6.5"
+source = "git+https://github.com/MaterializeInc/rust-postgres#b759caa33610403aa74b1cfdd37f45eb3100c9af"
 dependencies = [
- "base64",
+ "base64 0.21.5",
  "byteorder",
  "bytes",
  "fallible-iterator",
@@ -3588,8 +6934,8 @@ dependencies = [
 
 [[package]]
 name = "postgres-types"
-version = "0.2.1"
-source = "git+https://github.com/MaterializeInc/rust-postgres?branch=mz-0.7.2#4320cb7a1fedb1b6157f0dec51f84f4c990f4d98"
+version = "0.2.5"
+source = "git+https://github.com/MaterializeInc/rust-postgres#b759caa33610403aa74b1cfdd37f45eb3100c9af"
 dependencies = [
  "bytes",
  "chrono",
@@ -3601,22 +6947,9 @@ dependencies = [
 ]
 
 [[package]]
-name = "postgres-util"
-version = "0.0.0"
-dependencies = [
- "anyhow",
- "openssl",
- "postgres-openssl",
- "repr",
- "sql-parser",
- "tokio",
- "tokio-postgres",
-]
-
-[[package]]
 name = "postgres_array"
 version = "0.11.0"
-source = "git+https://github.com/MaterializeInc/rust-postgres-array?branch=mz-0.7.2#c84fa6fc9e0cfdeb731a83d577f579ba1598ff4d"
+source = "git+https://github.com/MaterializeInc/rust-postgres-array#f58d0101e5198e04e8692629018d9b58f8543534"
 dependencies = [
  "bytes",
  "fallible-iterator",
@@ -3626,17 +6959,17 @@ dependencies = [
 
 [[package]]
 name = "pprof"
-version = "0.6.2"
+version = "0.11.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55f35f865aa964be21fcde114cbd1cfbd9bf8a471460ed965b0f84f96c711401"
+checksum = "196ded5d4be535690899a4631cc9f18cdc41b7ebf24a79400f46f48e49a11059"
 dependencies = [
  "backtrace",
  "cfg-if",
  "findshlibs",
- "lazy_static",
  "libc",
  "log",
  "nix",
+ "once_cell",
  "parking_lot",
  "smallvec",
  "symbolic-demangle",
@@ -3652,9 +6985,9 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
 
 [[package]]
 name = "predicates"
-version = "2.1.0"
+version = "2.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95e5a7689e456ab905c22c2b48225bb921aba7c8dfa58440d68ba13f6222a715"
+checksum = "f54fc5dc63ed3bbf19494623db4f3af16842c0d975818e469022d09e53f0aa05"
 dependencies = [
  "difflib",
  "float-cmp",
@@ -3681,19 +7014,62 @@ dependencies = [
 ]
 
 [[package]]
+name = "pretty"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b55c4d17d994b637e2f4daf6e5dc5d660d209d5642377d675d7a1c3ab69fa579"
+dependencies = [
+ "arrayvec",
+ "typed-arena",
+ "unicode-width",
+]
+
+[[package]]
 name = "pretty-hex"
-version = "0.1.1"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5"
+
+[[package]]
+name = "pretty_assertions"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755"
+dependencies = [
+ "ctor",
+ "diff",
+ "output_vt100",
+ "yansi",
+]
+
+[[package]]
+name = "prettyplease"
+version = "0.1.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86"
+dependencies = [
+ "proc-macro2",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "prettyplease"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be91bcc43e73799dc46a6c194a55e7aae1d86cc867c860fd4a436019af21bd8c"
+checksum = "1ceca8aaf45b5c46ec7ed39fff75f57290368c1846d33d24a122ca81416ab058"
+dependencies = [
+ "proc-macro2",
+ "syn 2.0.39",
+]
 
 [[package]]
 name = "proc-macro-crate"
-version = "1.0.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
 dependencies = [
- "thiserror",
- "toml",
+ "once_cell",
+ "toml_edit",
 ]
 
 [[package]]
@@ -3705,7 +7081,7 @@ dependencies = [
  "proc-macro-error-attr",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
  "version_check",
 ]
 
@@ -3728,60 +7104,33 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.36"
+version = "1.0.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
-dependencies = [
- "unicode-xid",
-]
-
-[[package]]
-name = "procfs"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0941606b9934e2d98a3677759a971756eb821f75764d0e0d26946d08e74d9104"
-dependencies = [
- "bitflags",
- "byteorder",
- "hex",
- "lazy_static",
- "libc",
-]
-
-[[package]]
-name = "prof"
-version = "0.0.0"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
 dependencies = [
- "anyhow",
- "backtrace",
- "lazy_static",
- "pprof",
- "serde",
- "tempfile",
- "tikv-jemalloc-ctl",
- "tokio",
+ "unicode-ident",
 ]
 
 [[package]]
 name = "prometheus"
-version = "0.10.0"
-source = "git+https://github.com/MaterializeInc/rust-prometheus.git#8bd8207fd0ac3ebb594a0832e5e5a70ddd8e1a60"
+version = "0.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "449811d15fbdf5ceb5c1144416066429cf82316e2ec8ce0c1f6f8a02e7bbcf8c"
 dependencies = [
  "cfg-if",
  "fnv",
  "lazy_static",
+ "memchr",
  "parking_lot",
- "regex",
  "thiserror",
 ]
 
 [[package]]
 name = "proptest"
 version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e0d9cc07f18492d879586c92b485def06bc850da3118075cd45d50e9c95b0e5"
+source = "git+https://github.com/MaterializeInc/proptest.git#4d8c406c32260484747c828050016de599b9f3a4"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "byteorder",
  "lazy_static",
  "num-traits",
@@ -3793,44 +7142,104 @@ dependencies = [
 ]
 
 [[package]]
-name = "protobuf"
-version = "3.0.0-alpha.2"
-source = "git+https://github.com/MaterializeInc/rust-protobuf.git#063964a8ab6fee98a9622a0c0a72a9765411025a"
+name = "proptest-derive"
+version = "0.3.0"
+source = "git+https://github.com/MaterializeInc/proptest.git#4d8c406c32260484747c828050016de599b9f3a4"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
 
 [[package]]
-name = "protobuf-codegen"
-version = "3.0.0-alpha.2"
-source = "git+https://github.com/MaterializeInc/rust-protobuf.git#063964a8ab6fee98a9622a0c0a72a9765411025a"
+name = "prost"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd"
 dependencies = [
- "anyhow",
- "protobuf",
- "protobuf-parse",
- "protoc",
+ "bytes",
+ "prost-derive",
+]
+
+[[package]]
+name = "prost-build"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270"
+dependencies = [
+ "bytes",
+ "heck",
+ "itertools",
+ "lazy_static",
+ "log",
+ "multimap",
+ "petgraph",
+ "prettyplease 0.1.25",
+ "prost",
+ "prost-types",
+ "regex",
+ "syn 1.0.107",
  "tempfile",
- "thiserror",
+ "which",
 ]
 
 [[package]]
-name = "protobuf-parse"
-version = "3.0.0-alpha.2"
-source = "git+https://github.com/MaterializeInc/rust-protobuf.git#063964a8ab6fee98a9622a0c0a72a9765411025a"
+name = "prost-derive"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
 dependencies = [
  "anyhow",
- "protobuf",
- "protoc",
+ "itertools",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "prost-reflect"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "000e1e05ebf7b26e1eba298e66fe4eee6eb19c567d0ffb35e0dd34231cdac4c8"
+dependencies = [
+ "base64 0.21.5",
+ "once_cell",
+ "prost",
+ "prost-types",
+ "serde",
+ "serde-value",
+]
+
+[[package]]
+name = "prost-types"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13"
+dependencies = [
+ "prost",
+]
+
+[[package]]
+name = "protobuf-native"
+version = "0.2.1+3.19.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86df76d0f2a6933036e8a9f28f1adc8b48081fa681dba07eaa30ac75663f7f4e"
+dependencies = [
+ "cxx",
+ "cxx-build",
+ "paste",
+ "pretty_assertions",
+ "protobuf-src",
  "tempfile",
- "thiserror",
 ]
 
 [[package]]
-name = "protoc"
-version = "3.0.0-alpha.2"
-source = "git+https://github.com/MaterializeInc/rust-protobuf.git#063964a8ab6fee98a9622a0c0a72a9765411025a"
+name = "protobuf-src"
+version = "1.1.0+21.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7ac8852baeb3cc6fb83b93646fb93c0ffe5d14bf138c945ceb4b9948ee0e3c1"
 dependencies = [
- "anyhow",
- "log",
- "thiserror",
- "which",
+ "autotools",
 ]
 
 [[package]]
@@ -3843,52 +7252,40 @@ dependencies = [
 ]
 
 [[package]]
-name = "pubnub-core"
-version = "0.1.0"
-source = "git+https://github.com/MaterializeInc/pubnub-rust#9da4f3e71b84a9200881612642cf4d18c078e169"
+name = "pulldown-cmark"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34f197a544b0c9ab3ae46c359a7ec9cbbb5c7bf97054266fecb7ead794a181d6"
 dependencies = [
- "async-trait",
- "bitflags",
- "error-iter",
- "futures-channel",
- "futures-core",
- "futures-util",
- "json",
- "log",
- "percent-encoding",
- "thiserror",
- "uuid",
+ "bitflags 1.3.2",
+ "memchr",
+ "unicase",
 ]
 
 [[package]]
-name = "pubnub-hyper"
-version = "0.1.0"
-source = "git+https://github.com/MaterializeInc/pubnub-rust#9da4f3e71b84a9200881612642cf4d18c078e169"
+name = "qcell"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f6c04aa3dea4dab485f6d87449ba94d5664c388c0f1fe2b07c4891175513345"
 dependencies = [
- "async-trait",
- "derive_builder",
- "error-iter",
- "futures-util",
- "getset",
- "http",
- "hyper",
- "hyper-tls",
- "log",
- "pubnub-core",
- "pubnub-util",
- "thiserror",
- "tokio",
+ "exclusion-set",
+ "once_cell",
 ]
 
 [[package]]
-name = "pubnub-util"
-version = "0.1.0"
-source = "git+https://github.com/MaterializeInc/pubnub-rust#9da4f3e71b84a9200881612642cf4d18c078e169"
+name = "quanta"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab"
 dependencies = [
- "base64",
- "hmac",
- "sha2",
- "uritemplate-next",
+ "crossbeam-utils",
+ "libc",
+ "mach2",
+ "once_cell",
+ "raw-cpuid",
+ "wasi",
+ "web-sys",
+ "winapi",
 ]
 
 [[package]]
@@ -3898,24 +7295,48 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3ac73b1112776fc109b2e61909bc46c7e1bf0d7f690ffb1676553acce16d5cda"
 
 [[package]]
+name = "quick-xml"
+version = "0.31.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "quickcheck"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6"
+dependencies = [
+ "rand",
+]
+
+[[package]]
 name = "quote"
-version = "1.0.14"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d"
+checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
 name = "rand"
-version = "0.8.4"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
 dependencies = [
  "libc",
  "rand_chacha",
  "rand_core",
- "rand_hc",
+ "serde",
 ]
 
 [[package]]
@@ -3935,34 +7356,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
 dependencies = [
  "getrandom",
+ "serde",
 ]
 
 [[package]]
-name = "rand_distr"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "964d548f8e7d12e102ef183a0de7e98180c9f8729f555897a857b96e48122d2f"
-dependencies = [
- "num-traits",
- "rand",
-]
-
-[[package]]
-name = "rand_hc"
+name = "rand_xorshift"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
+checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
 dependencies = [
  "rand_core",
 ]
 
 [[package]]
-name = "rand_xorshift"
-version = "0.3.0"
+name = "raw-cpuid"
+version = "10.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
+checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332"
 dependencies = [
- "rand_core",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
@@ -3992,10 +7404,11 @@ dependencies = [
 
 [[package]]
 name = "rdkafka"
-version = "0.28.0"
-source = "git+https://github.com/fede1024/rust-rdkafka.git#a640a003fc957be0c43ab6b43f768c03df32db67"
+version = "0.29.0"
+source = "git+https://github.com/MaterializeInc/rust-rdkafka.git#8ea07c4d2b96636ff093e670bc921892aee0d56a"
 dependencies = [
- "futures",
+ "futures-channel",
+ "futures-util",
  "libc",
  "log",
  "rdkafka-sys",
@@ -4008,8 +7421,8 @@ dependencies = [
 
 [[package]]
 name = "rdkafka-sys"
-version = "4.2.0+1.8.2"
-source = "git+https://github.com/fede1024/rust-rdkafka.git#a640a003fc957be0c43ab6b43f768c03df32db67"
+version = "4.3.0+1.9.2"
+source = "git+https://github.com/MaterializeInc/rust-rdkafka.git#8ea07c4d2b96636ff093e670bc921892aee0d56a"
 dependencies = [
  "cmake",
  "libc",
@@ -4017,24 +7430,42 @@ dependencies = [
  "num_enum",
  "openssl-sys",
  "pkg-config",
- "sasl2-sys",
  "zstd-sys",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.4"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05ec8ca9416c5ea37062b502703cd7fcb207736bc294f6e0cf367ac6fc234570"
+checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
 dependencies = [
- "bitflags",
+ "getrandom",
+ "redox_syscall 0.2.10",
 ]
 
 [[package]]
 name = "regex"
-version = "1.5.4"
+version = "1.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
+checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -4052,89 +7483,46 @@ dependencies = [
 ]
 
 [[package]]
-name = "regex-syntax"
-version = "0.6.25"
+name = "regex-automata"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
+checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9"
 
 [[package]]
-name = "remove_dir_all"
-version = "0.5.1"
+name = "regex-lite"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
-dependencies = [
- "winapi",
-]
+checksum = "30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e"
 
 [[package]]
-name = "repr"
-version = "0.0.0"
-dependencies = [
- "anyhow",
- "byteorder",
- "chrono",
- "chrono-tz",
- "criterion",
- "dec",
- "enum-kinds",
- "fast-float",
- "hex",
- "itertools",
- "lazy_static",
- "lowertest",
- "mz-protoc",
- "num-traits",
- "num_enum",
- "ordered-float",
- "ore",
- "persist-types",
- "proptest",
- "protobuf",
- "rand",
- "regex",
- "ryu",
- "serde",
- "serde_json",
- "serde_regex",
- "smallvec",
- "uuid",
-]
-
-[[package]]
-name = "repr_test_util"
-version = "0.0.0"
-dependencies = [
- "chrono",
- "datadriven",
- "lazy_static",
- "lowertest",
- "ore",
- "proc-macro2",
- "repr",
-]
+name = "regex-syntax"
+version = "0.6.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
 
 [[package]]
 name = "reqwest"
-version = "0.11.8"
+version = "0.11.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c4e0a76dc12a116108933f6301b95e83634e0c47b0afbed6abbaa0601e99258"
+checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c"
 dependencies = [
- "base64",
+ "base64 0.13.1",
  "bytes",
  "encoding_rs",
  "futures-core",
  "futures-util",
+ "h2",
  "http",
  "http-body",
  "hyper",
  "hyper-tls",
  "ipnet",
  "js-sys",
- "lazy_static",
  "log",
  "mime",
  "mime_guess",
  "native-tls",
+ "once_cell",
  "percent-encoding",
  "pin-project-lite",
  "serde",
@@ -4142,6 +7530,7 @@ dependencies = [
  "serde_urlencoded",
  "tokio",
  "tokio-native-tls",
+ "tower-service",
  "url",
  "wasm-bindgen",
  "wasm-bindgen-futures",
@@ -4150,42 +7539,116 @@ dependencies = [
 ]
 
 [[package]]
+name = "reqwest-middleware"
+version = "0.2.3"
+source = "git+https://github.com/MaterializeInc/reqwest-middleware.git#1c44c7ddbf4954cc2d4de73a760b9a8d84827349"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "http",
+ "reqwest",
+ "serde",
+ "task-local-extensions",
+ "thiserror",
+]
+
+[[package]]
+name = "reqwest-retry"
+version = "0.2.2"
+source = "git+https://github.com/MaterializeInc/reqwest-middleware.git#1c44c7ddbf4954cc2d4de73a760b9a8d84827349"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "chrono",
+ "futures",
+ "http",
+ "hyper",
+ "reqwest",
+ "reqwest-middleware",
+ "retry-policies",
+ "task-local-extensions",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "retain_mut"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0"
+
+[[package]]
+name = "retry-policies"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e09bbcb5003282bcb688f0bae741b278e9c7e8f378f561522c9806c58e075d9b"
+dependencies = [
+ "anyhow",
+ "chrono",
+ "rand",
+]
+
+[[package]]
 name = "ring"
-version = "0.16.20"
+version = "0.17.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
 dependencies = [
  "cc",
+ "getrandom",
  "libc",
- "once_cell",
  "spin",
  "untrusted",
- "web-sys",
- "winapi",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "rlimit"
-version = "0.6.2"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc0bf25554376fd362f54332b8410a625c71f15445bca32ffdfdf4ec9ac91726"
+checksum = "f7278a1ec8bfd4a4e07515c589f5ff7b309a373f987393aef44813d9dcf87aa3"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "rocksdb"
+version = "0.21.0"
+source = "git+https://github.com/MaterializeInc/rust-rocksdb?branch=master#3305d514d509c6b95b0c925c78157e5e4ae4b7ba"
 dependencies = [
  "libc",
+ "librocksdb-sys",
 ]
 
 [[package]]
-name = "rusqlite"
-version = "0.26.3"
+name = "ropey"
+version = "1.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ba4d3462c8b2e4d7f4fcfcf2b296dc6b65404fbbc7b63daa37fd485c149daf7"
+checksum = "53ce7a2c43a32e50d666e33c5a80251b31147bb4b49024bcab11fb6f20c671ed"
 dependencies = [
- "bitflags",
- "fallible-iterator",
- "fallible-streaming-iterator",
- "hashlink",
- "libsqlite3-sys",
- "memchr",
  "smallvec",
+ "str_indices",
+]
+
+[[package]]
+name = "rpassword"
+version = "7.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322"
+dependencies = [
+ "libc",
+ "rtoolbox",
+ "winapi",
+]
+
+[[package]]
+name = "rtoolbox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a"
+dependencies = [
+ "libc",
+ "winapi",
 ]
 
 [[package]]
@@ -4195,6 +7658,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
 
 [[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
 name = "rustc_version"
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4204,29 +7673,45 @@ dependencies = [
 ]
 
 [[package]]
-name = "ryu"
-version = "1.0.9"
+name = "rustix"
+version = "0.37.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
+checksum = "a0661814f891c57c930a610266415528da53c4933e6dea5fb350cbfe048a9ece"
+dependencies = [
+ "bitflags 1.3.2",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys 0.3.4",
+ "windows-sys 0.48.0",
+]
 
 [[package]]
-name = "s3-datagen"
-version = "0.0.0"
+name = "rustix"
+version = "0.38.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
 dependencies = [
- "anyhow",
- "aws-sdk-s3",
- "bytefmt",
- "clap",
- "futures",
- "indicatif",
- "mz-aws-util",
- "ore",
- "tokio",
- "tracing",
- "tracing-subscriber",
+ "bitflags 2.4.1",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.12",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
+name = "rustversion"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8"
+
+[[package]]
+name = "ryu"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
+
+[[package]]
 name = "same-file"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4236,17 +7721,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "sasl2-sys"
-version = "0.1.16"
+name = "saturating"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c50936b766924ec8f5118bcd3d6e5dc7ac25263df4f2ea450fe7919281a4544"
-dependencies = [
- "cc",
- "duct",
- "krb5-src",
- "libc",
- "pkg-config",
-]
+checksum = "ece8e78b2f38ec51c51f5d475df0a7187ba5111b2a28bdc761ee05b075d40a71"
 
 [[package]]
 name = "schannel"
@@ -4259,18 +7737,90 @@ dependencies = [
 ]
 
 [[package]]
+name = "scheduled-thread-pool"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "977a7519bff143a44f842fd07e80ad1329295bd71686457f18e496736f4bf9bf"
+dependencies = [
+ "parking_lot",
+]
+
+[[package]]
+name = "schemars"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a5fb6c61f29e723026dc8e923d94c694313212abbecbbe5f55a7748eec5b307"
+dependencies = [
+ "dyn-clone",
+ "schemars_derive",
+ "serde",
+ "serde_json",
+ "uuid",
+]
+
+[[package]]
+name = "schemars_derive"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f188d036977451159430f3b8dc82ec76364a42b7e289c2b18a9a18f4470058e9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde_derive_internals",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "scoped-tls"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
+
+[[package]]
 name = "scopeguard"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
 
 [[package]]
+name = "scratch"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96311ef4a16462c757bb6a39152c40f58f31cd2602a40fceb937e2bc34e6cbab"
+
+[[package]]
+name = "seahash"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
+
+[[package]]
+name = "sec1"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1"
+dependencies = [
+ "der",
+ "generic-array",
+]
+
+[[package]]
+name = "secrecy"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e"
+dependencies = [
+ "serde",
+ "zeroize",
+]
+
+[[package]]
 name = "security-framework"
-version = "2.0.0"
+version = "2.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1759c2e3c8580017a484a7ac56d3abc5a6c1feadf88db2f3633f12ae4268c69"
+checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "core-foundation",
  "core-foundation-sys",
  "libc",
@@ -4279,62 +7829,241 @@ dependencies = [
 
 [[package]]
 name = "security-framework-sys"
-version = "2.0.0"
+version = "2.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f99b9d5e26d2a71633cc4f2ebae7cc9f874044e0c351a27e17892d76dce5678b"
+checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
 dependencies = [
  "core-foundation-sys",
  "libc",
 ]
 
 [[package]]
+name = "segment"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24fc91c898e0487ff3e471d0849bbaf7d38a00ff5e3531009d386b0bab9b6b12"
+dependencies = [
+ "async-trait",
+ "reqwest",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "time",
+]
+
+[[package]]
 name = "semver"
-version = "1.0.4"
+version = "1.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "sendfd"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "604b71b8fc267e13bb3023a2c901126c8f349393666a6d98ac1ae5729b701798"
+dependencies = [
+ "libc",
+ "tokio",
+]
+
+[[package]]
+name = "sentry"
+version = "0.29.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17ad137b9df78294b98cab1a650bef237cc6c950e82e5ce164655e674d07c5cc"
+dependencies = [
+ "httpdate",
+ "native-tls",
+ "reqwest",
+ "sentry-backtrace",
+ "sentry-contexts",
+ "sentry-core",
+ "sentry-debug-images",
+ "sentry-panic",
+ "tokio",
+ "ureq",
+]
+
+[[package]]
+name = "sentry-backtrace"
+version = "0.29.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "afe4800806552aab314129761d5d3b3d422284eca3de2ab59e9fd133636cbd3d"
+dependencies = [
+ "backtrace",
+ "once_cell",
+ "regex",
+ "sentry-core",
+]
+
+[[package]]
+name = "sentry-contexts"
+version = "0.29.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a42938426670f6e7974989cd1417837a96dd8bbb01567094f567d6acb360bf88"
+dependencies = [
+ "hostname",
+ "libc",
+ "os_info",
+ "rustc_version",
+ "sentry-core",
+ "uname",
+]
+
+[[package]]
+name = "sentry-core"
+version = "0.29.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4df9b9d8de2658a1ecd4e45f7b06c80c5dd97b891bfbc7c501186189b7e9bbdf"
+dependencies = [
+ "once_cell",
+ "rand",
+ "sentry-types",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "sentry-debug-images"
+version = "0.29.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3995208135571444b7d5a247f42bd36677553bb64185d85b317acdc1789749b3"
+dependencies = [
+ "findshlibs",
+ "once_cell",
+ "sentry-core",
+]
+
+[[package]]
+name = "sentry-panic"
+version = "0.29.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0af37b8500f273e511ebd6eb0d342ff7937d64ce3f134764b2b4653112d48cb4"
+dependencies = [
+ "sentry-backtrace",
+ "sentry-core",
+]
+
+[[package]]
+name = "sentry-tracing"
+version = "0.29.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63fc83ec2cf38726bd18cb1943ff11555b07fd5034cb68b10958ab32e2863a1f"
+dependencies = [
+ "sentry-core",
+ "tracing-core",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "sentry-types"
+version = "0.29.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012"
+checksum = "ccc95faa4078768a6bf8df45e2b894bbf372b3dbbfb364e9429c1c58ab7545c6"
+dependencies = [
+ "debugid",
+ "getrandom",
+ "hex",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "time",
+ "url",
+ "uuid",
+]
+
+[[package]]
+name = "seq-macro"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0772c5c30e1a0d91f6834f8e545c69281c099dfa9a3ac58d96a9fd629c8d4898"
 
 [[package]]
 name = "serde"
-version = "1.0.133"
+version = "1.0.164"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97565067517b60e2d1ea8b268e59ce036de907ac523ad83a0475da04e818989a"
+checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
-name = "serde_cbor"
-version = "0.11.1"
+name = "serde-aux"
+version = "4.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e18acfa2f90e8b735b2836ab8d538de304cbb6729a7360729ea5a895d15a622"
+checksum = "c3dfe1b7eb6f9dcf011bd6fad169cdeaae75eda0d61b1a99a3f015b41b0cae39"
 dependencies = [
- "half",
+ "chrono",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "serde-value"
+version = "0.7.0"
+source = "git+https://github.com/MaterializeInc/serde-value.git#a84c6b71825efaffb332c0d19f18c2bdf9ee7b40"
+dependencies = [
+ "ordered-float",
  "serde",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.133"
+version = "1.0.164"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed201699328568d8d08208fdd080e3ff594e6c422e438b6705905da01005d537"
+checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "serde_derive_internals"
+version = "0.26.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.74"
+version = "1.0.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee2bb9cd061c5865d345bb02ca49fcef1391741b672b54a0bf7b679badec3142"
+checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3"
 dependencies = [
- "itoa 1.0.1",
+ "indexmap 2.0.0",
+ "itoa",
  "ryu",
  "serde",
 ]
 
 [[package]]
+name = "serde_path_to_error"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "184c643044780f7ceb59104cef98a5a6f12cb2288a7bc701ab93a362b49fd47d"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_plain"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d6018081315db179d0ce57b1fe4b62a12a0028c9cf9bbef868c9cf477b3c34ae"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "serde_regex"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4345,22 +8074,83 @@ dependencies = [
 ]
 
 [[package]]
+name = "serde_repr"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f0a21fba416426ac927b1691996e82079f8b6156e920c85345f135b2e9ba2de"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "serde_urlencoded"
-version = "0.7.0"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
 dependencies = [
  "form_urlencoded",
- "itoa 0.4.6",
+ "itoa",
  "ryu",
  "serde",
 ]
 
 [[package]]
-name = "sha-1"
-version = "0.10.0"
+name = "serde_with"
+version = "2.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe"
+dependencies = [
+ "base64 0.13.1",
+ "chrono",
+ "hex",
+ "indexmap 1.9.1",
+ "serde",
+ "serde_json",
+ "serde_with_macros",
+ "time",
+]
+
+[[package]]
+name = "serde_with_macros"
+version = "2.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "serde_yaml"
+version = "0.9.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f"
+checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574"
+dependencies = [
+ "indexmap 2.0.0",
+ "itoa",
+ "ryu",
+ "serde",
+ "unsafe-libyaml",
+]
+
+[[package]]
+name = "sha1"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -4368,10 +8158,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "sha1_smol"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
+
+[[package]]
 name = "sha2"
-version = "0.10.1"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99c3bd8169c58782adad9290a9af5939994036b76187f7b4f0e6de91dbbfc0ec"
+checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
 dependencies = [
  "cfg-if",
  "cpufeatures",
@@ -4380,40 +8176,47 @@ dependencies = [
 
 [[package]]
 name = "sharded-slab"
-version = "0.1.1"
+version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79c719719ee05df97490f80a45acfc99e5a30ce98a1e4fb67aee422745ae14e3"
+checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
 dependencies = [
  "lazy_static",
 ]
 
 [[package]]
-name = "shared_child"
-version = "0.3.4"
+name = "shell-escape"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cebcf3a403e4deafaf34dc882c4a1b6a648b43e5670aa2e4bb985914eaeb2d2"
-dependencies = [
- "libc",
- "winapi",
-]
+checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
 
 [[package]]
 name = "shell-words"
-version = "1.0.0"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6fa3938c99da4914afedd13bf3d79bcb6c277d1b2c398d23257a304d9e1b074"
+checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
+
+[[package]]
+name = "shlex"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
 
 [[package]]
 name = "signal-hook-registry"
-version = "1.2.0"
+version = "1.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
 dependencies = [
- "arc-swap",
  "libc",
 ]
 
 [[package]]
+name = "signature"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4"
+
+[[package]]
 name = "simdutf8"
 version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4421,9 +8224,35 @@ checksum = "c970da16e7c682fa90a261cf0724dee241c9f7831635ecc4e988ae8f3b505559"
 
 [[package]]
 name = "similar"
-version = "2.1.0"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf"
+dependencies = [
+ "bstr 0.2.14",
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "similar-asserts"
+version = "1.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbf644ad016b75129f01a34a355dcb8d66a5bc803e417c7a77cc5d5ee9fa0f18"
+dependencies = [
+ "console",
+ "similar",
+]
+
+[[package]]
+name = "simple_asn1"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e24979f63a11545f5f2c60141afe249d4f19f84581ea2138065e400941d83d3"
+checksum = "4a762b1c38b9b990c694b9c2f8abe3372ce6a9ceaae6bca39cfc46e054f45745"
+dependencies = [
+ "num-bigint",
+ "num-traits",
+ "thiserror",
+ "time",
+]
 
 [[package]]
 name = "siphasher"
@@ -4432,136 +8261,89 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fa8f3741c7372e75519bd9346068370c9cdaabcc1f9599cbcf2a2719352286b7"
 
 [[package]]
+name = "skeptic"
+version = "0.13.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8"
+dependencies = [
+ "bytecount",
+ "cargo_metadata",
+ "error-chain",
+ "glob",
+ "pulldown-cmark",
+ "tempfile",
+ "walkdir",
+]
+
+[[package]]
 name = "slab"
-version = "0.4.2"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
+checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
 
 [[package]]
 name = "smallvec"
-version = "1.7.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "snap"
-version = "1.0.5"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45456094d1983e2ee2a18fdfebce3189fa451699d0502cb8e3b49dba5ba41451"
+checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831"
 
 [[package]]
 name = "socket2"
-version = "0.4.0"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
 dependencies = [
  "libc",
  "winapi",
 ]
 
 [[package]]
-name = "spin"
-version = "0.5.2"
+name = "socket2"
+version = "0.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
-
-[[package]]
-name = "sql"
-version = "0.0.0"
+checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
 dependencies = [
- "anyhow",
- "aws-arn",
- "build-info",
- "ccsr",
- "chrono",
- "csv",
- "datadriven",
- "dataflow-types",
- "dec",
- "enum-kinds",
- "expr",
- "expr_test_util",
- "futures",
- "globset",
- "interchange",
- "itertools",
- "kafka-util",
- "lazy_static",
- "lowertest",
- "mz-avro",
- "mz-aws-util",
- "mz-protoc",
- "ore",
- "pgrepr",
- "postgres-protocol",
- "postgres-types",
- "postgres-util",
- "protobuf",
- "rdkafka",
- "regex",
- "repr",
- "reqwest",
- "serde",
- "serde_json",
- "sql-parser",
- "tempfile",
- "tokio",
- "tokio-postgres",
- "tracing",
- "uncased",
- "url",
- "uuid",
+ "libc",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
-name = "sql-parser"
-version = "0.0.0"
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+
+[[package]]
+name = "ssh-key"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f02d3730e8785e797a4552137d1acc0d7f7146dad3b5fe65ed83637711dfc6c5"
 dependencies = [
- "anyhow",
- "datadriven",
- "enum-kinds",
- "hex",
- "itertools",
- "lazy_static",
- "ore",
- "phf",
- "phf_codegen",
- "tracing",
- "uncased",
- "unicode-width",
- "walkabout",
+ "base64ct",
+ "pem-rfc7468",
+ "rand_core",
+ "sec1",
+ "sha2",
+ "signature",
+ "zeroize",
 ]
 
 [[package]]
-name = "sqllogictest"
-version = "0.0.1"
+name = "ssh_format"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8701239872766d43b8a5f9a560ff7f002b48064fadea87f44a70507069fb482"
 dependencies = [
- "anyhow",
- "chrono",
- "clap",
- "coord",
- "expr",
- "fallible-iterator",
- "futures",
- "lazy_static",
- "materialized",
- "md-5",
- "ore",
- "pgrepr",
- "postgres-protocol",
- "regex",
- "repr",
- "serde_json",
- "sql",
- "tempfile",
- "timely",
- "tokio",
- "tokio-postgres",
- "uuid",
- "walkdir",
+ "serde",
 ]
 
 [[package]]
@@ -4572,9 +8354,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
 
 [[package]]
 name = "stacker"
-version = "0.1.14"
+version = "0.1.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90939d5171a4420b3ff5fbc8954d641e7377335454c259dcb80786f3f21dc9b4"
+checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce"
 dependencies = [
  "cc",
  "cfg-if",
@@ -4590,6 +8372,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
 [[package]]
+name = "str_indices"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f026164926842ec52deb1938fae44f83dfdb82d0a5b0270c5bd5935ab74d6dd"
+
+[[package]]
 name = "streaming-decompression"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4599,6 +8387,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "streaming-iterator"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "303235c177994a476226b80d076bd333b7b560fb05bd242a10609d11b07f81f5"
+
+[[package]]
 name = "stringprep"
 version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4609,12 +8403,31 @@ dependencies = [
 ]
 
 [[package]]
+name = "strip-ansi-escapes"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55ff8ef943b384c414f54aefa961dd2bd853add74ec75e7ac74cf91dba62bcfa"
+dependencies = [
+ "vte",
+]
+
+[[package]]
 name = "strsim"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
+name = "subprocess"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c2e86926081dda636c546d8c5e641661049d7562a68f5488be4a1f7f66f6086"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
 name = "subtle"
 version = "2.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4622,21 +8435,21 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
 
 [[package]]
 name = "symbolic-common"
-version = "8.0.0"
+version = "10.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0caab39ce6f074031b8fd3dd297bfda70a2d1f33c6e7cc1b737ac401f856448d"
+checksum = "c5d7c8cd6663e22c348c74cf0b2c77d196fd252c7efe5594ae05edb07d0475da"
 dependencies = [
  "debugid",
- "memmap",
+ "memmap2",
  "stable_deref_trait",
  "uuid",
 ]
 
 [[package]]
 name = "symbolic-demangle"
-version = "8.0.0"
+version = "10.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b77ecb5460a87faa37ed53521eed8f073c8339b7a5788c1f93efc09ce74e1b68"
+checksum = "86dc78e43163d342e72c0175113cf0c6ffc6b2540163c8680c4ed91c992af9e2"
 dependencies = [
  "cpp_demangle",
  "rustc-demangle",
@@ -4645,16 +8458,33 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "1.0.85"
+version = "1.0.107"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a684ac3dcd8913827e18cd09a68384ee66c1de24157e3c556c9ab16d85695fb7"
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
 dependencies = [
  "proc-macro2",
  "quote",
- "unicode-xid",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.39"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
 ]
 
 [[package]]
+name = "sync_wrapper"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8"
+
+[[package]]
 name = "synstructure"
 version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4662,18 +8492,19 @@ checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
  "unicode-xid",
 ]
 
 [[package]]
 name = "sysctl"
-version = "0.4.3"
+version = "0.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "feb3f7a32e17639e3705d2e05da40f485877cb97fdf0f3240e519e525e6cdb4d"
+checksum = "ed66d6a2ccbd656659289bc90767895b7abbdec897a0fc6031aca3ed1cb51d3e"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "byteorder",
+ "enum-as-inner",
  "libc",
  "thiserror",
  "walkdir",
@@ -4681,9 +8512,9 @@ dependencies = [
 
 [[package]]
 name = "sysinfo"
-version = "0.22.5"
+version = "0.27.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f1bfab07306a27332451a662ca9c8156e3a9986f82660ba9c8e744fe8455d43"
+checksum = "17351d0e9eb8841897b14e9669378f3c69fb57779cc04f8ca9a9d512edfb2563"
 dependencies = [
  "cfg-if",
  "core-foundation-sys",
@@ -4695,6 +8526,42 @@ dependencies = [
 ]
 
 [[package]]
+name = "tabled"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56c3ee73732ffceaea7b8f6b719ce3bb17f253fa27461ffeaf568ebd0cdb4b85"
+dependencies = [
+ "papergrid",
+ "tabled_derive",
+ "unicode-width",
+]
+
+[[package]]
+name = "tabled_derive"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "beca1b4eaceb4f2755df858b88d9b9315b7ccfd1ffd0d7a48a52602301f01a57"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
+name = "tagptr"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417"
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
 name = "tar"
 version = "0.4.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4706,157 +8573,90 @@ dependencies = [
 ]
 
 [[package]]
+name = "task-local-extensions"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba323866e5d033818e3240feeb9f7db2c4296674e4d9e16b97b7bf8f490434e8"
+dependencies = [
+ "pin-utils",
+]
+
+[[package]]
 name = "tempfile"
-version = "3.2.0"
+version = "3.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
 dependencies = [
  "cfg-if",
- "libc",
- "rand",
- "redox_syscall",
- "remove_dir_all",
- "winapi",
+ "fastrand",
+ "redox_syscall 0.4.1",
+ "rustix 0.38.21",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "termcolor"
-version = "1.1.2"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
 dependencies = [
  "winapi-util",
 ]
 
 [[package]]
 name = "terminal_size"
-version = "0.1.16"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86ca8ced750734db02076f44132d802af0b33b09942331f4459dde8636fd2406"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "test-util"
-version = "0.0.0"
+checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237"
 dependencies = [
- "anyhow",
- "chrono",
- "kafka-util",
- "ore",
- "rand",
- "rdkafka",
- "tokio",
- "tokio-postgres",
- "tracing",
-]
-
-[[package]]
-name = "testdrive"
-version = "0.0.0"
-dependencies = [
- "assert_cmd",
- "async-compression",
- "async-trait",
- "atty",
- "aws-config",
- "aws-sdk-kinesis",
- "aws-sdk-s3",
- "aws-sdk-sqs",
- "aws-smithy-http",
- "aws-types",
- "byteorder",
- "bytes",
- "ccsr",
- "chrono",
- "clap",
- "coord",
- "flate2",
- "futures",
- "http",
- "interchange",
- "itertools",
- "kafka-util",
- "krb5-src",
- "lazy_static",
- "maplit",
- "md-5",
- "mz-avro",
- "mz-aws-util",
- "mz-protoc",
- "ore",
- "pgrepr",
- "postgres_array",
- "predicates",
- "protobuf",
- "rand",
- "rdkafka",
- "regex",
- "repr",
- "reqwest",
- "serde",
- "serde_json",
- "similar",
- "sql",
- "sql-parser",
- "tempfile",
- "termcolor",
- "tiberius",
- "tokio",
- "tokio-postgres",
- "tokio-stream",
- "tokio-util",
- "url",
- "uuid",
+ "rustix 0.37.15",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
 name = "textwrap"
-version = "0.14.2"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80"
+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
 dependencies = [
  "terminal_size",
 ]
 
 [[package]]
 name = "thiserror"
-version = "1.0.30"
+version = "1.0.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417"
+checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.30"
+version = "1.0.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b"
+checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.39",
 ]
 
 [[package]]
 name = "thread_local"
-version = "1.0.1"
+version = "1.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
+checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
 dependencies = [
- "lazy_static",
+ "once_cell",
 ]
 
 [[package]]
 name = "tiberius"
-version = "0.7.1"
+version = "0.11.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00035fdbcee3e791e756d1831a1b9a89e414c320d3eccdae65aba4f388216c30"
+checksum = "66303a42b7c5daffb95c10cd8f3007a9c29b3e90128cf42b3738f58102aa2516"
 dependencies = [
- "async-native-tls",
  "async-trait",
  "asynchronous-codec",
  "byteorder",
@@ -4869,7 +8669,6 @@ dependencies = [
  "futures-util",
  "num-traits",
  "once_cell",
- "opentls",
  "pin-project-lite",
  "pretty-hex",
  "thiserror",
@@ -4879,9 +8678,9 @@ dependencies = [
 
 [[package]]
 name = "tikv-jemalloc-ctl"
-version = "0.4.2"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb833c46ecbf8b6daeccb347cefcabf9c1beb5c9b0f853e1cec45632d9963e69"
+checksum = "e37706572f4b151dff7a0146e040804e9c26fe3a3118591112f05cf12a4216c1"
 dependencies = [
  "libc",
  "paste",
@@ -4890,9 +8689,9 @@ dependencies = [
 
 [[package]]
 name = "tikv-jemalloc-sys"
-version = "0.4.2+5.2.1-patched.2"
+version = "0.5.2+5.3.0-patched"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5844e429d797c62945a566f8da4e24c7fe3fbd5d6617fd8bf7a0b7dc1ee0f22e"
+checksum = "ec45c14da997d0925c7835883e4d5c181f196fa142f8c19d7643d1e9af2592c3"
 dependencies = [
  "cc",
  "fs_extra",
@@ -4901,9 +8700,9 @@ dependencies = [
 
 [[package]]
 name = "tikv-jemallocator"
-version = "0.4.1"
+version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c14a5a604eb8715bc5785018a37d00739b180bcf609916ddf4393d33d49ccdf"
+checksum = "20612db8a13a6c06d57ec83953694185a367e16945f66565e8028d2c0bd76979"
 dependencies = [
  "libc",
  "tikv-jemalloc-sys",
@@ -4911,17 +8710,36 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.5"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41effe7cfa8af36f439fac33861b66b049edc6f9a32331e2312660529c1c24ad"
+checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
 dependencies = [
- "libc",
+ "itoa",
+ "quickcheck",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+
+[[package]]
+name = "time-macros"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
+dependencies = [
+ "time-core",
 ]
 
 [[package]]
 name = "timely"
 version = "0.12.0"
-source = "git+https://github.com/TimelyDataflow/timely-dataflow#1f09f660120d69f0c2534d04671b5f9d79162a39"
+source = "git+https://github.com/MaterializeInc/timely-dataflow.git#de20aa88cc6df3de910e9befbe68408d31e287be"
 dependencies = [
  "abomonation",
  "abomonation_derive",
@@ -4932,27 +8750,19 @@ dependencies = [
  "serde_derive",
  "timely_bytes",
  "timely_communication",
+ "timely_container",
  "timely_logging",
 ]
 
 [[package]]
-name = "timely-util"
-version = "0.0.0"
-dependencies = [
- "futures-util",
- "timely",
- "tokio",
-]
-
-[[package]]
 name = "timely_bytes"
 version = "0.12.0"
-source = "git+https://github.com/TimelyDataflow/timely-dataflow#1f09f660120d69f0c2534d04671b5f9d79162a39"
+source = "git+https://github.com/MaterializeInc/timely-dataflow.git#de20aa88cc6df3de910e9befbe68408d31e287be"
 
 [[package]]
 name = "timely_communication"
 version = "0.12.0"
-source = "git+https://github.com/TimelyDataflow/timely-dataflow#1f09f660120d69f0c2534d04671b5f9d79162a39"
+source = "git+https://github.com/MaterializeInc/timely-dataflow.git#de20aa88cc6df3de910e9befbe68408d31e287be"
 dependencies = [
  "abomonation",
  "abomonation_derive",
@@ -4966,9 +8776,27 @@ dependencies = [
 ]
 
 [[package]]
+name = "timely_container"
+version = "0.12.0"
+source = "git+https://github.com/MaterializeInc/timely-dataflow.git#de20aa88cc6df3de910e9befbe68408d31e287be"
+dependencies = [
+ "columnation",
+ "serde",
+]
+
+[[package]]
 name = "timely_logging"
 version = "0.12.0"
-source = "git+https://github.com/TimelyDataflow/timely-dataflow#1f09f660120d69f0c2534d04671b5f9d79162a39"
+source = "git+https://github.com/MaterializeInc/timely-dataflow.git#de20aa88cc6df3de910e9befbe68408d31e287be"
+
+[[package]]
+name = "tiny-keccak"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
+dependencies = [
+ "crunchy",
+]
 
 [[package]]
 name = "tinytemplate"
@@ -4981,33 +8809,80 @@ dependencies = [
 ]
 
 [[package]]
+name = "tinyvec"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+
+[[package]]
 name = "tokio"
-version = "1.15.0"
+version = "1.32.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbbf1c778ec206785635ce8ad57fe52b3009ae9e0c9f574a728f3049d3e55838"
+checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
 dependencies = [
+ "backtrace",
  "bytes",
  "libc",
- "memchr",
  "mio",
  "num_cpus",
- "once_cell",
  "parking_lot",
  "pin-project-lite",
  "signal-hook-registry",
+ "socket2 0.5.3",
  "tokio-macros",
- "winapi",
+ "tracing",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tokio-io-timeout"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90c49f106be240de154571dd31fbe48acb10ba6c6dd6f6517ad603abffa42de9"
+dependencies = [
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-io-utility"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d672654d175710e52c7c41f6aec77c62b3c0954e2a7ebce9049d1e94ed7c263"
+dependencies = [
+ "tokio",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "1.7.0"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7"
+checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.39",
+]
+
+[[package]]
+name = "tokio-metrics"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4b2fc67d5dec41db679b9b052eb572269616926040b7831e32c8a152df77b84"
+dependencies = [
+ "futures-util",
+ "pin-project-lite",
+ "tokio",
+ "tokio-stream",
 ]
 
 [[package]]
@@ -5033,15 +8908,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "tokio-pipe"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f213a84bffbd61b8fa0ba8a044b4bbe35d471d0b518867181e82bd5c15542784"
+dependencies = [
+ "libc",
+ "tokio",
+]
+
+[[package]]
 name = "tokio-postgres"
-version = "0.7.2"
-source = "git+https://github.com/MaterializeInc/rust-postgres?branch=mz-0.7.2#4320cb7a1fedb1b6157f0dec51f84f4c990f4d98"
+version = "0.7.8"
+source = "git+https://github.com/MaterializeInc/rust-postgres#b759caa33610403aa74b1cfdd37f45eb3100c9af"
 dependencies = [
  "async-trait",
  "byteorder",
  "bytes",
  "fallible-iterator",
- "futures",
+ "futures-channel",
+ "futures-util",
  "log",
  "parking_lot",
  "percent-encoding",
@@ -5049,72 +8935,173 @@ dependencies = [
  "pin-project-lite",
  "postgres-protocol",
  "postgres-types",
- "socket2",
+ "serde",
+ "socket2 0.5.3",
  "tokio",
  "tokio-util",
 ]
 
 [[package]]
-name = "tokio-serde"
-version = "0.8.0"
+name = "tokio-stream"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466"
+checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce"
 dependencies = [
- "bincode",
- "bytes",
- "educe",
  "futures-core",
- "futures-sink",
- "pin-project",
- "serde",
+ "pin-project-lite",
+ "tokio",
+ "tokio-util",
 ]
 
 [[package]]
-name = "tokio-stream"
-version = "0.1.8"
+name = "tokio-test"
+version = "0.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3"
+checksum = "53474327ae5e166530d17f2d956afcb4f8a004de581b3cae10f12006bc8163e3"
 dependencies = [
+ "async-stream",
+ "bytes",
  "futures-core",
- "pin-project-lite",
  "tokio",
+ "tokio-stream",
+]
+
+[[package]]
+name = "tokio-tungstenite"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b2dbec703c26b00d74844519606ef15d09a7d6857860f84ad223dec002ddea2"
+dependencies = [
+ "futures-util",
+ "log",
+ "tokio",
+ "tungstenite",
 ]
 
 [[package]]
 name = "tokio-util"
-version = "0.6.9"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0"
+checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740"
 dependencies = [
  "bytes",
  "futures-core",
  "futures-io",
  "futures-sink",
- "log",
  "pin-project-lite",
+ "slab",
  "tokio",
+ "tracing",
 ]
 
 [[package]]
 name = "toml"
-version = "0.5.8"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
+checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
 dependencies = [
  "serde",
 ]
 
 [[package]]
+name = "toml_datetime"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.19.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
+dependencies = [
+ "indexmap 2.0.0",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tonic"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a"
+dependencies = [
+ "async-trait",
+ "axum",
+ "base64 0.21.5",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-timeout",
+ "percent-encoding",
+ "pin-project",
+ "prost",
+ "tokio",
+ "tokio-stream",
+ "tower",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tonic-build"
+version = "0.9.2"
+source = "git+https://github.com/MaterializeInc/tonic?rev=0d86e360ab45779770ca150c8487fe7940c299a9#0d86e360ab45779770ca150c8487fe7940c299a9"
+dependencies = [
+ "prettyplease 0.1.25",
+ "proc-macro2",
+ "prost-build",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
 name = "tower"
-version = "0.4.10"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c00e500fff5fa1131c866b246041a6bf96da9c965f8fe4128cb1421f23e93c00"
+checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
 dependencies = [
  "futures-core",
  "futures-util",
+ "indexmap 1.9.1",
  "pin-project",
  "pin-project-lite",
+ "rand",
+ "slab",
  "tokio",
+ "tokio-util",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower-http"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55ae70283aba8d2a8b411c695c437fe25b8b5e44e23e780662002fc72fb47a82"
+dependencies = [
+ "base64 0.21.5",
+ "bitflags 2.4.1",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "http",
+ "http-body",
+ "http-range-header",
+ "mime",
+ "pin-project-lite",
+ "tower",
  "tower-layer",
  "tower-service",
  "tracing",
@@ -5122,21 +9109,55 @@ dependencies = [
 
 [[package]]
 name = "tower-layer"
-version = "0.3.1"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
+
+[[package]]
+name = "tower-lsp"
+version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "343bc9466d3fe6b0f960ef45960509f84480bf4fd96f92901afe7ff3df9d3a62"
+checksum = "d4ba052b54a6627628d9b3c34c176e7eda8359b7da9acd497b9f20998d118508"
+dependencies = [
+ "async-trait",
+ "auto_impl",
+ "bytes",
+ "dashmap",
+ "futures",
+ "httparse",
+ "lsp-types",
+ "memchr",
+ "serde",
+ "serde_json",
+ "tokio",
+ "tokio-util",
+ "tower",
+ "tower-lsp-macros",
+ "tracing",
+]
+
+[[package]]
+name = "tower-lsp-macros"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84fd902d4e0b9a4b27f2f440108dc034e1758628a9b702f8ec61ad66355422fa"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.39",
+]
 
 [[package]]
 name = "tower-service"
-version = "0.3.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860"
+checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
 
 [[package]]
 name = "tracing"
-version = "0.1.29"
+version = "0.1.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
 dependencies = [
  "cfg-if",
  "log",
@@ -5147,68 +9168,90 @@ dependencies = [
 
 [[package]]
 name = "tracing-attributes"
-version = "0.1.18"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e"
+checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.107",
 ]
 
 [[package]]
 name = "tracing-core"
-version = "0.1.21"
+version = "0.1.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
 dependencies = [
- "lazy_static",
+ "once_cell",
+ "valuable",
 ]
 
 [[package]]
 name = "tracing-log"
-version = "0.1.2"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
 dependencies = [
- "lazy_static",
  "log",
+ "once_cell",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-opentelemetry"
+version = "0.22.0"
+source = "git+https://github.com/MaterializeInc/tracing-opentelemetry.git#7035e641b683985cc3b8630f3b61d53c96f83695"
+dependencies = [
+ "js-sys",
+ "once_cell",
+ "opentelemetry",
+ "opentelemetry_sdk",
+ "smallvec",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+ "tracing-subscriber",
+ "web-time",
+]
+
+[[package]]
+name = "tracing-serde"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1"
+dependencies = [
+ "serde",
  "tracing-core",
 ]
 
 [[package]]
 name = "tracing-subscriber"
-version = "0.3.5"
+version = "0.3.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d81bfa81424cc98cb034b837c985b7a290f592e5b4322f353f94a0ab0f9f594"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
 dependencies = [
- "ansi_term",
- "lazy_static",
  "matchers",
+ "nu-ansi-term",
+ "once_cell",
  "regex",
+ "serde",
+ "serde_json",
  "sharded-slab",
  "smallvec",
  "thread_local",
  "tracing",
  "tracing-core",
  "tracing-log",
+ "tracing-serde",
 ]
 
 [[package]]
-name = "transform"
-version = "0.0.0"
+name = "treediff"
+version = "4.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52984d277bdf2a751072b5df30ec0377febdb02f7696d64c2d7d54630bac4303"
 dependencies = [
- "anyhow",
- "datadriven",
- "dataflow-types",
- "differential-dataflow",
- "expr",
- "expr_test_util",
- "itertools",
- "lowertest",
- "ore",
- "proc-macro2",
- "repr",
  "serde_json",
 ]
 
@@ -5219,22 +9262,84 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41"
 
 [[package]]
+name = "triomphe"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1ee9bd9239c339d714d657fac840c6d2a4f9c45f4f9ec7b0975113458be78db"
+
+[[package]]
 name = "try-lock"
 version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
 
 [[package]]
+name = "tungstenite"
+version = "0.20.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9"
+dependencies = [
+ "byteorder",
+ "bytes",
+ "data-encoding",
+ "http",
+ "httparse",
+ "log",
+ "rand",
+ "sha1",
+ "thiserror",
+ "url",
+ "utf-8",
+]
+
+[[package]]
+name = "twox-hash"
+version = "1.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ee73e6e4924fe940354b8d4d98cad5231175d615cd855b758adc658c0aac6a0"
+dependencies = [
+ "cfg-if",
+ "rand",
+ "static_assertions",
+]
+
+[[package]]
+name = "typed-arena"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
+
+[[package]]
+name = "typed-builder"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89851716b67b937e393b3daa8423e67ddfc4bbbf1654bcf05488e95e0828db0c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.107",
+]
+
+[[package]]
 name = "typenum"
-version = "1.12.0"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"
+checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+
+[[package]]
+name = "uname"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b72f89f0ca32e4db1c04e2a72f5345d59796d4866a1ee0609084569f73683dc8"
+dependencies = [
+ "libc",
+]
 
 [[package]]
 name = "uncased"
-version = "0.9.6"
+version = "0.9.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5baeed7327e25054889b9bd4f975f32e5f4c5d434042d59ab6cd4142c0a76ed0"
+checksum = "09b01702b0fd0b3fadcf98e098780badda8742d4f4a7676615cad90e8ac73622"
 dependencies = [
  "version_check",
 ]
@@ -5258,77 +9363,112 @@ dependencies = [
 ]
 
 [[package]]
+name = "unicode-ident"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee"
+
+[[package]]
 name = "unicode-normalization"
-version = "0.1.12"
+version = "0.1.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4"
+checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6"
 dependencies = [
- "smallvec",
+ "tinyvec",
 ]
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.6.0"
+version = "1.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
 name = "unicode-width"
-version = "0.1.9"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
 
 [[package]]
 name = "unicode-xid"
-version = "0.2.0"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
+checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
+
+[[package]]
+name = "unsafe-libyaml"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f28467d3e1d3c6586d8f25fa243f544f5800fec42d97032474e17222c2b75cfa"
 
 [[package]]
 name = "untrusted"
-version = "0.7.1"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
 
 [[package]]
-name = "uritemplate-next"
-version = "0.2.0"
+name = "ureq"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcde98d1fc3f528255b1ecb22fb688ee0d23deb672a8c57127df10b98b4bd18c"
+checksum = "b97acb4c28a254fd7a4aeec976c46a7fa404eac4d7c134b30c75144846d7cb8f"
 dependencies = [
- "regex",
+ "base64 0.13.1",
+ "chunked_transfer",
+ "log",
+ "native-tls",
+ "once_cell",
+ "url",
 ]
 
 [[package]]
 name = "url"
-version = "2.2.2"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
 dependencies = [
  "form_urlencoded",
  "idna",
- "matches",
  "percent-encoding",
  "serde",
 ]
 
 [[package]]
 name = "urlencoding"
-version = "1.3.3"
+version = "2.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8db7427f936968176eaa7cdf81b7f98b980b18495ec28f1b5791ac3bfe3eea9"
+
+[[package]]
+name = "utf-8"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a1f0175e03a0973cf4afd476bef05c26e228520400eb1fd473ad417b1c00ffb"
+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
 
 [[package]]
 name = "uuid"
-version = "0.8.2"
+version = "1.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c"
 dependencies = [
  "getrandom",
  "serde",
+ "sha1_smol",
 ]
 
 [[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
 name = "vcpkg"
 version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5336,31 +9476,43 @@ checksum = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168"
 
 [[package]]
 name = "version_check"
-version = "0.9.2"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
-name = "wait-timeout"
-version = "0.2.0"
+name = "vsimd"
+version = "0.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
+checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64"
+
+[[package]]
+name = "vte"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5022b5fbf9407086c180e9557be968742d839e68346af7792b8592489732197"
 dependencies = [
- "libc",
+ "utf8parse",
+ "vte_generate_state_changes",
 ]
 
 [[package]]
-name = "walkabout"
-version = "0.0.0"
+name = "vte_generate_state_changes"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
 dependencies = [
- "anyhow",
- "datadriven",
- "fstrings",
- "itertools",
- "ore",
+ "proc-macro2",
  "quote",
- "syn",
- "tempfile",
+]
+
+[[package]]
+name = "wait-timeout"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
+dependencies = [
+ "libc",
 ]
 
 [[package]]
@@ -5386,15 +9538,15 @@ dependencies = [
 
 [[package]]
 name = "wasi"
-version = "0.10.0+wasi-snapshot-preview1"
+version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.74"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -5402,16 +9554,16 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.74"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
 dependencies = [
  "bumpalo",
- "lazy_static",
  "log",
+ "once_cell",
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.39",
  "wasm-bindgen-shared",
 ]
 
@@ -5429,9 +9581,9 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.74"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -5439,22 +9591,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.74"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 2.0.39",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.74"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
 
 [[package]]
 name = "web-sys"
@@ -5467,6 +9619,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "web-time"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
 name = "which"
 version = "4.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5509,15 +9671,291 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
+name = "windows"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+
+[[package]]
+name = "winnow"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acaaa1190073b2b101e15083c38ee8ec891b5e05cbee516521e94ec008f61e64"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "winreg"
-version = "0.7.0"
+version = "0.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69"
+checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
 dependencies = [
  "winapi",
 ]
 
 [[package]]
+name = "workspace-hack"
+version = "0.0.0"
+dependencies = [
+ "ahash",
+ "anyhow",
+ "async-compression",
+ "aws-config",
+ "aws-credential-types",
+ "aws-runtime",
+ "aws-sdk-sts",
+ "aws-sigv4",
+ "aws-smithy-async",
+ "aws-smithy-http",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
+ "axum",
+ "bitflags 2.4.1",
+ "bstr 0.2.14",
+ "byteorder",
+ "bytes",
+ "cc",
+ "chrono",
+ "clap",
+ "console",
+ "criterion",
+ "crossbeam-deque",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+ "crypto-common",
+ "debugid",
+ "dec",
+ "digest",
+ "either",
+ "flate2",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+ "globset",
+ "hashbrown 0.14.0",
+ "hyper",
+ "indexmap 1.9.1",
+ "itertools",
+ "k8s-openapi",
+ "kube",
+ "kube-client",
+ "kube-core",
+ "libc",
+ "libz-sys",
+ "log",
+ "memchr",
+ "mime_guess",
+ "mio",
+ "mysql_async",
+ "mysql_common",
+ "native-tls",
+ "nix",
+ "nom",
+ "num-bigint",
+ "num-integer",
+ "num-traits",
+ "once_cell",
+ "openssl",
+ "openssl-sys",
+ "ordered-float",
+ "parking_lot",
+ "phf",
+ "phf_shared",
+ "postgres",
+ "postgres-types",
+ "predicates",
+ "proc-macro2",
+ "prost",
+ "prost-reflect",
+ "prost-types",
+ "quote",
+ "rand",
+ "rand_chacha",
+ "rdkafka-sys",
+ "regex",
+ "regex-syntax",
+ "reqwest",
+ "ring",
+ "schemars",
+ "scopeguard",
+ "security-framework",
+ "semver",
+ "serde",
+ "serde_json",
+ "sha2",
+ "similar",
+ "smallvec",
+ "socket2 0.5.3",
+ "subtle",
+ "syn 1.0.107",
+ "syn 2.0.39",
+ "textwrap",
+ "tikv-jemalloc-sys",
+ "time",
+ "time-macros",
+ "timely",
+ "timely_communication",
+ "tokio",
+ "tokio-postgres",
+ "tokio-stream",
+ "tokio-util",
+ "toml_datetime",
+ "toml_edit",
+ "tower",
+ "tower-http",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber",
+ "tungstenite",
+ "uncased",
+ "url",
+ "uuid",
+ "zeroize",
+ "zstd-sys",
+]
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
 name = "xattr"
 version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5528,34 +9966,77 @@ dependencies = [
 
 [[package]]
 name = "xmlparser"
-version = "0.13.3"
+version = "0.13.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd"
+
+[[package]]
+name = "yaml-rust"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
+dependencies = [
+ "linked-hash-map",
+]
+
+[[package]]
+name = "yansi"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "114ba2b24d2167ef6d67d7d04c8cc86522b87f490025f39f0303b7db5bf5e3d8"
+checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
 
 [[package]]
 name = "zeroize"
-version = "1.4.2"
+version = "1.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf68b08513768deaa790264a7fac27a58cbf2705cfcdc9448362229217d7e970"
+checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f"
+dependencies = [
+ "serde",
+]
 
 [[package]]
-name = "zip"
-version = "0.5.13"
+name = "zstd"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815"
+checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c"
 dependencies = [
- "byteorder",
- "crc32fast",
- "flate2",
- "thiserror",
+ "zstd-safe 6.0.6",
+]
+
+[[package]]
+name = "zstd"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110"
+dependencies = [
+ "zstd-safe 7.0.0",
+]
+
+[[package]]
+name = "zstd-safe"
+version = "6.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581"
+dependencies = [
+ "libc",
+ "zstd-sys",
+]
+
+[[package]]
+name = "zstd-safe"
+version = "7.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e"
+dependencies = [
+ "zstd-sys",
 ]
 
 [[package]]
 name = "zstd-sys"
-version = "1.6.1+zstd.1.5.0"
+version = "2.0.9+zstd.1.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "615120c7a2431d16cf1cf979e7fc31ba7a5b5e5707b29c8a99e5dbf8a8392a33"
+checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
 dependencies = [
  "cc",
- "libc",
+ "pkg-config",
 ]
diff --git a/pkgs/servers/sql/materialize/default.nix b/pkgs/servers/sql/materialize/default.nix
index 5c39af8c1ce5..90297cfa81ae 100644
--- a/pkgs/servers/sql/materialize/default.nix
+++ b/pkgs/servers/sql/materialize/default.nix
@@ -10,7 +10,11 @@
 , libiconv
 , openssl
 , perl
-, pkg-config}:
+, pkg-config
+, protobuf
+, libclang
+, rdkafka
+}:
 
 let
   fetchNpmPackage = {name, version, hash, js_prod_file, js_dev_file, ...} @ args:
@@ -20,16 +24,19 @@ let
       inherit hash;
     };
 
-    static = "./src/materialized/src/http/static";
-    cssVendor = "./src/materialized/src/http/static/css/vendor";
-    jsProdVendor = "./src/materialized/src/http/static/js/vendor";
-    jsDevVendor = "./src/materialized/src/http/static-dev/js/vendor";
-
     files = with args; [
-      { src = js_prod_file; dst = "${jsProdVendor}/${name}.js"; }
-      { src = js_dev_file;  dst = "${jsDevVendor}/${name}.js"; }
-    ] ++ lib.optional (args ? css_file) { src = css_file; dst = "${cssVendor}/${name}.css"; }
-      ++ lib.optional (args ? extra_file) { src = extra_file.src; dst = "${static}/${extra_file.dst}"; };
+      { src = js_prod_file; dst = "./src/environmentd/src/http/static/js/vendor/${name}.js"; }
+      { src = js_prod_file; dst = "./src/prof-http/src/http/static/js/vendor/${name}.js"; }
+      { src = js_dev_file;  dst = "./src/environmentd/src/http/static-dev/js/vendor/${name}.js"; }
+      { src = js_dev_file;  dst = "./src/prof-http/src/http/static-dev/js/vendor/${name}.js"; }
+    ] ++ lib.optionals (args ? css_file) [
+     { src = css_file; dst = "./src/environmentd/src/http/static/css/vendor/${name}.css"; }
+     { src = css_file; dst = "./src/prof-http/src/http/static/css/vendor/${name}.css"; }
+    ]
+      ++ lib.optionals (args ? extra_file) [
+      { src = extra_file.src; dst = "./src/environmentd/src/http/static/${extra_file.dst}";}
+      { src = extra_file.src; dst = "./src/prof-http/src/http/static/${extra_file.dst}";}
+    ];
   in
     lib.concatStringsSep "\n" (lib.forEach files ({src, dst}: ''
       mkdir -p "${dirOf dst}"
@@ -40,44 +47,73 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "materialize";
-  version = "0.17.0";
+  version = "0.84.2";
   MZ_DEV_BUILD_SHA = "9f8cf75b461d288335cb6a7a73aaa670bab4a466";
 
   src = fetchFromGitHub {
     owner = "MaterializeInc";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-wKYU5S77VoOX7UA9/d21Puz9NYs/om08eNM69/m3Orc=";
+    hash = "sha256-+cvTCiTbuaPYPIyDxQlMWdJA5/6cbMoiTcSmjj5KPjs=";
+    fetchSubmodules = true;
   };
 
+  postPatch = ''
+    ${lib.concatStringsSep "\n" (map fetchNpmPackage npmPackages)}
+    substituteInPlace ./misc/dist/materialized.service \
+      --replace /usr/bin $out/bin \
+      --replace _Materialize root
+    substituteInPlace ./src/catalog/build.rs \
+      --replace '&[ ' '&["."'
+  '';
+
+  # needed for internal protobuf c wrapper library
+  env.PROTOC = "${protobuf}/bin/protoc";
+  env.PROTOC_INCLUDE = "${protobuf}/include";
+  env.LIBCLANG_PATH = "${libclang.lib}/lib";
+  # needed to dynamically link rdkafka
+  env.CARGO_FEATURE_DYNAMIC_LINKING=1;
+
   cargoLock = {
     lockFile = ./Cargo.lock;
     outputHashes = {
-      "criterion-0.3.5" = "sha256-gXhwLw99kC08zxHdY6l5LF5EVzAAFasI4GLnopLwhEU=";
-      "differential-dataflow-0.12.0" = "sha256-sDy4502XqCuXqRtwLWuaHSgfX7v9NNochhfpI6n8DrM=";
-      "headers-0.3.5" = "sha256-ipxMfuPgoeH2uR4Im/XBdnxT00+LGzTgW7Ed2armYOU=";
-      "mzcloud-1.0.0" = "sha256-Nt9YCG+DFCCOMbKaNhOD78WF/z3qB5ymUIp6Wep2A9A=";
-      "parquet-format-async-temp-0.2.0" = "sha256-UUQv/90egmwQK0CZCztinEskvWcZ40rKWbJoWYz2oLQ=";
-      "postgres-0.19.1" = "sha256-zH7PF4p7wJCSYpuydTL3HPcOjPU9SlTy6IJREOe2l7U=";
-      "postgres_array-0.11.0" = "sha256-M1nMsQfxK0ay4JxoPqm2cl4Cp8mVZlVUAfWDhhv9nA4=";
-      "prometheus-0.10.0" = "sha256-NTnKt1RGiZ8AxsU8UzhLhpfEi24Pos5kR9g22Mmt444=";
-      "protobuf-3.0.0-alpha.2" = "sha256-8gBGQqAtKJelcBCxnDESanlblBLQ1Th7khHxUkDw7To=";
-      "pubnub-core-0.1.0" = "sha256-YuGEFaStfrhb0ygjVFm2a2eJla9ABc5ifXKuvJxUvgk=";
-      "rdkafka-0.28.0" = "sha256-u2gBTzu+IvXTDvcZGzPaVpSVOgAKhTth7GLwob4urDs=";
-      "timely-0.12.0" = "sha256-PHaDRNm7MezXJWhILWJHTeiCWO3iLUp94Z0V2dreCMk=";
+      "columnation-0.1.0" = "sha256-VRDQqIVLayEnMHeth4cjsS/FYah3B3mwYEGnv8jpKs8=";
+      "differential-dataflow-0.12.0" = "sha256-cEmtDXOZSy4rDFZ7gCd7lx6wH+m1S9vphjb+wO4MSAM=";
+      "eventsource-client-0.11.0" = "sha256-FeEWV2yy1et5mna0TyAnakXlcIR42Aq97Lfjjlom8T0=";
+      "launchdarkly-server-sdk-1.0.0" = "sha256-fSWiV9mNf5WBkWDNckiUR3URQ8lJ4GZURxbYO/753sU=";
+      "librocksdb-sys-0.11.0+8.3.2" = "sha256-bnAvH2z9n26MYFhTN/+Yz+7lEdNKKmHJOoHkxTdZGvw=";
+      "openssh-0.9.9" = "sha256-2jaQN6PhavUtlWwqCn2VXEg213uj7BQ+FIrhnL3rb8Q=";
+      "postgres-0.19.5" = "sha256-i0mURHTCMrgaW1DD1CihWMdZ3zoNI14dCpq/ja8RW9E=";
+      "postgres_array-0.11.0" = "sha256-ealgPVExRIFUt0QVao8H7Q7u/PTuCbpGrk6Tm5jVwZ0=";
+      "proptest-1.0.0" = "sha256-sJbPQIVeHZZiRXssRpJWRbD9l8QnfwVcpGu6knjAe5o=";
+      "rdkafka-0.29.0" = "sha256-48CMvJ4PoVfKyiNMSpCGBtj36j2CF1E8a/QQ/urfiPc=";
+      "reqwest-middleware-0.2.3" = "sha256-zzlQycH5dmgM8ew1gy8m5r6Q2ib7LXnUeX69M3ih+sY=";
+      "serde-value-0.7.0" = "sha256-ewEYsf1+9MmLuSm5KbO326ngGB79i00lAp2NMHuuxw8=";
+      "timely-0.12.0" = "sha256-wJtHJ9ygPVusN5Io8SjZGo1r7lcrrcauESSC+9038AU=";
+      "tonic-build-0.9.2" = "sha256-cGvHjgmdr3NU1phwUfMvEE6uU12fOlhTlL2LoWeOO4I=";
+      "tracing-opentelemetry-0.22.0" = "sha256-mawDGrue/e3dPYVG0ANs9nZ+xmQyd1YTWH8QmE6VD0U=";
     };
   };
 
-  nativeBuildInputs = [ cmake perl pkg-config ]
+  nativeBuildInputs = [
+    cmake
+    perl
+    pkg-config
+    rustPlatform.bindgenHook
+  ]
     # Provides the mig command used by the krb5-src build script
     ++ lib.optional stdenv.isDarwin bootstrap_cmds;
 
   # Needed to get openssl-sys to use pkg-config.
   OPENSSL_NO_VENDOR = 1;
 
-  buildInputs = [ openssl ]
+  buildInputs = [ openssl rdkafka libclang ]
     ++ lib.optionals stdenv.isDarwin [ libiconv DiskArbitration Foundation ];
 
+  # the check phase requires linking with rocksdb which can be a problem since
+  # the rust rocksdb crate is not updated very often.
+  doCheck = false;
+
   # Skip tests that use the network
   checkFlags = [
     "--exact"
@@ -90,14 +126,7 @@ rustPlatform.buildRustPackage rec {
     "--skip test_tls"
   ];
 
-  postPatch = ''
-    ${lib.concatStringsSep "\n" (map fetchNpmPackage npmPackages)}
-    substituteInPlace ./misc/dist/materialized.service \
-      --replace /usr/bin $out/bin \
-      --replace _Materialize root
-  '';
-
-  cargoBuildFlags = [ "--bin materialized" ];
+  cargoBuildFlags = [ "--bin environmentd --bin clusterd" ];
 
   postInstall = ''
     install --mode=444 -D ./misc/dist/materialized.service $out/etc/systemd/system/materialized.service
diff --git a/pkgs/servers/sql/materialize/npm_deps.nix b/pkgs/servers/sql/materialize/npm_deps.nix
index a0fccb971c02..d7b500e202ea 100644
--- a/pkgs/servers/sql/materialize/npm_deps.nix
+++ b/pkgs/servers/sql/materialize/npm_deps.nix
@@ -3,7 +3,7 @@
 # files.
 #
 # The list of modules can be found in this file
-# https://github.com/MaterializeInc/materialize/blob/master/src/materialized/build/npm.rs
+# https://github.com/MaterializeInc/materialize/blob/master/src/npm/lib.rs
 [
   {
     name = "@hpcc-js/wasm";
@@ -17,9 +17,9 @@
     };
   }
   {
-    name = "babel-standalone";
-    version = "6.26.0";
-    hash = "sha256-zdeTj4aOEzWvrnh90T80jL+RD8qg8PaeG0Ceua82Dz4=";
+    name = "@babel/standalone";
+    version = "7.23.3";
+    hash = "sha256-yxhB4OVOdV8hYNPqcap+5/JXYeaVrNGOSOG8lKpiG9E=";
     js_prod_file = "babel.min.js";
     js_dev_file = "babel.js";
   }
diff --git a/pkgs/servers/sql/mysql/8.0.x.nix b/pkgs/servers/sql/mysql/8.0.x.nix
index e136f02757d9..521e748198a3 100644
--- a/pkgs/servers/sql/mysql/8.0.x.nix
+++ b/pkgs/servers/sql/mysql/8.0.x.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "mysql";
-  version = "8.0.35";
+  version = "8.0.36";
 
   src = fetchurl {
     url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor finalAttrs.version}/mysql-${finalAttrs.version}.tar.gz";
-    hash = "sha256-kXxe04cE6ZIRGFzkviTjOowZyRJB7XOvQYGm840VdMI=";
+    hash = "sha256-9PJwa5WKinOA72yVjdlyMHvb7qRR76/DQuTEbim36d0=";
   };
 
   nativeBuildInputs = [ bison cmake pkg-config ]
diff --git a/pkgs/servers/sql/postgresql/ext/citus.nix b/pkgs/servers/sql/postgresql/ext/citus.nix
new file mode 100644
index 000000000000..3b6d58030c15
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/citus.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, curl
+, fetchFromGitHub
+, lz4
+, postgresql
+}:
+
+stdenv.mkDerivation rec {
+  pname = "citus";
+  version = "12.1.1";
+
+  src = fetchFromGitHub {
+    owner = "citusdata";
+    repo = "citus";
+    rev = "v${version}";
+    hash = "sha256-g2/PJ4H5N7XA0yWiT6GbgCRh8mBDAfNhW9hx8r3X1Cs=";
+  };
+
+  buildInputs = [
+    curl
+    lz4
+    postgresql
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D -t $out/lib src/backend/columnar/citus_columnar${postgresql.dlSuffix}
+    install -D -t $out/share/postgresql/extension src/backend/columnar/build/sql/*.sql
+    install -D -t $out/share/postgresql/extension src/backend/columnar/*.control
+
+    install -D -t $out/lib src/backend/distributed/citus${postgresql.dlSuffix}
+    install -D -t $out/share/postgresql/extension src/backend/distributed/build/sql/*.sql
+    install -D -t $out/share/postgresql/extension src/backend/distributed/*.control
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    # "Our soft policy for Postgres version compatibilty is to support Citus'
+    # latest release with Postgres' 3 latest releases."
+    # https://www.citusdata.com/updates/v12-0/#deprecated_features
+    broken = versionOlder postgresql.version "14";
+    description = "Distributed PostgreSQL as an extension";
+    homepage = "https://www.citusdata.com/";
+    changelog = "https://github.com/citusdata/citus/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ marsam ];
+    inherit (postgresql.meta) platforms;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/ext/pgvector.nix b/pkgs/servers/sql/postgresql/ext/pgvector.nix
index 26b330b3b5b2..f7754eb2377e 100644
--- a/pkgs/servers/sql/postgresql/ext/pgvector.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgvector.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgvector";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "pgvector";
     repo = "pgvector";
     rev = "v${version}";
-    hash = "sha256-ZNzq+dATZn9LUgeOczsaadr5hwdbt9y/+sAOPIdr77U=";
+    hash = "sha256-hXm+k0BZ9xZP1Tnek14jPoKCPQkA5ovscu9IX2mW7Kc=";
   };
 
   buildInputs = [ postgresql ];
diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix
index 52e4fc700c94..55be61dacf30 100644
--- a/pkgs/servers/sql/postgresql/packages.nix
+++ b/pkgs/servers/sql/postgresql/packages.nix
@@ -4,6 +4,8 @@ self: super: {
 
     apache_datasketches = super.callPackage ./ext/apache_datasketches.nix { };
 
+    citus = super.callPackage ./ext/citus.nix { };
+
     h3-pg = super.callPackage ./ext/h3-pg.nix { };
 
     hypopg = super.callPackage ./ext/hypopg.nix { };
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 9a9df286dc3a..25693f657553 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -72,7 +72,7 @@ in rec {
   };
 
   unifi8 = generic {
-    version = "8.0.26";
-    sha256 = "96d79cad82656d490f99ea476b6e6b049836f705a9aad594572b46e5f0f535d1";
+    version = "8.0.28";
+    sha256 = "sha256-RA3R/iR3u/V+qU2sQTNtaQhYOI8tCQw8TvMWPUlitrw=";
   };
 }
diff --git a/pkgs/servers/unpackerr/default.nix b/pkgs/servers/unpackerr/default.nix
index 5ed52a37f62c..26ee095e951d 100644
--- a/pkgs/servers/unpackerr/default.nix
+++ b/pkgs/servers/unpackerr/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "unpackerr";
-  version = "0.12.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "davidnewhall";
     repo = "unpackerr";
     rev = "v${version}";
-    sha256 = "sha256-yMmn733j6k9r8I/lvVOZNL6o35eSPJZ5G8jw9xaJZRg=";
+    sha256 = "sha256-K6ZDRDtxeqtjToElix1qVgclHaEeOY0W6hOwehFNIgo=";
   };
 
-  vendorHash = "sha256-1VMeRB34JS9EwyGhPxFsRIgKaY6NyIMsa132PQKoPYY=";
+  vendorHash = "sha256-1OSZzs/hUvauRIE5lzlXPIS2EkHm4aNK1iddjKCb6zA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Cocoa WebKit ];
 
diff --git a/pkgs/servers/uxplay/default.nix b/pkgs/servers/uxplay/default.nix
index c453c63e6f08..0eecf8e8c59c 100644
--- a/pkgs/servers/uxplay/default.nix
+++ b/pkgs/servers/uxplay/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "uxplay";
-  version = "1.68.1";
+  version = "1.68.2";
 
   src = fetchFromGitHub {
     owner = "FDH2";
     repo = "UxPlay";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-9/fzEaOIgkBnEkmwemMEPTmxMOi1/PYhD9zbb/s2huM=";
+    hash = "sha256-Ax2RhIIWb7BvBvE8GQlR3lwTSA5P5Qpj45cOc8xZNtY=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/web-apps/jitsi-meet/default.nix b/pkgs/servers/web-apps/jitsi-meet/default.nix
index 0f3055361adb..f0e307dabb85 100644
--- a/pkgs/servers/web-apps/jitsi-meet/default.nix
+++ b/pkgs/servers/web-apps/jitsi-meet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet";
-  version = "1.0.7712";
+  version = "1.0.7762";
 
   src = fetchurl {
     url = "https://download.jitsi.org/jitsi-meet/src/jitsi-meet-${version}.tar.bz2";
-    sha256 = "NNO+lXSPGtEDN7cqBatH2l8jqaQnTdNXfo9uzc+SwUA=";
+    sha256 = "SsmMQdR6JczL63/o/LHbg5sjnBA+TuYPu4WR+tlGaC4=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/web-apps/vikunja/api.nix b/pkgs/servers/web-apps/vikunja/api.nix
index 4658c6ece29f..f405391cf963 100644
--- a/pkgs/servers/web-apps/vikunja/api.nix
+++ b/pkgs/servers/web-apps/vikunja/api.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vikunja-api";
-  version = "0.22.0";
+  version = "0.22.1";
 
   src = fetchFromGitHub {
     owner = "go-vikunja";
     repo = "api";
     rev = "v${version}";
-    hash = "sha256-hqyopIV/cLLC8An+ELN0a/cFAq6BoCZZjBRviaJ5ygI=";
+    hash = "sha256-tYhlAF1VuM/Xz4HP7DtI0hGsiNyYxzFiNIEbm8n9DC8=";
   };
 
   nativeBuildInputs =
@@ -24,7 +24,7 @@ buildGoModule rec {
     in
     [ fakeGit mage ];
 
-  vendorHash = "sha256-+V6a6h5pg8FU87pA4JxZo07HGBXIgCv4FjmtjIpQUP4=";
+  vendorHash = "sha256-OD/7RCCrRdlrsRW7CRT01cDUvNnedNdTZ8YgDFGaE4o=";
 
   # checks need to be disabled because of needed internet for some checks
   doCheck = false;
diff --git a/pkgs/servers/web-apps/vikunja/frontend.nix b/pkgs/servers/web-apps/vikunja/frontend.nix
index 65e3df5b47a7..bf09d830c872 100644
--- a/pkgs/servers/web-apps/vikunja/frontend.nix
+++ b/pkgs/servers/web-apps/vikunja/frontend.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vikunja-frontend";
-  version = "0.22.0";
+  version = "0.22.1";
 
   src = fetchurl {
     url = "https://dl.vikunja.io/frontend/${pname}-${version}.zip";
-    hash = "sha256-LYU1IGAhSZOwMI44HW5IfcBKs9RkU/IXGVgPGDKnKAs=";
+    hash = "sha256-jkFF6sucLZWpWkPcovTdD9MOyJNPRWIBfK9388X5onc=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index dc9df3e18898..2f237c1f2277 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -40,8 +40,8 @@ stdenv.mkDerivation rec {
   # version.
   communityModules = fetchhg {
     url = "https://hg.prosody.im/prosody-modules";
-    rev = "7c105277a9ca";
-    sha256 = "eiObn5Kw7dS+oxdQiJ8NhSC4P7EvILIOEnMoxCWIFro=";
+    rev = "b109773ce6fe";
+    hash = "sha256-N1vmShDWtWsHD4b1x7UjX6Sj28iPaDeCLSYeDOLLhzo=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -84,6 +84,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     homepage = "https://prosody.im";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ toastal ];
   };
 }
diff --git a/pkgs/shells/nushell/nu_scripts/default.nix b/pkgs/shells/nushell/nu_scripts/default.nix
index e4728ee92393..742c3d6c9d2c 100644
--- a/pkgs/shells/nushell/nu_scripts/default.nix
+++ b/pkgs/shells/nushell/nu_scripts/default.nix
@@ -6,13 +6,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "nu_scripts";
-  version = "unstable-2024-01-17";
+  version = "unstable-2024-01-26";
 
   src = fetchFromGitHub {
     owner = "nushell";
     repo = pname;
-    rev = "e5176370f68fb028ba0b5c83c83dac8d796b9d8e";
-    hash = "sha256-aQpyZkVm5/ono7xxtYBTSr4xSdnq/9NJeYTfUyskS8U=";
+    rev = "302fd84fed8616d4b3259c3265c5b01554fe8d91";
+    hash = "sha256-XMHqjxkJo60nwjXNlS0SKWLV/Ffxz8+oImG8lG8GjkE=";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/zinit/default.nix b/pkgs/shells/zsh/zinit/default.nix
index 7b41d8505c21..c226b5565451 100644
--- a/pkgs/shells/zsh/zinit/default.nix
+++ b/pkgs/shells/zsh/zinit/default.nix
@@ -2,12 +2,12 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "zinit";
-  version = "3.12.1";
+  version = "3.13.1";
   src = fetchFromGitHub {
     owner = "zdharma-continuum";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-REd997dop9gAosG4QkEKIc3jYIRLeB3MYBPiYMlDGUs=";
+    hash = "sha256-fnBV0LmC/wJm0pOITJ1mhiBqsg2F8AQJWvn0p/Bgo5Q=";
   };
   # adapted from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=zsh-zplugin-git
   dontBuild = true;
diff --git a/pkgs/shells/zsh/zsh-forgit/default.nix b/pkgs/shells/zsh/zsh-forgit/default.nix
index 9ec4277857b1..28847369a9c8 100644
--- a/pkgs/shells/zsh/zsh-forgit/default.nix
+++ b/pkgs/shells/zsh/zsh-forgit/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsh-forgit";
-  version = "24.01.0";
+  version = "24.02.0";
 
   src = fetchFromGitHub {
     owner = "wfxr";
     repo = "forgit";
     rev = version;
-    sha256 = "sha256-WHhyllOr/PgR+vlrfMQs/3/d3xpmDylT6BlLCu50a2g=";
+    sha256 = "sha256-DoOtrnEJwSxkCZtsVek+3w9RZH7j7LTvdleBC88xyfI=";
   };
 
   strictDeps = true;
diff --git a/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
index ea8f37cb1c34..89e4fe783b93 100644
--- a/pkgs/shells/zsh/zsh-fzf-tab/default.nix
+++ b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
@@ -4,13 +4,13 @@ let
   INSTALL_PATH="${placeholder "out"}/share/fzf-tab";
 in stdenv.mkDerivation rec {
   pname = "zsh-fzf-tab";
-  version = "unstable-2023-06-11";
+  version = "unstable-2024-02-01";
 
   src = fetchFromGitHub {
     owner = "Aloxaf";
     repo = "fzf-tab";
-    rev = "c2b4aa5ad2532cca91f23908ac7f00efb7ff09c9";
-    hash = "sha256-gvZp8P3quOtcy1Xtt1LAW1cfZ/zCtnAmnWqcwrKel6w=";
+    rev = "b06e7574577cd729c629419a62029d31d0565a7a";
+    hash = "sha256-ilUavAIWmLiMh2PumtErMCpOcR71ZMlQkKhVOTDdHZw=";
   };
 
   strictDeps = true;
diff --git a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
index bc357be79bb8..328360aa482e 100644
--- a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
+++ b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
@@ -23,13 +23,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "powerlevel10k";
-  version = "1.19.0";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "powerlevel10k";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+hzjSbbrXr0w1rGHm6m2oZ6pfmD6UUDBfPd7uMg5l5c=";
+    hash = "sha256-ES5vJXHjAKw/VHjWs8Au/3R+/aotSbY7PWnWAMzCR8E=";
   };
 
   strictDeps = true;
diff --git a/pkgs/stdenv/darwin/bootstrap-files/aarch64-apple-darwin.nix b/pkgs/stdenv/darwin/bootstrap-files/aarch64-apple-darwin.nix
new file mode 100644
index 000000000000..8fd3537fa78a
--- /dev/null
+++ b/pkgs/stdenv/darwin/bootstrap-files/aarch64-apple-darwin.nix
@@ -0,0 +1,12 @@
+let
+  fetch = { file, sha256, executable ? true }: import <nix/fetchurl.nix> {
+    url = "http://tarballs.nixos.org/stdenv-darwin/aarch64/20acd4c4f14040485f40e55c0a76c186aa8ca4f3/${file}";
+    inherit sha256 executable;
+  }; in
+{
+  sh = fetch { file = "sh"; sha256 = "17m3xrlbl99j3vm7rzz3ghb47094dyddrbvs2a6jalczvmx7spnj"; };
+  bzip2 = fetch { file = "bzip2"; sha256 = "1khs8s5klf76plhlvlc1ma838r8pc1qigk9f5bdycwgbn0nx240q"; };
+  mkdir = fetch { file = "mkdir"; sha256 = "1m9nk90paazl93v43myv2ay68c1arz39pqr7lk5ddbgb177hgg8a"; };
+  cpio = fetch { file = "cpio"; sha256 = "17pxq61yjjvyd738fy9f392hc9cfzkl612sdr9rxr3v0dgvm8y09"; };
+  tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "1v2332k33akm6mrm4bj749rxnnmc2pkbgcslmd0bbkf76bz2ildy"; executable = false; };
+}
diff --git a/pkgs/stdenv/darwin/bootstrap-files/x86_64-apple-darwin.nix b/pkgs/stdenv/darwin/bootstrap-files/x86_64-apple-darwin.nix
new file mode 100644
index 000000000000..aed2285d8936
--- /dev/null
+++ b/pkgs/stdenv/darwin/bootstrap-files/x86_64-apple-darwin.nix
@@ -0,0 +1,12 @@
+let
+  fetch = { file, sha256, executable ? true }: import <nix/fetchurl.nix> {
+    url = "http://tarballs.nixos.org/stdenv-darwin/x86_64/c253216595572930316f2be737dc288a1da22558/${file}";
+    inherit sha256 executable;
+  }; in
+{
+  sh = fetch { file = "sh"; sha256 = "sha256-igMAVEfumFv/LUNTGfNi2nSehgTNIP4Sg+f3L7u6SMA="; };
+  bzip2 = fetch { file = "bzip2"; sha256 = "sha256-K3rhkJZipudT1Jgh+l41Y/fNsMkrPtiAsNRDha/lpZI="; };
+  mkdir = fetch { file = "mkdir"; sha256 = "sha256-VddFELwLDJGNADKB1fWwWPBtIAlEUgJv2hXRmC4NEeM="; };
+  cpio = fetch { file = "cpio"; sha256 = "sha256-SWkwvLaFyV44kLKL2nx720SvcL4ej/p2V/bX3uqAGO0="; };
+  tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "sha256-kRC/bhCmlD4L7KAvJQgcukk7AinkMz4IwmG1rqlh5tA="; executable = false; };
+}
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index c94c56daae1c..c47937d7bfad 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -15,33 +15,9 @@
 , crossOverlays ? [ ]
   # Allow passing in bootstrap files directly so we can test the stdenv bootstrap process when changing the bootstrap tools
 , bootstrapFiles ? if localSystem.isAarch64 then
-    let
-      fetch = { file, sha256, executable ? true }: import <nix/fetchurl.nix> {
-        url = "http://tarballs.nixos.org/stdenv-darwin/aarch64/20acd4c4f14040485f40e55c0a76c186aa8ca4f3/${file}";
-        inherit (localSystem) system;
-        inherit sha256 executable;
-      }; in
-    {
-      sh = fetch { file = "sh"; sha256 = "17m3xrlbl99j3vm7rzz3ghb47094dyddrbvs2a6jalczvmx7spnj"; };
-      bzip2 = fetch { file = "bzip2"; sha256 = "1khs8s5klf76plhlvlc1ma838r8pc1qigk9f5bdycwgbn0nx240q"; };
-      mkdir = fetch { file = "mkdir"; sha256 = "1m9nk90paazl93v43myv2ay68c1arz39pqr7lk5ddbgb177hgg8a"; };
-      cpio = fetch { file = "cpio"; sha256 = "17pxq61yjjvyd738fy9f392hc9cfzkl612sdr9rxr3v0dgvm8y09"; };
-      tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "1v2332k33akm6mrm4bj749rxnnmc2pkbgcslmd0bbkf76bz2ildy"; executable = false; };
-    }
+    import ./bootstrap-files/aarch64-apple-darwin.nix
   else
-    let
-      fetch = { file, sha256, executable ? true }: import <nix/fetchurl.nix> {
-        url = "http://tarballs.nixos.org/stdenv-darwin/x86_64/c253216595572930316f2be737dc288a1da22558/${file}";
-        inherit (localSystem) system;
-        inherit sha256 executable;
-      }; in
-    {
-      sh = fetch { file = "sh"; sha256 = "sha256-igMAVEfumFv/LUNTGfNi2nSehgTNIP4Sg+f3L7u6SMA="; };
-      bzip2 = fetch { file = "bzip2"; sha256 = "sha256-K3rhkJZipudT1Jgh+l41Y/fNsMkrPtiAsNRDha/lpZI="; };
-      mkdir = fetch { file = "mkdir"; sha256 = "sha256-VddFELwLDJGNADKB1fWwWPBtIAlEUgJv2hXRmC4NEeM="; };
-      cpio = fetch { file = "cpio"; sha256 = "sha256-SWkwvLaFyV44kLKL2nx720SvcL4ej/p2V/bX3uqAGO0="; };
-      tarball = fetch { file = "bootstrap-tools.cpio.bz2"; sha256 = "sha256-kRC/bhCmlD4L7KAvJQgcukk7AinkMz4IwmG1rqlh5tA="; executable = false; };
-    }
+    import ./bootstrap-files/x86_64-apple-darwin.nix
 }:
 
 assert crossSystem == localSystem;
diff --git a/pkgs/test/buildFHSEnv/default.nix b/pkgs/test/buildFHSEnv/default.nix
new file mode 100644
index 000000000000..0a355e1aeeac
--- /dev/null
+++ b/pkgs/test/buildFHSEnv/default.nix
@@ -0,0 +1,84 @@
+{ lib
+, buildFHSEnv
+, runCommand
+, stdenv
+, fetchurl
+, dpkg
+, glibc
+, callPackage
+}:
+
+let
+  getSharedObjectFromDebian = sharedObjectName: src: stdenv.mkDerivation  {
+    name = "${sharedObjectName}-fetcher";
+    inherit src;
+    nativeBuildInputs = [
+      dpkg
+    ];
+    dontBuild = true;
+    dontConfigure = true;
+    dontFixup = true;
+    installPhase = ''
+      echo shared objects found are:
+      ls -l usr/lib/*/
+      cp usr/lib/*/${sharedObjectName} $out
+    '';
+  };
+
+  makeSharedObjectTest = sharedObject: targetPkgs: let
+    lddFHSEnv = buildFHSEnv {
+      name = "ldd-with-ncurses-FHS-env";
+      inherit targetPkgs;
+      runScript = "ldd";
+    };
+    ldd-in-FHS = "${lddFHSEnv}/bin/${lddFHSEnv.name}";
+    ldd = "${lib.getBin glibc}/bin/ldd";
+    find_libFHSEnv = buildFHSEnv {
+      name = "ls-with-ncurses-FHS-env";
+      targetPkgs = p: [
+        p.ncurses5
+      ];
+      runScript = "find /lib/ -executable";
+    };
+    find_lib-in-FHS = "${find_libFHSEnv}/bin/${find_libFHSEnv.name}";
+  in runCommand "FHS-lib-test" {} ''
+    echo original ldd output is:
+    ${ldd} ${sharedObject}
+    lddOutput="$(${ldd-in-FHS} ${sharedObject})"
+    echo ldd output inside FHS is:
+    echo "$lddOutput"
+    if echo $lddOutput | grep -q "not found"; then
+      echo "shared object could not find all dependencies in the FHS!"
+      echo The libraries below where found in the FHS:
+      ${find_lib-in-FHS}
+      exit 1
+    else
+      echo $lddOutput > $out
+    fi
+  '';
+
+in {
+  # This test proves an issue with buildFHSEnv - don't expect it to succeed,
+  # this is discussed in https://github.com/NixOS/nixpkgs/pull/279844 .
+  libtinfo = makeSharedObjectTest (getSharedObjectFromDebian "libedit.so.2.0.70" (fetchurl {
+    url = "mirror://debian/pool/main/libe/libedit/libedit2_3.1-20221030-2_amd64.deb";
+    hash = "sha256-HPFKvycW0yedsS0GV6VzfPcAdKHnHTvfcyBmJePInOY=";
+  })) (p: let
+    ncurses' = p.ncurses.overrideAttrs (old: {
+      configureFlags = old.configureFlags ++ [ "--with-termlib" ];
+      postFixup = "";
+    });
+  in [
+    (ncurses'.override { unicodeSupport = false; })
+    p.libbsd
+  ]);
+
+  liblzma = makeSharedObjectTest (getSharedObjectFromDebian "libxml2.so.2.9.14" (fetchurl {
+    url = "mirror://debian/pool/main/libx/libxml2/libxml2_2.9.14+dfsg-1.3~deb12u1_amd64.deb";
+    hash = "sha256-NbdstwOPwclAIEpPBfM/+3nQJzU85Gk5fZrc+Pmz4ac=";
+  })) (p: [
+    p.xz
+    p.zlib
+    p.icu72
+  ]);
+}
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index 8526b26ab15c..b89fcc3ecb6d 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -15,6 +15,8 @@ with pkgs;
         (filter (n: n != "llvmPackages_git"))
         (filter (n: n != "llvmPackages_6"))
         (filter (n: n != "llvmPackages_7"))
+        (filter (n: n != "llvmPackages_8"))
+        (filter (n: n != "llvmPackages_10"))
       ];
       tests = lib.genAttrs pkgSets (name: recurseIntoAttrs {
         clang = callPackage ./cc-wrapper { stdenv = pkgs.${name}.stdenv; };
@@ -66,9 +68,7 @@ with pkgs;
             # libcxxStdenv broken
             # fix in https://github.com/NixOS/nixpkgs/pull/216273
           ] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) [
-            (filterAttrs (n: _: n != "llvmPackages_8"))
             (filterAttrs (n: _: n != "llvmPackages_9"))
-            (filterAttrs (n: _: n != "llvmPackages_10"))
           ]);
         in
         toJSON sets;
@@ -169,6 +169,8 @@ with pkgs;
 
   pkgs-lib = recurseIntoAttrs (import ../pkgs-lib/tests { inherit pkgs; });
 
+  buildFHSEnv = recurseIntoAttrs (callPackages ./buildFHSEnv { });
+
   nixpkgs-check-by-name = callPackage ./nixpkgs-check-by-name { };
 
   auto-patchelf-hook = callPackage ./auto-patchelf-hook { };
diff --git a/pkgs/test/nixpkgs-check-by-name/scripts/pinned-tool.json b/pkgs/test/nixpkgs-check-by-name/scripts/pinned-tool.json
index c4dff2c6554a..5b8777ca94b6 100644
--- a/pkgs/test/nixpkgs-check-by-name/scripts/pinned-tool.json
+++ b/pkgs/test/nixpkgs-check-by-name/scripts/pinned-tool.json
@@ -1,4 +1,4 @@
 {
-  "rev": "842d9d80cfd4560648c785f8a4e6f3b096790e19",
-  "ci-path": "/nix/store/8habk3j25bs2a34zn5q5p17b9dl3fywg-nixpkgs-check-by-name"
+  "rev": "ae5c332cbb5827f6b1f02572496b141021de335f",
+  "ci-path": "/nix/store/ghfxriicygwcrxvm45r0cm9g0vshpw01-nixpkgs-check-by-name"
 }
diff --git a/pkgs/test/nixpkgs-check-by-name/scripts/run-local.sh b/pkgs/test/nixpkgs-check-by-name/scripts/run-local.sh
index 1dd52293cc7e..46cbd5e858e2 100755
--- a/pkgs/test/nixpkgs-check-by-name/scripts/run-local.sh
+++ b/pkgs/test/nixpkgs-check-by-name/scripts/run-local.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p jq -I nixpkgs=../../../..
+#!nix-shell -i bash -p jq
 
 set -o pipefail -o errexit -o nounset
 
diff --git a/pkgs/test/nixpkgs-check-by-name/scripts/update-pinned-tool.sh b/pkgs/test/nixpkgs-check-by-name/scripts/update-pinned-tool.sh
index b2bc629e8660..dbc6e91df08a 100755
--- a/pkgs/test/nixpkgs-check-by-name/scripts/update-pinned-tool.sh
+++ b/pkgs/test/nixpkgs-check-by-name/scripts/update-pinned-tool.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p jq -I nixpkgs=../../../..
+#!nix-shell -i bash -p jq
 
 set -o pipefail -o errexit -o nounset
 
diff --git a/pkgs/test/texlive/default.nix b/pkgs/test/texlive/default.nix
index 12fdd5c45f8b..5f7067543932 100644
--- a/pkgs/test/texlive/default.nix
+++ b/pkgs/test/texlive/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildEnv, runCommand, fetchurl, file, texlive, writeShellScript, writeText, texliveInfraOnly, texliveSmall, texliveMedium, texliveFull }:
+{ lib, stdenv, buildEnv, runCommand, fetchurl, file, texlive, writeShellScript, writeText, texliveInfraOnly, texliveConTeXt, texliveSmall, texliveMedium, texliveFull }:
 
 rec {
 
@@ -70,10 +70,26 @@ rec {
       \end{document}
     '';
   } ''
-    chktex -v -nall -w1 "$input" 2>&1 | tee "$out"
+    # chktex is supposed to return 2 when it (successfully) finds warnings, but no errors,
+    # see http://git.savannah.nongnu.org/cgit/chktex.git/commit/?id=ec0fb9b58f02a62ff0bfec98b997208e9d7a5998
+    (set +e; chktex -v -nall -w1 "$input" 2>&1; [ $? = 2 ] || exit 1; set -e)  | tee "$out"
+    # also check that the output does indeed contain "One warning printed"
     grep "One warning printed" "$out"
   '';
 
+  context = mkTeXTest {
+    name = "texlive-test-context";
+    format = "context";
+    texLive = texliveConTeXt;
+    text = ''
+      \starttext
+      \startsection[title={ConTeXt test document}]
+        This is an {\em incredibly} simple ConTeXt document.
+      \stopsection
+      \stoptext
+    '';
+  };
+
   dvipng = lib.recurseIntoAttrs {
     # https://github.com/NixOS/nixpkgs/issues/75605
     basic = runCommand "texlive-test-dvipng-basic" {
@@ -414,6 +430,12 @@ rec {
         # crossrefware: require bibtexperllibs under TEXMFROOT
         "bbl2bib" "bibdoiadd" "bibmradd" "biburl2doi" "bibzbladd" "checkcites" "ltx2crossrefxml"
 
+        # epstopdf: requires kpsewhich
+        "epstopdf" "repstopdf"
+
+        # requires kpsewhich
+        "memoize-extract.pl" "memoize-extract.py"
+
         # require other texlive binaries in PATH
         "allcm" "allec" "chkweb" "fontinst" "ht*" "installfont-tl" "kanji-config-updmap-sys" "kanji-config-updmap-user"
         "kpse*" "latexfileversion" "mkocp" "mkofm" "mtxrunjit" "pdftex-quiet" "pslatex" "rumakeindex" "texconfig"
@@ -421,7 +443,7 @@ rec {
 
         # misc luatex binaries searching for luatex in PATH
         "citeproc-lua" "context" "contextjit" "ctanbib" "digestif" "epspdf" "l3build" "luafindfont" "luaotfload-tool"
-        "luatools" "make4ht" "pmxchords" "tex4ebook" "texdoc" "texlogsieve" "xindex"
+        "luatools" "make4ht" "pmxchords" "tex4ebook" "texblend" "texdoc" "texfindpkg" "texlogsieve" "xindex"
 
         # requires full TEXMFROOT (e.g. for config)
         "mktexfmt" "mktexmf" "mktexpk" "mktextfm" "psnup" "psresize" "pstops" "tlmgr" "updmap" "webquiz"
@@ -500,6 +522,13 @@ rec {
           args=
           ignoreExitCode=
           binCount=$((binCount + 1))
+
+          # ignore non-executable files (such as context.lua)
+          if [[ ! -x "$bin" ]] ; then
+            ignoredCount=$((ignoredCount + 1))
+            continue
+          fi
+
           case "$base" in
             ${lib.concatStringsSep "|" ignored})
               ignoredCount=$((ignoredCount + 1))
@@ -572,6 +601,7 @@ rec {
         (pkg: ''
           for bin in '${pkg.outPath}'/bin/* ; do
             grep -I -q . "$bin" || continue  # ignore binary files
+            [[ -x "$bin" ]] || continue # ignore non-executable files (such as context.lua)
             scriptCount=$((scriptCount + 1))
             read -r cmdline < "$bin"
             read -r interp <<< "$cmdline"
diff --git a/pkgs/tools/admin/afterburn/default.nix b/pkgs/tools/admin/afterburn/default.nix
index 7cd637c28d9e..ddb8d0c9bfd4 100644
--- a/pkgs/tools/admin/afterburn/default.nix
+++ b/pkgs/tools/admin/afterburn/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "afterburn";
-  version = "5.4.3";
+  version = "5.5.1";
 
   src = fetchFromGitHub {
     owner = "coreos";
     repo = "afterburn";
     rev = "v${version}";
-    sha256 = "sha256-IxAmamWJjM8DAEihH3lYgOLKOcSRvh48GSIX797Nhjo=";
+    sha256 = "sha256-3+FlW/y8EScJKaFvxa/hOlDF18kEtz2XyMdrDZgcMXs=";
   };
 
-  cargoHash = "sha256-vQTxqAnnfjg4zFSOPLIcchRjqv0HJ3L2jBSNubpO9DM=";
+  cargoHash = "sha256-DTFvaXPr21qvx1FA1phueRxTgcrfhGgb9Vktah372Uo=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/admin/aliyun-cli/default.nix b/pkgs/tools/admin/aliyun-cli/default.nix
index 69b195a4b6c3..dbcc7d4d9274 100644
--- a/pkgs/tools/admin/aliyun-cli/default.nix
+++ b/pkgs/tools/admin/aliyun-cli/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "aliyun-cli";
-  version = "3.0.196";
+  version = "3.0.197";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "aliyun";
     repo = pname;
     fetchSubmodules = true;
-    sha256 = "sha256-VywkE1G8oobDp6D4lsTUzKvJ6eAo9J2r1/+HuM6u/J8=";
+    sha256 = "sha256-YNnMwHIA77A/a1W6swb7ws4tKQjsb0JjvCMIJkfFhSc=";
   };
 
-  vendorHash = "sha256-ZcW0Ab7uPx8XUpo3tSSt2eKjUlRlbiMvrLGJK2StKf8=";
+  vendorHash = "sha256-tepSDtHln5PbYCZofKs54+GmGjKUBGtU0DYTDZ4Rox0=";
 
   subPackages = [ "main" ];
 
diff --git a/pkgs/tools/admin/aws-sso-creds/default.nix b/pkgs/tools/admin/aws-sso-creds/default.nix
index d4ca59da7137..caa1b05c1b1d 100644
--- a/pkgs/tools/admin/aws-sso-creds/default.nix
+++ b/pkgs/tools/admin/aws-sso-creds/default.nix
@@ -6,15 +6,15 @@
 }:
 buildGoModule rec {
   pname = "aws-sso-creds";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "jaxxstorm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-V50t1L4+LZnMaET3LTp1nt7frNpu95KjgbQ5Onqt5sI=";
+    sha256 = "sha256-/zvXVDVlnDcgYpnumN7owN2fHexvQu5D4LvNmuQNS+w=";
   };
-  vendorHash = "sha256-0jXZpdiSHMn94MT3mPNtbfV7owluWhy1iAvQIBdebdE=";
+  vendorHash = "sha256-mJj5ilH4crlL5jesvg0y3RZaMgqlrenWgJApxUw6jEk=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/tools/admin/balena-cli/default.nix b/pkgs/tools/admin/balena-cli/default.nix
index 04eccbc6cac4..4ab5dadb1ecc 100644
--- a/pkgs/tools/admin/balena-cli/default.nix
+++ b/pkgs/tools/admin/balena-cli/default.nix
@@ -18,16 +18,16 @@ let
   };
 in buildNpmPackage' rec {
   pname = "balena-cli";
-  version = "17.4.12";
+  version = "17.5.1";
 
   src = fetchFromGitHub {
     owner = "balena-io";
     repo = "balena-cli";
     rev = "v${version}";
-    hash = "sha256-lyGcsGM/QCkOl9wFy8u1UEHkLHaWPPRfgkcD/uH4MD0=";
+    hash = "sha256-DapVJAXfTdGjtVBIKuc+xKZ6yWw1eC2pxTwt5O0QrWk=";
   };
 
-  npmDepsHash = "sha256-/kbvJwNdH86oHv7SpGmtns7QwoLTwCgN+LUsZE2A+to=";
+  npmDepsHash = "sha256-yAcUGOSrQ+AB2b0eDKCMhZRP/LEKcmJmO5xNhVJcqX4=";
 
   postPatch = ''
     ln -s npm-shrinkwrap.json package-lock.json
diff --git a/pkgs/tools/admin/copilot-cli/default.nix b/pkgs/tools/admin/copilot-cli/default.nix
index a391aa4777d3..ed75736224cd 100644
--- a/pkgs/tools/admin/copilot-cli/default.nix
+++ b/pkgs/tools/admin/copilot-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "copilot-cli";
-  version = "1.33.0";
+  version = "1.33.1";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-4LDeilWi3FzvrvHjEyQKQi1GxouSlzDY96yBuMfpsXM=";
+    hash = "sha256-/xuS5tJBV67gXGHQ93FpMXMLXnhAgnicQnKx/pnwyAM=";
   };
 
-  vendorHash = "sha256-EqgOyjb2raE5hW3h+czbsi/F9SVNDwPWM1L6GC7v6IY=";
+  vendorHash = "sha256-ekAuvvLxk9cwIuElosc6QbsW7+3f/mO8vsA74DA82D0=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/admin/credhub-cli/default.nix b/pkgs/tools/admin/credhub-cli/default.nix
index 7b1bd3cd24a7..f53258574808 100644
--- a/pkgs/tools/admin/credhub-cli/default.nix
+++ b/pkgs/tools/admin/credhub-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "credhub-cli";
-  version = "2.9.24";
+  version = "2.9.25";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry-incubator";
     repo = "credhub-cli";
     rev = version;
-    sha256 = "sha256-9SEdMK9KECte9QEfosju0PHxlDWwbQkn4QKi/XgFVuY=";
+    sha256 = "sha256-QGsnNQvER5IaWY4Zh9sFa7eOeLnDdNDrLLpwgBALGm8=";
   };
 
   # these tests require network access that we're not going to give them
diff --git a/pkgs/tools/admin/fits-cloudctl/default.nix b/pkgs/tools/admin/fits-cloudctl/default.nix
index 3c2a524c004d..c6aa0a2a7080 100644
--- a/pkgs/tools/admin/fits-cloudctl/default.nix
+++ b/pkgs/tools/admin/fits-cloudctl/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "fits-cloudctl";
-  version = "0.12.12";
+  version = "0.12.13";
 
   src = fetchFromGitHub {
     owner = "fi-ts";
     repo = "cloudctl";
     rev = "v${version}";
-    sha256 = "sha256-jNs1I6aVmyHbVghO30r6+gVg0vVLqHpddX1KVX1Xh+s=";
+    sha256 = "sha256-Vb7jBgk052WBnlUgS5lVooi/bY49rRqCWbOO4cPkPx4=";
   };
 
   vendorHash = "sha256-NR5Jw4zCYRg6xc9priCVNH+9wOVWx3bmstc3nkQDmv8=";
diff --git a/pkgs/tools/admin/gam/default.nix b/pkgs/tools/admin/gam/default.nix
index 6ea2b6c3da37..6cf340150ffb 100644
--- a/pkgs/tools/admin/gam/default.nix
+++ b/pkgs/tools/admin/gam/default.nix
@@ -52,8 +52,8 @@ python3.pkgs.buildPythonApplication rec {
     runHook preInstall
     mkdir -p $out/bin
     cp gam.py $out/bin/gam
-    mkdir -p $out/lib/${python3.libPrefix}/site-packages
-    cp -r gam $out/lib/${python3.libPrefix}/site-packages
+    mkdir -p $out/${python3.sitePackages}
+    cp -r gam $out/${python3.sitePackages}
     runHook postInstall
   '';
 
diff --git a/pkgs/tools/admin/meshcentral/default.nix b/pkgs/tools/admin/meshcentral/default.nix
index 92bedd40e88d..745eb1048079 100644
--- a/pkgs/tools/admin/meshcentral/default.nix
+++ b/pkgs/tools/admin/meshcentral/default.nix
@@ -7,11 +7,11 @@
 }:
 
 yarn2nix-moretea.mkYarnPackage {
-  version = "1.1.19";
+  version = "1.1.20";
 
   src = fetchzip {
-    url = "https://registry.npmjs.org/meshcentral/-/meshcentral-1.1.19.tgz";
-    sha256 = "0kphzzhzc29jmldbfdfczw0395a1kr38bpyz0hjl9hm0d6glz74h";
+    url = "https://registry.npmjs.org/meshcentral/-/meshcentral-1.1.20.tgz";
+    sha256 = "1iykx1lrsd09z3jbykspjgibsbpcgrw5b60dmpzcc1i4fr0zpnz9";
   };
 
   patches = [ ./fix-js-include-paths.patch ];
@@ -21,7 +21,7 @@ yarn2nix-moretea.mkYarnPackage {
 
   offlineCache = fetchYarnDeps {
     yarnLock = ./yarn.lock;
-    hash = "sha256-tKS7Nrd5tWuRFfl5hZXCmVBxUe+W3+uhtw0YF0IBGZU=";
+    hash = "sha256-zLbD0UhCRQNTka1WUjDuZLseS1PMURQSPFEa0SvwS7E=";
   };
 
   # Tarball has CRLF line endings. This makes patching difficult, so let's convert them.
diff --git a/pkgs/tools/admin/meshcentral/package.json b/pkgs/tools/admin/meshcentral/package.json
index bce9fb84693f..c7e328c6289c 100644
--- a/pkgs/tools/admin/meshcentral/package.json
+++ b/pkgs/tools/admin/meshcentral/package.json
@@ -1,6 +1,6 @@
 {
   "name": "meshcentral",
-  "version": "1.1.19",
+  "version": "1.1.20",
   "keywords": [
     "Remote Device Management",
     "Remote Device Monitoring",
diff --git a/pkgs/tools/admin/meshcentral/update.sh b/pkgs/tools/admin/meshcentral/update.sh
index e51ce647b415..950fa617ce81 100755
--- a/pkgs/tools/admin/meshcentral/update.sh
+++ b/pkgs/tools/admin/meshcentral/update.sh
@@ -47,7 +47,7 @@ update-source-version meshcentral "$version" "$hash" "$tarball"
 new_yarn_hash=$(prefetch-yarn-deps "$expr_dir/yarn.lock")
 new_yarn_hash=$(nix-hash --type sha256 --to-sri "$new_yarn_hash")
 old_yarn_hash=$(nix-instantiate --eval -A meshcentral.offlineCache.outputHash | tr -d '"')
-sed -i "$expr_dir/default.nix" -re "s|\"$old_yarn_hash\"|\"$new_yarn_hash\"|"
+sed -i "$expr_dir/default.nix" -e "s|\"$old_yarn_hash\"|\"$new_yarn_hash\"|"
 
 # Only clean up if everything worked
 cd /
diff --git a/pkgs/tools/admin/meshcentral/yarn.lock b/pkgs/tools/admin/meshcentral/yarn.lock
index dbdb521ecdc7..b64e2e5b20f5 100644
--- a/pkgs/tools/admin/meshcentral/yarn.lock
+++ b/pkgs/tools/admin/meshcentral/yarn.lock
@@ -65,16 +65,16 @@
     "@aws-sdk/util-utf8-browser" "^3.0.0"
     tslib "^1.11.1"
 
-"@aws-sdk/client-cognito-identity@3.496.0":
-  version "3.496.0"
-  resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.496.0.tgz#fe7e3b56b2d1186c0164f2bbf591fb7371c5921f"
-  integrity sha512-rb0Pv8jzJ8XBNmhKl/Up8jnaLWPKuW622s9RR9JyVEu/uUR5tyhdEJvEsS88A9a0+BTRt4G7X1VnUXWAgi8hxQ==
+"@aws-sdk/client-cognito-identity@3.501.0":
+  version "3.501.0"
+  resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.501.0.tgz#232543d91b1d236cfeac7c0168c56eddff1aafd3"
+  integrity sha512-ynWW9VVT7CTMQBh8l7WFt2SNekg3667gwjQmeGN8+DDMDqt2Z+L52717S0AN1pQDUMbh/DuKKPk+Sr30HBK3vA==
   dependencies:
     "@aws-crypto/sha256-browser" "3.0.0"
     "@aws-crypto/sha256-js" "3.0.0"
-    "@aws-sdk/client-sts" "3.496.0"
+    "@aws-sdk/client-sts" "3.501.0"
     "@aws-sdk/core" "3.496.0"
-    "@aws-sdk/credential-provider-node" "3.496.0"
+    "@aws-sdk/credential-provider-node" "3.501.0"
     "@aws-sdk/middleware-host-header" "3.496.0"
     "@aws-sdk/middleware-logger" "3.496.0"
     "@aws-sdk/middleware-recursion-detection" "3.496.0"
@@ -154,15 +154,15 @@
     "@smithy/util-utf8" "^2.1.1"
     tslib "^2.5.0"
 
-"@aws-sdk/client-sts@3.496.0":
-  version "3.496.0"
-  resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.496.0.tgz#e0c142cf8bb1aec7a9c7b09dd9739f6773d94fd0"
-  integrity sha512-3pSdqgegdwbK3CT1WvGHhA+Bf91R9cr8G1Ynp+iU2wZvy8ueJfMUk0NYfjo3EEv0YhSbMLKuduzZfvQHFHXYhw==
+"@aws-sdk/client-sts@3.501.0":
+  version "3.501.0"
+  resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.501.0.tgz#f3ab15d11517f28f1fdd3bd2b0c4dcf15a88b5aa"
+  integrity sha512-Uwc/xuxsA46dZS5s+4U703LBNDrGpWF7RB4XYEEMD21BLfGuqntxLLQux8xxKt3Pcur0CsXNja5jXt3uLnE5MA==
   dependencies:
     "@aws-crypto/sha256-browser" "3.0.0"
     "@aws-crypto/sha256-js" "3.0.0"
     "@aws-sdk/core" "3.496.0"
-    "@aws-sdk/credential-provider-node" "3.496.0"
+    "@aws-sdk/credential-provider-node" "3.501.0"
     "@aws-sdk/middleware-host-header" "3.496.0"
     "@aws-sdk/middleware-logger" "3.496.0"
     "@aws-sdk/middleware-recursion-detection" "3.496.0"
@@ -212,12 +212,12 @@
     "@smithy/types" "^2.9.1"
     tslib "^2.5.0"
 
-"@aws-sdk/credential-provider-cognito-identity@3.496.0":
-  version "3.496.0"
-  resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.496.0.tgz#cb4105e9247bdee4b6cef4551f6d5939f9519bb4"
-  integrity sha512-LIB9hom5mqGxk+hdbpZnxIJ4F1c5ZuY5uu3aWy9luowci03Z5nzYYepzBwpoE5Lk102gqVKeia//mRr25blzWQ==
+"@aws-sdk/credential-provider-cognito-identity@3.501.0":
+  version "3.501.0"
+  resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.501.0.tgz#9df440eea01125130226fdd1619f5b728f4db9c0"
+  integrity sha512-U9fjzliKzMiPx/EWLNLCEoF5wWhVtlluTEc4/WhNtSryV2PyihqIAK8nK4+MFaXB4xOrlRnpYMd7oqm03wMGyw==
   dependencies:
-    "@aws-sdk/client-cognito-identity" "3.496.0"
+    "@aws-sdk/client-cognito-identity" "3.501.0"
     "@aws-sdk/types" "3.496.0"
     "@smithy/property-provider" "^2.1.1"
     "@smithy/types" "^2.9.1"
@@ -248,14 +248,14 @@
     "@smithy/util-stream" "^2.1.1"
     tslib "^2.5.0"
 
-"@aws-sdk/credential-provider-ini@3.496.0":
-  version "3.496.0"
-  resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.496.0.tgz#4de82fc173ba1581af4bf6fcad610f2fc0fd8ca1"
-  integrity sha512-2nD1jp1sIwcQaWK1y/9ruQOkW16RUxZpzgjbW/gnK3iiUXwx+/FNQWxshud+GTSx3Q4x6eIhqsbjtP4VVPPuUA==
+"@aws-sdk/credential-provider-ini@3.501.0":
+  version "3.501.0"
+  resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.501.0.tgz#66f56d56858267460614260b6bfd70cd18ba868b"
+  integrity sha512-6UXnwLtYIr298ljveumCVXsH+x7csGscK5ylY+veRFy514NqyloRdJt8JY26hhh5SF9MYnkW+JyWSJ2Ls3tOjQ==
   dependencies:
     "@aws-sdk/credential-provider-env" "3.496.0"
     "@aws-sdk/credential-provider-process" "3.496.0"
-    "@aws-sdk/credential-provider-sso" "3.496.0"
+    "@aws-sdk/credential-provider-sso" "3.501.0"
     "@aws-sdk/credential-provider-web-identity" "3.496.0"
     "@aws-sdk/types" "3.496.0"
     "@smithy/credential-provider-imds" "^2.2.1"
@@ -264,15 +264,15 @@
     "@smithy/types" "^2.9.1"
     tslib "^2.5.0"
 
-"@aws-sdk/credential-provider-node@3.496.0":
-  version "3.496.0"
-  resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.496.0.tgz#734fc5aa824c387c893ff5624b201c0243ea1c7c"
-  integrity sha512-IVF9RvLePfRa5S5/eBIRChJCWOzQkGwM8P/L79Gl84u/cH2oSG4NtUI/YTDlrtmnYn7YsGhINSV0WnzfF2twfQ==
+"@aws-sdk/credential-provider-node@3.501.0":
+  version "3.501.0"
+  resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.501.0.tgz#6cb96dc5c1bfaf8dcb580063beeed9ef9db33961"
+  integrity sha512-NM62D8gYrQ1nyLYwW4k48B2/lMHDzHDcQccS1wJakr6bg5sdtG06CumwlVcY+LAa0o1xRnhHmh/yiwj/nN4avw==
   dependencies:
     "@aws-sdk/credential-provider-env" "3.496.0"
-    "@aws-sdk/credential-provider-ini" "3.496.0"
+    "@aws-sdk/credential-provider-ini" "3.501.0"
     "@aws-sdk/credential-provider-process" "3.496.0"
-    "@aws-sdk/credential-provider-sso" "3.496.0"
+    "@aws-sdk/credential-provider-sso" "3.501.0"
     "@aws-sdk/credential-provider-web-identity" "3.496.0"
     "@aws-sdk/types" "3.496.0"
     "@smithy/credential-provider-imds" "^2.2.1"
@@ -292,13 +292,13 @@
     "@smithy/types" "^2.9.1"
     tslib "^2.5.0"
 
-"@aws-sdk/credential-provider-sso@3.496.0":
-  version "3.496.0"
-  resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.496.0.tgz#1c5f2d25b64936b79095f49cabbcd7832fb87087"
-  integrity sha512-eP7GxpT2QYubSDG7uk1GJW4eNymZCq65IxDyEFCXOP/kfqkxriCY+iVEFG6/Mo3LxvgrgHXU4jxrCAXMAWN43g==
+"@aws-sdk/credential-provider-sso@3.501.0":
+  version "3.501.0"
+  resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.501.0.tgz#a96b859b59d3825f54158de8c692d69bd6edf5e6"
+  integrity sha512-y90dlvvZ55PwecODFdMx0NiNlJJfm7X6S61PKdLNCMRcu1YK+eWn0CmPHGHobBUQ4SEYhnFLcHSsf+VMim6BtQ==
   dependencies:
     "@aws-sdk/client-sso" "3.496.0"
-    "@aws-sdk/token-providers" "3.496.0"
+    "@aws-sdk/token-providers" "3.501.0"
     "@aws-sdk/types" "3.496.0"
     "@smithy/property-provider" "^2.1.1"
     "@smithy/shared-ini-file-loader" "^2.3.1"
@@ -316,20 +316,20 @@
     tslib "^2.5.0"
 
 "@aws-sdk/credential-providers@^3.186.0":
-  version "3.496.0"
-  resolved "https://registry.yarnpkg.com/@aws-sdk/credential-providers/-/credential-providers-3.496.0.tgz#ca41a6ee1a8de4b3a44c08624ebd0137cbfd5097"
-  integrity sha512-JqdSHFY3t+QMdS7Iok/ymvU3bZjVY7YuX9xroJJjMM/gkw+TxnJtVw/uIGsmoK1FT2KX+Dg4i/gmVyQAWubSJw==
+  version "3.501.0"
+  resolved "https://registry.yarnpkg.com/@aws-sdk/credential-providers/-/credential-providers-3.501.0.tgz#15321a2028e9ee36d5333da222386abb81e24553"
+  integrity sha512-nyfGzzYKcAny2kUyQjVDhSzfFTwkfZjGyJZ79WaLkNcCsVSsHBbptPRmRV2b4N0EoHTCfGqkbB02as4av/OQrw==
   dependencies:
-    "@aws-sdk/client-cognito-identity" "3.496.0"
+    "@aws-sdk/client-cognito-identity" "3.501.0"
     "@aws-sdk/client-sso" "3.496.0"
-    "@aws-sdk/client-sts" "3.496.0"
-    "@aws-sdk/credential-provider-cognito-identity" "3.496.0"
+    "@aws-sdk/client-sts" "3.501.0"
+    "@aws-sdk/credential-provider-cognito-identity" "3.501.0"
     "@aws-sdk/credential-provider-env" "3.496.0"
     "@aws-sdk/credential-provider-http" "3.496.0"
-    "@aws-sdk/credential-provider-ini" "3.496.0"
-    "@aws-sdk/credential-provider-node" "3.496.0"
+    "@aws-sdk/credential-provider-ini" "3.501.0"
+    "@aws-sdk/credential-provider-node" "3.501.0"
     "@aws-sdk/credential-provider-process" "3.496.0"
-    "@aws-sdk/credential-provider-sso" "3.496.0"
+    "@aws-sdk/credential-provider-sso" "3.501.0"
     "@aws-sdk/credential-provider-web-identity" "3.496.0"
     "@aws-sdk/types" "3.496.0"
     "@smithy/credential-provider-imds" "^2.2.1"
@@ -402,10 +402,10 @@
     "@smithy/util-middleware" "^2.1.1"
     tslib "^2.5.0"
 
-"@aws-sdk/token-providers@3.496.0":
-  version "3.496.0"
-  resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.496.0.tgz#5b5baf0801fd591de4a28146afbdc8250197f9fa"
-  integrity sha512-fyi8RcObEa1jNETJdc2H6q9VHrrdKCj/b6+fbLvymb7mUVRd0aWUn+24SNUImnSOnrwYnwaMfyyEC388X4MbFQ==
+"@aws-sdk/token-providers@3.501.0":
+  version "3.501.0"
+  resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.501.0.tgz#33fc8130ffecfa99b88a54ebaa74ff3225f79875"
+  integrity sha512-MvLPhNxlStmQqVm2crGLUqYWvK/AbMmI9j4FbEfJ15oG/I+730zjSJQEy2MvdiqbJRDPZ/tRCL89bUedOrmi0g==
   dependencies:
     "@aws-crypto/sha256-browser" "3.0.0"
     "@aws-crypto/sha256-js" "3.0.0"
@@ -498,9 +498,9 @@
     tslib "^2.3.1"
 
 "@babel/cli@^7.16.0":
-  version "7.23.4"
-  resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.23.4.tgz#f5cc90487278065fa0c3b1267cf0c1d44ddf85a7"
-  integrity sha512-j3luA9xGKCXVyCa5R7lJvOMM+Kc2JEnAEIgz2ggtjQ/j5YUVgfsg/WsG95bbsgq7YLHuiCOzMnoSasuY16qiCw==
+  version "7.23.9"
+  resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.23.9.tgz#06b3e76376ee53f14ac8ac422c884950c69e1b9e"
+  integrity sha512-vB1UXmGDNEhcf1jNAHKT9IlYk1R+hehVTLFlCLHBi8gfuHQGP6uRjgXVYU0EVlI/qwAWpstqkBdf2aez3/z/5Q==
   dependencies:
     "@jridgewell/trace-mapping" "^0.3.17"
     commander "^4.0.1"
@@ -513,7 +513,7 @@
     "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3"
     chokidar "^3.4.0"
 
-"@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5":
+"@babel/code-frame@^7.23.5":
   version "7.23.5"
   resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244"
   integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==
@@ -527,20 +527,20 @@
   integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
 
 "@babel/core@^7.16.5":
-  version "7.23.7"
-  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f"
-  integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==
+  version "7.23.9"
+  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1"
+  integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==
   dependencies:
     "@ampproject/remapping" "^2.2.0"
     "@babel/code-frame" "^7.23.5"
     "@babel/generator" "^7.23.6"
     "@babel/helper-compilation-targets" "^7.23.6"
     "@babel/helper-module-transforms" "^7.23.3"
-    "@babel/helpers" "^7.23.7"
-    "@babel/parser" "^7.23.6"
-    "@babel/template" "^7.22.15"
-    "@babel/traverse" "^7.23.7"
-    "@babel/types" "^7.23.6"
+    "@babel/helpers" "^7.23.9"
+    "@babel/parser" "^7.23.9"
+    "@babel/template" "^7.23.9"
+    "@babel/traverse" "^7.23.9"
+    "@babel/types" "^7.23.9"
     convert-source-map "^2.0.0"
     debug "^4.1.0"
     gensync "^1.0.0-beta.2"
@@ -647,14 +647,14 @@
   resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307"
   integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==
 
-"@babel/helpers@^7.23.7":
-  version "7.23.8"
-  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.8.tgz#fc6b2d65b16847fd50adddbd4232c76378959e34"
-  integrity sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==
+"@babel/helpers@^7.23.9":
+  version "7.23.9"
+  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d"
+  integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==
   dependencies:
-    "@babel/template" "^7.22.15"
-    "@babel/traverse" "^7.23.7"
-    "@babel/types" "^7.23.6"
+    "@babel/template" "^7.23.9"
+    "@babel/traverse" "^7.23.9"
+    "@babel/types" "^7.23.9"
 
 "@babel/highlight@^7.23.4":
   version "7.23.4"
@@ -666,21 +666,21 @@
     js-tokens "^4.0.0"
 
 "@babel/node@^7.16.5":
-  version "7.22.19"
-  resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.22.19.tgz#d0bd1e84e3d45eb2eeb68046d6dc22161786222b"
-  integrity sha512-VsKSO9aEHdO16NdtqkJfrXZ9Sxlna1BVnBbToWr1KGdI3cyIk6KqOoa8mWvpK280lJDOwJqxvnl994KmLhq1Yw==
+  version "7.23.9"
+  resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.23.9.tgz#fc40dc371439f1a45535ebf515232f4f046ef7a9"
+  integrity sha512-/d4ju/POwlGIJlZ+NqWH1qu61wt6ZlTZZZutrK2MOSdaH1JCh726nLw/GSvAjG+LTY6CO9SsB8uWcttnFKm6yg==
   dependencies:
-    "@babel/register" "^7.22.15"
+    "@babel/register" "^7.23.7"
     commander "^4.0.1"
     core-js "^3.30.2"
     node-environment-flags "^1.0.5"
     regenerator-runtime "^0.14.0"
     v8flags "^3.1.1"
 
-"@babel/parser@^7.22.15", "@babel/parser@^7.23.6", "@babel/parser@^7.4.3":
-  version "7.23.6"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b"
-  integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==
+"@babel/parser@^7.23.9", "@babel/parser@^7.4.3":
+  version "7.23.9"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b"
+  integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==
 
 "@babel/plugin-syntax-jsx@^7.23.3":
   version "7.23.3"
@@ -700,7 +700,7 @@
     "@babel/plugin-syntax-jsx" "^7.23.3"
     "@babel/types" "^7.23.4"
 
-"@babel/register@^7.22.15":
+"@babel/register@^7.23.7":
   version "7.23.7"
   resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.23.7.tgz#485a5e7951939d21304cae4af1719fdb887bc038"
   integrity sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==
@@ -711,19 +711,19 @@
     pirates "^4.0.6"
     source-map-support "^0.5.16"
 
-"@babel/template@^7.22.15", "@babel/template@^7.4.0":
-  version "7.22.15"
-  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
-  integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==
+"@babel/template@^7.22.15", "@babel/template@^7.23.9", "@babel/template@^7.4.0":
+  version "7.23.9"
+  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a"
+  integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==
   dependencies:
-    "@babel/code-frame" "^7.22.13"
-    "@babel/parser" "^7.22.15"
-    "@babel/types" "^7.22.15"
+    "@babel/code-frame" "^7.23.5"
+    "@babel/parser" "^7.23.9"
+    "@babel/types" "^7.23.9"
 
-"@babel/traverse@^7.23.7", "@babel/traverse@^7.4.3":
-  version "7.23.7"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305"
-  integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==
+"@babel/traverse@^7.23.9", "@babel/traverse@^7.4.3":
+  version "7.23.9"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950"
+  integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==
   dependencies:
     "@babel/code-frame" "^7.23.5"
     "@babel/generator" "^7.23.6"
@@ -731,15 +731,15 @@
     "@babel/helper-function-name" "^7.23.0"
     "@babel/helper-hoist-variables" "^7.22.5"
     "@babel/helper-split-export-declaration" "^7.22.6"
-    "@babel/parser" "^7.23.6"
-    "@babel/types" "^7.23.6"
+    "@babel/parser" "^7.23.9"
+    "@babel/types" "^7.23.9"
     debug "^4.3.1"
     globals "^11.1.0"
 
-"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.4.0":
-  version "7.23.6"
-  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd"
-  integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==
+"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.4.0":
+  version "7.23.9"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002"
+  integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==
   dependencies:
     "@babel/helper-string-parser" "^7.23.4"
     "@babel/helper-validator-identifier" "^7.22.20"
@@ -1425,9 +1425,9 @@
     "@types/node" "*"
 
 "@types/node@*":
-  version "20.11.5"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.5.tgz#be10c622ca7fcaa3cf226cf80166abc31389d86e"
-  integrity sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==
+  version "20.11.9"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.9.tgz#959d436f20ce2ee3df897c3eaa0617c98fa70efb"
+  integrity sha512-CQXNuMoS/VcoAMISe5pm4JnEd1Br5jildbQEToEMQvutmv+EaQr90ry9raiudgpyDuqFiV9e4rnjSfLNq12M5w==
   dependencies:
     undici-types "~5.26.4"
 
@@ -2489,9 +2489,9 @@ axios@^0.27.2:
     form-data "^4.0.0"
 
 axios@^1.6.0:
-  version "1.6.5"
-  resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.5.tgz#2c090da14aeeab3770ad30c3a1461bc970fb0cd8"
-  integrity sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==
+  version "1.6.7"
+  resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7"
+  integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==
   dependencies:
     follow-redirects "^1.15.4"
     form-data "^4.0.0"
@@ -3222,12 +3222,12 @@ brotli@^1.3.3:
     base64-js "^1.1.2"
 
 browserslist@^4.22.2:
-  version "4.22.2"
-  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b"
-  integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==
+  version "4.22.3"
+  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.3.tgz#299d11b7e947a6b843981392721169e27d60c5a6"
+  integrity sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==
   dependencies:
-    caniuse-lite "^1.0.30001565"
-    electron-to-chromium "^1.4.601"
+    caniuse-lite "^1.0.30001580"
+    electron-to-chromium "^1.4.648"
     node-releases "^2.0.14"
     update-browserslist-db "^1.0.13"
 
@@ -3411,10 +3411,10 @@ camelcase@^5.0.0:
   resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
   integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
 
-caniuse-lite@^1.0.30001565:
-  version "1.0.30001579"
-  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz#45c065216110f46d6274311a4b3fcf6278e0852a"
-  integrity sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==
+caniuse-lite@^1.0.30001580:
+  version "1.0.30001581"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001581.tgz#0dfd4db9e94edbdca67d57348ebc070dece279f4"
+  integrity sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==
 
 caseless@~0.12.0:
   version "0.12.0"
@@ -3946,9 +3946,9 @@ core-js@^2.0.1, core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0:
   integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
 
 core-js@^3.30.2:
-  version "3.35.0"
-  resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.35.0.tgz#58e651688484f83c34196ca13f099574ee53d6b4"
-  integrity sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg==
+  version "3.35.1"
+  resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.35.1.tgz#9c28f8b7ccee482796f8590cc8d15739eaaf980c"
+  integrity sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==
 
 core-util-is@1.0.2:
   version "1.0.2"
@@ -4371,10 +4371,10 @@ ee-first@1.1.1:
   resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
   integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
 
-electron-to-chromium@^1.4.601:
-  version "1.4.640"
-  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.640.tgz#76290a36fa4b5f1f4cadaf1fc582478ebb3ac246"
-  integrity sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA==
+electron-to-chromium@^1.4.648:
+  version "1.4.648"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.648.tgz#c7b46c9010752c37bb4322739d6d2dd82354fbe4"
+  integrity sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==
 
 emoji-regex@^7.0.1:
   version "7.0.3"
@@ -5330,9 +5330,9 @@ globalthis@^1.0.3:
     define-properties "^1.1.3"
 
 google-auth-library@^9.0.0:
-  version "9.4.2"
-  resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-9.4.2.tgz#4831150d2c049c37450a81141be34027657c38b6"
-  integrity sha512-rTLO4gjhqqo3WvYKL5IdtlCvRqeQ4hxUx/p4lObobY2xotFW3bCQC+Qf1N51CYOfiqfMecdMwW9RIo7dFWYjqw==
+  version "9.5.0"
+  resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-9.5.0.tgz#fd97b78bc1512025b9c9ad3998c60e2d75b6137e"
+  integrity sha512-OUbP509lWVlZxuMY+Cgomw49VzZFP9myIcVeYEpeBlbXJbPC4R+K4BmO9hd3ciYM5QIwm5W1PODcKjqxtkye9Q==
   dependencies:
     base64-js "^1.3.0"
     ecdsa-sig-formatter "^1.0.11"
@@ -6963,9 +6963,9 @@ lower-case@^1.1.1:
   integrity sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==
 
 lru-cache@^10.0.1:
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484"
-  integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==
+  version "10.2.0"
+  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3"
+  integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==
 
 lru-cache@^4.0.1:
   version "4.1.5"
@@ -9502,9 +9502,9 @@ spdx-correct@^3.0.0:
     spdx-license-ids "^3.0.0"
 
 spdx-exceptions@^2.1.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
-  integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz#c07a4ede25b16e4f78e6707bbd84b15a45c19c1b"
+  integrity sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==
 
 spdx-expression-parse@^3.0.0:
   version "3.0.1"
diff --git a/pkgs/tools/admin/qovery-cli/default.nix b/pkgs/tools/admin/qovery-cli/default.nix
index 84aa4f4ce477..05db6491b0d6 100644
--- a/pkgs/tools/admin/qovery-cli/default.nix
+++ b/pkgs/tools/admin/qovery-cli/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "qovery-cli";
-  version = "0.81.1";
+  version = "0.82.0";
 
   src = fetchFromGitHub {
     owner = "Qovery";
     repo = "qovery-cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-vzE2Slj69kJbXHNKM9mCBwPkbOqG3DkVa6y4DmfBdn0=";
+    hash = "sha256-jdYCJU+oQtfG79iJEvnbrDZUIcV06b1SNQv3d6aW+Bo=";
   };
 
   vendorHash = "sha256-IDKJaWnQsOtghpCh7UyO6RzWgSZS0S0jdF5hVV7xVbs=";
diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix
index 2c2d9f840180..a08e4c5a812a 100644
--- a/pkgs/tools/admin/salt/default.nix
+++ b/pkgs/tools/admin/salt/default.nix
@@ -11,12 +11,12 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "salt";
-  version = "3006.5";
+  version = "3006.6";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-b5aH8lQt3ICEsXy0fwpMr9SJQBI7o+1XMfaqgf5/lz4=";
+    hash = "sha256-X6tojYa3Dh6ExRtMqlZfNnGVBQaBPDcp1EQIzC9a+8M=";
   };
 
   patches = [
diff --git a/pkgs/tools/admin/simplotask/default.nix b/pkgs/tools/admin/simplotask/default.nix
index f8a4e4462c16..dfceed6a3849 100644
--- a/pkgs/tools/admin/simplotask/default.nix
+++ b/pkgs/tools/admin/simplotask/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "simplotask";
-  version = "1.12.0";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
     owner = "umputun";
     repo = "spot";
     rev = "v${version}";
-    hash = "sha256-bbn6RLkAAlQeHsaMmb34FFrhaYvouf8rSOJpGdYE7Y4=";
+    hash = "sha256-jyAUovPIWIB4x5IEHyRY9iVmgtjR++0dew6B2dnGI8U=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/admin/syft/default.nix b/pkgs/tools/admin/syft/default.nix
index 98eecb764a02..cca9eba3c0d2 100644
--- a/pkgs/tools/admin/syft/default.nix
+++ b/pkgs/tools/admin/syft/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "syft";
-  version = "0.101.1";
+  version = "0.102.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-k5Oes8nqS21lauEIQkieONwdbwNxguNKeg/CbSizOzc=";
+    hash = "sha256-XA2jr9jkecG8r9HD2KYctMJQXfL84odQXgyw9Q8H6P0=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -22,7 +22,7 @@ buildGoModule rec {
   };
   # hash mismatch with darwin
   proxyVendor = true;
-  vendorHash = "sha256-xYEAO0VP+UoZRcgTqHuBRExtqdAZMQ3hknJLw0XR06Q=";
+  vendorHash = "sha256-iq4RCp/HnaHDyVuUeVYQKIRJ0F2SjLYn3mXeYXAcnmg=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index c3a8a71947af..9f077c1fd853 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -10,19 +10,19 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.48.3";
+  version = "0.49.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-zWv/4dDzWfR9qbbBaMaHFMId1OVhcOja7lTy3gcm77w=";
+    hash = "sha256-Kx+84kI/8KOOz2p7xGvjOSyMa1Co9u5c0lWOtfi8SVE=";
   };
 
   # Hash mismatch on across Linux and Darwin
   proxyVendor = true;
 
-  vendorHash = "sha256-EOu4VHfrQbIP1vSWF3UkZDMyEIcbjQKjzdch9c6cVg4=";
+  vendorHash = "sha256-Ldv71C4d9/IO1u+eDKKTHc0pjY8lfnIjQZ57IMWv7Qk=";
 
   subPackages = [ "cmd/trivy" ];
 
diff --git a/pkgs/tools/audio/audiowaveform/default.nix b/pkgs/tools/audio/audiowaveform/default.nix
index 0e7b9df40243..8f194df4d936 100644
--- a/pkgs/tools/audio/audiowaveform/default.nix
+++ b/pkgs/tools/audio/audiowaveform/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "audiowaveform";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "bbc";
     repo = "audiowaveform";
     rev = version;
-    sha256 = "sha256-I9reh4ktBOvhtjh5L1LzpkZSjDb0adIYJFtjGfBBvA8=";
+    sha256 = "sha256-FcQq0xWs3jH2MfhFQ5r5Vaz8B3akBHBSg8Z/k9An/Wg=";
   };
 
   nativeBuildInputs = [ cmake gtest ];
diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix
index 48c936ca632f..d761e4605190 100644
--- a/pkgs/tools/audio/tts/default.nix
+++ b/pkgs/tools/audio/tts/default.nix
@@ -128,7 +128,7 @@ python.pkgs.buildPythonApplication rec {
 
     for file in $(grep -rl 'python TTS/bin' tests); do
       substituteInPlace "$file" \
-        --replace "python TTS/bin" "${python.interpreter} $out/lib/${python.libPrefix}/site-packages/TTS/bin"
+        --replace "python TTS/bin" "${python.interpreter} $out/${python.sitePackages}/TTS/bin"
     done
   '';
 
diff --git a/pkgs/tools/audio/video2midi/default.nix b/pkgs/tools/audio/video2midi/default.nix
index 3d8661da3cab..ca7e2ec45abe 100644
--- a/pkgs/tools/audio/video2midi/default.nix
+++ b/pkgs/tools/audio/video2midi/default.nix
@@ -8,15 +8,15 @@ let
   });
 in pythonPackages.buildPythonApplication rec {
   pname = "video2midi";
-  version = "0.4.6.5";
+  version = "0.4.7.2";
 
   format = "other";
 
   src = fetchFromGitHub {
     owner = "svsdval";
     repo = pname;
-    rev = version;
-    sha256 = "0qzrxqhsxn0h71nfrsi9g78hx3pqm3b8sr6fjq01k4k6dd2nwfam";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-lM3SBgGUW5MTUtsywy57fBiHEg58a8Fcpqb+EcRaYQ4=";
   };
 
   propagatedBuildInputs = with pythonPackages; [ opencv4_ midiutil pygame pyopengl ];
diff --git a/pkgs/tools/backup/sigtop/default.nix b/pkgs/tools/backup/sigtop/default.nix
index ab46893b0d21..ce6c7fde8d6d 100644
--- a/pkgs/tools/backup/sigtop/default.nix
+++ b/pkgs/tools/backup/sigtop/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   name = "sigtop";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "tbvdm";
     repo = "sigtop";
     rev = "v${version}";
-    sha256 = "sha256-goGvgn1QyWqipcrBvO27BjzFbp7cIPFWzWJaOpp2/1Q=";
+    sha256 = "sha256-vFs6/b2ypwMXDgmkZDgfKPqW0GRh9A2t4QQvkUdhYQw=";
   };
 
-  vendorHash = "sha256-K33VZeyOFoLLo64FuYt9bxJvaESSlHEy/2O8kLxxL5U=";
+  vendorHash = "sha256-H43XOupVicLpYfkWNjArpSxQWcFqh9h2Zb6zGZ5xtfs=";
 
   makeFlags = [
     "PREFIX=\${out}"
diff --git a/pkgs/tools/backup/tarsnapper/default.nix b/pkgs/tools/backup/tarsnapper/default.nix
index 447057448f87..b4d731984f71 100644
--- a/pkgs/tools/backup/tarsnapper/default.nix
+++ b/pkgs/tools/backup/tarsnapper/default.nix
@@ -1,20 +1,35 @@
 { lib
 , python3Packages
 , fetchFromGitHub
+, fetchpatch
 , tarsnap
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "tarsnapper";
-  version = "0.4";
+  version = "0.5";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "miracle2k";
     repo = pname;
     rev = version;
-    sha256 = "03db49188f4v1946c8mqqj30ah10x68hbg3a58js0syai32v12pm";
+    hash = "sha256-5i9eum9hbh6VFhvEIDq5Uapy6JtIbf9jZHhRYZVoC1w=";
   };
 
+  patches = [
+    # Fix failing tests when default_deltas is None
+    (fetchpatch {
+      url = "https://github.com/miracle2k/tarsnapper/commit/2ee33ce748b9bb42d559cc2c0104115732cb4150.patch";
+      hash = "sha256-fEXGhzlfB+J5lw1pcsC5Ne7I8UMnDzwyyCx/zm15+fU=";
+    })
+  ];
+
+  nativeBuildInputs = with python3Packages; [
+    pythonRelaxDepsHook
+    setuptools
+  ];
+
   propagatedBuildInputs = with python3Packages; [
     pyyaml
     python-dateutil
@@ -22,28 +37,22 @@ python3Packages.buildPythonApplication rec {
   ];
 
   nativeCheckInputs = with python3Packages; [
+    pytestCheckHook
     nose
   ];
 
-  patches = [
-    # Remove standard module argparse from requirements
-    ./remove-argparse.patch
-  ];
+  # Remove standard module argparse from requirements
+  pythonRemoveDeps = [ "argparse" ];
 
   makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ tarsnap ]}" ];
 
-  checkPhase = ''
-    runHook preCheck
-    nosetests tests
-    runHook postCheck
-  '';
-
   pythonImportsCheck = [ "tarsnapper" ];
 
   meta = with lib; {
     description = "Wrapper which expires backups using a gfs-scheme";
     homepage = "https://github.com/miracle2k/tarsnapper";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ gmacon ];
+    mainProgram = "tarsnapper";
   };
 }
diff --git a/pkgs/tools/backup/tarsnapper/remove-argparse.patch b/pkgs/tools/backup/tarsnapper/remove-argparse.patch
deleted file mode 100644
index 19c7f9f172e2..000000000000
--- a/pkgs/tools/backup/tarsnapper/remove-argparse.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- tarsnapper-0.4-src.org/setup.py	1980-01-02 00:00:00.000000000 +0000
-+++ tarsnapper-0.4-src/setup.py	2017-07-16 10:54:36.596499451 +0100
-@@ -45,6 +45,6 @@
-       url='https://github.com/miracle2k/tarsnapper',
-       license='BSD',
-       packages=['tarsnapper'],
--      install_requires = ['argparse>=1.1', 'pyyaml>=3.09', 'python-dateutil>=2.4.0', 'pexpect>=3.1'],
-+      install_requires = ['pyyaml>=3.09', 'python-dateutil>=2.4.0', 'pexpect>=3.1'],
-       **kw
- )
diff --git a/pkgs/tools/backup/zfs-replicate/default.nix b/pkgs/tools/backup/zfs-replicate/default.nix
index 20a02fc72167..3c148572a169 100644
--- a/pkgs/tools/backup/zfs-replicate/default.nix
+++ b/pkgs/tools/backup/zfs-replicate/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonApplication rec {
   pname = "zfs_replicate";
-  version = "3.2.3";
+  version = "3.2.5";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uzA8cQTUWAGLEhISZhaU6hNe9xcsF9jPZ1ETOi1XIFc=";
+    hash = "sha256-3rIbPXoI2eQCoLU/l1pXEmMJh5NAzrqwZSkn9jzfUoc=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/compression/lziprecover/default.nix b/pkgs/tools/compression/lziprecover/default.nix
index 38051d8efbad..c3f2ca738c7d 100644
--- a/pkgs/tools/compression/lziprecover/default.nix
+++ b/pkgs/tools/compression/lziprecover/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lziprecover";
-  version = "1.23";
+  version = "1.24";
 
   src = fetchurl {
     url = "mirror://savannah/lzip/lziprecover/${pname}-${version}.tar.gz";
-    sha256 = "sha256-8pgEF38G3VHD+lJhWuGYp2ACts6Nlhw1dVRsN0D0tXI=";
+    sha256 = "sha256-HWmc+u/pLrJiSjZSWAvK/gu7mP54GMJebegjvN0NRY8=";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/filesystems/bashmount/default.nix b/pkgs/tools/filesystems/bashmount/default.nix
index ef7bfd492e37..dbd573d5f012 100644
--- a/pkgs/tools/filesystems/bashmount/default.nix
+++ b/pkgs/tools/filesystems/bashmount/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/jamielinux/bashmount";
     description = "A menu-driven bash script for the management of removable media with udisks";
+    mainProgram = "bashmount";
     maintainers = [ maintainers.koral ];
     license = licenses.gpl2;
     platforms = platforms.all;
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index f45e4b51953f..36566dc71002 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -73,6 +73,7 @@ stdenv.mkDerivation (finalAttrs: {
     "PREFIX=${placeholder "out"}"
     "VERSION=${finalAttrs.version}"
     "INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools"
+    "BCACHEFS_FUSE=${toString fuseSupport}"
   ];
 
   preCheck = lib.optionalString (!fuseSupport) ''
diff --git a/pkgs/tools/filesystems/rmfuse/default.nix b/pkgs/tools/filesystems/rmfuse/default.nix
index a75ed9429c13..04a4d6273878 100644
--- a/pkgs/tools/filesystems/rmfuse/default.nix
+++ b/pkgs/tools/filesystems/rmfuse/default.nix
@@ -7,7 +7,7 @@ python3.pkgs.buildPythonApplication rec {
   pname = "rmfuse";
   version = "unstable-2021-06-06";
 
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "rschroll";
@@ -16,13 +16,15 @@ python3.pkgs.buildPythonApplication rec {
     hash = "sha256-W3kS6Kkmp8iWMOYFL7r1GyjSQvFotBXQCuTMK0vyHQ8=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'bidict = "^' 'bidict = ">='
-  '';
-
   nativeBuildInputs = with python3.pkgs; [
     poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "bidict"
+    "rmrl"
+    "xdg"
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/filesystems/snapraid/default.nix b/pkgs/tools/filesystems/snapraid/default.nix
index 3afabf8cd643..89be607027f2 100644
--- a/pkgs/tools/filesystems/snapraid/default.nix
+++ b/pkgs/tools/filesystems/snapraid/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "snapraid";
-  version = "12.2";
+  version = "12.3";
 
   src = fetchFromGitHub {
     owner = "amadvance";
     repo = "snapraid";
     rev = "v${version}";
-    sha256 = "sha256-3wy442tv3m1CSOAj1cngTWRiqX934c/7V2YL6j30+3U=";
+    sha256 = "sha256-pkLooA3JZV/rPlE5+JeJN1QW2xAdNu7c/iFFtT4M4vc=";
   };
 
   VERSION = version;
diff --git a/pkgs/tools/games/minecraft/mcaselector/default.nix b/pkgs/tools/games/minecraft/mcaselector/default.nix
index 0cf48dbe0b6b..395be450f65c 100644
--- a/pkgs/tools/games/minecraft/mcaselector/default.nix
+++ b/pkgs/tools/games/minecraft/mcaselector/default.nix
@@ -7,11 +7,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "mcaselector";
-  version = "2.2.2";
+  version = "2.3";
 
   src = fetchurl {
     url = "https://github.com/Querz/mcaselector/releases/download/${finalAttrs.version}/mcaselector-${finalAttrs.version}.jar";
-    hash = "sha256-tOSdzLFxvEJ9LXliwfosMkgcrQLsrW7qDS8vrgPzQoI=";
+    hash = "sha256-8ivqTqgO6hvEgwnAfnPXuruFGS3s/wD/WKt+5Bg/5Z0=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/tools/graphics/maskromtool/default.nix b/pkgs/tools/graphics/maskromtool/default.nix
index 77a4d9e268bb..b2506bfa9df8 100644
--- a/pkgs/tools/graphics/maskromtool/default.nix
+++ b/pkgs/tools/graphics/maskromtool/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "maskromtool";
-  version = "2024-01-1";
+  version = "2024-01-28";
 
   src = fetchFromGitHub {
     owner = "travisgoodspeed";
     repo = "maskromtool";
     rev = "v${version}";
-    hash = "sha256-iKzq0hH45uHtWr2QZsVSPUZjmU6rXUGqVQ8SlIhOuJ0=";
+    hash = "sha256-jYnJgZ4bn5NDSzNyhb46xnmzbF9Y59shw8y/2zmxiVM=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/graphics/vulkan-caps-viewer/default.nix b/pkgs/tools/graphics/vulkan-caps-viewer/default.nix
index b2a9781f23ec..f5962d9aa6c4 100644
--- a/pkgs/tools/graphics/vulkan-caps-viewer/default.nix
+++ b/pkgs/tools/graphics/vulkan-caps-viewer/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vulkan-caps-viewer";
-  version = "3.32";
+  version = "3.33";
 
   src = fetchFromGitHub {
     owner = "SaschaWillems";
     repo = "VulkanCapsViewer";
     rev = version;
-    hash = "sha256-SPz8AurANjNwtsPHdZ2lCaC3VEcEAKn93st/7DJ0oyU=";
+    hash = "sha256-eKUgsT3KDua+whO0JdtnniKqoRmBt58LELeUz24goPM=";
     # Note: this derivation strictly requires vulkan-header to be the same it was developed against.
     # To help us, they've put it in a git-submodule.
     # The result will work with any vulkan-loader version.
diff --git a/pkgs/tools/graphics/vulkan-tools/default.nix b/pkgs/tools/graphics/vulkan-tools/default.nix
index 087326f71322..e084f7e2285b 100644
--- a/pkgs/tools/graphics/vulkan-tools/default.nix
+++ b/pkgs/tools/graphics/vulkan-tools/default.nix
@@ -60,17 +60,6 @@ stdenv.mkDerivation rec {
     Cocoa
   ];
 
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    # Modify mac_common.cmake to find the ICD where nixpkgs puts it.
-    substituteInPlace mac_common.cmake \
-      --replace MoltenVK/icd/MoltenVK_icd.json MoltenVK_icd.json
-    # Remove the unconditional check for `ibtool` since the cube demo that needs it won’t be built.
-    sed -e '/#.*Interface Builder/,/^endif()/d' -i mac_common.cmake
-    # Install `vulkaninfo` to $out/bin even on Darwin.
-    substituteInPlace vulkaninfo/CMakeLists.txt \
-      --replace 'install(TARGETS vulkaninfo RUNTIME DESTINATION "vulkaninfo")' 'install(TARGETS vulkaninfo)'
-  '';
-
   libraryPath = lib.strings.makeLibraryPath [ vulkan-loader ];
 
   dontPatchELF = true;
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
index 7333558aaaef..220c89ca175d 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
@@ -1,89 +1,86 @@
-{ lib, stdenv, fetchFromGitHub, which, ninja, pkg-config, protobuf
-, ibus, gtk2, zinnia, qt5, libxcb, tegaki-zinnia-japanese, python3Packages }:
-
-stdenv.mkDerivation rec {
+{ lib
+, buildBazelPackage
+, fetchFromGitHub
+, qt6
+, pkg-config
+, bazel
+, ibus
+, unzip
+, xdg-utils
+}:
+let
+  zip-codes = fetchFromGitHub {
+    owner = "musjj";
+    repo = "jp-zip-codes";
+    rev = "a1eed9bae0ba909c8c8f5387008b08ff490f5e57";
+    hash = "sha256-VfI8qAMPPCC2H4vjm4a6sAmSwc1YkXlMyLm1cnufvrU=";
+  };
+in
+buildBazelPackage rec {
   pname = "ibus-mozc";
-  version = "2.26.4660.102";
+  version = "2.29.5268.102";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "mozc";
-    rev = "refs/tags/${version}";
-    hash = "sha256-sgsfJZALpPHFB5bXu4OkRssViRDaPcgLfEyGhbqvJbI=";
+    rev = version;
+    hash = "sha256-B7hG8OUaQ1jmmcOPApJlPVcB8h1Rw06W5LAzlTzI9rU=";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [
-    which ninja python3Packages.python python3Packages.six
-    python3Packages.gyp pkg-config qt5.wrapQtAppsHook
-  ];
+  nativeBuildInputs = [ qt6.wrapQtAppsHook pkg-config unzip ];
 
-  buildInputs = [ protobuf ibus gtk2 zinnia qt5.qtbase libxcb ];
+  buildInputs = [ ibus qt6.qtbase ];
 
-  postUnpack = lib.optionalString stdenv.isLinux ''
-    sed -i 's/-lc++/-lstdc++/g' $sourceRoot/src/gyp/common.gypi
-  '';
+  dontAddBazelOpts = true;
+  removeRulesCC = false;
 
-  configurePhase = ''
-    runHook preConfigure
+  inherit bazel;
 
-    export GYP_DEFINES="document_dir=$out/share/doc/mozc use_libzinnia=1 use_libprotobuf=1 ibus_mozc_path=$out/lib/ibus-mozc/ibus-engine-mozc zinnia_model_file=${tegaki-zinnia-japanese}/share/tegaki/models/zinnia/handwriting-ja.model"
-    cd src && python build_mozc.py gyp --gypdir=${python3Packages.gyp}/bin --server_dir=$out/lib/mozc
+  fetchAttrs = {
+    sha256 = "sha256-17QHh1MJUu8OK/T+WSpLXEx83DmRORLN7yLzILqP7vw=";
 
-    runHook postConfigure
-  '';
+    # remove references of buildInputs
+    preInstall = ''
+      rm -rv $bazelOut/external/{ibus,qt_linux}
+    '';
+  };
 
-  buildPhase = ''
-    runHook preBuild
+  bazelFlags = [ "--config" "oss_linux" "--compilation_mode" "opt" ];
 
-    PYTHONPATH="$PWD:$PYTHONPATH" python build_mozc.py build -c Release \
-      unix/ibus/ibus.gyp:ibus_mozc \
-      unix/emacs/emacs.gyp:mozc_emacs_helper \
-      server/server.gyp:mozc_server \
-      gui/gui.gyp:mozc_tool \
-      renderer/renderer.gyp:mozc_renderer
+  bazelTargets = [ "package" ];
 
-    runHook postBuild
+  postPatch = ''
+    substituteInPlace src/config.bzl \
+      --replace-fail "/usr/bin/xdg-open" "${xdg-utils}/bin/xdg-open" \
+      --replace-fail "/usr" "$out"
+    substituteInPlace src/WORKSPACE.bazel \
+      --replace-fail "https://www.post.japanpost.jp/zipcode/dl/kogaki/zip/ken_all.zip" "file://${zip-codes}/ken_all.zip" \
+      --replace-fail "https://www.post.japanpost.jp/zipcode/dl/jigyosyo/zip/jigyosyo.zip" "file://${zip-codes}/jigyosyo.zip"
   '';
 
-  installPhase = ''
+  preConfigure = ''
+    cd src
+  '';
+
+  buildAttrs.installPhase = ''
     runHook preInstall
 
-    install -d        $out/share/licenses/mozc
-    head -n 29 server/mozc_server.cc > $out/share/licenses/mozc/LICENSE
-    install -m 644    data/installer/*.html $out/share/licenses/mozc/
-
-    install -D -m 755 out_linux/Release/mozc_server $out/lib/mozc/mozc_server
-    install    -m 755 out_linux/Release/mozc_tool   $out/lib/mozc/mozc_tool
-    wrapQtApp $out/lib/mozc/mozc_tool
-
-    install -d        $out/share/doc/mozc
-    install -m 644    data/installer/*.html $out/share/doc/mozc/
-
-    install -D -m 755 out_linux/Release/ibus_mozc           $out/lib/ibus-mozc/ibus-engine-mozc
-    install -D -m 644 out_linux/Release/gen/unix/ibus/mozc.xml $out/share/ibus/component/mozc.xml
-    install -D -m 644 data/images/unix/ime_product_icon_opensource-32.png $out/share/ibus-mozc/product_icon.png
-    install    -m 644 data/images/unix/ui-tool.png          $out/share/ibus-mozc/tool.png
-    install    -m 644 data/images/unix/ui-properties.png    $out/share/ibus-mozc/properties.png
-    install    -m 644 data/images/unix/ui-dictionary.png    $out/share/ibus-mozc/dictionary.png
-    install    -m 644 data/images/unix/ui-direct.png        $out/share/ibus-mozc/direct.png
-    install    -m 644 data/images/unix/ui-hiragana.png      $out/share/ibus-mozc/hiragana.png
-    install    -m 644 data/images/unix/ui-katakana_half.png $out/share/ibus-mozc/katakana_half.png
-    install    -m 644 data/images/unix/ui-katakana_full.png $out/share/ibus-mozc/katakana_full.png
-    install    -m 644 data/images/unix/ui-alpha_half.png    $out/share/ibus-mozc/alpha_half.png
-    install    -m 644 data/images/unix/ui-alpha_full.png    $out/share/ibus-mozc/alpha_full.png
-    install -D -m 755 out_linux/Release/mozc_renderer       $out/lib/mozc/mozc_renderer
-    install -D -m 755 out_linux/Release/mozc_emacs_helper   $out/lib/mozc/mozc_emacs_helper
+    unzip bazel-bin/unix/mozc.zip -x "tmp/*" -d /
 
     runHook postInstall
   '';
 
+  passthru = {
+    inherit zip-codes;
+  };
+
   meta = with lib; {
     isIbusEngine = true;
     description = "Japanese input method from Google";
     homepage = "https://github.com/google/mozc";
     license = licenses.free;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ gebner ericsagnes ];
+    maintainers = with maintainers; [ gebner ericsagnes pineapplehunter ];
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
index 8a6a7217dea6..96d532db725f 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
@@ -13,13 +13,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus-typing-booster";
-  version = "2.24.11";
+  version = "2.24.12";
 
   src = fetchFromGitHub {
     owner = "mike-fabian";
     repo = "ibus-typing-booster";
     rev = version;
-    hash = "sha256-qksAtEUdvRddkl1tLfDqGhJDGwT605/IJOuIFVxgI0s=";
+    hash = "sha256-RHmU+wcorC78Pa21DrhOLz3ztv8kByWo5l1i8F/LZO4=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook gobject-introspection ];
diff --git a/pkgs/tools/inputmethods/remote-touchpad/default.nix b/pkgs/tools/inputmethods/remote-touchpad/default.nix
index 9d213ca51df2..aef0afc576ab 100644
--- a/pkgs/tools/inputmethods/remote-touchpad/default.nix
+++ b/pkgs/tools/inputmethods/remote-touchpad/default.nix
@@ -9,13 +9,13 @@
 
 buildGoModule rec {
   pname = "remote-touchpad";
-  version = "1.4.4";
+  version = "1.4.5";
 
   src = fetchFromGitHub {
     owner = "unrud";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-E2Pa5fhE2AiN2GE7k80nWcrXxHBDvkQtZV43DKhaCGU=";
+    sha256 = "sha256-usJAiGjUGGO4Gb9LMGWR6mG3r8C++llteqn5WpwqqFk=";
   };
 
   buildInputs = [ libXi libXrandr libXt libXtst ];
diff --git a/pkgs/tools/misc/asdf-vm/default.nix b/pkgs/tools/misc/asdf-vm/default.nix
index 1247039e8c64..c9b7f27c42b0 100644
--- a/pkgs/tools/misc/asdf-vm/default.nix
+++ b/pkgs/tools/misc/asdf-vm/default.nix
@@ -37,13 +37,13 @@ ${asdfReshimFile}
   '';
 in stdenv.mkDerivation rec {
   pname = "asdf-vm";
-  version = "0.13.1";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "asdf-vm";
     repo = "asdf";
     rev = "v${version}";
-    sha256 = "sha256-9Levs1Wr7Lohhvpy+1Xq3AYyf7+VsBalvAAA7qq6heI=";
+    sha256 = "sha256-DmwKzW0oHjokMxj2RMT4iogurEMKeAcl7MWlPTOqMmg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/barman/default.nix b/pkgs/tools/misc/barman/default.nix
index f310b99f811f..b4bf50437218 100644
--- a/pkgs/tools/misc/barman/default.nix
+++ b/pkgs/tools/misc/barman/default.nix
@@ -6,13 +6,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "barman";
-  version = "3.7.0";
+  version = "3.10.0";
 
   src = fetchFromGitHub {
     owner = "EnterpriseDB";
     repo = pname;
     rev = "refs/tags/release/${version}";
-    hash = "sha256-5mecCg5c+fu6WUgmNEL4BR+JCild02YAuYgLwO1MGnI=";
+    hash = "sha256-NcDW1SLeP2BVH+TQp1M03Otg75axSFXfwQzlEJ1JOxo=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/btrfs-assistant/default.nix b/pkgs/tools/misc/btrfs-assistant/default.nix
index 936409c3c019..474a5e5dc5b4 100644
--- a/pkgs/tools/misc/btrfs-assistant/default.nix
+++ b/pkgs/tools/misc/btrfs-assistant/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "btrfs-assistant";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchFromGitLab {
     owner = "btrfs-assistant";
     repo = "btrfs-assistant";
     rev = finalAttrs.version;
-    hash = "sha256-Ay2wxDVue+tG09RgAo4Zg2ktlq6dk7GdIwAlbuVULB4=";
+    hash = "sha256-a854WI8f9/G/BRU5rn1FKC6WRZyXNYsUL4p258C8ppw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix
index 2a4c2c001668..989f7d57e0b8 100644
--- a/pkgs/tools/misc/colord/default.nix
+++ b/pkgs/tools/misc/colord/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "colord";
-  version = "1.4.6";
+  version = "1.4.7";
 
   outputs = [ "out" "dev" "devdoc" "man" "installedTests" ];
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/colord/releases/${pname}-${version}.tar.xz";
-    sha256 = "dAdjGie/5dG2cueuQndwAcEF2GC3tzkig8jGMA3ojm8=";
+    hash = "sha256-3gLZkQY0rhWVR1hc7EFORQ9xHCcjVFO0+bOKnyNhplM=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/copier/default.nix b/pkgs/tools/misc/copier/default.nix
index c1e8568dfd50..2b1a65cf99eb 100644
--- a/pkgs/tools/misc/copier/default.nix
+++ b/pkgs/tools/misc/copier/default.nix
@@ -2,7 +2,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "copier";
-  version = "8.1.0";
+  version = "9.1.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
@@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
     postFetch = ''
       rm $out/tests/demo/doc/ma*ana.txt
     '';
-    hash = "sha256-PxyXlmEZ9cqZgDWcdeNznEC4F1J4NFMiwy0D7g+YZUs=";
+    hash = "sha256-x5r7Xv4lAOMkR+UIEeSY7LvbYMLpTWYuICYe9ygz1tA=";
   };
 
   POETRY_DYNAMIC_VERSIONING_BYPASS = version;
@@ -52,7 +52,7 @@ python3.pkgs.buildPythonApplication rec {
     description = "Library and command-line utility for rendering projects templates";
     homepage = "https://copier.readthedocs.io";
     license = licenses.mit;
-    maintainers = with maintainers; [ jonringer ];
+    maintainers = with maintainers; [ jonringer greg ];
     mainProgram = "copier";
   };
 }
diff --git a/pkgs/tools/misc/ddcutil/default.nix b/pkgs/tools/misc/ddcutil/default.nix
index 285fd3799711..45b34333b7fc 100644
--- a/pkgs/tools/misc/ddcutil/default.nix
+++ b/pkgs/tools/misc/ddcutil/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ddcutil";
-  version = "2.0.0";
+  version = "2.1.2";
 
   src = fetchurl {
     url = "https://www.ddcutil.com/tarballs/ddcutil-${version}.tar.gz";
-    hash = "sha256-CunFRQHKk3q8CU60TSRnRoCW7+9X1+JpJHm773HhmZs=";
+    hash = "sha256-2SYH+8sEeCY55T8aNO3UJ8NN4g2dfzsv3DlTS2p22/s=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix
index b8a58ff400e2..d70994753dbd 100644
--- a/pkgs/tools/misc/debian-devscripts/default.nix
+++ b/pkgs/tools/misc/debian-devscripts/default.nix
@@ -39,7 +39,7 @@ in stdenv.mkDerivation rec {
 
   preConfigure = ''
     export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}${dpkg}";
-    tgtpy="$out/lib/${python.libPrefix}/site-packages"
+    tgtpy="$out/${python.sitePackages}"
     mkdir -p "$tgtpy"
     export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$tgtpy"
     find lib po4a scripts -type f -exec sed -r \
diff --git a/pkgs/tools/misc/dooit/default.nix b/pkgs/tools/misc/dooit/default.nix
index 7e251e2f339e..1621ea8e5249 100644
--- a/pkgs/tools/misc/dooit/default.nix
+++ b/pkgs/tools/misc/dooit/default.nix
@@ -7,14 +7,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "dooit";
-  version = "2.1.1";
+  version = "2.2.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "kraanzu";
     repo = "dooit";
     rev = "v${version}";
-    hash = "sha256-YfWfh8oDZSG1DdAV+hzchqyNSSqyeNR5SSEa9B5yGY8=";
+    hash = "sha256-GtXRzj+o+FClleh73kqelk0JrSyafZhf847lX1BiS9k=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index 89bf35430496..16aa65b83beb 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -6,7 +6,8 @@
 , platformio
 , esptool
 , git
-, iputils
+, inetutils
+, stdenv
 }:
 
 let
@@ -18,14 +19,14 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "esphome";
-  version = "2023.12.8";
+  version = "2023.12.9";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-aDFp0lWltju31MJigmkXS0dcdALd5d2hXBRaPUCbMJ4=";
+    hash = "sha256-8SHf6cbPYPZctjJgIuEb7eOJVi5hWNONyRnMXK0iBXc=";
   };
 
   nativeBuildInputs = with python.pkgs; [
@@ -78,12 +79,16 @@ python.pkgs.buildPythonApplication rec {
     # platformio is used in esphome/platformio_api.py
     # esptool is used in esphome/__main__.py
     # git is used in esphome/writer.py
-    # iputils is used in esphome/dashboard/status/ping.py
-    "--prefix PATH : ${lib.makeBinPath [ platformio esptool git iputils ]}"
+    # inetutils is used in esphome/dashboard/status/ping.py
+    "--prefix PATH : ${lib.makeBinPath [ platformio esptool git inetutils ]}"
     "--prefix PYTHONPATH : $PYTHONPATH" # will show better error messages
+    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}"
     "--set ESPHOME_USE_SUBPROCESS ''"
   ];
 
+  # Needed for tests
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = with python3Packages; [
     hypothesis
     mock
diff --git a/pkgs/tools/misc/fastfetch/default.nix b/pkgs/tools/misc/fastfetch/default.nix
index eb24bcd2f9a3..2e5b5714827d 100644
--- a/pkgs/tools/misc/fastfetch/default.nix
+++ b/pkgs/tools/misc/fastfetch/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "fastfetch";
-  version = "2.7.0";
+  version = "2.7.1";
 
   src = fetchFromGitHub {
     owner = "fastfetch-cli";
     repo = "fastfetch";
     rev = finalAttrs.version;
-    hash = "sha256-+p85f2cH+syRpnSozc++jPT4Hbn/kGkVsUv3L5Na8+s=";
+    hash = "sha256-s0N3Rt3lLOCyaeXeNYu6hlGtNtGR+YC7Aj4/3SeVMpQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/fedifetcher/default.nix b/pkgs/tools/misc/fedifetcher/default.nix
index 3a1192d698c1..dbf8c3bce281 100644
--- a/pkgs/tools/misc/fedifetcher/default.nix
+++ b/pkgs/tools/misc/fedifetcher/default.nix
@@ -2,14 +2,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "fedifetcher";
-  version = "7.0.1";
+  version = "7.0.3";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "nanos";
     repo = "FediFetcher";
     rev = "v${version}";
-    hash = "sha256-/Au6a93na3meb2j0eR8UCCg+TVW/UqWz3/TkASB94Eg=";
+    hash = "sha256-ADf6ZVqO9v6GQbNWi3NDX5bNmFDX5LMJfM6ePEWwbrQ=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index e3c3a6963bd1..a64246693ee1 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -24,16 +24,16 @@ let
 in
 buildGoModule rec {
   pname = "fzf";
-  version = "0.46.0";
+  version = "0.46.1";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    hash = "sha256-Lcqe1eVQXOLJWsxsUK0dzZHAA3c1Wps07HFvlaflN5Q=";
+    hash = "sha256-gMSelLwIIYv/vkbdWi4Cw3FEy4lbC8P/5+T+c/e66+c=";
   };
 
-  vendorHash = "sha256-3InzP299GJUizNWyPNpg9+pGA88ggnky56bGV5E+7ck=";
+  vendorHash = "sha256-8ojmIETUyZ3jDhrqkHYnxptRG8vdj0GADYvEpw0wi6w=";
 
   CGO_ENABLED = 0;
 
diff --git a/pkgs/tools/misc/github-backup/default.nix b/pkgs/tools/misc/github-backup/default.nix
index 0e4953ca6bc8..4f57b084ba60 100644
--- a/pkgs/tools/misc/github-backup/default.nix
+++ b/pkgs/tools/misc/github-backup/default.nix
@@ -7,12 +7,12 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "github-backup";
-  version = "0.44.1";
+  version = "0.45.0";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tOCIrquhBS7aNeFocu8M9JV19vfFwrfIsaaePCp2vPw=";
+    hash = "sha256-bT5eqhpSK9u6Q4hO8FTgbpjjv0x2am1m2fOw5OqxixQ=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/misc/gotify-desktop/default.nix b/pkgs/tools/misc/gotify-desktop/default.nix
index 64d82def48a7..f9ebbff548e9 100644
--- a/pkgs/tools/misc/gotify-desktop/default.nix
+++ b/pkgs/tools/misc/gotify-desktop/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gotify-desktop";
-  version = "1.3.2";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
     owner = "desbma";
     repo = pname;
     rev = version;
-    sha256 = "sha256-aJBgvgDG3PIogTP7jZtncKeXc7NAnJdtjpBOk303wzs=";
+    sha256 = "sha256-vyOXZQ2X/LT/saBxcEbD96U34ufxjcWTHAobGI3bAE4=";
   };
 
-  cargoHash = "sha256-JJlTS22XveuLd53ck7zduQVvEk1E/yOGkBSTvDf/XEQ=";
+  cargoHash = "sha256-MNxHJ1iirHj78wq6ChDjr6mQS0UmHPjVMs1EPFZyTV0=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/misc/grizzly/default.nix b/pkgs/tools/misc/grizzly/default.nix
index 2c80068c06c4..d16356d6d5ce 100644
--- a/pkgs/tools/misc/grizzly/default.nix
+++ b/pkgs/tools/misc/grizzly/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "grizzly";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Yc15mD21Ohga7Pw+iowegkI2DWbKIZOZQ2vkKOdsKUk=";
+    hash = "sha256-d/DUazWBT96+dnwVXo667RHALUM2FHxXoI54fFU2HZw=";
   };
 
   vendorHash = "sha256-8myfB2LKDPUCFV9GBSXrBo9E+WrCOCm0ZHKTQ1dEb9U=";
diff --git a/pkgs/tools/misc/ipxe/default.nix b/pkgs/tools/misc/ipxe/default.nix
index e31c6603e429..aa0c74b114b5 100644
--- a/pkgs/tools/misc/ipxe/default.nix
+++ b/pkgs/tools/misc/ipxe/default.nix
@@ -33,7 +33,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ipxe";
-  version = "unstable-2023-07-19";
+  version = "unstable-2024-01-19";
 
   nativeBuildInputs = [ gnu-efi mtools openssl perl xorriso xz ] ++ lib.optional stdenv.hostPlatform.isx86 syslinux;
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -43,8 +43,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "ipxe";
     repo = "ipxe";
-    rev = "c1834f323f4f6b9b46cd5895b1457a117381363f";
-    hash = "sha256-fJeDgm+OaItshWFliq08Y0BPDD2FCkezeEp7trqWNjA=";
+    rev = "de8a0821c7bc737e724fa3dfb6d89dc36f591d7a";
+    hash = "sha256-bVFr1fTulww6swWPKupWRGfQOAiXp2oP1/VC5GpzLnY=";
   };
 
   postPatch = lib.optionalString stdenv.hostPlatform.isAarch64 ''
diff --git a/pkgs/tools/misc/miniserve/default.nix b/pkgs/tools/misc/miniserve/default.nix
index 6d0d918b0199..7ba0165b0e01 100644
--- a/pkgs/tools/misc/miniserve/default.nix
+++ b/pkgs/tools/misc/miniserve/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "miniserve";
-  version = "0.24.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = "miniserve";
     rev = "v${version}";
-    hash = "sha256-dTJK+M7kccyqNWAz/cYoPTNM3pew7cT21hZhjCf2jDA=";
+    hash = "sha256-f+k7ONX9bDrkyIhFxxaJvZYH2WBxYwCssbfM2fBPtRk=";
   };
 
-  cargoHash = "sha256-lMqoBQRK0Wop1sAdydTVYFR3pzwtQDluDVXFJ4v+GHM=";
+  cargoHash = "sha256-Omxd0ZgvtEiciFnKWkYupyts2QT9LUTXxaTdfu0Jnx8=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -26,6 +26,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
+    darwin.apple_sdk.frameworks.SystemConfiguration
   ];
 
   nativeCheckInputs = [
@@ -36,6 +37,8 @@ rustPlatform.buildRustPackage rec {
     "--skip=bind_ipv4_ipv6::case_2"
     "--skip=qrcode_hidden_in_tty_when_disabled"
     "--skip=qrcode_shown_in_tty_when_enabled"
+    "--skip=show_root_readme_contents"
+    "--skip=validate_printed_urls"
   ];
 
   postInstall = ''
diff --git a/pkgs/tools/misc/mise/default.nix b/pkgs/tools/misc/mise/default.nix
index cb7e54647e14..9c0fec19d647 100644
--- a/pkgs/tools/misc/mise/default.nix
+++ b/pkgs/tools/misc/mise/default.nix
@@ -17,16 +17,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mise";
-  version = "2024.1.24";
+  version = "2024.1.35";
 
   src = fetchFromGitHub {
     owner = "jdx";
     repo = "mise";
     rev = "v${version}";
-    hash = "sha256-Lp1TGY6Ct4LHSsvhF/58NrO/whxiMOH1YjsBbGWDhh4=";
+    hash = "sha256-U5L66cZXgvKLQKTYIAKWcYVs5IV4OKegKxYvLr83g8k=";
   };
 
-  cargoHash = "sha256-sEnO8uKaPXFUMmIR0VJESQWITwxh68/+R4kqJYx/boA=";
+  cargoHash = "sha256-Hn6uDDA/RJ9d5s3bLsR90Gd8mahYwnBmkkJ3ToGwpyM=";
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
diff --git a/pkgs/tools/misc/most/default.nix b/pkgs/tools/misc/most/default.nix
index 2ec394cd250d..87280b9f295e 100644
--- a/pkgs/tools/misc/most/default.nix
+++ b/pkgs/tools/misc/most/default.nix
@@ -2,18 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "most";
-  version = "5.1.0";
+  version = "5.2.0";
 
   src = fetchurl {
     url = "https://www.jedsoft.org/releases/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "008537ns659pw2aag15imwjrxj73j26aqq90h285is6kz8gmv06v";
+    hash = "sha256-lFWuuPgm+oOFyFDcIr8PIs+QabPDQj+6S/LG9iJtmQM=";
   };
 
-  patches = [
-    # Upstream patch to fix parallel build failure
-    ./parallel-make.patch
-  ];
-
   outputs = [ "out" "doc" ];
 
   makeFlags = [
diff --git a/pkgs/tools/misc/most/parallel-make.patch b/pkgs/tools/misc/most/parallel-make.patch
deleted file mode 100644
index 07c2e47c673e..000000000000
--- a/pkgs/tools/misc/most/parallel-make.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream commit c9cfad50a ("src/Makefile.in: Avoid a race condition
-when performing a parallel build")
-
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -54,6 +54,12 @@ COMPILE_CMD = $(CC) -c $(ALL_CFLAGS) -DMOST_SYSTEM_INITFILE='"$(SYS_INITFILE)"'
- all: $(EXEC)
- $(EXEC): $(OBJDIR) $(CONFIG_H) slangversion $(OBJDIR)/$(EXEC)
- 	@echo $(EXEC) created in $(OBJDIR)
-+
-+# C source files include autogenrated "config.h". Make sure
-+# it's available before the compilation. Pessimistically assume
-+# any source file can depend on "config.h".
-+$(OBJS) $(OBJDIR)/chkslang.o: $(CONFIG_H)
-+
- $(OBJDIR)/$(EXEC): $(OBJS)
- 	cd $(OBJDIR); $(CC) $(OFILES) -o $(EXEC) $(LDFLAGS) $(EXECLIBS)
- #
diff --git a/pkgs/tools/misc/mutagen-compose/default.nix b/pkgs/tools/misc/mutagen-compose/default.nix
index a9ecae787b95..fe8f2b06505d 100644
--- a/pkgs/tools/misc/mutagen-compose/default.nix
+++ b/pkgs/tools/misc/mutagen-compose/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mutagen-compose";
-  version = "0.17.4";
+  version = "0.17.5";
 
   src = fetchFromGitHub {
     owner = "mutagen-io";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-arvDV1AlhrXfndoXGd7jn6O9ZAc1+7hq30QpYPLhpJw=";
+    hash = "sha256-EkUaxk+zCm1ta1/vjClZHki/MghLvUkCeiW7hST7WEc=";
   };
 
-  vendorHash = "sha256-wqenEPTRsZvQscXv+/eVEFVk8Fd1/Aj3QcBSZzpkmGA=";
+  vendorHash = "sha256-siLS53YVQfCwqyuvXXvHFtlpr3RQy2GP2/ZV+Tv/Lqc=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/nautilus-open-any-terminal/default.nix b/pkgs/tools/misc/nautilus-open-any-terminal/default.nix
index 4a115499d7a2..54e85c063633 100644
--- a/pkgs/tools/misc/nautilus-open-any-terminal/default.nix
+++ b/pkgs/tools/misc/nautilus-open-any-terminal/default.nix
@@ -14,13 +14,14 @@
 
 python3.pkgs.buildPythonPackage rec {
   pname = "nautilus-open-any-terminal";
-  version = "0.4.0";
+  version = "0.5.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Stunkymonkey";
     repo = pname;
     rev = version;
-    sha256 = "sha256-EAI60Mw+OTPfjOS6lkGMul7QvTR7NXyNfevWY2JP1yI=";
+    hash = "sha256-fcTbt8O/7KEme5+GlDD7hMMcE2RaYqFdfojzJ1KhnA0=";
   };
 
   patches = [ ./hardcode-gsettings.patch ];
@@ -30,6 +31,7 @@ python3.pkgs.buildPythonPackage rec {
     gobject-introspection
     pkg-config
     wrapGAppsHook
+    python3.pkgs.setuptools
   ];
 
   buildInputs = [
@@ -43,7 +45,7 @@ python3.pkgs.buildPythonPackage rec {
   ];
 
   postPatch = ''
-    substituteInPlace nautilus_open_any_terminal/open_any_terminal_extension.py \
+    substituteInPlace nautilus_open_any_terminal/nautilus_open_any_terminal.py \
       --subst-var-by gsettings_path ${glib.makeSchemaPath "$out" "$name"}
   '';
 
diff --git a/pkgs/tools/misc/nautilus-open-any-terminal/hardcode-gsettings.patch b/pkgs/tools/misc/nautilus-open-any-terminal/hardcode-gsettings.patch
index 194bb55902ae..5116d5110ca1 100644
--- a/pkgs/tools/misc/nautilus-open-any-terminal/hardcode-gsettings.patch
+++ b/pkgs/tools/misc/nautilus-open-any-terminal/hardcode-gsettings.patch
@@ -1,22 +1,22 @@
-diff --git a/nautilus_open_any_terminal/open_any_terminal_extension.py b/nautilus_open_any_terminal/open_any_terminal_extension.py
+diff --git a/nautilus_open_any_terminal/nautilus_open_any_terminal.py b/nautilus_open_any_terminal/nautilus_open_any_terminal.py
 index b02a995..a616399 100644
---- a/nautilus_open_any_terminal/open_any_terminal_extension.py
-+++ b/nautilus_open_any_terminal/open_any_terminal_extension.py
-@@ -205,9 +205,10 @@ def set_terminal_args(*args):
- 
-     class OpenAnyTerminalShortcutProvider(GObject.GObject, Nautilus.LocationWidgetProvider):
+--- a/nautilus_open_any_terminal/nautilus_open_any_terminal.py
++++ b/nautilus_open_any_terminal/nautilus_open_any_terminal.py
+@@ -228,9 +228,10 @@ def set_terminal_args(*args):
+         """Provide keyboard shortcuts for opening terminals in Nautilus."""
+
          def __init__(self):
--            source = Gio.SettingsSchemaSource.get_default()
--            if source.lookup(GSETTINGS_PATH, True):
+-            gsettings_source = Gio.SettingsSchemaSource.get_default()
+-            if gsettings_source.lookup(GSETTINGS_PATH, True):
 -                self._gsettings = Gio.Settings.new(GSETTINGS_PATH)
-+            source = Gio.SettingsSchemaSource.new_from_directory("@gsettings_path@", Gio.SettingsSchemaSource.get_default(), True)
++            gsettings_source = Gio.SettingsSchemaSource.new_from_directory("@gsettings_path@", Gio.SettingsSchemaSource.get_default(), True)
 +            if True:
-+                _schema = source.lookup(GSETTINGS_PATH, False)
++                _schema = gsettings_source.lookup(GSETTINGS_PATH, False)
 +                self._gsettings = Gio.Settings.new_full(_schema, None, None);
                  self._gsettings.connect("changed", self._bind_shortcut)
                  self._create_accel_group()
              self._window = None
-@@ -232,9 +233,10 @@ class OpenAnyTerminalExtension(GObject.GObject, Nautilus.MenuProvider):
+@@ -326,9 +327,10 @@ class OpenAnyTerminalExtension(GObject.GObject, Nautilus.MenuProvider):
          return items
  
  
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index b078361bf057..3559ee5beae5 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -8,17 +8,17 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.90.1";
+  version = "0.93.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector";
     rev = "v${version}";
-    hash = "sha256-JKcYvJtuN38VrhcVFHRc0CKTH+x8HShs1/Ui0iN1jNo=";
+    hash = "sha256-caDBVB1ChAAU5fGip8HbC4hXcTomsRoLIobtMSvX/HY=";
   };
   # there is a nested go.mod
   sourceRoot = "${src.name}/cmd/otelcorecol";
-  vendorHash = "sha256-vaWOUc4CwiCDqe1szrBcgbHXQH/OkGTN0iqh+3CKPLQ=";
+  vendorHash = "sha256-Mx+3Ml5BQ3Z+H9mX5xvfdG7fmHm+Cz3ws+cW/6iZddY=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/panoply/default.nix b/pkgs/tools/misc/panoply/default.nix
index f3b134f95bef..d0c86c1275f5 100644
--- a/pkgs/tools/misc/panoply/default.nix
+++ b/pkgs/tools/misc/panoply/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "panoply";
-  version = "5.3.1";
+  version = "5.3.2";
 
   src = fetchurl {
     url = "https://www.giss.nasa.gov/tools/panoply/download/PanoplyJ-${version}.tgz";
-    sha256 = "sha256-Fz1IFZwr7Eqqypt50n3qaoRjwfvSoS3kbMhbgzbc1J4=";
+    sha256 = "sha256-+B/k3MqoefD3AVSYuR006eYyNe+njsfiqwBtQ+1YIHA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/pre-commit/default.nix b/pkgs/tools/misc/pre-commit/default.nix
index afeb6cdbbba2..11d76add076f 100644
--- a/pkgs/tools/misc/pre-commit/default.nix
+++ b/pkgs/tools/misc/pre-commit/default.nix
@@ -33,6 +33,7 @@ buildPythonApplication rec {
   patches = [
     ./languages-use-the-hardcoded-path-to-python-binaries.patch
     ./hook-tmpl.patch
+    ./pygrep-pythonpath.patch
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/misc/pre-commit/pygrep-pythonpath.patch b/pkgs/tools/misc/pre-commit/pygrep-pythonpath.patch
new file mode 100644
index 000000000000..722b436169be
--- /dev/null
+++ b/pkgs/tools/misc/pre-commit/pygrep-pythonpath.patch
@@ -0,0 +1,13 @@
+diff --git a/pre_commit/languages/pygrep.py b/pre_commit/languages/pygrep.py
+index ec55560..44e08a1 100644
+--- a/pre_commit/languages/pygrep.py
++++ b/pre_commit/languages/pygrep.py
+@@ -98,7 +98,7 @@ def run_hook(
+         color: bool,
+ ) -> tuple[int, bytes]:
+     cmd = (sys.executable, '-m', __name__, *args, entry)
+-    return xargs(cmd, file_args, color=color)
++    return xargs(cmd, file_args, color=color, env={ "PYTHONPATH": ':'.join(sys.path) })
+ 
+ 
+ def main(argv: Sequence[str] | None = None) -> int:
diff --git a/pkgs/tools/misc/steampipe/default.nix b/pkgs/tools/misc/steampipe/default.nix
index ddfc8b7f11f7..9fb79497ed8b 100644
--- a/pkgs/tools/misc/steampipe/default.nix
+++ b/pkgs/tools/misc/steampipe/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "steampipe";
-  version = "0.21.3";
+  version = "0.21.4";
 
   src = fetchFromGitHub {
     owner = "turbot";
     repo = "steampipe";
     rev = "v${version}";
-    hash = "sha256-Qbg6f8fIupAEiiT7gDRQCs3pe1lw+tO5va5PpwgATfk=";
+    hash = "sha256-cO6LlcCUn+Fovuqh82Ttymf8kFyBMCHOZrcZWvtBsKo=";
   };
 
   vendorHash = "sha256-XwFBXQw6OfxIQWYidTj+TLn0TrVTrfVry6MgiQWIoV4=";
diff --git a/pkgs/tools/misc/tbls/default.nix b/pkgs/tools/misc/tbls/default.nix
index 7f15497c5c7d..7d0921abb8d0 100644
--- a/pkgs/tools/misc/tbls/default.nix
+++ b/pkgs/tools/misc/tbls/default.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "tbls";
-  version = "1.72.2";
+  version = "1.73.2";
 
   src = fetchFromGitHub {
     owner = "k1LoW";
     repo = "tbls";
     rev = "v${version}";
-    hash = "sha256-FaxDxiZFVG3067yJLG/yM7kr4/jIthePxuGs3fnGlmw=";
+    hash = "sha256-UXvUewArdClOolWFgN4Ta11vzq9C9zBjEzVGTtWSjiA=";
   };
 
-  vendorHash = "sha256-/ndTY5baStRfW7asRvM7EpgqE5xdXEa5+v6o1fpHE9M=";
+  vendorHash = "sha256-zNQADZkAaohTZReD8qTnNJsfy58NXdQjUdd5j8KcOyY=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/turbo/default.nix b/pkgs/tools/misc/turbo/default.nix
index f1216c1fa190..904e89da76ce 100644
--- a/pkgs/tools/misc/turbo/default.nix
+++ b/pkgs/tools/misc/turbo/default.nix
@@ -4,6 +4,7 @@
 , buildGo120Module
 , git
 , nodejs
+, capnproto
 , protobuf
 , protoc-gen-go
 , protoc-gen-go-grpc
@@ -25,12 +26,12 @@
 , CoreFoundation
 }:
 let
-  version = "1.10.16";
+  version = "1.11.3";
   src = fetchFromGitHub {
     owner = "vercel";
     repo = "turbo";
     rev = "v${version}";
-    sha256 = "sha256-7bEHE/bHRVOXMP7+oo+4k8yn6d+LkXBi8JcDeR0ajww";
+    hash = "sha256-hjJXbGct9ZmriKdVjB7gwfmFsV1Tv57V7DfUMFZ8Xv0=";
   };
 
   ffi = rustPlatform.buildRustPackage {
@@ -38,7 +39,7 @@ let
     inherit src version;
     cargoBuildFlags = [ "--package" "turborepo-ffi" ];
 
-    cargoHash = "sha256-Mj46yNOYTqt732d7SJ3sAeXbgDkoh7o7S23lKVgpvKY=";
+    cargoHash = "sha256-3eN8/nBARuaezlzPjAL0YPEPvNqm6jNQAREth8PgcSQ=";
 
     RUSTC_BOOTSTRAP = 1;
     nativeBuildInputs = [
@@ -64,7 +65,8 @@ let
     pname = "go-turbo";
     modRoot = "cli";
 
-    vendorHash = "sha256-8quDuT8VwT3B56jykkbX8ov+DNFZwxPf31+NLdfX1p0=";
+    proxyVendor = true;
+    vendorHash = "sha256-JHTg9Gcc0DVdltTGCUaOPSVxL0XVkwPJQm/LoKffU/o=";
 
     nativeBuildInputs = [
       git
@@ -110,22 +112,6 @@ let
       # expected: env.DetailedMap{All:env.EnvironmentVariableMap(nil), BySource:env.BySource{Explicit:env.EnvironmentVariableMap{}, Matching:env.EnvironmentVariableMap{}}}
       #  actual  : env.DetailedMap{All:env.EnvironmentVariableMap{}, BySource:env.BySource{Explicit:env.EnvironmentVariableMap{}, Matching:env.EnvironmentVariableMap{}}}
       rm ./internal/run/global_hash_test.go
-    '' + lib.optionalString stdenv.isLinux ''
-      #  filewatcher_test.go:122: got event {/build/TestFileWatching1921149570/001/test-1689172679812 1}
-      # filewatcher_test.go:122: got event {/build/TestFileWatching1921149570/001/parent/test-1689172679812 1}
-      # filewatcher_test.go:122: got event {/build/TestFileWatching1921149570/001/parent/child/test-1689172679812 1}
-      # filewatcher_test.go:122: got event {/build/TestFileWatching1921149570/001/parent/sibling/test-1689172679812 1}
-      # filewatcher_test.go:127: got event {/build/TestFileWatching1921149570/001/parent/child/foo 1}
-      # filewatcher_test.go:137: got event {/build/TestFileWatching1921149570/001/parent/sibling/deep 1}
-      # filewatcher_test.go:141: got event {/build/TestFileWatching1921149570/001/parent/sibling/deep/path 1}
-      # filewatcher_test.go:146: got event {/build/TestFileWatching1921149570/001/parent/sibling/deep 1}
-      # filewatcher_test.go:146: Timed out waiting for filesystem event at /build/TestFileWatching1921149570/001/test-1689172679812
-      # filewatcher_test.go:146: Timed out waiting for filesystem event at /build/TestFileWatching1921149570/001/parent/test-1689172679812
-      # filewatcher_test.go:146: Timed out waiting for filesystem event at /build/TestFileWatching1921149570/001/parent/child/test-1689172679812
-      # filewatcher_test.go:146: Timed out waiting for filesystem event at /build/TestFileWatching1921149570/001/parent/sibling/test-1689172679812
-      # filewatcher_test.go:146: got event {/build/TestFileWatching1921149570/001/parent/sibling/deep/path/test-1689172679812 1}
-      # filewatcher_test.go:146: got event {/build/TestFileWatching1921149570/001/parent/sibling/deep/test-1689172679812 1}
-      rm ./internal/filewatcher/filewatcher_test.go
     '';
 
   };
@@ -139,13 +125,14 @@ rustPlatform.buildRustPackage {
   ];
   RELEASE_TURBO_CLI = "true";
 
-  cargoHash = "sha256-F+mEDkP7GismosXj+ICJCE4SHhCpWK7FiSyqjJM6LJ4=";
+  cargoHash = "sha256-bAXO4Lqv4ibo+fz3679MjNgP2MMY8TbxhG0+DRy0xcA=";
 
   RUSTC_BOOTSTRAP = 1;
   nativeBuildInputs = [
     pkg-config
     extra-cmake-modules
     protobuf
+    capnproto
   ];
   buildInputs = [
     openssl
diff --git a/pkgs/tools/misc/twm/default.nix b/pkgs/tools/misc/twm/default.nix
index c750619f8fbd..3e15aa256418 100644
--- a/pkgs/tools/misc/twm/default.nix
+++ b/pkgs/tools/misc/twm/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "twm";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "vinnymeller";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-r9l5gNWoIkKHzjHOCK7qnPLfg6O+km7OX+6pHQKhN6g=";
+    sha256 = "sha256-gvo5+lZNe5QOHNI4nrPbCR65D+VFf/anmLVdu5RXJiY=";
   };
 
-  cargoHash = "sha256-0nCMgfnEqr0D3HpocUN/Hc9tG9byu2CYvBy/8vIU+bI=";
+  cargoHash = "sha256-5+1B+SbrIrswGjtNLlwbtLEhARMZNs75DFK8wQI2O0M=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
diff --git a/pkgs/tools/misc/vtm/default.nix b/pkgs/tools/misc/vtm/default.nix
index 9893f3a482b6..7a5bdf2bdb4e 100644
--- a/pkgs/tools/misc/vtm/default.nix
+++ b/pkgs/tools/misc/vtm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "vtm";
-  version = "0.9.44";
+  version = "0.9.57";
 
   src = fetchFromGitHub {
     owner = "netxs-group";
     repo = "vtm";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-FWWQzlJ8Uic2ry16UvwDn40JwtXs+4DTFogq++taSY4=";
+    hash = "sha256-QdlEi8L9WwzPJK4mE+5Z7BDYKsT4QMtAjaui0LWH4q4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/wakapi/default.nix b/pkgs/tools/misc/wakapi/default.nix
index 3fe5e09b632a..2488335fb56c 100644
--- a/pkgs/tools/misc/wakapi/default.nix
+++ b/pkgs/tools/misc/wakapi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "wakapi";
-  version = "2.10.3";
+  version = "2.10.4";
 
   src = fetchFromGitHub {
     owner = "muety";
     repo = pname;
     rev = version;
-    sha256 = "sha256-laJdH2C+lyvM82/r3jgV2CI0xJV39Y04tP1/YCXsGzo=";
+    sha256 = "sha256-xUFYwV9fuTMDEqp4FEyPRDQCB6I/3sqcmEX8pm6BDfw=";
   };
 
-  vendorHash = "sha256-/zDlKW00XCI+TyI4RlCIcehQwkken1+SBpieZhfhpwc=";
+  vendorHash = "sha256-TeKVhG1V9inyDWfILwtpU9QknJ9bt3Dja5GVHrK9PkA=";
 
   # Not a go module required by the project, contains development utilities
   excludedPackages = [ "scripts" ];
diff --git a/pkgs/tools/misc/wasm-tools/default.nix b/pkgs/tools/misc/wasm-tools/default.nix
index e192b4a229de..1906fb318efe 100644
--- a/pkgs/tools/misc/wasm-tools/default.nix
+++ b/pkgs/tools/misc/wasm-tools/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-tools";
-  version = "1.0.55";
+  version = "1.0.57";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
     rev = "${pname}-${version}";
-    hash = "sha256-9HcHM5ao0lSGctvjYQZNb5wlNsYPTD3NtPDZA/kHJdY=";
+    hash = "sha256-3syV4zPoSJtMiogmRu90pYTwNw2T/dRKFWczYI2J1r0=";
     fetchSubmodules = true;
   };
 
   # Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
   auditable = false;
-  cargoHash = "sha256-fU9tpN+tVlwbTNWinylcRACSLhDD/uPPGW6GNWm/tvo=";
+  cargoHash = "sha256-w1BVh7/L4+CXTgjkQKzbzgqw3XE49hYrkWtaNmcfDi4=";
   cargoBuildFlags = [ "--package" "wasm-tools" ];
   cargoTestFlags = [ "--all" ];
 
diff --git a/pkgs/tools/misc/xcp/default.nix b/pkgs/tools/misc/xcp/default.nix
index 106546b656e6..b1c11c4465e9 100644
--- a/pkgs/tools/misc/xcp/default.nix
+++ b/pkgs/tools/misc/xcp/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xcp";
-  version = "0.16.0";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "tarka";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JntFXpB72vZJHkyawFruLhz9rnR1fp+hoXEljzeV0Xo=";
+    sha256 = "sha256-uZnKrWD3a3TpdKplLxzCKacfpuoo3vrCZmFsePIxR18=";
   };
 
   # no such file or directory errors
   doCheck = false;
 
-  cargoHash = "sha256-IUJbatLE97qtUnm/Ho6SS+yL7LRd7oEGiSsZF36Qe5I=";
+  cargoHash = "sha256-QaLNc05fI6V/5hbSfOL+uKnjkyxDclAmULx45z9gigs=";
 
   meta = with lib; {
     description = "An extended cp(1)";
diff --git a/pkgs/tools/misc/ytcast/default.nix b/pkgs/tools/misc/ytcast/default.nix
index 86a84e6c8d90..798508f2451e 100644
--- a/pkgs/tools/misc/ytcast/default.nix
+++ b/pkgs/tools/misc/ytcast/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ytcast";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "MarcoLucidi01";
     repo = "ytcast";
     rev = "v${version}";
-    sha256 = "0f45ai1s4njhcvbv088yn10i3vdvlm6wlfi0ijq5gak1dg02klma";
+    sha256 = "sha256-iy9+MgXwP4ALz4NHJyn2ghC5boR53H3ioB2+7tcJunE=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/misc/yubico-piv-tool/default.nix b/pkgs/tools/misc/yubico-piv-tool/default.nix
index 26288e760ee6..002dbed4fcd6 100644
--- a/pkgs/tools/misc/yubico-piv-tool/default.nix
+++ b/pkgs/tools/misc/yubico-piv-tool/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "yubico-piv-tool";
-  version = "2.4.2";
+  version = "2.5.0";
 
   outputs = [ "out" "dev" "man" ];
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "Yubico";
     repo = "yubico-piv-tool";
     rev = "refs/tags/yubico-piv-tool-${finalAttrs.version}";
-    hash = "sha256-viTPLg5vakDQEs8ggQro10nNMbQC4CSKEE34d/Ba/V8=";
+    hash = "sha256-KSM/p6PMzgpVtXIR9GjGiP/UqXhbc1xSQ71elbE4JQE=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/yubikey-manager/default.nix b/pkgs/tools/misc/yubikey-manager/default.nix
index fd95f6541981..eb25d052e908 100644
--- a/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/pkgs/tools/misc/yubikey-manager/default.nix
@@ -8,14 +8,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "yubikey-manager";
-  version = "5.2.1";
-  format = "pyproject";
+  version = "5.3.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Yubico";
     repo = "yubikey-manager";
     rev = version;
-    hash = "sha256-CUe/oB/+Hq9evnLwl8r0k5ObhI3vDt7oX79+20yMfjY=";
+    hash = "sha256-c5edonnvvGIZ6SJ6+gd2xcAy0/HiAEUEPMGQzOKK2Sw=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/networking/bandwhich/Cargo.lock b/pkgs/tools/networking/bandwhich/Cargo.lock
index f0388a58d2bb..2742af2bd33c 100644
--- a/pkgs/tools/networking/bandwhich/Cargo.lock
+++ b/pkgs/tools/networking/bandwhich/Cargo.lock
@@ -29,6 +29,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "ahash"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
 name = "aho-corasick"
 version = "1.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -38,6 +50,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
 name = "android-tzdata"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -54,9 +72,9 @@ dependencies = [
 
 [[package]]
 name = "anstream"
-version = "0.6.4"
+version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
+checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
 dependencies = [
  "anstyle",
  "anstyle-parse",
@@ -74,50 +92,50 @@ checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
 
 [[package]]
 name = "anstyle-parse"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
+checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
 dependencies = [
  "utf8parse",
 ]
 
 [[package]]
 name = "anstyle-query"
-version = "1.0.0"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anstyle-wincon"
-version = "3.0.1"
+version = "3.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
+checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
 dependencies = [
  "anstyle",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
 name = "anyhow"
-version = "1.0.75"
+version = "1.0.79"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
 dependencies = [
  "backtrace",
 ]
 
 [[package]]
 name = "async-trait"
-version = "0.1.74"
+version = "0.1.77"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
+checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -143,20 +161,24 @@ dependencies = [
 
 [[package]]
 name = "bandwhich"
-version = "0.21.1"
+version = "0.22.2"
 dependencies = [
  "anyhow",
  "async-trait",
  "chrono",
  "clap",
  "clap-verbosity-flag",
+ "clap_complete",
+ "clap_mangen",
  "crossterm",
  "derivative",
  "http_req",
  "insta",
  "ipnetwork",
+ "itertools",
  "log",
  "netstat2",
+ "once_cell",
  "packet-builder",
  "pnet",
  "pnet_base",
@@ -167,6 +189,7 @@ dependencies = [
  "resolv-conf",
  "rstest",
  "simplelog",
+ "strum",
  "sysinfo",
  "thiserror",
  "tokio",
@@ -189,9 +212,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.1"
+version = "2.4.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 
 [[package]]
 name = "block-buffer"
@@ -265,16 +288,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.31"
+version = "0.4.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb"
 dependencies = [
  "android-tzdata",
  "iana-time-zone",
  "js-sys",
  "num-traits",
  "wasm-bindgen",
- "windows-targets 0.48.5",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -289,9 +312,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.4.6"
+version = "4.4.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956"
+checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -299,9 +322,9 @@ dependencies = [
 
 [[package]]
 name = "clap-verbosity-flag"
-version = "2.0.1"
+version = "2.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1eef05769009513df2eb1c3b4613e7fad873a14c600ff025b08f250f59fee7de"
+checksum = "b57f73ca21b17a0352944b9bb61803b6007bd911b6cccfef7153f7f0600ac495"
 dependencies = [
  "clap",
  "log",
@@ -309,9 +332,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.4.6"
+version = "4.4.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45"
+checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7"
 dependencies = [
  "anstream",
  "anstyle",
@@ -320,22 +343,41 @@ dependencies = [
 ]
 
 [[package]]
+name = "clap_complete"
+version = "4.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df631ae429f6613fcd3a7c1adbdb65f637271e561b03680adaa6573015dfb106"
+dependencies = [
+ "clap",
+]
+
+[[package]]
 name = "clap_derive"
-version = "4.4.2"
+version = "4.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873"
+checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442"
 dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "clap_lex"
-version = "0.5.1"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
+
+[[package]]
+name = "clap_mangen"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a7c2b01e5e779c19f46a94bbd398f33ae63b0f78c07108351fb4536845bb7fd"
+dependencies = [
+ "clap",
+ "roff",
+]
 
 [[package]]
 name = "colorchoice"
@@ -345,14 +387,14 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
 
 [[package]]
 name = "console"
-version = "0.15.7"
+version = "0.15.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8"
+checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
 dependencies = [
  "encode_unicode",
  "lazy_static",
  "libc",
- "windows-sys 0.45.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -363,9 +405,9 @@ checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
 
 [[package]]
 name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
 dependencies = [
  "core-foundation-sys",
  "libc",
@@ -373,15 +415,15 @@ dependencies = [
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
 dependencies = [
  "libc",
 ]
@@ -397,36 +439,28 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
 dependencies = [
- "cfg-if",
  "crossbeam-epoch",
  "crossbeam-utils",
 ]
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
 dependencies = [
- "autocfg",
- "cfg-if",
  "crossbeam-utils",
- "memoffset",
- "scopeguard",
 ]
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
 
 [[package]]
 name = "crossterm"
@@ -434,7 +468,7 @@ version = "0.27.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "crossterm_winapi",
  "libc",
  "mio",
@@ -465,15 +499,15 @@ dependencies = [
 
 [[package]]
 name = "data-encoding"
-version = "2.4.0"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
 
 [[package]]
 name = "deranged"
-version = "0.3.9"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
 dependencies = [
  "powerfmt",
 ]
@@ -532,17 +566,17 @@ dependencies = [
  "heck",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "errno"
-version = "0.3.5"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
 dependencies = [
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -578,18 +612,18 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 dependencies = [
  "percent-encoding",
 ]
 
 [[package]]
 name = "futures"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -602,9 +636,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -612,15 +646,15 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -629,32 +663,32 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
 
 [[package]]
 name = "futures-macro"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "futures-sink"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
 
 [[package]]
 name = "futures-task"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
 
 [[package]]
 name = "futures-timer"
@@ -664,9 +698,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -692,9 +726,9 @@ dependencies = [
 
 [[package]]
 name = "getrandom"
-version = "0.2.10"
+version = "0.2.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
 dependencies = [
  "cfg-if",
  "libc",
@@ -703,9 +737,9 @@ dependencies = [
 
 [[package]]
 name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "glob"
@@ -714,6 +748,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
+name = "hashbrown"
+version = "0.14.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+]
+
+[[package]]
 name = "heck"
 version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -721,9 +765,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f"
 
 [[package]]
 name = "hex"
@@ -753,9 +797,9 @@ dependencies = [
 
 [[package]]
 name = "http_req"
-version = "0.10.0"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "158d4edacc70c9bdb0464314063b8d9d60fa776442dc13b00a13581b88b0a0a0"
+checksum = "90394b01e9de1f7eca6ca0664cc64bd92add9603c1aa4f961813f23789035e10"
 dependencies = [
  "native-tls",
  "unicase",
@@ -763,16 +807,16 @@ dependencies = [
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.57"
+version = "0.1.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
  "iana-time-zone-haiku",
  "js-sys",
  "wasm-bindgen",
- "windows",
+ "windows-core",
 ]
 
 [[package]]
@@ -795,6 +839,16 @@ dependencies = [
 ]
 
 [[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
 name = "indoc"
 version = "2.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -823,17 +877,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "io-lifetimes"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
-dependencies = [
- "hermit-abi",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
 name = "ipconfig"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -847,9 +890,9 @@ dependencies = [
 
 [[package]]
 name = "ipnet"
-version = "2.8.0"
+version = "2.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
+checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
 
 [[package]]
 name = "ipnetwork"
@@ -862,18 +905,18 @@ dependencies = [
 
 [[package]]
 name = "itertools"
-version = "0.11.0"
+version = "0.12.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
 dependencies = [
  "either",
 ]
 
 [[package]]
 name = "itoa"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
 
 [[package]]
 name = "jobserver"
@@ -886,9 +929,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.64"
+version = "0.3.67"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -901,9 +944,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.149"
+version = "0.2.152"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
 
 [[package]]
 name = "linked-hash-map"
@@ -913,21 +956,15 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.1.4"
+version = "0.4.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
 
 [[package]]
 name = "lock_api"
-version = "0.4.10"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -940,6 +977,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
+name = "lru"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2994eeba8ed550fd9b47a0b38f0242bc3344e496483c6180b69139cc2fa5d1d7"
+dependencies = [
+ "hashbrown",
+]
+
+[[package]]
 name = "lru-cache"
 version = "0.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -956,18 +1002,9 @@ checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
 
 [[package]]
 name = "memchr"
-version = "2.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
-
-[[package]]
-name = "memoffset"
-version = "0.9.0"
+version = "2.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
-dependencies = [
- "autocfg",
-]
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
 
 [[package]]
 name = "miniz_oxide"
@@ -980,9 +1017,9 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.8"
+version = "0.8.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
 dependencies = [
  "libc",
  "log",
@@ -1078,26 +1115,26 @@ dependencies = [
 
 [[package]]
 name = "object"
-version = "0.32.1"
+version = "0.32.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
 dependencies = [
  "memchr",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.18.0"
+version = "1.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 
 [[package]]
 name = "openssl"
-version = "0.10.57"
+version = "0.10.63"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c"
+checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "cfg-if",
  "foreign-types",
  "libc",
@@ -1114,7 +1151,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1125,9 +1162,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.93"
+version = "0.9.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d"
+checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
 dependencies = [
  "cc",
  "libc",
@@ -1158,9 +1195,9 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.8"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
 dependencies = [
  "cfg-if",
  "libc",
@@ -1200,9 +1237,9 @@ dependencies = [
 
 [[package]]
 name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
 
 [[package]]
 name = "pin-project-lite"
@@ -1218,9 +1255,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.27"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
 
 [[package]]
 name = "pnet"
@@ -1267,7 +1304,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "regex",
- "syn 2.0.38",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1327,26 +1364,37 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.78"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "procfs"
-version = "0.15.1"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "943ca7f9f29bab5844ecd8fdb3992c5969b6622bb9609b9502fef9b4310e3f1f"
+checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4"
 dependencies = [
- "bitflags 1.3.2",
- "byteorder",
+ "bitflags 2.4.2",
  "chrono",
  "flate2",
  "hex",
  "lazy_static",
- "rustix 0.36.16",
+ "procfs-core",
+ "rustix",
+]
+
+[[package]]
+name = "procfs-core"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29"
+dependencies = [
+ "bitflags 2.4.2",
+ "chrono",
+ "hex",
 ]
 
 [[package]]
@@ -1357,9 +1405,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
 
 [[package]]
 name = "quote"
-version = "1.0.33"
+version = "1.0.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
 dependencies = [
  "proc-macro2",
 ]
@@ -1396,16 +1444,18 @@ dependencies = [
 
 [[package]]
 name = "ratatui"
-version = "0.23.0"
+version = "0.25.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e2e4cd95294a85c3b4446e63ef054eea43e0205b1fd60120c16b74ff7ff96ad"
+checksum = "a5659e52e4ba6e07b2dad9f1158f578ef84a73762625ddb51536019f34d180eb"
 dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
  "cassowary",
  "crossterm",
  "indoc",
  "itertools",
+ "lru",
  "paste",
+ "stability",
  "strum",
  "unicode-segmentation",
  "unicode-width",
@@ -1413,9 +1463,9 @@ dependencies = [
 
 [[package]]
 name = "rayon"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
 dependencies = [
  "either",
  "rayon-core",
@@ -1423,9 +1473,9 @@ dependencies = [
 
 [[package]]
 name = "rayon-core"
-version = "1.12.0"
+version = "1.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
 dependencies = [
  "crossbeam-deque",
  "crossbeam-utils",
@@ -1433,18 +1483,18 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.3.5"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
 dependencies = [
  "bitflags 1.3.2",
 ]
 
 [[package]]
 name = "regex"
-version = "1.10.1"
+version = "1.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aaac441002f822bc9705a681810a4dd2963094b9ca0ddc41cb963a4c189189ea"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1454,9 +1504,9 @@ dependencies = [
 
 [[package]]
 name = "regex-automata"
-version = "0.4.2"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5011c7e263a695dc8ca064cddb722af1be54e517a280b12a5356f98366899e5d"
+checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1471,9 +1521,9 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "relative-path"
-version = "1.9.0"
+version = "1.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c707298afce11da2efef2f600116fa93ffa7a032b5d7b628aa17711ec81383ca"
+checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc"
 
 [[package]]
 name = "resolv-conf"
@@ -1486,6 +1536,12 @@ dependencies = [
 ]
 
 [[package]]
+name = "roff"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
+
+[[package]]
 name = "rstest"
 version = "0.18.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1510,7 +1566,7 @@ dependencies = [
  "regex",
  "relative-path",
  "rustc_version",
- "syn 2.0.38",
+ "syn 2.0.48",
  "unicode-ident",
 ]
 
@@ -1531,29 +1587,15 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.36.16"
+version = "0.38.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6da3636faa25820d8648e0e31c5d519bbb01f72fdf57131f0f5f7da5fed36eab"
+checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
 dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
  "errno",
- "io-lifetimes",
  "libc",
- "linux-raw-sys 0.1.4",
- "windows-sys 0.45.0",
-]
-
-[[package]]
-name = "rustix"
-version = "0.38.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed"
-dependencies = [
- "bitflags 2.4.1",
- "errno",
- "libc",
- "linux-raw-sys 0.4.10",
- "windows-sys 0.48.0",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1564,11 +1606,11 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "schannel"
-version = "0.1.22"
+version = "0.1.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1602,28 +1644,28 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "1.0.20"
+version = "1.0.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
 
 [[package]]
 name = "serde"
-version = "1.0.189"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537"
+checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.189"
+version = "1.0.196"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5"
+checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1680,9 +1722,9 @@ dependencies = [
 
 [[package]]
 name = "similar"
-version = "2.3.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597"
+checksum = "32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21"
 
 [[package]]
 name = "simplelog"
@@ -1706,21 +1748,31 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.11.1"
+version = "1.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
 
 [[package]]
 name = "socket2"
-version = "0.5.4"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
 dependencies = [
  "libc",
  "windows-sys 0.48.0",
 ]
 
 [[package]]
+name = "stability"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebd1b177894da2a2d9120208c3386066af06a488255caabc5de8ddca22dbc3ce"
+dependencies = [
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
 name = "strsim"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1745,7 +1797,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "rustversion",
- "syn 2.0.38",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1767,9 +1819,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.38"
+version = "2.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1778,9 +1830,9 @@ dependencies = [
 
 [[package]]
 name = "sysinfo"
-version = "0.29.10"
+version = "0.30.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a18d114d420ada3a891e6bc8e96a2023402203296a47cdd65083377dad18ba5"
+checksum = "1fb4f3438c8f6389c864e61221cbc97e9bca98b4daf39a5beb7bea660f528bb2"
 dependencies = [
  "cfg-if",
  "core-foundation-sys",
@@ -1788,20 +1840,20 @@ dependencies = [
  "ntapi",
  "once_cell",
  "rayon",
- "winapi",
+ "windows",
 ]
 
 [[package]]
 name = "tempfile"
-version = "3.8.0"
+version = "3.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
 dependencies = [
  "cfg-if",
  "fastrand",
  "redox_syscall",
- "rustix 0.38.19",
- "windows-sys 0.48.0",
+ "rustix",
+ "windows-sys 0.52.0",
 ]
 
 [[package]]
@@ -1815,29 +1867,29 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.49"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.49"
+version = "1.0.56"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.48",
 ]
 
 [[package]]
 name = "time"
-version = "0.3.30"
+version = "0.3.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5"
+checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
 dependencies = [
  "deranged",
  "itoa",
@@ -1857,9 +1909,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
+checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f"
 dependencies = [
  "time-core",
 ]
@@ -1881,9 +1933,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.33.0"
+version = "1.35.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653"
+checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
 dependencies = [
  "backtrace",
  "bytes",
@@ -1897,9 +1949,9 @@ dependencies = [
 
 [[package]]
 name = "tracing"
-version = "0.1.39"
+version = "0.1.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee2ef2af84856a50c1d430afce2fdded0a4ec7eda868db86409b4543df0797f9"
+checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
 dependencies = [
  "pin-project-lite",
  "tracing-attributes",
@@ -1914,7 +1966,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.48",
 ]
 
 [[package]]
@@ -1928,9 +1980,9 @@ dependencies = [
 
 [[package]]
 name = "trust-dns-proto"
-version = "0.23.1"
+version = "0.23.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "559ac980345f7f5020883dd3bcacf176355225e01916f8c2efecad7534f682c6"
+checksum = "3119112651c157f4488931a01e586aa459736e9d6046d3bd9105ffb69352d374"
 dependencies = [
  "async-trait",
  "cfg-if",
@@ -1939,7 +1991,7 @@ dependencies = [
  "futures-channel",
  "futures-io",
  "futures-util",
- "idna",
+ "idna 0.4.0",
  "ipnet",
  "once_cell",
  "rand",
@@ -1953,9 +2005,9 @@ dependencies = [
 
 [[package]]
 name = "trust-dns-resolver"
-version = "0.23.1"
+version = "0.23.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c723b0e608b24ad04c73b2607e0241b2c98fd79795a95e98b068b6966138a29d"
+checksum = "10a3e6c3aff1718b3c73e395d1f35202ba2ffa847c6a62eea0db8fb4cfe30be6"
 dependencies = [
  "cfg-if",
  "futures-util",
@@ -1989,9 +2041,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 
 [[package]]
 name = "unicode-ident"
@@ -2022,12 +2074,12 @@ checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 
 [[package]]
 name = "url"
-version = "2.4.1"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 dependencies = [
  "form_urlencoded",
- "idna",
+ "idna 0.5.0",
  "percent-encoding",
 ]
 
@@ -2057,9 +2109,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -2067,24 +2119,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.48",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -2092,22 +2144,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.38",
+ "syn 2.0.48",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.90"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
 
 [[package]]
 name = "widestring"
@@ -2148,20 +2200,21 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows"
-version = "0.48.0"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
 dependencies = [
- "windows-targets 0.48.5",
+ "windows-core",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
-name = "windows-sys"
-version = "0.45.0"
+name = "windows-core"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
 dependencies = [
- "windows-targets 0.42.2",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -2174,18 +2227,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "windows-targets"
-version = "0.42.2"
+name = "windows-sys"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
+ "windows-targets 0.52.0",
 ]
 
 [[package]]
@@ -2204,10 +2251,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.42.2"
+name = "windows-targets"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
+]
 
 [[package]]
 name = "windows_aarch64_gnullvm"
@@ -2216,10 +2272,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
-name = "windows_aarch64_msvc"
-version = "0.42.2"
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
 
 [[package]]
 name = "windows_aarch64_msvc"
@@ -2228,10 +2284,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
-name = "windows_i686_gnu"
-version = "0.42.2"
+name = "windows_aarch64_msvc"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
 
 [[package]]
 name = "windows_i686_gnu"
@@ -2240,10 +2296,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
+name = "windows_i686_gnu"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
 
 [[package]]
 name = "windows_i686_msvc"
@@ -2252,10 +2308,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
-name = "windows_x86_64_gnu"
-version = "0.42.2"
+name = "windows_i686_msvc"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
 
 [[package]]
 name = "windows_x86_64_gnu"
@@ -2264,10 +2320,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.42.2"
+name = "windows_x86_64_gnu"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
@@ -2276,10 +2332,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
-name = "windows_x86_64_msvc"
-version = "0.42.2"
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
 
 [[package]]
 name = "windows_x86_64_msvc"
@@ -2288,6 +2344,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
 
 [[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
+[[package]]
 name = "winreg"
 version = "0.50.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2307,6 +2369,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "zerocopy"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.48",
+]
+
+[[package]]
 name = "zip"
 version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/pkgs/tools/networking/bandwhich/default.nix b/pkgs/tools/networking/bandwhich/default.nix
index c0fe0fbb8741..240fa3e86f8a 100644
--- a/pkgs/tools/networking/bandwhich/default.nix
+++ b/pkgs/tools/networking/bandwhich/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bandwhich";
-  version = "0.21.1";
+  version = "0.22.2";
 
   src = fetchFromGitHub {
     owner = "imsnif";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-9+7ol2QSIXLkkRt/YlAobZHb3Tm+SmnjW/JufwimMTE=";
+    hash = "sha256-/uG1xjhxnIkS3rq7Tv1q1v8X7p1baDB8OiSEV9OLyfo=";
   };
 
   cargoLock = {
diff --git a/pkgs/tools/networking/dd-agent/datadog-agent.nix b/pkgs/tools/networking/dd-agent/datadog-agent.nix
index ce19268982ac..4116e28858ed 100644
--- a/pkgs/tools/networking/dd-agent/datadog-agent.nix
+++ b/pkgs/tools/networking/dd-agent/datadog-agent.nix
@@ -21,12 +21,12 @@ let
   owner   = "DataDog";
   repo    = "datadog-agent";
   goPackagePath = "github.com/${owner}/${repo}";
-  version = "7.50.1";
+  version = "7.50.3";
 
   src = fetchFromGitHub {
     inherit owner repo;
     rev = version;
-    hash = "sha256-03+ofnS8ecx2SRAWb0KX6TxRd0SDEOCd4+EBVgoMFZk=";
+    hash = "sha256-AN5BruLPyrpIGSUkcYkZC0VgItk9NHiZTXstv6j9TlY=";
   };
   rtloader = stdenv.mkDerivation {
     pname = "datadog-agent-rtloader";
@@ -43,7 +43,7 @@ in buildGoModule rec {
 
   doCheck = false;
 
-  vendorHash = "sha256-X+QLz45kWg12ls1dkGzThbNxPw7WEJ1odRYkuhOyhk8=";
+  vendorHash = "sha256-Rn8EB/6FHQk9COlOaxm4TQXjGCIPZHJV2QQnPDcbRnM=";
 
   subPackages = [
     "cmd/agent"
diff --git a/pkgs/tools/networking/gobgp/default.nix b/pkgs/tools/networking/gobgp/default.nix
index c928df2a4bc9..8304f15ba960 100644
--- a/pkgs/tools/networking/gobgp/default.nix
+++ b/pkgs/tools/networking/gobgp/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gobgp";
-  version = "3.22.0";
+  version = "3.23.0";
 
   src = fetchFromGitHub {
     owner = "osrg";
     repo = "gobgp";
     rev = "v${version}";
-    sha256 = "sha256-ItzoknejTtVjm0FD+UdpCa+cL0i2uvcffTNIWCjBdVU=";
+    sha256 = "sha256-PUwYcwWgaV/DQl565fugppc+I/y7z7Ns3P4SspS88ts=";
   };
 
   vendorHash = "sha256-5eB3vFOo3LCsjMnWYFH0yq5+IunwKXp5C34x6NvpFZ8=";
diff --git a/pkgs/tools/networking/godns/default.nix b/pkgs/tools/networking/godns/default.nix
index ad6652a67081..d02e7527d149 100644
--- a/pkgs/tools/networking/godns/default.nix
+++ b/pkgs/tools/networking/godns/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "godns";
-  version = "3.0.5";
+  version = "3.0.6";
 
   src = fetchFromGitHub {
     owner = "TimothyYe";
     repo = "godns";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pp4dWc9jqBOsriCL0giBJ9S8a6hXRXfLXMBZMX0hCo4=";
+    hash = "sha256-e4d0q4Sw0/Oq5AHw1ikRKakKSVdtf+hTbg7OX/RLT+o=";
   };
 
   vendorHash = "sha256-PVp09gWk35T0gQoYOPzaVFtrqua0a8cNjPOgfYyu7zg=";
diff --git a/pkgs/tools/networking/grpc_cli/default.nix b/pkgs/tools/networking/grpc_cli/default.nix
index 9ef1d801357f..844d315f5eb5 100644
--- a/pkgs/tools/networking/grpc_cli/default.nix
+++ b/pkgs/tools/networking/grpc_cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "grpc_cli";
-  version = "1.60.0";
+  version = "1.61.0";
   src = fetchFromGitHub {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    hash = "sha256-0mn+nQAgaurd1WomzcLUAYwp88l26qGkP+cP1SSYxsE=";
+    hash = "sha256-NLxcGFQ1F5RLoSFC0XYMjvGXkSWc/vLzgtk5qsOndEo=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ automake cmake autoconf ];
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 579124a5c90e..ce275eca6783 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -29,11 +29,11 @@ let
   sslPkg = sslPkgs.${sslLibrary};
 in stdenv.mkDerivation (finalAttrs: {
   pname = "haproxy";
-  version = "2.9.3";
+  version = "2.9.4";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/haproxy-${finalAttrs.version}.tar.gz";
-    hash = "sha256-7VF8ZavYaUVBH2vLGMfsZXpwaTHLeB6igwY7oKdYWMA=";
+    hash = "sha256-nDiSzDwISsTwASXvIqFRzxgUFthKqKN69q9qoDmQlrw=";
   };
 
   buildInputs = [ sslPkg zlib libxcrypt ]
diff --git a/pkgs/tools/networking/hblock/default.nix b/pkgs/tools/networking/hblock/default.nix
index d7931276e444..19e7dde77c85 100644
--- a/pkgs/tools/networking/hblock/default.nix
+++ b/pkgs/tools/networking/hblock/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hblock";
-  version = "3.4.3";
+  version = "3.4.4";
 
   src = fetchFromGitHub {
     owner = "hectorm";
     repo = "hblock";
     rev = "v${version}";
-    hash = "sha256-x9gkPCuGAPMCh9i4gM+9bIY8zVFiWlJ3eTNlhG6zR8Y=";
+    hash = "sha256-cYLpK5zUOzgbcBVrJT/N6Y9kMpg6KD1EthrstoF4sF8=";
   };
 
   buildInputs = [ coreutils curl gnugrep gawk ];
diff --git a/pkgs/tools/networking/hysteria/default.nix b/pkgs/tools/networking/hysteria/default.nix
index 017851c35237..649a5b074a78 100644
--- a/pkgs/tools/networking/hysteria/default.nix
+++ b/pkgs/tools/networking/hysteria/default.nix
@@ -4,16 +4,16 @@
 }:
 buildGoModule rec {
   pname = "hysteria";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
     owner = "apernet";
     repo = pname;
     rev = "app/v${version}";
-    hash = "sha256-xvnshGDQ69yXZ5BnEYAhoJOXG0uZ0lZRnp/rdnmNAkE=";
+    hash = "sha256-A8UTnvH5BYRETsjte65+M+HHO6MrqCiPthNEYwBkBYs=";
   };
 
-  vendorHash = "sha256-zjj5MhCVQbsLwZs7LcGhozXGmfzFrDipNsEswiseMYI=";
+  vendorHash = "sha256-uh/qYQBWsyazSbJIz1ykf5bap18fGSIfjVDL8zus2l0=";
   proxyVendor = true;
 
   ldflags =
diff --git a/pkgs/tools/networking/linux-router/default.nix b/pkgs/tools/networking/linux-router/default.nix
index 65a0531616e0..997546403fd3 100644
--- a/pkgs/tools/networking/linux-router/default.nix
+++ b/pkgs/tools/networking/linux-router/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "linux-router";
-  version = "0.7.1";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "garywill";
     repo = "linux-router";
     rev = "refs/tags/${version}";
-    hash = "sha256-S7oxtd5DMFaChUhemcCOfoD1E0DbZ68r+1eVMq4vqZc=";
+    hash = "sha256-iIHi434S7+Q9S1EU7Bpa7iYB7MJDTuyMdB/bbTrbl5Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix
index dea290a3b49c..a2e53bb79890 100644
--- a/pkgs/tools/networking/minio-client/default.nix
+++ b/pkgs/tools/networking/minio-client/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2024-01-18T07-03-39Z";
+  version = "2024-01-28T16-23-14Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-qmJzyiqiW+gGtdZsGKh6774IVLoFu443xnqwCb61hU0=";
+    sha256 = "sha256-1FV7o4kkFEbcEmkV3Kj37vQ6uKZ/GoSnuCp3NNxMGN8=";
   };
 
-  vendorHash = "sha256-rqlPUU9phbsw9cjGvU86DjA3cWhcoxX3kxQ1buLM+hg=";
+  vendorHash = "sha256-wxFhj+oqj5WV/UkPZlmeJHF2WC4oLlZOql1qgSFs+zU=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/networking/nbd/default.nix b/pkgs/tools/networking/nbd/default.nix
index c7cb5632dfe4..ebef277feb21 100644
--- a/pkgs/tools/networking/nbd/default.nix
+++ b/pkgs/tools/networking/nbd/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , pkg-config
 , glib
 , which
@@ -20,6 +21,15 @@ stdenv.mkDerivation rec {
     hash = "sha256-9cj9D8tXsckmWU0OV/NWQy7ghni+8dQNCI8IMPDL3Qo=";
   };
 
+  patches = [
+    # fix port setting from nbdtab
+    # https://github.com/NetworkBlockDevice/nbd/pull/154
+    (fetchpatch {
+      url = "https://github.com/NetworkBlockDevice/nbd/commit/915444bc0b8a931d32dfb755542f4bd1d37f1449.patch";
+      hash = "sha256-6z+c2cXhY92WPDqRO6AJ5BBf1N38yTgOE1foduIr5Dg=";
+    })
+  ];
+
   nativeBuildInputs = [
     pkg-config
     which
@@ -38,6 +48,9 @@ stdenv.mkDerivation rec {
     "--sysconfdir=/etc"
   ];
 
+  # ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=implicit-function-declaration";
+
   doCheck = !stdenv.isDarwin;
 
   passthru.tests = {
diff --git a/pkgs/tools/networking/netbird/default.nix b/pkgs/tools/networking/netbird/default.nix
index 7555885ffcab..b4f37a7d3be4 100644
--- a/pkgs/tools/networking/netbird/default.nix
+++ b/pkgs/tools/networking/netbird/default.nix
@@ -31,16 +31,16 @@ let
 in
 buildGoModule rec {
   pname = "netbird";
-  version = "0.25.4";
+  version = "0.25.5";
 
   src = fetchFromGitHub {
     owner = "netbirdio";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-M6n7uD1HPG0RA8PqNc7misIM9+w3uoJDjRhRcBQZKZM=";
+    hash = "sha256-b+zwDKuB6RRWCZTIjFIW9KA9N7KJhX7gdFJvDk0RtGc=";
   };
 
-  vendorHash = "sha256-HPP1XOOX0YShrsMFwmfJ1CZq9wHjqYSFK+a+b7FEFdc=";
+  vendorHash = "sha256-vdGF7mIpE1PgCRsRCWE7cziKp9ZaIcxYUU6FREsFb70=";
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optional ui pkg-config;
 
@@ -111,5 +111,6 @@ buildGoModule rec {
     description = "Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls";
     license = licenses.bsd3;
     maintainers = with maintainers; [ misuzu ];
+    mainProgram = "netbird";
   };
 }
diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix
index 2edba9a26eb6..e9572bf45960 100644
--- a/pkgs/tools/networking/openapi-generator-cli/default.nix
+++ b/pkgs/tools/networking/openapi-generator-cli/default.nix
@@ -1,17 +1,17 @@
 { callPackage, lib, stdenv, fetchurl, jre, makeWrapper }:
 
-let this = stdenv.mkDerivation rec {
+let this = stdenv.mkDerivation (finalAttrs: {
   version = "7.2.0";
   pname = "openapi-generator-cli";
 
-  jarfilename = "${pname}-${version}.jar";
+  jarfilename = "${finalAttrs.pname}-${finalAttrs.version}.jar";
 
   nativeBuildInputs = [
     makeWrapper
   ];
 
   src = fetchurl {
-    url = "mirror://maven/org/openapitools/${pname}/${version}/${jarfilename}";
+    url = "mirror://maven/org/openapitools/${finalAttrs.pname}/${finalAttrs.version}/${finalAttrs.jarfilename}";
     sha256 = "sha256-HPDIDeEsD9yFlCicGeQUtAIQjvELjdC/2hlTFRNBq10=";
   };
 
@@ -20,10 +20,10 @@ let this = stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    install -D "$src" "$out/share/java/${jarfilename}"
+    install -D "$src" "$out/share/java/${finalAttrs.jarfilename}"
 
-    makeWrapper ${jre}/bin/java $out/bin/${pname} \
-      --add-flags "-jar $out/share/java/${jarfilename}"
+    makeWrapper ${jre}/bin/java $out/bin/${finalAttrs.pname} \
+      --add-flags "-jar $out/share/java/${finalAttrs.jarfilename}"
 
     runHook postInstall
   '';
@@ -31,14 +31,15 @@ let this = stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Allows generation of API client libraries (SDK generation), server stubs and documentation automatically given an OpenAPI Spec";
     homepage = "https://github.com/OpenAPITools/openapi-generator";
-    changelog = "https://github.com/OpenAPITools/openapi-generator/releases/tag/v${version}";
+    changelog = "https://github.com/OpenAPITools/openapi-generator/releases/tag/v${finalAttrs.version}";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.asl20;
     maintainers = with maintainers; [ shou ];
+    mainProgram = "openapi-generator-cli";
   };
 
   passthru.tests.example = callPackage ./example.nix {
     openapi-generator-cli = this;
   };
-};
+});
 in this
diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix
index 1a83209aefd4..46fa0be29c70 100644
--- a/pkgs/tools/networking/openvpn/default.nix
+++ b/pkgs/tools/networking/openvpn/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , fetchurl
 , pkg-config
-, iproute2
 , libcap_ng
 , libnl
 , lz4
@@ -18,73 +17,51 @@
 }:
 
 let
-  inherit (lib) versionOlder optional optionals optionalString;
-
-  generic = { version, sha256, extraBuildInputs ? [ ] }:
-    let
-      withIpRoute = stdenv.isLinux && (versionOlder version "2.5.4");
-    in
-    stdenv.mkDerivation
-      rec {
-        pname = "openvpn";
-        inherit version;
+  inherit (lib) optional optionals optionalString;
+in
+stdenv.mkDerivation (finalAttrs: {
+  pname = "openvpn";
+  version = "2.6.8";
 
-        src = fetchurl {
-          url = "https://swupdate.openvpn.net/community/releases/${pname}-${version}.tar.gz";
-          inherit sha256;
-        };
+  src = fetchurl {
+    url = "https://swupdate.openvpn.net/community/releases/openvpn-${finalAttrs.version}.tar.gz";
+    hash = "sha256-Xt4VZcim2IAQD38jUxen7p7qg9UFLbVUfxOp52r3gF0=";
+  };
 
-        nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config ];
 
-        buildInputs = [ lz4 lzo ]
-          ++ optionals stdenv.isLinux [ libcap_ng libnl pam ]
-          ++ optional withIpRoute iproute2
-          ++ optional useSystemd systemd
-          ++ optional pkcs11Support pkcs11helper
-          ++ extraBuildInputs;
+  buildInputs = [ lz4 lzo openssl ]
+    ++ optionals stdenv.isLinux [ libcap_ng libnl pam ]
+    ++ optional useSystemd systemd
+    ++ optional pkcs11Support pkcs11helper;
 
-        configureFlags = optionals withIpRoute [
-          "--enable-iproute2"
-          "IPROUTE=${iproute2}/sbin/ip"
-        ]
-        ++ optional useSystemd "--enable-systemd"
-        ++ optional pkcs11Support "--enable-pkcs11"
-        ++ optional stdenv.isDarwin "--disable-plugin-auth-pam";
+  configureFlags = optional useSystemd "--enable-systemd"
+    ++ optional pkcs11Support "--enable-pkcs11"
+    ++ optional stdenv.isDarwin "--disable-plugin-auth-pam";
 
-        # We used to vendor the update-systemd-resolved script inside libexec,
-        # but a separate package was made, that uses libexec/openvpn. Copy it
-        # into libexec in case any consumers expect it to be there even though
-        # they should use the update-systemd-resolved package instead.
-        postInstall = ''
-          mkdir -p $out/share/doc/openvpn/examples
-          cp -r sample/sample-{config-files,keys,scripts}/ $out/share/doc/openvpn/examples
-        '' + optionalString useSystemd ''
-          install -Dm555 -t $out/libexec ${update-systemd-resolved}/libexec/openvpn/*
-        '';
+  # We used to vendor the update-systemd-resolved script inside libexec,
+  # but a separate package was made, that uses libexec/openvpn. Copy it
+  # into libexec in case any consumers expect it to be there even though
+  # they should use the update-systemd-resolved package instead.
+  postInstall = ''
+    mkdir -p $out/share/doc/openvpn/examples
+    cp -r sample/sample-{config-files,keys,scripts}/ $out/share/doc/openvpn/examples
+  '' + optionalString useSystemd ''
+    install -Dm555 -t $out/libexec ${update-systemd-resolved}/libexec/openvpn/*
+  '';
 
-        enableParallelBuilding = true;
+  enableParallelBuilding = true;
 
-        meta = with lib; {
-          description = "A robust and highly flexible tunneling application";
-          mainProgram = "openvpn";
-          downloadPage = "https://openvpn.net/community-downloads/";
-          homepage = "https://openvpn.net/";
-          license = licenses.gpl2Only;
-          maintainers = with maintainers; [ viric peterhoeg ];
-          platforms = platforms.unix;
-        };
-      };
+  passthru.tests = {
+    inherit (nixosTests) initrd-network-openvpn systemd-initrd-networkd-openvpn;
+  };
 
-in
-{
-  openvpn = (generic {
-    version = "2.6.8";
-    sha256 = "sha256-Xt4VZcim2IAQD38jUxen7p7qg9UFLbVUfxOp52r3gF0=";
-    extraBuildInputs = [ openssl ];
-  }).overrideAttrs
-    (_: {
-      passthru.tests = {
-        inherit (nixosTests) initrd-network-openvpn systemd-initrd-networkd-openvpn;
-      };
-    });
-}
+  meta = with lib; {
+    description = "A robust and highly flexible tunneling application";
+    downloadPage = "https://openvpn.net/community-downloads/";
+    homepage = "https://openvpn.net/";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ viric peterhoeg ];
+    platforms = platforms.unix;
+  };
+})
diff --git a/pkgs/tools/networking/pacparser/default.nix b/pkgs/tools/networking/pacparser/default.nix
index 89fca0a220ba..d4b81928498c 100644
--- a/pkgs/tools/networking/pacparser/default.nix
+++ b/pkgs/tools/networking/pacparser/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pacparser";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "manugarg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-p83aAcZ3fGOrokq4HDgF5/VxMl3Q11voSjdaBUUO4S0=";
+    sha256 = "sha256-qIfzAQ/dJgOZJajNU3XyFudSxu2w4JC0ffHosHXje1o=";
   };
 
   makeFlags = [ "NO_INTERNET=1" ];
diff --git a/pkgs/tools/networking/prettyping/default.nix b/pkgs/tools/networking/prettyping/default.nix
index 16311f5b9961..ac5dd3d1d6ae 100644
--- a/pkgs/tools/networking/prettyping/default.nix
+++ b/pkgs/tools/networking/prettyping/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/denilsonsa/prettyping";
     description = "A wrapper around the standard ping tool with the objective of making the output prettier, more colorful, more compact, and easier to read";
+    mainProgram = "prettyping";
     license = with licenses; [ mit ];
     platforms = platforms.unix;
     maintainers = with maintainers; [ qoelet ];
diff --git a/pkgs/tools/networking/xdp-tools/default.nix b/pkgs/tools/networking/xdp-tools/default.nix
index cf24360b1d7f..f1bcb4dfd115 100644
--- a/pkgs/tools/networking/xdp-tools/default.nix
+++ b/pkgs/tools/networking/xdp-tools/default.nix
@@ -15,13 +15,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "xdp-tools";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "xdp-project";
     repo = "xdp-tools";
     rev = "v${version}";
-    hash = "sha256-5rc3RbAgWVd7Tt16NoHymFME5a9tBCmup+1ZmnMGPhs=";
+    hash = "sha256-kWgjt7mYwHtf8I4sXPzzrQJkWQyC8AC85ulGOWmQNZI=";
   };
 
   outputs = [ "out" "lib" ];
diff --git a/pkgs/tools/networking/xh/default.nix b/pkgs/tools/networking/xh/default.nix
index 63ca778c6db4..a2cbf816fab7 100644
--- a/pkgs/tools/networking/xh/default.nix
+++ b/pkgs/tools/networking/xh/default.nix
@@ -5,29 +5,29 @@
 , pkg-config
 , withNativeTls ? true
 , stdenv
-, Security
+, darwin
 , openssl
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "xh";
-  version = "0.20.1";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "ducaale";
     repo = "xh";
     rev = "v${version}";
-    sha256 = "sha256-e3AGegW0V7JK6iLy0PaMwSeA9+2wSouzX5QIYUg8HCk=";
+    sha256 = "sha256-nsxXNlDycn7W7X+AthYCFQu8i2bEPQv7r2LCbc3gFrE=";
   };
 
-  cargoSha256 = "sha256-JE8SKxc7fKlK637NCZnTKkbF4GNrrvJQ/2kGxK4WXpg=";
+  cargoHash = "sha256-THj8tE12P/K+t/R1xUxo042FIX6JP3riCvm2a8zVEzw=";
 
   buildFeatures = lib.optional withNativeTls "native-tls";
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
 
   buildInputs = lib.optionals withNativeTls
-    (if stdenv.isDarwin then [ Security ] else [ openssl ]);
+    (if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.SystemConfiguration ] else [ openssl ]);
 
   # Get openssl-sys to use pkg-config
   OPENSSL_NO_VENDOR = 1;
diff --git a/pkgs/tools/networking/ytcc/default.nix b/pkgs/tools/networking/ytcc/default.nix
index 4cbcc3d48f2d..d771db21d494 100644
--- a/pkgs/tools/networking/ytcc/default.nix
+++ b/pkgs/tools/networking/ytcc/default.nix
@@ -3,16 +3,21 @@
 python3Packages.buildPythonApplication rec {
   pname = "ytcc";
   version = "2.6.1";
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "woefe";
     repo = "ytcc";
     rev = "v${version}";
-    sha256 = "sha256-pC2uoog+nev/Xa6UbXX4vX00VQQLHtZzbVkxrxO/Pg8=";
+    hash = "sha256-pC2uoog+nev/Xa6UbXX4vX00VQQLHtZzbVkxrxO/Pg8=";
   };
 
-  nativeBuildInputs = [ gettext installShellFiles ];
+  nativeBuildInputs = [
+    gettext
+    installShellFiles
+  ] ++ (with python3Packages; [
+    setuptools
+  ]);
 
   propagatedBuildInputs = with python3Packages; [
     yt-dlp
@@ -20,7 +25,9 @@ python3Packages.buildPythonApplication rec {
     wcwidth
   ];
 
-  nativeCheckInputs = with python3Packages; [ nose pytestCheckHook ];
+  nativeCheckInputs = with python3Packages; [
+    pytestCheckHook
+  ];
 
   # Disable tests that touch network or shell out to commands
   disabledTests = [
diff --git a/pkgs/tools/networking/zrok/default.nix b/pkgs/tools/networking/zrok/default.nix
index 62c20a60d905..1515f357778e 100644
--- a/pkgs/tools/networking/zrok/default.nix
+++ b/pkgs/tools/networking/zrok/default.nix
@@ -14,14 +14,14 @@ let
   }.${system} or throwSystem;
 
   hash = {
-    x86_64-linux = "sha256-YbDeGyJpRq7Gd4ieTiyi310Mzw8lIHDixZ0Cq+ZFTI8=";
-    aarch64-linux = "sha256-rc9fvgGuETPnT0w3eRCOxk8py/4wegK+76+Ob+WuSGg=";
-    armv7l-linux = "sha256-xiGXOxNmpenyoQS4cqYP70veGe9ZixFtQz7Lze1Xs50=";
+    x86_64-linux = "sha256-DrkX9Be8gw9JXyfyxcK2mhGur5jWFv4LjaYRSVh4dSE=";
+    aarch64-linux = "sha256-VVeTVBJyptbR/6JZwZ0V2v4lS3X/ixrcC++aMQBtg2Q=";
+    armv7l-linux = "sha256-m6tALmSCZKLQrSeIpygEQF5nuJBZ8MYmxdbeFH5ydt0=";
   }.${system} or throwSystem;
 in
 stdenv.mkDerivation (finalAttrs: {
   pname = "zrok";
-  version = "0.4.20";
+  version = "0.4.23";
 
   src = fetchzip {
     url = "https://github.com/openziti/zrok/releases/download/v${finalAttrs.version}/zrok_${finalAttrs.version}_${plat}.tar.gz";
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py
index d605dd88b37d..c72a9d53cd18 100644
--- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py
@@ -8,7 +8,7 @@ import xml.sax.saxutils as xml
 from abc import abstractmethod
 from collections.abc import Mapping, Sequence
 from pathlib import Path
-from typing import Any, cast, ClassVar, Generic, get_args, NamedTuple
+from typing import Any, Callable, cast, ClassVar, Generic, get_args, NamedTuple
 
 from markdown_it.token import Token
 
@@ -44,8 +44,40 @@ class BaseConverter(Converter[md.TR], Generic[md.TR]):
     def _postprocess(self, infile: Path, outfile: Path, tokens: Sequence[Token]) -> None:
         pass
 
-    def _parse(self, src: str) -> list[Token]:
+    def _handle_headings(self, tokens: list[Token], *, on_heading: Callable[[Token,str],None]) -> None:
+        # Headings in a globally numbered order
+        # h1 to h6
+        curr_heading_pos: list[int] = []
+        for token in tokens:
+            if token.type == "heading_open":
+                if token.tag not in ["h1", "h2", "h3", "h4", "h5", "h6"]:
+                    raise RuntimeError(f"Got invalid heading tag {token.tag} in line {token.map[0] + 1 if token.map else 'NOT FOUND'}. Only h1 to h6 headings are allowed.")
+
+                idx = int(token.tag[1:]) - 1
+
+                if idx >= len(curr_heading_pos):
+                    # extend the list if necessary
+                    curr_heading_pos.extend([0 for _i in range(idx+1 - len(curr_heading_pos))])
+
+                curr_heading_pos = curr_heading_pos[:idx+1]
+                curr_heading_pos[-1] += 1
+
+
+                ident = ".".join(f"{a}" for a in curr_heading_pos)
+                on_heading(token,ident)
+
+
+
+    def _parse(self, src: str, *, auto_id_prefix: None | str = None) -> list[Token]:
         tokens = super()._parse(src)
+        if auto_id_prefix:
+            def set_token_ident(token: Token, ident: str) -> None:
+                if "id" not in token.attrs:
+                    token.attrs["id"] = f"{auto_id_prefix}-{ident}"
+
+            self._handle_headings(tokens, on_heading=set_token_ident)
+
+
         check_structure(self._current_type[-1], tokens)
         for token in tokens:
             if not is_include(token):
@@ -89,7 +121,12 @@ class BaseConverter(Converter[md.TR], Generic[md.TR]):
             try:
                 self._base_paths.append(path)
                 with open(path, 'r') as f:
-                    tokens = self._parse(f.read())
+                    prefix = None
+                    if "auto-id-prefix" in block_args:
+                        # include the current file number to prevent duplicate ids within include blocks
+                        prefix = f"{block_args.get('auto-id-prefix')}-{lnum}"
+
+                    tokens = self._parse(f.read(), auto_id_prefix=prefix)
                     included.append((tokens, path))
                 self._base_paths.pop()
             except Exception as e:
@@ -554,8 +591,8 @@ class HTMLConverter(BaseConverter[ManualHTMLRenderer]):
             infile.parent, outfile.parent)
         super().convert(infile, outfile)
 
-    def _parse(self, src: str) -> list[Token]:
-        tokens = super()._parse(src)
+    def _parse(self, src: str, *, auto_id_prefix: None | str = None) -> list[Token]:
+        tokens = super()._parse(src,auto_id_prefix=auto_id_prefix)
         for token in tokens:
             if not token.type.startswith('included_') \
                or not (into := token.meta['include-args'].get('into-file')):
diff --git a/pkgs/tools/nix/nixos-render-docs/src/tests/test_auto_id_prefix.py b/pkgs/tools/nix/nixos-render-docs/src/tests/test_auto_id_prefix.py
new file mode 100644
index 000000000000..ab917a106443
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/tests/test_auto_id_prefix.py
@@ -0,0 +1,92 @@
+from pathlib import Path
+
+from markdown_it.token import Token
+from nixos_render_docs.manual import HTMLConverter, HTMLParameters
+from nixos_render_docs.md import Converter
+
+auto_id_prefix="TEST_PREFIX"
+def set_prefix(token: Token, ident: str) -> None:
+    token.attrs["id"] = f"{auto_id_prefix}-{ident}"
+
+
+def test_auto_id_prefix_simple() -> None:
+    md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {})
+
+    src = f"""
+# title
+
+## subtitle
+    """
+    tokens = Converter()._parse(src)
+    md._handle_headings(tokens, on_heading=set_prefix)
+
+    assert [
+        {**token.attrs, "tag": token.tag}
+        for token in tokens
+        if token.type == "heading_open"
+    ] == [
+        {"id": "TEST_PREFIX-1", "tag": "h1"},
+        {"id": "TEST_PREFIX-1.1", "tag": "h2"}
+    ]
+
+
+def test_auto_id_prefix_repeated() -> None:
+    md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {})
+
+    src = f"""
+# title
+
+## subtitle
+
+# title2
+
+## subtitle2
+    """
+    tokens = Converter()._parse(src)
+    md._handle_headings(tokens, on_heading=set_prefix)
+
+    assert [
+        {**token.attrs, "tag": token.tag}
+        for token in tokens
+        if token.type == "heading_open"
+    ] == [
+        {"id": "TEST_PREFIX-1", "tag": "h1"},
+        {"id": "TEST_PREFIX-1.1", "tag": "h2"},
+        {"id": "TEST_PREFIX-2", "tag": "h1"},
+        {"id": "TEST_PREFIX-2.1", "tag": "h2"},
+    ]
+
+def test_auto_id_prefix_maximum_nested() -> None:
+    md = HTMLConverter("1.0.0", HTMLParameters("", [], [], 2, 2, 2, Path("")), {})
+
+    src = f"""
+# h1
+
+## h2
+
+### h3
+
+#### h4
+
+##### h5
+
+###### h6
+
+## h2.2
+    """
+    tokens = Converter()._parse(src)
+    md._handle_headings(tokens, on_heading=set_prefix)
+
+    assert [
+        {**token.attrs, "tag": token.tag}
+        for token in tokens
+        if token.type == "heading_open"
+    ] == [
+        {"id": "TEST_PREFIX-1", "tag": "h1"},
+        {"id": "TEST_PREFIX-1.1", "tag": "h2"},
+        {"id": "TEST_PREFIX-1.1.1", "tag": "h3"},
+        {"id": "TEST_PREFIX-1.1.1.1", "tag": "h4"},
+        {"id": "TEST_PREFIX-1.1.1.1.1", "tag": "h5"},
+        {"id": "TEST_PREFIX-1.1.1.1.1.1", "tag": "h6"},
+        {"id": "TEST_PREFIX-1.2", "tag": "h2"},
+    ]
diff --git a/pkgs/tools/package-management/apt-dater/default.nix b/pkgs/tools/package-management/apt-dater/default.nix
index a15ec7e9c168..ec9c53f7d78c 100644
--- a/pkgs/tools/package-management/apt-dater/default.nix
+++ b/pkgs/tools/package-management/apt-dater/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub
 , autoreconfHook, pkg-config, gettext
-, vim, glib, libxml2, ncurses, popt, screen
+, xxd, glib, libxml2, ncurses, popt, screen
 }:
 
 stdenv.mkDerivation rec {
@@ -15,11 +15,11 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    pkg-config autoreconfHook gettext
+    pkg-config autoreconfHook gettext xxd
   ];
 
   buildInputs = [
-    libxml2 ncurses vim glib popt screen
+    libxml2 ncurses glib popt screen
   ];
 
   configureFlags = [ "--disable-history" ];
diff --git a/pkgs/tools/package-management/apx/default.nix b/pkgs/tools/package-management/apx/default.nix
index d24a5bc07106..26bece879f00 100644
--- a/pkgs/tools/package-management/apx/default.nix
+++ b/pkgs/tools/package-management/apx/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "apx";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "Vanilla-OS";
     repo = "apx";
     rev = "v${version}";
-    hash = "sha256-/RGL2mCfJiJInnt5zgc1xXPqZxXCAcoWIbky99okvL0=";
+    hash = "sha256-OLJrwibw9uX5ty7FRZ0q8zx0i1vQXRKK8reQsJFFxAI=";
   };
 
   vendorHash = null;
@@ -31,8 +31,10 @@ buildGoModule rec {
   '';
 
   postInstall = ''
-    install -m 444 -D config/apx.json -t $out/share/apx/
+    install -Dm444 config/apx.json -t $out/share/apx/
     installManPage man/man1/*
+    install -Dm444 README.md -t $out/share/docs/apx
+    install -Dm444 COPYING.md $out/share/licenses/apx/LICENSE
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/package-management/emplace/default.nix b/pkgs/tools/package-management/emplace/default.nix
index 0a2656e12932..4b440def96c5 100644
--- a/pkgs/tools/package-management/emplace/default.nix
+++ b/pkgs/tools/package-management/emplace/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "emplace";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "tversteeg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5PuSIOXns0FVLgyIw1mk8hZ/tYhikMV860BHTDlji78=";
+    sha256 = "sha256-4huLO2CGKDRjphtAYbcPFLM1bYIppoqZgtxkOoT1JOs=";
   };
 
-  cargoSha256 = "sha256-UbbVjT5JQuVSCgbcelEVaAql4CUnCtO99zHp3Ei31Gs=";
+  cargoHash = "sha256-/q8I1XG96t6296UAvhTOYtWVtJFYX5iIaLya5nfqM/g=";
 
   meta = with lib; {
     description = "Mirror installed software on multiple machines";
diff --git a/pkgs/tools/package-management/home-manager/default.nix b/pkgs/tools/package-management/home-manager/default.nix
index e1c3b781fc85..86b0a9b1e013 100644
--- a/pkgs/tools/package-management/home-manager/default.nix
+++ b/pkgs/tools/package-management/home-manager/default.nix
@@ -16,14 +16,14 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "home-manager";
-  version = "unstable-2024-01-23";
+  version = "unstable-2024-01-28";
 
   src = fetchFromGitHub {
     name = "home-manager-source";
     owner = "nix-community";
     repo = "home-manager";
-    rev = "3df2a80f3f85f91ea06e5e91071fa74ba92e5084";
-    hash = "sha256-J7Bs9LHdZubgNHZ6+eE/7C18lZ1P6S5/zdJSdXFItI4=";
+    rev = "4d54c29bce71f8c261513e0662cc573d30f3e33e";
+    hash = "sha256-yhEYJxMv5BkfmUuNe4QELKo+V5eq1pwhtVs6kEziHfE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix
index 12facbb5fdba..e37393e41b85 100644
--- a/pkgs/tools/package-management/nfpm/default.nix
+++ b/pkgs/tools/package-management/nfpm/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "2.35.2";
+  version = "2.35.3";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ic6SOgIE+g7ccvg163xCwTmz960mWYcxN8ghEdB11To=";
+    hash = "sha256-QoZiI9rMOdQZbMENVcBfUYPAvN9IqfeR0EK11l8+Hzo=";
   };
 
-  vendorHash = "sha256-rIgEctBGff5/pzbPPaDgqZCwmIVDjF98wmLBD17KXTM=";
+  vendorHash = "sha256-WYuhHLq0/OD/JtOEkZsyPEJyjPqEoh9RSfBG0G3E/2w=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index b51a51da84f5..2e150f692ae9 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -24,19 +24,20 @@
 , bash-completion ? null
 , enableSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd
 , systemd
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
   pname = "packagekit";
-  version = "1.2.5.1pre";
+  version = "1.2.8";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchFromGitHub {
     owner = "PackageKit";
     repo = "PackageKit";
-    rev = "30bb82da8d4161330a6d7a20c9989149303421a1";
-    sha256 = "k2osc2v0OuGrNjwxdqn785RsbHEJP3p79PG9YqnVE3U=";
+    rev = "v${version}";
+    hash = "sha256-k51uQHar/uvdTDj/Ud60Oh6H7rfjEc9bfQnH5cvg8hc=";
   };
 
   buildInputs = [
@@ -92,6 +93,10 @@ stdenv.mkDerivation rec {
       --replace "install_dir: join_paths(get_option('localstatedir'), 'lib', 'PackageKit')," "install_dir: join_paths('$out', 'var', 'lib', 'PackageKit'),"
   '';
 
+  passthru.tests = {
+    nixos-test = nixosTests.packagekit;
+  };
+
   meta = with lib; {
     description = "System to facilitate installing and updating packages";
     longDescription = ''
diff --git a/pkgs/tools/package-management/pdm/default.nix b/pkgs/tools/package-management/pdm/default.nix
index 7395bffd8458..d94aaeae69d9 100644
--- a/pkgs/tools/package-management/pdm/default.nix
+++ b/pkgs/tools/package-management/pdm/default.nix
@@ -32,14 +32,14 @@ in
 with python.pkgs;
 buildPythonApplication rec {
   pname = "pdm";
-  version = "2.12.2";
+  version = "2.12.3";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-s8pKsQetZbV/4TEuQ2Dh97PXxe2BqEG27Uizd3hi7Vc=";
+    hash = "sha256-U82rcnwUaf3Blu/Y1/+EBKPKke5DwKVxRzbyAg0KXd8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/arubaotp-seed-extractor/default.nix b/pkgs/tools/security/arubaotp-seed-extractor/default.nix
index a1ab0fd9f290..c2ffef83635d 100644
--- a/pkgs/tools/security/arubaotp-seed-extractor/default.nix
+++ b/pkgs/tools/security/arubaotp-seed-extractor/default.nix
@@ -28,7 +28,7 @@ python3Packages.buildPythonApplication {
   ];
 
   installPhase = ''
-    libdir="$out/lib/${python3Packages.python.libPrefix}/site-packages/arubaotp-seed-extractor"
+    libdir="$out/${python3Packages.python.sitePackages}/arubaotp-seed-extractor"
     mkdir -p "$libdir"
     cp scripts/* "$libdir"
     chmod +x "$libdir/main.py"
diff --git a/pkgs/tools/security/aws-iam-authenticator/default.nix b/pkgs/tools/security/aws-iam-authenticator/default.nix
index 8ea3c543b4ea..6badf451368e 100644
--- a/pkgs/tools/security/aws-iam-authenticator/default.nix
+++ b/pkgs/tools/security/aws-iam-authenticator/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "aws-iam-authenticator";
-  version = "0.6.16";
+  version = "0.6.17";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-E/DkCDtnzI6yBEYemlLqxc1r8ZEuX+6jDefaZTRFRek=";
+    hash = "sha256-CsurRQDPWJ/P/Q4aZhtUW8Z60+hgzw46+98N/QbFcTU=";
   };
 
   vendorHash = "sha256-TDsY05jnutNIKx0z6/8vGvsgYCIKBkTxh9mXqk4IR38=";
diff --git a/pkgs/tools/security/browserpass/default.nix b/pkgs/tools/security/browserpass/default.nix
index 73c40a718c28..1dd2a27f1ec3 100644
--- a/pkgs/tools/security/browserpass/default.nix
+++ b/pkgs/tools/security/browserpass/default.nix
@@ -55,7 +55,8 @@ buildGoModule rec {
 
     # This path is used by our firefox wrapper for finding native messaging hosts
     mkdir -p $out/lib/mozilla/native-messaging-hosts
-    ln -s $out/lib/browserpass/hosts/firefox/*.json $out/lib/mozilla/native-messaging-hosts
+    # Copy ff manifests rather than linking to allow link-farming to work recursively in dependants
+    cp $out/lib/browserpass/hosts/firefox/*.json $out/lib/mozilla/native-messaging-hosts/
   '';
 
   passthru.tests.version = testers.testVersion {
diff --git a/pkgs/tools/security/cloudfox/default.nix b/pkgs/tools/security/cloudfox/default.nix
index 6b1d7870c699..ab5f395f27c8 100644
--- a/pkgs/tools/security/cloudfox/default.nix
+++ b/pkgs/tools/security/cloudfox/default.nix
@@ -5,16 +5,21 @@
 
 buildGoModule rec {
   pname = "cloudfox";
-  version = "1.13.0";
+  version = "1.13.1";
 
   src = fetchFromGitHub {
     owner = "BishopFox";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-4donwh7yG7R4+k+ydGto2CZclnM95qodQuL1Huu4GDo=";
+    hash = "sha256-zP6jrueL3CXl6+fCmx4u0FzFy8mj6WkmECPHRZyqX8A=";
   };
 
-  vendorHash = "sha256-RdcfAZVqCp+egLbgx1c/A/zk0YlBY6aeeq0Lv4cLivY=";
+  vendorHash = "sha256-qPIMmyKTmZEmxlLLftRMnBXvo22WFROYlCAAsAb7jDg=";
+
+  ldflags = [
+    "-w"
+    "-s"
+  ];
 
   # Some tests are failing because of wrong filename/path
   doCheck = false;
diff --git a/pkgs/tools/security/cnquery/default.nix b/pkgs/tools/security/cnquery/default.nix
index 9c6803ecd840..9f16add25dff 100644
--- a/pkgs/tools/security/cnquery/default.nix
+++ b/pkgs/tools/security/cnquery/default.nix
@@ -5,18 +5,18 @@
 
 buildGoModule rec {
   pname = "cnquery";
-  version = "9.14.0";
+  version = "10.0.3";
 
   src = fetchFromGitHub {
     owner = "mondoohq";
     repo = "cnquery";
     rev = "v${version}";
-    hash = "sha256-/Lawxl+jMJKSOKi5yxc+d7Gro69rLCB7nyYPmLtNGoU=";
+    hash = "sha256-LiW9P0q4VstzkNQQUdI5xG1TmpdwQMi3EZk0gsAA5LU=";
   };
 
   subPackages = [ "apps/cnquery" ];
 
-  vendorHash = "sha256-T7pD88v2sF7w/t5O+sekn1oy/uvA6LytYptLXrd+X4c=";
+  vendorHash = "sha256-/SUdyzCbIuVCM2/K0shlJTXbCJ8FSkXtOPaJvRDt2Zk=";
 
   meta = with lib; {
     description = "cloud-native, graph-based asset inventory";
diff --git a/pkgs/tools/security/cnspec/default.nix b/pkgs/tools/security/cnspec/default.nix
index 5b1aebe0e980..43fcb0331254 100644
--- a/pkgs/tools/security/cnspec/default.nix
+++ b/pkgs/tools/security/cnspec/default.nix
@@ -5,17 +5,17 @@
 
 buildGoModule rec {
   pname = "cnspec";
-  version = "10.0.2";
+  version = "10.1.4";
 
   src = fetchFromGitHub {
     owner = "mondoohq";
     repo = "cnspec";
     rev = "refs/tags/v${version}";
-    hash = "sha256-YdOzHMC2dP8OCDn1T+nE7k5dL3KHpLHFAGKuQAnu6l0=";
+    hash = "sha256-8dwsCDHBxJzGqexjtWsijZkERz69ew1ISeU86UALzMk=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-7Ro2qRU+ULLLrVT0VpJkwBOQ6EQSgMLiJRRK9IMuXZs=";
+  vendorHash = "sha256-nrK0XwCrLFLgHWGtG0UrjqQPwoeOGWvxy+AnHZmkacM=";
 
   subPackages = [
     "apps/cnspec"
diff --git a/pkgs/tools/security/commix/default.nix b/pkgs/tools/security/commix/default.nix
index 94290619f0f3..b4c16376d8da 100644
--- a/pkgs/tools/security/commix/default.nix
+++ b/pkgs/tools/security/commix/default.nix
@@ -5,16 +5,26 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "commix";
-  version = "3.8";
-  format = "setuptools";
+  version = "3.9";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "commixproject";
-    repo = pname;
+    repo = "commix";
     rev = "refs/tags/v${version}";
-    hash = "sha256-S/2KzZb3YUF0VJharWV/+7IG+r1EnB2sOveMpd1ryEI=";
+    hash = "sha256-HX+gEL9nmq9R1GFw8xQaa7kBmW7R0IepitM08bIf3vY=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace-warn "-stable" ""
+  '';
+
+
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools
+  ];
+
   postInstall = ''
     # Helper files are not handled by setup.py
     mkdir -p $out/${python3.sitePackages}/src/txt
diff --git a/pkgs/tools/security/cosign/default.nix b/pkgs/tools/security/cosign/default.nix
index 0cdf5b0839ea..072b8e4ffb52 100644
--- a/pkgs/tools/security/cosign/default.nix
+++ b/pkgs/tools/security/cosign/default.nix
@@ -13,13 +13,13 @@
 }:
 buildGoModule rec {
   pname = "cosign";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-QZWF0ysZFu3rt8dIXb5uddyDhT2FfWUyder8YR2BtQc=";
+    hash = "sha256-+y79Uml1TvKypbwcWkZZF415qUPPfieP5pKHO+APjPE=";
   };
 
   buildInputs =
@@ -28,7 +28,7 @@ buildGoModule rec {
 
   nativeBuildInputs = [ pkg-config installShellFiles ];
 
-  vendorHash = "sha256-WeNRg3Nw2b6NiV8z7tGZIlWUHZxXuTG7MPF9DgfdmUQ=";
+  vendorHash = "sha256-udMnSdXBjlDQlQRzhhLBDBcHwREkEev0uLIVjT8BbuU=";
 
   subPackages = [
     "cmd/cosign"
diff --git a/pkgs/tools/security/creds/default.nix b/pkgs/tools/security/creds/default.nix
index 9f218f89bdd9..2f2962616d7c 100644
--- a/pkgs/tools/security/creds/default.nix
+++ b/pkgs/tools/security/creds/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "creds";
-  version = "0.5";
+  version = "0.5.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "ihebski";
     repo = "DefaultCreds-cheat-sheet";
-    rev = "refs/tags/creds-${version}";
-    hash = "sha256-s9ja2geFTnul7vUlGI4Am+IG3C0igICf0whnyd3SHdQ=";
+    rev = "refs/tags/creds-v${version}";
+    hash = "sha256-CtwGSF3EGcPqL49paNRCsB2qxYjKpCLqyRsC67nAyVk=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/security/cyclonedx-gomod/default.nix b/pkgs/tools/security/cyclonedx-gomod/default.nix
index d4c9a4b6b465..1a00303ac96f 100644
--- a/pkgs/tools/security/cyclonedx-gomod/default.nix
+++ b/pkgs/tools/security/cyclonedx-gomod/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "cyclonedx-gomod";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "CycloneDX";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-whAHZDUQBJaYu+OZiqcYzWxOru1GXDQ4FMDCj+ngCDs=";
+    hash = "sha256-3YHlh7edRWU8plAJh96RDkrC9YUQjvV4vNGOxmbS0sA=";
   };
 
-  vendorHash = "sha256-FpsZonGJSzbAsnM00qq/qiTJLUN4q08dR+6rhTKvX0I=";
+  vendorHash = "sha256-0Fx9pOofcY5rpX6DU2xPeg7xEZ8ows/DWwyV5B7LHGY=";
 
   # Tests require network access and cyclonedx executable
   doCheck = false;
diff --git a/pkgs/tools/security/dalfox/default.nix b/pkgs/tools/security/dalfox/default.nix
index 8c72a93d340f..b41ca04f7798 100644
--- a/pkgs/tools/security/dalfox/default.nix
+++ b/pkgs/tools/security/dalfox/default.nix
@@ -5,16 +5,21 @@
 
 buildGoModule rec {
   pname = "dalfox";
-  version = "2.9.1";
+  version = "2.9.2";
 
   src = fetchFromGitHub {
     owner = "hahwul";
-    repo = pname;
+    repo = "dalfox";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-7wSmPmS8m+rYhYlREzKlPUiUfDvru9zwFFvSCDq6JY8=";
+    hash = "sha256-sKW6UYSPgXkZbLiOeYru/XpG/Cpvvhwos6Z5J/WxjXo=";
   };
 
-  vendorHash = "sha256-W+37EL3e7G+U0EZUDuVqjZpfIf5+HcirH8NVsC+1NvA=";
+  vendorHash = "sha256-0eNaH82iCmxaie+nA9qxEWb8Uq6LaEQoU9wRFJ+GFv0=";
+
+  ldflags = [
+    "-w"
+    "-s"
+  ];
 
   # Tests require network access
   doCheck = false;
diff --git a/pkgs/tools/security/deepsecrets/default.nix b/pkgs/tools/security/deepsecrets/default.nix
index 09c8aac926b8..c509311f3a6d 100644
--- a/pkgs/tools/security/deepsecrets/default.nix
+++ b/pkgs/tools/security/deepsecrets/default.nix
@@ -6,7 +6,7 @@
 python3.pkgs.buildPythonApplication rec {
   pname = "deepsecrets";
   version = "1.0.6";
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "avito-tech";
@@ -17,9 +17,9 @@ python3.pkgs.buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'pyyaml = "^5.4.1"' 'pyyaml = "*"' \
-      --replace 'regex = "^2023.3.23"' 'regex = "*"' \
-      --replace 'mmh3 = "^3.0.0"' 'mmh3 = "*"'
+      --replace-warn 'pyyaml = "^5.4.1"' 'pyyaml = "*"' \
+      --replace-warn 'regex = "^2023.3.23"' 'regex = "*"' \
+      --replace-warn 'mmh3 = "^3.0.0"' 'mmh3 = "*"'
   '';
 
   nativeBuildInputs = with python3.pkgs; [
@@ -30,7 +30,7 @@ python3.pkgs.buildPythonApplication rec {
     dotwiz
     mmh3
     ordered-set
-    pydantic
+    pydantic_1
     pygments
     pyyaml
     regex
diff --git a/pkgs/tools/security/echidna/default.nix b/pkgs/tools/security/echidna/default.nix
index 10caf5bb82eb..7f503acd6f0b 100644
--- a/pkgs/tools/security/echidna/default.nix
+++ b/pkgs/tools/security/echidna/default.nix
@@ -7,63 +7,34 @@
 , slither-analyzer
 }:
 
-let haskellPackagesOverride = haskellPackages.override {
-      overrides = self: super: {
-        # following the revision specified in echidna/stack.yaml
-        # TODO: 0.51.3 is not in haskellPackages yet
-        hevm = haskell.lib.overrideCabal super.hevm (oa: {
-          version = "0.51.3";
-          src = fetchFromGitHub {
-            owner = "ethereum";
-            repo = "hevm";
-            rev = "release/0.51.3";
-            hash = "sha256-H6oURBGoQWSOuPhBB+UKg2UarVzXgv1tmfDBLnOtdhU=";
-          };
-          libraryHaskellDepends = oa.libraryHaskellDepends
-                                  ++ (with haskellPackages;[githash witch tuple]);
-        });
-      };
-    };
-in mkDerivation rec {
+mkDerivation rec {
   pname = "echidna";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "crytic";
     repo = "echidna";
     rev = "v${version}";
-    sha256 = "sha256-5d9ttPR3rRHywBeLM85EGCEZLNZNZzOAhIN6AJToJyI=";
+    sha256 = "sha256-l1ILdO+xb0zx/TFM6Am9j5hq1RnIMNf2HU6YvslAj0w=";
   };
 
-  # Note: pending PR https://github.com/crytic/echidna/pull/1096
-  patches = [
-     (fetchpatch {
-       name = "brick-1.9-update";
-       url = "https://github.com/crytic/echidna/pull/1096/commits/36657d54943727e569691a6b3d85b83130480a2e.patch";
-       sha256 = "sha256-AOmB/fAZCF7ruXW1HusRe7wWWsLyMCWw+j3qIPARIAc=";
-     })
-  ];
-
   isLibrary = true;
   isExecutable = true;
 
-  libraryToolDepends = with haskellPackagesOverride; [
+  libraryToolDepends = with haskellPackages; [
     haskellPackages.hpack
   ];
 
-  # Note: This can be extracted from package.yaml of echidna, the list is shorter because some are transitive.
-  executableHaskellDepends = with haskellPackagesOverride;
-    [aeson base base16-bytestring binary brick bytestring code-page containers data-dword data-has directory exceptions extra
-     filepath hashable hevm html-conduit html-entities http-conduit lens ListLike MonadRandom mtl optics optparse-applicative
-     process random semver text transformers unix unliftio unordered-containers vector vector-instances vty with-utf8
-     xml-conduit yaml];
+  executableHaskellDepends = with haskellPackages; [ aeson base base16-bytestring binary bytestring code-page
+  containers data-bword data-dword deepseq directory exceptions extra filepath hashable hevm html-conduit html-entities
+  http-conduit ListLike MonadRandom mtl optics optics-core optparse-applicative process random rosezipper semver split
+  strip-ansi-escape text time transformers unliftio utf8-string vector wai-extra warp with-utf8 word-wrap xml-conduit
+  yaml ];
 
   # Note: there is also a runtime dependency of slither-analyzer, let's include it also.
   executableSystemDepends = [ slither-analyzer ];
 
-  testHaskellDepends = with haskellPackagesOverride; [
-    tasty tasty-hunit tasty-quickcheck
-  ];
+  testHaskellDepends = with haskellPackages; [ tasty tasty-hunit tasty-quickcheck ];
 
   preConfigure = ''
     hpack
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index a1dbd2ada9ed..27d6ce498439 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2024-01-24";
+  version = "2024-02-01";
 
   src = fetchFromGitLab {
     owner = "exploit-database";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-3nwF/3xospyxxH6BvOU9DYBi8Fkw4oERGDZJPKMgSXM=";
+    hash = "sha256-Ypl2OdyOLKGISQZ0A6jM3uwUBGGzHjuwOL7RHQynTow=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/gotestwaf/default.nix b/pkgs/tools/security/gotestwaf/default.nix
index 9f0906f4c8f1..8ed30a7fc78b 100644
--- a/pkgs/tools/security/gotestwaf/default.nix
+++ b/pkgs/tools/security/gotestwaf/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gotestwaf";
-  version = "0.4.10";
+  version = "0.4.11";
 
   src = fetchFromGitHub {
     owner = "wallarm";
     repo = "gotestwaf";
     rev = "refs/tags/v${version}";
-    hash = "sha256-G/1X7kq5n04dYoluvlIswOCE/BvhgZwyXCbPrKIE/SY=";
+    hash = "sha256-xvlzSBvOM09b/m4gI1sbIpIlFJnXQL0G4xet/AL3Yxo=";
   };
 
   vendorHash = null;
diff --git a/pkgs/tools/security/govulncheck/default.nix b/pkgs/tools/security/govulncheck/default.nix
index 746c72a017e8..7cf4589afce1 100644
--- a/pkgs/tools/security/govulncheck/default.nix
+++ b/pkgs/tools/security/govulncheck/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "govulncheck";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "vuln";
     rev = "refs/tags/v${version}";
-    hash = "sha256-vTHP7I3r7EAt4puh7bonKj6A94j169tKWgTfxASWyo0=";
+    hash = "sha256-1x2hj4HD3KAo9w1QXh5qsWtcAM0Kly5u/DRd13Mqa5w=";
   };
 
   patches = [
diff --git a/pkgs/tools/security/gpg-tui/default.nix b/pkgs/tools/security/gpg-tui/default.nix
index 40869e825802..64a273784540 100644
--- a/pkgs/tools/security/gpg-tui/default.nix
+++ b/pkgs/tools/security/gpg-tui/default.nix
@@ -4,8 +4,6 @@
 , fetchFromGitHub
 , gpgme
 , libgpg-error
-, libxcb
-, libxkbcommon
 , pkg-config
 , python3
 , AppKit
@@ -13,6 +11,7 @@
 , libiconv
 , libobjc
 , libresolv
+, x11Support ? true, libxcb, libxkbcommon
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -38,6 +37,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [
     gpgme
     libgpg-error
+  ] ++ lib.optionals x11Support [
     libxcb
     libxkbcommon
   ] ++ lib.optionals stdenv.isDarwin [
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix
index 1e0f050d4a4c..dc48dd521506 100644
--- a/pkgs/tools/security/grype/default.nix
+++ b/pkgs/tools/security/grype/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.74.2";
+  version = "0.74.4";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZqYyVNaVLBh/IixUB72+EVvUUiovi+pexkIVYNsNLVY=";
+    hash = "sha256-jBBiwsmQDbzay2C6uLM2uzPvTbD+3t8+jyBkEfHwohQ=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -28,7 +28,7 @@ buildGoModule rec {
 
   proxyVendor = true;
 
-  vendorHash = "sha256-60xkcrMwgDs8ATRdPbDUZQlBaMMleQ3x+1oX2h13tZU=";
+  vendorHash = "sha256-w0dqgyJvn7UZYoUII9jxTuiBOq+HENaQlxfP+rZdpS0=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/security/hash-slinger/default.nix b/pkgs/tools/security/hash-slinger/default.nix
index 0f0eeeb6b2af..cb02b806a986 100644
--- a/pkgs/tools/security/hash-slinger/default.nix
+++ b/pkgs/tools/security/hash-slinger/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/man $out/lib/${python3.libPrefix}/site-packages
+    mkdir -p $out/bin $out/man $out/${python3.sitePackages}
     make install
     wrapPythonPrograms
   '';
diff --git a/pkgs/tools/security/kube-bench/default.nix b/pkgs/tools/security/kube-bench/default.nix
index f4cb389eb16e..28b90f3d4bae 100644
--- a/pkgs/tools/security/kube-bench/default.nix
+++ b/pkgs/tools/security/kube-bench/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kube-bench";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-yJJEWxz8EWdLi2rhw42QVdG9AcGO0OWnihg153hALNE=";
+    hash = "sha256-EsUjGc7IIu5PK9KaODlQSfmm8jpjuBXvGZPNjSc1824=";
   };
 
-  vendorHash = "sha256-zKw6d3UWs2kb+DCXmLZ09Lw3m8wMhm9QJYkeXJYcFA8=";
+  vendorHash = "sha256-i4k7eworPUvLUustr5U53qizHqUVw8yqGjdPQT6UIf4=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 3d10bb0bb51c..0227191fedeb 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.48"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.53"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 899a80b10966..862a4d197782 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 261eca342915db81d67cdfe7f2ef7b3788fd508f
-  ref: refs/tags/6.3.48
+  revision: 45efd21e748da75cc37d999dbfa3ec6c4fc4d0e9
+  ref: refs/tags/6.3.53
   specs:
-    metasploit-framework (6.3.48)
+    metasploit-framework (6.3.53)
       actionpack (~> 7.0.0)
       activerecord (~> 7.0.0)
       activesupport (~> 7.0.0)
@@ -35,7 +35,7 @@ GIT
       metasploit-concern
       metasploit-credential
       metasploit-model
-      metasploit-payloads (= 2.0.161)
+      metasploit-payloads (= 2.0.165)
       metasploit_data_models
       metasploit_payloads-mettle (= 1.0.26)
       mqtt
@@ -62,6 +62,7 @@ GIT
       rb-readline
       recog
       redcarpet
+      reline
       rex-arch
       rex-bin_tools
       rex-core
@@ -253,7 +254,7 @@ GEM
       activemodel (~> 7.0)
       activesupport (~> 7.0)
       railties (~> 7.0)
-    metasploit-payloads (2.0.161)
+    metasploit-payloads (2.0.165)
     metasploit_data_models (6.0.3)
       activerecord (~> 7.0)
       activesupport (~> 7.0)
@@ -463,4 +464,4 @@ DEPENDENCIES
   metasploit-framework!
 
 BUNDLED WITH
-   2.4.13
+   2.5.3
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 935374a09ad4..fc5a7d0ac4eb 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.3.48";
+  version = "6.3.53";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = "refs/tags/${version}";
-    hash = "sha256-AY0k44/gYXP4h3SoRVF9aK2L2skZ03Azd5V9hSRDoHQ=";
+    hash = "sha256-LyI5Ne2ztO0Or1btT0jG96PYNZVMTwEZNwYCEIc6Rd4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index a439c6380641..88af87f272c2 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -664,12 +664,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "261eca342915db81d67cdfe7f2ef7b3788fd508f";
-      sha256 = "0x508cj8azcmfwrp1lqrr7d8pbb8gm8lba3lhzw76qg0izij9381";
+      rev = "45efd21e748da75cc37d999dbfa3ec6c4fc4d0e9";
+      sha256 = "1pj57a3i00h66wch2kscjlsxi8zpqr44zvanmw7fvd5kxlskj8ig";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.3.48";
+    version = "6.3.53";
   };
   metasploit-model = {
     groups = ["default"];
@@ -686,10 +686,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1naxfj3jcr5gfsr5lbkis9ww2mw6c2i97k1zdidajpr91dyj2314";
+      sha256 = "0v9vr3iklxm53vfkyiqja8a942n8r0a49w9rmvk9ql4h3r5xcgpw";
       type = "gem";
     };
-    version = "2.0.161";
+    version = "2.0.165";
   };
   metasploit_data_models = {
     groups = ["default"];
diff --git a/pkgs/tools/security/netexec/default.nix b/pkgs/tools/security/netexec/default.nix
index d5925365a87a..625cd3974252 100644
--- a/pkgs/tools/security/netexec/default.nix
+++ b/pkgs/tools/security/netexec/default.nix
@@ -1,172 +1,106 @@
 { lib
+, stdenv
 , fetchFromGitHub
 , python3
-, buildPythonPackage
-, fetchPypi
 }:
 let
   python = python3.override {
     packageOverrides = self: super: {
       impacket = super.impacket.overridePythonAttrs {
-        version = "0.12.0.dev1";
+        version = "0.12.0.dev1-unstable-2023-11-30";
         src = fetchFromGitHub {
           owner = "Pennyw0rth";
           repo = "impacket";
           rev = "d370e6359a410063b2c9c68f6572c3b5fb178a38";
           hash = "sha256-Jozn4lKAnLQ2I53+bx0mFY++OH5P4KyqVmrS5XJUY3E=";
         };
+        # Fix version to be compliant with Python packaging rules
+        postPatch = ''
+          substituteInPlace setup.py \
+            --replace 'version="{}.{}.{}.{}{}"' 'version="{}.{}.{}"'
+        '';
       };
-      bloodhound-py = super.bloodhound-py.overridePythonAttrs (old: {
-        propagatedBuildInputs =
-          lib.lists.remove super.impacket old.propagatedBuildInputs
-          ++ [ self.impacket ];
-      });
     };
   };
-
-  python-easyconfig = buildPythonPackage rec {
-    pname = "python-easyconfig";
-    version = "0.1.7";
-    src = fetchPypi {
-      inherit version;
-      pname = "Python-EasyConfig";
-      hash = "sha256-tUjxmrhQtVFU9hFi8xTj27J24R47JpUbio+gaDwGuyk=";
-    };
-    propagatedBuildInputs = with python.pkgs; [
-      six
-      pyyaml
-    ];
-  };
-
-  jsonform = buildPythonPackage rec {
-    pname = "jsonform";
-    version = "0.0.2";
-    doCheck = false;
-    src = fetchPypi {
-      inherit version;
-      pname = "JsonForm";
-      hash = "sha256-cfi3ohU44wyphLad3gTwKYDNbNwhg6GKp8oC2VCZiOY=";
-    };
-    propagatedBuildInputs = with python.pkgs; [
-      jsonschema
-    ];
-  };
-
-  jsonsir = buildPythonPackage rec {
-    pname = "jsonsir";
-    version = "0.0.2";
-    doCheck = false;
-    src = fetchPypi {
-      inherit version;
-      pname = "JsonSir";
-      hash = "sha256-QBRHxekx94h4Uc6b8kB/401aqwsUZ7sku787dg5b0/s=";
-    };
-  };
-
-  dploot = buildPythonPackage rec {
-    pname = "dploot";
-    version = "2.2.4";
-    pyproject = true;
-    src = fetchPypi {
-      inherit pname version;
-      hash = "sha256-40/5KOlEFvPL9ohCfR3kqoikpKFfJO22MToq3GhamKM=";
-    };
-    nativeBuildInputs = with python.pkgs; [
-      poetry-core
-    ];
-    propagatedBuildInputs = with python.pkgs; [
-      impacket
-      cryptography
-      pyasn1
-      lxml
-    ];
-  };
-
-  resource = buildPythonPackage rec {
-    pname = "resource";
-    version = "0.2.1";
-    doCheck = false;
-    src = fetchPypi {
-      inherit version;
-      pname = "Resource";
-      hash = "sha256-mDVKvY7+c9WhDyEJnYC774Xs7ffKIqQW/yAlClGs2RY=";
-    };
-    propagatedBuildInputs = with python.pkgs; [
-      python-easyconfig
-      jsonform
-      jsonsir
-    ];
-  };
 in
 python.pkgs.buildPythonApplication rec {
   pname = "netexec";
-  version = "1.1.0";
+  version = "1.1.0-unstable-2024-01-15";
   pyproject = true;
-  doCheck = true;
   pythonRelaxDeps = true;
+  pythonRemoveDeps = [
+    # Fail to detect dev version requirement
+    "neo4j"
+  ];
 
   src = fetchFromGitHub {
     owner = "Pennyw0rth";
     repo = "NetExec";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-cNkZoIdfrKs5ZvHGKGBybCWGwA6C4rqjCOEM+pX70S8=";
+    rev = "9df72e2f68b914dfdbd75b095dd8f577e992615f";
+    hash = "sha256-oQHtTE5hdlxHX4uc412VfNUrN0UHVbwI0Mm9kmJpNW4=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '{ git = "https://github.com/Pennyw0rth/impacket.git", branch = "gkdi" }' '"*"' \
+      --replace '{ git = "https://github.com/Pennyw0rth/oscrypto" }' '"*"'
+  '';
+
   nativeBuildInputs = with python.pkgs; [
     poetry-core
     pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = with python.pkgs; [
-    requests
+    aardwolf
+    aioconsole
+    aiosqlite
+    argcomplete
+    asyauth
     beautifulsoup4
+    bloodhound-py
+    dploot
+    dsinternals
+    impacket
     lsassy
-    termcolor
+    masky
+    minikerberos
     msgpack
     neo4j
+    oscrypto
+    paramiko
+    pyasn1-modules
     pylnk3
     pypsrp
-    paramiko
-    impacket
-    dsinternals
-    xmltodict
-    terminaltables
-    aioconsole
-    pywerview
-    minikerberos
     pypykatz
-    aardwolf
-    dploot
-    bloodhound-py
-    asyauth
-    masky
-    sqlalchemy
-    aiosqlite
-    pyasn1-modules
-    rich
     python-libnmap
-    resource
-    oscrypto
+    pywerview
+    requests
+    rich
+    sqlalchemy
+    termcolor
+    terminaltables
+    xmltodict
   ];
 
   nativeCheckInputs = with python.pkgs; [
-    pytest
+    pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace '{ git = "https://github.com/Pennyw0rth/impacket.git", branch = "gkdi" }' '"*"'
-
-    substituteInPlace pyproject.toml \
-      --replace '{ git = "https://github.com/Pennyw0rth/oscrypto" }' '"*"'
+  preCheck = ''
+    export HOME=$(mktemp -d)
   '';
 
   meta = with lib; {
-    description = "Network service exploitation tool (Maintaned fork of CrackMapExec)";
+    description = "Network service exploitation tool (maintained fork of CrackMapExec)";
     homepage = "https://github.com/Pennyw0rth/NetExec";
     changelog = "https://github.com/Pennyw0rth/NetExec/releases/tag/v${version}";
     license = with licenses; [ bsd2 ];
     mainProgram = "nxc";
     maintainers = with maintainers; [ vncsb ];
+    # FIXME: failing fixupPhase:
+    # $ Rewriting #!/nix/store/<hash>-python3-3.11.7/bin/python3.11 to #!/nix/store/<hash>-python3-3.11.7
+    # $ /nix/store/<hash>-wrap-python-hook/nix-support/setup-hook: line 65: 47758 Killed: 9               sed -i "$f" -e "1 s^#!/nix/store/<hash>-python3-3.11.7^#!/nix/store/<hash>-python3-3.11.7^"
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/tools/security/notation/default.nix b/pkgs/tools/security/notation/default.nix
index 0164452b9bc9..07c9ef499717 100644
--- a/pkgs/tools/security/notation/default.nix
+++ b/pkgs/tools/security/notation/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "notation";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "notaryproject";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-KcB5l6TRZhciXO04mz5iORR4//cAhrh+o4Kdq7LA4A4=";
+    hash = "sha256-MJBFdtx+HkPCN1SIohKOy33BW746GNN2fWkr7TIuBmk=";
   };
 
-  vendorHash = "sha256-r58ZV63KIHKxh5HDeQRfd0OF0s7xpC4sXvsYLhm8AIE=";
+  vendorHash = "sha256-USkufc1dG4eyRfRJHSX4mVZHnvOc5onHenF98Aedac4=";
 
   # This is a Go sub-module and cannot be built directly (e2e tests).
   excludedPackages = [ "./test" ];
@@ -33,5 +33,6 @@ buildGoModule rec {
     homepage = "https://notaryproject.dev/";
     license = licenses.asl20;
     maintainers = with maintainers; [ aaronjheng ];
+    mainProgram = "notation";
   };
 }
diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix
index 4c56d061754e..14948c3e7999 100644
--- a/pkgs/tools/security/nuclei/default.nix
+++ b/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "3.1.7";
+  version = "3.1.8";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "nuclei";
     rev = "refs/tags/v${version}";
-    hash = "sha256-O7GWH65zOKK9mPlap5BL302ow/ruXOz8CxUjaHfIj3w=";
+    hash = "sha256-uNPMQ4I85R8xY9IrEX3puaKXvk3+nTT32fimEpzStjM=";
   };
 
-  vendorHash = "sha256-mwqDoX79cnG6zPncN1l5uAdOSbyAVWzw2dV+2rnBsqw=";
+  vendorHash = "sha256-bk8vgCZqzLYmtO2sj5p3l22X5SSZ5zA5RvlrijsiW10=";
 
   subPackages = [
     "cmd/nuclei/"
diff --git a/pkgs/tools/security/pass/extensions/audit/default.nix b/pkgs/tools/security/pass/extensions/audit/default.nix
index 74e9dab46a7e..365f81759cce 100644
--- a/pkgs/tools/security/pass/extensions/audit/default.nix
+++ b/pkgs/tools/security/pass/extensions/audit/default.nix
@@ -41,7 +41,7 @@ in stdenv.mkDerivation rec {
   installFlags = [ "DESTDIR=${placeholder "out"}" "PREFIX=" ];
   postInstall = ''
     wrapProgram $out/lib/password-store/extensions/audit.bash \
-      --prefix PYTHONPATH : "$out/lib/${pythonEnv.libPrefix}/site-packages" \
+      --prefix PYTHONPATH : "$out/${pythonEnv.sitePackages}" \
       --run "export COMMAND"
   '';
 
diff --git a/pkgs/tools/security/pgpdump/default.nix b/pkgs/tools/security/pgpdump/default.nix
index 60dc724d5aa9..9ebe0d920027 100644
--- a/pkgs/tools/security/pgpdump/default.nix
+++ b/pkgs/tools/security/pgpdump/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgpdump";
-  version = "0.35";
+  version = "0.36";
 
   src = fetchFromGitHub {
     owner = "kazu-yamamoto";
     repo = "pgpdump";
     rev = "v${version}";
-    sha256 = "sha256-GjPy/feF437WtDqbEn1lGwWayWtvKhqsyJFMuH3IFl4=";
+    sha256 = "sha256-JKedgHCTDnvLyLR3nGl4XFAaxXDU1TgHrxPMlRFwtBo=";
   };
 
   buildInputs = lib.optionals supportCompressedPackets [ zlib bzip2 ];
diff --git a/pkgs/tools/security/quark-engine/default.nix b/pkgs/tools/security/quark-engine/default.nix
index e67dd3f8b944..f89cb35f3029 100644
--- a/pkgs/tools/security/quark-engine/default.nix
+++ b/pkgs/tools/security/quark-engine/default.nix
@@ -6,14 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "quark-engine";
-  version = "23.9.1";
+  version = "23.12.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-E9efhgMGN9lvMlFeZqo6xco75TtQsXULOzKX00pjqMM=";
+    sha256 = "sha256-NeJGkqGpg2uOsz10gEYz/nzh21DhXSU4RgQtI1brASQ=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -26,7 +26,9 @@ python3.pkgs.buildPythonApplication rec {
     plotly
     prettytable
     prompt-toolkit
+    r2pipe
     rzpipe
+    setuptools
     tqdm
   ];
 
diff --git a/pkgs/tools/security/tlsx/default.nix b/pkgs/tools/security/tlsx/default.nix
index 10915cad9ecd..2ba9be6315b7 100644
--- a/pkgs/tools/security/tlsx/default.nix
+++ b/pkgs/tools/security/tlsx/default.nix
@@ -5,16 +5,21 @@
 
 buildGoModule rec {
   pname = "tlsx";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-lS/D3p8Q6Zu3/XxwkC77fPS9cXVrUTkDPGd46Y+krbo=";
+    repo = "tlsx";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-FF5/STjf8joyJM6qPds1wFeRfncSamy/wWfNRZcG5kc=";
   };
 
-  vendorHash = "sha256-aEsq9LwU/ZWvuZGGzZ4NEvMWFk1m/Sr9LOXiCA/X388=";
+  vendorHash = "sha256-sJravmpvwOSZiVNWFUTLlTA4xk6drItDj4JzR8JNrOo=";
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
 
   # Tests require network access
   doCheck = false;
diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix
index 0dd1d2ee4fe4..d5c8957d31a4 100644
--- a/pkgs/tools/security/trufflehog/default.nix
+++ b/pkgs/tools/security/trufflehog/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "trufflehog";
-  version = "3.64.0";
+  version = "3.66.3";
 
   src = fetchFromGitHub {
     owner = "trufflesecurity";
     repo = "trufflehog";
     rev = "refs/tags/v${version}";
-    hash = "sha256-juacw+Y6gmEsmBtW3gDJQiQjjxh15Sr23dYoR7PuVTU=";
+    hash = "sha256-US94BFN2cS9QEtOkXP6QsDsP70JUCq9cu8qpSx8VraI=";
   };
 
-  vendorHash = "sha256-qmU04k+gzn1A+Zq4GlZubud2g7Vs9uiWYiG6xWCBMVw=";
+  vendorHash = "sha256-yhgNsiKh0sgVn0N1LqpWT1Utapc5DL+Ueposg+bAO5o=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/system/automatic-timezoned/default.nix b/pkgs/tools/system/automatic-timezoned/default.nix
index f263ebcc364e..d8d2fb0ccf23 100644
--- a/pkgs/tools/system/automatic-timezoned/default.nix
+++ b/pkgs/tools/system/automatic-timezoned/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "automatic-timezoned";
-  version = "1.0.146";
+  version = "1.0.147";
 
   src = fetchFromGitHub {
     owner = "maxbrunet";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9cAlpLlYnDa0LiikPLPrc///6UZH+NVah+HLDVHoyTs=";
+    sha256 = "sha256-4+Sad0Z1JbkUJWyszo0cK3xTR8HLuR3i74ljWXxPqPw=";
   };
 
-  cargoHash = "sha256-mZf5BBOlqXeC0nb/nTgtHN3ZxNnCuFLr/oMhwOLpbC8=";
+  cargoHash = "sha256-humC32QujjmcSvRioGAciNFCJXwoepAgO9zDGfdUheY=";
 
   meta = with lib; {
     description = "Automatically update system timezone based on location";
diff --git a/pkgs/tools/system/netdata/go.d.plugin.nix b/pkgs/tools/system/netdata/go.d.plugin.nix
index 796f6108ca8b..c741d1d62beb 100644
--- a/pkgs/tools/system/netdata/go.d.plugin.nix
+++ b/pkgs/tools/system/netdata/go.d.plugin.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "netdata-go-plugins";
-  version = "0.57.2";
+  version = "0.58.0";
 
   src = fetchFromGitHub {
     owner = "netdata";
     repo = "go.d.plugin";
     rev = "v${version}";
-    hash = "sha256-Qtk1/sQxWAGPHid6tPlwylyHvhxwWTJMT8TwCd/gazk=";
+    hash = "sha256-XZBF0uNXTo5UcBuhMVznij+QGhHM06j5J2xflZf40kI=";
   };
 
-  vendorHash = "sha256-SFXf99cSA8sncAzZqj2eiiJFhyD4TXQipGAeM2Hivak=";
+  vendorHash = "sha256-bdW6ZDMYVFGWD7KEDU2kaoccgwbOPl7ADnZ1npGBLAc=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/system/zram-generator/Cargo.lock b/pkgs/tools/system/zram-generator/Cargo.lock
index 7ce1050dfbdd..a9f1a95f44b0 100644
--- a/pkgs/tools/system/zram-generator/Cargo.lock
+++ b/pkgs/tools/system/zram-generator/Cargo.lock
@@ -127,9 +127,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.152"
+version = "0.2.153"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
 
 [[package]]
 name = "liboverdrop"
diff --git a/pkgs/tools/text/comrak/default.nix b/pkgs/tools/text/comrak/default.nix
index 83dd18e0c037..3b9af32c2833 100644
--- a/pkgs/tools/text/comrak/default.nix
+++ b/pkgs/tools/text/comrak/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "comrak";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "kivikakk";
     repo = pname;
     rev = version;
-    sha256 = "sha256-E7aSbqBest7NxphPOsxG2n5z6QdtTiYaFmgRmLh3cCI=";
+    sha256 = "sha256-gYEq2kfSLaGdVQxmHTZ8O55f4Iwj9FKjUmlNq5+QtXI=";
   };
 
-  cargoSha256 = "sha256-SQ+G1rdiAfQj8MwjTiCgtPD5O8+jD3PSHy+rBUJlj2g=";
+  cargoHash = "sha256-rkSq18cFSlTJsZ7DvpJbXYUsg5k86Jk6bgpdO5nP6CE=";
 
   meta = with lib; {
     description = "A CommonMark-compatible GitHub Flavored Markdown parser and formatter";
diff --git a/pkgs/tools/text/crowdin-cli/default.nix b/pkgs/tools/text/crowdin-cli/default.nix
index 2d7821156cad..1a4115dc4964 100644
--- a/pkgs/tools/text/crowdin-cli/default.nix
+++ b/pkgs/tools/text/crowdin-cli/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "crowdin-cli";
-  version = "3.16.1";
+  version = "3.17.0";
 
   src = fetchurl {
     url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip";
-    hash = "sha256-B68pCNQYly/0OQJkSjztP08bQGaGQeE+AAOiu5VbszY=";
+    hash = "sha256-thiwggDtzQsfbzwWF2tTMRQHfktq+W9fBH6QT7t2gKc=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper unzip ];
diff --git a/pkgs/tools/text/diffstat/default.nix b/pkgs/tools/text/diffstat/default.nix
index 15baee3c39d1..0b10014e0e6e 100644
--- a/pkgs/tools/text/diffstat/default.nix
+++ b/pkgs/tools/text/diffstat/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "diffstat";
-  version = "1.65";
+  version = "1.66";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/diffstat/diffstat-${version}.tgz"
       "https://invisible-mirror.net/archives/diffstat/diffstat-${version}.tgz"
     ];
-    sha256 = "sha256-jPJ0JJJt682FkhdVw5FVWSiCRL0QP2LXQNxrg7VXooo=";
+    sha256 = "sha256-9UUxu+Mujg+kYfAYtB469Ra2MggBcvNh8F5QNn7Ltp4=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/text/dos2unix/default.nix b/pkgs/tools/text/dos2unix/default.nix
index 5505893b4ec6..9785b21e0dcb 100644
--- a/pkgs/tools/text/dos2unix/default.nix
+++ b/pkgs/tools/text/dos2unix/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dos2unix";
-  version = "7.5.1";
+  version = "7.5.2";
 
   src = fetchurl {
     url = "https://waterlan.home.xs4all.nl/dos2unix/${pname}-${version}.tar.gz";
-    sha256 = "sha256-2gd4i7LgKbDWP2Rx0Wb2hSis2Nos8UgjoYjoqdXB/BU=";
+    sha256 = "sha256-JkdCRGYIRC60j5bCCvbaMDyzqSs2TnLLfiT4gjnEvzo=";
   };
 
   nativeBuildInputs = [ perl gettext ];
diff --git a/pkgs/tools/text/markdownlint-cli/default.nix b/pkgs/tools/text/markdownlint-cli/default.nix
index 73718d121e07..cfe92cf9e42b 100644
--- a/pkgs/tools/text/markdownlint-cli/default.nix
+++ b/pkgs/tools/text/markdownlint-cli/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "markdownlint-cli";
-  version = "0.38.0";
+  version = "0.39.0";
 
   src = fetchFromGitHub {
     owner = "igorshubovych";
     repo = "markdownlint-cli";
     rev = "v${version}";
-    hash = "sha256-3PiienQjyJQ/ElY4j0Ccu+r6KtIu1kuPlobHqXE0GY4=";
+    hash = "sha256-kNnTSSu55zqOwKCPxXhCmGOseDzAWaB6oToyWDSe0Cc=";
   };
 
-  npmDepsHash = "sha256-WoXyWn58E4+Lj3LWqr/8JbvAo5IcjLgnzhIt59bSqV4=";
+  npmDepsHash = "sha256-mpqLI9wYxp9g6uO/Peau51KS4KdNmVulb6sVO1uDC6c=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/tools/text/nltk_data/default.nix b/pkgs/tools/text/nltk_data/default.nix
index 118598083d5d..6445dd8c06e2 100644
--- a/pkgs/tools/text/nltk_data/default.nix
+++ b/pkgs/tools/text/nltk_data/default.nix
@@ -48,6 +48,11 @@ lib.makeScope newScope (self: {
     location = "taggers";
     hash = "sha256-ilTs4HWPUoHxQb4kWEy3wJ6QsE/98+EQya44gtV2inw=";
   });
+  snowball_data = makeNltkDataPackage ({
+    pname = "snowball_data";
+    location = "stemmers";
+    hash = "sha256-Y6LERPtaRbCtWmJCvMAd2xH02xdrevZBFNYvP9N4+3s=";
+  });
   stopwords = makeNltkDataPackage ({
     pname = "stopwords";
     location = "corpora";
diff --git a/pkgs/tools/text/ov/default.nix b/pkgs/tools/text/ov/default.nix
index c801bca711dd..ff5a076c6ecf 100644
--- a/pkgs/tools/text/ov/default.nix
+++ b/pkgs/tools/text/ov/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "ov";
-  version = "0.33.1";
+  version = "0.33.2";
 
   src = fetchFromGitHub {
     owner = "noborus";
     repo = "ov";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ub6BPasgJcEeYsmlYKCToEQ70RV17Uq8OSM0XB1e1yg=";
+    hash = "sha256-EaAguJPr/FVDfmfbC26zpmkZFnX+3Cdez/zvx2lr4jM=";
   };
 
   vendorHash = "sha256-/S7YKIwuZyQBGIbcPt/ffv8Vx6vzXsk/fDRCIXANPTE=";
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index 0622e4b5a07a..8cac719fc8a7 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "3.0.5";
+  version = "3.0.6";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,10 +11,10 @@ buildGoModule rec {
     owner = "errata-ai";
     repo = "vale";
     rev = "v${version}";
-    hash = "sha256-tRsfmQ3FkRQgIg3lD8xjbn1iV2QcwDdW5pmKh96+2Gs=";
+    hash = "sha256-hCGJI2copXuyrxq4X1akR2Vz3DYS87dv3RZdw3gopNM=";
   };
 
-  vendorHash = "sha256-AsBbJJQs+pU2UNfEFvNnPwaaabTrXvFBQLcriIA2ST4=";
+  vendorHash = "sha256-dkX/aQKuYNRynHuoj9m/6DI/mCEdp9XcKDt4TLx1rDU=";
 
   postInstall = ''
     mkdir -p $data/share/vale
diff --git a/pkgs/tools/text/yx/default.nix b/pkgs/tools/text/yx/default.nix
index 629cf442c48b..732be1760c9e 100644
--- a/pkgs/tools/text/yx/default.nix
+++ b/pkgs/tools/text/yx/default.nix
@@ -1,13 +1,19 @@
-{ lib, stdenv, fetchFromGitLab, libyaml }:
+{ lib
+, stdenv
+, fetchFromGitLab
+, libyaml
+, testers
+, yx
+}:
 stdenv.mkDerivation rec {
   pname = "yx";
-  version = "1.0.0";
+  version = "1.0.2";
 
   src = fetchFromGitLab {
     owner = "tomalok";
-    repo = pname;
+    repo = "yx";
     rev = version;
-    sha256 = "sha256-oY61V9xP0DwRooabzi0XtaFsQa2GwYbuvxfERXQtYcA=";
+    hash = "sha256-uuso+hsmdsB7VpIRKob8rfMaWvRMCBHvCFnYrHPC6iw=";
   };
 
   makeFlags = [
@@ -20,6 +26,12 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  passthru.tests.version = testers.testVersion {
+    package = yx;
+    command = "${meta.mainProgram} -v";
+    version = "v${yx.version}";
+  };
+
   meta = with lib; {
     description = "YAML Data Extraction Tool";
     homepage = "https://gitlab.com/tomalok/yx";
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index 66afb6302593..69b0ccff68bd 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -33,7 +33,7 @@
 , enableDiagFilter ? false, blockdiag, seqdiag, actdiag, nwdiag
 , enableQrcodeFilter ? false, qrencode
 , enableMatplotlibFilter ? false, matplotlib, numpy
-, enableAafigureFilter ? false, aafigure, recursivePthLoader
+, enableAafigureFilter ? false, aafigure, recursive-pth-loader
 # backends
 , enableDeckjsBackend ? false
 , enableOdfBackend ? false
@@ -180,7 +180,7 @@ in python3.pkgs.buildPythonApplication rec {
     echo "Extracting aafigure filter"
     unzip -d "$out/etc/asciidoc/filters/aafigure" "${aafigureFilterSrc}"
     # Add aafigure to sys.path (and it needs recursive-pth-loader)
-    pth_loader_path="$(toPythonPath ${recursivePthLoader})"
+    pth_loader_path="$(toPythonPath ${recursive-pth-loader})"
     aafigure_path="$(toPythonPath ${aafigure})"
     sed -i "/^import.*sys/asys.path.append(\"$pth_loader_path\"); sys.path.append(\"$aafigure_path\"); import sitecustomize" \
         "$out/etc/asciidoc/filters/aafigure/aafig2img.py"
diff --git a/pkgs/tools/typesetting/pulldown-cmark/default.nix b/pkgs/tools/typesetting/pulldown-cmark/default.nix
index 9a946eae732d..27b669a0d106 100644
--- a/pkgs/tools/typesetting/pulldown-cmark/default.nix
+++ b/pkgs/tools/typesetting/pulldown-cmark/default.nix
@@ -1,20 +1,18 @@
 { lib
 , rustPlatform
-, fetchFromGitHub
+, fetchCrate
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "pulldown-cmark";
-  version = "0.9.3";
+  version = "0.9.6";
 
-  src = fetchFromGitHub {
-    owner = "raphlinus";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-FK/+6N81qYyFsisPn5SkpubvWMYO7dLX9iHgNY/tAo4=";
+  src = fetchCrate {
+    inherit pname version;
+    hash = "sha256-5rCoFI+QWQVxF4YUzwP7jQytiIzTXtlOr3AJzHMdtR8=";
   };
 
-  cargoHash = "sha256-fcVnIb6WPRk133uTMH0xxmEJ3YgsftsTJXjqfOQQPDI=";
+  cargoHash = "sha256-it18jXKqUE43A6KAsx+BFc7YwufXjk1FJ0u8D2EolHQ=";
 
   meta = {
     description = "A pull parser for CommonMark written in Rust";
diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix
index b82704fc12b1..79e2db12b063 100644
--- a/pkgs/tools/typesetting/sile/default.nix
+++ b/pkgs/tools/typesetting/sile/default.nix
@@ -46,11 +46,11 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "sile";
-  version = "0.14.14";
+  version = "0.14.16";
 
   src = fetchurl {
     url = "https://github.com/sile-typesetter/sile/releases/download/v${finalAttrs.version}/sile-${finalAttrs.version}.tar.xz";
-    sha256 = "sha256-xGcbD43yfJ6Ru7mU7R+NxfK1YXnIDwcYMjB++gcNqYg=";
+    sha256 = "sha256-z5dYW33Pd9meMo9s3OcaQHAyT+AB94dvcw+gTGySOFc=";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/typesetting/tex/auctex/default.nix b/pkgs/tools/typesetting/tex/auctex/default.nix
index fe053e41be1e..dc027b5c470e 100644
--- a/pkgs/tools/typesetting/tex/auctex/default.nix
+++ b/pkgs/tools/typesetting/tex/auctex/default.nix
@@ -17,7 +17,7 @@ let auctex = stdenv.mkDerivation ( rec {
   buildInputs = [
     emacs
     ghostscript
-    (texliveBasic.withPackages (ps: [ ps.hypdoc ]))
+    (texliveBasic.withPackages (ps: [ ps.etoolbox ps.hypdoc ]))
   ];
 
   preConfigure = ''
diff --git a/pkgs/tools/typesetting/tex/blahtexml/default.nix b/pkgs/tools/typesetting/tex/blahtexml/default.nix
index 43981eb2ae92..fb7605924023 100644
--- a/pkgs/tools/typesetting/tex/blahtexml/default.nix
+++ b/pkgs/tools/typesetting/tex/blahtexml/default.nix
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
   postPatch = lib.optionalString stdenv.cc.isClang ''
     substituteInPlace makefile \
       --replace "\$(CXX)" "\$(CXX) -std=c++98"
+  '' +
+  # fix the doc build on TeX Live 2023
+  ''
+    substituteInPlace Documentation/manual.tex \
+      --replace '\usepackage[utf8x]{inputenc}' '\usepackage[utf8]{inputenc}'
   '';
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/tools/typesetting/tex/texlive/UPGRADING.md b/pkgs/tools/typesetting/tex/texlive/UPGRADING.md
index 302fac3020a6..91bc1c6f49fa 100644
--- a/pkgs/tools/typesetting/tex/texlive/UPGRADING.md
+++ b/pkgs/tools/typesetting/tex/texlive/UPGRADING.md
@@ -72,6 +72,13 @@ CTAN and the various mirrors) and that the build recipe continues to produce
 the same output. Should those assumptions not hold, remove the previous fixed
 hashes for the relevant package, or for all packages.
 
+### Upgrading the ConTeXt binaries
+
+The LuaMetaTeX sources required for ConTeXt are distributed separately from the
+TeX Live tarballs and must be updated manually (see `texlive.bin.context`). You
+must use the latest tarball at https://tug.org/svn/texlive/trunk/Master/source/
+whose revision number is less than or equal to that of the package `context`.
+
 ### Updating the licensing information
 
 The license of each package in texlive is automatically extracted from texlive's
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index f1816efb0cf9..df4a2862516e 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -2,8 +2,8 @@
 , texlive
 , zlib, libiconv, libpng, libX11
 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext
-, perl, perlPackages, python3Packages, pkg-config
-, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr
+, perl, perlPackages, python3Packages, pkg-config, cmake, ninja
+, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr, mupdf
 , brotli, cairo, pixman, xorg, clisp, biber, woff2, xxHash
 , makeWrapper, shortenPerlShebang, useFixedHashes, asymptote
 , biber-ms
@@ -34,16 +34,16 @@ let
     "tex4ht" "texlive-scripts-extra" "texware" "tie" "tpic2pdftex" "ttfutils"
     "uptex" "velthuis" "vlna" "web" "xml2pmx" ];
   coreBigPackages = [ "metafont" "mflua" "metapost" "luatex" "luahbtex"
-    "xetex" ] ++ lib.optional withLuaJIT "luajittex";
+    "upmendex" "xetex" ] ++ lib.optional withLuaJIT "luajittex";
   binPackages = lib.getAttrs (corePackages ++ coreBigPackages) tlpdb;
 
   common = {
     src = fetchurl {
       urls = [
-        "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${year}/texlive-${year}0321-source.tar.xz"
-              "ftp://tug.ctan.org/pub/tex/historic/systems/texlive/${year}/texlive-${year}0321-source.tar.xz"
+        "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${year}/texlive-${year}0313-source.tar.xz"
+              "ftp://tug.ctan.org/pub/tex/historic/systems/texlive/${year}/texlive-${year}0313-source.tar.xz"
       ];
-      hash = "sha256-X/o0heUessRJBJZFD8abnXvXy55TNX2S20vNT9YXm1Y=";
+      hash = "sha256-OHiqDh7QMBwFOw4u5OmtmZxEE0X0iC55vdHI9M6eebk=";
     };
 
     prePatch = ''
@@ -141,12 +141,6 @@ core = stdenv.mkDerivation rec {
     perl
   ];
 
-  patches = [
-    # Fix implicit `int` on `main`, which results in an error when building with clang 16.
-    # This is fixed upstream and can be dropped with the 2023 release.
-    ./fix-implicit-int.patch
-  ];
-
   hardeningDisable = [ "format" ];
 
   preConfigure = ''
@@ -203,7 +197,7 @@ core = stdenv.mkDerivation rec {
 inherit (core-big) metafont mflua metapost luatex luahbtex xetex;
 luajittex = core.big.luajittex or null;
 core-big = stdenv.mkDerivation {
-  pname = "texlive-core-big.bin";
+  pname = "texlive-bin-big";
   inherit version;
 
   __structuredAttrs = true;
@@ -211,20 +205,19 @@ core-big = stdenv.mkDerivation {
   inherit (common) binToOutput src prePatch;
 
   patches = [
-    # improves reproducibility of fmt files. This patch has been proposed upstream,
-    # but they are considering some other approaches as well. This is fairly
-    # conservative so we can safely apply it until they make a decision
-    # https://mailman.ntg.nl/pipermail/dev-luatex/2022-April/006650.html
+    # improves reproducibility of fmt files
+    # see discussion at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1009196
     (fetchpatch {
-      name = "reproducible_exception_strings.patch";
-      url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=1009196;filename=reproducible_exception_strings.patch;msg=5";
-      sha256 = "sha256-RNZoEeTcWnrLaltcYrhNIORh42fFdwMzBfxMRWVurbk=";
+      name = "lua_fixed_hash.patch";
+      url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=1009196;filename=lua_fixed_hash.patch;msg=45";
+      sha256 = "sha256-FTu1eRd3AUU7IRs2/7e7uwHuvZsrzTBPypbcEZkU7y4=";
     })
     # fixes a security-issue in luatex that allows arbitrary code execution even with shell-escape disabled, see https://tug.org/~mseven/luatex.html
+    # fixed in LuaTeX 1.17.0, remove patch when upgrading to TL 2024
     (fetchpatch {
       name = "CVE-2023-32700.patch";
-      url = "https://tug.org/~mseven/luatex-files/2022/patch";
-      hash = "sha256-o9ENLc1ZIIOMX6MdwpBIgrR/Jdw6tYLmAyzW8i/FUbY=";
+      url = "https://tug.org/~mseven/luatex-files/2023/patch";
+      hash = "sha256-AvMedFkZJAFsCJ51eQqBQM4MpzLzn+GeBrzuTzISVkk=";
       excludes = [  "build.sh" ];
       stripLen = 1;
     })
@@ -238,15 +231,12 @@ core-big = stdenv.mkDerivation {
       stripLen = 1;
       extraPrefix = "libs/luajit/LuaJIT-src/";
     })
-    # Fix implicit `int` on `main`, which results in an error when building with clang 16.
-    # This is fixed upstream and can be dropped with the 2023 release.
-    ./fix-implicit-int.patch
   ];
 
   hardeningDisable = [ "format" ];
 
   inherit (core) nativeBuildInputs depsBuildBuild;
-  buildInputs = core.buildInputs ++ [ core cairo harfbuzz icu graphite2 libX11 ];
+  buildInputs = core.buildInputs ++ [ core cairo harfbuzz icu graphite2 libX11 potrace ];
 
   /* deleting the unused packages speeds up configure by a considerable margin
      and ensures we do not rebuild existing libraries by mistake */
@@ -292,8 +282,8 @@ core-big = stdenv.mkDerivation {
 
 
 chktex = stdenv.mkDerivation {
-  pname = "texlive-chktex.bin";
-  inherit version;
+  pname = "chktex";
+  inherit (texlive.pkgs.chktex) version;
 
   inherit (common) src;
 
@@ -309,46 +299,77 @@ chktex = stdenv.mkDerivation {
   enableParallelBuilding = true;
 };
 
+# the LuaMetaTeX engine (distributed since TeX Live 2023) must be built separately
+# the sources used by TL are stored in the source TL repo
+# for details see https://wiki.contextgarden.net/Building_LuaMetaTeX_for_TeX_Live
+context = stdenv.mkDerivation rec {
+  pname = "luametatex";
+  version = "2.10.08";
+
+  src = fetchurl {
+    url = "https://tug.org/svn/texlive/trunk/Master/source/luametatex-${version}.tar.xz?revision=67034&view=co";
+    hash = "sha256-3JeOUQ63jJOZWTxFCoyWjfcrspmdmC/yqgS1JaLfTWk=";
+  };
+
+  enableParallelBuilding = true;
+  nativeBuildInputs = [ cmake ninja ];
+
+  meta = with lib; {
+    description = "The LUAMETATEX engine is a follow up on LUATEX and is again part of CONTEXT development";
+    homepage = "https://www.pragma-ade.nl/luametatex-1.htm";
+    license = licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ apfelkuchen6 xworld21 ];
+  };
+};
 
 dvisvgm = stdenv.mkDerivation {
-  pname = "texlive-dvisvgm.bin";
-  inherit version;
+  pname = "dvisvgm";
+  inherit (texlive.pkgs.dvisvgm) version;
 
   inherit (common) src;
 
   patches = [
+    # do not use deprecated NEWPDF option with Ghostscript >= 10.02.0
+    # https://github.com/mgieseki/dvisvgm/issues/245
     (fetchpatch {
-      url = "https://github.com/mgieseki/dvisvgm/commit/629544928877362d0c6d64f20695f7df3073c5eb.patch";
+      name = "dont-use-NEWPDF-with-GS-10.02.0.patch";
+      url = "https://github.com/mgieseki/dvisvgm/commit/f31cdf14d73f586e2b92b4b0891d097a90274a0b.patch";
+      hash = "sha256-Yf/GhmJYM87M0ITZ/+7q2ZvSYnac4N2/NkTkFlJ2VII=";
       stripLen = 1;
       extraPrefix = "texk/dvisvgm/dvisvgm-src/";
-      hash = "sha256-CBCbc/woaFeLw7aBG/kSVYc3a5Q56zbAB64kK6mRy4g=";
-    })
-
-    (fetchpatch {
-      name = "gcc-13.patch";
-      url = "https://github.com/mgieseki/dvisvgm/commit/d5df85b403602c927fe56a1f692af91182a1facd.patch";
-      stripLen = 1;
-      extraPrefix = "texk/dvisvgm/dvisvgm-src/";
-      hash = "sha256-U5m9jPmfAXOQKaU+aO/h6hEAzHRPqKcdj5k8f5gU9JQ=";
-      excludes = [ "texk/dvisvgm/dvisvgm-src/src/ttf/TTFTable.hpp" ];
     })
   ];
 
+  # since we are running configure directly in texk/dvisvgm,
+  # the option --with-system-potrace is not picked up properly
+  # and dvisvgm tries to build a vendored copy of potrace
+  postPatch = ''
+    cat > texk/dvisvgm/dvisvgm-src/libs/potrace/Makefile <<EOF
+    all:
+    install:
+    EOF
+  '' +
+    # PDF handling requires mutool (from mupdf) since Ghostscript 10.01
+  ''
+    substituteInPlace texk/dvisvgm/dvisvgm-src/src/PDFHandler.cpp \
+      --replace 'Process("mutool"' "Process(\"$(PATH="$HOST_PATH" command -v mutool)\""
+  '';
+
   preConfigure = "cd texk/dvisvgm";
 
   configureFlags = common.configureFlags
     ++ [ "--with-system-kpathsea" ];
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ core brotli ghostscript zlib freetype woff2 potrace xxHash ];
+  buildInputs = [ core brotli ghostscript zlib freetype woff2 potrace xxHash mupdf ];
 
   enableParallelBuilding = true;
 };
 
 
 dvipng = stdenv.mkDerivation {
-  pname = "texlive-dvipng.bin";
-  inherit version;
+  pname = "dvipng";
+  inherit (texlive.pkgs.dvipng) version;
 
   inherit (common) src;
 
@@ -411,8 +432,8 @@ inherit biber;
 inherit biber-ms;
 bibtexu = bibtex8;
 bibtex8 = stdenv.mkDerivation {
-  pname = "texlive-bibtex-x.bin";
-  inherit version;
+  pname = "bibtex-x";
+  inherit (texlive.pkgs.bibtexu) version;
 
   inherit (common) src;
 
@@ -429,8 +450,8 @@ bibtex8 = stdenv.mkDerivation {
 
 
 xdvi = stdenv.mkDerivation {
-  pname = "texlive-xdvi.bin";
-  inherit version;
+  pname = "xdvi";
+  inherit (texlive.pkgs.xdvi) version;
 
   inherit (common) src;
 
@@ -453,7 +474,7 @@ xdvi = stdenv.mkDerivation {
 };
 
 xpdfopen = stdenv.mkDerivation {
-  pname = "texlive-xpdfopen.bin";
+  pname = "xpdfopen";
   inherit (texlive.pkgs.xpdfopen) version;
 
   inherit (common) src;
@@ -471,8 +492,8 @@ xpdfopen = stdenv.mkDerivation {
 {
 
 xindy = stdenv.mkDerivation {
-  pname = "texlive-xindy.bin";
-  inherit version;
+  pname = "xindy";
+  inherit (texlive.pkgs.xindy) version;
 
   inherit (common) src;
 
diff --git a/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix b/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix
index 606d9dcb0840..9a721168591f 100644
--- a/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix
+++ b/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix
@@ -266,6 +266,9 @@ let
         target="$(readlink "$link")"
       fi
 
+      # skip non-executable files (such as context.lua)
+      if [[ ! -x "$target" ]] ; then continue ; fi
+
       rm "$link"
       makeWrapper "$target" "$link" \
         --inherit-argv0 \
@@ -371,7 +374,16 @@ let
   ''
     texlinks --quiet "$out/bin"
   '' +
+    # temporarily patch mtxrun.lua to generate uuid's deterministically from SOURCE_DATE_EPOCH
+  ''
+    if [[ -e "$out/bin/mtxrun" ]]; then
+      mv "$out"/bin/mtxrun.lua{,.orig}
+      substitute "$TEXMFDIST"/scripts/context/lua/mtxrun.lua "$out"/bin/mtxrun.lua \
+        --replace 'randomseed(math.initialseed)' "randomseed($SOURCE_DATE_EPOCH)"
+    fi
+  '' +
   # texlive postactions (see TeXLive::TLUtils::_do_postaction_script)
+  # this step includes generating the ConTeXt file databases since TL 2023
   (lib.concatMapStrings (pkg: ''
     postaction='${pkg.postactionScript}'
     case "$postaction" in
@@ -380,9 +392,16 @@ let
       *) postInterp= ;;
     esac
     echo "postaction install script for ${pkg.pname}: ''${postInterp:+$postInterp }$postaction install $TEXMFROOT"
-    $postInterp "$TEXMFROOT/$postaction" install "$TEXMFROOT"
+    FORCE_SOURCE_DATE=1 TZ= $postInterp "$TEXMFROOT"/$postaction install "$TEXMFROOT"
   '') (lib.filter (pkg: pkg ? postactionScript) pkgList.tlpkg)) +
+  # restore the original mtxrun.lua
+  ''
+    if [[ -e "$out/bin/mtxrun" ]]; then
+      mv "$out"/bin/mtxrun.lua{.orig,}
+    fi
+  '' +
     # generate formats
+    # TODO generate ConTeXt formats (based on fmtutil.cnf?)
   ''
     # many formats still ignore SOURCE_DATE_EPOCH even when FORCE_SOURCE_DATE=1
     # libfaketime fixes non-determinism related to timestamps ignoring FORCE_SOURCE_DATE
@@ -408,21 +427,6 @@ let
   ''
     rm "$out"/bin/*-sys
   '' +
-  # TODO: a context trigger https://www.preining.info/blog/2015/06/debian-tex-live-2015-the-new-layout/
-    # http://wiki.contextgarden.net/ConTeXt_Standalone#Unix-like_platforms_.28Linux.2FMacOS_X.2FFreeBSD.2FSolaris.29
-
-  # MkIV uses its own lookup mechanism and we need to initialize
-  # caches for it.
-  # We use faketime to fix the embedded timestamps and patch the uuids
-  # with some random but constant values.
-  ''
-    if [[ -e "$out/bin/mtxrun" ]]; then
-      substitute "$TEXMFDIST"/scripts/context/lua/mtxrun.lua mtxrun.lua \
-        --replace 'cache_uuid=osuuid()' 'cache_uuid="e2402e51-133d-4c73-a278-006ea4ed734f"' \
-        --replace 'uuid=osuuid(),' 'uuid="242be807-d17e-4792-8e39-aa93326fc871",'
-      FORCE_SOURCE_DATE=1 TZ= faketime -f '@1980-01-01 00:00:00 x0.001' luatex --luaonly mtxrun.lua --generate
-    fi
-  '' +
   # Get rid of all log files. They are not needed, but take up space
   # and render the build unreproducible by their embedded timestamps
   # and other non-deterministic diagnostics.
diff --git a/pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix b/pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix
index efbb3a1fb561..db2d0f016b05 100644
--- a/pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix
+++ b/pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix
@@ -99,14 +99,12 @@ let
       # tlpkg is not a true container but a subfolder of the run container
       urlName = pname + (lib.optionalString (tlType != "run" && tlType != "tlpkg") ".${tlType}");
       urls = map (up: "${up}/archive/${urlName}.r${toString revision}.tar.xz") mirrors;
-      # TODO switch to simpler "${name}-${tlOutputName}" (requires new fixed hashes)
-      container = runCommand "texlive-${pname}${lib.optionalString (tlType != "run") ".${tlType}"}-${version}${extraVersion}"
+      container = runCommand "${name}-${tlOutputName}"
         ({
           src = fetchurl { inherit urls sha512; };
-          # save outputName as fixed output derivations cannot change nor override outputName
-          passthru = passthru // { inherit tlOutputName; };
-          # TODO remove tlType from derivation (requires a rebuild)
-          inherit meta stripPrefix tlType;
+          inherit passthru;
+          # save outputName, since fixed output derivations cannot change nor override outputName
+          inherit meta stripPrefix tlOutputName;
         } // lib.optionalAttrs (fixedHash != null) {
           outputHash = fixedHash;
           outputHashAlgo = "sha256";
@@ -114,7 +112,7 @@ let
         })
         (''
           mkdir "$out"
-          if [[ "$tlType"  == "tlpkg" ]]; then
+          if [[ "$tlOutputName"  == "tlpkg" ]]; then
             tar -xf "$src" \
               --strip-components=1 \
               -C "$out" --anchored --exclude=tlpkg/tlpobj --keep-old-files \
@@ -154,8 +152,7 @@ let
     tlu = texliveBinaries.luatex;
   };
 
-  # TODO switch to simpler "${name}" (requires a rebuild)
-  bin = runCommand "texlive-${pname}.bin-${version}"
+  bin = runCommand "${name}"
     {
       inherit meta;
       passthru = passthru // { tlOutputName = "out"; };
@@ -168,7 +165,7 @@ let
         ++ (lib.attrVals (args.scriptExts or [ ]) extToInput);
       nativeBuildInputs = extraNativeBuildInputs;
       # absolute scripts folder
-      scriptsFolder = lib.optionalString (tex ? outPath) (tex.outPath + "/scripts/" + args.scriptsFolder or pname);
+      scriptsFolder = lib.optionals (tex ? outPath) (builtins.map (f: tex.outPath + "/scripts/" + f) (lib.toList args.scriptsFolder or pname));
       # binaries info
       inherit (args) binfiles;
       binlinks = builtins.attrNames (args.binlinks or { });
@@ -183,8 +180,7 @@ let
     '';
 
   # build man, info containers
-  # TODO switch to simpler "${name}-man" (requires a rebuild)
-  man = builtins.removeAttrs (runCommand "texlive-${pname}.man-${version}${extraVersion}"
+  man = builtins.removeAttrs (runCommand "${name}-man"
     {
       inherit meta texdoc;
       passthru = passthru // { tlOutputName = "man"; };
@@ -194,8 +190,7 @@ let
       ln -s {"$texdoc"/doc,"$out"/share}/man
     '') [ "out" ] // lib.optionalAttrs hasBinfiles { out = bin; };
 
-  # TODO switch to simpler "${name}-info" (requires a rebuild)
-  info = builtins.removeAttrs (runCommand "texlive-${pname}.info-${version}${extraVersion}"
+  info = builtins.removeAttrs (runCommand "${name}-info"
     {
       inherit meta texdoc;
       passthru = passthru // { tlOutputName = "info"; };
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index a9d6e717318f..5611760ce66c 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -43,13 +43,13 @@ let
 
   version = {
     # day of the snapshot being taken
-    year = "2023";
-    month = "03";
-    day = "19";
+    year = "2024";
+    month = "01";
+    day = "14";
     # TeX Live version
-    texliveYear = 2022;
+    texliveYear = 2023;
     # final (historic) release or snapshot
-    final = true;
+    final = false;
   };
 
   # The tarballs on CTAN mirrors for the current release are constantly
@@ -63,16 +63,23 @@ let
     "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${toString texliveYear}/tlnet-final"
     "ftp://tug.org/texlive/historic/${toString texliveYear}/tlnet-final"
   ] ++ [
+    # CTAN mirrors
+    "https://mirror.ctan.org/systems/texlive/tlnet"
     # daily snapshots hosted by one of the texlive release managers;
-    # used for non-final snapshots and as fallback for final snapshots that have not reached yet the historic mirrors
-    # please note that this server is not meant for large scale deployment and should be avoided on release branches
+    # used for packages that in the meanwhile have been updated or removed from CTAN
+    # and for packages that have not reached yet the historic mirrors
+    # please note that this server is not meant for large scale deployment
     # https://tug.org/pipermail/tex-live/2019-November/044456.html
+    # https://texlive.info/ MUST appear last (see tlpdbxz)
     "https://texlive.info/tlnet-archive/${year}/${month}/${day}/tlnet"
   ];
 
   tlpdbxz = fetchurl {
-    urls = map (up: "${up}/tlpkg/texlive.tlpdb.xz") mirrors;
-    hash = "sha256-vm7DmkH/h183pN+qt1p1wZ6peT2TcMk/ae0nCXsCoMw=";
+    urls = map (up: "${up}/tlpkg/texlive.tlpdb.xz")
+      # use last mirror for daily snapshots as texlive.tlpdb.xz changes every day
+      # TODO make this less hacky
+      (if version.final then mirrors else [ (lib.last mirrors) ]);
+    hash = "sha256-eUG0KVfFPkjOczCsu2GAPRQcvcPrEIGqIsJNRc+AHDs=";
   };
 
   tlpdbNix = runCommand "tlpdb.nix" {
@@ -152,12 +159,12 @@ let
   # The correctness of this collation is tested by tests.texlive.licenses
   licenses = with lib.licenses; {
     scheme-basic = [ free gfl gpl1Only gpl2 gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ];
-    scheme-bookpub = [ artistic2 asl20 fdl13Only free gfl gpl1Only gpl2 gpl2Plus knuth lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain ];
+    scheme-bookpub = [ artistic2 asl20 bsd3 fdl13Only free gfl gpl1Only gpl2 gpl2Plus knuth lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain ];
     scheme-context = [ bsd2 bsd3 cc-by-sa-40 free gfl gfsl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus knuth lgpl2 lgpl21
       lppl1 lppl13c mit ofl publicDomain x11 ];
-    scheme-full = [ artistic1-cl8 artistic2 asl20 bsd2 bsd3 bsdOriginal cc-by-10 cc-by-40 cc-by-sa-10 cc-by-sa-20
-      cc-by-sa-30 cc-by-sa-40 cc0 fdl13Only free gfl gfsl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus isc knuth
-      lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
+    scheme-full = [ artistic1-cl8 artistic2 asl20 bsd2 bsd3 bsdOriginal cc-by-10 cc-by-20 cc-by-30 cc-by-40 cc-by-sa-10 cc-by-sa-20 cc-by-sa-30
+      cc-by-sa-40 cc0 fdl13Only free gfl gfsl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit
+      ofl publicDomain x11 ];
     scheme-gust = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-40 cc0 fdl13Only free gfl gfsl gpl1Only gpl2
       gpl2Plus gpl3 gpl3Plus knuth lgpl2 lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
     scheme-infraonly = [ gpl2 gpl2Plus lgpl21 ];
@@ -167,9 +174,8 @@ let
     scheme-minimal = [ free gpl1Only gpl2 gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ];
     scheme-small = [ asl20 cc-by-40 cc-by-sa-40 cc0 fdl13Only free gfl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus knuth
       lgpl2 lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
-    scheme-tetex = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-10 cc-by-sa-20 cc-by-sa-30 cc-by-sa-40 cc0
-      fdl13Only free gfl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a
-      lppl13c mit ofl publicDomain x11];
+    scheme-tetex = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-30 cc-by-40 cc-by-sa-10 cc-by-sa-20 cc-by-sa-30 cc-by-sa-40 cc0 fdl13Only free gfl gpl1Only
+      gpl2 gpl2Plus gpl3 gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ];
   };
 
   meta = {
diff --git a/pkgs/tools/typesetting/tex/texlive/fix-implicit-int.patch b/pkgs/tools/typesetting/tex/texlive/fix-implicit-int.patch
deleted file mode 100644
index f74409fe1066..000000000000
--- a/pkgs/tools/typesetting/tex/texlive/fix-implicit-int.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -ur a/utils/m-tx/mtx-src/prepmx.c b/utils/m-tx/mtx-src/prepmx.c
---- a/utils/m-tx/mtx-src/prepmx.c	2018-04-28 17:56:18.000000000 -0600
-+++ b/utils/m-tx/mtx-src/prepmx.c	2023-07-11 15:21:26.351024424 -0600
-@@ -769,6 +769,7 @@
- }
- 
- 
-+int
- main(int argc, Char *argv[])
- {  /* ---- Main program ------------------------ */
-   PASCAL_MAIN(argc, argv);
-diff -ur a/utils/pmx/pmx-src/libf2c/main.c b/utils/pmx/pmx-src/libf2c/main.c
---- a/utils/pmx/pmx-src/libf2c/main.c	2016-02-09 22:31:26.000000000 -0700
-+++ b/utils/pmx/pmx-src/libf2c/main.c	2023-07-11 15:49:35.043438384 -0600
-@@ -106,6 +106,7 @@
- #ifdef KR_headers
- main(argc, argv) int argc; char **argv;
- #else
-+int
- main(int argc, char **argv)
- #endif
- {
diff --git a/pkgs/tools/typesetting/tex/texlive/fixed-hashes.nix b/pkgs/tools/typesetting/tex/texlive/fixed-hashes.nix
index adb4a6093564..4e47feed0cd7 100644
--- a/pkgs/tools/typesetting/tex/texlive/fixed-hashes.nix
+++ b/pkgs/tools/typesetting/tex/texlive/fixed-hashes.nix
@@ -12,7 +12,7 @@ abbr-15878={run="1irhcs2zkam6sdl92wk07v5ckg56r6n10hgcjn5im2jpsinsad5k";doc="1z45
 abc-41157={run="0fxnxavk76gayahflpa8f61j63x9y6aym7gqnmn6xfgggyab4qmd";doc="0ipxihm9jkb5dvlrk217275p7r6amnkbh352k07s7k7i7rjg9pmd";source="0461ci1zg2wq3f9qypwkxmyi0rciv8p2zk9rcajs0591fwz3drj5";};
 abnt-55471={run="0zw8vdmqcb5qddc0rf8qd67fwprwjagzy8s9ildgisb7arqmbj5w";doc="00m174q9gxsm23j3fla7m7lj5fbr7iqfw02dz9s6481nfsjh1wgy";};
 abntex2-49248={run="1q7r2j7c5p1f0gbrc3sjd5gjq2mhljf1nj5n5760snhwj3qblr66";doc="1id5yj5kh0qgjywbiajaf5hf9ix9jq8178fv2kvp1yslra7r20s2";};
-abntexto-65705={run="0chm63y8i7fawll6c83ydq62mzmnmyzivg8jgns2aph3vsys45xz";doc="0spy4chd8z2qff3sziwwfx745107szzjgp33q43j54yja0hzyaw2";};
+abntexto-68837={run="1yzmq0rkpmg946zpbcmphn70fpjv8a6n29n66q4x164ay3im089w";doc="03n3b9mk9nyxplaj8vhb43i9fnxvcqr4q30jfbgax50qji7lghdy";};
 aboensis-62977={run="171586kjnfg1qb4wi50mrc9jd8h2ybg6r68kwyhgc5y0gyhyg08c";doc="0qc74wvq6ibxgil36wp0b5s66d7m7axbn0y1qpzy9hyrh8v8jpav";};
 abraces-64967={run="0s1aclk85fcda4nf4i8pl3gvr65vghgcmphpwyi8n7im7kia25y2";doc="0h7nyss6gy8r79ny9klpskbh6bf10rp5f67p1x5wklvpmyaz270i";};
 abspos-64465={run="0qzx59dz7x8pn9jr8g15jsmf4hs27v8qc30phi1g5h39i9c6pmg6";doc="1a3li91yvvw2r62dvp87zzzxni3xllrzp38zg6qxfsn6xbwry9zf";source="10dx92msh53z7sn603vsg740wvbhz8hr6bcn1sjs60snl47f4yf5";};
@@ -25,17 +25,18 @@ accessibility-55777={run="0d7xrsdanx7wnnmc983rfy00r4290rigwx5ils6pfm0br2g5kfsr";
 accfonts-18835={run="10z7c7cgwm62dyzxfnj0jiy328zj3wccqjick37lz641vqifrd4v";doc="17mbr2ydbkc4md6zd34km3d4s2vjmqzfwb2l01n4y30vjz2lzsn1";};
 accsupp-53052={run="156yax2q84naj394xzr8m7hfyl1j7pziw8d6rzkrjjgxs9p9az1j";doc="1ak7xv0hhghgbwmcviirhh1x5y9pb4is8h0a32kdd4hdxjdm7c92";source="0spz8640bdzmirlnc3rwynzvgy5fi58vfs802jzbqxb0ypdg14s7";};
 achemso-65103={run="1chl9nny4lm75qjhv9pbjbgzsm54vj7dlpfdm0gc5yansb70ghcv";doc="1fhszmzl99l2nvp3m95hf44mgqkg2mvfp2sw2nk12k8a7b2n33a4";source="1kd9dhmjp0n0y0cv7437194yhjdsd0ac6qbvx060sw72mb2dbj6j";};
-acmart-64967={run="0h5m6wjy31aid2kyqwkx034b7mzzf6pb6g4xqwg1linajq3377kb";doc="0w0f59fr9nlmgy8f46z7z69gfmsdn0wy7x9g1n47hh8zhr4n7z32";source="04g0byyqwdrf5kc8jrfwz9nswliimxsgn065g895nr0wcywac0s6";};
+acmart-69242={run="1qyzb19sj7s9q05zqb295pl2424ip4w8pspy1hl5d0kja6vcp0kp";doc="0rvi2yz91460ja4r25p2ka79rw3gzji2qplyjrww2sl78k5xa6cy";source="1hcmzbfh7app6w9fvmj29v1qwc7x76w3szjhgx94p9lr9gkja8hk";};
 acmconf-15878={run="17l1kcwv6wk5p752lmanlx0bmh2py4hfxranapgbdrhjpis4jm9i";doc="1vyhkwqg0v3pxjnlwzwnmiffh6b3d9nrwnpaqjm24j9d2sc6cxcx";source="1n8cf6n2fdb88xmnj2m5r3cjz3jlp9n7bn1yr717fsp2ks81pr3f";};
 acro-62925={run="1hzavaicandq6sqz3sy8hj5n3kvkbic34p8id2mslizcw3rmlhhz";doc="05iwf21y45l61fsask04pphxzzjn7h1al8n2wv59jkxyh8vy8dbv";};
 acronym-54758={run="1gq7j83gjzlfbnrnz1cl0lihpdalsn6ww6hqxdfxikm28vynk88g";doc="0zscjwg22s81awq27lhqs14davwbhf5y4zsl9dsq2135rppmmyvv";source="16dds23mj3ha1b64fxz2dnxk7wsrcmhpmpz0zgqda46vaab9qiw9";};
 acroterm-61719={run="0snnpamdf0qqqf3nabl2f4pnabpjxjn949s44lb8wb4lifndyj8d";doc="1ybgfy3x0a3dz5p2gac2w4ai2yc84i28vi6x0bq61ff3v74iqdhc";source="1gja9j0a0v22qqdqy5f3ivrwablrz550gp7nf20054cirjzgr6f2";};
 active-conf-15878={run="1chi30gbr7xjcs7y3p2y8vfg6hany4wbacdm4drha9pa9m5sxqgw";doc="1css89hbdg8zgl7zf2x7vfgbl90x7bjvf0c0m0akjk8fzx936g7k";source="0anxqifjlf96z4vvr031v26s73d1a1sgjp8xv9xxv0kia4l7048n";};
-actuarialangle-51376={run="1cb333pky7vq83gfriza8afy17ag9lm81zr2f3nbjz4vrk7sidqd";doc="0bwyj15r2bf3bqc7y0dbz03bwccwlh9ygcv1frnq6bc758rfksb1";source="169m5msyy0braf61jz721isba94fx5wxinzfsr2yz9hs6ic62dg7";};
-actuarialsymbol-54080={run="0g8vm5wynrlj0764w7l9wfx2zw6ir0hik8nv8djlc96qlp8cm80r";doc="1kqfn2c7rws75yk01962nx2ra94vfh2j8rnfqk7qkip45x7ya172";source="02s6fiv0i0a1jzx4jkbv18rbmnld4gzhv2dfa1gijvzwzr1rpvp2";};
+actuarialangle-67201={run="1cb333pky7vq83gfriza8afy17ag9lm81zr2f3nbjz4vrk7sidqd";doc="0bwyj15r2bf3bqc7y0dbz03bwccwlh9ygcv1frnq6bc758rfksb1";source="169m5msyy0braf61jz721isba94fx5wxinzfsr2yz9hs6ic62dg7";};
+actuarialsymbol-67201={run="0g8vm5wynrlj0764w7l9wfx2zw6ir0hik8nv8djlc96qlp8cm80r";doc="1kqfn2c7rws75yk01962nx2ra94vfh2j8rnfqk7qkip45x7ya172";source="02s6fiv0i0a1jzx4jkbv18rbmnld4gzhv2dfa1gijvzwzr1rpvp2";};
 addfont-58559={run="05a413mb0ksviwbl0y1a14j8y3np5ra5sgjcnbrslrvavf4q2spw";doc="069vk1d1ig38r6a5a87fblq4m429crp79xqccrsk48ixswxafj95";};
 addliga-50912={run="1w9wv0wbv8acc7qvcc5pb5kjxmy2nz95cb990mmgc2lxvvsaw2rl";doc="0q41i3cd16ahpklr1ddmzmfs741x5k30vaz7gz7k8jrf0579nv7w";};
 addlines-49326={run="1rkcpk1c8in0g6dgyc1m6pyz01jbx19gv98jmaiybxgvsa3z11jc";doc="1gaf9ljzkdhwjg460hl79hlwdwi0mrvgs51si8k8gvialng8b1fv";source="1m3l2s1l671n9j7jdsxfljjhrsvh81bayw40v81dm0f68g5hslnf";};
+addtoluatexpath-67821={run="1wzryl229yq1irxpj58qn32l5adhp9sc132y6m46ps283qq6wrin";doc="0xw2bvqdcr761b1i3gh5gg8gfj67sx539hv8jpcdf2scln8zx9bl";};
 adfathesis-26048={run="0j60iq9nzk5kbs12dqx5jk84n14kdlx93mcypwi9b2gn7kyqzn5i";doc="0c6k4xsy0jg95qg45bqk9527kb3k3azyxwpl2zrkw0ld6k47sswz";source="17irbcz9wjnc6rj9f736i2hw4qrjwa1gz5z6w7gvq26b68pkxrw4";};
 adforn-54512={run="1cb6w50xb9wkl6x384dhldrhpjbk5l73x5gzpbm8za4gmh1pc94v";doc="0a1f1rrii1zvd58h2slk2zj032vjqpi480d38rgi2k2j9wlbbyyg";};
 adfsymbols-54512={run="19rr3zdgqlmnrvd61g9bjiqiyn2gpn82fhj4219gqb1l06nqa0ka";doc="059fjvdmd1jgr1flv5181ac3wvby93hyykfshcmr1j06zs8j9kyx";};
@@ -43,14 +44,16 @@ adhocfilelist-29349={run="08fnrvnbrp7534b56hn8w0nm8pbgjli62v34mkalp4qkfb559kh7";
 adigraph-49862={run="077iqsmfa1fpgmnppb7bcnskpa9ap4wa53ip67b4d21pa1arzszq";doc="11z48jaj6xcwrzv8y2byjcs88mdvqi2fqk0nqw3cy5pq7b5m7rap";};
 adjmulticol-63320={run="0wjqjg46gbf44f2x0xf58b3f9bxfkrh21m85mh1xsd5pxdy116fl";doc="01r00mf8skd54xgzqjicl4djjzgnf5fdw5hcbf9p5ixx1zw1jq7l";source="1zyq1r0y3amkqch1lif0dygif0sgwhypscqdsqml6ik2ziv2alzi";};
 adjustbox-64967={run="03fqxxhpc41zkj8g7dwd4p3vs9c0qg95c6bdwwgvn3xkaqn6amjm";doc="11mldsmmp1mcd5kya8bh2zmkgl01ysswcia1lips3vjfiqjp8vp8";source="0qzjxslq3bni6iancxix471sl6455syp1pglnn7xa5lxlfl43ccs";};
-adobemapping-66553={run="1yvf74mlmxmnq9m0wvda9xcna8xnn382bbrzizzjm5w7bk8c4g98";};
+adobemapping-66552={run="1yvf74mlmxmnq9m0wvda9xcna8xnn382bbrzizzjm5w7bk8c4g98";};
 adrconv-46817={run="1wx9a00jky9v8xmjhrjlhbl3kcdxh1n9yybpsr74g2vw4bwdyr70";doc="1ny594a3dvx3jba0lf72kjny60ix6hnnw8gj479ccfj3gw2wv0mp";source="1cndbrbw5hss1qi7z9mgymqrcmvlhj8hxw16qjjzch85xw1nrwzg";};
 adtrees-51618={run="1j38apxxk3klabxrm9kpdf6zbmiqb17is5yqgg1a4576n8paqg4y";doc="1851rqb9gs1wf8wl8f7pqbnxgpikzxzw1n5mg5w0kcwd889g17yc";};
 advdate-20538={run="0wgr84y3k10g6622sm11c4m4wxj73vpklf5i5gnp14yamwi19cn8";doc="0hyq7kn10ajqabmz2r363wfpdi71a9zkv6yr30s9lda0vy5vz4k8";};
+advice-69283={run="0p76w2fj14908vfajmsjjv4kh7d77vyd7x24zylgil07p2s1i86d";doc="13hngcgkihzmam4fc4clkb49a4mzy0ip6vxx06b4gykzq8pdvkkh";source="06bfcx1pv400zk5lyz9i8pg4i8kax370jby6s9p10p91wym2p67d";};
 ae-15878={run="1nbhlv1qp7z8j9bhfrljmpjlcrl346z1r7f4hdxijdql0wxs6a8z";doc="1qgq32xw5micjri99zmznmq8gsli6y9fqdi2l7sv530ri9i7kgxk";source="1ljkgb4qj0wa6yxddx4w8w15z0nw5vnyh0cpzc4vwkc0m03xbrm4";};
 aeguill-15878={run="1klri7b3isxwa9lpc2j857y8r9n9x1av865jm93ha6nrwlzqk7a3";doc="09lcp9in9v7vxck9kaql008qmcvba3g8glbm6rr5iag7nn2vbvj6";};
 aesupp-58253={run="10yd16v85zbkzkxb17gr4kf4li28ims33i1zrkpygbdf10nclxcm";doc="1dydcjdz57kn3gwb3pfm4yp6hr69pyqhy5lhm9pnlcrycvqsn8qr";source="1s41gd7ansh80z6mmwwha7pypaxwxxvrz3sdfj24pa5b2agprq68";};
-afm2pl-54074={run="1nbb9lcxqxj2aary7a65fai3hgj4nwzm690iy0xv62v580krdbck";doc="0cp8il19l9sz997v9lcxkl6r94mnlnbj2lzdrffwd1fv63gkxc6x";};
+affilauthor-68996={run="0xrnjg386xpa34l3n26myqkx2cjk06hmj4wnm2yz29kyj4n8fjsh";doc="1d0fss9fniwwn1d8cmvwyjj6fvl5s9jvmgclh6da7pywdw5xgi3q";};
+afm2pl-66186={run="1nbb9lcxqxj2aary7a65fai3hgj4nwzm690iy0xv62v580krdbck";doc="0akl6by43kha3rr9dwnr3hhnnfqg4lqnxv5pqf64cnp17ih47wx0";};
 afparticle-35900={run="0516hjm1v88vk70ggagkj0s00n465y08fr2ys3f2gychrax425a5";doc="1ajpc55z02q8wgriwzzm4f96dmn5bpi9n81zad6kay7c7vwfa9g5";source="03cx2ak956rdwdd5ya49fh81vdwrzq9y813r1h8qcp618sr3h14n";};
 afthesis-15878={run="16jyz1skb9l78dwphggq23jm14zwhycmkx3kn0sm13dcfifrkxpd";doc="091f4flclyahjlxwa640l7vmrfiyb4wqgkh19caq8fld96zkbjir";};
 aguplus-17156={run="0z7mgsm9pa33gykhwzlmpa3shg7ragrz3jdp8qfakp5ck2mbjysh";doc="1105vsng0yramk84pfcg9pvzjbm3cbyp84m6sxr9wadw02z5kj8j";};
@@ -61,26 +64,26 @@ akktex-26055={run="1npcfjjg9nwrb392g8pa4yq6i76aq4ys67zil4qgkf4jyzrixln9";doc="10
 akletter-15878={run="0gigzlxkqmiqz4nwpxj98rcrxmi6yfipf5bifg1mywchnw7a1f2h";doc="0ngj7d4vdnvh99inw2vggqdgx6h2hv5z77glxjcpx8kmxf8h47sv";};
 akshar-56277={run="0g1pbihbpl3b7k7c19qiq7lcgx3zrfn15065dyan85bs8h85c2cw";doc="11a18b7a592sx3wha1lpy659hgh1wnka16zf8m0cbc99f867xfln";source="0g8j0015dm3mhphg06ma9dkgc28ywlihr6pcbi254qaxgk7kdn9g";};
 albatross-65647={run="18bcgycdzzhw47ci9lqyrbrahzax9ajfi5w9vjs35j294b0mk963";doc="1bwg2gq1fdpjlgjflfzfijabx8m6nfraak684ak6qdhvjfzx1aha";source="00w3byrzw0lwzjqsq0r7h81daqs2sg3ywwk3nsdbz0q4j6lkpv82";};
-alchemist-66557={run="14gd0gb86p247bz2x2kcqqj2b0r2lz12gpssfz84kgvrwx5nxkvr";doc="0d8kirmkd1shkbckv32i8yxdrpwzss7qgdn2i06b6mwakisy93v1";};
+alchemist-66924={run="14gd0gb86p247bz2x2kcqqj2b0r2lz12gpssfz84kgvrwx5nxkvr";doc="0d8kirmkd1shkbckv32i8yxdrpwzss7qgdn2i06b6mwakisy93v1";};
 alegreya-64384={run="06hrvi0dssva2r253k9ma1vd6ij3bi2d0wsrk2n6fnxvxbl5xc02";doc="04wx39xdvhq0rfl4mz8k70kfv74w6kpyhja5879g0hp3pjfzxbcl";};
-aleph-62387={doc="11rkr9li88aiqjkfy1lsmn7ay1hy08pkv9rxqifc2mqlr8ck9356";};
+aleph-66203={doc="0b7dihilh2v8qcp4m8fblyc10jc5i4fhpj3pspzinag0pk66b7nb";};
 alertmessage-38055={run="1mj3wiz4fff3ry5q4dk3k0kcx4bcqfwdvgaa9x3vczs746q57dcg";doc="1ga46r20zyb1bq7pvhq4348d2prdshy5m3yx6d00v5zzis1dmx1r";source="0n36cfjgh1byik8zn997lmyz2w4wmz48f5bzqrhcps7bg3kmp4zz";};
 alfaslabone-57452={run="11va28ww6qk97wx8fh0iqbm8b5s14vf923ydpglx4gann4w9bkiz";doc="0wfhd5pi1p5xnkq8lgpp3fhqn8y76h5jp3h5qhlaqygal70fw9kw";};
 alg-15878={run="0lrzrij15s989hy2j9wi1fzkpzvqjfhmgj6ryry0gy7nk3azhhrq";doc="1lgi63jx57arpz688i22razcrzarl96id8xf45vznh8iraba3sja";source="0mjrh4mnx8q9x40vr4csj3h3w7wh3hs8hidbklym29d0scd5rkx6";};
-algobox-52204={run="0xplb7wlbizzy95s4pk1nhl2w1b3g80frkd8p4na2rv7awp0da3d";doc="1bp5b0zr6shhaifkqdliw9qa18ym4s68xfk6k2njjnwdqyrxyd01";source="13cwnl7nxxrs0jsvfrvcy7a5pg8a92qnhxjsbarcx3jmg43d4zp5";};
+algobox-67201={run="0xplb7wlbizzy95s4pk1nhl2w1b3g80frkd8p4na2rv7awp0da3d";doc="1bp5b0zr6shhaifkqdliw9qa18ym4s68xfk6k2njjnwdqyrxyd01";source="13cwnl7nxxrs0jsvfrvcy7a5pg8a92qnhxjsbarcx3jmg43d4zp5";};
 algolrevived-56864={run="0qsxy2az8d0sr07mz7yxca17gl1y3kaqmvlckjdckvwq1idh7h0v";doc="10m3rgczhnkalf2f945jwrpwvv9szxh3v4wggl1rdxj12ng0svlq";};
 algorithm2e-44846={run="1iw3yhdk9nk1y41hw1qcpqiqaxadjc0nf6cgb23kd75ah2cpd53n";doc="19xsi1dgxfi06wxls70pvnys20i2na2y7m2hq8y6v947pc5kbb1b";};
 algorithmicx-15878={run="111iyi2j8qnzha97r1grxpcbnfkpvcwndczx043c4gw5wqmrknbj";doc="1rb46zi4islfbykhr68rnrkj4q966papin0c5m752gh6kzx5r57p";};
 algorithms-42428={run="1va2ic75nf0dfh0dr576lpgqhzqv5203frr37079q648871zqav5";doc="0fqif0nb9ypd4sw2i9qsxl81h3g4h0gm0yqq67d5n9wrpic8dnjg";source="14jgc7vnww5xhnd76cwix5c599sfdjil2i916cfpmsd5yn5qqdx3";};
-algpseudocodex-65860={run="0n55hw5548664zgh2g8p3qw7n8la0vq5i8a6xnnixpif3bpql5z6";doc="1a9bz8hpm67cgpdsdqxq1ad11sywzczd7vqw7lvb3z2jgym9q6pz";};
-algxpar-56006={run="048yw7nk0bnc05swjbmncrrlns3gij9a4851fbj9civlc8silpby";doc="13r04cc5d04ya1c6cm2h9a1f5c62ln5b7zlidiw51zg6200rrl2d";source="0bl51gdyi1i44j2cfz432z5cf63mp4yjr21cc2hwihyfd9vas3z1";};
+algpseudocodex-66924={run="0mpnwm97q1i40phy61wiisf4pn71hn0hwc0x0gscn0jalvfx9g5l";doc="112p7zg5rdf0y7iqs74xwblfwxfflg22nb87bdgkbizmsmy2gg2f";};
+algxpar-67495={run="16pbjpr8nnm4s2fz2sdnrlx7mn3bnzhwrijk721gzx81qbq27cw3";doc="0l69rr17b7njp3ywf5xcrnxvixmkswgaydj2bwrvkrazam1gnkdk";};
 aligned-overset-47290={run="04gjl08y9wbv5qls9z2plxx5n4abi4nzd8qik88via4xghhqiy7i";doc="0il97kycqgqqimqjvjhnhc2mxy2nja20vlspsqrl9zaah71p1b3d";source="0zbaa3m06kfkj7kkv6iy71d20n0kqq1dwy63dwfj4l49wv427z08";};
 alkalami-44497={run="1llldpmc485zxlw1k996g3gfffb0ixx72afz3zkj83i78dpx180j";doc="1315idl4yricb06bh689hhdf9jkc0ckmdygacsx3ywzxj1zcrcch";};
 allrunes-42221={run="0xgh3y7h57lkzxrhddn5wll339b4zih4nb6a36ymx38a6md7b8ph";doc="0dki14g1607a432549kly1wcy1p6j63lrxfd3m5nyz868kg3hjmc";source="1d49w7lybkn7sfig7i27mfwaccr9vjs7ab2ds27jmhp5wjl7w02w";};
 almendra-64539={run="1zij84q0ml0zf0dig3hqlmznwygcp8vbmwl3xc5qii7hs94hnjr5";doc="19j6vi1z04j2zbab39934mflx5qnqdjl4gz9n8hbjwlhiq0wb82y";};
 almfixed-35065={run="0qrai75pdkf4py7nhggvwzaarv4jlh04dqsy1b593jabq7ngaap1";doc="0arhvv7z8yf8kcikzybhbsgsj6m9zy4is5ryr6hcf6a6incnkp1d";};
 alnumsec-15878={run="08i891g4b3k1qqicbsgd3h3sy98cpk6g1cfn17g9ysws8k20a0sy";doc="0fanq66cm0r2dgpdrblrhqkchxpy2dxykq1g8zrk5ddx27v6r9pd";source="1ssw0pi7hn3s7pqcqkm36jjgmd5g2x5rqyf2khhdscfwrsjh07a7";};
-alpha-persian-66119={run="0673i0l6vq1h37g9jqcp7am5kl4dfbcrfqp42c7cr6a10zhvfqyr";doc="0cfl47cqpwxn1k87h19a0ggayf6c52sl60sdrmpa7sfydhg9w4qg";};
+alpha-persian-66115={run="0673i0l6vq1h37g9jqcp7am5kl4dfbcrfqp42c7cr6a10zhvfqyr";doc="0cfl47cqpwxn1k87h19a0ggayf6c52sl60sdrmpa7sfydhg9w4qg";};
 alphalph-53087={run="10gkh6nnhsrlqx8b6k3dylings3q97ky4qsv03nk7hn41zkqsyq0";doc="0v36l765s4lc5r2xfi8a3i7vxf79yxy29xy52cbhx4ps0av4dxpi";source="08yagdxgqvhvq50cc7rvb2629g4n2qjga86dpa43x2vjnmmz08vm";};
 alterqcm-59265={run="1mffpja47m40875i3vk3ha4vdgkxha6zh7q7fic7jfddxcdmlf11";doc="0nh7861513mpdspnkd6k6kaydplmimkzh0a19svbblqwxwga78c9";};
 altfont-15878={run="1nrcjmf59r672gmqks8spqwz3vn4jrwc272zvx7ncylphsjmip70";doc="0c5hz0zjcar69w489zz2a04rbnc3j2lp8yccw9zv41ninzl94ifv";source="144m2ph835fl9x3ypc7wfc444719rv4clfdar3bk73gvf53rmjr6";};
@@ -95,22 +98,23 @@ amsfonts-61937={run="0l3ypclhv5qdpcpy29xwda2m3cjfn5l996agas6yhpdr2m58q211";doc="
 amslatex-primer-28980={doc="1kzayyh1bycmq43s2xn81jf05r18azidbk3gv6igf2vaq37fmxil";};
 amsldoc-it-45662={doc="0d4hwb7hywy56d6934448lcr6fdx7qchkfzs806dr7wfzfy36yix";};
 amsldoc-vn-21855={doc="1iz0zjn1v7izwbsq0zb6cvpnkbvk0nxw1b24j7dzqwk3m9j43i6x";};
-amsmath-63514={run="16sqs6f28zpzdll6hw2cnfcpznc27vy04h78a0jm3r08rymd9wl5";doc="11n91sn0slrbcjkr7xl4dmgpx5vril47xdfz9x7hw04ry6da4jdx";source="0d12gk75ny03fs3g9s9q53awss9bk5qcyccrpyg75q5r8vfqllvr";};
+amsmath-68720={run="1igdsg0i32hi2db8ymdgvyd3fk4iiihspvcc5azw11fak9wvh7mi";doc="1kv670h72jl64cjfidk0h82whf24xhcl8vsrpppw6w5rx252zzfz";source="1k3lwg72h4z0gyj9azr2b7b78x1q5h85675mfam2qdl3iljnaryh";};
 amsmath-it-22930={doc="0xcwsk8q9q3nsz8wbklgpbw0vzjw7iw0chffzcbp2zsk6rypqf7w";};
 amsrefs-61937={run="015spycf9ycxav8r046yn7lrc892nhkkrf1say1yy9karsji6dnw";doc="11fc87kbdm440v4qyhxnv654mh0m6rpz42zji38qspcqj19rck71";source="02q2x8zpwxkyrh9v7xqw35vdjx0b4fzz95xcv6vfjmynm8cpklxf";};
-amstex-63708={run="0l078b9fkaai7kn2szn5hblqp3amlafr7ha0hjcn48657wsjq4jb";doc="025sgjii3sq0qar3g2mhkc9m3ml4swjy5fzxxgrp7wsfsfvpsym7";};
+amstex-67930={run="0l078b9fkaai7kn2szn5hblqp3amlafr7ha0hjcn48657wsjq4jb";doc="0j6gfbkx8vfalsxq3c4fyjs0fj43a2n8biwainfdmxrhixapwc0w";};
 amsthdoc-it-45662={doc="0ic88gs89m3d9ys40c4k7sgx6wy82c8isg2qkmd4snw5yms6fpaz";};
 andika-64540={run="1bbqdw8r2l53q9870mnsyaiq0gfy1ac808qqmyrzqqz4ai41zzgg";doc="0ajjaqdfxlvsmpr9bjmdkzwbdbz6ahxfw1sj1sw26r33npy0c5bs";};
-animate-64401={run="07l7mza1lmpqyjrmp9zf1w2jhy0va7abja8lqdbli2h2lfzvxij1";doc="1frx1x6lqa0jbf4jv69ifcs9266pr11k83hygh8mngkvyj2lvsbj";source="0637688s24ijgvd6f8y7diiv6a6n694r2zqjd76midlkaj4ab1kv";};
+animate-67401={run="19rq0pca3q8kv1f3qf02n75326ngjxjhk4hcllzsl5p1ngh4vw8b";doc="0x991qbaf5n8bv95yc1k67rjas896ci0iki62yl7icfbmcbz5hd2";source="04bblj8wxx9xg8zr6b8jzll5v69vdiz3yzxcdcm93j6zsxvw7bai";};
 annee-scolaire-55988={run="0lwc36v09a4ji5fz3pq9939jm39729k0k7hha4kkk20jc3j4jnds";doc="1f0qc5qvsrnjddp1kyrcigd8is2y9nsxc9x8a215p5xds2z5gc30";source="01mga2nif61mpkf7ifzhsj5pq7wzm2imlljap4c6wcrzb9zlhfx1";};
 annotate-52824={run="12q3xk08ycz57vsrcr2glk7y48w8sbc4n8lrqaicd46cxfd4jdqm";};
-annotate-equations-65851={run="1n1dgjk6y8rki0qkjy8h0xkcl3ricszwagr9ywmlag2al551awnh";doc="0amfh6zay85z604qmvv4vrv9ambmdv76c7vxi6rmrn58j1lslssb";};
+annotate-equations-67044={run="0lqi4b3fkx9bijs2ddq479bkdf147rr7j4zwinygs2k1fh07yjma";doc="10b54pcdjl4ca36wrqc1pcxa7vp02f1v5i05a40iawfc884wpcvq";};
 anonchap-17049={run="0nz53v74sigvlb4dhgk5qcalw7nrc1vafbjx754j3gfyp2ilaf1j";doc="06khbq6p3drxsbjwgkm1sd163f7nl8hc52pjsm55g2vknib5caa9";};
 anonymous-acm-55121={run="0blyv8pj41qa3fvhwsk9kq8qwp8x0b1iz7vyc3lxcpcv626aqr2h";doc="1j0fhwv26ziw6rvg1s2x0ry5yq2sfa8a55xvpyrzl6pjmzrj3czm";};
 anonymouspro-51631={run="1qk10w52722yzlyvk2k733sp1h2vic3rjcswkhx8j21a2g9xgmjh";doc="0ijsn9cbkg1f29x0pj6a4p5d4q14rqrh2mjid57cb9qjhvgvqrm8";source="0fl9sd9adhjx49hja3k4iy9pcx3hal0wjzxg10kjmi4j6qvz829s";};
 answers-35032={run="18s0c7hdk5qnj3svni93m9lpj81dhla9v7nsmcgh0jabhwy8n3v2";doc="02pfg28dz10w21ap4pi2csvy32pcvmp0baiciavp354ky4avjbdd";source="0mcczai8da24jvmakc7glr2c56yhq2jv58y1xqv6ny9hg4ph8v61";};
 antanilipsum-55250={run="0xz42icnw36dvkxlh31g8hvy37mrbafgihm7l3ivh1z4hg6gabrh";doc="1rfx3aqdvl4gvcrpsqzjh9dglk34ll6qc1a889yz0np93psnwmkh";source="02qpjks29b4fmma6qm43p3w1k8h28wv1blpwjnnsfq4ii6xrkn5s";};
 antiqua-24266={run="16pb6v297iqx09lb6w6zfcyzhwidd1cln14rqc3fblbmdaggpays";doc="0pwyp1j02zh51crp46rlhbdnwc2m0blcrg0yk43yfc687q3jx91y";};
+antique-spanish-units-68998={doc="16jk9srxf9ya7h80v77f58xdg7dpxhpcs35lv6hwv4g0yas71ab7";};
 antomega-21933={run="08if5plzpj7g8m1afhq8ci6m4yba4nnsgglngq94ka3ga8czfk6g";doc="1mrr1vqkyic5nyzyxkw7zq67yz4njx9x68cqr3vjd9d77qv85i00";source="0s0dzmb00hqbp71nhl94w0ns1dqj5fmfqw63z789iihqznyxkii0";};
 antt-18651={run="1clzmvpglsirsvm8nsc3m4dkz2va90877gmsrm7jfkhm62xv9mpi";doc="0kpiba7awkrjr2rdgxilni1yi8p4ycmqyy09c1p9j1ld82idsjcm";};
 anufinalexam-26053={doc="1v1k74vxidgxn5zzqz6v9zga468kcf7hwdrnvw44cd318221y396";};
@@ -119,7 +123,7 @@ anysize-15878={run="0kkjzsk03bvnap54gdf0i797zqq6bdz39yh4dn810l5hyfqxbhwc";doc="1
 aobs-tikz-32662={run="0fiq64szq6243gy7vg99gi9zhz5c0svrwjwj92qnv131zj71lcg8";doc="0yy2nlq6d6q5cijdswkn3b1f2a3j5sbl3fdv599vxna5pgywsw6s";source="1dj665gs9cbx3mf3nqr0944kg59gwg43ll1dz9ci3jra0nsr8w5q";};
 aomart-63442={run="1x69rs1k0zxkqwqsyjmzkwrxiy1hdsd32dvx7ha668l9wbq7582q";doc="0nhj05cm7fsi6fpp2wq2p119y0wyk2ag070lnjj3ri1zjahx5yj2";source="1d6mpqd07fayx5g8kz8937jyj6c6rbw1g8w1amq5sb32215c7q2r";};
 apa-54080={run="0g7y5l9908l4aikm0mqgwfcdg19dbllcgdp94cl1aha7h4jq0971";doc="0bzicm0x6sf78jbrqp66mgfjmcd7kw0rgkv0c6ah9945b9lh4ly5";};
-apa6-53406={run="08gk55f1a52az88nckdljp67vqv5i1k3n6wwxhgqb0m66j0aax8a";doc="1lk20c5lr1l3niccfcagn4pbfqgixivnz6sx1kafvljxg5gw2k8g";source="0qbwizqyyjc72c8sd2p7pyhdcqnv4xzsapjyhyryaifpm7x6dck8";};
+apa6-67848={run="1zhm599xqx1j8yqjp20xgafm5xdnsjdh8pz1xndjhlqdxnv60044";doc="01iv078nfv3ilh8yjkf2r9c9kyn7lxxad8vl0lb4gvi706p3npnr";source="1g987ikxqvl0b1zkf5kvwg9dzy7c4k1rv9cl4r8ssdfm9bq7fvwl";};
 apa6e-23350={run="1da46dhvpwmjvm3ma4zbnfgsc2yiqg9d6rdrw3bd5h2ibs3vnlmg";doc="17m97m9v0pcs58i3k7sdj9h1vifv3f0cxxyn4fzi8pxvzljwl5qm";source="1155ic0k6f6gw6zmqq8pv74hcn45skjzyarf9vpkcksj96qr07ba";};
 apa7-63974={run="1y286f7vyvgnyspp0vzagf8xc81b02029zn40ggh5bhhysq06wzf";doc="0z8jfr76r9rvqanljhq0fnx5z2w59lxk2mc9if6z7kkid1m8qx8m";source="0xx3yvjknqsk36mb336hlvvsldhmp21vblgzl2zccp347g5530z1";};
 apacite-54080={run="013769hi9alyizx08a0v1hbl03h5vkwi6a6ar3ghw8m6l445xb8m";doc="0d49bmdiiriklmh99kavvm48zh29bgiw7zr5jbcwk5bw42qarlqa";source="0hsrhw50sb8lphxib4jmjgplfrmy95m56a1phiac4kwxphlj9di2";};
@@ -134,28 +138,30 @@ apprends-latex-19306={doc="1xzy7svb2xz6bdfg0f1r3whwda118pl7qdwygx1l7h4d1vqm2rcq"
 apptools-28400={run="0b6yzpk2d79qg2irgfhns0w05i54z5z22ik5yyx4w6wg45v0j389";doc="1n8ak9cw66780zkk384vpjkxm9j8f9dzlqzshy48q7hhprsg4p9a";source="1ba08rixibjcpi420blw8a0v4c4zi2byll7dqlvwb7azqr6dz720";};
 apxproof-64715={run="1v42g8hr93afz1lr1hbvycgws92vg6pzig1qqjmrpff11irwfa0h";doc="1043sl948r89fzgzxwn6n4sjs1jl7mxr12hq9y4ljgm6264kw0d9";source="0wr9vjn9vmljsx5gyccjzcqwx86hza7idrq84f7b9jl1miwgddbn";};
 arabi-44662={run="0jmx0xsb3hz5i25mmqnxgg3bikyr1w26i3364cqrp50x9sqvkgfm";doc="1yipdaiai9fbmrxkacqwnbibdiaa5vskzj40d1hxv6wnkxvj2qkw";};
-arabi-add-37709={run="1ylvj2w98dly6blpk2aicz206rfg5xzqbcjx00j3jnmw7g847kxh";doc="1d1wngc0179p7ij7ibnyvq3cxb954sqywxyv5k7a3dg5np9zlg7j";};
+arabi-add-67573={run="1ylvj2w98dly6blpk2aicz206rfg5xzqbcjx00j3jnmw7g847kxh";doc="1d1wngc0179p7ij7ibnyvq3cxb954sqywxyv5k7a3dg5np9zlg7j";};
 arabic-book-59594={run="0s7hnmz67hzfmfzc0mniiqfi6i8c8qzslbm92z1wc3a2hr38ihk2";doc="1j5h788vsmrcag9bighp6kz6zx40ppjzwfa070ic140lqzz2b024";};
 arabicfront-51474={run="16426cyvrk461z9jb728w6glfm0ahss82kkq6fqkhajjc0cflhwi";doc="0ck7nl7v6kvibiahh3szf3nbibwajg2pjwrbcz06frpfwhizsnp4";};
-arabluatex-54512={run="1s66v0qns84vhpwvb9if07b9s7957jmxxd643g1mddg36z6pkqfj";doc="1rfwl55la33ag9plqwssjvgq47mab2h7ljrw5w6l96vq965c2csa";source="1g84xxm5fvp6dzdrkyxcjn4wlih0iydrdyxn93dffx1a9n1c3yyg";};
+arabluatex-67201={run="1s66v0qns84vhpwvb9if07b9s7957jmxxd643g1mddg36z6pkqfj";doc="1rfwl55la33ag9plqwssjvgq47mab2h7ljrw5w6l96vq965c2csa";source="1g84xxm5fvp6dzdrkyxcjn4wlih0iydrdyxn93dffx1a9n1c3yyg";};
 arabtex-64260={run="0xd2apd35zn1c4narj2gyla154nzd9ghhgc3fkk6y06d8dzgawv3";doc="1zyyk778384mhma5q7ra75fwykk23i63q4jzamq4zard0y7gp4k0";};
 arabxetex-38299={run="15c8nmmv87x87dbjwm1q0acf7pbbh8w9gpiw77fs2i51gab592xy";doc="1ns1y2lf87gspaablh4lm3kj33ggpfp7hcxbdv4vxf8hhfc4pp7d";source="077r71723zlzfjmc471a8hbxs1v2g6j2xpiim3g2klxsj589bxfn";};
 aramaic-serto-30042={run="0j1i5snrgj579zx3cn7z7dhi9rrq0ssl392r2vxykcxalcc8cmg2";doc="025nkiqh91laaj3yx2qkl5z0jcm2w0qwgqm545dd98i5y1a78lfx";};
-arara-63760={run="0wv9gcps3nyhssysscfwdsvv35q4bp14m0mz2h0gq7zc2dqnmjml";doc="1bi7k8ihgh93fj7id134z6dqy74r05gksfpvk5crp6y922kava0q";source="0ngp7dl15iqp81a1z0an6vf007aznxd7cwcrzywgx7w42cd4a19l";};
-archaeologie-57090={run="1g0r3y1s7759lx75fhmc2v38ks4mgbldpjkkxnk7rq0ljdqy38x9";doc="1hccakjvh7ldyja2nfi68926yn175fhawiwc76qk5fksggj568rg";source="1gv9495g29hqc0g6in438g8sdkaxwwn2vvp8f41mz033dzfln5bs";};
+arara-68431={run="13cvwhaxr6a8xbi5kdm6s310zy6q6fmfynbj4hkjlh97ij42scl5";doc="0mnanld6pmgnimylksz34fx9gjmcbm4qwfajkisx6h5f3qg5419g";source="1k2grs77d2pqybvnnkk3xy7rxzm1vk03rcfgzas92v4h8r6f50dn";};
+archaeologie-68476={run="0r2j9n7vbdj7virnmasqi9md81wbc5b53h0xwf4d6azh0isy0505";doc="1xhlp6x1ixqn5xj0k9xz5149jwf9zgp3nlv0ncyjn5nzqkky0jyr";source="13wmghwrc89g8kmsdsqjfcklbindkrc63by2zlgig29rvidzn4lj";};
 archaic-38005={run="030a281kl48ixl4vh378bf0341lrrpvh73ws5pjxyhvs6cvyxp7i";doc="0m64lsmx3sryzdmbsmz7biwmndpn66x9is8apqn7w64y4b1jjcpk";source="1231mqascj96yi4jj11p4zcxgkpzxi3p0zxnjq8x5fpajz386kq5";};
 archivo-57283={run="19hr6vc7x9csjjd3i6mz9z27cyq4pz1qvhmiwbql2xhvmbcd871q";doc="00cs206zp27vpw06wqg7adwj73124zbp8zwfvgqsh9n544npvfmg";};
 arcs-15878={run="0qahab6a041wn6s6isnjn93yrs6zk82g90x5aqpv742b2y8cj5ix";doc="05wgq5pkzxg3vj9anlzjq1jvwj7b6wvsp7a02syca6n4qvy1v5a7";source="0jnvkhhcqv7qgs4knwx1kz38x305a19kh13wn47zqlqn65991bpp";};
 arev-15878={run="1nx33blp0nfqfmv2akj7w79qg1rhds40k7b58v5yvyrkx0hpn0hm";doc="1vscwahxzdcb6879pbrxdlfpgapc0bia2fl3jwilrm1has0ffjz3";source="1k524nfr5zb0nmhhq8dfaha4kv9f2ika192scllnn1bywhbpn2x5";};
-arimo-64548={run="0idfg33qcggv0cmh1hzpvzz690yikpmi76xpfh19py168my01mnm";doc="1yx6lp3w6s6zz31cd8hvhk4vdg2whzh62cdlhyglnb90a8hjyis4";};
+argumentation-69023={run="0pnr7z8by62zi1d8qbjmmddlykrkhhisqx4n8lhwbvi3qcrj48gi";doc="0mms537p669wa0v301g51sgigzxdg49rj3kg8i3rva22hm3b7fj1";};
+arimo-68950={run="0idfg33qcggv0cmh1hzpvzz690yikpmi76xpfh19py168my01mnm";doc="1yx6lp3w6s6zz31cd8hvhk4vdg2whzh62cdlhyglnb90a8hjyis4";};
 armtex-64182={run="1b347npswdail6q3lryxi1y8ac13dxvajzz6xzfglgpy2a10ykc7";doc="0v4wfw869d143idxnb19avak8gpsg0n3cyf70xa7zq6hljpq49vy";};
 around-the-bend-15878={doc="00nc6kx4ylz9g6vmjlgyjvmy1ls86pjblbcpm5z40wh5xl7l184f";};
 arphic-15878={run="04a15kip51zp4bhrbpiv4m5pm587xbia792ckj17gj281ysd4817";doc="1z1z7nnncp4dpb91bajxf3li47k011jn5jbxzgdaspa5mjvw32k8";};
 arphic-ttf-42675={run="1z8fa90baasp8j8539a4kzilah602lik012az7i3pc0dnm4m2w1h";doc="0nfbjnprd71dwp2dxmkmdggfipa36w4qbps82czn506xpzh07lav";};
-arraycols-61719={run="0i7vm2znai3wgc3h44vhwd3wrrw0az86b3g3ndhy8yyyl17jk3hg";doc="0gq5ss2rq7qgj4zqvf6n9a45j1kqsh0k9myphfjhdrf0s1sq8w9x";source="08vfglpdhjc0b33b5r8x0mqpjamciq4g83m49gxwn1dd71hvwqiz";};
+arraycols-68277={run="1dgqrznjh5irbcic6dscq1xl3gyfvg3dnrps0ki1ypq24cm2cqyx";doc="122iwnlyci7mkvzglzrbl5xycm8rl9zp8yrhb3ky92hqqv1ywi88";source="18kzw3c2gja12808d4k7vr55p39rjs960fv9mmmpld4azw2f7c0q";};
 arrayjobx-18125={run="1ry1gix4nz11kyrfpbhy160c8dir2y68jbmnds64qcdafhfv4b9m";doc="1hqjhkjh5ryhjpi98hyi92raffmish9n9193ry75mgfx1p2b2w0g";};
 arraysort-31576={run="00wbmciwdnafwknxxrnprxj4xvs24xxwdwmn5y5xh1c8c3q8rn09";doc="1yn9kbq8icd5gxix4kzp0qszhg1xy59s4m8p66a88h3cwcs7fjba";source="08gbn5s8c7a8klg605kalr2mdpijy73pxvfsndaw9jdnr9ipc5my";};
 arsclassica-45656={run="13fql9q89zkdhid841hwxyrdbj6bd692lnc52d0yiibrd9gd9f4a";doc="13cqb49296wzph7msrhpzswlyknvhrjaa81509l4j4mx1snxyk4b";};
+arsenal-68191={run="1pc8k3zslxla2ngz29389l4n9ahcbp2m4blydpg2bz0qhs0zqapb";doc="1y86inslxi4y33qc5p7x3gbx3n4d99n3dpzq0ap9ikrdcxgwd0ds";source="07i8ynjbr0w8kp1f3pm65hnx766kxp2bqdps1ln0qyzhk2iidppg";};
 articleingud-38741={run="1ydj9dysf2qgk36ssp8pdr4c6dh5iw27kcw4ykzkx22ih5an0n01";doc="0mkv9fq0hixkjf40la5na4dh0yqi3adgr8fyi1x74sbyi78gmfhn";source="1h1w0fxa1cyw5d943mg8na7hxwyq2ki40gql9y0f7fdx31faiavv";};
 arvo-57213={run="0i9x668hjr2b6brdysl35rxgjji1zdsn6wbf21ql0xmn53frk4ic";doc="0g4lpx8mra2qk9c1qwijilscq48n5n252m6s0hxfraj5rshrhc1j";};
 arydshln-50084={run="1f2y02l7fkhrc005ib1s94z0yxgql2m515zy3mlx6ba4mqadh9c8";doc="0xw13bdw67n2nsahi85bvh5p1xrd8fpb1aj79vss9zgdslzb6j4s";source="1xhnh7jw0sxy6vkw31gcxyxg06dm7bgw0njsfkailbxgndwcp6zs";};
@@ -169,8 +175,8 @@ asciilist-49060={run="0ni7182xwr3ns1dk8i75kf1cw9wpfagrf1y7w20hk8fpfymx2669";doc=
 ascmac-53411={run="18hw5yyqbr8ji39y39293z7a70czipzw00fzfsqcrhgdlid79sc0";doc="0xzwc7kw7hqpcmisw5wm3n508n4zr4s207pizdhfm2q9mjij0jvr";source="1rd5qmy9miximwv1n96h6djjmd3mdgn4b0955marf2k457bb71d2";};
 askinclude-54725={run="0s1938harm9sgna3cggllpa1g85yl9jv2wy4b4c5v6fksiivxzs1";doc="0gkbk6j2wv05kgfbjd4mqx5k7rc22bmqn47vk7pvr5z60dr4nay5";source="067dpl3v0ipspfm5f2fmcmg5cb6lhqg6n8216id9j1blir1ys3mg";};
 askmaps-56730={run="1r6lk9szs7jm57b4hl9w4ngb9dqcsi6pvp37rcnwnznj5m2daj50";doc="1ryw8yy59mfi13rrwgrfg5y5dy3cafz2a3f8zmq5fbl7zhbylq6p";};
-asmeconf-65413={run="01k9yxdgsqvwbv4ydyk0v2dzfafblb98s4jllbvj3xxkjpzavzac";doc="0cyj6an3m1wpqy4kvgppg532fa1hrl3n0g08xi4fj8hzpy46pkh6";};
-asmejour-65405={run="1k2vygq2cnzwyqynvs51wwh1iq18dk56ldjmqd5m1sk5nbp3s9si";doc="0v1dp9h2sp1bb0bkzq6gyy8r41hb54rqdi4pgi2qcdbks1a4j6j7";};
+asmeconf-69228={run="02a0jvq0m73rq2cmmdkcsdbb62ysbx0fjrdrvczh7viml3l0q2z2";doc="0xr99yy8mr4759wfhp4n238v1jx0fggj7y2fsiwmgbqv9s7igi4r";};
+asmejour-68629={run="0svphwvm50pqzr8d4rh3dpsz19y6lmk3dmq4sfyhzm8ph3fh05s6";doc="1qmvcj1m2wv74ywawsz2cs5d4g54zw8caia2675wz4sv6vxc4mjq";};
 aspectratio-25243={run="17y22131b9nzzq1skfdyr7cfcq823nqn3ssqrbc3bglggdfibf2p";doc="0mw7v1m9afyk462rjcimvwwikdpj0f4gjw5pbw2g9c60vbjhz61j";};
 assignment-20431={run="1nxgpadadzf3d30ydc9rndwm4v53s4v10a6sbqf6yfqds7ry13vz";doc="1wyyvay22r68hfspaqv0a43s9icg8a3pj8wii3snn90svbsjfajn";};
 assoccnt-38497={run="0im3x8im6kkjmvibh57hkn8nljcfc4mzp0hpimiqn29ys1yrhj98";doc="11p081b0b6mcigqsmvgf6kc9ik2480c74madjli19rw9i5nzf0vf";};
@@ -178,7 +184,7 @@ association-matrix-64845={run="0pa2js62lrqvh9ghhv5gylaz7jxbh6qwkfymr3z99w1isl2ia
 asternote-63838={run="0a3a5jjhsbvi7kdkp98kwa0q8j9chrq5azfg9vbb4m9kfkbafafh";doc="1xz9p6g5bl3qa957icsyjknni7bvglfhvxfvxg83x8bd7hvh7ylh";};
 astro-15878={run="0cjf53gbin9z10g63x2kingsclgnwr6idc4x0m473hf4fvakk34x";doc="07kad1fzv7p6inh7nkrq6b34c1792h4v49rxaaxqyldmf4pwjr84";};
 asyfig-17512={run="0zy0vxxmzg7nzwzw8z84sym5wdfbs7kyf06r6vnn05ga06wwn603";doc="03nby6d7cjczj3irqql5wpxs4fx9z77bb03lys5j1kg63ccq5msp";source="1rzicq0w7byrxqvv8pympxkwq575zqs01s02z205azaqdgrzdhss";};
-asymptote-66119={run="1gxd6wqcmxwwajc66ga0c4a50dc27q0g7239dxwii2d9acykw6g8";doc="0v3n76arlr6i3xqvgh27mmp6jj7nqpp149y5ivm1v12q0y444zky";};
+asymptote-67300={run="0x9zb9jgxc31xj5a5gb3s2ba7348zni3p1pwwd1lp7ldilq76lca";doc="0hcv17l67pv91fc3nrhx06s7z2g0imrljx0lxi4k6lgnj47dmnhg";};
 asymptote-by-example-zh-cn-15878={doc="0854pbh3rm21rzzbhai7xijzw26qawffj4wd3mrwbva1406106ff";};
 asymptote-faq-zh-cn-15878={doc="0z09f5as68dz66dlj370xfx593bv50ihxx10zxmm9lk27ymr52hb";};
 asymptote-manual-zh-cn-15878={doc="047l3bh8vvk185wkazyfw4dm6893xpa2ksn5vfc57r5rv4x16wmb";};
@@ -200,8 +206,8 @@ authorarchive-65777={run="0f9x0nx0n3k3hj33089np465jpikrxn689zgp0rdq54gh9cr5wvm";
 authordate-52564={run="0caz9s2ra7qqlzdnahhv50z050iyp62ypyrfpbj1p9ih7zmcdg23";doc="14wxjyrighkhg51m9jpdyjdwz2ipz4zr1rfgmdnxbpg31rbg2x7s";};
 authorindex-51757={run="0dhdd84hdf4iz67acyarzf0asb7c8dmp09s286rq0ylgn7lb9xx6";doc="0hhffkmldhhm46xi8d1bvjp5v15cg5kid383g7s1dbjxqyd9vbvd";};
 auto-pst-pdf-56596={run="0f212m856rdfzflq1bw3vfpy38d8qylaa3vqnfs595h3x5r0dsx3";doc="1f7kj4rga7x14w8v3cjn7lh95inliy2ms0q9vnfnv95jvp5a7kh8";source="10l3ld4jvpg1982f2a80ssl4hkdzi9szxv3y8l1i13pdfdhirv91";};
-auto-pst-pdf-lua-54779={run="1vh8q7spf251yfc0maaw9xcm1r7w8qyf3vw7nr6gafmv6si2i4fk";doc="0vmwaflyaj4crqb98gc9smngrpk1hlhpq3acfw6bnpdwsm5862mi";};
-autoaligne-56966={run="1y4xlxgcj82g3cvy23wyacm91kx1fnc8b9y0r8vhf6pwvj4fk6h1";doc="0srhzzycrh9awp39cgfqzc3z12vxj33qgbnpprx06y6bx94956wv";};
+auto-pst-pdf-lua-66637={run="0h17431shl7g0hza9vf20v86vfpy7w9wdyc09ir3s0mi5izhh4hq";doc="07bpl01v2f14csvqqvyvjja79z3x34q6mkb6qck44s66ii5dld0h";};
+autoaligne-66655={run="1y4xlxgcj82g3cvy23wyacm91kx1fnc8b9y0r8vhf6pwvj4fk6h1";doc="0srhzzycrh9awp39cgfqzc3z12vxj33qgbnpprx06y6bx94956wv";};
 autoarea-59552={run="07fi6gdnl9srrhmj5v28kfvjs3skf8g693hbdrfzjkyw76iji46x";doc="1nyrgpvkj2bplf0psd66mcrhz5j4bggvdmr93p77ix4vb2fgh239";};
 autobreak-43337={run="0dzr4wbwy018f97kzmfvza9i7m9mbpn97mjzi336sgq440v01hrd";doc="099vqvdh2djk7fm6y4x5m7cma71b2anpqkc3lfzjazpv15kpnlq6";source="03kqdrwznx3k65nf5z3p2z6d80rki7w4v5lhdfk8rin3112gn68r";};
 autofancyhdr-54049={run="091dwnql2fy1zfkr92ww01hjylx6in8ay56gq7ywjlwb84r6sbm2";doc="04fjrbsa9nqf5rj0gqgm96c8wg3dl8cpfzyilqrfqmim26rviskp";};
@@ -210,6 +216,7 @@ autonum-36084={run="0y1x4j7fyssmhlqf9974yprqxvplxihbs879qiwa13x0zmwhnp55";doc="1
 autopdf-32377={run="0fd1dw6h409ffn2prcsmq4rsgjshhs9if0igsz3ibxb6wkngbphv";doc="1rf0l15pp475f41si7qkx9rw7n6938jj2k1wybx4ck7pf6hs7i9l";source="1vw58d9g41ra5j2av1vdkzqhh7g5nrprr27qgdrn8nlirvwzbx9m";};
 autopuncitems-63045={run="0wqvm6yyja51j7yjyavjn0p9i8y2a8aqrywpvrlaybw2g5s2k3gc";doc="16hk972a108wh8qsk9lg3ai4cimwlfadmxy0xi2aa2wq8darhsqn";};
 autosp-58211={doc="16szmbffp9pwzv7zq3l4yvnsfk4m7w57wib7pqpgv1v5fzhlaahs";};
+autotype-69309={run="1mvy4szbj2bms7wsbxk5abaw41zi97lk21k8j59z1dkrrbzzq69z";doc="1s3c3zpl88rlcxrlmbmpgl4f6dyyryfs7gy9pkm3q2ayva3d4bwr";};
 auxhook-53173={run="0c92za082vzi47m5dlwq8bss4jjgfzmbbaaz5j1yb4ngli9qj08y";doc="0l6xga3hr1lvhgli259ma78rq394jplnkn5j8fgrfapvzrhsh2kp";source="18q0lawz00fbv9mgcbp21zk6fm1hsprmrkvhnl34ac1qj1rx6x3p";};
 avantgar-61983={run="1200x40k7wprm4n7srxvgrax2l52vn6d5ri2x0q7zbzzsfxfzkym";};
 avremu-35373={run="1j7mg5in2jhpb07jpky76qriyb4m0qq0rlkacs6amrhh57299prx";doc="1p7z2vj25fnx23rl6m76h82q8kli8nfl2vail4mpkx0brimn4j7l";source="1zz9b5d08i3sjj74q609k5kyi9nr7yyczk00i3dqfz5x3rlyljsm";};
@@ -217,7 +224,7 @@ awesomebox-57349={run="0bjnvgqj4g1i6djzzzdjdrnlvli3dm1v2w2mi59s5s8pyc5pag60";doc
 axessibility-57105={run="001z3ra1zgsrvhlnvg9lmvc56s72b3kip71c1cnpl6qzqcc2y6s1";doc="0s77mr42dli8vfc9h6gslq5g103rp5vk94hx9cw3w3shxazib73r";source="1bh92wig3grw2bkkdd3fxwlky7rrfabzis1rwwdzgk3bmmrl9554";};
 axodraw2-58155={run="0dcls4qqm7pl0iyg7mkflqa2rd86wsafshx41xlg62din6fmybwa";doc="1l1kwxd8zq5xxhw7zyig0b8nna4fwr6615h4jjwpywcaqsnms6if";source="00nq53ahf63lazavijry572yii3jix1df9c604xnqpga9z22bbq2";};
 b1encoding-21271={run="104n1g3qnx2dj91zylj5byz7yaai6dw6v0pl9240mgk1h8i0xr2p";doc="0sdr25vv9svm3r6yqyalqza4awr8k26g7fmh8078bbxkddycchkm";source="0mbzrasvppl17965dmkp2f9cbi03539p83989d40kl5p11ih6dgy";};
-babel-65823={run="1gcymznzmmv6xxafx2268113b67n1h23r6f52fgvkihkk7qvh6mn";doc="0b1wn28hmdp8h5aqx1pj4wlzvx4pwrfwl3z3b3h3b78b2jzcf572";source="1wyyn4a2s2ymdlfkjbclb2ff5d6rqzy8rbg6wzx32bflrwyywshx";};
+babel-69343={run="1hhidzf5gyjvrb0ws3rfs93gsqjpls9riq6ykxzx4ky984hvpg6f";doc="0wd1c774rirgcs9gn2qm7m2bg3xiiwf7wkvimwh7jlrg19xr5ir7";source="1wfz029f2rwv11rbgc9w64k36q2ifq5hzh9jhlpxz3nn884pvv47";};
 babel-albanian-57005={run="170mxpwnnsc1g9s7qnlhjcryw79cy72d8c4m8bhr36i5c78my0zg";doc="0x5z4gfi6m9h5gml6wxq3531i1k0sfqrd4hxrzbz68ijzyjnzk5j";source="1w8bassqn35bxyhpw6cg65ya64x1dn9h35p4fxclcjjhmv53xgg8";};
 babel-azerbaijani-44197={run="15siklcjg7wmpzgy059d8r6ivg6cib5by9a4l6n31c9pxncj7xka";doc="0dncpgvjqqa41rk80n6wif8nzdqw7vkxp2056l6sblzxgh87fvz0";source="176r483598gd2dfmfc2qhmknj913n3k6rk58mpfq69af72jq5rjw";};
 babel-basque-30256={run="11a26db60bwfhbx6zj42yrzzvf8nn8a96nq5mpw29xhxlpbhrcp0";doc="04jf1brw3ljipdyxv3d001slc0iggjmq6hkr4b5jsa3z8gcivzvw";source="17mz3bqi50ayia4nb2ikf60vgpnwl3i90gfbaq4692y354yvlnfy";};
@@ -234,24 +241,24 @@ babel-english-44495={run="1nb3c0yikcfhlpfsqgx2c6549ra7wcbcjs614d7gvk5fyh0cds8y";
 babel-esperanto-30265={run="0p11qa0d496xb6hpj6qc2lisr3xk3k1rbnj7b88wcivfjwf5ypmp";doc="0ra2iyai9vyjksfsdcv5b9ifvqmhlc4aikyzf3wq073sh9crhxh7";source="0i1hzj701rii0hbp05h25633vs2cbmqgyc113m3g78i24vh2rkbx";};
 babel-estonian-38064={run="0j7z04mcvjk72cad5l3np0x862nvgh7jxha8mll55cf18k9aj64j";doc="1nmjvvms0zijpc15rs0fkzli3pmidc4v4kzfp9sswvh43622p1b1";source="0x2a379m1b1ll16dr62dg5ai353p362dw9js4n0dn3x2wjbndmzg";};
 babel-finnish-57643={run="1z49ix8w96walkq5p915amii7n73ahzhy4ijxa1b2bb0wzz4b1l7";doc="00aij1bdybgcg69995mjrdddzlr3hqbhmg8q9nq86cd29y1gx029";source="1930zxk4l6k5q4wcbvpvijv4s0gxp2mkxvblczn4gcbar10vfd4x";};
-babel-french-66516={run="1ns39xxilb4xkjjdppm5whvhjkps8sr338wvmshjxkjgn8hk2zsa";doc="01fwil67jnjkbrga2xv45cpg28j2p9pxanbmyl048iyam813jaiw";source="1nxr7f6bwmsn4qs564l8clfqla3xqal337yhk418s789ihpzslhi";};
+babel-french-69205={run="17k1cnb37qxsmakb5lfr52arfrs9b4skjq2z3b0j4isvg0gag0pq";doc="1x77mw4wbb6s5y44s8lwmzv83ykjxvayz6gdwvhana6a9na4s4h0";source="0l8lx80qfbdn9q44j39ai0b0m0z4cq1r8npihz009rxvqg9c7xfg";};
 babel-friulan-39861={run="0gfq4gyi720kp45vcbial0yrn9i2jyx1lzh39lci0ga77y01j3mp";doc="0hnj5scfsvisf9k6iwh4awzqccm96apxrbwzlknpxn7x3zv93l0k";source="09bzwmc1jnal4ikxciwas8y342rix0xksd7qcp39nwajyg8njdmc";};
 babel-galician-30270={run="0mk67w9lhp4nfbhrzyb1ngm3rmdknvv8nlqb8601hrglj4hzmrda";doc="0pzpk8d8hhvgsjssy67hpgvjb6sh3lfbn6f5cbpqbhxrgllhpgva";source="1awy39dlr086hc807zc57l7xk6zqbkwrayvzfv8ch1mqnl0d3a6c";};
 babel-georgian-45864={run="1mdsi9mq6ka6ahrgnasik0sxkhq97qa223q5iy4fkfccan30kb07";doc="1iw1hbn5i0c7xhvcmap4hgiaar9rznr76h2mrgya8xj0czppxwv0";};
 babel-german-57978={run="120912c0nk3zdvnrxp7pv78vnywbw68d0xc9iv8x2cwdl2hfwzrj";doc="0nkblrxgckb1kxrxvj02v0mx18f3cmv905xpd56i3lsp7rhi2wjm";source="05nwdy9ly2cdl2aayf573hc8v380avxlw568np9kfvf7nag3p7al";};
-babel-greek-66347={run="1ing4c4s3pidhwrfr6hzvqh578yw7ya7iv5jj04hiksndiy6m1pj";doc="098nv2wv5gw2719q6p24chys1rx4awrzs3a36pdlw1hf3zgzfd9j";source="1fwg66nch2cbh877pdsavf6pc0npj3bdbinr1bln1hps4pfjjnga";};
-babel-hebrew-30273={run="1mzjkrjasm6i7qp8pvl9l0dwd4597hnhsnjljfqn2mf39836i6s6";doc="1w45vylwaiy2bn457fcc8c4fv33lnjbznsk69z3ky8r6sgxra63y";source="0cy281g25mn3pcm5m3d340rp9l82472zyqk09xdi05mxz2hwvnxh";};
+babel-greek-68532={run="1gii2nbgnixdysn2li0xw5acsvimq2r04rpkyhy16hnz50cm4shz";doc="07l23ycdm79ci76zkfijpdz5mlcgd8qcbq5s4rl041c8d4nnfi5n";source="17n58ldkgsqadbd1agsaf0bwv0pg73ybfql5bkw3ky9k9ck9z24c";};
+babel-hebrew-68016={run="112c7lk1xihspknd146hgp9nbc7wfxz36d3b887f6q0mq6hf03qq";doc="0w80r70w90szg4rlzzj2132yfx8wbhxranq8zk49far863sn658i";source="1srid6v4s1r5w02148wgfzhs9jmmwzj23fhx9zn606rxxkgakajf";};
 babel-hungarian-49701={run="18hc7z7gki6jyglywmljlf37aff3cndszywa32kmprbn2qlfc87k";doc="1imn8zlk18fcs2nsy4ml20xzkhpmv5lzzh28i2c2zv6klm1kmfba";};
 babel-icelandic-51551={run="12v78k2l9vmc07mx0wy8g0mjwryp1jf6ij06502h7jr55my6y5s5";doc="1mbgan8gv7hld0jym7qks13yph9lz0clkgpb199x3cdxmbvawpb7";source="09wz6pfk3vb4c0az1lgq35vmzf8v49iz9cd1ys7rhdssbcz6flv3";};
 babel-indonesian-43235={run="1nmz2vl80cs7d58hl22y9m2hlf4xzdw2brl2z9k56w2mk6rg510k";doc="1bd7v0wrp85bchni7sbn4b7manybq1by8sb4bhzcmbw4b9dnc3yz";source="0p89lrfyqfhmnvijf9mdhmjsr8wzb4hxr40rf33wn50ak3m8gm7l";};
 babel-interlingua-30276={run="0zbyfhfs222i1wdsfbik33m1asdaa71rg700s9vfbvfdvjcikciv";doc="1z7j47zmp5y3406da831kwxqq30mgxh2wwxsrkdjycnsswsywgv7";source="1y3xsscz9zxaih3752sk6jhh77ljnllmikiwgqb3xsvzj7b5fs8v";};
 babel-irish-30277={run="0ih96jfa66jn1s8c3dpr0631pa17r9sch1lv1qqwpmsridp8dl8q";doc="19k6gps25d8i28vcpbp59k47mxdzjn9d89amccr5si5hvg1c2qnp";source="043ias6pyv22g8ywv5krlzj5ma98wpi0r44lmi4gfpqllkay5g1a";};
-babel-italian-62890={run="0wjx2fv2a1l6lqd5pjq8bfd1fxjkqxgn94s1rba0md2qcmsyzfb0";doc="0gdm29cjwnbliqxqa2j9i9py9x6hp960rdmax59vlnh8qvzs11vw";source="1kn8wksykynys23clfq87ihw4gw0npcdwngj0lwdn55l7rcqqk12";};
+babel-italian-69298={run="1vwps1b50swsx1ww2znwzjizc6gn26j6mx470dws76w1njjfgp83";doc="0d21yk97jakmq0pan6q0cx53bl6945y5mxckzqch285fy8w3s0ba";source="0b15934yvmk7r94c9cqjhlsdpd8c9jp2gyc51cxksh26sw81w5xf";};
 babel-japanese-57733={run="079bhnmpcgaml555dgrmiigack6qfqx20fy85c75p4fsn2c93bmw";doc="0a479m8rq8l02q1w73d6lpfpi0gs5qdqfbl132483f2wwzznvnrl";source="0kjv78h69422dj1jh7s74pkdr3qrdxxbzk3czzfsc5rax71x9jhm";};
 babel-kurmanji-30279={run="0jp1aivn0pzn8yq1q79gvzwdlcz871apjg6yxx9x4wf8yqr8q1g8";doc="054b2pj4iv2mnaffw1a6zqihp18765rdx6d56k6vj9kxf2gqrz1n";source="0v6nh14816ai72rqc7nxd8k16bi75dvx2kbvnaavknxyr53pjwb3";};
 babel-latin-59800={run="0k092q6cdpd5qp7kl0qcaf4idbsfrbyb12flq61k4xk8yyp6ip1f";doc="1p0xrbmknfffm95zmnldcwrrpc3ngrlvlnfzppjql1va8vk04s3i";source="1sa59mvbjspmdc5sc3cdix59y575nx6pgc878lvlcrfl70a7hvw5";};
 babel-latvian-46681={run="127649mzw9jp35mq1yqpavlvkvcvxvp61sn0yl4nvhn30d0dws68";doc="1dvcwyqvx5xw4fl58accykkmd9ksbg5a3yqalb6x86hdv2fgsnq8";source="1w8w1ayk1ixwsixlsar5nmhv70fqahx06ydraiyz543gm3vrk6br";};
-babel-lithuanian-66516={run="1akp69n8i19kyx0x247i4nw66wmlj3d3lkm0pmqz6c4zv34r9fii";doc="1fr3m5b0dcrnrqdb0sm184czgkya8xbx0zbj9wlsnlh5y2pnvyds";source="1dchvyy3zwa18x2dsz4ww9hjnkhca0cg65q85jw09l5cz5v005jy";};
+babel-lithuanian-66513={run="1akp69n8i19kyx0x247i4nw66wmlj3d3lkm0pmqz6c4zv34r9fii";doc="1fr3m5b0dcrnrqdb0sm184czgkya8xbx0zbj9wlsnlh5y2pnvyds";source="1dchvyy3zwa18x2dsz4ww9hjnkhca0cg65q85jw09l5cz5v005jy";};
 babel-macedonian-39587={run="11wiv5aw0k77rvqwcgh4xdiwcr67q42rwq0mq5vcpfz2hb0v8i6n";doc="0nsvnmjx8397xb02h2l00nd7ynz11f9qiqrpim2f18r55qmr0hb3";source="08z4ca7kja5kb2azf3whgh0w7fabxs3jcijihm0vnzhb1809napi";};
 babel-malay-43234={run="1h4n9m38s560iw86cr88xzflizkd37nhgyl51xvniyvkz6nkhrxr";doc="0c0jriwwkrll6sknd1c90bhipcjr3inc7vdn6cd2szlbx72ir12a";source="0r1gzyi40yx8ikxkrdqa1hg33vciz1qbvibd8dv3qbia7mm11hqv";};
 babel-norsk-65093={run="0n173mskrn15pz6pnxyysavwc93w5cz57wywdnn2xvb574ka8jhf";doc="0a3ka4hfvjv7w2s90y7rk2vb4jsaqz85sfbnlmkfxlhamr937c0d";source="1d5h7zm7d3d58lmkn3qy8aazx4a93fxmziz68cckrxa7izni7s1f";};
@@ -294,7 +301,7 @@ bartel-chess-fonts-20619={run="0xd51ighrn01kwb4n20dsvrjhh7a0y31py2mfl1dq34v8l6yv
 bashful-25597={run="0cp0lvqb88myspsbp7s3xd0rrkr1jlqcqq846mk8p7r6r4apl1ca";doc="19dbyg9njh2lwckmqnmy52gllsdwv2nvcp20marsjv5hps80946r";};
 basicarith-35460={run="10cjfm3v6b7rkzc0wngg635xbyfmrnzs5y6f3sn0akdfxj0d3x28";doc="0qm4qnxp3n42zvkxyzanl4psiph9z9dxz5b2i32fpn7p3jhn2qh4";source="1my6sp0mvbmpn2bakr93qwasqh7rwmzy8lhl608lssnxk33h8x8j";};
 baskervald-19490={run="1wvdsq2qngbrm2nibvmssk62kqvjkk50cxi2d7lx3nb6jgmj33c0";doc="0zj9xj7y1srb58lr9brmi2m7nw63n798m7mmzibjvn50kfw3qc8i";source="185jgbk6rg6vkdwhwb8i0inb32qr3rgsdi3xhgj4vj0iah9mdkbn";};
-baskervaldx-57080={run="0nnqkki5ff5jn9bi8xddqpf5r1cj0r6rjgb83ab8x49di3y5qjsy";doc="1q8yv0725j3sfnqgznnjjbkm57hxq5n9xvga1f7kf5c0jkp52742";};
+baskervaldx-69273={run="1iwqw0d6wx9zl5p9f92gw6zqshflshw4isk35542wncwm1w8fbzx";doc="1xzprri9n8rmnyj5cxbhix05cs3bfgvia34h5qkql8ykfrfxpk1z";};
 baskervillef-55475={run="108yndp9v2awi5vw29zbin82bcvx2fzkkhypg7f4dcl9lziwdbg1";doc="0divl9d4bgpjvc6yy2yawcrigkvv7pwdnxy1gvf8mypwhkp17anc";};
 basque-book-32924={run="03jh24rrjczpgj9d4w5fy9fv8w29wbqylx5s9n14jwdsf6f588ip";doc="0sza7d2qx89saj6rx591ys15b8gvrnalrbrkk2wcjln1x2cb95jn";source="15lgh24zyqlmqkw7wdigwvvkv6qwlpv4zrm2zqwgxj93bffa4fs6";};
 basque-date-26477={run="1hikrfz1z6y294zg00arnnc6any1iyn0gkhmv9j9wsnlvylcbnxk";doc="0gifh2wlhxl5s2p816w06w5h51pg6gn2mdskhpgkq16shaj4xqcq";source="1vjq5pqkan433wisv0d437m6hbmfqyds27dzwkyd233zq73fpjxb";};
@@ -308,9 +315,9 @@ bbold-type1-33143={run="0zvkzp43awkf5vbnrvhibkw185zg7h1rcfqav38z720cls2vgd7w";do
 bboldx-65424={run="0r6ds8wkf1qrv4mank08pzkwz4qk2pfyb6pvqazbf4jn4a46bjcl";doc="1b79xnpss9s1c7lmqlpznk4vvxzgp7dd248ipkq6n4dlpv0s2y4n";};
 bchart-43928={run="0knv4byfxfalyhmsqiq4wjcin0q0hyj9gs7f167cddjyzcg4z23i";doc="0zyiw3f37i3shf8ihhzxagvzwnsdaymbkpcizdm2ryziglahh1jy";};
 bclogo-39364={run="1lnfpy6fvw51cfy7zc1bpqhgca8mcgnhyvh5l1s3712xl91hsvwq";doc="0vf9fvm607fzw3rvc93crxjg9ilm6d7x7q5n1qrfmkzmkm5mjj89";};
-beamer-65975={run="1j8vljwp8cg6w8ly07ql8q5pwklz1xrqw5n0wg405ijxa72zlwk2";doc="1x3y44dz2w2fmrbranjzhq419ahibz20vk3900rgjfs0wkl6xbg1";};
+beamer-69316={run="1igp0jcs2w20k94fr84s1af5q8mw0mrvraslaxsxcnxmh65dk9kz";doc="0y07zc3zvawaph7pwk8z9429463i99y9b6lzv9v8cacnhqk48426";};
 beamer-fuberlin-63161={run="0w4asfzmjrzqqc8dsan461fvmkjn21181lij46rhissz273d9vph";doc="0hw0cp32k2gqv9y1ai733sj8f08hdn3pj60qh2ykmcqg818q4clv";};
-beamer-rl-65725={run="0n3scafwgkwy30scgzkx2b0z11wkf3hwhga8fqinn7ls7igcjvax";doc="0lbgf6w6gq0vjh96a4rm9z9cc0kl1x1pm4pcb6pb4r7q7m8illxr";};
+beamer-rl-69254={run="0dq7p1zpgv3sdbncric180slinfxk1vdskzvfzsivxzhh2z1adkz";doc="0qq209gc6ssz3kz180dnd6kl2zv3qj9iwq5nzcbd50ypmm483dg9";};
 beamer-tut-pt-15878={doc="0ayh3kbh11l4nyyzp2kcwzn0phqhzawppy044iyl1wwwc2v3zx5b";};
 beamer-verona-39180={run="018ckad1q7ffkixvf6q9a5d4fzgpkpf9qv06cfv0rjwp80k7psyg";doc="11vv18n971pcmn8lf2cya7jf55x8zw1d9s4sg2l3q76rdj7l53ra";};
 beamer2thesis-27539={run="1rz02mxmvrq0x06xbrdqvfgs21nhkcislcnpdwx9gvrdmwpcyccq";doc="1ialsnm6qc9bwry5575b8l9ifgymidrsvy2dc786ixndc0fzn84h";};
@@ -322,7 +329,7 @@ beamerdarkthemes-55117={run="07zg346brdpckcfr1vnmvqcahjmp87cb2sizvyx4jvxv19qqwpk
 beamerposter-54512={run="19h0zh583chawpzm59xv7243vzkz597df68yy0zmn3r6ha8k0qz7";doc="0xspyywk813ndrd5xps7fxwggkmdl078fmn1cvxfx3cxpnmdf822";};
 beamersubframe-23510={run="06csqdbh272jbh3zpi0f8zblbmi0sp5iiz1r1qa9qc0lw81mdh7m";doc="1g29xay21yr8aap2fzklkg8q3ybz0xmz22xx5cd9md93c8k9kg7l";source="1zb42dsisab4234s79xvva74rlicd1gg4pbh867rxd15ajgy14k5";};
 beamerswitch-64182={run="0hl3c2ircmxp8bywx871w9b7rdblzn28f0mqfr0pdaz3gijbw7ms";doc="00gxw3mdrpdziixnjam8swq1gm01nw5hg6yzs4ijdpxh5d911c49";source="1pnr2hrvz58c5i0848hcdjw85jybz4q7lpb3xwfkmx84wjx99945";};
-beamertheme-arguelles-66373={run="18196yri83lc99519ygm30ls5174jgn8kw2i1jzyjc1rnimcgbsa";doc="09y9w7cj4lg45ykdg4rgaf1f9p0s9gpn93y1x39kmksxag1d26h2";};
+beamertheme-arguelles-68659={run="1rg7bp3kvghb8qhsqax73mbh6pahlf16dyiybqbn8jwwapgmy9kb";doc="18f5ww68w9hiq0pkpf0lgmksf5lc2hc2kh0067h9ls3zy91md3xz";};
 beamertheme-cuerna-42161={run="1r6c3ar29s06b0yfn85wssxccayxn2706y9jxdx2pxsr85ndc4js";doc="0a8mmg184chg2lljv1k7ffydg4sgcjpjbnfjzqcg43cqd01v5dmx";source="1avywir51zks1hygqypsfi6lkrba9ld6x5mkr8lln7b2s4ijnysw";};
 beamertheme-detlevcm-39048={run="149ya5raar4xfkb910lk85pqpm6mrc5n5ghh6350knbmaa6bdwg3";doc="1wfq3wc7b3516s81sbp6md6mx9szbzq5ycqvsr50y3s2wfvvj2lv";};
 beamertheme-epyt-41404={run="07pjgzgkjmr4hdf16m7kx2cf1448253jwgc522akfvvnmx9fi26p";doc="1a987h1cg48bw05zjh79ga23qb37s82dkqhhgvp7gsnwz10pax2j";};
@@ -332,11 +339,12 @@ beamertheme-metropolis-43031={run="1pmvcyjn04pgcmvanj369hxqjha0s7lh1z4b6fbhaj2aj
 beamertheme-npbt-54512={run="0m1mpavq8p4pswibgfhsbnvg59kn4sxz0m4p2w6zjkmy80s3naq2";doc="15kc24d21d1r34hd07zr65rp1k55fwrxr59h0ayiiwgc9fkjjsd9";};
 beamertheme-phnompenh-39100={run="1smqwy1f7jz012x5hmsknvarykalz58iysnwf3px7kwg83fr8mb3";doc="1pg8242n3z6x1n4kp8my2nfllriijxwmwfn7d9hccfnsvjj25gdl";};
 beamertheme-pure-minimalistic-56934={run="1z283v6ipp7c7h1qhm043g0sdfcq2dwzk9l0lyy5951y1kj965bc";doc="1chzf3lgd4sx26nbmacb7dadpk1m1rm913dj01648vbd2bz9y4zb";};
+beamertheme-rainbow-67542={run="1zv8vrifblbhw6zfbx9mrfk1vklr83rwd6gly42jyg7fh5awag73";doc="0wy5cc1ca6byjw39rhj3xhynifg06ijqab5l1pavpcahyq6abq7w";};
 beamertheme-saintpetersburg-45877={run="1d48158ladllzj6a1np20irl0r0syksb3wnisxbbwv3kwzr7fgj3";doc="1qkzpbc29587lmckjkl3lx08f2j0q3aaidqz22r6bg896j8q8pr4";source="1r4cw99zffqsvppc9l7z9k8l93sfk1nk8pzj50nm2bmkrdbfk32x";};
 beamertheme-simpledarkblue-60061={run="11m8p3n45qf697sjzszjpkdwqfgy92pzxh9k7dx72ikpdah7ba9h";doc="1ifbh5r0sxk8nsf8cd1g0d1w26ypb5hhsylc7pni6wn9n70799jy";};
 beamertheme-simpleplus-64770={run="0ip3imjc2gz4d04k8lx9vpd4an9sqmw3gbb25rmfpyy0qfxbj0ax";doc="00lj81r295zh9lrbffq0ja1skpg8l8l3waj3d34sq6i9sf8rbg40";};
-beamertheme-tcolorbox-64387={run="0xqqd7ak7r0zgy92k1sn32ahv48zjpggsjbnx761wxv563sm0ihy";doc="0nlaqvbmsbr4cqzws6c3bxwlmkwqv3bg6i6rwa5ll4sqgsk6symr";};
-beamertheme-trigon-65974={run="1fdray7kncwsb166awwr4jwnk27jxnp3824yf298pp4ikg7iw6b0";doc="1l8iqyq8ib1v0d4k7bd35hb9lpdmpzplnv0fqb1ngzdn0jfx6c6q";source="1s3da6z3sshhndpaxmi3rh7zphh7g1qn4b3cxbzkifx2xqmz8xvv";};
+beamertheme-tcolorbox-67000={run="06yri18aw8bb6l69njavl3mj38rmiy9aabjyfvy3nam2mc7ivhk0";doc="0v1h8smnlfic4r5j8dlixn03ihxy8ciwgc839zy739908g8wix58";};
+beamertheme-trigon-65985={run="1fdray7kncwsb166awwr4jwnk27jxnp3824yf298pp4ikg7iw6b0";doc="1l8iqyq8ib1v0d4k7bd35hb9lpdmpzplnv0fqb1ngzdn0jfx6c6q";source="1s3da6z3sshhndpaxmi3rh7zphh7g1qn4b3cxbzkifx2xqmz8xvv";};
 beamertheme-upenn-bc-29937={run="09a7da5ghgf5q4qp0djp3pya35zsm45wkiy5srz8p9q8pwg04bdx";doc="1m1bc9mxdwfdm0v2lb0i3pfxgf5as1lpm8a05icrm7bdvii0vsiv";};
 beamerthemeamurmaple-65698={run="1amknxp5vladf2slqjn9a6inkcgicha6fb3c6pc36f92q3n62csk";doc="08y0q7qq78fgghfnbxy2vsbqmqrqdnj5p8y682mc285qpqwncj6f";};
 beamerthemejltree-21977={run="02ccd8qqyjkvqqyxr94p1gc6qjryl83vpa72wcm5ywr8gmxci0pi";};
@@ -344,12 +352,13 @@ beamerthemelalic-58777={run="10wv3820avgviic0mcxn38yycyxqfvmf7qhb5ybz1x84jrw8k9h
 beamerthemenirma-20765={run="0ivhbhybc99hacnrfw1fb9412f6614an1955rglkcbwxwkji6nyn";doc="04155wbw6ix7an8sblw4a8q9hbn7vzwffady4vc23vzccc2i2f4a";};
 beamerthemenord-56180={run="1kb3485dv7kcj04bkgz8cv15kv7jmdjy0jcilvi5zc1vn690cyba";doc="0ls5ivdcgayz9pqm6j1wd5f45s063kfknzxf594rdipz1jnmvj4q";};
 bearwear-54826={run="1xaq0bmv8jv1zss6lwx2ccx8inrmyw1r9bjv3sbqfhp2x4d5xjrl";doc="0vm9lm6389jnmcgzx0ffmay2bw4d0h1wfmsfbj3x1s1vrfl62r8j";source="0dzmlcrc4izb63862dcafshzsaglq5m88z3cxmwivmwpikhh0gb5";};
-beaulivre-65475={run="1xkm64zf69achc31qvnzw3dyxsyjxpm5sbrxkpbq01rl7l0rmgbg";doc="123hijnaj7dxn6yi1csfk60xcwiicjv8l2b78314rvdklaqy69ly";};
-beebe-66287={run="060v67ma1r6n9fmg4v4zl2pgxz6gmd4qrazyss9hwq6z4206pqc0";};
+beaulivre-68376={run="1iph69jij9ryms2njy2mi0vd81cfb3rq3y78was44lbdw3fdxmhz";doc="0ksjl6rn4s6s301bfac22y91q60mljn96vh90bbgbbbjxs50060r";};
+beautybook-68438={run="1s0snxw87d8f1chj6ghbl2x8byq11piw5s95v5pla9k60559qnvh";doc="1ddqd3k2mdj0psqlbgkjpdy0ayjcxh54bqgih71lwsw73hc6gd6i";};
+beebe-69012={run="009g1m0f5d5vpajjvkhfcjqb98srz5jd5m47fa18y10nfbwrbwl5";};
 begingreek-63255={run="0dl4ap6r3xdwi0kypp6mq171jp4hl9hrjlhfrw9i6pd31qh2bp85";doc="1lmrl3iqgspi6hd86mwssr2bjqg59dykgwl4kzjfrbqa1637df9s";source="0nyd2kqsmkz6rvsfcymbbl2kvs220rk2fi2wajv46w0px81bxch7";};
 begriff-15878={run="1hl6jb8gg3acsj6rs1z0w5v0i6ivvas87hij4n64jdwgf1lf02ja";doc="0bd8gwf3ifqkjpr8wnrp0xx78169b8yc1ppdnyg9v6n4l1b0x0s9";};
 beilstein-56193={run="1xh2955zfnss2n9g8rsa0m1kad4b4xpsdrjj891kj97hhgd9hpdf";doc="0k78mwjqqib6hx7c6lcxkzrbg3gfw64a68fj32g0wpvdyj406ssf";source="120gcmpz53l2pzagh40nsji9g86fq4xvahzhwqqw7p01r03wc0cl";};
-belleek-66119={run="16vq207gnh24axsmh2nnh8lgy1lz2dn2kfn1sx51cbl28qv3wy2b";doc="064l5x679az55jb808yq36n28qhf0gv0xm21iz8rnz4qxymwsx0f";source="1w1jbq0l49qd2wwc0xmravrid4rfba52yw29z5ki7p46j51dw7i8";};
+belleek-66115={run="16vq207gnh24axsmh2nnh8lgy1lz2dn2kfn1sx51cbl28qv3wy2b";doc="064l5x679az55jb808yq36n28qhf0gv0xm21iz8rnz4qxymwsx0f";source="1w1jbq0l49qd2wwc0xmravrid4rfba52yw29z5ki7p46j51dw7i8";};
 bengali-55475={run="1rqwjn1vim77r30nmdmw5v50phpsfzdcx8nlxhxlvqsca3yqzsvz";doc="1zxczyil1izzj9pnz9c6my76mggg8maxdign07qn4kzf8c0fq8jp";source="0b4v7jrngga8znbfiafazxq6z333wa98prp7hwzzhpv3nxj6kbl8";};
 bera-20031={run="1i3mahkkb858i6a3wyrilcbswdp8mhclvixdxgc0wpkqvxa6qwya";doc="0llhr464l0akf2dx1avnm3d7adzcz7ml3x95glafpk0nfgb98qgd";};
 berenisadf-32215={run="05ibwmiklbdkffb1d85w9097sv215afgbr63fka2iqzcnm5lzbk4";doc="18awb9xgra9qmrsrm9l090c5lsx14xp7dh034k1fq1g1767w68ms";};
@@ -361,23 +370,23 @@ beuron-46374={run="0zfkx9iiiz7h501ls3z1fxk2ga8kjhi21vpmlng6vvw4v3dd1xhy";doc="0d
 bewerbung-61632={run="1grnipw9vjrqy657wkrg656wmh1553wzd1x84jc6zf9gp3v1440p";doc="0ny8ps46wxkbsd5g5yxyrh2jd74b204r35lggy9r7ckk4jab2wj9";source="0y79pmsbjzpykldic1a41l188wmkmn9izhvg5p77i7phx35s9qjz";};
 bez123-15878={run="13l8qvnhfq575pg1nvcpbrwyv5wvq3bhpkmh2306mds784hvcib2";doc="0qrskibmq7sv07g60gzd5cp34p21ragr6yn9g6384gib8vx60nqf";source="0ab153h8i8nmc6v5g9xwvpymjvpp605mbj9dmxdyl3ic49cpnl08";};
 bezierplot-51398={run="0iz8zsifxrwbv35jlgq3qb4hdf2sqgj7smcc3bfll655zq0hqmab";doc="070nxd9n0i9r7h195lkm45zfpdbaqz4lf0k69qg6qj5adwrdqbvr";};
-bfh-ci-66465={run="0r5sj2vhkpnz66xfxx72sam5y1a3y7vrvqbkh8slsypif5dx0yls";doc="0qvh8h22yx28rb5qs1mkj72qkp7lh04lai5xnl23ig1n5njvgbic";};
+bfh-ci-68828={run="0z8ymg5d5ifmhp28nm9cn9ascfl8m59bdhjgwq4wp3i4a05c8ais";doc="17pr0ydkh13h7wx15wi9xzmqpg3xdi2m34z6cb6ql1g5fi0dbgqs";};
 bgteubner-54080={run="0a8zhnl1nxzg5r525sn8sz44crjdm5fmy09glp8cjj7nic5xj32g";doc="04nh6c3q2w984x7kmgj023dbpjq9mqciyg4xrypgc4zv8wvcgv1w";source="11g65q55cv4s72cpraxw7yj4qskkhqhc0mz0sfy6c8jrq7255ils";};
 bguq-27401={run="1spl6qnixrb6vcdgaaxx0fk740kkxv7y73xamlkprdnrsmqrswwm";doc="10za9hbwigcbxyjwyy5cd760hqabyyj3g74w355akhfpyd20m55v";source="1vaw8sa12c94ia6fknnpbj7xxng3q3lj3h61akm590riffklw2kv";};
 bhcexam-64093={run="13r8z9wj4v07zjfv7fxy4kq26jflywbvj8p61g7r6rgj5v4pqay4";doc="0gvf2hr60iyymwq8alkyyya4vilsczqc5zhg3j7ydsz9hpvbkdp7";};
 bib-fr-15878={run="0csd9a4j3hvgyczgnfnhp8n49j4baym7nw8sck38m86r3kn8n7ar";doc="1inpqvmf6c5zb091q5fxg0r2w87kacvg1yy1lyai7wq3ll0axvp7";};
-bib2gls-65104={run="0rjl5zbp3ai7h0lv30q6qd8lxzzf9flnmbnwwiszixdjzqfjkbb3";doc="1jkii48m6ib9yr6v2hc7yi1czqr9n0i5n7rq4azyz5cbbagka8yy";source="0v22axg88scgk4ixr4falb6b0pq33ddb7l9fbzslrrhbr23kfl7k";};
-bibarts-64579={run="0z4l6nd3hnbgwda2w3si7bqrigp6vdx87v01z4hvf6jk2abykcgy";doc="1gpxi1w1jbzbnmj6rd9r0v3dcywr8b3fpq0haapjh231i3q4h6c7";source="0md7n6zgcqixq1g0csznjsiz60xp6qkk78rxw97dc673q6w1za4z";};
-bibcop-65816={run="06fibqxxaxxm4q0qqxyhci191b097d6aw4kh9s3scpd5gs3akgdb";doc="06zrdp2wwjgdn0mrp9mlpdlj7hisrzs1fzy14rfc7x1ygqcwg4mp";source="09aqfrvhk5fpa4xq39k2gg8s5jqzrmvmpxpqadv5s5mv75gcs9gv";};
-biber-66456={doc="1kwhxk6kzfjg62ygsyvxqj12pgw4bippxq7qdlgi2961n61jaj32";source="1sfi675h4gbk4gyx3gbby2z653vmy5z4wi6ghrhhnrqgivpqi3m6";};
-biber-ms-66479={doc="0h0hxs4a7r8sr5w573d6m002zdpzgs0gghwbasdi9j2hfb2wv6b4";source="1mw39ra48y7gqhh8860544wvzxpciaka5c38873vvnbdnng44mh7";};
+bib2gls-68534={run="0n0wdd4gihv6p004bb4knif4k5mg93hvg2kfhy6326ijdc61nnnh";doc="1abirvm0ifp4f8h28abidbr8wds3mjr8fbml97gaj2qv5qm87nby";source="09f2pfzirhjc5xf0waga3ga9l81cj0nzj45ghi5r68blb3r4d33i";};
+bibarts-67407={run="0yqpdj8fnh5lafc9amvmnam50sgxhwsaw6fr49k2bzxcz5bx1qv6";doc="0di7fqxkaddpq3iqxf9nplz0vy4qzspala5hyh6l8zc9wdcjr0db";source="07664c9cgf85k2c096r2aahkl1ddawhcdqgf7wfrr806qi67mbz1";};
+bibcop-69395={run="1nvmpqv6krjm2g5kfs7fyc7hqywkiwp4l18rw9llyic9kddpvn3y";doc="0hblnmbssn5lz1vsr0ncx6c5i75f7vlsi7wxn7gg7sxfcr0bqbrh";source="1s1zslgccaws2wqlxrr0yd9wijir4a40qx8469lq92349m3rwnzp";};
+biber-68188={doc="1kwhxk6kzfjg62ygsyvxqj12pgw4bippxq7qdlgi2961n61jaj32";source="12jl5fyb802yrfj0fdajksrli1yyi2apf5kckgh6k0cri265bmxa";};
+biber-ms-66478={doc="0h0hxs4a7r8sr5w573d6m002zdpzgs0gghwbasdi9j2hfb2wv6b4";source="1mw39ra48y7gqhh8860544wvzxpciaka5c38873vvnbdnng44mh7";};
 bibexport-50677={run="1zbsilzaz68zvmbf2xw7jqw4l66clcplz3l46ggxw95gns8mgqlg";doc="17a5w095vkpp7j54h8m7f74l7vycsqbv6zzschdb3dd34scq1s5w";source="1pqs7j4xdhx3pqsc8i0wqnz9jkyg891dzl7g3cv19a6wv82k0xjv";};
 bibhtml-31607={run="1sg9x0jrgh2jng9b1pd08i0f8kzhy94sq0mf33as91gr43dzws88";doc="0is3q2m1xg52h5s9n9403c85yfmpjaqqbh8lgyfqfwhl5qqmgrf9";};
-biblatex-66405={run="0zzyi1sclgnrfqvi6bbcymwg8g076br964f40x25l5bvn6r5hx1v";doc="130p4vbg7c86ac7kyb2briwy4v82qbfhpxhplzlxhd4xa2p3j72g";};
+biblatex-66403={run="0zzyi1sclgnrfqvi6bbcymwg8g076br964f40x25l5bvn6r5hx1v";doc="130p4vbg7c86ac7kyb2briwy4v82qbfhpxhplzlxhd4xa2p3j72g";};
 biblatex-abnt-49179={run="1dn2929wlyzwb96iq5lj8x9zr2fi1c4qk1rldc0vrr5s3cxfn3x7";doc="000akwyh992yxzn51jlvnc20g12ypq2zmffvnbwxjy3cyq0aggq8";};
 biblatex-ajc2020unofficial-54401={run="1csx7vad5svflb76ssdkvd8y3r2n9agqqynw88wvzhzj61fkd2cr";doc="03wzlpr5v6y67syy0bx87z123ark524fm6kqjw83v0sa4y4kwq7l";};
 biblatex-anonymous-48548={run="02fssl0l50s94y6x7rv2rm0227ivgr7kfnim435j4k1l0av4gb3n";doc="0dffdxp04shrh7fsl4dilqcsnnxbjpbayy9r87hxmq3yk605lvki";};
-biblatex-apa-63719={run="06dbypx6ggnlv8ck0y5h4b2cdp2k0kslpzmaksd0bybhwhbmw6l4";doc="1ada2q8ch4kkn7i23wggf7akq5nzqj0najdlcx54y6badm35d7al";};
+biblatex-apa-66605={run="1hlh14lg9cay5962z9pwzslqs3mbqfd70i055r3xbgd19a8hw5fb";doc="0mqg66qiiqnffiarwi6fs3cmyyssiifv5kbjg9579lsh3f4dag4m";};
 biblatex-apa6-56209={run="1a1kynyy1gdmsfnwlnxws74hwyqc6sq29wv6ybalpipdzn7dg73i";doc="1qvn9bnzvx88qbmbdgds53q08v7ml42mbqbcn7bzzq6mnz9ra2mx";};
 biblatex-archaeology-53281={run="1kf5aqc8mv28k0aiipwm6yc1vkgzyikp0bsmpmgdhy5acz3whfxc";doc="022l37hplzmvkcpnr06n4fz509w8wm24py0c05qljs6jz7smyhh6";source="0shn0bacflcaayajxpdiv9ik994aizpdmlc010shm3fzjdlay79c";};
 biblatex-arthistory-bonn-46637={run="1j0wy272dkzcb96i74qh54ap2hs5wdhmln8akh749fyydsazr43h";doc="094s5c55lfc7ssmz3mzj61zkxpnn1haj2vh582apzffppgd3fd0m";};
@@ -391,13 +400,13 @@ biblatex-chem-57904={run="0kv44yng5wff1xkgw8nya64jizfcf1ipxrgnf46pd1dak5vlsiq0";
 biblatex-chicago-65037={run="1ik86b38bc59qyj68fajcbskbmlz6vsg6nzwv6pm1fxnmhnnfd0l";doc="19sy3fi70kmvqknbfa0wxvn563l4s3m59f3jx75n29vxrdljscp4";};
 biblatex-claves-43723={run="0saj8s7q9lzjnydjh3x2hcnhj0wfm2p4rvxk5n6hi2ccfw78d3c1";doc="0g4x5jblj664ngppqpbks3d0ahn818ck871q2aqir6jgkrd13cpw";};
 biblatex-cv-59433={run="0k3bbbjvykc52y4557nm7kqna89mjq6g5j5hpblrcdlmvd5anq2l";doc="1xbd71vpm6vfyjaszn7jlxr084mqxw558rqyqr8x848hbyh6f888";};
-biblatex-dw-66534={run="0qxc6ggpvs4bs4k0l16393h573xh25dmwf5yar0hg0cqyr3xhp53";doc="06j4b6kgsngnj23h9njd027pdgynlnx26p3zb1knqgd5kjbmivmq";};
+biblatex-dw-66579={run="1kjvqx9yqqzhwin4zwkp9qcgh6nk7bad5nlhx63mkwp37izwlcrc";doc="0a91cra76s2134anv2jinwcpp0jkd0pn7vybbin3pgyamhr469lk";};
 biblatex-enc-44627={run="0kvya1xzxpcmvwgacb726jqzmgr944y9ljai45f0gdkw855ylmb8";doc="0mmc5sd1jjnj42aa2q1g1zaps1hla6yayl769i4bya6i1w9r99yf";};
-biblatex-ext-63638={run="0nggnk560rs9kn8ggd0na2dvsr5xxda6dd9bryhgvnf2n81zgpqw";doc="1qn7dq0mgckjzcrndfv93pnyx41637fm3lxw2qj5mpf7q2xmalhs";};
+biblatex-ext-66641={run="15fq6q1rxx8ca8p8g84m21v0l5pnibzsvlrw7abl8v3zs9bbncqv";doc="1pl04di1qmkf03i3l7ccszf1xab5bjpg6vjrfxj4n5gaw71k3jmz";};
 biblatex-fiwi-45876={run="16grb6hqmrhvzryijg6p4q4vf47a0lxa8bw59avlib5j7mqpg0wc";doc="10skq20bmpqymbgxs47z8ac0q5nckyph7s4xwqmpfd7pi2sksb4a";};
-biblatex-gb7714-2015-64967={run="1pzzkpyb9ayygvn8gzl6xrh25dk3aflv49gx611zkkbhw0cp9qnn";doc="1p8dlyd5b4ap80vpnp0nbl8pw8218d2hw8ifrcma0g18lyay79ic";};
-biblatex-german-legal-66465={run="05wf0z91b7yhw73xz70nfznic6x4iy0ir5savldd1ai67iv6h569";doc="04xrqwnsai24xh1apw4vl5gqhjd06vri33cxp0z96sp806s6hb4z";};
-biblatex-gost-59135={run="0ar1d77qzhqb2wvxa2rqgfdk006ph5p2h3a4i0ibjbnm61wx2afp";doc="1xqs7h95qc04lz3wiyfi546p6p4l9bzx4g13sbybsyv2b9yv9114";};
+biblatex-gb7714-2015-68240={run="17ri6cmqp478z15bsbnfmmshfbp25ng070irk7i1qwig4fgvmlnc";doc="0k5shfxnw0kdbplw5fsdf3bybd98dgsshmwqrnpllklhnc30zhbf";};
+biblatex-german-legal-66461={run="05wf0z91b7yhw73xz70nfznic6x4iy0ir5savldd1ai67iv6h569";doc="04xrqwnsai24xh1apw4vl5gqhjd06vri33cxp0z96sp806s6hb4z";};
+biblatex-gost-66935={run="0d7fcvjv4100ws9p14qvp4dvv5wzp6xc8qhaqrxnrzkrzd6w7x81";doc="1zzxb2hqi4gc42jcf21pw79h56yxwq0c0wv7z45lq0m6vc45lzic";};
 biblatex-historian-19787={run="14p27qb8rdx479pj7zdvl00ir1zg8f0bzp107zfwv61ypq8zrvbl";doc="0hcghqxbjah4lyjzlrkixs6iqbkjx4d8r3hv16lgnddkndbgq663";};
 biblatex-ieee-61243={run="0iwj8jp5q16g0waci3wqc7hb1qmn35b6gw0x0c2v7444rs2id242";doc="0mnpgdamgf0f3nr0lbzkhl0ncnf5qvd3g3q4qnw45h30y69cpmsq";};
 biblatex-ijsra-41634={run="0gnm3h0918lvbqwnzk9wkdcafpzz5q3cln2z1sjaylr3mgypykdw";doc="0jl8mr3ai1ybc3lmp7x477znv59az94hlbzaqmvix54rxf6k8f4k";};
@@ -405,23 +414,23 @@ biblatex-iso690-62866={run="1nkq6fa443dpxxm1w7fkj04169a50d61zwsvijg2z80ivlfqpn8m
 biblatex-jura2-64762={run="0lq0dllah3drjijlscwy3nvzmimh9zc0in10vld516lmd88i7vdq";doc="14l5sf5xmfi27izkds3cv933397s4fn1ah4k7jgkj7vw424bwh55";};
 biblatex-juradiss-56502={run="0zi9b67y0p9zdz2n4j1lr5qgd54p3l13c132wjz749mlrv6njfx3";doc="0a6d7awx49cy86ndwfkfq280dwh846ssjkkkrgbq4vxlbmbh2zpx";};
 biblatex-license-58437={run="1fg16xc32kbg493y91sjxjnxpi6jb7kki7yvy3d796w7vy86ljfn";doc="0iy8ad7k9j5x5wnnk196dwsyc5hhz8fl88wq56x80cgfdkg20jrh";};
-biblatex-lncs-65280={run="14m44xx5ywv9k3wchy8zh63wkkl4kwns3znj19iybw9jsdz95r9j";doc="1bdyaxj5a85b12jm11g64ic6mmjgxpvacxxg4g3xkslx7afm4cpz";};
-biblatex-lni-61719={run="1dg4xa0xkblf3iy9hipjp4wwk46zwq5yhwfsmiwxa63bkjavpzg6";doc="0d0cx0jvgy2shly976ypmr0k1rrpmiiqc01m2sb9scj558vrf3fn";};
+biblatex-lncs-67053={run="021b8002cdb3h8yvqdfvidmzbdjqpybbgq14vya746hnnnas501a";doc="0fvy4ailfz2pqg09j6cqydsl9s5x36y0cdhhpvvyjfbvzbz2cc19";};
+biblatex-lni-68755={run="1z6zpq15kx0dsq035yqwal9p3q6ph6fvrax9ckjz28c31x668agq";doc="1pkjza70w9lzcn7r3kn8l5pg89dasj66c8wm8ixvahzvwgjfx9ax";};
 biblatex-luh-ipw-32180={run="13hh4x8p8hxnyz6cr22lb3djl5advrl5c9dyx6f491d2mjz7vibs";doc="0xb2wmg5psd0wi21j1vmn1y8sy8gw78350fqbmpgd6l4xw7bb4gn";};
-biblatex-manuscripts-philology-53344={run="0wrhgwkbi468nzh41278mxh1ljsycz0vvch583jaksf26cxi6cpd";doc="1ybl7drbymw9sr019w8jyxir0827kbr8w9swvz64shjzhblkcdzg";};
+biblatex-manuscripts-philology-66977={run="1095qakmlkx81frnzanzdszk7isp92k4cgpqlgvwz9r5gk34mx2d";doc="06vg1il1cp3j525jxisdzbbd4v3504h4yyp733prh9s0q5s39yai";};
 biblatex-mla-62138={run="1fdznq1hvym9wgrxd2gsxdi534n5pbx95i8hzkz95zbxfvjpf4rk";doc="0i4716ascvd17l0nlf1wn4vddkjkzc85545wgb4cdzj847azm1yj";};
 biblatex-morenames-43049={run="1imryzaywyvdr67qcspys9r3mhl5k94vhqjsl16pmz86klq1bs1w";doc="03p7154s44ga7rlf8ya69qvbwkb6gsiwz8j2wycgzljj0z3plnjh";};
-biblatex-ms-66481={run="06adhhqd36ahjax1hn0ahpzmdnj5rxrs3yj6h7iyxc46s6d5cx49";doc="1slizjqc40mqai0686q8jghnsbvdy78kc5kpk5v71pc484dk5hg1";};
+biblatex-ms-66480={run="06adhhqd36ahjax1hn0ahpzmdnj5rxrs3yj6h7iyxc46s6d5cx49";doc="1slizjqc40mqai0686q8jghnsbvdy78kc5kpk5v71pc484dk5hg1";};
 biblatex-multiple-dm-37081={run="11rl82yv0bfy69cmij15np3wc15jss82ghf965r0b1py37vsj0s4";doc="1jypgpaid18g09xxryriaj4n1ql0759jfv4jshjbkbk5fgf4c2yi";};
 biblatex-musuos-24097={run="0zs2dwsid3xhcl01a2hqrr0mdfr1q9j0zga4rjlarfzkgznkqrwc";doc="172kvn0rpmk331yvpf3zbyisv1qlykz8icxgr1xkq5z9bxn9qmkc";};
 biblatex-nature-57262={run="0pfpm5am4dwj04fwdjrw30dx8qrmfx56s7gkl9h9qyj2qadsx533";doc="1mga7yx3radxwqhfmxzh2hmsyvx9qmal394cv31mlb3yd5ww1sv4";};
 biblatex-nejm-49839={run="02v8bfdxslcgilfsnw0g516zl2rfqx0d87hjb0dbm4md5qbry0km";doc="1znfnxizc22dgpp3bkl1iim2ksi3w9klw4jam84103bpbl3vwxgr";source="02q97wss9bm6xj9lvr8vx8jvp8bszkxgk4ayxk5zc4lrnjzw2i51";};
 biblatex-nottsclassic-41596={run="00valazq56srfggfw1mq8h7285lrx8iyk44kb8bhqr1q7nhl6pzi";doc="1c5634p7knwv8zrpqh39zlpglbdbx9a5y5gw54gj37x3r1ij769x";};
 biblatex-opcit-booktitle-48983={run="1xciw0zxkp2034lccvhr6irkr333s0qqqacxqx20v51vjjg8ywkg";doc="1rbswdipirzv68ckh69cc29k908ifpkzp3vxgd2j0bjl3qvbwcyq";};
-biblatex-oxref-65707={run="1dh948jqy360dvinvql8rd40gzcpcpw223lpnfsrk6klmsx0rm92";doc="0v3car4vywy9i717ffh94x49hgfqyrryy7h8w63cc8pa53kwz2gp";source="1vp027l005lzw2nf6k16ysa97cxvkria59wa29hrivb26v5d6wkl";};
+biblatex-oxref-68950={run="0c5ijpv8r0wwk8pnd8q0zg3xmkfdn1dkqncdzqjzqql8vm0hh8x7";doc="054anh0z6z0yvxxqd4gsy2sk8yqwvsxgclazgpmqvfhr7xvjjl1r";source="083wrmqr3j28756z4f235kjyq739hnkg0qnjnxs9vdw3hzwijry1";};
 biblatex-philosophy-64414={run="1fdqbfia3k8zldsyy7bf6rhkscf97v84m5c0xjnk0s0xb134d7hc";doc="11pxds41wzdsfgikcyx84d98pp3sz5625kzim7bxp58vn5rkrd95";source="0fhp5lh4g7m07cfpr03ca0vrn12lks8lsq3w4vbvkhh2in5w7z43";};
 biblatex-phys-55643={run="1vj1rrhzh7ncvi2dap2cjk88vdj0dmlpakjiz953rvb7szx0h40r";doc="0z3y7gmcmp2p5g25jha6kwkd7ma4pzgqybxra4402p6aid823fws";};
-biblatex-publist-66284={run="0r2k8kiqw574gcdh76andr6prhd8z3fnspap8hhqlfn9lw9ly0pi";doc="0mvq00rpihk5mzdg9ivly3wbmpbrsdm1phkrfssnjwm5icbaszw6";};
+biblatex-publist-68476={run="15fwzc0splkfpvhrnpwh2yvfb9yy1zrmf5wvzg7knafqjpw8i05p";doc="0rv17kq27n9npagpv2x2fdww1rzvqvcvxq22yv2yqwcy3np1gmfk";};
 biblatex-readbbl-61549={run="0byz95nahaassfx1gpl80p4vgc2bhs9wfw9w7xxwan6b1kkkz9p2";doc="1cp3r5j8b7zrl0k7zzhyjcrw9nypmr6gd7mn1q5whn7n1dn5js5c";};
 biblatex-realauthor-45865={run="1xv65ic8ywf18fdb246sr8pvq60hv4wmg7ris1glr5104g5yhg7p";doc="06nvybm142cd1shgpcabddbrfyvzcc3yxk9zyq9hr3rfhzcqf05q";};
 biblatex-sbl-63639={run="0947b4lszjbhs0k2p6a31mzc4bci9pvh4awq6k6d4qzvpr51yz9g";doc="06rqhkxpmlql5hvw31yx0mwkdjwnrh9jk4xazqq9bxilgx4y7q85";};
@@ -437,7 +446,7 @@ biblatex-trad-58169={run="1000rdnm9jqk89snffsf4ldl47wry8k5akm75aqhd9r7qbn73car";
 biblatex-true-citepages-omit-44653={run="1lqs1swmdmnhard0589k0r8gz3hp9bd88dz5z0kd0586vl7z2l82";doc="0madnjxwjlz9hs6jzgaady4sv0878v7fyjs3sn1bcnzyw4krfxgx";};
 biblatex-unified-64975={run="06pq753prhncs0sk87dqlapm455jlyfvnx16q2c850cdipi33rdb";doc="1rshsmqfjl3ajaxvcdiqr01hbm4dh5qxpbyp5k0a233s254j4ypa";};
 biblatex-vancouver-55339={run="19ymkk94c4l5sav1lb66f2lxjyfzzi1s78qd2a8drjp9q1c6i0j8";doc="0wn26kl4nli220lfs663rdqmv49xgi76kjgnlwh99yljx7v47n09";};
-biblatex2bibitem-61648={run="1l3j9v225f9g2zmishkfvimd08di89p39g0sqffdwx0psj99dw5k";doc="0bpbsaasi6kq5ggs3cpkmwlakdlymd99rfr028q5xj42ir8cba3h";};
+biblatex2bibitem-67201={run="1l3j9v225f9g2zmishkfvimd08di89p39g0sqffdwx0psj99dw5k";doc="0bpbsaasi6kq5ggs3cpkmwlakdlymd99rfr028q5xj42ir8cba3h";};
 bibleref-55626={run="0ds1a91dm11y93dy46gflzgdx5rgzzm8j50q2aghbhfiqmb4vx83";doc="18zif1ciynp47z8hbhc2p6r8jiqisj46as052scb5q6p49fc1ibb";source="11brqv3pgzzk3j09z6ps6ggwsqm89y82s3cl6xldnyvx2ngc5ym8";};
 bibleref-french-53138={run="1r12767ayfh073559p6pdrfs9fs9g2dxcliyx06j7r8lyfab8d83";doc="0kiijl5jhd024znr80g3xqdhz3jyg4vm4kyf1rcpa7dis4ffazpn";source="17xih976gi8my8mdr8n1nfvq6hacicdk8a01s23a0sarj4qwxz0q";};
 bibleref-german-21923={run="1vki9hg39xhn8xzbd4wq6vn6zk3x9gl9bm9n3wr214c5n5mpxkq2";doc="0q69vfak1yrv564qcw3nrklhq4sf62hi6l7z8w2hcj3c325kii56";};
@@ -446,14 +455,15 @@ bibleref-mouth-25527={run="11x3ldyg77xzpx8yl27sxn6x5gb3jdngd5hgm42p8ac0x57x7ymz"
 bibleref-parse-22054={run="0xa6nkbydiczmhphdi3rpipiva94x2pwmqgqcwmr6a66y1gk0d1x";doc="1mn4hyfyialzmzm0syizq1vps07z4zxd853v3aljn6zwqcwfpkxs";};
 bibletext-45196={run="1p2cz95815vkvvc9fsa1qm3sc5grkxzdsyw30qkilff1nivb3cd9";doc="0czz3l0m314a25i242kixy9f9spcj72h3bibfdib55gg05iw102c";};
 biblist-17116={run="0z69a5x3czy0hb59c93jrkmmg6i66vc7rw6szvchsbsj1c6gwjfb";doc="0wp7x8qj7bh1pgcy01jmq35r2i1f8yvrv6bcr8p68d70sr1jqspn";};
-bibtex-64491={run="1w7vpf0kw6vi3hgmlmk0dpzk82kns7a77appx8yg76xcip2xid51";doc="1w5pmarqzrbvyszsjva3hkiagcwmd7r1xcshdfsncfg0hzxpzc0z";};
-bibtex8-64491={run="1hi24b8mmpnz17cfj0p40ipyvzqhgkkhhgh7qkcgr1bz9k82q7sk";doc="1acay8y0l6gnczznxprl4h3bx7jaxdqrczyvdgin5z8yqhx0q13q";};
-bibtexperllibs-57137={run="0c083hg8hczwc28q0c9gw4z1bwj5w3krhrs5zg15h0s808ji32xq";source="1pb46v09ik8cd5kbhl79qfnj9p2wl19g9vpjkdxqvzsb04i7lf0f";};
-bibtexu-64491={doc="13nj4xwza8a8pymdv7iss5ny7yj51bz71b0g4dy3k2lwzml2ch2p";};
+bibtex-66186={run="1w7vpf0kw6vi3hgmlmk0dpzk82kns7a77appx8yg76xcip2xid51";doc="1zsqknlbs7d1zzp1gld8wd2sh0iccwq9vqb15xka9gs9wh30gc6d";};
+bibtex8-66186={run="1hi24b8mmpnz17cfj0p40ipyvzqhgkkhhgh7qkcgr1bz9k82q7sk";doc="0l50jqs0dljlaspb5q6arvimvraf9iv6sch1hr5w5yw1m22qdqs2";};
+bibtexperllibs-68910={run="0wm7lrg1rdhl0b6i8blfs1vkslvsdjksjdhc9bafqrrz3wx9yx27";doc="1r4bwlsggd4wyadclw06sj2akd04cy1v8j41g8wqp2j0x8j1jq7q";source="1i1cavfmgd8kiz0mr1sh75p7rhnrma0gg0b6xypzkxzkgwp1kb8c";};
+bibtexu-66186={doc="19bp8wn0ssz7gczxp0imbpgi1zwz9x3ya67f072rjzg2zmfpphqg";};
+bibtools-67386={run="0s0mz84w97854gwsz843gvlqlgk4bs5bpd195m8xv8g9qljpwfvc";source="0s69lggqnppqlyfc5r2k9jix7zpjy0nvljjimqhks250rjbgg0hi";};
 bibtopic-15878={run="0rzz1c1c6vgjm2r0gv65rwvbcv0asc5049agv75yyvqihvn51018";doc="0hzy6353n1rzirfdjd8dgjhnp496i14b0z0n2x7gnisf3qksr0wx";source="0abpdz3ir7l9dvc6vy5zi9ay103ga7i92vg3z69agd758xnz0v3y";};
 bibtopicprefix-15878={run="0vy9cah5mmr1vf4sm16212h36wz4623s07cagjqnmyprgm44sz66";doc="070shh1cg3hdk097v9jr37f06q0qaaxji3vjdv8v24a1rg3rrpdr";source="1v35hawmsgm12sv80wq2ld0rzz5l4shvky44l8wkxxh7i7vy43sx";};
 bibunits-15878={run="0znv09kqrwvmsjsw3lx9d3mp6fm8444zbn317q5yn5hzg2dyj61f";doc="1zgj4jpl0fpmsrcp3h4qlkilflmy8zqhjamghidwzkkg1i9jsfz1";source="04lswyalfivh01hp1wj3fq1q8960dmsvnbi8k856v3dhz0pv0whz";};
-bidi-65572={run="1gn7azhapkljkl1dfrb4rdb6r4fc6257gzzzmp6cn6j3h6qgzag4";doc="08lcqksfjy5kc4g7g2a0nj64iw1zh83ng506zdd723szs4nhfy49";source="01c48nhbhn455a50xgb7ccdfwpismlijsnw3qk079f9wcyyhsrd6";};
+bidi-67798={run="0iisr0ac3l2hrfja1vmihrf08fnly01dcfg0665x7yfck54qyjxq";doc="11x4y6rkk5g9ah7gmbwhppwk7i6q3j7wydjvbhfdz27wz4azcv1z";source="0nhkwk2r4fj5x94w9fq5db9nh051hxzb1j88q2bfhlf9zfwgiirj";};
 bidi-atbegshi-62009={run="0wpwp2fr233f0pac6llb5gmhz2ca41yjcmkqdil6qhpxscfpqizg";doc="1nzg4cgdhjjsalwml50xl7ac25w0qfd5q18cs8viicj7bbjp13wr";};
 bidicontour-34631={run="1yj7vl5z4xh8i420y1ycz21rw0yy83z0v9nlvi8k3ph2qis7lp8m";doc="085xfi5w350vbp4vnq8kgbilnz3jxwf4g0incvziy5hxh4isqirz";};
 bidihl-37795={run="09wrzqlldxy3lcxp21rdqi9bnjzza9wvdgssqynynjdmfggahd34";doc="1k67d2zd16ash4krnkwvmwx4wl668r0pdg720vr9xq6q3b139y9d";};
@@ -468,12 +478,12 @@ binarytree-41777={run="04q8h54dl0fmczrv6fqvvisim1mz9lnvkdmij6b3jcn60z722k84";doc
 binomexp-15878={run="1mx2g0s4y5y9abmj2b7smz0xc2nzyvnx4x3f4h5v3w1x1kp5y0hz";doc="1yi68q48p39v20rzny1603j20n8k6ddpjqi773955wmh1p4mqsb7";source="00rmdk466a4kc1492b947q1f97d7cwd2svvc9wr6w1agzz8w890r";};
 biochemistry-colors-54512={run="0d4bbm1p3j6q28ckkl7ilkywrjx6iqvmx0qb27rpldw3jabf1lp4";doc="10pa8jwpxr37hs0wcywzsq14x1jgjx1cqg94lpghi505mlrikcg1";};
 biocon-15878={run="0g6r8rh12pbnbhddcv6sz9h8wnv31q6jqs2xbj5fjj7vcb46z694";doc="15wd9arkdxsh8aral3zgl83627yl4f0wdx2r8b6xb5ivvrbwaslj";};
-biolett-bst-66119={run="1ap5arz0s65bqqfllzwxisp3wa327kgivw1jh1gkc4wljq7v4jq1";doc="03hj647j6b7y43djqvb28rkjixpr0y7i02420piskp3cg90hn5dj";};
+biolett-bst-66115={run="1ap5arz0s65bqqfllzwxisp3wa327kgivw1jh1gkc4wljq7v4jq1";doc="03hj647j6b7y43djqvb28rkjixpr0y7i02420piskp3cg90hn5dj";};
 bitelist-25779={run="1vbz2c27jjc94i23s1dzl9j0zf0n2935sgxgc5hq3bpaz1qxvm7h";doc="19p9f9bzn60nf5163rdlw166zpk7qlfwhnc51bpkppb0w4rni2ai";source="0r3lccpampra8dardrr7sb0swbx72aasaras43q4nx4jv6z2561k";};
-bithesis-66369={run="1q5dp90ggc54m834snv1yq9l2b6zl68yzfflgy2c626nc98n551c";doc="1kgfzpmabri0i0dahgccjxqvwpalhx50s97fz3bbymp07za6xhnq";source="100ms26z98rr5mqcs4n660nl8mw42cfv3avzy9lyyp3jb06b8n36";};
+bithesis-68634={run="1s0hd2af4ab6y8bvkxjhiagj8d52z9knamrj71smfw8b2x3419rb";doc="19zjrhqa8wn6vicaa8yrr4pf4fblacjn69rw4r9ia9r7v7fbvxp3";source="0w74w2g8ccvbsj1apv86aa3fr7ald4vkj9k8gvqdc76yzdfj1vvv";};
 bitpattern-39073={run="1j01vh1jy41714k3hms4nkk8j5c5d4nizgrm5syi20n8pcn3l9pi";doc="0a9120z9rsq8pqi33iv7f4j79gimjgxfqf5jhnrnmz0hgqdpl2mi";source="16bjmxm11kh0ww6ymk82qs947zgavm100nsfnjl60hxwjl3yknzn";};
 bitset-53837={run="0ynyw8fyb5cidlz00f42cf21gakm2ir9ilddaaz12s7qq99lhj65";doc="135dcx0b51br6lf9dxd66jq2xa21bpb1mi4y4kk5z6ngsd1imdag";source="0yds3rhgq52sxvwn5kc32iizapbs5g21cw6avbppiip0s5x0b538";};
-bitter-64541={run="0x3xnz8fvhwhixabr05rmxw8j0l03v2j5ylj7jq4gni519n3g60q";doc="00wakrad6b1r63m7z7css70fnxdz3wbzmi5bkpx59jgs3zk7zq31";};
+bitter-67598={run="0x3xnz8fvhwhixabr05rmxw8j0l03v2j5ylj7jq4gni519n3g60q";doc="1x8zzl2890c44jqk69ncsgj7xhchysbwkf66nnw0dsk2qfahc6xx";};
 bizcard-15878={run="0s6c3s99hid9pkilskd8ssc4hv5d5yg5lvw6kqz9szyii4rb6a18";doc="0ic6c43nng4lxsznkpj7w86ampdzjrqqcsdsm1f758rfds7wbnf3";source="0ywip83r43a721yfzrfnkfms0saly4p2ihagyp6259h2kji3vdjs";};
 bjfuthesis-59809={run="1gmd1fjwl49h98mh1bqhlxw63bcpy3p6ri33642p49aypj9iyk80";doc="056iczn516aqi3n04qn4q86w06q5xb3cz07sdb9lr4yp35gxmfzh";};
 blacklettert1-15878={run="1gvdw5gwjzgxa332ih2rp4whdcx1rdn5mig5q9cyiy28zvm1zrp2";doc="1m6qp3bkwl77khvanw498bfrydmyvf1qx5a9sp66x7l7xgjnndlc";source="1c38hmva1ffzani4mjg7zad0mr6lphncspn57m55n28hwfq7x8i5";};
@@ -482,15 +492,15 @@ blkarray-36406={run="096mlldfyi6hxsnp3flkr1gfqhvhxm2vzk81zw6dl64xihkvl6aa";doc="
 blochsphere-38388={run="0lifkhwl8rigg1w2k915yv1r9xylsj0qnj48cx58likwanvl8s2k";doc="0dbh11c3fjrdypam15gjlqwf3n9wxwhjqdd1h01f2f8yams42xfl";source="17bkqf64qvjhbids04bm3qhghqrrwf4m2bsl3gjxxc4h6sfih259";};
 block-17209={run="146ava8k2z6mlr2aq5vydax1i2sy6spn4avshcblgr5ph49iirp4";doc="1nwb1z6df3y0anzrl6b45fs2k069i42bcmx0i4p9z9fsbgqqfw1j";};
 blockdraw_mp-15878={run="11977c2f4100xfbrs5vcwz3vbijdvybq80zmfansdmxc0w3w6sq6";doc="1qb23f08wxmw3miys4sn89h48imzcqz720xfs3ihnbk2v75q3rd0";};
-blopentype-65441={run="119n3y7zq8fhyxjkigm84h0p4v5b3iy0bifls3vxac2cs8qh9syz";doc="09r91y7pqn1lvhfa7kjh7pgvdk7nv8zz2r53c0imhxffj1jgc7v5";};
+blopentype-69080={run="1c87lxkmscs3v89s2pfy4r0cymgcbrdjg0vyhhcjh2ip29dv4kj3";doc="0v0yijfjyf1l2lxpmkg4w1ij7gj0mdmxd51y33qnwgh02g18yrjm";};
 bloques-22490={run="1gr3521mxmabcwvkqxn7f0wcpcmzy5jdpypyafyklmnhc2ij6zqj";doc="1jmvan6ja2zf01lm0dmh3dg4rf1cagfniqjfrmzpxc062khf97w3";};
-blowup-64466={run="13j0ry1988igkxkzyvqg8cwskqzh7mjw5a4vgfqib2mczs334k5s";doc="0wcv1zlmyzh5yj8gsdm5mi6j5dv1zl0zk0v0v6cvwy3kzi32ki10";source="118i136lm79ivizwyjqikjf5053lic3cpqqpyjsmflyz6bph40aw";};
+blowup-67640={run="0ijgwims5gklp37j8zlc0vdr6y2l0gf3nv2jnjhbbc49yv4n8gim";doc="01an3fbg94bg3wspadjil9npbx108g5x7kg8ga7c1nza0wygsdd9";source="1b53khyhzjy9mww925crpjmfgk9cjsmcz5hxjpl8wghrc4qqahjl";};
 blox-57949={run="0p3ci3xf1vndbdf147r9l1s68x72g7r2np6znizj3qqxd22h3wxx";doc="0hskpi2wnlrrqmv0s8i4g4bh03ka18w3czvnjjvhvmf7im9wq2ha";source="06zimj2liix2y0f6a35kb8q9d9asp48c58mhc3pssa185bcc7bv4";};
-bmstu-65896={run="1x89sc4grkk3b9mhi4y1gkxm9pcbhg54j8v11mq2bx4nyl0bgrll";doc="00950rlqysn7faapvg9z3knb61f8l5hyy9kjxisbs80z99mxh5rn";};
+bmstu-65897={run="1x89sc4grkk3b9mhi4y1gkxm9pcbhg54j8v11mq2bx4nyl0bgrll";doc="00950rlqysn7faapvg9z3knb61f8l5hyy9kjxisbs80z99mxh5rn";};
 bmstu-iu8-61937={run="0xvxli6na2nc03qwn4x68sq4jdr2x830yvfb507j1990pni1y01v";doc="0kimc29vl79ib5xmrlb1ipfslq2y4i3hnabxcaisrb54z0y3rp1p";};
 bnumexpr-59244={run="06achk9z1waxr6ndcfplnvhvd7k4z1l9mw9plh92qpj1dn48ncbj";doc="1abhn0hyps7azg4fipnyxihhzmk5fdnklb4gxxsjvnnr1grka38y";source="0arhv81y8993498qkrnlnsa8fiw88s389q6ybvndrmf85js5nwlb";};
-bodegraph-61719={run="022m4w5rpn7n9fndddjjlyfxrwgirw5x6k7vl40nnyc8swkjwb62";doc="0v79v2ijgx7qs3xbsp6h1nw3rn9rry5j0qkk07bvyz5aqnzx290q";};
-bodeplot-65074={run="0yhhxb044pykrpfni8zabgb78zqcswfv48x781ywg2qryi7m6x71";doc="1xsfv7jm1v5sr9ajy3lkx0ijyf4swm2975srhyn6g6z2961a51zj";source="04p9scxrlk15rfrv0l7v766pzrzm83arsymnpvyj417bn1fm4k2m";};
+bodegraph-68785={run="11y62cwwjkxpr7xnpc20aw37lwcs83177w2gnxz7f3lr8192b28z";doc="1k428jlknm973v64wj1ljw470q3939kxns7xkxcfn5r3hjnqhmry";};
+bodeplot-69397={run="1s7jccfsd86db9zfrbqi7890jfsznsa0fyj2ks0s99d8hbbzp2pz";doc="193cah3bgy8blxgjaa6gvg62yyv4ccf0zwbiway96xk617c4r9cf";source="1bg8svs2ylxxdd4if9z09lvpwypvp3s8mr8568spdq8k2vcg6lag";};
 bohr-62977={run="1fbrgfp1xnxa5cf5yqk9735wp0qwkjkpf8sv8gdjg6a06mpixn6m";doc="1jbmck8ld3rg0nw5rs9lbnr0i34gi2sxncri2fmcdpl8pp3xnw55";};
 boisik-15878={run="0xqr3sgmzklqsvd26f2800ifs674lf0a4kgr44na2l0lf5msww2c";doc="0l0hi4n5cfm1zdkr68c6ks3gxkda5bgwlnf62y7x96q5jkscdyxg";};
 boites-32235={run="1176j9ikh36s0cgvsflayik1xp0zycbp8m9hg0c7jmzkm5haqw41";doc="0visqy0qg18sa4mxszdl601yy0ilfgglv872dhzy8bnqqs8x7zzp";source="1zirqghkw8kk8fa3xahd27dh60phxg3blp98iavh6bdhj0rm7iar";};
@@ -505,7 +515,7 @@ bookest-15878={run="1n6n322vb157fz11djcnfz07ykarin7n8mdr7v04wlsj2gfvv5hi";doc="1
 bookhands-46480={run="08nsfgwhlyv9whaipx74hr4w6dhpdlvwcd6kxzcznxc66mlrnpk5";doc="1z0rir98r4fm8vhx26hw7l22p2z7swj5b2i3jdfy3c6cj0pi4g0g";source="17clfn8g2f48v944jlvwl3jsz9ixkw7x1xjxqkpaqnng0wsm6fyj";};
 booklet-15878={run="093kp4ryfp8q1hg8ddmvaxxsw75wplgz4rrmmwmzcj3hcgyynr1f";doc="0cd1mvkv29r2aqdy4bs02m3ck90rdv0nz01cq2x5xvqk0i8j5dhx";source="1c67lj35yh0w9bfgiba9ank6wk9zqq3l3vvgwn8f3v6kygyqha63";};
 bookman-61719={run="12wkjwpzxn1a1k3bb41gpnky1jjsh7gzj4xahsjd087fpmrsj9p9";};
-bookmark-56885={run="1vari4mh0ijss50sa103ppz9a7mhbn72gl7sfgs6y9fm0rw2b457";doc="1habxdliv4vw5xsm3ki8m43fbqxkvpj4wfm2j7nkg01nsl8q2zm4";source="0ygfyjpz90vpavg4ifalbnw2fl06j6v93906ragk48g711dzhyvp";};
+bookmark-69084={run="0wax84d0wyy1z4a78j62nnmkgn7f9ww6703qmnhyj9x9206dlh31";doc="0adm4hcf92xqxsb4cl01mnf5f6mvpblr3b8phxaz02xwxx3203vk";source="1w48rx66n77l7fpqpqcn8337qylp09v2pnxphhnl36sws5yw6nqq";};
 bookshelf-55475={run="10sjmi94cc4ix3a2c0qpavs1sc0mqfqfbbw4qygf9w1wdivrijfz";doc="0j0lqi7bjlivivvrvswlw89vav6fx8wg95bn18amlwy5l8d7kyiw";source="0jx8dfl4j4k2av1syngad6narkdjksqcr71q92h3090rf58njgj3";};
 booktabs-53402={run="04bfbj0v47hiww6z8xlzphm2yh4vidf9gcp3rvh81j66s7wybffj";doc="1hp3fbvg2v2hk1bns9b28hdjb2bcvn5d83apkr503ahln6rigf8a";source="0p0hym0xn4zcmq8q5v93z1zi8n7hxz9kg58fq53y96hf6isigdb5";};
 booktabs-de-21907={doc="1ld7zdr88xjhnnl2x734rxr7h0fz84awapmv50p1kzn6fczrwyam";};
@@ -521,12 +531,12 @@ bpchem-45120={run="13l29qi6w99d47cv0ky9hsm6356vk7n88xkxjx5v5pb6vrg8zblw";doc="0n
 bpolynomial-15878={run="16rzvfjwc5lrr6fvxjwp383ayi4pwhqk4x6k9blqzn0c0cakqmvc";doc="08d7was7ly4wgy04np72f9pn4kz20hgfsprvzlpyp2rfxvixphfc";};
 br-lex-44939={run="0pdhzadajg5vx5da6ildn9k2nfvf1ks4pxjgm32ajpcpfxbjpwk3";doc="001822zh0f18zvf6b51qdh4ykkv6ywqa5pm8q2vsmjv8rayjralg";};
 bracketkey-17129={run="03mq7rfgkgv06m25hkvlhaw1mqw3xr0ghfjj2jb4nlpkwn6945nq";doc="0kr9il6ac79kvqdds4rn4g98qxy7nvas62364sv75zv0hb6wl0kw";};
-braids-64817={run="10wypiq06z07zdiqrkw2sa87605w794a1zs9fmw00k4r45iqzg81";doc="158wjhqn66nqi33a7zswifbjs1hdnqbhfmr46df9cd269gwpjnw0";source="183zalhp3rch5zd2akvbvx32iyrq0147z3xpryy1sky939p8a8pi";};
+braids-69398={run="0q4zrqx1ynlv8br0my5cm3j61wrizzq4s2wal010yx0lxlzm1gjg";doc="1yzazlfb6f5xr0s21yavcgw48x011rq1783n1cnhqcl9y7c2qirw";source="0f7a18z19z09jkrxcqr30rvnp7179fcsmc5n8fyp77y0j48kf06q";};
 braille-20655={run="0cy4bxpg284blfpmpgh1v9vyh5bczdyz9zdsc1almc51nv6c6zgf";doc="1ygyzvyz4am70n57hs8xhrkdd8hpn2mvg7hg3rdr5b6dvis2ibj7";};
 braket-17127={run="1ml5xz6pyj66kc2jby0bg02m79vfv9z3r91da808n1zb22mmnjkf";doc="09vqvl0v1qkrhv65bh9ym1zm254iigl21d4c98df8ayvffjf6bx8";};
-brandeis-dissertation-61215={run="1bfb1w5c35396axpnxh91h8zk3n4a4618b5knn9h7a9wqvx4rgwc";doc="063bxb714gl0jnzcmidiyq4jb8c09c716rfl8ng9l21n1nx12ms5";source="0zwhl4nh4a37bmxs61i8kkq4127lb20x1500mx4w0ihgby239z3w";};
+brandeis-dissertation-67935={run="0wz3k1yyxi9qdfqkj7h0bag1d1dj2yg63h0p30ydaxid9qbg4viy";doc="1vqzl7fkphkk6rqpg2rjdmd2a88x0dc96ff7hqrmcr085x7vyy7b";source="1rw5qxzc9ksy4v1z8r0xh5sa0s63l1dvr5lh83vjs6qgw7sc2yz4";};
 brandeis-problemset-50991={run="155al8iph3949h9859w32q6v885f0p6wd18m53rkliqvzc6d9f71";doc="168ywrm0cnk1l5fmqzpk9mxf4732mjb488gnqiz128dbsshh37yr";};
-brandeis-thesis-59832={run="0c4hd638rqqhjgnw33l4myxzc02lxd1ki2dfsldfklfhhmk57xx3";doc="0g4b92mmadzqw7kcyf80jl9bashqnx9j2sjq2n19gq7gaksjzc53";source="0k14yxds0jlmkrl3xdw8mc4240rgv605ahg35bqfvaq6nws5q0xr";};
+brandeis-thesis-68092={run="0ng8xi2cn146fzafk4p8n651v4n7pqjhmq1y3dl52xphbh03syrc";doc="19acaxmg5r46kjk54z6gm59rf3pcbc7wlgqr7j5rbbp390c7kchj";source="0j85pasvrblbvsi9npnfmx9mc6gnxj9128d3zc6iym9fx3vfcqra";};
 breakcites-21014={run="0f3zhwrk0wapckz83304anlp2ssii7nvzjdakbxfdj51cd6schpg";doc="1f8x16qy5v27asch2jhbgh080vmv7mza4z5w63h31gdglbkwdp11";};
 breakurl-29901={run="0a3np519c1knm8i60z1d6rmmzdhfl340gkf6c4m1yss68didq0cn";doc="0dk4hgl3411q0k9dz9f9p5f7r5a59rpjcicz9h7ynpc4g3nhn019";source="1hx73iw3n5wgvaz2niqargiw36p068pjl8x65cajn081831syzfc";};
 bredzenie-44371={run="1mcl52mlbbw0yxbs53x9a7kh3xlaka9c7nszfajlhpvj4s3jr1pd";doc="1zgmhhyqf2bwlf0mi509nrnzqqa5g4qxr3zj46rsa8jz0giaig44";};
@@ -534,41 +544,43 @@ breqn-60881={run="0dm9r7zjdwcdv8hq0l08k49lq4pvvf78hrlib16rk9s03rz2v4g6";doc="131
 bropd-35383={run="0l7ifzaqvqhk2dr31757ias4w4vzpdz15kma0bj2fm7k4sjx7d5y";doc="080g65q0v34rbfl67mpvqfcwfvr5znwv0rys8m3fys1s9d4yyryw";source="1kk38an662s7blxrnk4nhfvr49aymanj3qcm288ca6kfabg84w8a";};
 brushscr-28363={run="04vpb4yvbazm9lb7k2rbv4wr372k3l6brx37fx5283fpzj3wvhxv";doc="0dv19f5hfzwnw6fd32glqc71rbjwi1y66p5fl1r17pxsj16nlyc4";};
 bubblesort-56070={run="1qs3y6vs5z5m988cj6dl9n74m0j5d4hsmnrz6xfbpw2cs9g86jj5";doc="0pcbzg1p1wpw00h7h1va4j6iivz1ky31k8aq1jw4z9s5rwz64p9h";source="11g2brc46977w61sk0q9j2wmn5q9x9s3mv6fcgj8ywql3g4r85pv";};
-buctthesis-64004={run="1layhgfbfx50sbmpw9rkszzlqha3bq90d3i2dqc2nyfr9ir77qx5";doc="1ddsvbw0cwqlyl4vv65q7bk5pjg97wm2hksb8yn14mb3wyag0hzr";source="1y828ja9sp7vbfr699xngnrikh4dd9ps16wsfbncsrzrqjn1n859";};
+buctthesis-67818={run="1z7svjpf73ziy7iyd03x4g17k4y8cbqqdzi2ar0rpg48n2sxpmfa";doc="0lqvvf1bma1r5n8pawqqjb78jjgknf19j0810dmxzzzrl7mvxscw";source="1wspjl3bjpv3dgxakrb78w1kmb8i4hivq3wj2mkrwh84ahzj4hby";};
 bullcntr-15878={run="0djfn002j12nb84svd414zng3rnjp79ssrdhfb6j62mx0p9j2hk7";doc="0c88in90fy65pd9shbf09bl5dm6yd3z7g535ni5js251bqa9wijh";source="00pdz4i2pkn1fbihaz16vbhsnwaybpcavvmndg7nj47jlcfplhfq";};
 bundledoc-64620={run="06haydgwqfhzpwir9qbcc72y0x1xl0jhvyfh4gx37cpfvxz514qq";doc="1yqsh1kz5hm6rfh4vrl658y50ncypwb1mdw2p4qfffvp0w5yk2kq";};
 burmese-25185={run="109492p6k58bdgs4y0nb1hfnk63pdpf0x4b7az8frfff4wg2jvb1";doc="1lwgifmixkyxscy6ichwmc8lv26dwmcvy2nm68z2wq0cz7cihjli";source="1iwnsjnacafq1w3n6asj93n7nfxxyslf69jj0rfrl05fai0iq458";};
 businesscard-qrcode-61719={run="0xv56yqqj8y4270955srbiw7qy8bm9r3ih0zazlkrxnrxyh82jlk";doc="0nfvak5730q4ci88dyqln97ljhjbwxn3gk34rq2b5rk5cy2inabi";};
 bussproofs-54080={run="0d783i6srwanhm806hk0y5igbw99rf5x9anl7ib29pijrqvg8kjx";doc="10mn4g6dap1rksl5jnsp8pv3n0hhfrb9imldjyrmiika2d0prfp9";};
 bussproofs-extra-51299={run="0ndqiz033c8dxkdknf7hy1d42y0g2hgdb091wxrvpla7ryawcb8v";doc="1bg3sh0r7kqkb0hljc5m3x9gn3wkfyjr9b0d8myjwwyf4g9hzi0d";source="0p1imkwz82zwzp0p49a2vj7gdywv7mxr3b6nbmvkpz1n2qxs2hsg";};
-bxbase-66119={run="1ijrq63y54ahv7r5f75ssx2xjb2mfbgxk9pq53sfjk8cww1m9k0l";doc="0b6k87rxc8sxdqgbr61qmkrfdrzllc54svbm5qdxvknimgsbaiv7";};
+bxbase-66115={run="1ijrq63y54ahv7r5f75ssx2xjb2mfbgxk9pq53sfjk8cww1m9k0l";doc="0b6k87rxc8sxdqgbr61qmkrfdrzllc54svbm5qdxvknimgsbaiv7";};
 bxcalc-56431={run="1lgk3zfraip1jx7hpkkxwzril5sqc1hn00km3ybicsvi53z1q19f";doc="09x2b2cdxgf7lil1vlw4bmmjn2kl84cgxd75w2js2y1znsfgsivz";};
-bxcjkjatype-54080={run="1b2srzs5pwaind8pjsghkbq6hwf42ipx4bmcim2zbfxmzyb1ga44";doc="163farvip06haph6dhwf123dk12rnls1mgvdsyvvszgyy9m96bgp";};
+bxcjkjatype-67705={run="1awhcn56jiwym35gxlhw4m32y4va9qh1skjjhk455plfmbydk71p";doc="1d9v4al9hyimw0bbndd7d8jjc8pngj5xrds1a8j7mgcjhkyyjin7";};
 bxdpx-beamer-41813={run="05zpcwq6syy612w8jw10fqym4w4b4qxrd2i4n4hqwxv2sqgsw4n2";doc="0g0ld901kdq3558ngzy6mf2f2vgjjcngiig2pbjb8xakcq933jj6";};
 bxdvidriver-43219={run="06rw5wwp5ky30s31f23gl4hpyzakn5b3vvgna8iw2iyy6rw5cl7a";doc="1qwxy88fnfsx9na6c8r56n6zhs13d8apkjq7hhydsfs7qy54q4vn";};
 bxeepic-30559={run="18by54j2rg04n19whsb2zjkksrdh6f6i54fq257i2mvcp0qpxwr5";doc="0117dzkqs1sy8si4dbal9p5p6csskcby2swmf2911c0vbpdl51zm";};
 bxenclose-40213={run="1mii9n7x232y5398zl9xysg81hflamrj3dflrngs94mm4akmcv2d";doc="19nmr2ripjifpjw8xrr5dhll392llqbfqjd2vj2zdgkvqj4bar4j";};
-bxghost-66158={run="1dydfivb39ly87sprrqc42s5rmwgpqx10chmxa7p3x3r25dmrnzf";doc="1gi4jj5xrs4wp194r4w8ycjvk3m18a499lckzpqgmb9r2n5ab8a8";};
+bxghost-66147={run="1dydfivb39ly87sprrqc42s5rmwgpqx10chmxa7p3x3r25dmrnzf";doc="1gi4jj5xrs4wp194r4w8ycjvk3m18a499lckzpqgmb9r2n5ab8a8";};
 bxjaholiday-60636={run="0qxc2s07rqnyi0a8a050h2qri4kaqfcwc26c2dz0x8ypg18s6nhq";doc="09a5q2cra7by0q4zxl9nfa672ryz0cdv3xkw730cq3qyyxgc06ls";};
-bxjalipsum-66033={run="15wzkx4x5xdq8wd24bwp61blrnibhc41n1jm7w4iax8vh8zywspc";doc="04njk5kvn1igjwnm85mc4hxg3004i88wzk91fni3f9pd069pcd5m";};
+bxjalipsum-67620={run="11gg3r67rs7j3f4by1irz3sfnwlz88i8w3kzf0bdxb52sfrh57hr";doc="0wxw7dlm8rwgz321cdfpx14vcx3hf2skg61ngr5bbmcmc389apk3";};
 bxjaprnind-59641={run="16rdpkqlsx301zvrr2nyykpjqf0wj1xhqqk72a5jajyjpcqsvki4";doc="1x3wh73nga2l8f7l24pyabpz0b8g2k6hkszwl5dijrppicl875ym";};
 bxjatoucs-52509={run="19n1wr7i1mfrabmrsgnmvk5wgdqhbc9lfpz3s5qhnsqsz69rzi00";doc="0icd5zj0cabkvwjgncsjmqwx79d2rqsm7ddp54ahczfl6mfg7fwj";};
-bxjscls-63011={run="06nfxdnwbhq8n4axw4srpsj58vxcjpbwszfcb0azp9gkyzxv1kq7";doc="1ziqysp36jlbiz7460qgr2pmgwr4q7agpkzpq894v43bd187xciv";source="16vw71b1qnxza4abcdx7b3xvv9h1gh8gnzmckjmhrvxwx0gbd8d0";};
+bxjscls-67657={run="1gwrylkxz9h0szcy4jvsmyyix6640ncqiflsm9z82nxvm0zglasv";doc="1qy0as1kff7vlwq2vq9zl3sb8wy590ryfh4ax040d52wvz7x3619";source="0gpkk2h4ak6ivdjfjdjq52qj6vn5n49c292i3icx43r0gifhwns0";};
 bxnewfont-44173={run="0mc8akfajlyl6vfh620h8rcyfv02gdg4ycqx18lhb9vfivi3j4py";doc="18na6f8nqlagfszk9miy5bbx2bylgspck3pgglbkqb9cgkdf4qq7";};
 bxorigcapt-64072={run="12bc2pv884wi9z97ih1sm5r8x67vrlqhd19f6m1naz9rs7jcdxxv";doc="13gp6632pn7kvl12rpbz99n5imcsnwf43xx4iq9wq6xj4qnlf7cw";};
 bxpapersize-63174={run="01gv55dv9676m7rkfrmz31aql5xb69drl1wvwh7k1s3xrywik35j";doc="1xsg1nvr7i1smrg94110pz4my0vvi1imqkhksc9daki52iv1jyx2";};
 bxpdfver-63185={run="1hhl848f4m77abkwa3wz7zm3slnp2k9qbmaj2sfdr0hvyx05jwpl";doc="16919nxavpplbzwxl10rsbhhqcx7pdydcmf1v5z7hmkmw29a1d4v";};
 bxtexlogo-63231={run="1g8iy5a2cnfsxggzl49vbjw2fzk16jcy17vx10qp8qdzdzw29gs3";doc="19zq1rssw0sin3gz6a689g2khfc6rxhyckqxg0k0kj3gr32058kd";};
-bxwareki-51286={run="0b0n3yhq6y4dq13nwm40zyw6hn1jz5r3bawsrnaw691amvfb2blh";doc="0ay0rsjnvpi1g7iyn6dvwc4awfswd48n379qqys5xhzd19bncs0j";};
+bxwareki-67594={run="1ax779x1zf3b68a46pa3d65wdna3c3vhbz0r8kj8kavak044p1qv";doc="09q919sqr675q3iklh3yid7z6hn0d6pvk2a2zchi8rd3xdqpv06y";};
 byo-twemojis-58917={run="1c43vgcnkdvag1wdhivl49qm3c9pf29w89xgy0m02jrxryrjy6i5";doc="0bva1q3zxzkkrz2cc2zrin955p4r251hlb0w0gyfm156dss0iqrb";source="1msy8ja579nysqd0rmbw1xsh6hksm44ddi5q3x0i5p68k2pk1i8x";};
 byrne-61943={run="1bzlyhysyiwfxgjzdsz0ax8mkdvf3ln9fnwb33px92p167s1mdx1";doc="1wn4gqvaym5gjdnxa1pjbvnk77xzk6dzvpjil59nagibp0ap48pg";};
-bytefield-60265={run="1cplzskpa51fsd98zcs8wsvxbsmq6nvn9xgnkjwa4zcy363m7ifz";doc="0y2qf6yprzw4xbyxhl7gafxij1kql4nk8hkn67gmx2si8cdjyp8s";source="0p1afxnc8pcfvsp2ajfbnzbdjji0dwvkapwllfbaisabbz5r223x";};
+bytefield-68366={run="0ygrxp4il760rrm6zakij3h6v6a61bgwjjbsy2nd816yv5a325ga";doc="0gdz5scdzh64p4pbw8f2vmwvs7hl012d9m3k492718shcfzs1y79";source="034azk9zmy6zpwi7a5jchwnigg2vzcbh998a1izgb79fdlw5hpyb";};
 c-pascal-18337={run="1gbijcvhkfc9jhdjs07l1mz4p8lchrhnrl1yj2gmzkskp4v2pkbw";doc="17ddnb3k2q279xrrsy3y5n8qyk7r8hlrw8vd446a11qiwypjvxy7";};
 c90-60830={run="0h4y0ydp0vx0hk5s46lj4j0vji6yslc0gn02rmpbpgs6ic34cm50";doc="0bwbqi9kg39rm63vzngrswsg7vnibrfxlz8fhsqb947j20mrj6l5";source="1pif2g8ihgxf3qznhhc52gi9bih5ai8a986c6l1zxlmgrh678wxh";};
-cabin-65358={run="0wbbrp46i4z22ypagn5j5pa9l86ksblsnsq7nd310897xvx8rv64";doc="16r58722s0idkig54nd75cxajx0zzyni6yzl2zgf0r47vxbwbl78";};
+cabin-68373={run="0wlhsfhi6f5wvnvi0k0h9j8xiqy5dp7fxks2ipw2ap9yv3r34pfr";doc="0h57p06mh7drx3klgkgj6w6k7x4kc8h2yi0sya1ygi94kwp5x1lr";};
 cachepic-26313={run="1j93lljbpwca363sjk5qmljrfq4f671kg4qrnfyv9zqcxcpyfmmg";doc="00j7j75zq3wa6z1liy0y6wzxjv96sq5r4dh7kp9f9icmxzs0x8xy";};
+cahierprof-68148={run="15cimc5inid5zyb221k75dc42gdkvzdvxzh2n6wdw0gj12m9y2di";doc="0qd8mlngn6p5pzwkhkfhk8p26d9dgac2mn2har0pwvkrppg7vsj0";};
 caladea-64549={run="1xvpf4ly47vn8askincn7wl8k5skhn5ir2wj1nba6mgf84z106v9";doc="13j961b3q42vpa7xlyzlsrl6f7ndnlw1m1zqi39j5qsb7nhpy7cw";};
 calcage-27725={run="18rp330i29cw8pkfv4gzlr4lz5rlcvc4k0l8mvsvs0xa767fd3h3";doc="01xp6i814bnzgbcghdpyzb9f0zx3fwmqd3p97rk4qlf3g378l8y8";source="05lcg7mix6z6cw85bpzcqgxlgb1vzb3irhljlfcvq08lrdfjy71x";};
+calcfrac-68684={run="1rvsgszxg0dj2j3p58m26rqwl2qfinkvfiw54nq6zzzqxqqi03l0";doc="0r4in3rrzhs001bgck0y0h484ziqs90026fmyxnnfv9dhcxdp11c";};
 calctab-15878={run="0rs028w20fcg5jmmnhwhvasb701j763pk4bwv09lj3g78769k25l";doc="07fxrnpnzn23lb3lrlvil6a8624vcvam1lq6sf8nrgs52fzl2grh";};
 calculation-35973={run="0v7f5qx319zrwhy85lvk354a7x2vcainiq90y1jkm5cscs23xqjx";doc="1bk9yqx607vp65ifdawaldcsxm065hmyrgzwyy90wkn4kmyq1snq";source="1y5a2n2asfhwm8jylfg5zm5dy4v5s8gjl5ndizwk1ywwl0am2dxx";};
 calculator-64424={run="0ha62j2mdg6f0h9rc03xaniq3kgfccihwjh8lbf6r6v609kqncwd";doc="0ilnsnlzxh8zd51h7lj0rr6c4fz9yb8dff87yjnm73ndkvia0ky7";source="1k5vbywm427cx1xvvh2fv2g79nikspwrp7sk9qcvaf69g8acs93h";};
@@ -577,21 +589,21 @@ calligra-type1-24302={run="0liaz2jv1ad3xvmaxdp3vd2b3wvyg0wm1jlrrhxljzazsxzs5d3p"
 callouts-44899={run="19khsdal0siv0vvj56bxgkrj7bk1yyd3lw8iz6zijchp0by6gbbr";doc="18zy2yzjlgn9g2wzlc9i52x8g3dv32hvbybjkm9fmklsgnw8fang";};
 calrsfs-17125={run="12b13dhwdxr5dc37l7imlhn4sparyrnz0d3vagjxlsiinm7hakf9";doc="1295qb7s41y2abs2ip87ipcvq15pzza0bwvj6pwpwxkxq5yrr83q";};
 cals-43003={run="03100nskddcxi7z48iwm7vnwlrdkxj7xh8wgbb8bx3vfcrz731jr";doc="08y10p0i7y0jndknkwrwdws6ja78sz1qf8vxvhhhcpivxc7a5gl5";source="19sh899dbk4z728h9v72xrf54cij8jhnb4k4a035xfb7ijc0jcrq";};
-calxxxx-yyyy-65426={run="143kpv77pwg9pib467zn2716fg0nkpsg0pfd6s30012209pinbrj";doc="1dm56748fx3xff62pj8vv8lk47cqp5hjh2q14x2imypikhvb89rx";};
+calxxxx-yyyy-69266={run="0hv01h4j0jc34z42x0j13bd80vkvaqdyp59jds1jf0yv2mshiwpy";doc="037nh1j9q4gspazcmlagqmxjfi45xbmh0pifbpmv9iflyvnzj6hp";};
 cancel-32508={run="18bkqkdf888nd6j187kd39g0vgfhfh118bky8r5wwzy2aq843061";doc="1x6dhr2xyx66i8qwk98li3vp40rlalfrf5lk8ah4gq03ndhmygfk";};
 canoniclayout-64889={run="0x9r0xjdv3vfbm68w0cydnjgfiaydlyg71cil2l3rf1p4awk1kkp";doc="03vn4k8yp4l195k2716a110b8lad3zympsphp3cp8xx0cbfb86ab";source="134arh3nmd39zr1b0ybmz3y0jfyvwzwcrzd59iik6bzbp601nk8k";};
 cantarell-54512={run="1p5idl8vqp84g7vw3q6ybwnddv8q7a0ijy6vny8jfd6583bjx6pb";doc="1r6mlr4qq61cclliz4h86bc86zkb5kr5r9bixwnj88pbvbalayff";};
 capt-of-29803={run="1b89cznanql6vmcn1jyr1nqkva40i61lsgjswsqjgdqnlbmvsm43";doc="091qchrgwikiissyrbb5i14634130vn08rkj2v7cnqzsb9c44f2k";source="0dlgrkl1vcvf8qck0pn20ic7cmsvxqkmvgp04f9hn3dmk0yrzc3r";};
 captcont-15878={run="00zp59ypp753b17wcn9212gxk0w11g2a7rn9gi2mn4k5c3djc10w";doc="02n200ziiq4lbfa3mc8yk7icayl7l5ci3kpl8mlkdyg9r0a14j1d";source="04wilkx7vd5bn05cww36lywb10xq6b2nbhlxnjq5xbmdrdf9ckyv";};
 captdef-17353={run="0gjbxdn70qskb3xl6gmags3gjq4pks44k8c48lxljx3avpvxnfp5";doc="1wl56hjc0204d6xrpvypgra7md18db4bz7657m49893m2pmc2x7x";};
-caption-62757={run="06gr7sz3gkiji1rfsfxlpg9vbp5x7rnbfhbzfqv48za1lfj057jz";doc="0avy43a2jgs0rqlcb8888mnj1a5vm212zfvzb7n4kgrvkgcjp0qr";source="0sw8n7aachgy9iw6pa8qx3xbvajq8rgx5ywaphpqgsxvj3xlgw34";};
+caption-68425={run="0d7z8vb5d26n6n8yan37820qsq46capr41vasvi4pcb2g2smkzlm";doc="1zkscfajy1biv61vcgh7gka33dm7z6zqf0ypps49kpgx4q01ppwg";source="1k8llr5bm3pi7bd6224a0nzc7d6d63wrwabm8wygdxj2slcixw5p";};
 carbohydrates-39000={run="08fsn3xp2bmkkhhqq0l8808j92vibkc27mi8frhzb7g253fnmbwc";doc="1ygfgsik471prmbnv7cwak72w8daj7zgvdw50hjn4c6mqsi6g3xa";};
 carlisle-59577={run="149m5a5mb0c2r3rk87yvsiw50mp3armc0mw3jfrca8p82cyjwkaj";doc="04l137nyh94qrli4qzsan6i1ag4j5j1s0qp8mb1m8a8aj0bw0i7i";source="1b1ikyj585mpg7wkijlb2ppai4shcz6xad9ks52lnkdjd0h7r9lm";};
 carlito-64624={run="1xcq8y0psxyh2dw9wqybb67q9ihqp2p0klf98rni24x0xn7c2l8q";doc="0sv5kmnkvpj60xnrldkp3gnhhslk9ksf6qpnzj12v00gcyxfs7gi";};
 carolmin-ps-15878={run="1wq22k55696jbawhlcqxj839vx1kla2xsik32pv5i2371dsn7211";doc="1kai31i0pvrvp44y06hl3mj20hwjzj2mav6zs36afz81b491aw79";};
 cartonaugh-59938={run="1s10sc37kg3m9hvjcicgc9i3wkk40wxi4ncswspn9a599kkhf829";doc="1y287gshxvdy4chshpwa328gfh36i3cs1g0giwga12afmkaif63h";source="16clmcddxp9a7ybvgpx7w6mf45lcqq1vzjb4r4ndggbpwawkhvlh";};
 cascade-65757={run="13xf7135hjf363d9n1gx41m7awbr62pp6y1j77qmc7x6xi7vg85g";doc="0d2fkdrrbh5lj6jmvixgj7v4g3adg6s6rrrj8wxilr65vd1d8p6k";source="1vh912sp0ngr4mq391m8cdggxwpjdm42d2qwv5m4mlqhsadald7w";};
-cascadia-code-57478={run="1dld0cvrpdky97ycnci27z4pk2adfflbgp5r43fxkwbh3l45am9n";doc="0i5ancv04gr9ryc6kmrm197n6kkhq7m2gs7bj3kmfza0r8725sd8";};
+cascadia-code-68485={run="1gdy5rx4dk2722xhnl1f8p0y5xhvpscfaycks217g1j7k4yyk41p";doc="0yadwjksqxia4k6f8w0ng7rxzp1lggqxk8q6n1gmnwqqph08y4i7";};
 cascadilla-25144={run="013x6his54n8q3qp2xx12c0s2fbjca1ffmcb1kjy0yr0qy0y698z";doc="1l8xpfmdp2sc54qxx0ywh7im342nd3kbmgkx2pfzwmqz3xhpybfd";};
 cases-54682={run="15f3mngrmvd0h6yy3jiifyzfrgi014g4dsqz9c5g1mw65yyssl8s";doc="1vq4x3lc7zrxsh3b7dy6w53aikx5vfzx26fi288b44g99f3h37jy";};
 casyl-15878={run="1cmz40n2h7nckjw9x8wjrj0kkig4xhjslqjachsdgidd151m65c8";doc="1y1gc2a1fw8fmrs4milnqvn0i099khhjq8pmsycj4bxpbsbpwqva";};
@@ -599,8 +611,8 @@ catchfile-53084={run="0dx2smqpw2jmzbsfl1g1zpa790qaxas4cz1xb5r905pvpca4q9h7";doc=
 catchfilebetweentags-21476={run="0xvk581zl6wk04amq4q6s4mhpb4d3f239ihk16m9fglabhq34xwx";doc="1bd9dgjp2rvsv6mn40m7i2s5s84wj7hbk8rka2a5djb00fv4fgzq";source="0lvxhx6id5ka9r3zp8h0xgrs05jax4r5rcyqcs1f77zfc2s6s8iy";};
 catcodes-38859={run="0sqwy110bqmy1npqqp6m7x4m632zmg4n52snrbzzz87jp59k6kwm";doc="19drsfj7f4lfmjhpmivyyzaps3yhxsy5xppgbm67vk4368sgsmpg";source="1c9269586s85v3swr33s28wb74xxaxy3mzp4153by2y5hpj250xs";};
 catechis-59998={run="0i0bhpal6yjhama3l9q9w8ljviiljqjcxixlcx39h6qq2dh5a4sx";doc="1c11g2nbf5nk7pfmg3dqyidm83xwbcqnshpwhbbnz3vi8lb2ycw1";source="1vq6nbis9cgrsch7w0yfm1s7y8ymydhbhzvllpx2ml6qks6vhy7i";};
-catoptions-35069={run="0739w56yv2rrz9958xhargjjknkf4bs2rgw1d9122ixrp1vw3241";doc="1jfv3946gqfbph8lzpzp8q1n6nhd2dcjprjylzw9kwxj5i42qqcj";};
-causets-66375={run="1m2gjhs1v7kaagqqzppdf9frhlfshy74j39n8r4phhpxjpjflar1";doc="0zw9imm84dph6dnajj8ap50kr5h18j6sd12xfd1d2asb35h5lvac";};
+catoptions-68982={run="1zixqpgln7yqpdg37l4dilbqsf86bbl64z0rqg9mjcs150vp0vcp";doc="04k68w710rvkx7zp10w9a1imwxv0qvanj1x3kjbyk0d7jvh3w20f";};
+causets-66359={run="1m2gjhs1v7kaagqqzppdf9frhlfshy74j39n8r4phhpxjpjflar1";doc="0zw9imm84dph6dnajj8ap50kr5h18j6sd12xfd1d2asb35h5lvac";};
 cbcoptic-16666={run="0y4y76b69ila35ak85wkakk6w1idjy92jhbnj01i82xpjnq9qrss";doc="08c3v6rppp3qfmg4nz0abwn2ka60wc6zrdx6qh1b591xgfwcm4jr";};
 cbfonts-54080={run="06641hiw3yahh28yq3bnz3dc6d25als1d8kbjh1ldab55gb3vz6i";doc="1vlhqfx3y85ym7xaqzr7bxkzm3am8806s6bkp50mv58r914xmlz3";};
 cbfonts-fd-54080={run="0gaw2v82im1k7addx320xhwwq28mcm2xkz4z90pw09r848s9fsyx";doc="1arnjpk1n9mkva1f9gsh5834kjb7m9rd49kgn3jf6acmdac67rv7";source="056b2x1fv2gvy7ldi9v1kgsla7jzhvl3lsd5wl1v0sb2rqr2jngv";};
@@ -615,27 +627,27 @@ cd-cover-17121={run="1x1z64h0473bf4dvyiraym65h15n0jkqbc24kr0xw4i0fk0q4l2i";doc="
 cdcmd-60742={run="1vs7lxaz2pnc93926245p6sylv6z38a10flrsfzp317qpkvvrqyb";doc="17xflbkibs98pdgs79yxwasr2xfwh1i54y5b53314n9nsr0w539d";source="10c1rjy2y5f772qn69lmx9wknzj0mydj80jywklckp4g4xif2hqz";};
 cdpbundl-61719={run="1f3375jl826gm4arxsv0saigl8230d35dmkzvqyg2kldz5ig24s0";doc="1yhc82i1n44fp375vqyzrq47qdzwxc3x3zg10a791s4p25frzcn8";source="14aw67ah211c1simgsz0i3j6jxmnsj4arjfy5g20i05l892sb2xw";};
 cell-42428={run="1y2bxxx73r1h9rhsyar81r4s9nhgqjlvs5rwnkpk148rwwar7l56";doc="1ri21dk1wgfaay1hblmn8akmq8ccxpbp5lrfnprkqqrvkxnmaylg";};
-cellprops-57599={run="05gr1jgr9m7yfrl1d8pgnh0z8xm7rk8522vl5wck2s2slmk8schy";doc="15f1mbagh41qvzkqf1bdzlvchfn4dibsa2qj7zwaqszc6smscl1c";source="0yb9gjglaqfivifxi6n1al6w1nm0ah3r4d9y8bc7xnfxikhx3sym";};
+cellprops-67201={run="05gr1jgr9m7yfrl1d8pgnh0z8xm7rk8522vl5wck2s2slmk8schy";doc="15f1mbagh41qvzkqf1bdzlvchfn4dibsa2qj7zwaqszc6smscl1c";source="0yb9gjglaqfivifxi6n1al6w1nm0ah3r4d9y8bc7xnfxikhx3sym";};
 cellspace-61501={run="0s0f11xrs670zhynqq43sbrx9b290jph8r6fp6s7damrp9wnz9fx";doc="14znyc212pydxgnyzqwxd6vlvd72b64qjllmsjpcsxqi0f7am0ak";};
 celtic-39797={run="1vg75zj6p9bhp9qg4c7nvgncs7iiki5jizx27ld26yni9m2cd0sb";doc="1llinw15fnpjshks9yzlmbi04pkn6s87jfwgpnh5vb9hfws1ira5";source="1w3wm5ci6kzpnvlaxbpqndclhxlbs4xiwq90iig98wf97b85lfi9";};
-censor-63126={run="0pa303s5ib97h1h1zmjgxfiyr4g488a7szq96nnla2bi0zks1js2";doc="000rznj5wb3y9mriqh203aw0nadq8hmxgn9z95l0isdn4ksda58g";};
+censor-67293={run="0nili9g4i8dly7gri3b1k4z1n5gnlrkj1dz4si3gf2b6gpll993i";doc="1kzi4glg1gpwx37ck2gys2dz072n43af5awa8x1a2036hpz6s5az";};
 centeredline-64672={run="1xrh8r00wrr29wiijpal0n6k48zzl5493zbfzfgwq115lxsvhp37";doc="07jvl42qmwlm2qv895f66cin58xzin21czdd0xpa13lgmpsccv2f";};
 centerlastline-56644={run="0wc1pwppiwycm5w3hp5ysnv3wgsw9s8m9p9ra3xbmlkqxd6zjwnz";doc="0f1x3wzxvgjxsgqparyjq4x32zbqjm88v5xdxm5qkiasai68r7q3";source="0ngxhlawj8igq7d2mhijpfcybfr6lv1jl82vs9kk7j8xrdf2nyr2";};
 cesenaexam-44960={run="15n0abwviaz213q00nv6faxc67fyqz44mvp28zcyysrhmrcxw159";doc="0vqxkqgyg79kzfcxh40knxh5a3d2j6q3f778k2npfz70d2kaizj9";source="069n1sk2g5n9cqq9rchk9w5y40igh620a1j5miscgykcczv2y0jw";};
 cfr-initials-61719={run="1wf5lcqh3jysn0fbzpmh429gmicqhh1kvz26jfl37f1z53g07shs";doc="1akblgsix6a59as4z5z6hhsncnsfxqh78s8gw0m3xqv6wrbv417k";};
 cfr-lm-36195={run="1inzb3q94b42n1g3hchqld687qhs33m2zxvxvgyciwqnwfn3h968";doc="1ska7y1xg6qq86kccplwxjd70bdbiw492d9y9n17d7hryg2nxw66";source="10layppddcanvyzjbgn6grgba9ff47kn7fqdxmwfkwnpw0qlw5k4";};
-changebar-63259={run="17vgxgjvlb4fflkvssl7x6h1h54fw1fwjr1al5ibfhxwwh182lmh";doc="05cngjpda673y649yy5skgdp6ghrndj7jl50j60m4s7szhlil4ml";source="05vl3j1ks7n727qiz9wli3x33hgv9sgk1qbqvdqj1fgv3k1ag02x";};
+changebar-69367={run="0q3z0187y2fynbp9zkhvfvcqrxyn8l03xrj4wm6zrzkz70yq0z3h";doc="0yvkcx0gws3m0jq15qnqbxm169f36qfr2wpbl4hp963z1az2dqnq";source="1zdljd9j7xdly3wlaqhic8v1d2j3mr7mz10vp03navlysd6b0ycw";};
 changelayout-16094={run="08bapli8zvv8p15bv3sj7l646fagzbj44dbq81apb8lhqanvlf0i";doc="1s304gpjg30kpygvg4r8r2j4bk9fg8vlb331lypd3dfd6slphm60";};
 changelog-65861={run="0zd7i9kh2rybh0d3zv7pxkjk3iddm03vkizpdxyy3sjblqa2kz3g";doc="1m65zxnlazb9jdqp4y0n4lzj6mcyhv4ng7nfg63zj7zpsx0kcvgv";};
 changepage-15878={run="070rd3drhaaw6z386v9z5rs7dmf15ci05lmlxsaay3s1ry1425bc";doc="1149csn0iphkxj7p1bhkza8v6xj39k49rylp84d1ilckf1q4imng";source="1slacsdfrjyy7hmhj4ssjkh0ln846b2ds11g446hmdvckyvz4363";};
-changes-59950={run="1cqdis0b9k20nvfc912xm99h6l36jzssszqrgcshl6m2kd722if1";doc="1r03j3g11nh23misg9prjrbl3jvf45761jzbxjjn4pajynfdpm63";source="1dzmdnwh8bbg3ysfxqq9x9nw44bz55f4gl79nn2z2c80f99sqvx1";};
+changes-67201={run="1cqdis0b9k20nvfc912xm99h6l36jzssszqrgcshl6m2kd722if1";doc="1r03j3g11nh23misg9prjrbl3jvf45761jzbxjjn4pajynfdpm63";source="1dzmdnwh8bbg3ysfxqq9x9nw44bz55f4gl79nn2z2c80f99sqvx1";};
 chappg-15878={run="1lx2yw7xyvbhvmcaj5qk2bjfmgyr4dn7q0v8q3xfkrnbzbzmcajm";doc="1c9qkc2m4rcixnif8y1zvcc0mzwjhzsbrbmy1cqv598cysc2yaig";source="0fzy53whj61n52k1ashphabpa076244dqjy1v7icrb27gd1y86mg";};
 chapterfolder-15878={run="1lphi7j367ga43j95vlph7ywzj93lppnn4n83xhbvwp56azryqm1";doc="1ns01x1y3dq3r37q783ha7xsnlg50vfw5knh2saw1rv40wf9vf1j";source="0zc9fa6xgs0s6g3rfzq3p32dlr3ay4k6y443z4zslkpmnv0hprjc";};
 charissil-64998={run="05ysp0l1v2azbr1gjjkh8mh1qmd7rq2znns60p2ic7dsfvfr9kpp";doc="14pq31xhrwa9v57dlwayysx16sw1kabwh4m9wjlpq9xdgbq9d38y";};
 charter-15878={run="1z9145ri2g732bs4fb8i74gc0ymak33k7sclahln2bhdpxi286fm";doc="0gm9pwanxvzv0zmxq6pf54ygxaxvg56kh1ym6f5ij9akwvhf6nwb";};
 chbibref-17120={run="01gyfwsfrjy7fs160zxvzhr517wwbsgh381hk626kvf87wssz2nv";doc="0h5vlzfw5lfg7chqfmbisqydmjn513rjrvw8pax4xlm75c0p6drv";};
 cheatsheet-45069={run="1cqv885i4crrramly68wamd9fcx0lj96vzys39aplars3pjv0glz";doc="1ykadvnpwkyj701xwfpnlnqr313d33r0yigmsscshgr1dd52jjf0";source="01hd52i399c9nsk68ymr8hmllxq1vl6v01fvs1gpm90pgvgdc9gy";};
-checkcites-64155={run="137biq2rvvws5k7l5knzzhkgr1bnw562bkkps8xv2d57fnm2m86v";doc="0zi9ffn3f0kzf3iqf2940f9zvmz2s15pgka3wngy9bzw8f0snxbg";};
+checkcites-67201={run="137biq2rvvws5k7l5knzzhkgr1bnw562bkkps8xv2d57fnm2m86v";doc="0zi9ffn3f0kzf3iqf2940f9zvmz2s15pgka3wngy9bzw8f0snxbg";};
 checkend-51475={run="1g4kx83kkpdd4fbd70b29hv82gbf19avd04b3bcxy8d0r7zyyyad";doc="1hzllxf7pnp7kg2623i5yhl2xq6phifc4jc57f2zfgfvvw0hqihy";};
 checklistings-38300={run="0hs740rpar4jckxc2p8wwd8x39v8bghgc2jjrbca9m5zbr0prvpg";doc="1riyj6x57jb28sjswnnfyqf80jnkvyr2cvckav29j9ni8l970qp5";source="1ghb0pv2zmznyg12zqgljwd2pc5lbajgdnzr6zf2rrmvlrsgr38w";};
 chem-journal-15878={run="01s4sbmc4g96cmnbhx9a6bqjskkrr6saq91cly2pfy5gr256vmnq";};
@@ -644,7 +656,7 @@ chembst-15878={run="1dg8dasw0r96rnv4pnmm2k96rxmsdfhvkbxc5m358x3i5i4pcpm0";doc="1
 chemcompounds-15878={run="05rqpsyf12yrhpnzip0ywzflrvsjfdqhpi74iwpwb98d3q82ckai";doc="11264rxfhbf36jfkqdfyl2dyqal86bhjbm1zsy9ps8w4fsgdw94a";source="044gavw3i9xsa073bwpg11xy75dip172ih6h2p1mbpp8i7bzsrg0";};
 chemcono-17119={run="08cch2gr35wclm1l0j05lfbjskqw43jzz3aj4wi1dhpm31b855q4";doc="1kcgfx2clh4x59h4scw5mg035wqr2cp5kidn7f6p2aaf5607xid5";};
 chemexec-21632={run="0yj6sygdzs247fpajjl8gk3c6yhk52npbjahgngchqmblhmhlkc0";doc="0pqksv69yk7vf622x2p2ah735p0a93agfnfyg8hm2jadwjmhzikj";};
-chemfig-65901={run="1hc7yqfrlb145r46j28jwiwdq7dp67i1hqnkpadja7c4fb9w9nqg";doc="11sd8l6k0ba33gjm4sqqcrzr46pnfawc4pzj9yj5l5kmkhm12in0";};
+chemfig-69227={run="06jp9cd9x404pz3fss77vhal0d3rlnwx1q6bnz6l5zcr7dg3n19q";doc="0g85rqfahdvb6xp56qgh8b9la2xjhsi1cv3q85dabxgbsqwq4m0i";};
 chemformula-61719={run="0q0vrz2agxw3g7cy5clya5hfsdv8s8qf18szhway3inzg5mfr895";doc="0h1nbyhj463zxj4d15cx88h9pwb2wxpq3r9dsbzdi63fb1mnr4bz";};
 chemgreek-53437={run="0di3w4yqnjs49im28g2a2qk31d6cqhrbwpq1jcxykk8am7g2sn1c";doc="065mwb7ah9h4qwqp36n0sdlkjv435bwrljz3yzsgym7a4xqvhfwh";};
 chemmacros-62655={run="1phw4kgp7h5mcrr66vb4kazzi3kw6abmxqhybn3amd4ishgbzd8q";doc="1rz1a7nc2c0cf78axch98zsaxah84hzr7h8rpvz3zz1vfa4bmk5s";};
@@ -678,28 +690,31 @@ chletter-20060={run="01gvs00kjr313a09y65hif15vqvxidi6ri11ypsbnsc0man6dhwd";doc="
 chngcntr-47577={run="1a61sdmfbbryqd2gj87bm4qsva0xjmf9mkxhxnjixpqmr4gixq8r";doc="1rrkyvwbgfxxrnsdjybjqxqg15xyzr4s7qydx1ky2k7d2yxhiy41";};
 chordbars-49569={run="0n7ycv6wkkd4nr7d6w55375c0ym1pinqjyxx92dwllkmi5w2wr1w";doc="1hg3kzyyw3ra6qqf9fh2rvv5rn2jaglzjvf10hwkv84a21hlfvq9";};
 chordbox-51000={run="09sghgyq6mv3w0m1vlcf82vjbdkb00gpiqr6iwlimpqjrv09bp3l";doc="1fykwcz8d0ja7f5px60qf7pfzfcw447mrfpbq8awymr1ilwgmz05";};
-chronology-37934={run="0scb55ph1k2hm5bp1kvj203c1f27a6d263x39cmb79n9a6idynrk";doc="1rxwljr8jh5q3id04vg4abl0h19dkbzx8m04iq7500syf2xsgl7a";};
+chronology-67973={run="0jbczd5y58a6bjlk812ncb1ckcsq1d7j8ghmivx4pr5pfcx5lsqk";doc="0g5r3by58srdydm0gps4ybsmihayir3qf2lra569ywgxy06hqpn4";};
 chronosys-26700={run="0ii3r31dii1252bg0xfh4818az1snrzfx7h4ibr6rd5q3a83yisx";doc="1c120hcadb7xpkspmixhfrdlcmhl79jrf1wc0vsjqbq3wxjq1p55";};
 chs-physics-report-54512={run="19ci498mf3yy0xhmq4ghy8yh138dzs8953ki2mqn9hj6jjx71yfm";doc="1nfmbhp3gqmf2pdallpnrx9hqlb8cwkndfri8i0mh411hrh72jp1";};
 chscite-28552={run="0db7nrmm5r4b2cvcyjfra1fmskjaspbgymjsl4vvif9j3kwaa0ba";doc="1q5s4qj508nqy74cdcg8380vjbhs4v70a4jkr9wdirqcxjxs6yfn";source="009a8y3lxpxjhkd05fcf308k3fihl95pcn7r2bgy57jr4nalmixx";};
-churchslavonic-42751={run="0f405qij680p4jjacjryjgqvb6ysra52qmydqk5zgqyljrm9h6hh";doc="1k7imx74l512fwd97bsqy1k8jkbkf2b97lr1iy4pp8jibam534rm";};
+churchslavonic-67474={run="1x3b3l8b0gbariw3c48pfr6ywfxh304vfbsi10f99i3rhl8janac";doc="0pjb7dpxp0nnvh47vrqydd5gs4ld11lgf9m45nrzs1x8qzlx53ah";};
+cidarticle-68976={run="17a2cqb6d3n5g3jhk1l5hybmpjhqpf7w0cr8f0w8kqwm2h7ciknc";doc="01r547l09fjhzrm19gi7xwrvhfglf9a0cl2v1ikncfhciy6dvjcs";source="1v9qsmqhb96b8p27bim3s71ybarygksifanwgl55vha0408s3zd0";};
 cinzel-64550={run="1v29lilvh6l5iynf1810p67qx2znxbm04wavj31w5q7rvnar81xs";doc="1j7i2bdbrfadw25ajkgkygkii3prybhp4qh5k8azbn7zpxl78q5s";};
 circ-62977={run="1m6siikjprch991sqbchbrmhvh2knjh3895w48wjp9par050cbgr";doc="1zmyxc0iz7ljrkklqdmpiax9alk56pf1i4dm6ljpyisd95blcys2";source="1vdj8qzym1ihkhm628zz99w6xwzhav8ci0vlckqpz3y91nkkpxaz";};
-circledsteps-63255={run="19shkimypq7gvl2xq6aniabkz941mkhfz3svjx2g1fngbm9a832l";doc="0fy0fa79jll629v9296pqdmmfg7jag7xj2mx9jc358xiqprjlx1w";};
+circledsteps-67889={run="0ybaz7hl9v8g0kx8v7j8llgxvvhaj40afk5fi9733iv8m0w3mz47";doc="03426fkcxcjszpm852qv1y4kb581gdkk109cyfy7bjyx8ihrxq0g";};
 circledtext-63166={run="0c4gas41ddivlam1hsfzxlyqzicclfd91arpa0s8kinlnz27bnq5";doc="0ia4m8ss2idvzhgp88cbaybrzld0cg5gijl7nzd9fc5xsmybdjsi";};
-circuit-macros-66556={run="07cbpxyawy44ds1vy6kpp9cxgv2mlh78i1wakzw30q0bj4rksw7b";doc="0dc3z8lfjnwxphrq2irpv5476wxpja0cmr77fadx0hvkxqj475sr";};
-circuitikz-65785={run="0yq3wa9x8g8s19wpqb40h3q4zf6idw7r7fakp5a071jx1zaygw9l";doc="0q17cbmayyjbnhwkg4pmhqmlbm1k6hzmlp258q1f7j0mx04fz2q7";};
-citation-style-language-65357={run="1idqlk90vbnrpfvcvz9zf41ksghbz3lvcls69d6qgmirai2psmg3";doc="1b2vqyrj7jf5vx4x3zjw9lw5lxa7qyq90vpmr9gkzmxpj4dnpa7n";};
+circuit-macros-69263={run="07cbpxyawy44ds1vy6kpp9cxgv2mlh78i1wakzw30q0bj4rksw7b";doc="183785rmygpffw0gb7mddjvswy3dbgp5yimd5ckxn193429il7p3";};
+circuitikz-69077={run="0hvm3zv86839bl98zcpakgx86za8ij46iayr7ajlr7dxncfyisk1";doc="1mxgja72j4fc0a6w7g9317asbgfj67l98fxfv1jz3a02cahyw1z8";};
+circularglyphs-68476={run="0d8hr1lns0973y61qmmz1hg9pc99j3w4x3iaqi0f0jlyzxc5j1m8";doc="12s7fkjlbbiica7svrha74zh3va390ay87bajjs0lgx6smqfx85n";};
+citation-style-language-68454={run="0kgq9yrwrzj5kv91wsiq050rx78a8q5879bq8lcskzv1wqkhi18l";doc="0s0c46516ljx0csllvvw84vxipwnhssyvkzyrrkiwzmxka9pw3zf";};
 cite-36428={run="07nw7axvgir19ayi3zy0b2sp8bb9pq1nl36x0wv3nrqjilvgrwr5";doc="0pg5fc41iwqc1y9m9b47nh48fqp5dpnjbx14ny7ch9irxblg5d31";};
 citeall-45975={run="05nb6pywcrhqi1c9xfzkv46j2fq9y1lqmqawi75v3z56h2v6c136";doc="1p54cr0khq72z396r3vl0p9qqn2k82pmx4pjaszlzhni5v54hbdr";};
 citeref-47407={run="05bxlkylmilyzvbl99nsw16saqjsqb4bcaa68qkz8m59wz1ji4rj";doc="064c9zg2rhnym0wy2kxj0617mwb3mxpc1rr13lqpwb1f1qhghm6f";};
-cje-46721={run="1vs4752d8c8jsj2yrrzk5xq43vs5sy4byp4fjgczlxas0vj0v9bb";doc="16vyabyjacg4i2a362nf78dp59r1dgyj3k5rcs13ilq62dy67ia1";};
+cje-68656={run="0v0pya3nyj3phrgy0vrh9psbgawp823li0gvhw84pp9jg0lss6vc";doc="0w5lrlwzff9vcb0l44f5cj5763x8qb17j11kmbxy5p7zxz0j3i9a";};
 cjhebrew-43444={run="0my3jp6pi5lbbhn24jn07gx95laq2p7fqk88pwic7wwyji097vxw";doc="09ldma056ipsamrd558z24k63p187ziw2bh8qgy4na20pp22wj0g";};
 cjk-60865={run="0qdvr0sq8v0vi1vy8aybhrk7fnvlyxz9x9m63npa3nfcffypdv0n";doc="0liy56875383hjdada5bc1ni6w6ikmzkf5k8qg91l0hbkxxnqfiz";source="02bnfl8hydbb8wn2d54nrd6v4p9yrr4f6hkinyil5jnfkq9mryyc";};
 cjk-gs-integrate-59705={run="0w396gn4s8jlaz95cc3dzh9xsjiywsxjf87qwaniyaihssssl4pn";doc="0a4m7r52czkxp7j2zd389f5illw18dngdj3rkd8b9qlp9c4bq907";source="1h788aq405c44alpj85lyhmlnvdslc21n6h89vx5dggdfypbq18r";};
-cjk-ko-63561={run="1fq0f5315863gri3zns7kr6sqscx0pmg4d1944i287qy3p4pfblm";doc="15992k7mr4jln4057mzyipfhm2f2k6fysmx986czwamjjvsjbq1d";};
+cjk-ko-67252={run="0kzah0dkaqrm5l9n4792sgmiwv5l42518q8hsxcq4big90va6j8c";doc="1pgz1x55knbhf5xqajcjqfkj1a0bfl1v4dvvgdlfac7s0z46pxwk";};
 cjkpunct-41119={run="0wvqmf60gjm5m7fcc2qqz14lfzxcrqci3lrla96hxkqnqraiyb84";doc="1ja16xaqfg5158155flfvayr39k7grij13r1r89g59va53mpsgrk";source="1pn85n7n4fp2p5pq3w66kb5zlnjk1bdz7fz4xsa6z31d5216j39b";};
 cjkutils-60833={run="0wl33vh7pcrbyvxy6bfcjfv0xnawp4gb76cmq2304n9mp2w8dg2h";doc="1kkb1lkni0d7mb5hcnwkpwbyz7y9w5iy0z6rgm38lnkkm2wjhf7b";};
+cjs-rcs-article-69006={run="0lg0d2igpd1dbm2cd9irrb5702mvpscqf12bmxn68y778wym6gnr";doc="1vvm9nzrw9gidvzg1ab7riyxs98nxwm50kd0ih2zls8q6xxzy6bf";source="06wqrj29gf376mxpknzb6j7aqnnx9b9gacdq1bgd462spz7p8za0";};
 clara-54512={run="19g2vpxwjjc3y88ghw8yv0abkm69x6lnjj4p1cqbdjiyy4n83677";doc="0dkqqps72wws7dhynan243wf86gxn4chn1v5iiishkar33xvvlzp";};
 classics-53671={run="1l5p09agmrik9dkhwghjg8qh407bjw5q9hviykq7kf3y006dpzky";doc="0xp87xj7328ipwq0l8xgxn2baqm9zmp8dqyhv1iy68k9wgqr2f5w";};
 classicthesis-48041={run="181s8s8yk6y9haxz66ks1v6wwhpff2vs7lxrc8kshg1mn26bya4q";doc="1nxj2qflzs40mwnpd02bnbnh0ndm8rx12mr1vyyy6v3sc6g28yn2";};
@@ -708,17 +723,18 @@ cleanthesis-51472={run="0wsib3c130m19r4z3ghipvgqvmfhi1cx86670ad3ama3rdmc3zpn";do
 clearsans-64400={run="0wd2lhl02svzxl099zfflqk94nhs84qb3b7wzb8adh2b8z9489c3";doc="1nrlrx6chgk1ysxcpvd1hb1qpagl3n7x9h0gzfjf0431bc3fxc83";};
 clefval-55985={run="1wdxl93z0svgg6h7vdhzqp74clcldxqh95yimqb190cbm6v5ll05";doc="1d1pw87hszspsfrl5c14q3c2iy1fkbh77dzldhajx71iqjfza634";source="1x7dvg6q0hy6pg05qpi2qaxw7y7a2dcfa4khddvbfcngp1dirrzi";};
 cleveref-61719={run="1d4qp3jl9mgv4afgdgcns5rr7agn5smiwqkmrasqchj4hqzwxhwd";doc="10wy2zndm51fy3d80cqnwsjxyczqjjffx61ir6ky3nkmiikiyypn";source="1qyyvn226dj4yq25cf5f7yzc3gx9qmxmnlnjijydgmmwam71s3xl";};
+cleveref-usedon-66915={run="0j2i293c13knmpv82g2b85a1y9003dxvizk073617qf312jb8bpa";doc="0kprww9mxfr45y311zky7gfhxvg5lrkxfg0mdkfgway0j2ljyw9x";source="093ydvc1mzkz0dds9fl107bj5mghdfjwb9kcfx8hw9ss9yg6bv9y";};
 clicks-64602={run="15v0yjrsnf4hqvmriffdq7x24cxk9l54a5s967nl4pqn1iavsqd7";doc="1givgqvm29fa1kvj556hfda3z1hhfzba2b7jfj46f8zsifi17s3q";source="18dpkhvhc2i7m2r5q0sp5m0zhzn1706zlknybcv3zxsnpcs1rar9";};
 clipboard-47747={run="1i9facsdigll3rzl8xv1i85cqyvlc54xhia69cv5cv0gly00p1dl";doc="1b6wvadihwglj0653bn8fnnq18whx2hymigvyknw00fyn3xjgvgk";};
 clistmap-61811={run="0xl0310x3wrk9lhwhbqnzi3gsvmbvk5smd4wq50wj691vmag9ivh";doc="116n1w0zfc6ad3nnq2wvjibpl4ywcfbgffax43vml5aixkpdlcq7";source="1cr6hbvln8mvrs6g8831153l62b4h1k5731s2d0xdm46wwmq4m3q";};
 clock-15878={run="0w5z1ffi25nabsaqh91glby7ifn40c9rhzxlz2kbyvbrdg6a3and";doc="1wp9hglx1vw8zfa182m2103xb0rhg9hmp51rc7bzm6fh3iyz52is";};
-clojure-pamphlet-60981={run="15q1hx198bxr5ip9ssfyf9wbccqrgwknijcbnqsm9mp082d0vc1x";doc="1fi2yxxnqlwsq3m66b75a16hpx4vs3imij175dwvjq1nvfg5y8cn";source="096whv58b2g15m6mzg689d0mp6p9yvj8z83w431zbg204h0kx0w5";};
+clojure-pamphlet-67201={run="15q1hx198bxr5ip9ssfyf9wbccqrgwknijcbnqsm9mp082d0vc1x";doc="1fi2yxxnqlwsq3m66b75a16hpx4vs3imij175dwvjq1nvfg5y8cn";source="096whv58b2g15m6mzg689d0mp6p9yvj8z83w431zbg204h0kx0w5";};
 cloze-55763={run="1w0wydk9kimnihll4r8nx1kp6fccgmhybxl3qzrqxk58x4imp3sk";doc="1pprx0mdxfn8gwdsi03ifscinnvj7p3w8nwir20z5q5121clss95";source="1ijnnfq0xrcnysc9sf54nc9a2xg42jqfiqawb8a5jnc62dx9zwyf";};
 clrdblpg-47511={run="0p38c8p426dn4i40wwhi5hisx3yc8bqdi7vwxdbya02smixkpp5f";doc="1l0avfhvabq1mm9yqrpr29ps9iks84j7mbfgrbrd6kfgpdpqqhx1";source="0iphx9hbs4ld49d24f2i8dcyjxaqgvxznq3i34ik2ywampr2a5k1";};
 clrscode-51136={run="0kk8hsrd8rr5vadvh58fdlzpz29cnpr5nhcl5il8fj466dw0igv0";doc="08wps3rkrx4isg7abr6icfj9pcnhpnpylnk3wvwb42pqah8975xd";};
 clrscode3e-51137={run="1f7p04gaccyynqm0wzfz8jinsrrwn6i4amc51s835gxkjv2d8gwv";doc="1kryc0ay3bx1maydfha6wm4qw2l9xprnhs3901qbz904l21yawhg";};
 clrstrip-60363={run="18ln2mlc8bhhf96kqawba5dqi38f5j5s23qmp5dmpgdm7fdanlqn";doc="1mf6bcc17ivcdvy36ash33bmhh9fcry0w30bfi96swjq17740cla";source="1dc29n1m6bq5rbpf66q07nss8iw9mcav8s1gzc56j12ik1r2sa9y";};
-cluttex-60964={run="0w5a3jxy1caaw9nav08w7ws9wnjj6bnjdrzw2y0rz2rj8xrf123s";doc="1a9clxd59gsn62hybpqsff0f9y9iyz4nxczybpk1kpva0m7w63fx";};
+cluttex-68912={run="0kzc9xs7rn8x4zh3z4fh45d370k5526mr81sxb95jabsry82vn7x";doc="1ii7hmn88h4s0va8f4xsndvhkl03csz13nrnn6jlzl8rj02lz45j";};
 cm-57963={run="1i70pxbx7bp7lzpd4skdymv1a7h8njsr42v8l8jvh4bs3gkmlbgi";doc="1s5jagrajx29zmpdbqc6qpbcpwgp7g4c3d59ilg4sgcqgd9n5v1j";};
 cm-lgc-28250={run="126k3nr39xvgbzjws9x9xs01rj738lvgpy9r2wjvalxqvd2sahw5";doc="1xffcgb60kvbg07hsw3dc6kzjqh907fj97qrrj2586b66asna5il";};
 cm-mf-extra-bold-54512={run="1l1cm32z8wcpj0cl7czqkhnwil3ail7a2bbzn70dnswpj0ka8k9n";};
@@ -728,7 +744,7 @@ cmap-57640={run="11ki3gqlk6hjbpffmi2zdlj0rg5z5drcx8zw9nc480mxz931h273";doc="1ykx
 cmarrows-24378={run="19r3r86vdlkjgx98dsf8c3crq14p8ljdfq6cijqqsvj6p4p6nfy6";doc="0svllk1cvjn1mw68yfhbd1na6grp4hlqbybqnmw7igw8ilpshl1b";};
 cmathbb-56414={run="03da7ak8q3qyvwnk52mn2a79q2mfbfk0bfrkvmjpqnlagw35qmbi";doc="1i54xpnvygfmwbvdnj5wwd2fwfl1y4f99afvs283lz1ki2857aj0";};
 cmbright-21107={run="1ypjv6wfj1nm6wj6laniv304zri75q9gaik95sxbz0wh5cxzwgr8";doc="05cwyxmh6mqj0xf4awhif1vvms0j1lmadd1fgil7b14l46mcd99c";source="1y5is2678czhhkw4y5nrg05qqfi3n7fbric9m6pszfkh4iw0ml6c";};
-cmcyr-60630={run="1fdsd6ks48rvbvg44ac01z89rbd4w887lg2f9wqca1byx142jg3h";doc="12bg7k2gf206gwlg89mqwfadsyznpwl2nbzcz2vrnvrh21z81s1c";};
+cmcyr-68681={run="1fdsd6ks48rvbvg44ac01z89rbd4w887lg2f9wqca1byx142jg3h";doc="0f2i6yzqy4lfh42y47mwqb9r4ni67bwgrrb7i7mfajnkcb6mi7rm";};
 cmdstring-15878={run="08wyaqfyjp482gwkwfq2xw3skazfzlv0nn59qri9728rmgykd3wn";doc="0236d4ngq70xrgsaxg0b0yqgcnq55blkq7d4hgw3sx6s6hkxfkn5";};
 cmdtrack-28910={run="0ygl30hj8rczxj8sxis9cfq419rscvndj5fwyrls3c1d2mnscizd";doc="03gp5n28lg10h6amf4vxamvnsr7hvrkhmscfcdf4jyp3kkkvnv4w";source="1m8kfxys9nh3xml6inyn4qyhqmw3h572lvlbh7g4z0zzqgiah3qx";};
 cmexb-54074={run="1hfslkscqr01dkgnckfcr8c04s053s6f8z5xk35lcgbqj1l7ygag";doc="1f6nrlnnq3c8mwsxz58pk05ginjkdjpgpnnw2alky20s78cc5kyq";};
@@ -745,9 +761,10 @@ cnltx-55265={run="09czgnx6jqn856sr0hg5j9azaxc4i22yp1dz95nn4s331khl3z2a";doc="1ly
 cns-45677={run="1b9hs7svh6zm22vw5zv6nqmdnmw453xv15gl5bgm4n3f1pz757wv";doc="0zdjgg2njgcf35jvbhkfgiv3b9cccf7ds8d50ga3v1ia9i4h9xq3";};
 cntformats-34668={run="0mx4rgzk4av74s906andw0h9ga5zl2c3ip0vi4q9349yj643k2q1";doc="0015ynn7mw1y8v14qckbqkvb1fn5xqaz7rcs6gid1n19f1qsbh6f";};
 cntperchap-37572={run="0g7211nljimm9a5fvry89ch4nf49xhad9ka7prdmlpj87h9ygas4";doc="1fmq2r8ssvp99ykil3aak8w301qvh4nldsph389m7qar2pviy1sk";};
-cochineal-62063={run="07gachpd2xz1npifg11mlkhkz5q1q5vmi5v9b35xvpk9a68j4a6i";doc="0qbbgri75qaw0gkzgzwdmvh8in7s74f7fmrs95czhcga0wdcjz52";};
+cochineal-68904={run="1b93yb0p4mzazs1m68bmv89ynlxikji27p91sxaf1d4r732nfrlj";doc="1qzzc9l27ymsyws1im8siada65xw411rbvkqaxps7qr7zwbrxn4k";};
 codeanatomy-65648={run="0pi4w20k4qcm3sbzpd2dsdpq6r0nblgjm2s3m2gclpmsybzmflp2";doc="1z9w6llgjnlmiwkz6ghv1cf2ilrfvj0r1k2c6kilsz4jcc457y3z";source="1vag4qaphfw0xrdl7b082iwj4z89x77sh62y05xs0f2bib9qlcn7";};
 codebox-61771={run="0s0145rdpqbbagc2klx2w5h6mlx4ns0qlllws31qbvy6byh65ngk";doc="1pj5qnzfa7725v6cixkznrs7yybc2v0ik9q2pxa4d25rpfxap524";};
+codedescribe-69343={run="0swllicbxmaswi1v5ks25rd8bv8isibbkkzsi78ibcbc52rg2vqm";doc="0adbg2kfhyd2l19dhbab0fa49spgqk44bga9wgnn8n8g7da6zvmx";};
 codedoc-17630={run="1zz70vp8ssblnacrqdsq9nwvf1lw69mlk9d94cfjc818szcgi9v6";doc="1f3i3vw1cmdvgp05xckr748kzbairhvdpfvr844y7wnmxzr4rfzg";};
 codehigh-65787={run="0nls47d5md0b46xi1nxydzwf79xrqh6ijj06h5n5mb4sw7w5qylp";doc="08d7vyn1s4gqhnbz7f935n96ay9hk7k41w8msg8j9s937qh7fb64";};
 codepage-51502={run="0kxf5zr3mhn5pd8pzmzslgnngk8gms27ax6cqn1z0n35zvh0p17h";doc="1sd01q8lzrzgk9v1dyhf4m7a4fspjll3w8wwkbzp7gc693xg3lm6";source="0b38lcswx2x1jl6ydmvs6yr1y0kiv6gdicnbrx5qs8xhwd93bcag";};
@@ -755,22 +772,24 @@ codesection-34481={run="0qp4k2z442idg0mjnancfskj0j0k75w327fixjgdq1kl9q6jm9p5";do
 codicefiscaleitaliano-29803={run="0im75yz3sw89ky5lcrcjhg6k6j4sgkjfn6v4srmqzcfdmn2qyx7m";doc="068234c0shvblzkcgl67a9s9whcbyjy3mjw60i8ljhs5z5wjrnc2";source="1vsb7dk4mlaacl9ls17lm4xdw27xzdgvng02gkfjvja1ja3cq4zr";};
 coelacanth-64558={run="07y3hgw3apkkncch9qcl71l5xaff8zqpgcwf8is7wz1wx173hafs";doc="0ylnvl6ya87aivb10z8sq2rw02q3kljdiddjfarx70mr1jzr2hma";};
 coffeestains-59703={run="1sfxi8zimkp76nc3fg7r3qyf628sh9p8rh2b8l0wq5aga20951n5";doc="097c2xgrgy95w7v5xb9lkgih65ji5jlxzdm6szdyqnf659bmibm6";};
+collargs-69284={run="1hiqc0gwligaalxacv7si4g7qnn06aq7c4kqf2gma01xw8mi61gk";doc="141glrca5d5dsi6azni6valbgvkdywh6isian3av7gm2wridi3js";source="0qxdlmf1yvjlisizpcpmxclbs1wxap1zqivvsxnycyf4vwf2wxj9";};
 collcell-64967={run="0f0dzdnmmi4cpyg2qfdxkdl83qrcsddpqm7z9g9mxfnx4lf86y3i";doc="0wyvhcw36arrgnwq7zc8vck3m37qrn7my4r6959p4i7zhpvsazzz";source="1k7s9rkbp829wlby7h1hwlv48bzxwwghcsnmlxrs7qnh374dwb02";};
 collectbox-64967={run="17bz2nh141yw4cffv1w6cdnxkgi6ilsr5fkzkp6h5glfibmzhi62";doc="0j9hs1q8bzm4p7rwiikc805khkar23722ylf00yb7mp5mvky8996";source="12llsyfksri5hlncmj3bba779jhwxxdr9zcck02jmrvx61d1znvh";};
 collref-46358={run="0q1g0x0bm0qjh568fp45b1ljy3w3jgy6s09ji1d1m5yrbs4dm7qn";doc="0vcfrdg9mqrfv2jlxh88g0nhpsrfwgdg9wjdn0l9b4c5h8zq030c";source="156gdfrd09kyxjiplcm38s3zj8v6bygwlpr9g952m0r72q7cq54v";};
 colophon-47913={run="0v8q22qxjrbc1mpsmfvdp13iwkjxp11cxs86h2b7b9rjs0cjxy6s";doc="0s2kz7q6nkwc19jyl32rzcbbcm7ykhkglanx010xfz08vgirk1pz";source="1z2dihgwd4vbk87n0hzpipm2359fwl1z13fjs4g9r5ys7iv36wsq";};
 color-edits-56707={run="0p465bc127rlm53xngrynmrxswzmp1xsivkfy3mj22h4ij6db03c";doc="04zfa0jryyw79rz9s1c0yzr1i8zla7ivvfw701f8la1rab7z6q94";source="0279n81xyiz4ipjbr1jdl0wipfy1lkl18jx8mbqcbwczw8k4fbn1";};
 colordoc-18270={run="1hay7bb0xh2n2j9clvbn5ayz3jq0yjaixi35isdsf9ysvj81rx0m";doc="14bw1g3dna2ykyv4fl32gvqjs0n75vlfpc9icdk09l7zhdspsvfn";source="1bssn8rjrp34nm6qhmzcrcn6a0ah9lv5n94d1jxqhhaj4pmimd2j";};
+coloredbelts-68747={run="1y4ds4n6b6avqaqbnj5yh369bnp1f0w4mhnzkjvibhipis7n11sg";doc="0svl3fr6df2mvqpf8gfcb2byj16hbf2szdnbi8scbvrww68jmldr";};
 colorframed-64551={run="1kys1kcq1j3c4d8mv22fgdw5l2c9ar3il8cc65w0lx4avbldw28r";doc="1xg0gbyh0ay38yk00in78q7mysnmlr4maxzv5lw3s88l0adykr8h";};
 colorinfo-15878={run="0ip7py03xrsrn40cgkl4dnj3q9g0f9fbw71c9rsg9j7vl82fdn46";doc="1185m34382n9rk6w81ppb414vl77kikkhwvn78aahlyli4il51l8";};
 coloring-41042={run="1ld6gknb8a59pkz50wlil5p11mnv6ss0zsjbajbw63dg0zlwaglb";doc="18y8apbkh7yqzxrzpraqhd76k93xnvgq5rana8lq4xh5z3f7skjq";};
-colorist-66450={run="12llis83f8lsp0i7gs52pbyjrw1b7pygx4vnw3i4xqmgl0jfgy48";doc="17lv6wkdc5vffdvx05dzbvxfqmkwbcqyizp0ax1s2p3y053gyayr";};
+colorist-68440={run="0wk7gllr4qmvmb3fsf9basi922ss6wvbnx44yxs0wladnzkyfdhg";doc="1kpv619xbwd23lm6i4dy90plnn6yh288alyz771qfzhmj1a7bvy8";};
 colorprofiles-49086={run="05nf7y425f8ric57c3afq7ymc7ndxcdahbx9n32jnaz9j3qq2ypl";doc="152vrbm5km4ymj5h41x8cjyypj06g4xq3vyvmgakai9qz270dvyz";};
 colorsep-13293={run="0nf72pf2bjn8pcps45sn5dcjf1dkrww9wlpp1xbzl1h9i68p3h3h";};
 colorspace-50585={run="17pahq2wh9vqwpkaqkzc3ypcz90i9qpmw7867qz4k8a87sp7wgji";doc="0g766c50w7xpfvqpp6lxjc6lm2cyr8yl28g7n357j1d1lxgnv0x7";};
 colortab-22155={run="0hiq8wgqiwxnw1gsrymshkldspdnizcci56ihn22h0hcwz76hgzv";doc="1cj84k7cl6cww25yy2lynjrbicn0qy4y09rh6dx2zq19972fggi3";};
 colortbl-64015={run="1zcxbq0sjmlixjg5vpp8s21acfnxwmip6xsr127jqdhl27mfn1f6";doc="0myxh9h2riwnbg8n1r5690w7rpvfry5n7brrnarpwrhc42hykcz5";source="1hwks6bpk5x9z4vqj63fwg2lzj7h8mgy3kk6601vynv5ck0af1gn";};
-colorwav-15878={run="18svrj3bfsa8m5q3hl5njc8ac2n1qw5lk01qlc45by8vd0y55s1g";doc="0jprx7kl9vi0497xfnvrswcx5d3ij9474iq2xqvnl5yhw4mz0v49";source="1wls4ixd2q85yawkm0brbwiiipb4avgfjgi2mi8ix1hwawycqacr";};
+colorwav-67012={run="1dlh3ipf98nq5m34rj7naafnw9hhrbljij721mw57rbhbpcyazgr";doc="05f91rmf1kpdkfl0dgjag5cq5xvcflihfi9xj5y49nh65mq01w99";source="0rxiqp1q49l1dlr2npbb45jygp487zhhzjx850f68bw5vq8wz9j9";};
 colorweb-31490={run="1rz9ay86z5bf8m4j5w5prvvk1nmlaakj3g0qfsrl0cdqk7hwsfsf";doc="0vzcwhbq1a6pczvrv21z0q3y1akfwm45fclf0857c8jvpikkzb1m";source="1z0h3l9gdxsg6lbw7j6nqhafxq8b8smcn4nmq7ywdzryp8b6fbw2";};
 colourchange-21741={run="0y8r7789xaj16cdmsz4q0zyq9l09ihgzzgk4alnggsyx1ny45ybv";doc="0zj9b8xcnjlvadams6a2z3pvnzjci5l10kran8mg79ncvzq386cj";};
 combelow-18462={run="0s14rmmv44js6vc2l8h7gb9f8h5w4as71qgxbadaxw641xfs0ys3";doc="0pwrqhd8m7c2444czsllk4sqai3i2scll94y6qy7m51jvjycyf26";};
@@ -785,71 +804,56 @@ commath-15878={run="0k3s00r4l8bypv1166p8jkdj1wrx4ar4w0y1fggmpzivqicc02g3";doc="1
 commedit-50116={run="00anqgix8vydq5ssblg5w5i8pziy8fvlva2kpwy5cjjiqgpprcd3";doc="0vvnkp8r0xbsyvzps4a20fr43cj2559cs6mq7jhja6jzvqqc6mic";source="1kzc8i6nmvw7xwz9fbfanabypissbm7hnmmgp2m8r462ywzpa79c";};
 comment-41927={run="14k4y4abv5mlhn1i8f90bxfymp9vz0aha4p2gql148wj2hh7h96m";doc="1589g0dah13lw4p18cqprhfnh1184m79ddrgvc2l22bq6vb1dsb6";};
 commonunicode-62901={run="0mx8nsyiy7jbdqsjc19sghifigg06is99sys3xg0rr451rxa1kyv";doc="1c3xabrgpmff2b3yfrxj7sbdwn9jq71xi2s0v6329rwjd6vifwd3";};
-commutative-diagrams-55526={run="08jd1dzi1y72dhpwng3p11vw8jl98n9h9npyypgc58n2djla8nb6";doc="1405ya2nynfbzrypjm7i9grp5k53nvrx11wzg3xy82z32cvds0y3";};
+commutative-diagrams-68044={run="0vkcb6gbzfa42kxdz3g77phqi6j614zpdp0aiyxqxvxs2jk7ncpi";doc="0hbb7xcki43274s3ssjqw976cv8lmyn1gd4rlx5gnvc347r2clrv";};
 compactbib-15878={run="077l73vb0rcxy1n51r3wmcb7gma6nn3xrl543a67n96lpp5xvnnk";};
 compare-54265={run="0isr7gmskv55cr4f1fa7s478v6fh65q9ijxkmbpxj0448g9817w4";};
 competences-47573={run="0hijar81j2jpwk5j2hrgaxb1fnbk6qh2qb0qbbmhsqrdrfcl6xdl";doc="0ywq9f2a1fb584kpvzwg8b16qc7bpcn3dzsscs6ndqbgcy0zc2yf";source="01dccp2wqdy52kp79n099v9lh1vfambg0b63amq37ac68pwn3qp9";};
 complexity-45322={run="062xi5wlg3axhrzc9a6nj068z7nskb7qwwk2wr0fzvsflqa9cp0i";doc="0yzdyn9j1jk0nsw0l4r06cr4brhz1f3lfxc918zalx6h9wnkxi2b";};
 components-63184={doc="04yg9hq0wcyi1ag9y9m2fnf5h3n4fdykiwljgpw0kyc73bfyhq1m";};
-comprehensive-59099={doc="1pa76hkxfmms5h6y6zyg4l5wrspprhnycfdigby8302srx676vhi";};
+comprehensive-69282={doc="0f1w8bxqapw3l0nywdd36lj0y10miqvzzwchxs2swgjlyxjzbspj";};
 computational-complexity-44847={run="10as8msnqa06dp3hp945m42rgbaqsja8z4sc79x7n77z6qzmznvl";doc="0dq56zzw1xzzpm1rdjkqwhr6v93xiv00c1g2rmlmfj5dnbzng7wq";source="02mapvsz8j1979gy7pmwkdr6wq55v0al71ffl9bi2bl7f5nsz0vc";};
 concepts-29020={run="18vjncdrbp7m7m08dnfmk6sgv79jx83bc4yvvcqb0j9mn9niy1f0";doc="1bq82dgsl6gqnrs88dzg07dn4rmc4y5by8122zqaqpdrpjxhnvax";};
 concmath-17219={run="0m98kyji3v4gg1a30phmn7fwssnnbdvyjxvfpl36lnljnicpg28l";doc="1392wq35zidk71vxybrwjq79p2gf4spcv0qqb07dsgapbhr2g0aw";source="1zn35da4jlplqg7fb5ibzaah2yh1cwjqvzmx45jxg0hnsc7xmlfd";};
 concmath-fonts-17218={run="061kfzds7clbxyq62ilxwcrdkfghi2lx8afik7vi9gg0hysbki7y";doc="1x6wb92k4da01sv8b35p3bly9hj46hh8k9wr22m7lj3rxnndnpcq";};
-concmath-otf-65683={run="167dw3vywjsi1mqj825vlx7j1qagqkf1dxvrz4nadbx4b78dccdg";doc="1jw4p56ign31ks5cdmay4fd1h5s0p3plm7hi3m5a0033wczx0yqr";};
+concmath-otf-69005={run="1ja0j5i4alkw45z0gyw61vk3hx2lkrhcgfnmy8l2nm4kibif04k8";doc="0ynz1mzciljg3jiz6wpdwda8xrpnimdfpbrf00pm4m786cdz1hnc";};
 concprog-18791={run="08yr8yk9gp35d0nvh54ysgv61s062vj446fyb87n8jipfm49mj2x";doc="197p2bdn1rqmxva56sagvb1z7kc8gwxr9zf612r6g8yb07xg5riq";};
 concrete-57963={run="06m8d6z5z3dpj9i0nvp50g6pn9j0m4n0n1j3w94nml137qghawyg";doc="06z5hh9ksr9jpkfchyh2zp8b827klb4v282ipizrm1dvlv2r1603";};
 conditext-55387={run="0g6clck3v75yvg7gv42w24zv18vi5jcg1q9k663cxldix77lkgbc";doc="1qc7w7xfpxarb82hf66f3i63v7ypdybqwg5g3j8qswj1a39cy1wm";};
 confproc-29349={run="1s4mv0g2x5mfxnkp0i29wa3ncbx9fa05qqf734fjppdzsgic079i";doc="021kbis3c73gnavrjhqa34fsbq5c94lmjym2d4ny2wpk9xagh994";source="0dpghxh9mq2sr7aqgcj15h6b4xh7x5hvdzph6606izpff8ac7h8c";};
 constants-15878={run="11naj0z8ppb6h07r7cff0lcmr8zgc29kp3x7spi60zi6cq2546gk";doc="1wgvq0x1kjgd0bs0024fkh7wis9aw9qryd7y0igrbgdgc722pjnp";source="01skagh044v62vw12kmibgd6y42z5r1glrsvi9y0h76vs52jz7hr";};
 conteq-37868={run="1h7b98qw9hl73gh4zidy59z4rly9afnvmah75jgvh0k1v1hm09df";doc="0kgdggc8gpd1h7kdbh3ala5kz8rs56bgmwgv9wvxsqx4sn19q2fy";source="1y0g7sj696d6qhcw8vrpxr8gwik54slp7lijbxz64ksqbw5xjqv8";};
-context-58167={run="16ba0cbqz8w513yijaf8ka9zinzakgvbkpibhilnvmlcsxzcqsk3";doc="0r15aa12cm049ly148sd48vaigqh1z9mbasjf8xc21ravq08jq16";};
-context-account-47085={run="1j1rvgcznn8c637dayxpdagpwjq6fbn52sjmrb0wn4gd4b4q3nk8";doc="0lfx6aa235jx7sz27qh0328n68ra3z2bw3dsh5p2wzkg1wxbaa6g";};
-context-algorithmic-47085={run="10rj0ac7gqzqmqndvapnhn0jnm2538r5bzmhnfqia259qs2p0qj8";doc="1s84vb55yhxlw6dvzrs4y6bf2cvwp6pp0mhy778k5zyzh2kcfzqy";};
-context-animation-47085={run="1cy0jc6wk9kfxahndf82wwns4dhn1nbrxqx8v5bfb57m23id8vff";doc="03mdp7233r9snsz5g43h3axyhcf4vgpivfhfv4fy3vh1ya5fx8fy";};
-context-annotation-47085={run="1c2jgc8r9b0inqa5cslmxhrqzh23jkdn9s9xq1q3v5qvlh4vcn73";doc="1a9ba8l6jl7hjaiv5mmf5jvsvxxj0y6j2s222qaqa62crcbqc9g1";};
-context-bnf-47085={run="1g8gdrqaq2iyc2aj4a3a6abs3vkcbkh44y6mnbjq55pl45ja8wp8";doc="015wnsmz8fyshyrva3n31iz6hbifszi6cxgixlq17nxkpcnc5899";};
-context-chromato-47085={run="1qf3a4p63zs4sr5acrfnmxdagf3x04l7rfd9d7pfcmq261fqsy3z";doc="1w807zh4s7bbsx16v3h5gqc1wg9v92dkg9anysbsh1m9rc6hnhri";};
-context-cmscbf-47085={run="1l8c4jcrwmsacr712zql2rp1sirjn0dwbn2r0w83v4fhrpyfifl9";doc="0nim43d7b7bv8xmarilzhm4al3lngvlf7cwazhkwpg80zqzavb4c";};
-context-cmttbf-47085={run="1pr47vcz2ix9s3nvmi015bh2w52gayf8962c025vhh9brinxdzsz";doc="0m71dv1rj1dji5skq2pyvlkq0sz3w9lyhn076nnmvjkq8vh9gkpk";};
-context-construction-plan-47085={run="0q97h6lz072gfbnlv99r570kkba82qyx493flln24rrs7js5szmj";doc="0pmvwb3dax78wa6v8amadxr36fs68wf3rq5k54sfczxf6k93sbhw";};
+context-69131={run="1r8gkrrrq1ps1cp058m1jv8922zsx3hw6c5vsmxpbwckrp5sirwh";doc="1nh2yf7vb800cnnmzic5hmy4w5kxd38y1py1xjg7madphb9zdc60";tlpkg="0vcs8ffry2jpxad68sk0mnc8p0mnxifbimsj227lkn3d5cxkrp9j";};
+context-calendar-examples-66947={run="0asc49mn24ql4fk73089viy3s6wff865xk8af7h67ffsb5qjnld8";doc="0wza057wz18yf2zl1j77hddzimwnraw5wg1579ncksywvhnmx3rp";};
+context-collating-marks-68696={run="12vqvbp7ns9r5nc7p7nrlsll3jp3hc4xi9wjyjq8lrmd8ly3v26w";doc="0nawd3x4rl73s4mhpq2wd1sqa8i6k2n0a39sqcaf21zx99mpiqp0";};
 context-cyrillicnumbers-47085={run="1gk4ncbfzilj98s7k7s43k6vb3il511k434aj34fsvqh5x9x4aw2";doc="0f7r9qgfc8h92jprjqa24q4vpz4bqrrns3glhmwh3qmk1f2gyw73";};
-context-degrade-47085={run="0r7bgy2fliqhywgqc1blcabmhjz3g0ys1rfk8mggkh7908lvvlmp";doc="0d0fy68hk20az7vh2z87h76hc8x1hmgfl1r5saxg54l20a31a96j";};
-context-fancybreak-47085={run="00zdyzfb70fvgrdna9z4958pxhmjv85jxl5vhfryprqkrbw05pr4";doc="15igbqj52g2ybpykqzkzm8b9gqayccip5p6srv30458zmxhci9jw";};
 context-filter-62070={run="1vj8kimqsmn9xhkh22pywqbn4sal5gxpxjbcbv8xmxcrby02gsfn";doc="1f6phdqxgvdg9c6f37m654ha6i226d88i81147h9x6sh01i7qd0b";};
-context-french-54215={run="1wdn7ajvmfj413x51v0zcnbibr4378s1sla7f097xllak9iyd9yy";doc="1lyi3hwijhc0jl93ygldpjm44fbiw4c7zky2ydrm4s56l3di2sil";};
-context-fullpage-47085={run="0i7cwd0q9fcdnh58w6hgdbnxxwv8g01nk33j7naqwc0f087az7qn";doc="0pyhpp94adp1rfn7pl7fwa03n119jp455y1brmsww9wfpniz60di";};
-context-gantt-47085={run="1x3glv3nanxic9p0xi2dqz6k5awwbhxzzfnj0d9sqwkcr5gfa8h0";doc="12wbzw4j11fsx412qjjy0g36hq6db7f61937s8k8qrqpgpfjaz4n";};
 context-gnuplot-47085={run="1pahxhbliz6fsj2va5pgwcs55b3rhsmfnjb9qjxkz3gqzrzdkfdp";doc="0l0qp9c0yvdrf8398wyac98ghrdc86lxgzr5l327gmgnk8572gxn";};
-context-handlecsv-51306={run="1xx7jq1lqzgnm4jicc270g884qrnsaxg2cc86r2zh5ar584qv9yd";doc="1frlxxqd93p2dipsvg1gi1g3l4b57wgwz9j5r2f31vn9p6dxh06v";};
-context-inifile-47085={run="0qakf92qk90nnqnvvada10z6r49dsjyq25mcyd1742b3m64blvd7";doc="11ds2hvs2mx7xzanzpj9il4piiqwhqj6gc00r8g618m0s2fvkp5b";};
-context-layout-47085={run="0j7f5krz8n3192z8iysr7cc8hz0v1zw2gidd9ag0l3ifxl570hn8";doc="16ava246cbx60q43brkfgbfw1vbyszqv42x3k027hlzk3hv4vahr";};
+context-handlecsv-69186={run="17sn4nq1fn3868xwnlg71fqx8cjfq92dsiar091635cl72f4fra7";doc="05svrhaz23sb11pp6kk7lchcykx5b9b9399368k7pyq7a1p4w2sk";};
+context-legacy-69173={run="0j18agzfhwwzbdnqavphvrp0lpji2bv21qh28kcvzl269mgjgbc2";doc="17wsgg5zfx0s96wm2l9zca060z6p3mj88hcrw07vy44imxv3gyiy";};
 context-letter-60787={run="0bnd56v120h3c235n9v2h6mzvmd6fy1g837gjim5fkkqd7jyzp2q";doc="0l4vgrpha5kx2990kdk4pdfljznlczlji0fxqsxs292yb3yy5a4m";};
-context-lettrine-47085={run="1ab6hwgnl4s1524li669sgn06gsvgc6vdlxajnbxj7gby4qh9fr2";doc="1x2plp67i8ayw7v3nxf9njlj6fpwy0vvp5cd3k3vp9y0qf6is6cf";};
 context-mathsets-47085={run="11r30c6lpcvkx7awgm70cb5darl90fvpnf37hj2mb7h69d281hv6";doc="16qckniq5v52m36m05bpnqypfz2jn4430n5x5zazx54j8makv827";};
-context-notes-zh-cn-23171={doc="16f2ax1vwz0cihiyl9cg0hsgl1la6mgh6lavw7zx1x0kljz3ajl2";};
-context-rst-47085={run="1lcxad4kjhdgqny5qcvwdd968wkls96qjmi7m8yrla0nmr44y5gp";doc="1k31vj6wk18ccrnrhw46j98i19iprjk6h770a2y9w6710zlw3pdl";};
-context-ruby-47085={run="176si5c7a44r7j23kp5sdg9h7yd5dpf1pp7rzivbhhgiwqinx7r3";doc="1mnzdbcaccdylxc47s88wpq25xj867j2p4rziw5w4pbvk88h8a02";};
-context-simplefonts-47085={run="1kfn5dl43qg64f2nx319xgxyl71wsxq1mvfxr20a9f2w0hvkvwpp";doc="1wy9qncb4swqxhgi263pv1d6f62zsbvfl9lajf0jljvkb1888167";};
-context-simpleslides-63903={run="0jmcyimv4jfq19lisi43r4zxrzdfwn32ivy5akzhhp1amy30927x";doc="08phplrvn6xbfh19s17r58cr2jwx88ism2qc28rkvy3pfym4hh25";};
-context-title-47085={run="1vpr86mkdd8ib5vvdak3kn19fi8vxz1023ld6axhwq4x0cxzb0ll";doc="03higvjmk1b400flddaxdmk5pkfq6vz6445q53qw86px82g17may";};
+context-notes-zh-cn-66725={doc="0pdizaybvxvzh19451x90mj81ql98q91f6cj8mfxwxa0mci1b9p4";};
+context-pocketdiary-66953={run="1pm8zaypfm575ryq0jzpnwf5p9zjg7hzb6lnc636cf16y97a1vkw";doc="1yy38pa4m7bqfb0r1wxj1g3zdmwzgdil35g2lw63ww15y03k7w0j";};
+context-simpleslides-67070={run="0dgmix9w576vxmffbm4digcp00vvdgmdxmxwjzrrkici4rq31w79";doc="17djxi04rhg61fjcmsz4yjp7mnc7g1fbfb9mmkcf7gk8dwzrvigf";};
+context-squares-68545={run="0x0f2f3mwqyxaw49yjkyql8hk2mck2kq2mm842vpl9sgmrgjb8d7";doc="1d8z2l8r29c5yklfjm60bvdm8lchp17w60qr38gjdpx334bshyy7";};
+context-sudoku-67289={run="0fnzvzpn2d24hdi5g18f1mpaqkyrcf8kvkprqdz1jvlkqld82kd7";doc="0dqzxcljl1mn7qs7hk2pahvc5791m4c911j5dv85fwaladhjv9xb";};
+context-texlive-66924={run="1fg95ihx4wbm38j4rm4p6vdaiib6n7lcf43m444r4nb5flbrbv8q";};
 context-transliterator-61127={run="137wjy0whfbwp95h4grypwxld7kxlx9h6l3bkd5bpfnqhg70j05d";doc="1snnrk0h6pwg83qzsv6mk3n5fmirk6rxjih43rcs290amkx8i49z";};
-context-typearea-47085={run="1m33wbnajm4s9x098a72xsg38sil61slpp1kk25f9w29vjrs18aj";doc="1sblwx44pardqrp265xzg5hjpiflgic7k5xfai0q9nga9qi56n0l";};
 context-typescripts-60422={run="1vvhd18qd6vka9rg048arpwn61rqw3za116k2yqfy4lnp2rypk0g";doc="0pll9scpcsxzwgsy77mbpw4s0yv432h5p0av70kr81zzskfxabxd";};
 context-vim-62071={run="1jinagfnv3aghjn8gsack6zl9d3rcycwqmxir5jdjhbw4r66yp0y";doc="0gc1m894ad0y8l1vis5bc9n6avg8npzlqa4xr20z401nxhxmbv6h";};
 context-visualcounter-47085={run="0n20r8315py52ghivwy9kh7g7yj4ixakmkn97phw1fxgz21jk6qg";doc="18ncq5d4chmnmxmhazbjh9ypsm4c3577vgcmnx0y1pmzgb2g8pn9";source="18yyv9974cxzpw45rzw6ia2jamrb07bzw6gqchdprdjs0xmhz308";};
 continue-49449={run="0vwz01gmbid6b2aj32qnz1xrlk9h0nicjv9ix1rvqdad20m1i4wa";doc="1mzsj70v9f6srmc8ja62pph9j67p644hl54fx6nyahvr2h9vdik2";source="1q835904qai3r49yi8hrfxkh4bjf6913qs5fd2dv7myp1w93j5ir";};
 contour-18950={run="0xb8a0y3jazrq5gxfnxjl7qkyaqjnmyhjshgngqcsrw2sq4j4li5";doc="03rxkl9vhhqa7gpigar8w2h78qvx4k68chhf0881ws3bm6lg15sy";source="17sfl4npipzgc7jwqx740nny7fnd8bv8k4vav9ds765ky1xcs521";};
-contracard-50217={run="1qvpz8ybjc7yx8zx4kzcpjchvxrb949rqb3905rhl61shpqv22hm";doc="1jg8kgp9wvxksjz9kxyh3qqxhgjmalkpj8y004qvrxna2r2idj50";source="1v6ffg84czajnl6p6a1j8khnfmzssjkhbndz5ajkww64iiw060i4";};
+contracard-67201={run="1qvpz8ybjc7yx8zx4kzcpjchvxrb949rqb3905rhl61shpqv22hm";doc="1jg8kgp9wvxksjz9kxyh3qqxhgjmalkpj8y004qvrxna2r2idj50";source="1v6ffg84czajnl6p6a1j8khnfmzssjkhbndz5ajkww64iiw060i4";};
 conv-xkv-43558={run="13clac7dhg2p69ccv2yjzdh64yjx02y0fb0imx9lsd0knnb1j3aa";doc="12dln1r2qyadxr4cy3xbwn18s5y8yxgxid22wpb2i42n5qc8j1fy";source="02hz64vbcy7vg363vb86vydaa29g5cgji2mfpn640dgmqq0s91vb";};
 convbkmk-49252={run="1hb4ahbgihnzqmcszxlq67bsiqprrxa9vf25q8yz31j70sg7s18r";doc="1h1iqcc1rjcvwg9p7xg5zq6sj5bi68s2cknsbwr6dbkx25ihwi4i";};
 cooking-15878={run="053wbmf3xrhwjxp77f1myfvz3f474kpk626p8gds939yx50jqzvs";doc="1db5wxixparr81vanwkvg097ll58fqpp3qkh0wz7mbqjkansp6km";source="1gka18njp7ipa0jp1527mhig43hhvz5bcdpvs95c61cvjrmwcdm3";};
 cooking-units-65241={run="1ainyz58nk9zyfg4isfgjk3g8gjw08ri8d1x9kqnymdyplxqankj";doc="1r21szkygn46i5263k6qryb1fhg9va71f3dcqxw1dh3f8f2bpcpw";source="0cvfhbr7zjcc8d5r453wkgmvnqwmx3qj0gl606sgrz87zhzra842";};
 cookingsymbols-35929={run="0kz8aaf7bp0y2ph0iia5lkrxnxch9r63iy7y4zpqcawh1ajl10ji";doc="0dws0sdcg13jpz23zvkw6vfnc34qc1s464nm2nbdybhjwc9gdbdl";source="1l1jkd6mcxdldvjyk9myig4jsi89mg6n4ab6ymq5lqf25d260h0j";};
-cool-15878={run="1lakvsarqhicdcfx306xp94m4hsypdabr0fggakqv7adcwmd734j";doc="00mqaavadqb2m2rf8j00z3dclflk191gd70qb1674pyd0a82z2qv";source="12r4d15nzd3r1dxnwz7vzgmxgpl12gkq88hdzqwnbpan4y90p9zh";};
-coolfn-66234={run="0iwgh259hsxyp6353djl77cv30bxbsy59qaimbi8d6arr86i8lqs";doc="0m2zwx99hfydc9ksbf26nbziv4v5c26yjg7i8xdr5j800b95iw59";};
-coollist-63523={run="1lvlji0qsa1bmr0737ngdkqdbvdxfj3cb7kg4lhy9brgjn229a0m";doc="11p2s7wjrjdpzpgyhn4jnx4d98nbmbccbn6q1b8g3gr8h4mqvdnx";source="026mczfnay1w8m8wspj4013bxd5xqis1ny6g6ifsyl1gb0665gjr";};
-coolstr-15878={run="1ivmy6jmjbbbzfakfz5ib58qg4xd2pyka90zskzcwzf5a87r22ih";doc="0pb30nqgfijdkgsmddb14n6aviz331wab2cd32vpqsb9jnc4rz3d";source="0fakgk7g7c9kkgd0xdm9fpcrnx7jsczddbvypwxkppll2wfsnamn";};
+cool-67013={run="0sz3n82js8fq7fiffyb53ib1y49k0pg6bkbzgnzsk698y5w34v13";doc="1gpa5im88apgfqyv1l9g4mcmw6fmryksbx4nbldwlwxdvkwfwdf5";source="0ds25c0k113w365f0nylliiq1h76i753lfkccbbibs41rp2kg4p7";};
+coolfn-69007={run="0y25dmrbax6wxzlrqmp1j3h6xnvvk0ls4f4rl5a4a3hi167yqrkn";doc="07xjbc9bj6chvjqv03p1c37bbqr1fjpkq468sx6cp0q6p45z17n9";};
+coollist-67048={run="174l3x19lajwfghixzxjizxwqj8z2q9rys9wcly79gs8r3pmbxwv";doc="11p2s7wjrjdpzpgyhn4jnx4d98nbmbccbn6q1b8g3gr8h4mqvdnx";source="08196xxbx6fvhic3a9p8bwrr3ir4v9ikl2vj8z97m9zryrzjv1i3";};
+coolstr-67015={run="1ky8l5g09cj6731i1x7fc8chp7qhpc35xcinjrajjbzfjr637pk3";doc="1aj48ym4rykbz4z5rhfch5cfkyj14x8wngsvwrhzw0m58hpfpn4a";source="0sxdiic0xcr148841ngzdmda4bgk9ningsf91ar517r2hfh1178s";};
 coolthms-29062={run="1z62gl39f9cvmwap70q05jml1657jxg7lvq81rgqh878z63d0rzi";doc="0zqpx1c0lcrkp1zpwl776hd8gln7i5f5m5k5kjhcwxwngd8w8df0";source="1bir9kbsvayk3xkchg7kjbwqkhda81vay9d70hmqxgwpa0l38j6x";};
 cooltooltips-60201={run="1apf2qvfs606nqnnps2rny9ly6y0hs7yv8injrbbk64x3nxk86xr";doc="11qjqqicakybmnqz4vx5jb0cqsj8gw86rywj7ycvg96s93zkh12i";source="1spsydk6mn3qzclav2g2al20sdnaabz9b0f01gq95w2qygl26hy6";};
 coop-writing-61607={run="123rbingcrgjg5dyafciwz8wm2bpl9bz9w54pi2jim87lgibnf92";doc="0jqrf8pnpsq8d432s7b3qva93ydf8gng18fn3drfbzsvb4sqaf97";source="0yhynaxvvhfhnx97p5p12xf66zng989kddlfw9pp6sv5alxfnvaf";};
@@ -860,6 +864,8 @@ copyrightbox-24829={run="0n9z6dngf0z98bnzn6nl8yvy7dh1jmcdbqfxnzxarxzqq16f99ch";d
 cormorantgaramond-64411={run="1jdqzw1jd0r0qc4wnhm85kg0nb92dgvwnjyqlxz67lb9wgwddlk1";doc="0j6gq9xk9p2m8kwqvzjsh0s5z9x4q6v8klxygdahwgahvd0n8dl3";};
 correctmathalign-44131={run="0dvgaqy8pkk3plhqlxgkxkiwyhfzwcyn391grbqv764mvh4iar69";doc="1fd32yzxj3l4sp5cp9rnwv3175jz5m5hxwlfm10x282g44l7mjid";};
 coseoul-23862={run="0wqxvh5mnrl59ry0qahxzlfajgpp0yj27h0falxnr4m5iygv7699";doc="0l3z0fxsdlln0hjwkxf9ka9hw8zmmixml9lfy4kbrn88xq6z62yw";};
+couleurs-fr-67901={run="1479gy549yj0xla35f7ryvh7vkxppisvi4kz7ji9v2219hx4vkg6";doc="09fh8d9bgh0gmabiq0d9l7flkk46w8yzqksnfygmbprib15b65ck";};
+counterz-67335={run="1rad8irarp20xah97ppzipns4i2v3smd44sbfi2jy5dc0qibw0y9";doc="102axl32lgrdlav3fyzsahkcikmapivydbfwm3wkib624i1f1h95";source="0f8gspf0m2b78fr0jq7n4s3y0f80l1pc3qr1rzjfs6xdrg1nv633";};
 countriesofeurope-54512={run="0387czqiyawxcjqh22czyd8f7y55kcrscxmp28rcm8wqqdh2ra0z";doc="0h06f5rpizsdqddqdvvvh5p3nhm4y5aixjnxl8s0b90wpcldwrpg";};
 counttexruns-27576={run="0qmm8902apb9ks1ik1dxmzb3ivkivpj7a8f8mkn5xdyxbnqvm5pq";doc="0kpasflvbal7x4r1ni3jf30fh7w6wi68109m5ajcjqrjzxkpgmdm";source="0840fyw71mw3l5k5g01wd6hn41a079f83wmbyg64f4yhgjdjxjnf";};
 courier-61719={run="08g6lm12b0k6333pxcaqdf67v87fz5mrqp3jgal8qhrls5ym8q6r";};
@@ -868,18 +874,19 @@ courierten-55436={run="1maxj7wsjqh2ni75pjpzsbwh1f9abndka1ilaiwik1c21kgb44g6";doc
 courseoutline-15878={run="0mwv6bslzgm5ys4gl32mxcw42gkpzwkzrvxk6934682v85qi6f4k";doc="1k135zma8aacd0mf6l5v4zac2blqzf6z5xa40094by61455x48ha";};
 coursepaper-15878={run="0n8gikcli14inz5q85n6k63yg6dczlpi837mbxrv5552hqzpivwv";doc="1d8k6yj45x0wx790y46b46nhjb3zvv2ncbkhlzckq71fsi5ayp32";};
 coverpage-63509={run="1739rmdrj07q8s9xpxarwwds13hciyv3q41p18cm7md8qrdd74xk";doc="19hw1mx7ghigybh23b8v65y0zx28p9armynkw9s7mgpbsq0wld32";source="0spllq6j5rxqc6a96x0dx3n7skm4gqpp6fgas9vflywiw6i5vk75";};
-covington-64241={run="0d6v101shdwsawc95mnkm00ldxsnggwial5j7h461hf9fk4308ck";doc="037g5492b8zid3fwdbpn515c1jzl1xlzl6ygwx1r93ascrwhxgam";};
+covington-69091={run="0imdahq466zkhjnxgnygyq8s3g2k8qanm8v9k2z2fcp0hjwz2rkx";doc="1qlxm07hw1fbch6acl9rslqsl1vh1h5sf41qpmnfkwy654h3iqv4";};
 cprotect-21209={run="016z5zz8njkk2cra768jlh2s9l3r4wmn50nk3psmk3v0i0cy0197";doc="1wjyrb0z85yighkw9a1pxxwilp31c5fjra7y07y0v1z20q6g3rlm";source="0lrf75hvlp6jpwfppkj0dwv7a9q51n897bwrf3gzwswb7icvqnf2";};
 cprotectinside-63833={run="021581zdl2c4j6crp9cnrnvxpwdx0jhhx5ab2ax7016hzsxff8la";doc="0m7hhy2wlagymkq0ckr6yhiav02y7b623gd47wkk75f48rm0lbdc";};
 cqubeamer-54512={run="1r63ahd6m6ll0phqaxc02hnbrf3f6xjdghrhn7wdqxnf8n9k34ff";doc="0rgfjw69is9i06blv1dr2ki6d8lgfwg3w57r3620r7yffj7z9hpy";};
 cquthesis-55643={run="143w42d3xw31dy8wdpqx01r8q9vs2an1ixnyil8n0q0af29j49bs";doc="1b7k2s3ils5s5yb3fdd6h0is494pss7s76awfn3dj6yxiaps5zvn";source="05gypg8zsdpfhp11rk7nii2vdw4rand5lw6ijkm23lbq2b5nwvwj";};
 crbox-29803={run="0ni16ldwni2gyzlivd5ii2fdq15h6np4mv73raa5g76i5rw42sbb";doc="1yk96bajna3ihvyhx482jrwiccbmqdr9852w11x00xkcvvc6azfp";};
-create-theorem-64104={run="0jrrf47vp7r5alw9lq1b0hi0zpdkx1hlws8lva2jkhzavyapcmmq";doc="1j4m710kzvawd4zvppq4cr0y3bzmprb7ps0rz37g8spcf78c9x1m";};
-crefthe-64498={run="08x2xqdw5zf7kbsrhjhg42m4dgins138r3fdx9jjm55smlz7c68d";doc="1iax200inrsiq5xpxh3mq6za6gqgz75zbnbqy8iirp568ylb1nxj";};
+create-theorem-67712={run="05daimn1g2v9i0qxp46nq23m7a9hsrpsqfgx6f3z4c6jbcwnmqj7";doc="0bsff7sa7d12a7lbv3aqhkj6mia3gln8zvpc291d9kvb3fnnzy9p";};
+creationboites-68087={run="1mmj4xavpaqrim5w3cqs0nkrfvg23578nas2ndnfvy3zgjywwxxw";doc="0xsr0nvs95awhdjbhfd9baj7cchf3fx83f4cv5r6sb0l4lcwg14p";};
+crefthe-68813={run="044lg08mg5d91l25la181x4l449mgx8cv47k4nww9yivhzqv6nlh";doc="1i891qa4lyhzhpnsfz1hswn3fh7i1045qiysynnkcbfai45f6y1v";};
 crimson-64559={run="1k6ff9fb5isv2mfm7zvnqziw1rlbs8qmqrlbixq33nrab24kb1zi";doc="1fmfghyxbihw6ggf4x2scx2g7464bwqy0yql38m4r0vmmjmzi34s";};
 crimsonpro-64565={run="16jz8i749gk7s87h2b78nz6cclmgvfn35kh3869rsf299y4dbkx2";doc="1y8qngb1v6paqr643kh8sdipnp57lkbqwbk62r8nrxps2cvw06g0";};
 crop-55424={run="1hnf65q6mg5fq75l4g81zvp4qqdb092zb41m6nl3zw2cvp8gal23";doc="1w6ql3bnghj633ar1zwbv580py4f1fmdm4vk7pa3q7vpnrwrgh5n";source="15fxivp8d1xww6j5nbfkmsb0b2c2ldmkdy3ikw3m6jjk269nwy4h";};
-crossrefenum-66032={run="04zx8gwgzc76fsq6kmqy08gak2fqjl5h7d0d80lr5yvmq6aj5a4f";doc="1lsymlry86jnzjifjsnwz0swmksbv9hfdvjhy2i476i2ayvpdv7k";};
+crossrefenum-66014={run="04zx8gwgzc76fsq6kmqy08gak2fqjl5h7d0d80lr5yvmq6aj5a4f";doc="1lsymlry86jnzjifjsnwz0swmksbv9hfdvjhy2i476i2ayvpdv7k";};
 crossreference-15878={run="0xc8d3g8j86dzpfxzfcildiyk8zi2apc9af88v2zg6zjra6vra1x";doc="1iahzjwns9zapa5y7z6yy2wjdcy6qiqrqvp9q9v4ky2zgsf7n5pi";source="0yajk2dxnsfy74r6a50zs4lc064aha0lzfqp26gpgnsx2h0bvpix";};
 crossreftools-55879={run="0pdhi9yij4n6bwcwbk077sdvwi1v8ww51g2r9ssfnmvmxs4zjw27";doc="0q80k648b967q9gcy7c3lb8ywk257zbsw04kc2gazlc61scviy49";};
 crossrefware-64754={run="1zhh89bwj8cc38p08878mmp8kl0pyr4121nhqssva9jixjckbbs7";doc="146zijsczba11hbks8j0dxygv998hhjqmcchq3ckgc08zrwvd9di";};
@@ -891,42 +898,45 @@ cryst-15878={run="1jd8ny0a0mlhjdbigkkkkz1xn51s3l8w3dpcx5kwg10m29b3vwc6";doc="1rd
 cs-41553={run="0nzzcg1yvbslhqm5lsfcpqh6sbzkmnmmgyakg9l8855qpa8g9bf3";};
 csassignments-63992={run="1mwaaf1ap05mp0lalyk89lyhqs26x4w1sx91vfsjxf697lndadda";doc="1w2mhq1yg24xz9a5ar92sky0b9j51nbb8k2k2ql114wafrkzzrnh";source="1k1iynw5nnnffx26ba5ydaay2qcz492yppcl8ws98xwhrqpjhx66";};
 csbulletin-65250={run="1fw2v0z3a9lskwgbh1kcwv9jnmaz6pf3w2hg2b93zd8mz7wifvab";doc="13zdp3fqbmqil5scgdcy0ngd6gxvdxs3k8ngm6xq1bnq7wy1284k";};
-cslatex-62387={run="1qdcnf755fak3kppl02yi2q9ghb17kxr2cyxc2y80idaafqgr9sf";doc="1vk6azykvi14g3d1c6bb0859j7sj9gy59k49wjmgxid15by6mk1a";source="0ig4a8nksmsm7pb1hxfy6gksfv27bgayqx60ygiaphcz0ir73546";};
-csplain-62771={run="14z479gkiwgw17pdghrxh5q0rlxnij7ccj49kgf3macwgmh5lm0r";};
+cslatex-67494={run="1qdcnf755fak3kppl02yi2q9ghb17kxr2cyxc2y80idaafqgr9sf";source="0ig4a8nksmsm7pb1hxfy6gksfv27bgayqx60ygiaphcz0ir73546";};
+csplain-67934={run="14z479gkiwgw17pdghrxh5q0rlxnij7ccj49kgf3macwgmh5lm0r";};
 csquotes-64389={run="1zsh8z36capzkg695h2h7h8359fiyyafqa6p5m916pmz3vv7sfaw";doc="02f0l0w8k33sgqi6ml47vpqxlpssi9md0z2dm25y0q1ghhyyl86p";};
 csquotes-de-23371={doc="087c08c44811vd8p00l1xrkg5w6fsl8as64jq83m6gf1hfan9w4c";};
 css-colors-54512={run="1q3vmcppk86v2y72g47ifp129fj4rgdq3rvzgkzdzwhs1q06ipfr";doc="0rjqim8zdmgrz5dff8bjkz9kk456l699k5nplhc8bxa6dn7yrfdx";};
 cstex-64149={doc="1vsbq9a31ymvrj0bx48n93chyqmma3q7b49k7dmhb0hkic6h73aj";};
 cstypo-41986={run="0lfg2c985h1xlnx1fa3kx1jjrhw7kmgwvalqh5127w20r0lrh8c5";doc="18yx6l49qk1ayaz13qqw72r8l8z348d20yqdm305nalhqyksv1bb";};
 csvmerge-51857={run="0fyrqx85mklws5zny7gmmyscnsivjfvwmgwi52k3jk2c97nvsy8z";doc="18pmc5h44jmlh583cg0hjr24k2pj369l6ya4hqm9kwka0bhg29nm";source="0mggp5xankhif93firc5g01c6b160bkwqwbhc04wcm4ndlamvip1";};
-csvsimple-64450={run="1ki611iasrrrlq4lc6ra2rms0jn1dxsa648i46f0ymqahcq47cca";doc="1hhp89y27yvv6fkzxdxvrf30iayygxicqxj5qm4c07c915cab0ln";};
+csvsimple-68566={run="0sq37wdvwd9m3c53wqai4vx80r6r3qn31s5r51gv1k8d3q67z49h";doc="100lbrliv5jg52xkgn18l53yxv2rcfsjj16qaj1hlc6paxwq5xcr";};
 ctable-38672={run="1xqhq2ww64h8vpqqzg3zbhh0z7xpjbcqcvxxm4a6kyasyhc9iyr2";doc="1nfdrjjb3j1n8w3x4v92v9l1k0smnygwj47ry717qgf2sq7f2b8n";source="0smcvvlq8n9ahx0z1kmf37p8zi5bjsh5q4x5mk7npay96s87z9s8";};
 ctablestack-38514={run="0b739h1ndkisr49d8y4q0vnbl9j3diqwl9r1ah8wk2za1ww2mi54";doc="0qmshnvbyfjhi8bb989hbffwn3447r91jp46z1yhhmcbjpr7clk9";source="0133xxb7470lyfssi1kp81yr1zsz4d8ai3qjy72wki0p7ijkypw9";};
 ctan-o-mat-51578={run="1iya9r04n18i8jdzqkn2i1rxfxxmpzcpga03rp0i6ykjj65v4q4r";doc="1j053gvvcznrk0fhg21ddyx1b1m1xj743b3w8z01lpjihihzq0l8";};
 ctan_chk-36304={doc="09ngqgs08q8bld334jrzhnd558lv7fajfppmfrkp4kv9hc5iyz9a";};
-ctanbib-66069={run="1av72hhh7l1ih82kwp184221asiy2iljzm303h7cjmqqsr6jd2fn";doc="1wsx170vm97d3xwa8ji7ipann59bi22vbdk404mid4637svdm1zx";};
+ctanbib-68650={run="02iany03amlszi53svfv1mj6iwjv5lak7drgxcccai2bdvc8lazg";doc="0p9w2w064i5ykydkayv5wbdxziws998y8algms6gyz38rbmphv2c";};
 ctanify-44129={run="159jchim2b5idpzj5fxxc9hvrbddm6n00rpqsqffzdiijvp9jbif";doc="0wnyp4rl4cg2wgaq83xwm0vzm1b5xlgbrjchg4s3glh2zzl4mpg5";};
 ctanupload-26313={run="1dvqr96ir3gakxrf4fk0dka80inl6aj3kydcf0128vlq168zgvsg";doc="1gzfib72lfbgzcp5r8130k1n2d00v2kds0x8zdkqnikn22fq4jxm";};
-ctex-66119={run="0mk0iix0wygznqhzqd1wzi7hiabr751i0q5xrr3k1nmns68y98vd";doc="19z979xk8mylch56d2gxvln0w7vrwfizcf4apy4kpbm1nhb90gaq";source="09y03idznj0qw2ik0hq3xy1v87sl3xzgqfln1cnvk3c6mmfz9j7v";};
+ctex-66115={run="0mk0iix0wygznqhzqd1wzi7hiabr751i0q5xrr3k1nmns68y98vd";doc="19z979xk8mylch56d2gxvln0w7vrwfizcf4apy4kpbm1nhb90gaq";source="09y03idznj0qw2ik0hq3xy1v87sl3xzgqfln1cnvk3c6mmfz9j7v";};
 ctex-faq-15878={doc="15c0g0x8w7vm3hyn6lk60jf66akyfcq6x8jc2lnbjx8ydwgb26br";};
 ctib-15878={run="0vm3aw2havsabkrr8sx4m6px9hi189vgsmqy0s922dlm479d8bcy";doc="0q7jss1ai1jjr66yk5927psyvvmp1dwbr54llvwyc4z131g7qrnb";source="1im0zhrw1lvzp9j26d9nh4m1mjhs5by6nai0dh2mrmdjw1i2222k";};
-ctie-62387={doc="1wwi8zgb7m8c0wz4k63xm9v20m3rkvhhfv1v3l3f4l94qvw3k08c";};
+ctie-66186={doc="1avhvyv70jds5xzwp7p1km6d8yha84ckqdw1r1vkgfb959wd3yi1";};
 cuisine-34453={run="16kvfkx5sj6xp5dz0gqlbp5079vh6snkpixmphvz2gzyaqnmafi0";doc="1mbsgn7mvy39pwq5gn7l3h6l3lc53vjyqyvc50xj8h9gs1gpdrb3";source="1r14f44bjdry108f6iy7byzms4dybc0wi936dwkg5ahwyq07pmck";};
+culmus-68495={run="0pj51p0pf4lr9997ilrb8hkz4ncdpml0k7zg9lmw4phdy2bh86ns";doc="18a8h3lgdldazj4mslszmqzpglf0vqpa617pfqa1ga1yf7qnh1fh";source="1mzijc30dcymm2lnzzfci1f99rsxwb8a50p6fd2qnynm3ixrvw6s";};
 cuprum-49909={run="0gqrwdh2gpxgc74zq97zm728ykadkrl066v77hjllmw7x6cjxrng";doc="1126yz6ks0rk92jcsbg2m3ibvv64xznrii9kxf6ss36hm1qwkgbi";};
 currency-48990={run="0673ji0kw0j0a764kjvla157mf5lcxa02wd0ypj82gfz617sn0r9";doc="0v8sfvj7g65r7iyjijimbg855rbbg5d1zdkp7vc58q14y8f34a8c";source="00p52nbdv0x1v71fb0ln63wb9mxdhy7zgagbpmcn2ca3xb83m16k";};
 currfile-64673={run="1mh6dcnzhfsd12ail2wjd5gm79rzz8kcr26x8wya4lvjmdzbw2sa";doc="17bfg4h6pvwhr589pq7j21yawxv7c04q06gw1yf1xsi94gg1mwv0";source="14sk7mh2p25zjl6sxinly5zhj882y035h662vf3qxs7garijqsfk";};
+curriculum-vitae-68211={run="0khwnk2mddfrvmn41y2d7p8704iidyaqzk7zri9gxkrhhhpqb4fk";doc="1zdlq51qv0vds2l9011bmwyvcb1a2lxjffai3vsjhrqvxj6aljj8";};
 currvita-15878={run="0xrcc3pash4g8mkmnzqi0llhix63hqk12vlwn98ipww68qnhfbky";doc="16v8r2vhvb9ssmnyj4zzgv2b2m10d3zg7wm2v6cn0p65hn5i76f1";source="0xrsqmaan5h60970d12bwm7k9nlf7h0flzmqhl0j3kbnclm0x8w0";};
 cursolatex-24139={doc="048s5fg8c19s3zbl2dkmh8ffkicb8fd9n46m0iqrc39i0wrh7p12";};
 curve-20745={run="1h1mfx67i3d2jr6l8qlfys9m6bqzn4x1wb74cjbrkdclyqn3lmd7";doc="1jv8f3izp9pvzh5qs3sh33c95v0z3wn88f278qxi0f1bc1k8990m";source="0l9cq8aji7z8qh0p45af8rnz0iw9m1hgc118482x699iqrvg96y2";};
-curve2e-65469={run="1yyvpl3kdrr7xxvv5bn5x46s0qpicnw071nqn9sgfpjgq8i7gsvp";doc="1vgk30xd7lvdflwsrp48zpkqqifg62pymc5bhnxpbq3l6r49zvg8";source="07b9qrs3r3s1x78jpgixibxbhmakzr8kci0rqfk7qgcq26ys42bh";};
+curve2e-67599={run="0cd0w4gkcaqswhwz8w011pn2g0yl96h8wm5m92jp646xsbq4a1r8";doc="18gcvpdckrsx42286xcdjlpmlq9s0541xkc8gx9f7s2gvjia8lr0";source="0wdqd75fsrihrdyg0h8hl99xlxgphwn723zx1rm73vzh4c5mhrqc";};
 curves-45255={run="150iv654y4x5lb3njd7dfjf8i0axlpf7zz6gx4wqgq06kddjr7w7";doc="1ddgy7gzw2871qsh99m0k90lgh8kf5883skcqxww0bl7b335qc8y";source="1r9c0rpi7q6ishzaaw7qnil0lzqgdvc0ybmr3j083af17snkq0v6";};
 custom-bib-24729={run="1m25bdq11g8jin9qfib12h77sg8lb87p5680d5dkqzsf5y3iq7vl";doc="1ydbi1r0jvl936ziypnjqw4fsr7gvc1gksaqr05wj1bchh28cyaj";source="0sjpwz9zhr0kd4qn454nm1s4rw4a6n4qnackkrq4qkriwzv9asha";};
 customdice-64089={run="11c6gzpmwh7q8dy334i2mz4g42ly0iqz6vh3zal4hi005js8n0i8";doc="1pq06p85kcki6rb5pvijly7h135mh0kwaxq8zz23l9c3lssjpj45";source="1ah7iacvkvf9hmkdysyfm83fzypi4j6myg2a215hajda1fxir3np";};
+customenvs-68637={run="0z3rgjsw4qdpr028yv4y0yscci9611c32rl3y7y6v0n0jvv43lvg";doc="1cg551725icls2x4in84g1zr8ydbyz2g5al4w17dk225k2f8vgfc";};
 cutwin-60901={run="0camjay52m2fbg4df7rrswfn30an4s40bvyvssdcmhmqlbvsh46f";doc="16wmnp2p3hnl8aanm29sxflqcz03qc5vlk9ziq38qxsksisxkl5d";source="0lqjiqlfndqmjmhj5p4flhly69cyg175s8wg2gah1fcfv0dayrn9";};
 cv-15878={run="1w9gx9mhg9wp47rhb6kf1w03mypydp01rxmypv6yvcrk551b5jm0";doc="1b16zaypfphbn9x2fwh2v0i212jx3pn84vj513lkxzzfh0if78iz";};
 cv4tw-34577={run="0nli9s73cns9x44vr2npb7zgfinnywgwajlr1k2hf9jldzm09dm0";doc="1b9zd0ky6h8mlcigfwj49c4chsznvbycsphs9lkpdhxv8mx9wgyq";};
 cvss-65169={run="1ja7j01vbzm16ms6hj0013q9f4wymzmn5fwdmly2mipgnfir79dg";doc="0a664wp1c11sdyhjgz5l561ngsnws5bgr78smswf2akj89637lnw";source="0ig8igf03vsi6mqb9a6cikqqipm7ja3ipm30c1gfinqvkmdsz0jh";};
-cweb-65081={run="0wcis76f7md7hv1p2aw15xz02q4kwn81vpv99apqpc3jqy41ciff";doc="0vng59ckdjk907vrbiyvxgi74a150xyy7rf33590by1mlv1g9r3n";};
+cweb-68702={run="14gn6rm4a01y6zl8qq23q46xaj50jj2ybpff14xg8pvir89b7g9r";doc="1bqzd57l1kw91dwl2l85760578jqpynicx2qly92a8xp92w5y9vm";};
 cweb-latex-28878={run="0cd2rgn25s02p2ga3509pnbc70iad936qznr2yl5q6wnlvd78lbr";doc="0vc5f0h9mq7p9040ksql4clcb9y1dxq7s1a4gzgpsjyla05ps3qd";};
 cweb-old-49271={run="0vx235zpflqpnrfa9kqq7wmc1rylg5bw1r26knfzvh3w1swbp4ai";};
 cyber-46776={run="0vlx0r57ay6jpybs6wlc1w1qpbd62cjq3snaqplaj6dkah98kcbq";doc="007g12qa9v04z3b11cdrd9z7pc7iba0aa2g7z460i0hi2fg4gv3l";source="1kivc83wjpm2rf2myk4079f1l8pyw1pm9a2j0iqbwshic2qfm86q";};
@@ -966,7 +976,7 @@ datetime2-estonian-47565={run="0vdnvfswgm92ncrkh11p523s6vczz1vdxyjqjl9cpm1nfj7wp
 datetime2-finnish-47047={run="01hjh5lmd2461n0g2a67z31h80wcfj14b9y9amxkx4k01b1268li";doc="1cihjhhm37f38rknm45ndli3kmgrb1waxfncl1fg9l95hn929cnh";source="0zi9ydsj0zjrg3c7618fxxabas6zhvdimbsd42n8fc5acvddhi36";};
 datetime2-french-56393={run="0iznh6qv41xcaryyh70lk26rmrk2j0j3239hib8g924zqgyi83p7";doc="0f1j72g2xqaq64wi1jkllhkpxbjm1j3d7wraq42x13giv72g95w8";source="018a641mqcpj1maqhpcrp09msf9rbr8a5nd16hk8c375sh2lqpap";};
 datetime2-galician-47631={run="1g5qmiy094yrid6jh3xvy783kq331bzk0lqzci7jsb2izymz0lqm";doc="0im51qyxg5dbc6p1w3k4vs63d7nyyipd2ad7z9czlfid0n4ywksf";source="0j4i3b3mp1bpqir7imsfw2y1098ak0j8zs7gjhm16xdrb4n1xhcl";};
-datetime2-german-53125={run="1n7s5fj27rlz61r63s1mwbkxm62ddb2izz7ip4fb165d0bbba8xr";doc="057p9xgdbxq31ff43qi7lr4wy17nk625dnpczrinfd80xn92dhsd";source="07dv92w3rfg0xi6d8n6ykp0rn4pj6k8knp9sx8an9bhzmwqw2yw1";};
+datetime2-german-67201={run="1n7s5fj27rlz61r63s1mwbkxm62ddb2izz7ip4fb165d0bbba8xr";doc="057p9xgdbxq31ff43qi7lr4wy17nk625dnpczrinfd80xn92dhsd";source="07dv92w3rfg0xi6d8n6ykp0rn4pj6k8knp9sx8an9bhzmwqw2yw1";};
 datetime2-greek-47533={run="13a1lpvg680881xpgphzni3hcdymvph56mhgy0jbsri14fw0mdyi";doc="1kkl386rd0h5psr1z4aw32r7m55in62hql8x9c8njzajm5frhf44";source="0kmwn8mawmxvrgx5d39j92p3r1nlk1z378z1h2lx129yz4qbsv56";};
 datetime2-hebrew-47534={run="1b04g9lm0g5128phix3mnx9yphg07ig7p9d149rw0b1imly7f6mv";doc="1lslls4q5j1l9a5m0gzv351jfc93ii0zzcb62p3icq2qjig3rz37";source="11q13hms2mnqyxg6hc3279a8hs88j2d7v7wl90v5avwgh8923q55";};
 datetime2-icelandic-65213={run="1ws2mn3gf57b8gc1q7fp32li36mvmcxf5i8p3ikap2swvd9y3a39";doc="1dm4vg1jvsq94sn9nxxcasxmrs5i878z9bbrcf88yzfx5bm6wbfs";source="0vss8vq4kzzj243ha6gdvd9g5r85ar09v7y2yff2vj41gwp5zmjb";};
@@ -983,7 +993,7 @@ datetime2-romanian-56394={run="04jypimj3pcvnalkgzwzxvgav8s0g6c7br1w5hk769k7aqjf7
 datetime2-russian-49345={run="0m3cmm2ikili85z44mmsnaxhv3x2s6xyk6kkfr3kaczn3w8srqim";doc="01rfdj3wf69j976mkv2yxw0ns4pzf852miykknni4zw7lbcki00g";source="1x931h6rnzm11ipfa747x306iwn3381ahcf7bfzhg75p8707glgs";};
 datetime2-samin-49346={run="0wqnsvx33d68j18lm0fmvjrdg8g5hv0xwzv6wqnb8wwz1l5zmqvj";doc="1wfij9j00pqs8bapbjpmg8xzah9509vrsb9h8sqc2abdjnqgkmdc";source="037gm3s8rxk4chj2q9yilbkvg46dxnd2jpr886ibydfp1ndnqcp1";};
 datetime2-scottish-52101={run="18c3y6968css1zm1pryn3cfbdqfn9px0n62bq6mapmgbd7fi2plh";doc="04dy9syy4qmn36mfy1agxjzd41prwqzlx5f8vpyq3148w51kpp1j";source="0nhfk8b19dqa08lb10sbfwp3c2f4rn493dgp4sm254bk00nil1gh";};
-datetime2-serbian-52893={run="1akyl3r70rwdyjjqvpsmh5m9g7xsdmdmx7l9qyh54x8c7gir7wd7";doc="1kgkpfgfqj99m0262zcc6b7fnik83vr45973720dbf9f5gvyin95";source="0hn4w3rw6mqzcj14a55m2hch3ra1ax0kb3l254pfgk4x9l3x028v";};
+datetime2-serbian-67201={run="1akyl3r70rwdyjjqvpsmh5m9g7xsdmdmx7l9qyh54x8c7gir7wd7";doc="1kgkpfgfqj99m0262zcc6b7fnik83vr45973720dbf9f5gvyin95";source="0hn4w3rw6mqzcj14a55m2hch3ra1ax0kb3l254pfgk4x9l3x028v";};
 datetime2-slovak-52281={run="004s60h3zi0a947ayc7kk2slxwl6bmpba8lxm8000f6yaf00wyk8";doc="1wblf0fd2lb6b05vvb31a33lz7dxakd5k6y5pcvs6iwjjb755n52";source="17hwr9yzpdkcvqvm1fa4qvacgica9mm29npmcl7xc3c503h4z6wi";};
 datetime2-slovene-52282={run="1lcpx7nz5lqb6pdw2j0dybkilavp535pxijs13nfl043xizh4brq";doc="0i6p83lixs6maiww4fdsm09nql3xx8xvs2qz38r5md4r5zzikyb0";source="0grv3gcm8wjdcx9smsq3dzd916pg8kcvgmh6s47xh83wz00qqi36";};
 datetime2-spanish-45785={run="0ggb24w3sljmmydnjdkbg34n9mszjwrqny8vl70fcin1dj69njcj";doc="1iglnacrcwwmc43shhsaamwajlb3mzj9dgqnd5qg3v7ynlp5zblq";source="0fjkhxqgw1yb1nzfiymwv8bsv6zlnwvdjl7crd78n3yx1fgv9wd8";};
@@ -994,16 +1004,18 @@ datetime2-usorbian-52375={run="1dynq4qqi7mpckzcmwvfc17hvnfjlv3n93dwypp2sxl1596vi
 datetime2-welsh-52553={run="01p4mxn78ynyan6pb9598qmi000alyaiw3bh83w0l5682v2fi7ip";doc="0rkibaqirq4xgy6r7a1aws6awyamllg5z5zixb3imapj3x6c8p1h";source="0d21jimjq8sipg1qh4fxwb9cmq3sga0wjlrcqapjpy559bnfgmrx";};
 dblfloatfix-28983={run="1r8s36il4bmqvvvlrsdbhdp4nanbyd1lh71dac4f774bf5pkhzi3";doc="0znp5j2v20q7bsic5j7cjqxmbi1dannffl0b14g2w0jp3p6hpfxn";};
 dbshow-61634={run="0cfp89n7r5jn6rsg8qrjmwfzi1i9qrvxh4aiz4r33sgi8qy5iljx";doc="00nksa78l2hi8dwp72wcz7b4sx1z5p88c9pyha975xr4l5lbli4q";source="0pgyjb07flhfr0dy1rqk4j237wjskxfsldrl58hzdanipqn0jyyi";};
-dccpaper-61763={run="1q0hdlkr80qsgw17d4qlsm59wl22qz1b6fmr2cawfbcwd7aj6jd2";doc="033dhadkcknyhilqkwsmw4hx5cmkl35maanjvxb5jdp8vayj0d9y";source="193bikyd65k1wd3xykq6innzzhqrgxlcz21fa49cgilwp44l08z9";};
+dccpaper-67890={run="0pihvkqcb9qpkq5c8n1n1wlfip87zql1dzxrai1dlln0rrrxhycp";doc="1762lsfk6jg13rkkiwr1y8kc6xlf5y714jjfiz74zlv9w8ixgxln";source="1pjjhcbbx609rgrbaqdp1xkn7cafwax93jpn8m7wlzy3acl31lng";};
 dcpic-30206={run="0yfjhpn8hr3yk4dyjfzbc8g7cki64039lb96naacyv8mjhqdpgyd";doc="0vxqvnkxm00k0xqpllcnq01si33wyg2mkhpb7l8jxxxizn3wf5vi";};
 ddphonism-52009={run="09s324nj6g8nlib9wilpy01prixrw1ilwlvl638hgv5rxsspza5y";doc="0iirifr55s86nm5512ii0qm8lm4zy3jbrbk333hw27y8m4v9qd4i";};
-de-macro-61719={run="1zlmrrb1x4sm0y6igxxcgh7drf7c6rqfgm8pk1a7bfv5fdmv4fln";doc="02zxl4xpbyjs5vwg5cskgfh3w2ls2bxlyn50smh0kcqas46vn9a4";};
+de-macro-66746={run="0pw8b3v4yy4frxa8q3xbljx7m1vd3952w01ra77g2x8b02msd9xl";doc="02zxl4xpbyjs5vwg5cskgfh3w2ls2bxlyn50smh0kcqas46vn9a4";};
 debate-64846={run="1v3wapccyxk2fnhm93padrmrarzdxljlqznw96h735086pgsni94";doc="1kivk2f6k1ifmh9w8qg698wvsbb21rfwwmr10bbvlsbl8xw22p7f";source="1yia0rhkwq65a9ggn6pkmr20vrvlcjkai30j1hm0jav7rdq9pqbi";};
 decimal-23374={run="00byxbhi2pqccd1vd6hsh4ri0vzvq1mwjnvqmqqlrbr3qfv05zla";doc="15v078s3d3aawihdmd0l1ndqinlsqz11xxbvbw0dyh0arw6d1rc3";source="1k88s0r82livblqfb140npf2p7lvmsqkpasbr93ihwjj9vp54xb5";};
+decimalcomma-69251={run="1gsmjqw7sws2r5vzm1vdp3mbwvxpally5vb7pn64d28bcmkvs28m";doc="197pqxv9sny07vfznzx55skwl3gj36wsqi89j24jvj7gfrm2a0kf";source="0bgiq61d31rzzkcib6z1lszydzcjwh3waxwhhfxf5mbwinlmwwga";};
 decision-table-60673={run="0v1654g69lsvcvky0yh977kz7s1b5bjihh6bfc4lqrzbpg92qijn";doc="1gpz0g8s61aryz5y8f2v35v0p8cbwpvsq1x4f45hrhd3hpk96hbj";source="1d40h7vcyaxdf8yrvbx2lns0hg3d0xy9mv9rmqpy8hkqxavzd389";};
 decorule-55230={run="0r5pxcpx29l8x1bw4hj4xp66zgkjgm0qn2ryvxy1d30dyjgp34zb";doc="0a3qvnknhcx0jx8x9gk7bh4sbnzv1mnqvdr8l03nzjcbmysvc3hy";source="1lj47s4k44pjnr0n06xdcb37625hkjclrsj4ccmkgcr61d85vkwk";};
+defoldfonts-68234={run="00h2hk4vhqn54sczns7nlgsiymccwikdpl702y9m9hvhdw2misak";doc="1xl8nw3p9jhb530m7sxkrsg3qpd497q4678al524b3gz85ps1m0w";source="0ssc58p013kjdh0p56jhw7cx734ngnkm9mvf1cslcar5pyh6s88r";};
 dehyph-48599={run="0fkqlsknrlxk8zazcqy4q3nisxr3a4x21aiwqhz8s237rdf3w39g";};
-dehyph-exptl-66401={run="1lk9jl0h46xi2bg724j8jg6i54jqdch7ncz1a3yk6xwfpjgmj9ig";doc="160z9xiqdi9x3wmmipnlarrhlj8r6885541vl23hlj61xd17y9xz";};
+dehyph-exptl-66390={run="1lk9jl0h46xi2bg724j8jg6i54jqdch7ncz1a3yk6xwfpjgmj9ig";doc="160z9xiqdi9x3wmmipnlarrhlj8r6885541vl23hlj61xd17y9xz";};
 dejavu-31771={run="1pxcrv98xgy9hkqhclyp0q5dgpgc80bvjzs378f0dqzc1037lghn";doc="1f42z94n6dpdq481n5wmsx5hx000klmbklghz77x8pc9shgvlka8";};
 dejavu-otf-45991={run="06cdqjqj0vcxrr2nlqs2qszssiibzr0pbimhvqjpqfdv2hhdxd0d";doc="0x9j42zm6dagn4wv8hz34x7cgybi6bb86whxvmmwx5slsbb6yqfy";};
 delim-23974={run="0k5h5wk4fn4qzhjcgraqjzf6ggq7rvr8d4c1j2vwxi37fa83642b";doc="167hklrsm9dh68nvl6inqck07zfg8w4gr9p5c2n8i6y6v9xlj3q5";source="1xh63b78kxngcc3qgzmcfrf4pw2saipw054pzq47vp2ajppp1sq3";};
@@ -1011,9 +1023,9 @@ delimseasy-39589={run="013r0cgz7ivrjfhmpcf5rdfl2573q35qmw0bhprnamij2jpvggzr";doc
 delimset-49544={run="126ax3z4c36z83479zk56jcvdj5r95y182rv42wkm4lm6sy8v24j";doc="1mb85h29fp7nxrkfylfg59jbvjva7lmr7vvgd8nz7k09w1gf4x0b";source="00hp5f5pfad36n4lkmra8mc2n0ynnq9ynnspqfb9378cx3m81cxq";};
 delimtxt-16549={run="0s2bbxhbfvq0jm4i90sh6krcik8yk2nl0c39lzr1nrakal0k5lkh";doc="1wswrw94n5l1azs2aczv6vf56ksbagniry4rwq9b16bmvdy7slyz";source="0sfwmd0mj359qkchqgm8zc80ayqp0p8ppdgfn3cmayhf2pml6gyj";};
 democodetools-64314={run="0ih11kxlvnskrdbvxrakbljh1n08n1mb6hbmf08475557bp0nchg";doc="0kcn368yzx0jf04srh2lzbxj9n76ph0idfjcqs2am3cjp2mjis17";};
-denisbdoc-63589={run="0sl953nrm7iy4jxadmwhq2x6hglspyzxwzi7wcaqjnb3vqgzb726";doc="0j6b33vq4q2ah1rrvmj0rch6hap1w6gr1x8ip6nxi9xhqpdg6gh3";source="0idsm5fbq3k93jphv569yw7cgpckzn1npk1wczvji0zvd937pih2";};
-derivative-63850={run="066h32py620pvwynlbw2jch67dpx4j4xjzrcs9h7ciqp31izkn4i";doc="0jhb18pd1h3cgh64f5fy0zsla80sv1hficd2ip1s4x611412pg0i";};
-detex-62387={doc="1gmn0ymr3b24va2zgp941z48y4lx32dqlsq05znjr3vj4vnp95p2";};
+denisbdoc-66137={run="0sl953nrm7iy4jxadmwhq2x6hglspyzxwzi7wcaqjnb3vqgzb726";doc="1p5b5xpiqhla4pmx0kw3xl0qwy419qscr8q3z4l1id4sqj7vy6b6";source="0idsm5fbq3k93jphv569yw7cgpckzn1npk1wczvji0zvd937pih2";};
+derivative-68787={run="0qqzrhm1x2n5xv633dmd3pw8p9i5a7fmnqp26wcwhy08dipmq441";doc="1ld2kpn6l7dy73wws4pw0a75cwjkpl402bddxghz1svxmpfnnn4x";};
+detex-66186={doc="08d017wn7a67pmp9b5yhnfg1x2q6f48qaa5ma4bplz9a782icwjy";};
 dhua-24035={run="16gq48zlsfk9llafs8379797v908khv954q8lw2dvzk0v69d0qki";doc="16l76rvba4fz3vfw8mzkmks7b7206h2dva5dgw3m0j30ds8d6vm2";source="06vws91qfar1h87d57c9f9cw04isjk0szhg2aiw7sc8ligs0v907";};
 diabetes-logbook-54810={run="0rmahxnjnjd677z42ra1mcp86na41sz9ir4chkpmaikhdvnbi4qa";doc="0qb2nyjc7fpc7yc632bblbjryxdx39xr64c4kxncdisi34am82z9";};
 diadia-37656={run="0gygfg9vs4gbp3r0h9v6dqc18np331c0hjfmc5rbh29i74jcm8jh";doc="0bm0sb3fjj73mcdmrsvan9pdla2ki7j1wwpjpc4kpfc116a9lzy2";};
@@ -1025,7 +1037,7 @@ dice-28501={run="12j86mgn8zph5w1gd1lmmz0dcka36b187vld6r2srnj9f398h7ac";doc="068p
 dichokey-17192={run="0bvv3893jxpblddqi75hppb9s0rxaiqbq70jns2x7d79afl7xkwj";doc="0m5zc521shp00wld4kyhp9xipsqfq00q1dqd3qp9ki1b2kmr5w7j";};
 dickimaw-32925={doc="1mxjqn4lblnpbmad3jk453lyx1qzcmrddis59j3jsgc5sp929w4k";};
 dictsym-20031={run="1ipmlwgma06nd1rk4y38r40y01csq1myqavmpd1f3c53k1n0v42s";doc="0rljzx70rbvlcirxr2kf0fmrks6g04zc1mz5hzfkjcn6xivpawh3";};
-diffcoeff-65676={run="1fzndpfr5f234f6zdh7m8kx5v8lzl6mmqyi2nbl8rb43x5pq94qi";doc="1fffhqqngnwmanb2lfjniramsrcp4rdninkfnphnr3c8s4q5h7sn";};
+diffcoeff-68838={run="19rrh9zzjxyd7hxfawi65y0cnr1ps5vzypk60jfki8s1bbk8l2jv";doc="1ximrhl7m5in95mxlmk7dpvja39sjvxz4awzr3vwn9w11qkhw0p9";};
 digestif-65223={run="01hym4d6vqja4hwnjyvs0zs0l2fzhdap0pir7cz7wxqnlcip6hl2";doc="0220wkv0w6zp4ggnqkcfcq388f42scywzn2ah0h9yhccgdikd52h";};
 digiconfigs-15878={run="1irv3jc87bpnc289r5zh7pgfdgk4bvfwbyv6666kyq8f8yl7m1kh";doc="0fnibq45xgwrha5vfav8lylnb6p2i0brd2k1yp8jm8id6xdsxmq8";};
 dijkstra-64580={run="134qfpb0sqyazfjyc7mid1rydyszc6gpqms787vq2fd2157zksz9";doc="0qmzrdzh0704s97wqwxj3wyg33rbbpq0mmq7hdqf8fy0vq2v8hh4";};
@@ -1046,11 +1058,11 @@ dnaseq-17194={run="0vsifiirz1mwmjnav8k6m27mm5qsn3iw01a9c056p4g4ji8w2v2y";doc="1n
 dnp-54074={run="0jlvb0nps1ij4sgbg3clgbk34p80la1fhh9zihn9fhl9nrqk637r";};
 doc-pictex-24927={doc="0fdvqhkgi5j33rx0r4fifj69f4smn5w0n99vx90a3fw15qzxsg5y";};
 docbytex-34294={run="19f8kxa8pb7ai7npxxavcw8hbsskmnchi7vynzkbd0imcjvay476";doc="0q3by29jmymrf4pirwmfqxr6bdglh936yb1phficxlpm07ibp8mz";};
-doclicense-63340={run="1lc8f3iap8sbi4scyq5wvq6pfj2bz87vy6g2p51b3jfifz36xgam";doc="1biqazhxd4p2lcgihzx8h21870a8dhc8m9dkd898b0sb0hyr5qlp";source="1gi4qvpkc0v6rf3jq912f1x36wsdhqcpas32468kwm6v99xqvnms";};
+doclicense-68441={run="1qb8r4lwjqzwv46fsqjff8l5zb1scjkq34pwnsxbymz1sl3iw1ls";doc="0isk98wcs93labxiygbf6hg2794l7m2wr8ck71jafd6by8x7l1mb";source="04sq9wrsfgg3s51k853yy7vn5yp292d2ii0ww3msrqnlpknvim7j";};
 docmfp-15878={run="13cxjhbafm0xvnng6gc9g03p4j79sia7jvygxmphgnf7wfndv4sz";doc="1j2b530wcpr8252lcpmy0c5w83kqbi9xzsrfbdngi1jmkfy4nlgv";source="1w8g6m2whza3w62ngsaslv7h2x7asijznwb9glx6g2vjv456sgf8";};
 docmute-25741={run="15ad8274dwgzk7fzs7i5g3ss02ld8in8f86339rb314zmraj5kv3";doc="1mrwispvif8nwjbq12jgzpwjn9xf7mr91pwg5bfdcnpwwy8l1bh3";source="1nfv31h23mp7alrm9saz5abakjsvs7rqva3q9zvxlczix7yn63qw";};
-docshots-65141={run="1rcv5iai99biyi4s7avqmy06kwvh8lbjws2b9dcvrpdf9hshlq4w";doc="10c5j9l364s5vl6nhyfx0gd27l0l03iiy7azl5r6wwxjiarw7iml";source="1llqavvazdjvrsl9jr2hagmivqvc2wzw644ssdcp47yhphfs1pik";};
-docsurvey-61447={doc="0f2kzmmpm7qwci04krmnz5impfwwmy2wwanmgq05878w8xbcqjj6";};
+docshots-69410={run="0c43i1x2va0a4g0a262qsk5dqig6ic4kkmgg18y7s78xi0ymj8m4";doc="0l55vpqsbwr7pln791lql2s325ljphy5gf5glwjjmf90cgx498ir";source="1hr4y4rqwbx3kbdy90myi666b2jb1iy6bw5y219xl3dyq575fj15";};
+docsurvey-69343={doc="1s14cdm4174mf5x77gr0gp59hsklbq2nrh486j3x9vgc6jv00wv7";};
 doctools-34474={run="1rdwmdah8rb2yiicd9mbqz0mmf56rpgnp5vwyjhax7m0zqjgqkgm";doc="02jrr4wbkdx8r44dpfn4g83j03n6yrska79ljnwigs77p5jqlyl8";source="03y13bijva11hqil84l2p4cap7fcm8wk6ds53nx1qizh66h8g9vr";};
 documentation-34521={run="088imchmqchi1ilwfzlhk8d4am2xjjgacnyw5w4mb6sirbckhi3d";doc="103rpywyl1h30c7jamp3cfi1rg89y48krdjbxc0calz8iq5n0460";source="1fzk62clv9ij07cfjcrwn94cqvz2piysij09y2wlkcs06lgk2m69";};
 docutils-56594={run="1pxswkjs901clnd8l3n13ghqypv6l8gxr3pnwn9i0zakvxz6gdh3";doc="11fzx9kyxgxr20hnyqy9nvl5rczdfyb43j1bjwxnim68kmy5bjyz";};
@@ -1078,6 +1090,7 @@ draftfigure-44854={run="0dhjlykc6p6jm6p0s0h0d74097ny29w84ns1pxbb7f8iwr8hhkvf";do
 draftwatermark-57099={run="1xrsh755whbaxizzljcpk5an5k9s09f6hcndp1lhw2z9mfnl2na7";doc="0cnzbj2wg5kifqg08i081d0043462vswbxr68spnnxp2y3b5ysdj";source="1k66347n1cf3ap8406dw2qa21k6mazwhv6brr569i0khsxypfw0a";};
 dramatist-35866={run="0zrkdhvx7f1261r5b2d08bd6a3pzldvpi69iym5k6f79ziz0602q";doc="0vwk6zfvf89773bwcxnpsd8crbkmq4lr6hksp4dn0hn6rf4smyyf";source="1xy8fm9h9qgjna6z5gz28rj0cq65wpxpxcs4vsfr4vr1p3vmig05";};
 dratex-15878={run="02nyg30awmpp2yi4m6r9gbgz04irjzpbjhpp72j0qxzly8c8frqn";doc="1a5knp5hylpb1i7hkd9160bah7pps9b0hm00zgn9fk33g5xrvhbz";};
+drawing-with-metapost-66846={doc="0r1fqikx9iix0xm2w78s80knfwc7w0kf2k7fb3k25l1cj3ym14mq";};
 drawmatrix-44471={run="1806y5cdgnj61fy0lilm424x936dz2q5f2j2s3w71kzl5ivyf569";doc="16pql717cz27sic494xvmsw2mw9jxn71xka0k8fjys8j52pklqnk";source="1x8lc07xccf73vcvywmrqk8ivg5xb1g75gqhff12zgrp2vqzh6g7";};
 drawstack-28582={run="1lirkdnsp35l4dwsir1xyf4a2s608ymfc3r0hmgg9phiy9i1664z";doc="127c98z547disxksvhabrpnddrp5ax5dwbgy7nmyja2dg65yax9i";};
 drm-38157={run="0j0r5b2b6js88gy04d12w8wp14g7z9xcgc43y0ysn2xglcsja3fj";doc="04i8mw2lsirvzf3n8xgddd2jr2s45fbg6m6wiwjdz4d2i1pi98cs";source="0l3j52ypvsc8ma06a2z2dkqsa3vd7afqkmyrd6b3z6w3dgjlnz3v";};
@@ -1085,12 +1098,12 @@ droid-54512={run="1fmm1k3sxdn2h6v56hqdn0l84rz1cgxmj586wd4ff41vfzbdnn5z";doc="14i
 droit-fr-39802={run="1wz883z4a7g4na18z50vd0156gj6zpkkl49h4k0dhxwgqibh13mk";doc="1ss2j5jsr4h96rqcqmm89mprnr6w98zbsxy87jlmqavjjc8k8jq8";};
 drs-19232={run="17jp9fvj86sp4ywgc6j1dp3pnvgllilbq75298qamnnj3f403vlr";doc="158wkgnrgwfg2ikbj98hmcaaymrwpmnmaxillksv1b7gxmdrphk5";};
 drv-29349={run="10dqig3wmp340m9h3n4yl6scg1p2a7ccazsqp7p8a4fkfw0cziiz";doc="04kgfqhilxpcc0h6rhpw55s1j14wsb5v8b6ykq7ajmacrpmyi50h";};
-dsptricks-34724={run="074z88g37hq9xjlvbncmiccq5klr3x8ffprps8xnzvhk7cdwld2f";doc="0jj47j46l587hr11n764wl167rkp7w8q9z16zwnnb63dp0gi18s2";};
+dsptricks-68753={run="13hvyb7qapfby45z2cikqwaj4bcf6lvhaf3b6gq7d9831gxfwjhk";doc="0jjwa6rh39qp2659ijb3fg3cqz0lbpjpwmvj6zpxv0xhnjzrnidm";};
 dsserif-60898={run="0w1kihzrmk48hpl36a20fkz4nwp9z27in9xsi0fc3d6mhgdx35db";doc="0bwnnxypyc97jfcam0vdvpyxphd1zn31mc6lvl661jy10cpqf6b4";source="00hf5icf1n0rwxr2ms34z7r62g98dqkx5v26m3k7w1wd1jfnjzi6";};
-dtk-65315={run="1nwvdw7id285w8anscp7i8ksab3b72gldi4minhbd1k4pvdb4783";doc="10ymqh434a8bjfyi5rj3fj8b62lj79qcyl96ir6visdm6v8fzrmd";};
-dtk-bibliography-65444={run="01a3r2sq5sa01s09kdq35qnhqrmnb2chic0nr632cz72cr9snm8g";doc="1jgrdv91cibm7plk3116xhgqqa2yp3fbqyrsj2r4bvri81bgrig4";};
+dtk-68849={run="1j92bv10qjb1p9ryqg6yc55l4cj52q25133mq021jq3b148j5v70";doc="133y8gcdk0mgp6nrwg2pfslxjm1jl94d8frfyxm7ml0dy18g4adw";};
+dtk-bibliography-69155={run="18i5n2jiy5znaf80rxrr9f376j9f52gr3557g8idkc2g97vxpx8i";doc="152r014y7y20h19hr44c0vifwpc2s1rafilnxknhx01zz7ln2hq0";};
 dtl-62387={doc="0kvnsr8nxrys99rp74wlxnisfripx6jpjjkqy38d3d4gw13cvb5g";};
-dtxdescribe-65445={run="1q8ycxs1dxq4d1j76n3p16z812pm5fs3zw9z2vb2l6s92piaf1ag";doc="074wq1f7cq9lnmpbssyyj02da2wwrnjdci8r591f2fp9cq9lgwms";source="1wx009hi6sicz0xvb6r6jr8rzwbx94p1w7rkgq4zjj25k3a7s717";};
+dtxdescribe-69348={run="0m959fczn0gyc9p96932l1jzfyyf426sva72fjhy23yjgcv333w2";doc="05sa7capgs7lpqw1qdcr28k9f3cdkyps8ia8vz74jm8nm2gigirb";source="0bm90l8zb6vkk05vrvpjm13xpfaymw4g6ycbc57984djpkmk22bv";};
 dtxgallery-49504={doc="07c403zbx7sxkhhrwrfw3np20xlqhdk893b4bd6r8lqb0zipp5b5";};
 dtxgen-51663={run="19c9w97wjyrq6g1j8n8qgaclx141lv2j6z6l5h13gmkmyw08vwhh";doc="04z9dy0aada8zsp8ckz3agqcsm29dnlx770xyl51rsvk2qwsxgka";};
 dtxtut-38375={doc="1szg0xvwm0jbzs8waillijzrff4kv04a73gsqh9c12ap427xfryr";};
@@ -1102,40 +1115,41 @@ duotenzor-18728={run="0p9gq8i6xcfg4pxdnqfswjcnc17x7pzsp4iya9b3fjq4kplqv28s";doc=
 dutchcal-54080={run="0j49mha6lif07hnfn2wdfl949kfal4hbmzg6zal4w5rgw366szrm";doc="110rbvidl53naa31ndgh6nx19i3rkawbipz9rpxyasqk61kvv6mi";};
 dvdcoll-15878={run="1b07xplza4b3ngh50czq8vwmhpr2qvkl5xbgd93a9acvsf5pyg6b";doc="0fhkdwyvlizlb66bd24pfncbg58a31ygnfg0f9dw5z9ccfrf50hd";};
 dvgloss-29103={run="0fgc0i7cn0kd4f682xny0968l220ypam3z33mwac6ifqaaqbiy9d";doc="0l467jcanablvj95l0sbdib6dblc6ns2jcbg41kv0nxpah2i5ms8";source="0b106p2a8xr3c0vxwx3j0qmxh2z842h5x1z22509jabry3sf1y98";};
-dvi2tty-62387={doc="0x1lal1znfb2rfxbpmbzg79yjgv1l7hf0z5dij0yzr9x6xyv0zyc";};
-dviasm-64430={run="0mv27vpq48gd4if9rcigp6hxhv4a1i2dda3rcq8jwssxp383kn8y";doc="0xjna39bqxikrxakprbqjb6rgkhlxl32gz944xw1q11zpz8kicwq";};
-dvicopy-62387={doc="01djjcj354d1pgpmlxv2k9ad4x871h8k8qqblz2shzfqpmizbqvx";};
-dvidvi-52851={doc="1w153rqm7nlmcf6162glxz282nbb6b6hjf5h0p7mbzr0j1357sxj";};
+dvi2tty-66186={doc="108y0qxh13x0iivgsvkk4370f471p03nyl4x9nn7lng1wrsafp6h";};
+dviasm-68043={run="02dxk56b63kqiin2ad80hh4xrvbhbkidyi0pxi8c2n5zqdiq81sd";doc="1hp4vrd6aj2qy9mzb9cr8l641cvxx4aw1ra0v6yr16lkzcls7s4a";};
+dvicopy-66186={doc="010bs4iyaja7mq5wy9mz6fzxlxf9472c2zdm93x9i474dzgnh2vl";};
+dvidvi-65952={doc="1w153rqm7nlmcf6162glxz282nbb6b6hjf5h0p7mbzr0j1357sxj";};
 dviincl-29349={run="1qb2cl5jbgzjfgwqnvnfbbrbzxi4m64lajvz6pyybnrwv4bax0km";doc="046c2cl9azgfg7y2022lj8x7yw8kg2pgjdixxk5989ai850k2j9n";};
 dviinfox-59216={run="0bcq55p894m5hw3zdjz7q7ns21vpzjyihg5x19lkn9k05nxrs2d8";doc="0v2sy294w0m3kniwky24lpi4ic5d8qrm5722gd7vw6ddwkwc1x61";};
-dviljk-52851={doc="15l05cggcnawyqg38a1hpyng88qh9gck4jvl78n1rdk4qdcgp891";};
-dviout-util-52851={doc="0niv5zy6vksm2qqqz3bjd417ylq46bxz6sra3abp9k4c2bpr0pz9";};
-dvipdfmx-61101={run="0i83g2476bp3zfgdvg11kmls969ip36z1d4w592946547ar2akmv";doc="04zmlbpiclcd6bsxzq2xcssrbnla9wxvw4fx4p52lkija91qv848";tlpkg="1b9wcx70n7dip0yhp7sh3j4g0rkwg03w6hr2mav07219kp0bw75k";};
-dvipng-62517={doc="0xqdvciakvfp06rnsd7grnvfwjcal0ahyj90gyp2kc4r3v3lk6pr";};
-dvipos-52851={doc="0izv95mvzky166xpalw897z3lgl3424ixbabz5pikrhn6i2q6zmf";};
-dvips-62387={run="0k89qqz9zx5zh13azpjndfzszgl85hq4513kaayf4k3spy9fn5yw";doc="0cf5rdlg25lvyk7vzhyxnwfbgb5ngm8z4kzvj2y0hhq9jz9szpyj";};
+dviljk-66186={doc="03pi78c8ghy2gghzk1ffrvf5x7h8c1r0pv5pcspwxz365x2rsbjw";};
+dviout-util-66186={doc="098pksgf2iamq96rmzg5fw7i9dlpvdksficsz1bf8k8z4djnbk8n";};
+dvipdfmx-69127={run="0i83g2476bp3zfgdvg11kmls969ip36z1d4w592946547ar2akmv";doc="0wid2ydcjf5jq34k8hsg62ndgishbg6f14p728dnyrbh6k4iqvwv";tlpkg="0mlhxv77q5nanqg2dcbd51wpbcrys9xhr22bvx3hpfzwykb5lh69";};
+dvipng-66203={doc="0r001q4p5569dagayds1c56y10ls6f6v7mmywiw81l995q16apxi";};
+dvipos-66186={doc="0dmaas4m9y4px53vlg0jr73xviki338fm2n176l8ldwqj0vvq1b8";};
+dvips-66203={run="0k89qqz9zx5zh13azpjndfzszgl85hq4513kaayf4k3spy9fn5yw";doc="0acfsqbpnws8m5y66fkgcgxf4sdr9sjha067735scn75wmwi9y01";};
 dvipsconfig-13293={run="02vgk91y80ch4pkj83vbiz1b2ccigf152hm83p607y4n4qn2xzsf";};
-dvisvgm-66534={doc="074z2ik1rvwy4iiks3d4vhz6i5ykkndfsbmvkxfd92pqfgrjj5ga";};
+dvisvgm-68950={doc="1fz3sa7p9wk2g1v0bpy87vz7nxwrh5bsfl4m734n6lhsh1bkj6fb";};
 dynamicnumber-38726={run="0y779azvla68n692x0gybg74cp3dk32219v67qfamfzz389nbs7s";doc="1appm3ddbv9ll0mbnid4xa459w9q89swmdlvdzy1fxdps4y0vpz9";source="0ydmlz697c46fx0xpnvcdcfm9sm0j3jmk47xz8znd2ghzg395fgk";};
 dynblocks-35193={run="1zb7vk34k3z0cvw6kz74s7831fz17mg3j9hw60diabc0q47pwyr0";doc="1m69hys2b7fvwn9h6q3whkpcnvi04hnhx7811s5fqhdfi76v4zk4";};
-dynkin-diagrams-58758={run="02s19zsjsql9qhlhf94z2smlr0j40z4rrx33iiwc54xx3j55asap";doc="1gk31brjcrw88a2fb3y7jq47g9lkpr7dq7b2rmvkbwxd0yyf789i";};
-dyntree-15878={run="13imdfv22qsy9jq5vksi9qsx8spcc6h2v9qlc6an9p93cq84fwka";doc="13wn9lyjqds36ff8lyv125i0qqqqg0az71h7g871zylppfy7iqyc";source="1r7g555bhgkx29hgp78v31nljg9yaz3fjjy9qbk9kvz6wcphim6l";};
+dynkin-diagrams-67267={run="0iprylvg36fs9rk44a4yj6xn2q5vy6jy2104m3j9jkyfafy2qsy4";doc="1f54q909b3qgbgqgbxpi4xr4f06dkq7z0wh49q29b1gh2zvvdxms";};
+dyntree-67016={run="19kzb4j7q7dz993znni7pixv2qljzydag3jywcsgdpqvlnk1aq0y";doc="0fa2imzfskl72fvdm1pbhsr33qpwm41dzsfdipdlgww6116rlwjc";source="0hlx970ym3zxln15pm4c2qxliaj4yhv7cnak03hhbb0dx916k3mw";};
 e-french-52027={run="1pm1k7qb1a3h2b8kay9jwby382jxp3866b9m890rj9gfqdmwbfd2";doc="14719qp1qjcx4wjwcarirj7iz6qmjgwb95b308zqdr197y1cvymc";};
 ean-20851={run="19w54ch23s75mhn94hxf4nphl5dcz2w1jx138kr0phfzpc6fri36";doc="1rylr9m7jrv0qq6pzigpm73z34p9n80fg5rf7andmvv0fcpmggk7";};
 ean13isbn-57514={run="0bzvkzpi10d9sjlsc4df5v3y7qycbz1qkn7ngy97prq58wg047gc";doc="1gf076ybmni0wzhh0fsf5w4sj4pv3c3w7g7m09k9607y4havv20a";};
 easing-59975={run="0zdyvkqydl713p61izpcp2yz6n2rfsf853pblh6xgsjj1vlhrr0b";doc="1f8151jb5nzd8hj3sii4ca274iaxscv5w8fxp758ncshr3bv0avy";source="1hha1qs4wy6s2162w61gpik2hrx73r83gja1llbq80gyvyfgdssj";};
 easy-19440={run="0jrza9lf3yf4d1wm6nzwv5iyfia6625fjvflfmxsscbmwqickjhx";doc="0f72bawmxrxqk60xb61y079bqpxj8kmvn167plbq5whq5b1fsxfl";};
 easy-todo-32677={run="0fkwlzgx20lj44cvwv8hqv79v528k1gghx30lvqhg44wqirkmy86";doc="1yj3c25mhkp16n49riza4qchr2pqycqmb2k80syn5w3dzrj021s2";};
-easybook-64976={run="0974gl5ygpgvlmk3qgf1nzgap52in9x66nkfz17lz3lzx1z11yh7";doc="1b7270i9a3jykw09zyfczqkfvkxh1axyz61gf1myqj4ijn3610w7";source="1hf871brkkg3vaaasia62rmg4fsdiy087d9qpy7l6ix02s3h2c0k";};
+easybook-69411={run="03sd459lv6k8v1kss8j62pq4fnd45rylxa6w229sh54xmzpfpq92";doc="1ac88h085rmcm3r25dq4abdnb46pksr3m9kx8hw62jcf3vvvdc31";source="1a3cxpm0hwcy7bf1mrsgw77rl5sgi9g6ckv6scsmlycr0bw4an98";};
+easydtx-68514={run="0pfd66n156hw6g2s2p8v35gjykacci9kpyx75zcl1sw95ry9407g";doc="01qw09bkafjmkmhg3wqqgw8javrar7zxrf9hr3c8xy14rc36qkyx";};
 easyfig-64967={run="164ncaq1l6hdrjp0zinynf825hwsky1xam2yqxphhk90438n5hzk";doc="0hc63z5456f00a2x70ckvf3r54zld4d3r63a8d4ra7502kk8s9n6";source="18f4bb9yf3f7q96w79rhx8h4svlxnv0xc6xwcawav63zsk40mk7q";};
 easyfloats-57204={run="0vbg5dz6wxzk20rn51xv7v526qg8m0ih3wikabdf1bfb4n093k2k";doc="1ncmmmf2w313cpsc9s4w0c3gzvx09r26gwlxhr9rszksvd4y7fay";source="1ih161wrkxf8sfm0zyl2m9xgmff4qs6qvsz7mzxbjl1j2zxzhhf3";};
 easyformat-44543={run="181x0sycxhwcfna2wblvijjs32zvqs6xl2am4hz8204mk321rjsb";doc="0fg7y02717rk6ikw32qxn6iw7l59h5vc22aif6hs9xjnbm3nhhfr";};
 easylist-32661={run="1ghjps30fa1jvfkxrzaxqvy5ilacdyms6dl8bf2qg6195w2sgm33";doc="13wgq2pz9jw761p2yipf23k6lrx66bp25l50446rp1xz47yk386g";};
 easyreview-38352={run="10wl0aihr4c55b08mxafr0jd1xaz640p2kj7n63w3wqxzxlpq42i";doc="0nnnr4l1b6qhp75n646pd446s7c3pc4fxsxw84gvfqgankfsx3zz";source="0p7xrqivvb685d0xcljyi4whh5vr6yahskdl63ynw836bmin1b3z";};
 ebezier-15878={run="1zmsrs7dpw5gwh6h0707gxcpsnbb8qklsqnyr0q30mziz1wqhdvb";doc="03afnc0nw7yzv03n4gq38js3y6x5v0kaxi5psmnzpf2lj0kfa7l5";source="0492q2l7yrv1h51x4swqzfp74k9kb989m0lxbgvgffh4gl7zhi5w";};
-ebgaramond-64343={run="16k55zck9hczmizx00gksdclfdhk4xgxlsq3hww2634xrky21rik";doc="13mj8wf4i4nxqbs69s9gf4xsq8s01xkw245npmlxxchi6gd1jhfj";};
+ebgaramond-66604={run="067amcvp0bifrxyxsbkwj98g1j4m4mis3dyfm5faa6k53fpwzrgg";doc="1sbi8vm5c1hlf65kh30r21vmy817y8i8i9l3h17ys7dfwi0d4f85";};
 ebgaramond-maths-52168={run="1n8xfa9qmxsrpy78h98x95wks24fck3mykq5n8x0qasi4fabclnx";doc="1x4l9mi2cc1fx3qbis2ibshh5wlfn3sypxcrbcr9cwwhpkg07sqb";};
-ebong-55475={run="1khaz8whw26znba0il6cam65q5sq9fb69clsk0s8qh26hp9xmlnw";doc="0fa0kdipnn5hgfpjh8rz3l9zz97i94v45xmsxjgjn40xqnai3v27";};
+ebong-67933={run="1skwh2sly6bckgc05b44cvl2pvn42y3970rvmnlh9xm2x5ql015g";doc="0fa0kdipnn5hgfpjh8rz3l9zz97i94v45xmsxjgjn40xqnai3v27";};
 ebook-29466={run="1jy79jrf8cd1rljg9f3g0hzkihxkpybvbgjnkzd5y6cfz7zaynp4";doc="13cj8a88qqgi6kl1d7kb0cizl4i2pjm51hqnz9q03249av3z377q";};
 ebproof-57544={run="12dqzyi84jlzm75d77crxbwv2nzyw8raypdj60bjrn6kifav7v0m";doc="1d6g3v3hskgd9wrddkhf7qxg160n6qrfgzxfswajswk0kg2w3675";source="130d3af0n0gjvnm0ad3g6pm8dy1w8zp0q7im3gv1kqbm7k5h0hny";};
 ebsthesis-15878={run="0vg8n4xrlxyjx88yzlsr82drlrigdnb870p0rxd1nv2ik2i1jzri";doc="0gqh1zxb1w050a9dqnc5vhx1jgmk9kqk9k591s05xckidhnpp2v2";source="0rg2bs23051ravdqv14k6yrrc993xpxf61zi8b94f0rjm3mg8f89";};
@@ -1146,7 +1160,7 @@ ecgdraw-41617={run="09affkfqlsrjgn546h6fkbzi4y7dy9zgf4i5a8kw6lbgl631gvid";doc="1
 ecltree-15878={run="170bf0i0g2fnmmv9qh0jrdv7xn2xd5xmsw8dpvw8rbxfmn94l52b";doc="016hlxjhfzn2pgcpxi7hw0wnfd25idp70jvig7p8614pvkv3bsby";};
 eco-29349={run="0vp39dva31kjs4ckqdy49smhicq4599mqly7y9d9xfz6gly6z9zh";doc="1wb866ilp8hmxndqys1lpw6zb3l1nyl583z06vh8nfys1hp0x0m7";source="1j3ik11vjxc1dahd0p7jdcjjqq9i89fnd9514s1lq5499h8jg159";};
 ecobiblatex-39233={run="0mrrb3bm54d6rpwg8i534wmwkh7v6qzysvd020pi5pph967lqp54";doc="0mhwspy6k7ixjjxk5frwklasm0xzwbwk2lx684ikv195nrpb6y8b";};
-econ-bst-61499={run="0wdzjilmh9k73q25wdprppnjc0xkas62g50spkdrnvr4pagvnvch";doc="0y6qp5hn658gfwavkq4s6s8xfxy6lckpfsc1zvpy7jc5vkhhpwa0";};
+econ-bst-68761={run="1jhvw59f913d35dx6zxr42bcms0i0d12kxd832km50kqi08wb50m";doc="1akyhlnd9g3rnw6kqi6cm4h0mrr1f3rbjii36z4qydl4gri4rvp0";};
 econlipsum-58390={run="0xca6dhbz49zxn58g5bc2yis2zci9v5iypfh3h53rxhlkbfbcqln";doc="1pb6z051r40wp8rv5makhaxbf23aq5j5gm6pw1khvhk806rdig4w";source="0j26l888qx5q5j39875iab4106fkn3ign9fmbcmcvf42yzx7mav9";};
 econometrics-39396={run="09zlc6943vf9r2n096x6s0xwbyl4lnpcv8a1hmn81s5czawkrqbs";doc="1bv3m38gp92cdwhvpwrhs4p34hrmr8800js6myif4r52gnd1q4mb";};
 economic-32639={run="0jyw807d23b22md2ib7xkgi2jh4mr50pczjbsylh2gdgsplxgaw9";doc="18jn833w1chbi0qamdxbrrp39945drslxd2jkzi2g8wcca7l5b71";};
@@ -1162,12 +1176,13 @@ eemeir-15878={run="0hxnd2rxrm56vblrkvg01c1pf5gccbmvd9lvrwlch89flxp3fiyd";doc="1s
 eepic-15878={run="07hg546cp5ab7x4zq25m7z184mvg7hyql7dsbwvgpq6hyz5pqzyq";doc="13v8n27iw1b7qvs3baqqyls9cp2mqbycrbax7jnr8mfvp83jmpkz";};
 efbox-33236={run="1jss3bkgyl365rkgzil7xp4pab8k00w57p60s2sh8wrdy10qjsda";doc="051s9yc05ai0yipwm5f5kdqxgiyiyzmzyxf8rbfwl9ir90k84fq8";source="0fcrnrfk6yrdhj25xmchlaimc5qqyhri287b9pwdwsxlr58wgx9c";};
 egameps-15878={run="0y6naagmi9qii1k4qcp4svczxy5vbramd9wg1ixr8xckp806kn58";doc="0i36znlwls01ch6kns5ikw90nbq68pn71gpvfizf0x9ipymqwisl";};
+egpeirce-66924={run="1ld3k182k7m17pixv2acn4dzlcrkj973y2xjbw653xhs2g3mr1va";doc="1mldpazfnldk4q0r0ddd9rdg9ar6fvabqfb3r2g5c0aff5v2p30h";};
 egplot-20617={run="06i2jh1srww8111c2axcwn2lcs7lwdgp7npn2qpi2x7g38i2kkzv";doc="1silqbylbkxfyzacmyvc3kf8g3md8931ax1s877p5x5zi0vpwbz5";source="0qsyqhmx0gcl13hlhbia9rq82kkkhc6mhmzp56g9b62qy2wl1ss8";};
 ehhline-54676={run="11db4dh948g744bynf1ydlg6jk562picrzfbh5pszxvfdag91kar";doc="18jr25hnp8hg3dbjgf16cskdhm6kx9nxliiggqixb7c1ii6mmn2v";};
 eiad-15878={run="15l4wi5hfbx8lp91jddxwg073z0r42qf93kvrqv7bwhqisk36x2g";doc="074iirkf7fzdxik5yq4jjk2p8c5k9jj8a6n178aw767j18h4n2n1";};
 eiad-ltx-15878={run="1ifiigww9nk6hw342qj1rxzl2b94f54cm4vvrpffxy9qggwkd2zx";doc="1h4cm5b0mllqflsgfcjdh97zn3nn3d9gwa55w5kyimmxgz516mng";source="1bpy6f6d81n95x81rgpz2r1vzg9gw04309shnx8a9jsx17fnm4nk";};
 eijkhout-15878={run="00y3y01jpgzww1x6zjh748hpvizlrbgrv04p8aq3cm2pzs0g17qk";};
-einfart-65475={run="0s2ywhhs0349xw120agj8sx7fy2npdh4gk8f8hrrbibn8iz0limv";doc="1b9h43r1qa6fp6qzgm84iwjbvnimyk82dz287j9vrfgyddqi0r3w";};
+einfart-68376={run="1xqwx5b9fj88p10mh8hwjqs7p2j4p62cj5c5lq23l48i53359wcd";doc="1cb85l2pvgw6qf3lln7dw6n5wlvvr4pk9l4yb6ajrdl6lyylzifc";};
 ejpecp-60950={run="111sr2lnp3b8hh0hyvdf3zv6nr3m2ghl8j2zklq0fdimm7ndmqcw";doc="14ww6ilq1l8f8i4fcafl4v0im39gajkr5189180lbrim6wk8gys9";source="14223kfrwhi1hby3lqadp70pn9ykagf1cwgqhapm5856iai4ravi";};
 ekaia-49594={run="009wk5qyv26rdi9gjbaqxcpsyzz6l5w8b0wrg9avspq81hrjkg9h";doc="1rbcnilarzap8kdsvypjwin1d13xskqq33wg6p0p02b8gaxzf3a8";source="15fl2jhhv01vl7ggwmddpldkmwdj6gj99851aczv47lj24w093bc";};
 ekdosis-61113={run="0drs97iqw8018m15hls6kg222r0jiyqg4n9ksrgrl9g2sd25h65d";doc="1x177sag8ki0pqsbvs6vjk07zf45wg8fmq9s50v8y4qc0pn5xa4v";source="1l6d4a4smjmily8mf6rlx4j5354jrpax15iggzqm1ncspygj0mfd";};
@@ -1184,7 +1199,8 @@ elocalloc-42712={run="0jj85nyrq2y7w7pm9pq8qdj3xszg5s3a1j8zx2dvsy6a1s7mzd8i";doc=
 elpres-60209={run="0k8jcp6bgzphlg6kh0krlm95d2rq9z90hscsncq1m236hrzfad3b";doc="0k6ygcd10q78h9f28y091l171bmaw7ibk9npi3kpx33vmass118a";};
 els-cas-templates-62931={run="0lk027m6s6z877lilqv8sq3s5xcmmqqhlhrh8p1kaalw01g53hy2";doc="080sa0kls4w4p8lgvahk5an8p6lmkf5kywbzj1wx4n5mqsj5mpcn";};
 elsarticle-56999={run="1jjayypcaczxw69dk3v69fj31apics2356l934kmag49rwfzxail";doc="0z7iywirs24112fmdl8fm818320s3ilqlgc7xi6nl4idjakhfmi7";source="03pw09cw4hd0ixfa88mj7bijj9r3b6a6kg53q4hzzzl97bf6v5yc";};
-elteikthesis-63186={run="18i8lb98kjgw364cihjrh6xfyc3m25k25afgbwrx2pz30vyx4lpz";doc="1dshlrf2m7rhrl15rfabpx40iwvmm0bw3qx9lw3jrxz66b6649xj";};
+elteiktdk-66821={run="010vxx6ddmbcj004a9f17wq6a9myx7hfvnmas1b6qsch6ln99wdn";doc="0d9fq58svc80kx557kmqa7dfz787zbzhpaifswkh2f0a327f47is";};
+elteikthesis-66820={run="1xrilac7n04s28ww54pdl6zn2dwnwl1lqc7xzhqkrinbfxgchg03";doc="1pkkwbb4ialcmjbcyv82psq6g5qyzxg8hgvgp2n0xybvvxh4z7mn";};
 eltex-15878={run="0k782lxa85dsmqbcw5q8gdny1lygfsv5h2d1d70f6y0df17r57ad";doc="1hshzr96sn318b7ssv6f5md23v997xahm2232c3kns3rzpfssy21";};
 elvish-15878={run="0hz3cfydpm0sq6s2xp8q44k81xxhqm5mmrx5aqn5wzm0kr52pmsy";doc="1zzzqgs30gbhy8ja13zq9b2s6mf1m47ms5rp33jc5xp70w5cjp45";};
 elzcards-51894={run="14vd8vnnss12flbszsg8357831r986pk7hhpcwqln53r6x5kd543";doc="084zcf7dqig379cqc6ahiqkm8f5jwqgiizd6h5ki28pcbshi49rr";source="1ipavy4km50d8larywyb63dldmawawzfw3x6m5nzvi70zkx1f6rw";};
@@ -1194,6 +1210,7 @@ embedfile-65528={run="179a168b71h8zkdcfr7krcm2addbin9chckaczj8a8ayy6xr294l";doc=
 embrac-57814={run="0n2ll7mxgw228qb3j0x111yyiaa4ikq4797g5k8xyakjmv0w3sv0";doc="1lqapcz7iv8z7df7cyddg6ylh2b61ndgbfhnfa8abzgsqz1h8sjy";};
 emf-42023={run="1w7whsff28cf3p0i8hii1lklb8i541di3g4z5iv2rfm4xa5m6i2s";doc="04qq6ljidaqs2i4lxp3m1varm232rhd026qirvr8q10vpkd6grad";};
 emisa-60068={run="120aa7a4m1psqx3wclwzghq0fcyxs8djlf79mp2ds56y0mpsqx5m";doc="132h5m80s24w51px615di388r7wkkqp8ihwapdz770p5pywk3c2r";source="1pspisyb3pxj2nfkpzzxc7pghackbl1p9dwbr5iqzwwv37bxjgli";};
+emo-66944={run="07df21ziq1ajpmff74w5vcsvh0kd2dx7vc7q61syqr2yqvj635cq";doc="130zqvzv94hi0h5m742kn7vc8110cwjd3b59dxdpihm76gqpa9zh";source="0hy6pvyxg0k478lpdfirb92mx28w27dxzms5al3pjq1mhr04bmf7";};
 emoji-59961={run="1pzx221zrczj26pdw6ijai6m73zgbz6z14d5wlhv7albrh4ppxgs";doc="1531y2a3dfmv2y2xa7xi0dpdkh61skk5makiyzs8mz3zl19n8nkg";};
 emojicite-55131={run="08y8qg37m8b3qf2wkbg802kmx359i6ki445ljjnxybs7apvxjpn5";doc="1iwlxc5ygq7l4qag7yxxas0rpcywmjcv5pcayrk5mz34xr06x5f8";};
 emp-23483={run="13iaipg8n1njzbnd8s622irizd4cc1cbkyc735mplvwq10q2jxqq";doc="148l1xq42avnf5gz1sqjcdprnkcbgsii3fm1jiamx18175zygsdc";source="023jc6v2l580x2d480x11z6rlknjjvx8g3qkcrvdi778h5m5bb94";};
@@ -1218,7 +1235,7 @@ enumitem-zref-21472={run="1isvqbp7wvib81r0yn7sngxa2dygkfm4jn4rdvw0kp8rknam91qh";
 envbig-15878={run="1szn3ngy2iwzbc9y5fpchr5vpx5alr908q8bfg94lylmb8lx2kb2";doc="1y778gc6wl11afjjv2szypc8jf1g7gg2s0lvhv2skl1n3wpb3x7a";};
 environ-56615={run="0in2a7ar0c6ji7qhrbgp4bglcr2cmb9imxch8fcrwkims4g3vjp3";doc="1pb6nmprhz3j9dx2h7sw0y66y1qlvhkjl3ip28bxa133fgqab148";source="1jkbi2g2s13rngwqvr435i9n94ycnzp9xa8szik0nnmj482ah2hn";};
 envlab-61937={run="0q84vy7zbjqrrvy0r2j2hpbg9b5vwbwk860q24azms2zxy50a8vd";doc="16fnyfvvixp6lfgvz32w92q35s21c92556qxbgpcd94fd1pw2bki";source="1fygp7wpyzhzh070sa61qk17h05rqr4m1wqp78vpp0awgkmdji56";};
-eolang-66283={run="03zvmjbn60s1cmm5b2saz4vqpyjhkq88p5xb90d73znv87vnh426";doc="03l8mr9z7vfdrpypx68y50dj443kknnv6mh7416p56i486pdvaxp";source="0rm07sra8mg580higk28skqwsl7x9nbsqcsa8xqyfgcpcssbzgvp";};
+eolang-69391={run="0iiaj4hc14b0ln84pb3yb3rk655hxx5w2gjgkpa7mlw4p53lc7dk";doc="0r1vffb9mi9p5zf26jaimd68k9yvlnr00xz2j318hg4chda9v78w";source="15z7pa7992c18r0n7y0rlaqn1id6gyqgxqwgv9g4yaj169crm7p8";};
 epigrafica-17210={run="1kawqgy9kbr535q1v84kk29q2fwhg6yzmgjd5i7dyg06cy0g6rci";doc="06ichmfivx1v2y67f5nxx02v75wzci6m3hhg87kc4qik61yp8lgw";};
 epigram-20513={run="1zps5067mgi7xq3fpjvjln8i0rz53j7qn660khraq8ribv4glnpf";};
 epigraph-54857={run="1lb4wzjcag59dcfvizvng9s47v3x2af6v62hc1x3ck3fqzx9haa4";doc="1h13sgi2bxknx2m5kxxlv9p4fxf1pxh1zdwm98h3kamzb4a4gm81";source="0kqfrmx732m0a6k21iiq1ar47ff50ri3f5wy8ib6ssbbvd9agx4l";};
@@ -1230,9 +1247,9 @@ epsf-21461={run="1i973a2hp5ms1lzgf3g2b73j34xymak9f8wz88fqczcvdfnnag2g";doc="0d6j
 epsf-dvipdfmx-35575={run="1p0syahj7liknn447lb83p2rdv8xazpgabk39rjxga05pfn3csh5";doc="192x6cg0dh0j9dknwb320g73hid9px635p79idr33x2zq3gaaw4r";};
 epsincl-29349={run="0cmjwns5hnlqi1rk6py4s07kbgflm046pycpr1lr5c1dacmiycxj";doc="06cyyhnphdxigpq4bkg28rx8h9kgmb3ywpbdak6v6ivvlksxgnaa";};
 epslatex-fr-19440={doc="1xs9977g9g3i6sipkf7i9jdl8sdm69ci3161a4p7k66qbizi7zvb";};
-epspdf-66119={run="1yjga00imbdfjqdqnfl9k4dhyacqq7c3i814pn5a5fz5bbyv66qm";doc="038fw9ycr0wpaq2z2cwid80lizl6vvj5q0i4bnx4lgxkfa82i92z";};
+epspdf-66115={run="1yjga00imbdfjqdqnfl9k4dhyacqq7c3i814pn5a5fz5bbyv66qm";doc="038fw9ycr0wpaq2z2cwid80lizl6vvj5q0i4bnx4lgxkfa82i92z";};
 epspdfconversion-18703={run="0arf6kmziarh1sgani0bnp2jm8psxj937hrkaslfj8fm2s46gcmz";doc="1xpj5lymdh9w2ary36sx66ib0hwbjfbbhhcipdq4nkikq7a8zmpg";};
-epstopdf-66465={run="1f46zymj0yd74sw5a1yyfnjiqszdccfb7fnx5bwqicml3b1a7zwm";doc="008s96msj0jxhxynsckwxmhqnz24zw5bq88hnfd56wiim4iz6b0c";};
+epstopdf-68301={run="0rqfnd8x45m923lr4fwysxk3icgnpmzrdj2w0gif0dg4m1d8sggs";doc="1kjqzi001nxbrikxvc9l3fpc0pz7zhmknqghwd8423flym610vv9";};
 epstopdf-pkg-53546={run="1bd7bkkk5hbp0bfzrvjpmfrrvil9i2pzmzl7aaa324q7w4f1w67k";doc="1lwv6av0b4v4vzzk3i27diw42hcdqzgvis1fk4fclkyqz7w0ai4d";source="1qmvc299bzgfrf31sa4027rgkq3yjg57318mbx4gl4cwznxr7zh0";};
 eq-pin2corr-59477={run="10wrhqr55r45azk4z840wphwsfcm6mamzafijqgldi2g90cp0hsf";doc="0ii5dnaw1lplccp18gjkixxsygacz44r834r0vaxfkjmcbx858yw";source="0l6p9bwaszyzj794vvyw3xq8nfaypxb04ixf25wniyg3kr54a9nv";};
 eqell-22931={run="0i0n1vb43vq2axghik3sbs2cja2fi78jl0q5xcrkbn5gr6vi49md";doc="044bm3jyll74jrxh8va8g38shjn3b7wzchjq39n4rjp3238wirsm";};
@@ -1245,11 +1262,11 @@ eqnnumwarn-45511={run="1mv50r9g43si8kmdmf3kgcjmw10kzipq67ssd3vllja4pn9yzmz6";doc
 eqparbox-45215={run="1bg49m7nzw20g2g51g07d7sgq0sjiisrbaq4ca31qbybr2rxcp12";doc="0z86nwj06zn55gk32wwlxbqfb12a1fcgqizrpagm7yp0xr99b8wm";source="1ny9mcnb76yds4l7q35wdm0x2vzia80aaqr12idybkzi75a7b2yp";};
 erdc-15878={run="02sf80cadhv7if8arbjcsgqkb0hhdrlpq6izqgcai6vb7xsc6niy";doc="0nv1yqxjmp4mfksmxm373pmy3zzbfcfvi683dalpslzq2qyz20yv";source="1vpghcpm9a2pvi3plh7pjki7sna3hkzvq2xj9gzmhqxcpw3jskwx";};
 erewhon-63312={run="1nw8y88z39wm0f312a8r0hwmdy85nynrpq8k78l1iabq9i03316h";doc="0wp19ficxpgay4bbs1hg3yrxmy2hlslgyawa03naaxpy1jysx8pw";};
-erewhon-math-65684={run="0qsb4fxsv0fxagmia1bxk3m4nl6aprczj175gca6h3x5n95kprwf";doc="0ph9qzmpz21lxfh69r0m4y4qj73ld236qhfx7l0rd54rabj2nvcq";};
+erewhon-math-68990={run="0ianrz91a3wc11s3jixilkzmrhjj6cw4h88ic12v1njg48d7sl3g";doc="15k7gzyrwqn3lr092sbcxfq639cy58vwgm8sqpnqhrbbzzm56304";};
 errata-42428={run="0hp8pls350swslim7m3cpnw23v94vnqj9avfvx9hq0bgl99szc5c";doc="0h30iip57km31074cya5fyhlmyamix8anpk19rqbsfb43h3988g8";source="00bdq20dwwmq0nw3c271ah0bclzkzkwbr5ak4y9asnab1g6fl5yw";};
 erw-l3-61799={run="0klwkq6x58bhqgc849yv68vg7w8ivvzib8rl84ipf3gl1hk42761";doc="0qkg31gi4jhgvc3i42cbj00ccavwrxfmygngn8qxfgmsphx3a41z";source="08lh56xzj3wjh1dp72ky8ckga8k73d3alf0vxjkwb6b6krzz4gm9";};
 es-tex-faq-15878={doc="0wp5jx1qs4yp3y4qpwqhpw7rnilw3vb2z5xb4lzwph6zw27jf6sd";};
-esami-61596={run="1v5fzb9ws2785ylh5swfb0hjp3x8m74mbfzd2c5z9l3wbigy8kpp";doc="1s1x0mld47z50dqfyhglsgwyjqzphky0zqy67jbkrn7mmxzz00y4";};
+esami-67707={run="143pdgx8lscxhpbh87pwg57m01pcmax0h46g6f3cqixcdvfh0qp9";doc="146jgm694cvw7wn15q1p2ghzspb1hlr5hxv1ddb89mgkgviqx3iy";};
 esdiff-21385={run="0p5d89r6pzsf0hzaky89843pa4z2n4dgq3yg8li4gb5m2b4fjfkg";doc="0jw4rhkshni47zdk18b3gd4amyhh6v9a1mgja58wmp2vrwv1nn2f";source="0iwkbkmkl31wmdrd1wapd94p70mwd45lqld3b7pfb0j287nzkzl6";};
 esieecv-59638={run="19vmccxpv3dp1ysicrj5sr6xrsqgaaz9109q3gf79gdvcfp0g7lm";doc="0ji6pf8b2c3ka17n4qgnykfwhy7nh3zp87cg913j3rah0zk6fqzw";source="0r10sipb7hd5dpzsh97qiqb5adx5j6iw2aly49f1w0l8pxi0fyyn";};
 esindex-52342={run="1vxdlbqc3j33gdvy04pifd0cdfvnjwmpqbmz305g79733hvlbw55";doc="059y8wnnzqn1kfy5jhbpk8zi4lgx7r5s6xg6b7x3iih1ccdyhwma";};
@@ -1258,31 +1275,32 @@ esint-type1-15878={run="0nfvka430084h72w0gdlvbxxlay9lp5z76bckmr5vd1vqi4jz8kn";do
 esk-18115={run="007jcqvxp41h0ky25mgn2k3qdvyiyr3vj9mn6ml1zsvy1ymxq4dj";doc="075wb7q7z5idhqh39isvkacpgacfcv966af904yk9ralin5fwbr0";source="022n8rh8rwn9y4yx1rqpdynw2lpm8npwd45y88r2q29qcd9f62qb";};
 eskd-15878={run="0cpaix3x3qw5mgaim5574pc39hypi42kmk7yvnbvf3qj5bv7jkyz";doc="1zwpxmr721b3ij4b4zvkncddy85d9s9ma7llajp36qh4vl0bc0cf";source="1kfyrzs1swin4ph70ifm1mnsm77dprd96rsw228liq1cybn5bgii";};
 eskdx-29235={run="0h11378qh1y4c4ac3vd9pcl93a09kpsh0vyqcg7mfn01dgmqfam1";doc="19bcl4szagigbd2jrlz60vhhphm86667chciwlk05k6hkflg595w";};
-eso-pic-56658={run="01q25ka4aqpz46z84ldhd5rs3xcqjk6rl7j0nhgw4s2lznrvrpry";doc="1fglwrzd52fv11i3bq60d9fzfm4h4zh003nks9wgprdj9cz0s0cf";source="1si3j1cylgck60rqlk5ral8mfdv348xp7ialwakynqzf5yv1ak25";};
+eso-pic-67001={run="1j340mj5ccfb5z28dcgs76jv05yv2vkfqxszzkd2xg4jkzpy0479";doc="11qlj80gnfqw496r5xa6fg34cmp6sf33k1drg4cpq23y9slrwd24";source="1gh64sql402fcg5k6w19pkx4n3g1aviw006yp1zdaa3wqnl1skly";};
 esrelation-37236={run="1gjwrnd63bb66vy7f74alxshcr5pqz8g8q178wkgyrm37xql6kni";doc="1nnwpgjy0mzc2h7sp2igqwain2nz6374qn4mjvj6g8x02lkc1hsa";source="0aqb63mzvx5hl178kmy6aawyv5ri8favficfjjmkpq3d4hgnrwl8";};
 esstix-22426={run="1qqs88wpabdx0y92md1w8klmk7ncbpm2jqmi0j5sj1c2cn82mp1a";doc="1zzbwvv8lbd27cxafj6qc5sml4r44ymrdvaqn2h966alzga9ify2";};
 estcpmm-17335={run="1v027r6j4vxxvdccq83irjdj1gf6kzy5i9jb1bhsv7c2gdf3ihyx";doc="03q3z9if5hswrr086zi907xmjaijh266l5g9a140q0fivjai4hcx";source="1qb1v30ijky1xhh5dahgprp3fhxfm6kvlxgb059429idvm5ap90g";};
 esvect-32098={run="0fgcy91ypllj3i706znwwzri36ja2ca2inx838q08zbs8gqq4zah";doc="00xpfzzhyrh5p563faa7ks0vrrc08ndcpn72a72jmlhk8y8bn7sb";source="1han75c642d3qmr47ppn11f7q1lnz8lcwj3q39nh1f81vi2w6li8";};
 etaremune-15878={run="1l3xz9zh5f3wj3v3mvq9xk4q6vc7k01pq3ivsvm0qlkni4bffyja";doc="16v4vsd7dzihnx72bdz99994kpw6r5im659hm51w5wyh8gf8mp29";source="18rcvjpyks01d6qkq61rmngmwwyxksh4i5dmnvq8ihx4vj3zlgqx";};
-etbb-61872={run="1qpfadd544dzf61q7p6xirkv80bqz9jvvx0jm5rd3jjm12d95rkl";doc="1hiiw6hhks2w4ngk3aw992swmxcfhnkf2b92ryspbmd6mycs70ka";};
+etbb-69098={run="14rrzb8c1i58iypi7f1wsj9xp2x93s37s030zbl7xj8aw9j5w4mf";doc="0vqrl9i8mr02qb12czy09x9vrch6nbng04618h9ampxs1m40sha3";};
 etdipa-36354={doc="1jp35apalaa1lh44dbn1zayavv1n3wkm0v69hgy8vdz73yp5yvhz";};
-etex-56291={run="1zk4dp55r1yjwy1bpigyzbfm9nh3np544hfmzzfhdg4i4yps87k8";doc="1nsh69hzpk33ljng9g6drrrb5c59cm58a058damk3s3gzfy7a8a1";};
+etex-66203={run="1zk4dp55r1yjwy1bpigyzbfm9nh3np544hfmzzfhdg4i4yps87k8";doc="1377j3czf6s21f7dr4qswzqvsh7xzzqcyjw771cswzgg7z8k66nn";};
 etex-pkg-41784={run="01aa6bn8d46ql8aw8kg9k2c3x611jpd5hx3h6g2fqb2lvjqnr1zp";doc="1hcir648vyypvqa8r710mj9qldir9yp2lq7biv3s9w1vl2ssw18d";};
 etexcmds-53171={run="0m0kf57wcmy50qcca2v5jb8z4h7z82pja82igmf6gsm7fksm3wrb";doc="0grl3svqzjh5bdg4jwzmqaxz7chkqka0vn0hnjwpyvm52ngmckyk";source="1s7avnnlr4g8xjdfmkm82aanz0k0cnhv2dyar30439x2indyw68c";};
 etextools-20694={run="04x0a0wy3avac8cgjgq7npiy06b0vrkxa0hizpn4vkzv7xbq79yd";doc="0z04a5f4c1xygqsgkss4bh0s41aqv0i61sh6x9h0isrqlhbvrzs5";source="1f0jr38lbsrdjxhihxks57y6xw37ghgmydcq48ll14nywx07qa2l";};
 ethiop-15878={run="0h1h286nq6f2bplxxkpdg8mr70ip92c7mkj9lakxzcwacsj849xy";doc="1aqgl8hvapg3p0f3knpirlgnifpkpw4jb22zncp1s26jqjc9wdcr";source="1cc66b7ad2kfs4whzbnqdzfswn32y8h19bj3ad20ia24dggir5mv";};
 ethiop-t1-15878={run="1xbkh7xx71d19ghwfq8bhjnf7jmapm13hp2gr6ggzavcmzf12ffz";doc="1lafizx606kv455bhf125hl2xqhndd5mblkd0zyvqgyir9bawcd9";};
 etl-60998={run="0cg7ppbc7nlgmcnri2iz2is8c5kj03jn0crw4m5wmxvqkkcg2217";doc="0jqpybirslqyk7g9g27qbbvz3k02m2k352fxl2w1p0h7hhgk12a2";source="1z244p46j7hkzry4n1xdbzcszjgwrlxd2jmjblbrldj2ba9sq9nd";};
-etoc-66351={run="1i36wkad8kywhnvfang4y4h5zcwxbc5lis73z40czkfkgrdvmk1y";doc="0935nk69sz02xpsrl694zxhzh70yzz1sbpqd80akpbbq6yi6wwn4";source="1i9gq9fcgzpvd3fjpgxggq80jqnrgn26v5nzh15dkdagmnzjx163";};
+etoc-69343={run="1kvwyy0wxwwfkbmsh7v5kdvcb9sx7ywzcv5cx5nmv0sh92ah5dgh";doc="1lh8pfcj2iixm9r31cawfs7vpg8gd4kgjcj9yyqx0i2fksd1gs0g";source="0clv4cllb4nfchvc4zb8k25wzlhl4k5hnijl3071sq8aldiaqj7b";};
 etoolbox-56554={run="1g944zizyl05qz6lq1k13hv9952r97gc1i7is9s5fckz664075jl";doc="05c3kvfwvbg4bxf3wza5rdvh98mnxadf818rsklxa5g2lz44jm76";};
 etoolbox-de-21906={doc="1vchha7ymvj51jfnvl76rxv466lzfpxr6xcvwafxhi78w4bk9yry";};
+etoolbox-generic-68513={run="0w0mmw2f2lry84jfx617saj29nkc620vkrkg1kmnnxvvxqi7jd9a";doc="0l7kbicibm8c6p5yspyr1y8aqh5d3bswa9h58787r4hcj4pr2hc1";};
 etsvthor-48186={run="19iza3bimr7xxbajmq50iqd6cc1h82kz2lixwphn9568d5k5vjm1";doc="13cijd5cx7sks5jdy67hp1a08f4y223l0hxd3w7ljnvd5azzyc1f";};
-euclideangeometry-60697={run="16fvn2wnm8n9d37z6mm7s812qyvzxyyiq0f868gjjdb6a1sp9vdn";doc="00s2f0fdsjah9w5lq0hrszlddyc3d94bkj3zd8aa7rg3sy2grjwl";source="0p3bwql4rzllyiph54z0nwxnrgwlx3lr6x9zi872gfsbq8khgsjn";};
+euclideangeometry-67608={run="1pa69p2p6a4v8wz3m32xd7vy1km9zksszj7zjyqw36gfcpk5sxlb";doc="1d6340xmamzrcsi31i0vifjxhy42ml7v3s6r1r9v6vzimh1iz5bi";source="1l8xc044kcac6344v21dfysc6la90vv822mvik984zcnkbhxy4jc";};
 euenc-19795={run="0lh0k5g6icbbzl1xzzcj4sw7vjhqpn59y9xbc6cn58klpww8ywdh";doc="0likhzn8afsq302aiyjk6adhjimz0naqffjrj2s06c6681z2inh1";source="0bwr4cabh3w4jbx476ygxv6afxj6sblszr47awr2nixx0m018ndj";};
 euflag-55265={run="168c6y6rivahj6cw377l54jsykpxaxvv3nbmr80w19d90h4sqa5l";doc="1a65rasxx88bkz3bg51bmzdbq67yphljaa8mgkp2b69fjsifm229";source="09g2gn9ci11dca9s8bgdrjaprzb66vb47ssfnj6n061glz9a244z";};
 eukdate-15878={run="17r61096angayvbdi9r3d7ljb1a5z9q9r093kpgdsi11ahcgsr26";doc="0071bi5m6v5ak6g5pxjxzq5y5353mpdjx4f2dbznkmfd23wp8j7d";source="1p6vg8nj8qipj59jwvp4izf2dv0l8490773h6j87wlclnnnlh2gq";};
 euler-42428={run="0f63sy9zs0myb76wqgzww48g7clq6ni9kwnrfjkyyc4lacvd36in";doc="1rl4bxzlmw95pgcf7va9gsrgz89602a9pqvhiym15b5hdwc5cb07";source="0fy3dx3bf8idddxsj29yqd7bsv7cyyg8q9njmb3p0mw7laqrkjxl";};
-euler-math-65685={run="0w6z3lafazlch04a33rrannhnph0555wah49ngnmg2hakrn7bxbm";doc="1zk5c32h4aclsk5zvjsqhrdf71szsvdi4x7h78dclqgdr8jl9vyp";};
+euler-math-68991={run="060m4cizj9gh729yxx70vnj7rw660r7ka2gqpsd3r5jmgcpybppn";doc="0bkz8biyz0mzjfai4n4iy0xjslhyvigchnrargz10zxiyb5a7p5z";};
 eulerpx-63967={run="1ls9b076rc73cbc160ms7df3w5m0x840y7s2mg3wk22vgc461ail";doc="0qwhb6wxm8fviqi5kdy1lcplarijhca0ymrqnxfnrz38z3v4xycs";};
 eulervm-15878={run="1x0zgqw15r5z9mf4pcpnf1bdbwbpwbc49ij7gjrhf9jzzlkwraf8";doc="1bbd7f4dz3xp7ylgpi2wh9jf8nz4z6i2cvphfx53xvg555ln5v1m";source="1if22m5h8ma3bvrlp4jzzhjm410r5r7r2ij17prycj3cpj4r2nl7";};
 euro-22191={run="02kkwf4psrmp7n5mqyrc3745kj82p3nxswad9x8rw1hd7a278y3n";doc="1ajqx7axgqpmbq4kl2gmk97ibwbijqsq6z8ln71qla61j0mkgj32";source="1hkzjy4vmvh06pk8bhkpz09ln5jygvyhwzyznqkrzffay3i89cll";};
@@ -1291,37 +1309,39 @@ europasscv-56829={run="06vqrnfzcq04mjk38q75n1k1dw3ap7z5xnzpjmgss8rl6mjn4v3d";doc
 europecv-64037={run="18yrsk65jpgqx1lma8n0r8ya3izhmp2z6z534i46386858hm9x7w";doc="1mc4bch2jp1nkxsqg80g403r84brv81fn807hn5jq27fbi93py6b";};
 eurosym-17265={run="1bf4vwygyakr999k95ki53fykknizakz9npz2i1h3r5ci805l7z4";doc="0vmh23f3ksc3b3hym7iv7m8rsddk8vdbqr5ib49bjqylppvxrsnz";};
 euxm-54074={run="10dqknqlqrga9m2lgd74zx5hk4qcbkfvlzjgr304p94w3k7pclqc";};
-evangelion-jfm-65824={run="1y7pf1mzvwk9nx7xc8qvw0sqd9lcalm9an3ykcyr0bdcx3729aab";doc="0h952mka2a3sqxafsq44y7056gzzwkzkch922w2amgcwxf46wyh2";};
+evangelion-jfm-68059={run="0vrr3md73dj51rch8yz71fpr39q7adq1ds6jmcfly3ccp9n4wcil";doc="1d2lcdjwl3hd4hl1arbf9dc9jgn2b13l4hkmpxc7g6cd2ishbxwd";source="1kvwwhv5a9ai57bw22pvg5q79cyi4kf35yyyz5yzb8f6mwaj29v5";};
 everyhook-35675={run="11r4932kly5zmksmicapqxndqw4cdq1sg2x9hgffms6v8m5cwkfs";doc="1g9p36ki26vqdfiwnr77jxk1bna7733dml5k4s8nxq1drsklwqwn";source="0hv04cn2j7sf6032jxv18py368zbpp4ya15wv18qymbk6yv5najs";};
 everypage-56694={run="1i8fjcbk3flywzd55y0cbsdmzymvkynvgc5cvv6yh5y6nr514rjd";doc="13drphjv7gzgdzzwd6fxlngm2rprhls60gj4lz1v69sqifymnn4h";source="0vdi8yd0r33ajnym0f3j42ajkc2xs8b5yn3kmklmgx19kpc93ln5";};
 everysel-57489={run="090nizak865w2mgrflmz91kc0b2zmc6fq0xxrlpz68xwb214lzwx";doc="0bhqpzw5dpgq3842jbba9y21yj1808nxrg50339lx7b8vc5d2i8y";source="0aibvqmg2n26dici3adi849a5k20ck68v25vx1bz2f15q4gggd6g";};
 everyshi-57001={run="0y738zcqy85ww3mhwgrj1qh0vgpwfh2ib676wlr514xglvmp9l3n";doc="0ynjq4ibx6rr0qh5lajb5n9skqa3j4zyi533mxc10axp5zpxsjkx";source="0iqxf73n3l1jf32x571rw5wqwvz7nj3bvyqzgizvfpbnavqhrxfb";};
-exam-64134={run="1ybbxy46wn1xz4b6vd6g7y01ijl8a5yrgc6v48jilnhwdh25yklg";doc="0n8jxbi774by3mwa06yz7s2s635c2hiizfyhspq7lyg1v7qhid8x";};
+exam-67600={run="027v4pscys8rmrrrz7m2plc9blf0bif3rjykfhw597rmnmgmhxcz";doc="1cwcz5c0lcil552ryqnwsm9p278nd172p7d8s4jwg3xdzbbgmni6";};
 exam-lite-65754={run="092wb5wjk452i252g4chnjzxysmbhy30q4cxir32mx54z41yf0dj";doc="197mlnayyzgr9v4yf3w6m72k8fqavdy4k2q1c0v7slsvqad320f6";};
 exam-n-64674={run="0j4bi7j167fkaz57wfav9ybv5b5f18ql0gscvdxyf9vh1czk83n9";doc="17jj5s75fs0sxpak8ywd6lmss3iq290316mr5gyxm3v7r26ji8ii";source="1lvcxbdwy7xxjwzbxzrykym96j1qa7caqkdqhhx4qxdry9czpl43";};
 exam-randomizechoices-61719={run="13dqgkh1isrg0z97z7bfd2b952sc2xr7w7ykllhvmzicr9gcml1y";doc="078cryxhlnwk0k01pwypmdkkjlna0fn70kj1xia17jq2xvc2fpcd";};
-exam-zh-64434={run="0mia5k0qd2g28xxyw9l44hrl8xnxn1ip7spf58myfkhlp00r7pv0";doc="1qlm41sq1bsj367alp2a42048y6d3v95gny1k0l31xhkpbhlqj1h";};
+exam-zh-67505={run="0k6wfbz76j0lz3abcbj53pc37psnn0wvzq5bzhx24igmwx0wlawh";doc="04q7r7pcjwz3qni7yg18c2jcp1ir8lb35dw6rkf63z2928f6hdnp";};
 examdesign-15878={run="0y9kqiihidv24553zlijr6fspbayvram1mqgy9kmd1wwskvbza3w";doc="0ddgn0f086qdsyssg4gm6ynlcnnsd16qpvn2g3wzija7ai5sqkig";source="0z5539hv1li9vw0d3jx7q9s844f29wi9xr5z30hvzl3721rnkvzg";};
 example-33398={run="06ld0b9gi8s7y6igijylfvj2qvj3d45z2ml9wd1zfzkpf32pghmy";};
 examplep-55265={run="1a3pdaqzc9jx2yf66vmjg9r4w07b8afyqijl21np6sf7rrsn7zg8";doc="06jqa848zzswd5pbfrvr9lh3i4l5h8wf3v9g179g3q2yb4dmvjwv";};
+examz-67303={run="1vhk3kvmlsj2kcz0ccf3g3a9z5h6ds41dpwhjd1k3iyy6mrb69r5";doc="0vqm75k7xqi40gy116h3rjhlyjybzsmrpnlgmsx8qykll04y4vql";source="0lnr2s33z95gzyw4vjz6jgyhqcgbwyq1lz8rz5wzafbf87mdkigx";};
 exceltex-26313={run="1075b0wm708wj537pgki1hvj58l0pfrdiglalbjnk3gmf18rk22d";doc="1s48mcj49j9jm8vs5nhvljb972vhfng09xvd6kiw01a7i4zpw3h1";};
 excludeonly-17262={run="0zfml40br991mijcmplxlff2lzkn8fdgwgxcam7vnr23kag7lzxm";doc="0argzz7nwadm11qp642r454w8p0swyhvscic71fhwi47n69cfbgz";};
 exercise-35417={run="18f7mgc2lmm1lg13dm858nqsqzga52sw0r6zlz7f0pv5hpc0mgak";doc="1y50izz1z2s52knqn9a1jianq36isyafviv0yxqqx6zdfckqca0p";source="0lpslsk9a7dx5xzr5iif1prvrn399j70wfcqhgbypz970zzpril7";};
 exercisebank-50448={run="1algypm3nhkbccd9k1w5qr6y75hqiinw5dj1h4fbmripmhdwircs";doc="0szpxkmx8qi3zpcrjzd1nzn7jcp30wf9nv8rp77x7rd2yd0sw0dy";};
 exercisepoints-49590={run="0vr2yxqx2ng1f9qybapz61146lvsniv6mjwl1yfxk10qyvdw3pnv";doc="17kz9fyd7cc4pa4j6dsm8h5zpwfr68wg3ndbswgh2pgwwvf63777";};
 exercises-55188={run="1yvdj03hr40732swfsg2br9f4wx9855n7a3whlqjdnczp6545lvi";doc="137g1gvwfxm3gid5xvikrqk0iw75csrkqgrwmh0hda28dd4zbdwg";source="1lryxm36phhp7p269zzf9a200k9k0v8zw8qyqvyk784vmvyilv7z";};
-exesheet-65577={run="14baq3lx0yk02bmxjq6dd0b5y55b121m46w2nqg7nws9hf6sh0mf";doc="1hq91m1jawysk3c38xvps2fnfxypxkn6b553hm0j761k2yizavjb";source="1cbi2saxgjcyq8vj0j3wxc6162kvd6ndzscz21vpjxid8amilf7y";};
+exesheet-69252={run="1qrh0a36x68fs7xkp2grhqz94v49180v8aj95v3w08xcmx5jvwjf";doc="17dxhrsknh9fx9g75dkw56c11wpvc4xyzv7rgx2dm29szg7qvrnd";source="1hdkh6zbmsmc1aqzglihjr9xz6dhfxcijmyd1wvhb8cxh8swr4dw";};
 exframe-53911={run="0sc11jk94l0nmjjd69k6nl7j68szdkihim194pdxlyiybwqf9bbh";doc="02s61k5lpjw121cyxkkhlbm5d6wv0gl009abkjbidpgxbnd5yl4z";source="19y20l5g814cvn9z0axpkynxp0vwkay782dmn05g6a6qzjb49i0j";};
 exp-testopt-15878={run="0g7q4ccfamsd7sr7wb0qsw74dnwiyz0rjrniaxm5jvgaadiinc7q";doc="18i2ym0da8vp3xxy5q2gaykvja3dga4l64q9zjxknkm50vj6dj23";source="1xfp15q94icdq773ivdvk4n47i2k3g3y9smdvmxw5m9f35nayypl";};
 expdlist-15878={run="09yhcdbx3n7gj3g2v2yh4navgdf5ik4x281h51kd1lzdzbbnf3aa";doc="1qgwn2ignri6wh67wwjsqpbk28jch01m8fn0nw6lpc6kfa4a9g6v";source="1m8dww4i5w0hivs904v8ls1dhs35vp3qpbb44ihwha0zsbvghabk";};
 expex-44499={run="1vdbsxn85gkg24rx3qhkwcc658zjyhkymfspysxkxmmb8rn42y8n";doc="1mgq1knfx1lf0vr32wa2r6v0sr49m0xjnsdy0y42zngfi1mizp20";};
-expex-acro-63319={run="1npdnqd4m66jjcnrvgan3lrx211lish3kgadv1n8hnlpwn54hc8c";doc="1pgqxf04i0sdcyk89biikzar68lhqr6j13av163iyijp6d0c3dgy";source="11a2q0lhm0y1bcgipbmdi6568qpnxyghh0lqgp33r8rx9g7s4byh";};
+expex-acro-68046={run="0hdbjdkqsi6nw99g3rqvpd242mag8k7ggl6bb0wj99nzfq9f43sl";doc="0ilsi8ddsn7crc19qf22vwff2xc4lhpqhxpk6mb7id5fd7xpp0pm";source="03addcn3axfzl3i502clngi1bc5b4l5ndq335xh6x5h2566kjclc";};
+expex-glossonly-68860={run="1qwcib3flc06b1l4fl9knqb6xjwhq59h9i5gfniq602znndjsc21";doc="0k740yz8fjxkcmjvxd83234arq375xg8gcahyh2iwzqs9k8cvi4c";};
 expkv-bundle-65623={run="1mw1cdl4phkm29yxb747whkkd81g9a3sbbnkhzgskbna2zcjj0l4";doc="0cwydrq8k5z6j62wizgg6n1n8r0h0vi4ijky59vvz8f7b95j2xz0";source="0cv1r3daz5lscdqyjgmy6xj00b4i280bg1c93b2kd9x3svv179mg";};
 export-27206={run="0la9v2m3n15hgds8mmp1c56dz0a7iqygjk2qnd99n5924n187wyd";doc="0ipbs7rdwjp6jrr4drgcs73mc8fy6bav24qfda1an7byglgcf2nm";source="1q3xbj3zicbizadihwb6b75c4d95b6wq0adi45wbqf6hzj05bd5x";};
 expose-expl3-dunkerque-2019-54451={doc="0xij1ycxnc3hfzkl0bfs03s0zzzv6xsj3myvykb6n836j1g66g2y";};
 expressg-29349={run="1hcrzh5xhvzhf7d9gfqfxj7bi89ds5rxa8m6al12mdr5qpffzzkb";doc="0kla1swvhd43xcvns17wlcvq33wvjidhkqnd4i587x9mdn69s8bv";source="07w45g2nbldwnbrbrmdq9pwi3xbi6cl2mqxaiyk78jfgr033rmqf";};
-exsheets-52227={run="1ymcfy9i2ll048sc0gyljcbwa06m9q0g6nxp3csvk4a367wv9cxa";doc="1l3ln3xkniyfgmhrs37rixszacsvalwq78fyh72v8ca61krxd35q";};
-exsol-48977={run="1jlkz4c29bn3wrzlbyxzz9jl7f6iiyvz89r5r2cvnlhfai83lk6c";doc="1z663c69w62v8fcm25ikaw58q3kxrh2mh357zjhgi8ki72wjwja3";source="1ja9w1k43v1yjfa1jhbzghdqha6i19lc6hsgsncr0zjm4ky104w9";};
+exsheets-67300={run="1ymcfy9i2ll048sc0gyljcbwa06m9q0g6nxp3csvk4a367wv9cxa";doc="1l3ln3xkniyfgmhrs37rixszacsvalwq78fyh72v8ca61krxd35q";};
+exsol-69343={run="0w51rxp4lw5v1xmhp26bqalarp05x1ynpskbgb2ci7b3g1xcnm0g";doc="1hjvmd9rjd5vb4d7794iii26yl394plf3ajihp7mpmwbzjz14w6b";source="1837xcdlwxnw8944c787b4yqlb2bi2sijx0nnr3vfvidpwsa7ys4";};
 extarrows-54400={run="151qmfsqqj516ky9j4wbzh1618r769b1bqn4rc5fh51p1s28k8f7";doc="1iw3750iikf6dc6kyid86r7kdzkpi1z4la4zlj63z26fczivif91";};
 exteps-19859={run="1pmipr1444l1yai8d9hhrncvimzb5scn80pqij2g90lz160962r0";doc="0ymkwhbl6r64pxhr95wdw10dvn6q95mkz1pwa1nb42sdcljizrsg";};
 extpfeil-16243={run="0n2j976a2607zsgf2cda5vljl497c1562rn7cih11h6vpx76jx9k";doc="0irjpxz1zk30myk0h1wjhzcxdpyqjfzxj0lx1nz56v4f157myn50";source="1yf2kcx73zp24wrjb59zd1f35809k52cdwym9xlf5fy32rh69y08";};
@@ -1329,8 +1349,9 @@ extract-52117={run="0yfxyzmicqczvn6pc7ykakpm2hjsrsb243n1bs0crjsvacw29hb2";doc="0
 extsizes-17263={run="1249x8lklry9ibil9crfvy2x3hk5afnc3g3khixqf54jcb29zpg8";doc="06a01bmilk7hqr2k9237i6x53f6wz4z4vhr8n0qc0i3j09n5i0ps";};
 facsimile-21328={run="0mfzqrn76b2nhz60rqjdr55s6i9fzw96ya74nncvdjjcvaqpjrjk";doc="1i3vv6a8r1mmkmpjwr66r0isha7s5ksp5cwgx3rj9sl3wfnywsfz";source="0icxnmiwmrjsp1lhhdkcgsjif1s396lkdxp73vz59afzhwdm6l0b";};
 factura-61697={run="18p09q5r4n04r3pr636zxbq2jp027knlzphd4zpns3d2szgw2j05";doc="19d5nsjxzghmk56l1v9ppr237ykdrgk7bql4cdr4d2rdvqbk4r19";source="0l77127yc8r4n0iyv4q3ilcs9hrfjn0y56rc805av4gdrgil9xgq";};
-facture-43865={run="1x0jqxq6jn2y5lzbk2y576g2wgaaqwlb11kpq16avvhxybgiywwg";doc="1kcnzmssdnzfp8szs4c3psnxaih36clifln5kpdkgwd3hnkizl60";source="0h2274fc7h8si7rzrinz94hddzfn073yvkv9hnvd9zlq35cyxif2";};
-facture-belge-simple-sans-tva-49004={run="0n8wwl82w7hn11l3c3fg7nr088v2mv4s2d3ynwahgy18k6953pxm";doc="10yh7528nms60ypc2zh9viamk9cihi0a67jcvwzb2i8f88sx4cfq";};
+facture-67538={run="1vfaj6hsjnd1cmgwrlj08bn9zr52zc1z9h1dpjq742gf8n2f9qfb";doc="1my5nlwdik253073yhcjbvqkgwcw5kvmg2fm2wladlgcq8qav96d";source="11nr4df4dywqaq1bk3vzjc6s9gd5kxdksicij2fmiqx4a5309ijc";};
+facture-belge-simple-sans-tva-67573={run="0n8wwl82w7hn11l3c3fg7nr088v2mv4s2d3ynwahgy18k6953pxm";doc="10yh7528nms60ypc2zh9viamk9cihi0a67jcvwzb2i8f88sx4cfq";};
+fail-fast-67543={run="069rv6yv525b9f0igkaax17kr3qyy1n82v018yidc57ig75h4vlh";doc="15qydfbhbdvkzrys4x3g3k2zpzjzah8yx7q1xxnc9p90rmlj6ch8";source="0ybn1365n7mkaf73sc667pw826n1pndrizn5svnx89ckzhni6s3h";};
 faktor-15878={run="078fxihxiy9bnszy2nj5ca8ys9hhhazkawwi7x2hzwfh3n4dyqz0";doc="1hj13l2g7za8n3bkxmg04npi5fnp4jv8viyym1076wify7hrwc73";source="1r8wksjr0q1nm118fzkn527lak31j3sjrbsahpdmvxfir7936njx";};
 familytree-63739={run="1a6hvncnjzrjb3bpikkjlmamnrsas5221hhxmlvfb8x05qxjxx7x";doc="05m6n4lzz0fc2hm011kyvnxnv93gl39jd1lx404xz0kjs0l94cp8";source="0g6i47agywjpqi2if893jpm045kwda3bhlm2afd6gpjynybpmhmp";};
 fancybox-18304={run="077xd75n1lpy5a4gdgk88p0ai2is5aj4lf2cfxn7nsyhdvc1y6gv";doc="1giimlw8zfksar2hwarpnhy2sd0jsdlxzfw6gz1lmdb8xmwkx2nz";};
@@ -1344,23 +1365,24 @@ fancyqr-64182={run="0r5f2cq5p2x2nrhgamcl4h7jc01z8lr0kpbvkalgnp4bkr2js42a";doc="0
 fancyref-15878={run="1ns9b3viqg45w3pmnh69fdrjc9p39pfnqwwsfl9nnx04pf8b0p8i";doc="07g7ynr4qjv5l8v71ymbhx3vf000g5qq63c4i8q0iq35gird9yac";source="1p5xd5a6lwv71hp1sx490qwqbjn720gc1fpkk2inmmq6h6vwgpdy";};
 fancyslides-36263={run="0hfa5jklvybgx9rji032rdmyh2qr63fkyanvvs0jmg1bkpqw7s03";doc="0nqqvkv9gsl3jp22rjkxrzklpz6dfmm3wy3mc9f15jv9iy2zlrr9";};
 fancytabs-41549={run="0yxr24fnjabfzhyvfj7nhn26cc7hi08byw7zzmky3nnynxnxc2p6";doc="0f9b7rvnz5syq5dghj426k9ypppjg4q9wzs8v3jl8af94xy7zrig";source="10p8hb18qrwp2dxsjybrawnlryl97k854l11c0327r39qiya61ns";};
-fancytooltips-56291={run="18hygq6ks8pihlamr1pyvmsrbsl8wa0kx2qy8san53hd450lqn0y";doc="0q28xlckjlm231r14ysl05ic3kb6aa5qnwv9x0qj3iz3lmyfq9zs";source="0nhmjrivw8a2xhblhxnjbyvmz4hp68sjxnnfzmqyrf1agjgwz8m0";};
-fancyvrb-65585={run="02qs6rkv6avvrv3b023k1rhl11f0900dszs3p30l605nghg6ydxf";doc="0mxwsp5c02faxf4crvm3iibwyv1396lxccn749q9wyf9k5wqlap8";};
+fancytooltips-68931={run="03b31bifjnl75hscp908x58r90zrp9hy8r4kf3lkygqvikh8f5bm";doc="1l6mp725xjmy6azgx2zwcqlp3vfvk7gvyhr0wwrnnklfcscyr1rz";source="0nhmjrivw8a2xhblhxnjbyvmz4hp68sjxnnfzmqyrf1agjgwz8m0";};
+fancyvrb-68772={run="19kr6cgk83fmdhs7360gvi2p1q94jnl5r9vbm54zzhy114wvhiwz";doc="0jr5baqc56iyz0bifhrl6k3ragdaj267yl3hc71symhdi6sld4if";};
 fandol-37889={run="1l6h2brl2d6bnam6p6j0p1d2s13jnva5zkr1xr4sarzzxj6zlz2r";doc="01ax7za7wcr644ncpv3rpfvl2ndqlppqnjzbjp8y2d0hawc3k5m0";};
 fascicules-54080={run="0zlkjn8kg6vb58xp2xh7jwjk6dmk6knzqh8v7lrdbmzhw9j28vwb";doc="1jkhj04gpwcckp9zqanaa9zhplgs2a5xqnn2xf6ir6qifiv3403y";source="0d7crimrdcxlh8hd24qfwqnadxfjsfrfnjr4hx5rrj75mm946zmj";};
 fast-diagram-29264={run="13c2r5prb7dg05j0r4lkdz36v51zj6v5p2c7q22gfkbz1lj1s6s2";doc="1f3ghs0l6mj2q3iw74rjjb12y8151cccvhww13h4kzc30vacr3r2";};
 fbb-55728={run="101yfs3np0mlwgfhiz74jh2jngxnb395wkcm9fvpmrs4rp7wxx4l";doc="0b48vqwyhmygv70gsbiknmmysd8pz8m27pfj52zqzzb0kphibynl";};
 fbithesis-21340={run="0qzf6ch5b25qrhzflh8rwrljhlj87i6xaldnpj8j9iq83y1xh4jr";doc="0wvnm716qi0y54h95zlqr7m1q9dgmjnl9f0ghvjgm886hljq752z";source="02zmk6yx4v47ngd6ba6mjn1rnhm2w6p330rfz6nkq8shcky7sy72";};
-fbox-62126={run="0nwzysjhg4z2h3sym5yw5gccybb9dwb7jb67fz2b3yl4m06nwphl";doc="18f2w2cr07lnj77lwcqqrj6j1sm9gg1sxmax6rdjysl425dn9ybr";};
+fbox-69041={run="1v7ycqbqlk80lbf5wag8vmyhwr1v4jjs8j7bzni4pm8yp4m0yjis";doc="075mws8pivd2nc045przgf5lmf5mpaw8gdyjlj3haqvpq0rf5mk9";};
 fbs-15878={run="18h6n8azrnk2qabv30kpa8gmj2ljkvx0nqs8qb9r8dxxnhng78ch";};
 fc-32796={run="0bw8ifh6sxgii5s3vx9d87m4rdfmifdvw70wmj2kwqzrij1ri568";doc="19p5r28fzw0i7kmvvv93hiw7cm3lkcsn2hdn90k8m7jwy758qrdd";};
 fcavtex-38074={run="1rnfrvbm4baslmmakf3s1n37razfzbc6d11b5yfhhdhskq2aci5c";doc="05ixrg17jwd315q5c52c4b8smcihj4rzrxjparrgfimivd85i3h6";};
 fcltxdoc-24500={run="0bnz5b9ibr3lh5qazdanlvvpp8d1h2apzkw61qxr6kg9ymmk2w68";doc="0dvr57jz38v5wflcjjp19rwjbisbzkdc91fji9s1yrv27drawijp";source="0k54q30f7qp40fh3clxyaa40xhsa28qyavn13km65s1hwvg4hg9g";};
-fcolumn-61855={run="0bids6ifprfwrrifx8dkmf8piz721x3paha7gqlx8419dnvnp384";doc="1vkyagcr5f0bwjix3ih469jxq5hkg6g4q9kvkf7g1mvfapfpszya";source="09y02rbzhzwjghdcxz81lcwxx12421kdf8hb2kjvhbfh0bm36cg9";};
+fcolumn-67729={run="11bqaca189j79cszypwmijw166v3j9pkm60y2c2wyraj4ss4d1k0";doc="034crw2fxf9m7a7zvsi2c7fafkqkhn8vfxc97dc7k74wrd5g3kwl";source="0dqcm83g989lkgjkb5q9s4d4284g5c2y36y75iyq4jhdh2ca972z";};
 fdsymbol-61719={run="19kqkmjsi5kw5s6kkgf4y7nrwjhyd9pgq02y3f43wfdml9jwlvx1";doc="0ddy5d074fjmkvl3pm4akqfq7d3f57y09cfmrs5wfgvvb51gfcvp";source="18hiwralhdsp8sj8yr0c5pj4xmjaiyyha1y36sgca2xlacpw8ah3";};
-fduthesis-66197={run="10bbs4nn7ah9y7972cz3z2b9k7igamx57afplzfwqx8w5zcd6n7q";doc="1vw78r37vl7kn6k7v0w6g4rqlb2yd3n0pa4zvy90yl4igvyszncl";source="1kf5iw50s41wmz8m05xwbn0lgi0rn3alm3cx4vyhxhvs651vyr6y";};
+fduthesis-67231={run="1cysdwj1gl9zpxqqcb563x7ssvc4y6g96cn3afbjk5hhw8381h1x";doc="0w1dyxcyxjpdbmxrv23xlrhg21kq2wf1r85dkdaw3hs76800baqb";source="0spm9cz58xa2fi86zcbs4qp4zxcdvaq1ll41bmp7mkykr369j2k7";};
 featpost-35346={run="1p8xb6kmfhhqvxcmgf4bkw60p1py2s1pyn54700zs8vlkbxlqy6f";doc="1hy7n0jfdidj3an25j0m5bbv2ks40iviwzwijlk6qqdll0k26z33";};
 fei-65352={run="02zypphy3s8z531zmvrdz2df0c6viyfnzfmn5hgc8js557z8iw3f";doc="1nimda4g0gsf7521ibmqmh5a9hfyyhdp28dpiqs0wq50ysl8phc8";source="0k5y72pwziakribc9m9yzm860pg1q222qarvrqxyjqchhlikcrhd";};
+fenetrecas-68779={run="1fx9kfgiiqkkfgj12x3yph2218az86h99r9idg7q5rkx9h04lzg0";doc="1qcg04kcvfmrgsza06fd2aam27ixwydis86f430cfli4x3c4c7ap";};
 fenixpar-24730={run="1l79py58dih05c4kjb8cngzs3bzpbhc72f4hnz2r7nfwmjp86c56";doc="0fbx9wms2n0ff1cdpfavqhjg56przd7hr515vh81g8jgnz68s24l";};
 fetamont-43812={run="08c8xjgam1fx3aa4ikx62jfh3f4bws0ngk428bqzbrd8q445c3jz";doc="1zlhg0wgchgkk6j8v23wd29hklpzb8q4p690pfswg3zakc0dcbgp";source="024bwgb36iz2ylwsfzz4wfgsyr9djdd0p23phadzmc8qzxqsslph";};
 fetchcls-45245={run="1pccfz68chmnbfi9qnrmdnyq5kvkq6ir5dl09jqbjlcw7hw82ka0";doc="0if19dgb2k75qhyka4jiijnl3msk8y8kj0fzhriarsicivwd47ds";source="1qb9ymkvbxmxlpcs3drcyk02bc372s0vhw6wwpig2bchb1hwdl44";};
@@ -1369,9 +1391,9 @@ fewerfloatpages-58058={run="04903zr0lk50i88vywpbzpg908zkmy0w8vcfks55cmbfb2ja37qd
 feyn-63945={run="1pd608v8wl7007rjmsykwabr1h8jjk1s78nbmq4a0541rj06yd0p";doc="1dkfi17i6lz464bwmr5r5295y1avvsn5rpdw4cv80rd20lvhnyyp";source="1vh6kz22gpmch2rdlvhplvqqd03vd0mn5m0a123i3xfbka1myza7";};
 feynmf-17259={run="14bl9c8yz1z596281kysyyjbf727pi6mdnwag6gfqs1nsinq0a2i";doc="1ql099wrlddb4fyfrsirx0vnhcbh0wgwp9yixhvgxfk5pbah8v8n";source="0f9ghmp0hcmzadsfljfq7pinn69251dwhcdk4n62jrd07qdgqsyl";};
 feynmp-auto-30223={run="1yhvcxiq6ajjmlsvnznzvp35sap1qsnj54zv70dwpl29rkrgrmsp";doc="1y1pwlplkz2z7lqz84ay7ch1lw4plh4n69isqzsvhilnr31fkf0a";source="0ja5yqs9szyk4s2mk9cbjf6p98dagwk7pycma84y48kinkl96s0s";};
-ffcode-65170={run="1a2k2n83c5wqymc1wg2pq0wzc0x3fwlm13fmrdg3g366c0x082fq";doc="1pnkk8cjbjzmga5na4g1ip9qcvhfl65i3s95mwp88pfrpfz78a08";source="0z5p9z70f0rigr76hwiwh044spmginax637mjm3nxxy8n0zp8sil";};
+ffcode-69383={run="0lrhl343ffn2pvffkf34kdins8b97vq1shaianzlsbr30slliy77";doc="17jxqsa16xkrmq88kd0ydn4kwfr313m8ppl7g7wabnaldnwxi9ga";source="04vb3sanfnzsyg8zg53r9ksrfj03lh08yq1r0wxpz82gcdbg4zhh";};
 ffslides-38895={run="1mpfpawdhh16rl6pnvxnkj95gf9hjs49gj7cwfyngmqkjc2idi8j";doc="0z5kpim798zxj20p70dpcgmwg4vx9mb0zrmq620sprxxdr2gd059";};
-fge-37628={run="1f6ibw87kbhpf3qxjh17jr1lsh9kk9ynf1rngzyjwbq2rk2id94f";doc="1c8nnpdvkxcm6218mrs18ipjf9mrl1cqyvv3p31x41ii8wxkvjm3";source="119d70668gw3za0mksr93wcq9gpzjn4gyv8vmizlabi0ip1ycgy8";};
+fge-68353={run="1f6ibw87kbhpf3qxjh17jr1lsh9kk9ynf1rngzyjwbq2rk2id94f";doc="1c8nnpdvkxcm6218mrs18ipjf9mrl1cqyvv3p31x41ii8wxkvjm3";source="119d70668gw3za0mksr93wcq9gpzjn4gyv8vmizlabi0ip1ycgy8";};
 fgruler-63721={run="1x0pqrwwbwf7qi64wlcg8d73sf5r59jcqhhm3l30qk1ymfwirzvm";doc="0mva3jv63prks2la2g9sqza2ng59bg9g5xkgg4flamk0409bmd4p";source="1if9sbrln3jsc965xn9njllnn56dl5y4v2krn76hyxsk1vyza45k";};
 fifinddo-info-29349={doc="15zp4xvszy07cy1b5r3k5x256lbalr5acrrdj1gx33llfmvm469a";source="02pmj7a9hx4xnfjbhwg273a3wx4449542rs7rxkii4hk78xs5lwr";};
 fifo-stack-33288={run="14d714q6mzpag5rcn2b2454pad3mpvdz6ii8k7jdvx74ay24zphv";doc="0pgvcyss7h1mynawdhpm8xid0albf5cajhz423ygz3ifi2dfrasx";source="03hkqd4s9dm2h10i8pw3a6qgrjskiyhnkp4wh9r55l60wnqm80bc";};
@@ -1382,7 +1404,7 @@ figchild-62945={run="0k72116mhd9z9psbnrncmn8x4svhyaf8b4738qxb808i81ba97kv";doc="
 figflow-21462={run="1w2wccxfjbas2yyp8sscxfb875kz3mwqjlma46v4328sd9vw4pwc";doc="0nkdz047vypv0b47wbin7nz3cbcriv89w05d6yn26wvq5svlxgw9";};
 figput-63957={run="1hvxp65c2y7852fj2v5b4m3bq4197m564y6gzin2hddbd1w003vf";doc="129jyybg92ddy5i6gg0f28ij0qxx59p8h2l4y9gb154rdmqa2bld";};
 figsize-18784={run="1hb2fck0pz1gz6vm0ffpzn3vcm7lclagsi599bi2f2bc9ly2372p";doc="1zdncnl8nmkazvqjyamzgj1x1f5fm3kyw5m5fi669rk9dqhsiq69";};
-filecontents-52142={run="062jaqszh5fr1pjrl2hms9yngcr9xwhkfn9if53kb3wal1dn4x48";doc="0i3fjb81chwiz6msm1k0frkfaqqcla49xhg1xq0z617y3rb59pgg";source="1zryw6mx9vmikba8za8981h3nnx4gbbb2g3m6lm3cws0ak1h5jwy";};
+filecontents-66740={run="051s23ymbjkv8z2d7sv8jsjljy5w2sh1mgvynlbkib390gpgybh3";doc="13fwkv2fvdfl1jgyfg4pn9il6w6pn3islc9zsaqs3bwzj25y16rs";source="1x5ahz0fsmnjx7bvbr83316r6w80gnp83yznnhxnj0zg42s2gfxa";};
 filecontentsdef-52208={run="0lrdmz5fnmrlzga1w2hr3ksydnz52lmqlnnmix7xrcp81qv9xmx0";doc="1nxb4wm4wd223f9wn7x8j805ybximrk0v6n1l56xysz4k30jxcba";source="0n7zq8plqn1yki6azmncgdlg2lxcprfpdq5dv0qnxvpvw5dawdvp";};
 filedate-29529={run="03fwpi529pp6bqwr37ns8nas236nhh7nm592rpjyrvlyv1w30ifp";doc="1dywknjhl2p9590nvcpg1vi8r0iaj52dv7sn8c2y8337w37c6ny9";source="0fwqs6wqw93ih2icg9b5zxgya1zbaj2sn0jd3dc8b8dm59cwggk1";};
 filehook-64822={run="0h0k0fgdwzm50jz0ibj7zsv1sk355q13x1djc3pk4fg1f3czhfh2";doc="00l8hx1sn4sn1mqpyiz9isl5a25a4a64nifq6q2jlw09df9gmf9m";source="0bd6fhrzy6bh42yb44y4bh01zpx92crca8zia4lyjmc95rlv6gfa";};
@@ -1394,15 +1416,16 @@ fink-24329={run="1pk9qp2cbc1yagrgnjz6rnldn6zgcb6bw3vi452ks4fwic4pgwz8";doc="19fn
 finstrut-21719={run="148pca47nggxv9dyg5n0p40ri1mqz5chj4ir49472w62c8zh83fk";doc="1jrxyksw0bldvf5faykbpcngjfx06y83q81rs3k3m6vldm3rw23d";source="179640qn5swml0wrc1glvbf94ia5y6s1qlyf3hf2vmr3vih7k2mh";};
 fira-64422={run="182wpm6dkhs41y6kr4bjc4rpy0b62d17r0j60a23znfgglpriy3f";doc="07wm5kca97r39shhymnwiarsxn0i5ykycyd28shqyqmmmk6f2j33";};
 firamath-56672={run="1d9l5nsx0qswn1hcalzsrxkvc7mvpdqk3h72bfk50h91lfm2i567";doc="1w6zlskvs54x192nyxa83qnlqhvq98g64k5fv6ch406nkivifmgz";};
-firamath-otf-65561={run="1f2ybcf873ycrlsf59cw25715422n11jhblggjz5hmmv5vrqpvpk";doc="19f2mbak3vzkjlpipfyja5ibdgxvixf698i2wm347lbdd0p5ligg";};
+firamath-otf-68233={run="0680qh4drixmrvhv3klkflz0jml06x8k9inl2c8ym6a8adqx43nj";doc="10ynw2ckqc7vsv5hq9kv78cvn6yd23qfbyv5060sjxl91w6qxs63";};
 first-latex-doc-15878={doc="13ngk5pia5vbrbb4jrrlq1lmyja08m7cy4ydcjasxha8kns001ss";};
-firstaid-64892={run="0fdv1jsr5cs3a9m9c0zxpdcxg69lww4bkwr1piaq7j389z79fnm0";doc="1d3gd6rcrv78y24gphal5367n9wqfqlbw8k8bzcdiaj6aw9frrjr";source="06qn7h2r2m0iay4gc7d853n7xjldygly7v0w7fgvlfgc0zisksgw";};
-fistrum-66263={run="1ypzwh9a7lkb5b6d9796hwzarlsm06nyndl4clk5ss7nh9jdia3f";doc="1zyyrvm4vmd1fy35clf4aizb810mhr2xzsyzwmpcgsbm3nf7i2ng";source="048g8x5q882668lbzz0ji1hndfkd2bd777s2zyyq59bcw0gmavbl";};
+firstaid-68720={run="0jfrn4vx45aqlw8n5ipicl12y5r62vsyr6dl9vzf6yld4dn5zvvr";doc="0ad36d5bjlj6y5x7aixgn5sl5ra31hqif5yz0j7n5v32hxhhjqi0";source="01pf1jpxgq7j9s720xagjalhyzxr49i8kaw9mrab7fvx693cw9dj";};
+fistrum-66461={run="1ypzwh9a7lkb5b6d9796hwzarlsm06nyndl4clk5ss7nh9jdia3f";doc="1zyyrvm4vmd1fy35clf4aizb810mhr2xzsyzwmpcgsbm3nf7i2ng";source="048g8x5q882668lbzz0ji1hndfkd2bd777s2zyyq59bcw0gmavbl";};
 fitbox-50088={run="0jk46rrq01bbqkwfqf1rdrzwv475mdmz4hqvbffkivnbwj1vz18g";doc="0gb5gpdrdagilxsklq1aijr5zfl5n82nwal1h9qls0iqzjvgizka";source="039q5as7939zc5nby6m6piz5h0zphm19hqjkdyrgzw1q4r9ypzc6";};
+fitch-69160={run="1c6myhpv9ix6cr6snn5f9ky2z5caam1sqjgg0bq1bj8df3acdv80";doc="1gdgmviy8pqqwwsvinrb8qsgsd4gw6bx6xci56w4nmfal729r6g4";};
 fithesis-64135={run="06r4qkkgmvak5z624vhk2gl7vnq538ixjq6v2v4h1zz2863kicck";doc="15dnysdjas5a2a53g295f5g4fvi4rii10w72w5z9libxp6h93nmr";source="1a35viafyrxh8aqx9n6gy4j3kk4yjz5cjgwrfyskbpvk014y84n6";};
 fix2col-38770={run="14n020dmfn2s54h5xvc9lrynijcwnj3d2w4kg2w52v0kf037hmln";doc="089pdfpk0bi23yb7grjv4w1agkssfczwvv2vhk3piy43qpk9h09v";source="0wi711gb3bc5pc2kb7q2hz8y09g4phjxggrqjbl6i432z42fc061";};
 fixcmex-51825={run="063a2mwh75mdbh8syvrdldb7cj4iyvqkbkda4jm6cq3nwbq9kly0";doc="1c9q5srhfil0wnk84k072ridssgwbmzpskk6pwpaq8id36dydvlm";source="1h3xrdz9anb2cxr8p175rrcjvaawv80cj3bp9l6bcpli6yb6fdfr";};
-fixdif-66031={run="05hzw1jq98p8wvxxymncx2m2l4ghlp6qy2dmhlf3jsvhld44j4wk";doc="1j4s9fbk1ypn9k8zcvx9myirvqg254ciagbaj4b9djd00wf87lzh";source="126fafi9sz66z4j2yp4jlkmnmiim70353rzzbdffa5qaipsxc37j";};
+fixdif-66606={run="1gxz7bv0h2485pwrs7b0zhjcafkgzd1r0ikpjjw0gh4iqc3bcqd0";doc="06f5mkpp6aar6c569pwd9952xgzjdy3zx8n8y6y9a6wfflyh3cis";source="166zj8nmapwqkd06ksvjbjajq649amjrfji9z9j9mbcg865pgwa2";};
 fixfoot-17131={run="1zszczpwcggczq428ha84g71rvgml2zrx2v74nmk1damcp35pzlv";doc="07zdbq43l9yddc9gi4i2qqpvz0xxmkhxgg3wl329j25p4h58amra";};
 fixjfm-63967={run="1v4gn6bwlb294sxrqgy6j9vx2dp7plbagkvmw7vbvp6wk8dkza72";doc="0wiihlpjzvmh8dynf0nbhmn8raxflqxmzpk97s1qv7kkvpc79sy9";};
 fixlatvian-21631={run="1qm1jj803a7zgqbjn4q4sg4mn3pvd600pfkqabjvp0ck24r1pw1p";doc="160bb2khxfhl4g48a5cbj8xdxslgxvav1c0wiq3w1ajla278qj28";source="1zfdr8kahxgkhxzg925lgls50prcgyp6hz1vhis1241f9rd6r3qs";};
@@ -1418,19 +1441,21 @@ flacards-19440={run="1k1h06a22jc8wdcxf1066rn4sfgy4m3wh479f4by1zrp773gykzl";doc="
 flagderiv-15878={run="1rnnj84vl29061hnbayz5sxp6h1civl9c9w2n3b0s56i9kxv3dd6";doc="0djwrp2rjyyd0wk0sg55w2l75fwj3gabd6bim1smpvjwsps0fcd0";source="1q0g5127vyhkjb1g0v20kd0x3p0b67a9haich1a6yp71iikl1s8p";};
 flashcards-62104={run="1xih8g4znfwgd5cim1z63q4syg9jk8nz99q7fgc9mahzq7xym2mf";doc="17as1mkgllva5q92qddwzffl7dsirx22wlnxn12yvv6a0h8hx57l";source="162r74jij0b8yf22xyvrakbrzfh7vjpfl1800ahljas7n8g3h1wi";};
 flashmovie-25768={run="01rmqf1rg5vbxzs9wap7m8d19fw73mh3k7min4msbipvg1vqhgi5";doc="1lza6mv55da69v8jwjlcd08v5y2gs2s87z5h1hrsp3p3mx3chya1";};
-flexipage-64572={run="0hk5niaa49gngwggy7mgdm6cqln5gw4gffa7lpxk4z2vnan97szy";doc="13dhpfbjmh3f3lqsa1d7km0qx72jlwwzfndmvfy5br5wj63v70fg";source="1x5qvblfs9ldd8qr3x1pyxjci10d6pgqhgxy54raxfmia8s0x6g5";};
+flexipage-66614={run="1296cbg5kszwrq6ixkpzz4w4x0a7k77kf641v292awpf9sd0mzl3";doc="11s6ldawl1w8vpv6cvw05d9krjxv9921ilryh9ffwrrpzf4vgjmv";source="14ajajbl0xhjxl5zggjpip1b4grszdc2g63csgdy79bpiffpkl51";};
 flipbook-25584={run="15b2nzhpgj6018769ggajya6qmhq9rnyzha0sic9fff24jwdq62x";doc="0lf04giwsgjq0fsk6wrms4c3dg53v1lq3n0q1ij5pw4390llsqd3";};
 flippdf-56782={run="114xvv7sv9fhqxgfz5ckydn95mrg4049ml3kg6vjjiwbilmszr2h";doc="1fgk3g74arazrmw6swfyq38s5gdw8knnwwf5ij0dl566cwmcfvmj";source="0hbw3wgdva8vkic4sz0349mdyx8dpz3k5kk0fn80m0yqpldwgkid";};
 float-15878={run="08jb0v6lsyff09hid3whah0i0fk5znsik5rigl4l7vflnvc6km8y";doc="0pqj9qq5yprg0xfxga8ck1s2wyjzz4ymhpqgzhzbxbdslh475vg4";source="0774d7gmb8c7fc3f8yzarlx1m8nld1vg4gpd3dfyw5b39ra4aq4h";};
+floatbytocbasic-67945={run="0vykm4w2a4gjhjhrxr2x3vaan81yhnylpjx3z48cwspxixlnmf67";doc="12yyyc456v4i5dj7g3cnv03zgvwvsv6c24vfz7wn9jk5gv90vrwf";source="1gkq5v8z77cncqqz5cvzi78jf66v1kcni3yphzhykvd2mgpb917v";};
 floatflt-25540={run="15v2m2mchki2gcz0fcp3myyr806fqyy77nv9g6rqm11aqp6212bw";doc="1d7v1m23p47rl9lln02c6bsi5mkqi7c03dhmnjhg8bqp6xfkfmaj";source="1j53lkr1j3fp5wlb41x2vimncv2l1pc8qm7qy74i0r1xf7kfibzz";};
 floatrow-15878={run="177knmgpv583xajihdd5q5spaainn8h35kgydq2sfi6ch6cadirh";doc="0py5a36gdbsd91679k4chfxy6ykj2wkjqlg4zkp5xsww6fxglskx";source="1mpskdqhghmgh7i3425xb985pwrcqcbfw3hlfhbyx3bhwwx5pnqx";};
+floatrowbytocbasic-67946={run="1bxvfl7qk36znp2i8a704r5jsm2kljaiqyff6nsfji6v69wfgwwg";doc="01qaaddanpvl7v41v499r61m7b739qjjkwj5k9d08h28v5lrny0l";source="1jy49cv9kvcmhkyv8pi45fr1991dxfn7jqvq1i06v0adyprvw01m";};
 flowchart-36572={run="1b6gwbnd9xjcvjxgnl6xjq6lja1a0p2xnrdlbrhs6ka6f6pnrbl2";doc="06i32gmsqgvqgy0l0qbdjybnp4rmz2cn1c7zw76w3mhd9z220d77";source="14ikpr9fga193y2vgr5sisvzc5scf04b1xc9hcv6zmkcph8dvnnk";};
 flowfram-35291={run="1ccmry6f8danw6jqdsck7pzwjsrh5vcfy99f8kzyqcbbrzl5rn8h";doc="19rrav68s3wlwgaa4mhgqsdlr1syfpvp4jzc80cygi0fhv2hn7yi";source="1hrs58xhwawxqd96jb5hjywbfra6az2qkap0p5zap9zkck8ixz81";};
 fltpoint-56594={run="13zin0r1hcfihji2h33q039mpcf86lw2q017ss8848xpqs41fb0p";doc="1yr5d1hs3bdd20df25c1jyb0hcizwq7bxjbcn804b97sjk2fk8gp";source="19qy8da4ppsd1agh1c3xs9fxsl6z8c60lcyw4dd88mymk7yk4ysd";};
 fmp-15878={run="07ml6i8lqcz737fm33g95nx1hz1p0z251h7pgxvvvdmn5dml1l94";doc="13i7axi1s8qqgdvdky20dckmsa95q2q54z7cf6zgd0znzjy6d4mp";source="1fd8h6dndrc7hphs87y1lfplmkrwgn1pxgmvf00gfhgkg1zf127b";};
 fmtcount-53912={run="11d9pq2cqd1qv20wr5789bzmk0a82j4rf8y9xh4l6nf2nk9p5c3g";doc="09ikawga4sg27ch8rvdf9ni0k8b3nk3k84mgydlv4lrg5gb2hv12";source="0ijsl21nsx2kkgbcc00bzs637rq3x92ax0xbrdagkfvnrna0bg69";};
 fn2end-15878={run="0cj26s7555q49fi382pbvy65xa0yp0wbihk3y0magblyxjn72wdx";doc="1kafhgr4c9d4pjpydd27ha1pdbxk364qv8dmcr7k3l7xlv31jv4f";};
-fnbreak-25003={run="10fh7d75a3628jrsbl04g2pc4015nsnrw1gda0ndv8bz603qc01k";doc="1vsv8prgd37bj141p0h92wjc7sqxxzw04czbwyk12xzpbg7d7gyp";source="1jf28rb0vv2xvp06awiglg4ggk6mzc6pyr1irfgyyniha54gi0ab";};
+fnbreak-66615={run="143wpqpcqaamjvg466cwpggcayxfqnf2vjvfvy7xwgky9sfql05q";doc="07h1xr1xgih5j8mmqvv6v5kavnb9yzrh94g0m42rjqdzg5c25fb6";source="0rxbjgb758x82gvjrmap30q4jsfq0424r3xszbm1f9b4wb48xqxd";};
 fncychap-20710={run="0x3sjslvz1gsrr8607q9r6k8683p9zcz7p0kxvr92j9ls1prl5c4";doc="0is37brbbdqb1szx3rwgmaqbl8vlqr82sy8svam39yrbnzd9v1k3";};
 fncylab-52090={run="13l9jmcwabifc7m9klgwl2gqypwlizy1mb7glsvp3jslpkhfj267";doc="11w7z5q433lnzfm4c72697f82yb7rljk9zq41dl5bdb7l9wd7325";};
 fnpara-25607={run="0rn4yk1zd4h2r5xhghv7v0ph0raspq4r6mw812hn80bn8rhjjrlq";doc="1w0pkqqgkq379nnqk0wx419z961l3g81ldkh8ivfhn9q5vk04p0s";};
@@ -1453,29 +1478,29 @@ fontinst-62517={run="1jqhfib1ml33wq292x9ff03shyjrn2b3grw44cxzxndg4vq7mn1l";doc="
 fontinstallationguide-59755={doc="1i6im0nckcr9fzs0kc54dvcj3jvjz2j8jd55xgjm0r569qjj1hi5";};
 fontmfizz-43546={run="1ccfywcywrrim1hk7g0kg0bljq034fh27qrr8w8ypcyjdnafkhxg";doc="1fcsrwbn8kiyw4032kkjg2668ax0kfcb6g4kzgp6bjcmqzy6q1zc";};
 fontname-64477={run="0ylpryn5wnjnf6acjl6kp67i0vl1dz59xk2xbxb0fqhx5ib1gdgy";doc="08vfa7n2bzjsay7b7zaigkq7imlfmq92f4firwc3rx9hfm7hjbn6";};
-fontools-65706={run="19dml0h1qgp2y58xsjhyqq56204nnbc8cci626f8zlrjq53b3251";doc="0v5gmccq0a9f184c257ldfr7h3hdkw1090n0zj6qv2pp7mm0kxjd";};
-fonts-churchslavonic-56350={run="1rqsbwbqfkd53yaxnmp17vygxd049livqj71c2cszzzqq8fsxpif";doc="1zjd1v8kq1v1sf4wfqb13x8jz12wpkpydmvldjn8l1i5rn0d7d4k";};
+fontools-69241={run="0smka2cr5al8f00hfcwpbwkddl7g2zcgg2jrak2j8p2ycibvfgaa";doc="1avxm73plf2p0xk0gh11311bfqbwlxdyvgx9hpg623ngyw90wkaq";};
+fonts-churchslavonic-67473={run="1s8y5kri1sjhsbz2mdszwy12vz8k0b5ad0rp383jrgcd710n3949";doc="05kgbvjj4w3sblsjprgq1gg0inrgrx0hpim8pmbgqj6w8xc1n9kq";};
 fonts-tlwg-60817={run="03fs5l62fbkz9rinnraz9zfz1byjd74xwvlfqcv4cvbxg02dpgmm";doc="0l4p30am56bblp120lcs81idahw3wrgmbrvi0jzfnvzsyd7xh068";source="06zw6amxdkmb9cdjvkvwgah5x33ksa9iigb4dcw6b9d3a0q8c8ya";};
-fontsetup-65439={run="1hdfjrav3nscvcjkfwqziaw0gn8wzlqpq4d0zi7vs6hh7m02y1f5";doc="1x8claj166zwzl285v1yvx4kmp0mychzvpnh71hghmqqg6c443kr";};
+fontsetup-69390={run="0cwklm2jzf9rhn717y7s2x3wf4z098djd6zg57rz76xrr48hgzfs";doc="1mil076kr9r2a3wpn9gdkax96dzi9fg36ycqcl9h3an4zn2x0b1m";};
 fontsize-60161={run="0614lcl1cxc7a6irrjinp5x1rx2cbzns0al7d9f3njyyayp13qhq";doc="1c6p4yz000rdcmjkn7pgz3ckw3p42xkz4clk5dz01fnxifmmlf1l";source="0lvywzrc56rfkkwipwhqahkm8a70cnff0r01rpl92d6n6znl278d";};
 fontspec-63386={run="1lskffvb9a3jmzq4m0kgq0v4jhl39aa70zkz8ha1i5zhljwg4r6r";doc="12rxb0f61jgh9xbgzq0479zxzqwahsx57s9nl5ygrwcigwzglk0a";source="1zxfi2adixnk7fcy3j4iixr86clv9gckgwimycrmsf4wvvaf031m";};
 fonttable-44799={run="1vz99pfw4akid9hjf7dcqf1fx5h30sr25i1f9q6a9frk0wpwff72";doc="1inb0ai6q8rjsrcwgv8ns6as60ifdidqzqb8x9ygaw3j5ykzr02q";source="1qjilvy77072jpbdc4p4qfy5d4n2ww2wcm5drwvai6p2aclqf29x";};
-fontware-62387={doc="1b4hs94ahc2sky0j6i1yxp0qh0sgwhz3hrqpx1kh84l5nzgi7xmw";};
+fontware-66186={doc="0ng27m6cz92aa52z99gnw5i8s8fbkxq4354mygwnchchgxndcba0";};
 fontwrap-15878={run="185mzghp8xckdq7z6cdwznrg1pswflvfy61bhsnpaxx8wagny1zk";doc="01knmxqj88g87ljvxmf8rr72i2gh9qdmx7zsbwyjmibiw71l6pcm";};
 footbib-17115={run="1vr72sl8q1ccql2p42v3a9qw01a50v1c1rxpgmz39pp65w4z8s1n";doc="1xyq88jcg6p7lc44n2ky7538r23d4n0nhfkq25q7xg0dh8whbm34";source="0ps56l6ah0i398f38bxy4yg2i1p0ajcwczxq222hl5176g2z28jb";};
-footmisc-62524={run="0qw5sp4pad4asjq0n2hp6p6nzyn6mcc9c1w4l33rjsj8x3a72caa";doc="0jgyya86vfbh78vnb4ypkf9p1qfm26964dxb1g43cblijzxi9d6f";source="1glgl68nfaz867c7paia3c2mgqpy1kslyd4gph2zriq0mbzksp0n";};
+footmisc-67556={run="1xyx6fj56vj49m9848i83jbq7k3hycx9pd5nvc3cd6md99bmx9pn";doc="0ik4rl9nmad0f9zjx600sxvlig6j3v0gw2lhxmkbs37v18p0xqy1";source="193ki23hrlnw0vkh2r54m3y2h54kzh989pk6iwjnfgf91d8nijzf";};
 footmisx-42621={run="0f6csxzkwbf4nlw6z9rfyys1f7fc0vpdi2m36g7y3k9l3j6wb3mq";doc="1962sivh4jipsxd0z0cpzpd0jdw8v4afbpzfinklivnla2c9hp4g";source="09w5bfx94533q36z3k0a1sf9jx6acz85qgqypgn6b0b5mkhjsmar";};
 footnotebackref-27034={run="12vxch1i8x0k8d760vgq61i7j3kkylgbcxj6ggdv8wzd20h4izyc";doc="09dvvnjvika3617zx438ca8z3fmdkqbxx9y73pdhn6gaggfmzr72";};
 footnotehyper-60374={run="088mh736125609bliars0scv7v7bx315ajk801yj28vskg0ki5d0";doc="1dj6kpqar8bh0qk0qma2ckp68cll2ncllqfda4ffmc5ljmjp98m9";source="11dg59x87a8yjq8j413gk4p0bmpq8awwh50c6vs9rrcgv67mbycs";};
-footnoterange-66156={run="0z2v5diab3xpq7x63n0w71r9yalnypyv70syh5n4nr79ahyxcmmx";doc="0gg1sc5dv9kpxavrdkc2865fcwkyc9j24bvk34l06fr7ib43bja2";source="09qa9gp6pv37kcck55c9zv3ky79xdw2ivkwf94nzbw475ryw0zv3";};
+footnoterange-66149={run="0z2v5diab3xpq7x63n0w71r9yalnypyv70syh5n4nr79ahyxcmmx";doc="0gg1sc5dv9kpxavrdkc2865fcwkyc9j24bvk34l06fr7ib43bja2";source="09qa9gp6pv37kcck55c9zv3ky79xdw2ivkwf94nzbw475ryw0zv3";};
 footnpag-15878={run="1qdl7lpfy5nn6qx026b9aqz8nfs958grh443lkqyxnrnws0n2nww";doc="006w2w6aga9zazlk8sv8maqi4s1rdzqyphp0lpa8qv5q23vcdhl6";source="1hh2754as2yrmfz4hiyyl8nlshsfdhpgpg3ifhs6h5s0xz947rw0";};
 forarray-15878={run="0cn062f805lgy5m45q6flxj5w6gjfa4w1ip7zmhxd2z09s962jf8";doc="1d6m425lfg1g8arjyz4j3q9253rdmfaabaasbpd2ynhjr1abfh3c";source="0dpqr0hff33ddfw6vs0pnk8yhaa4gxkxgn43qgx06mx1srv6rz1i";};
 foreign-27819={run="1hqmhy3l2hsjf2hkxhrsdc3z1mn3zx8718w90g8152x9k84bf7jw";doc="1gnaazl1ds76sqdpbj773k80isyf5hmjxh22p3hs9zxcpnvdhng7";source="1ziafjxcncsba0gbn1qjf2w2gn2g9z55bpcff71hr9axhp8xgpgf";};
 forest-57398={run="0q1xd07z1ccqrrfl3x0fg35sdv2kcyl6vgps7f6gpk5yp8j7d392";doc="1s9i1kxd5zhdqv5xx29kh8i5fis642hcw76ya5bh94qffhwwg7j3";source="1i6r6i8zh70zxz6sk0c9b07345vcfr9aapw8q5kzd3k76fzcqfdl";};
 forest-quickstart-55688={doc="1bjy0bfkb90nv2dbdw8hdrm3dvm1v0r0m7a0l44ckw48vnc6amvk";};
-forloop-15878={run="1s89z93fvsj2h4w1g8ak512mnnfmd3pjvwbgwym6y0dc428sp5k6";doc="03s4w726zmx10s1xdwyrag86lw84qf4rc3vcdn4g1mhm1cwqg756";source="07bjxa18cszvffxbvrzg26fpp77a5vvmywrr625qyx8v84khcs4f";};
+forloop-67017={run="0mqlc65g0khj1izxpgm7yya2klazsqggz2xx61ni38z7kqhqs58s";doc="11y7afy69dkp9rabj1186aw1d8vfwk3vp9raj0brknka6wlgcijc";source="0k0skv10m7z44d20v17yfdvg6vpn6m9ajn973d6da9cshxvszyiz";};
 formal-grammar-61955={run="044fz33qawb2s81c8walxiz0qjam7vsvsnsvqchmf4izd0svw998";doc="11rj5pbampim79ffipm7asn8q7nf8yy7l96j0j8xjyfxcqqld6ca";source="0xy21vgswxjr80q1qcx633g09qivgkd3i9gf0fwjmykva23q603z";};
-formation-latex-ul-56714={doc="1g964xll3y7llhcq1xih2zk916ikhx5jkq60il65z89fsb6v5jj9";source="184d2dnzcvx0f9di67433jw6b505mh3iv9g5fh30gq0344lfivx8";};
+formation-latex-ul-68791={doc="1mphwdmz61p473y2skv3xw7r7dkqfqr1qygnbg7ih1ai371f7hdz";source="0c4a6hgyvmfav048pifdczscd4cpd6pv0fbaixsaflkrpfwkn78l";};
 formlett-21480={run="1gjdgl26ma0sh15yrgi8kpy4sq268jkz9jmyw66iy3d4k9ybggsm";doc="1mm2m4qgiz0aplbyf3rwzhpfzhyg3mfmzc00z35kv6s5phcmlnf1";};
 forms16be-51305={run="140xh5578cpjn6mfwnghy38alz4av25gha09gl7c7qxljgpc2a7i";doc="0wa6pyn8l8d14d47kqvwvsnkv2s9mxfhmzan7jgzfrmkb74h7xlx";source="1l3ci86wl6an48a68vfh4ynajq6j3br8wbafm8w8c0x810hb141w";};
 formular-15878={run="16h5hf50ngqarcxk4gjs9x9mcycmj5cqwy5pb6ffpj9xbsxn4r8i";doc="19aq7sbghvrif72x7vzvabrhwj7lgsddsbdqbkv9vhmp82452vyy";source="1s8ngbw6s163dzj9mi629yd4fisxr1gl8w8i618my426szc1vrcx";};
@@ -1489,16 +1514,17 @@ fragmaster-26313={run="1d59sjzlvygwq9b02gbrfra4cnvmygza80b5rkghhhpa0n3xnx9p";doc
 fragments-15878={run="02m23bx1p090m6w1frb2k6m0cv6jk8d9fdbmjscwa7c9c55qh5gd";doc="11kj5gczbhb0imfsf30hc74s50iwq4zfs79j6kv62ib6v3p32mm5";};
 frame-18312={run="17r35x914f3h72drsszy74ir5phcxmkrcvwlrfd11li0lsmiyj62";doc="0888jcccsnlpzkynpg8mvxy2mnb2d3xz41bi341q9fdbbzs5lmnn";};
 framed-26789={run="0fp0zbq3bjfqx87zb01m5ffn8kw8044vkz8b9cfndz1ki64d9x4r";doc="1pjnqy8zl5zkadpkvwa35khwjk1nxg9pq0h1wqwgrdvqk6gj0cbi";};
-francais-bst-38922={run="1jpqkxaplcjrvc8647rj4xh9kyaqrk3yj7r3nrkyf4r7b0vwq2sd";doc="0v2828gxvwhljsf578a06pbk1fr3dfl15s9xchy5gpb3cmv2xg1n";};
+francais-bst-68686={run="0irbq10fv35k09a5jdyxa9c1x56k1adxhs3rmdzs061a3j0pp1g1";doc="0c39ya4kdhl5hialq3fggf6vkphg2nb166avfzs5708hc119ys6k";source="1rlq3j5xwci45gb0mx8p4zqp4fsdyck4qzdmz4j8p25mx7hybcif";};
 frankenstein-15878={run="0zj1gcl4gab78qcs2rv5i9y4q234iz731x2hnab169ygql4d95i8";doc="0x1fp5xc2qlx0pac2vqm8567fdh8i97k25ixr28w7fzwl9xnm91x";source="0ag37z3klcy0jvcvvj7v14clx2dvv6q43lh6gw83rpsx51v9wza4";};
 frcursive-24559={run="063909r7iga0cirxq8qx538407qly4p2a440xq7c603fmgcb8n6k";doc="147sa2wcixanwrhdh3ns8fg447zh5f42z8x0aw41xhk7pxncqrml";};
 frederika2016-42157={run="1pi2bhbxw9xg78w6d6k4l6p1qnm4nh6m8k3bn76kv4ascydc9hfg";doc="1vyy278j376swl2sjwxygqm6mi6s51aa6qypgpw3w2g5kpsqqxqb";};
+freealign-69267={run="0b1b3laxjjjr45cagwakv8c50c3cmw5iycd76k94d9nxhgm346vf";doc="0pz47rbacyyqyh075fz6pfvjpi32fl859mckpi4v0kwr9yk6k5aa";};
 frege-27417={run="1n0qak8xsi8wlg7r2daszdvi3hv9gmp7i04phcnx4hnlr68842d9";doc="0hb7a6c0i0jk8cvv2vfr743ysqn2vh1y6amy7arc4zafi097nwly";};
-frenchmath-66477={run="1jvkcdclgr5f519nafa78srg7f5nw97llj1apqpv5kblnkrrkwxv";doc="1fxcw5w32859ibz2j2cr0bs3lcx65r5jydm4cg32r2h55mhp4rci";source="06ljasc75wgws0ydfbykrqj3b678f751wc8jq7any3zq6g6wf7bm";};
+frenchmath-69211={run="1lf7g6kqv9bv6g21c99mj2i0g2v6x740rspibr6jxic6s5q4n3s9";doc="1znx1d2cwa29nic7jcwx1kacfhpig03xj1gn0ap94nz2q5rr1rhn";source="06a65spj8avshffjfp4p08051mxgagaw38i0i8qlk0jp5x89f8ml";};
 frimurer-56704={run="0d2534172sqpzg4zj2fz0k1qa2m627jzqdnpgcak4fxighvx1733";doc="15g0293xz99w400l3rj99849va3swi2j8hcj522qiyzfcx5j7k74";source="0qxpdybwz0rp748rqfs026jvps026sffq3c7zi7bdy8a34mqmgsb";};
 frletter-15878={run="11gxmdwwzwwdlrmycdxi0y123hfikhp9jv1jjmhgsmsmmxsx13ly";doc="1pzpz0q1hplni18m6wkwrhknw15h555qfdxfnnfrnrmsa7n2q2bl";};
 frontespizio-24054={run="1rdgh6wvxk0rhkadcrb1f3ymgxn81vbx489z16k88wkk1p0r4749";doc="0mwdqry0h2f65vrki3kvqpjnf1nm5n9v3ljmn77nlvkarqp2kb57";source="1p2c8sdrm0ay9nz0dqrcjigzsjki15fry6mmhqcm3gqrcscsk5x2";};
-froufrou-59103={run="0pincrfmb51qwn9bcfyqb6rdc0n08lwxf2gr8l74kfmqh2mg5mxs";doc="1jl6glh4pjm870wlb4in3v5vph55fnvykjziqnq702gx5va52jmh";source="0wng7skd5zyk0s2vgnilndi8p9b3h672pk00mwv97h2qb4lk848i";};
+froufrou-67201={run="0pincrfmb51qwn9bcfyqb6rdc0n08lwxf2gr8l74kfmqh2mg5mxs";doc="1jl6glh4pjm870wlb4in3v5vph55fnvykjziqnq702gx5va52jmh";source="0wng7skd5zyk0s2vgnilndi8p9b3h672pk00mwv97h2qb4lk848i";};
 frpseudocode-56088={run="0ypiw6sfap27hpflbk0drnd412ylv9r307jbkkbhnm5lsmwaax2l";doc="1cf6424l655rykyfvca2yl0lwdifgj5kgvl0fvw9ikayf02wh3qg";};
 ftc-notebook-50043={run="07ng7dgbr1swsx0zwm831wijqjq4x6hnr02354jdy9z59k6d4lyg";doc="0w9jxcfvkpif1fyd4xgwbfba9b2sf77mqr9symwby31lxqwrbys6";};
 ftcap-17275={run="0dbrhynslppw5nrdvikzdkfvilzr909ypc9v8nxpa3yh4zln182d";doc="0iq7lq25gzyc85wpmr93a8ivgc9038rs80mvhm46zdrrixh5ry21";};
@@ -1511,13 +1537,13 @@ functional-65485={run="1nzjb56bngv2h36vlww234fndanfi5dbmbz3y1vjxxwvahhqn0cg";doc
 fundus-calligra-26018={run="1rnrqblg06qkwcy7f460pd1hnh4bwl47zyswa1iv4iknx00rd8a2";doc="0jvbvalqyj0kyf6cwr6zf18ylckh3fwpshwhmnv7ldg5r1ylia9j";source="14a0d7d8mlsw7qwpspqc2rmcdyhnfy6l7f57bk9v9jc8pg9fxb6m";};
 fundus-cyr-26019={run="02zz37h71nqq0f4sf00fiw80pq1q3yadnhqm2j3niz13gms9ydl2";};
 fundus-sueterlin-26030={run="1zpcss3lzhc9zkh8b91138ycwj8pihch318zr9pc6bl3ifq37wq1";doc="1pjka7j1378bqa32h0b2dcinf6ayjmzcbm4c1sdw6dsvrzbnda3f";source="1y4bg8r2hmpa38hdgkrk99v87cphikdb7sq5x9aczbmwwgmgw8fp";};
-fvextra-65158={run="0g0ihksjv42jyqfwy9w4221lw37dzisjrsxgppnzrbvgx0djb065";doc="0idk8rh1crisb6biizbaw1p7mzzrdrjvfqp4bm7bhyxl4r47jsca";source="143vyfadbqhm830zyknim3rjvm9dj1c25l7gqr17sy6cyzi5njwa";};
+fvextra-69001={run="1dxzwabx3zifcidp1hv56h0kd234jixjnblym2r4sqfw7lsdyjv6";doc="1wwpl4y3qcgg1k6ahg0w4rwxzr3qw0nv505dric5qpsvi1944fj5";source="1jh9y4w5c05vsqv1yvrbra9pkcz2j3bxqnqqxlnyv5m825k738bm";};
 fwlw-29803={run="1qwlknaljj8f1cpnln328az913cdwypr7w8m8iqbqiqhsl49siap";doc="1cib3id21xblai43gkn78ypz6n99vwzhzmpdifdm8wv001x7wb82";};
 g-brief-50415={run="0w0i9mqc5wg9za3n99i3fkn4bw78l8kf6glh0k6rvrzss0sg79cj";doc="1ikasv5w1xr5ms6836q1bnk7b87s24m15mnwsbdyf7cnsh267x6k";source="01j6zxs8vpiiimc10hhl93xcixwlzsih5k56n7v9a1a3czgymad6";};
 gaceta-15878={run="1yimj3mxyjj36ib4lfdh65sz5w71rlp41hhnzz84kgb5y103wpaj";doc="0vvadcqjj3hvjll9nqn3mam9ycas0zs810qi2jnq6smpm300c3l9";};
 galois-15878={run="1knks42bg72lj8nqdy2iyaqkq5a76yf4zxql24mwxq5fq5xv1vmx";doc="1nqhf3si1kljbr0s1sb22kq6nfrp9ycvm6smiyxbw5lyl3spqkxv";source="1rlgf9bv4rjkyifz3xvvkv6xnqxl0pl973mq0zqxaiqfkh0i5xwk";};
 gamebook-24714={run="0ccsyi63paf40lxphmb60k5xciw8v7vd1hqllgq84mry7igzb9np";doc="1c2m4009fralq8ahhczwfxhh1cmsdh0c5072yrirda46khd5wy91";source="1dk3fpg5038jv5bs7c2f82vll0bdd7c1jrajwhlfk1v16p2f5i1c";};
-gamebooklib-63424={run="1xjyx2yvdnxh5a02pfv9wfjrwgk3gh154y6bs6vm4q3w5vx0gi32";doc="0sn0k5m2gmzi82r8d0vkf83rf67y2bzsf173pj2w9zdv8h86cnhq";source="0wjfc6hrq89hjx93vygig6zxdqib61ng4k4fg2981jrr7r9589i0";};
+gamebooklib-67772={run="1qk51f0a4z1frby7bv553rxrhg8xgfkxfnr4dbq3dg7mydzrl444";doc="1cix1yzasbqpghvp5smban4l16fc48zc8a8d9jjqgpb10l21a2rl";source="137a2hgcvmkgsd8kyzxlprr3d6v08xvdv3s049cg9lxazizm5g7k";};
 gammas-56403={run="1wcvzihv3xh52s3ydni4gs3lcp9icmxinqj6znwyy680izmw67ba";doc="1al5rvpfavkc1p7ayknxnrs4r7jzx7f7dbm3hayqwg0d7jdanp8r";};
 garamond-libre-64412={run="0cj6sla634vcp3ih7x4fg4iirckiizdggw8y5ddxyhszf1ygkz5q";doc="1q1iy0xifacs7w76x4pgcjx13hvj0wc5l42xzac2srbmx6x2n4sc";};
 garamond-math-61481={run="1bjskvaqq4glba1vmcksfx69p6r025sl8aynlbk46kh7x5fa6vj8";doc="1jb0kcy715fmxhbzg95qwilwnmp45znh37iisiny1dzy8919nlbh";};
@@ -1525,7 +1551,7 @@ garrigues-15878={run="0qr2ak20416p5zlavcbihxkjvifzwj3cf03ipsnxlp4a0r3m0hgy";doc=
 garuda-c90-60832={run="1yz7zpwdvvhzcsfcz4dc40nnaagwrsxvskc5bymmdxv1zf6m3npf";source="0palvrkdf8c8xhx9d2sxvch0lgycvn10bfszzwlbxw6qrbnpspr3";};
 gastex-58505={run="08xba3pqif87wn23vacj7amqi97yk2qgsmmawpm3r3iirir2l1d9";doc="1b5qvkpvdlsq85yllixs638p1bwv9xfqy2mkzyckqcwfcdcv7i21";};
 gates-29803={run="1vxn3j957za9j6ryf3nhy5r744gr63m78xzvlh0z10sr0bpw46v9";doc="0igxfdxyiz280ryivffq6c7y84c16ip1av8wn11j6x62dcsrm58x";};
-gatherenum-52209={run="1b5j4106mjdswm519nb9sswnpnna5v6wcy4p8xbccv01044iqlk1";doc="0afd1c352075ix46y0jrhfwlbsaibchvz3xs916qi3hd8a90hbpx";source="05dri0sgr8h29q3zxcsyhplhrkj1wllfb42d8scy6hp4mkmbsr06";};
+gatherenum-67201={run="1b5j4106mjdswm519nb9sswnpnna5v6wcy4p8xbccv01044iqlk1";doc="0afd1c352075ix46y0jrhfwlbsaibchvz3xs916qi3hd8a90hbpx";source="05dri0sgr8h29q3zxcsyhplhrkj1wllfb42d8scy6hp4mkmbsr06";};
 gauss-32934={run="0jsbvm7sh7bhs5yfl17fj1gbdqgpm7qchf07y3p7k0rxxg0f482z";doc="1f6ycdq3lpylkdwja4f89plz7wpnz73wzgjz74far6r9wr026443";};
 gb4e-19216={run="1mi8nwxa418wqp9w64ya1i0ag0pdm4cx08fkmaa302bkhym92bal";doc="0nzmhjqdhl0x29c70iqb8b96pjnx2vm94nk3xgid942pmx44skxb";};
 gbt7714-64633={run="1i9a732px7rrgq69czdqrvnchwwxzl7cmxm1pdnbkv6s2yaakgdl";doc="1ay59q9s8vq7bqvif314xjr34k9b9g4gk30w3wsy7k44ijs481k2";source="00qbmnsyv87q81m01lgflnypwvff7xbqfkf750pfdyd18g2r0x2d";};
@@ -1533,10 +1559,11 @@ gcard-15878={run="1pcxw9mg6hadr5c6m4z3pdzs0b9jw22injdlk46xxhqy5gsafa7v";doc="036
 gchords-29803={run="130b2svqilpj14jl5slw11b9dqhq1nvdph6y3qcq71pgng5lhjjy";doc="10mbr14bjxcl4p42r0zsqag5sg8yzp1mpi0s7fq7i9197kg8i77b";};
 gcite-15878={run="0dl1plmbn4i5hzmjz48hyfl5wj819pg6k1kjsdycx4wi0d9ff2pr";doc="175151qpcykxsf1a6g9v6mkhr6m9cm5miw3ys6j5csrqm3vsl604";source="08h5kxah5q9105n1awlrmiy0zrl3rafb8v3nwp4qfakr83q3vf3k";};
 gckanbun-61719={run="0bf42j8ismm450431pqvqgwzd04xsr7qlhb9di867qdyiy6hbrpv";doc="1rpgm6jclifxzs4k5ybkn9pxsl60vl167jjhffg6d319g3miy7al";};
+gelasio-66805={run="05rr0vdiw9jd2qzasq22zfpg901l9jvighlhsgcpl2n3cfwa96i9";doc="1n8jyjs056m85h2n602h4gys6556k4h2lwyhck5wp4g7a27ri189";};
 gender-36464={run="0skwbiclrpl1n55dr3lkw86dvqy3f1n0b271ygsz6rr3qa43478r";doc="1gamaakkqqf37cwwzxjbyfhz25gdzayzdkqk60xls9flp7227hbr";source="1l5p8ib5lbvq2b8pizpwpbcv8aslmi8dd554win7ssd6vhgb68j1";};
 gene-logic-15878={run="0fxddiswkvfzbmcckl6mhyipxjlr0yf0579i792c6rvrqs5avyak";doc="1nd4bxrq1g1gxcrs9lvnakaivla37p218pa4ns6jyjmimfl31gxi";};
 genealogy-25112={run="0w15jrd6aycdjh8qznvm549kzwl15v2zvs7awgk96380nzcsmhqf";doc="08fxhib7wydjbd3bf24kw6zbbz2sv6fhgmg4q2c1lgxddmm8mpzy";};
-genealogytree-66516={run="0947fmawi8xzmv9c4k4355fkgjivkkjrjglklk6ar7jky2xsg62b";doc="0wvqkdhk1lmvk79qla34l14hvcjmw318vddz1dhl21g0cri7fl60";};
+genealogytree-66513={run="0947fmawi8xzmv9c4k4355fkgjivkkjrjglklk6ar7jky2xsg62b";doc="0wvqkdhk1lmvk79qla34l14hvcjmw318vddz1dhl21g0cri7fl60";};
 genmpage-15878={run="0fr4m2y3vfymlwk7ik7rymifyam2jhbxn3qr2sj40zbcr9wbah6n";doc="12fxwrz5gpswyf523wm1pg99zilkgrpq8z3ls5gw9j7bdb71nj1l";source="0q7acjs7g1xh5kcmrg20k9jayaf5vxz5p5amjjd4xj4rnb1wdlj1";};
 gensymb-64740={run="0rsck4ysx86d4gfr5a1w9kam98zzclb78v5hgdmhag74a0qs1n0l";doc="0826rq87q35knzmwkhz6ipigx3s3hkzcypy977qa0r3ibcbdr7ap";source="1na3aqqjfp9p9zb7hyzz6wdd0biiigih9fq6bxygcwflbwbhks6z";};
 gentium-tug-63470={run="05m3qcb12n143sxy12zm0bvj9zvkdi4sqsriprfkkfg6xlvk396r";doc="1yw6xs5dpmvk1brwry30ak368xddbmz5z2k79fpnyrx9a9z57j37";source="062g0b8bn41aynm3sk02ciapiiwl55whynvnz3gfzvlja3fn3xxp";};
@@ -1559,7 +1586,7 @@ gfsartemisia-19469={run="0b200snkvdkrywgn3j613zxyx16prqczw106hfh7pzpr7w717lyr";d
 gfsbaskerville-19440={run="0n68mfx7026ymxlyhdyg9ppylh5g4bkwj95c9bfmp5bmym0q6dfi";doc="0v0widjs2w65ppvzm04wzinrcyp8hcicgxp6brydjmx9d32yrzcq";};
 gfsbodoni-28484={run="00r9b46m6h4vac788vfz6jixrd4wbmscblhqi1pxhg76id33xdgd";doc="1s0lq3ac01zcaqyvswn12fxhvqarq2b3lni1xza3yyk2p6y95g1s";};
 gfscomplutum-19469={run="02c0zs2xl2hy5wrrj25w22q1fj6q8w4qjbvlpx05pzzh3y63n3ip";doc="0h9i4v3sag4fmvlnkk0wjxmgsq4kbiikzv0rzfrhzfwaifpznkcf";};
-gfsdidot-54080={run="1ks352cxsapibfm3y4rnw3k7izkjzpdc5fd2faq314qh5cpjhyy5";doc="0nhjndir8y8s9lpnad05h2crc41la5hqg8ml1rm0j5mn6jwgznwl";};
+gfsdidot-69112={run="0m75xf0x7y3mxhhnvs22f1fz4gr8m86g8z9nfqxvwijjzm6xgm1l";doc="1jaxayp4z0ih0cr795as9bmp87h24z41ijhrfwwrbpbmjkkm77qx";};
 gfsdidotclassic-52778={run="03p2w06s9kca35jdby74q4x8if5gs39gb387rjgqbv3vdn7zxi4s";doc="0qnkxqr8r9spg3xl2ifr2sb32hbvmka979c4f8aw4z1i810bs0kx";};
 gfsneohellenic-63944={run="0ycqh6fn1y4czslajdwnj8fga6f2riw0pd4az10qmrxayi5hil23";doc="0zp7rba0mhbhjsnjwm3ldy1frz75grxgnkfl1gvzm4psxm3c9yjy";};
 gfsneohellenicmath-63928={run="1caa8w1jzwk77djhycahr3dd6n8823vc513gl7sgx2jid4gidz6j";doc="1fk5rn7jxqlwhzv7v9fvpadhlr07fr4pfjlqh7zx5wl720xb3yif";};
@@ -1575,6 +1602,7 @@ ginpenc-24980={run="1brakvxxrm1gahl609psp4na8ylkggfs534nysnrijq6vf4r1ryc";doc="0
 git-latexdiff-54732={run="0b7hafll82widr8vibaqqavwwzi7m488ypm5wx14y6jncfl8py9y";doc="1cbny4qkr8dg8vnxjnjawq9cjb0h3816ad66q8b5652rpxn3zqcl";};
 gitfile-info-51928={run="0qk6r9fiv44hamlqvsgpm75nd68sgj81sgy93zsylypp15283z2b";doc="053x23sq6657lddjyk9bzadwydfh4zxl78gxl1payxmbl9pj925i";source="0fnrwcjfji5pbkh4kdsishfy85gqcvcmfqxwr5s1n3bm3prgfc8b";};
 gitinfo-34049={run="1n8mm4g7bmiawd7l7xhx9fcxv7z3l629bj21i6j9s0rfd6c7mzz2";doc="1ip59qxlqzrn8y211691cv4bg8d0yxkyvbpxw8xpzg99fpp3isqx";};
+gitinfo-lua-68808={run="1brd5rqdx2s7s21lddkkl4ymvi7zcq364qffi3wzb55c87q5s4x9";doc="19c8bavrs6jqk0760b7j608xj1mrr2nrabzw3kdvgxy2azww70ld";};
 gitinfo2-38913={run="0k3vw12yh13q1v21bz7i3m32s1w49pk13rg3c0d0l1pcx0wwz20i";doc="0586h9c1kp5cg7gk67xhy5fbshpskrmfb81m4xncaxg6ajaljk7n";};
 gitlog-38932={run="1v0zpfry2rz6xvm92gzhabc9sa157kylvp6jg298kdsbr2limn3k";doc="0pd1f42qmka0wh9b8m15nk69p6isqp74b5qkjg6ymwbabqxbcbl0";};
 gitstatus-64662={run="0kn4q6c6379qs34hmvzixvwkzhwbn3bnrn1pjwsp8lp66fv1wpv2";doc="192g75hfxg3nkaf0x8b142jzgmjzv97mpiravxfwpgfv25fayz0f";source="03kz49szcrpa6ij859a44ham0gbr1w2bd7z7p68vhwg2pcg8gq5r";};
@@ -1583,19 +1611,20 @@ globalvals-49962={run="1kgzrymfd5lzvb9dqlb4cgxfszpzhvad859r7sl0dl282596apgl";doc
 glosmathtools-55920={run="07s9jh24m9d9y01kk6z5lw9acri8g8vjmfw0mgdw3mwpffmba5mx";doc="1ya15q1nb7xzjxq7cgnl9q8pwfr1xbih6shd89krijr2l3rrycws";};
 gloss-15878={run="09d8r16dwl26a76a2gky152bafjip3r3hf41bxxcb60sjvnz2qva";doc="10vgsm0cvcbfxwi7ly38lsvvg139y6abmdsv91qxq3s1pn1qxg6d";};
 gloss-occitan-52593={doc="1q00j5r6d2y3gf8rbh7f7rdfjg3mg1c3rrfqd69rxyam9n92h41r";source="1cb92fpzv7cqqxxa0img0la6hrgxw6azb6j2rslszk9hjghbcjdg";};
-glossaries-64919={run="162ccw02q6vj9vs4j623ai8p0fx4a9mn671v1pxbhbq2w0j60k9m";doc="1fsp8z1iqsw5jg1jsinjd4xwbxr05vwbx4krbw8zq9far39vh6kj";source="0xghvz3lgpq19zf2wawdh3qka0k9x2mk84qqjncnxfh11fbim2dp";};
+glossaries-68437={run="1d85ifx1q3cx9y1mx1qlv434l3858mk8xl6g8azh806258ks2lp5";doc="139jcnfcqqdsq5wvbj83dkrhjgs1fwslbgp16nfnkdnibv6p3rl7";source="1kly0q8gvlgr8fd933dyfkqribrpx51zaf10v0ii1d7s8rp4a07l";};
 glossaries-danish-35665={run="0qdyvkx33a9jgfa7y1pbm1lg5v1ba4xrxxg0hyfqi0pmpkajqb87";doc="0gvpcl8881g9xfcxhpa3h3c5zc3467ak8mhmr4szgjrsi4nsrnv6";source="1823i0b0firwzz9038wag2qg2h39az1xsj8484w36kbij8q7ygld";};
 glossaries-dutch-35685={run="1ipxgp919h2jh5jajq72dwaf6v5qi7xjplcihjy8j88zakd9iacs";doc="10k1xh64rzgcddzaz7qawb2qd353j79xn3754byhn4d1kz6nihxw";source="0g2kfnxmnnqz8y095b125d7ira54s5dpb5shfqld7m52cranscy8";};
 glossaries-english-35665={run="15nm7bz90ijx674p16d596jssi5915iy43wc1qb6gbbk4s8y9h3c";doc="1dckvl8g0visp5j8ip9kvmis7qw1n81xpjw136bnbm28y7a5m4sn";source="0x2iw6g9a6dzw22p05n3v7vbif8svhnw9sjqfmxn020jqnajza0d";};
 glossaries-estonian-49928={run="1p2d21rx6vs8gcsalbf5kjyhmz71gbbn10c4j4lsy7rqcb97zi99";doc="0q8rsf08snd2p4nkfz2ry7rmsbdpixgn14n1mk4wkjclrbnjszgs";source="15xi0xl53jxfqsz7dwbmcrnlshvs2zbdq38v3izlyz47aaf6ajdx";};
-glossaries-extra-64973={run="02hwbyy7vyzifdb8ifxj39bh056hbfnr890qpzq962d94238wwcl";doc="0bmd08m4bxg6qrkpyw59zm8zw9q59kfyfnwfd3ik5nq0snms3380";source="1shb2930wm8f22h0yvwq1ylxia5nl82bqn829b42w567byqyxwz3";};
+glossaries-extra-68409={run="1k23qj3hmimg9yc25chxlg2bkznb730c897ly9hy9bm1cvwgbfwc";doc="0fx3jqn01nxn6slb78ilwkgwn2na2snihynjmirp4r17xx858dqp";source="1gg4341smvw2qd6wglywpaa7kziz92mj2x9vwmz28h6pnsvr0x7f";};
 glossaries-finnish-54080={run="18la9s6gblpqdqa1vcvsddzfxadssnd1mrg6iwl4aarq57605cql";doc="0zjwasnxi1fzc3xq8xjmgyrfcxpf3sbfgh6nzz60zdxd8sz1wvfz";source="0jfvjka4i94vh88jfpyysm6r1q9wwg7q29s5ik8d3da9g3n1bhyj";};
 glossaries-french-42873={run="03i8xx80d740c5yv3i83zbxpm9kckzj2kbdsakxa3sp9b0j0jk0b";doc="1k5gkdj5madigzvs138r360nrg6d3fn145xf8g708bk43r92100r";source="0fhi17x6kk73mismll255b9nsr8hm147zd0n3rcndbih9ray6c6a";};
 glossaries-german-35665={run="0h30icsisgk45ghhmngda0nqsjzsm23hay0sxch00ix5qcd19s27";doc="0jmkcq9h2kfjzfwysfps7nqjl7f0zmh5s60ww9kll8ypdd4a1n0s";source="085xarcnj5cvkljz70m27c7390jpj8kwndpyb762pr26dxvgspqh";};
 glossaries-irish-35665={run="0xyijjl1mffhmwlx7b7rprzl4rvhb2h8jdsx2jq86qg5gxd6c4r6";doc="0kic0jhmwiik3y2gipncii6j4348qkxbvkzs3sp9678xjl6j5zl8";source="12qdj6wfgrw6j4vdlkv0bcknnamb09vsyxdmyd094hwgi4cs7wi1";};
 glossaries-italian-35665={run="1dwvjb91jn93jbvh0idvn3nxm6s7frxyvc5a7yszyisfbaxx917v";doc="0sb6kzw87nh2vznwhky087017c6338jhqahgh4ljmzan9h3imk84";source="0hj3wdzdrjv9aciqgj68ihaalvarimi85vff0hf6isnmja5pwg28";};
 glossaries-magyar-35665={run="0y1540a4f531mc8fqpxv50d25a78waipkhhjvgnilbh7p1l3cf04";doc="1sgndhgxlbhfjg22hpqazyd4zrqmkiahjfwhhwv1nk4dnn1rflcp";source="08m0srsv9nspqfzab0g276rimzw64hg9i6dddi7fy9pc55iikfky";};
-glossaries-nynorsk-55189={run="19di0liyrqgi4vb0aiw3p507klaszwbdmsxjh09snp7jyri2rd43";doc="18l362siz2p65qhb2vfgqdnczqwcgcd33qq8c0c1h3vqmsmcjfvb";source="1diq7h06jw2s26jrbb44amniqyipdndzidf2z122xyc9cgcwzcwm";};
+glossaries-norsk-67141={run="1qa56xzfnhbb9m5aaz2sxqqj21dbsdmm6yhkskdb45j5ac8b0nyc";doc="15z45ib96inz7y68rfghas87zbjw9g2mv9r4a63xkf371d4g6xsy";source="1jgwc8x3xia56g5xqplasjr2c1cll1fdizfhzszrz1fc1jfjvyzw";};
+glossaries-nynorsk-67201={run="19di0liyrqgi4vb0aiw3p507klaszwbdmsxjh09snp7jyri2rd43";doc="18l362siz2p65qhb2vfgqdnczqwcgcd33qq8c0c1h3vqmsmcjfvb";source="1diq7h06jw2s26jrbb44amniqyipdndzidf2z122xyc9cgcwzcwm";};
 glossaries-polish-35665={run="1pm5c1i0zfzj32p75cj014n2kdlfhfp6zlh09y5y8a7cfdsbcjdj";doc="1r0igixgkwcp7h3aslj7kmchxz32qp09vdan6w2garkgj1nspnv8";source="0zg3pfjg03kcrqm4b3s2bb9z3jhlga85hzd1n83pbrvf7fph4ld2";};
 glossaries-portuges-36064={run="1gjadmklh6lsx5drjqgph31z3x0g4xy11g074hm4y2zgziidkbyd";doc="1cbzpx932chvxrf4myhy6bg4jrj05nkr2l2g893k6k7xgm2i1m7y";source="0cz40x5s9whyr7r7w8gmw9gm119xmbb1qkhz19zfijg6nnq2yig2";};
 glossaries-serbian-35665={run="1nbpnq50kki9i2i2dlj2x9ldy6g0in0mz54ii107m8fc66g90vi8";doc="1cx33aqm3qcj94rl6n71wm0sq2kc29r1wny3bwwpqg5mp3bw2g8g";source="1vgihxf778vvf86rka345qmnbv5s2ma1b5h47s2f15x8bjx4xy9r";};
@@ -1609,7 +1638,7 @@ gmp-21691={run="1c98y5fhnq5w9b6kkpnrag364269s90kccgbqwr33bn9ixhsf0dq";doc="0wir2
 gmutils-24287={run="1yf7r1bqv7kid7v65bv56w4an5nx22fhxzh67fh7r9y8msrz86lh";doc="1xplwkdjdcz76rmmmnv8zfp3fj104b1vag6rzrxj7ap9k8zzc40f";};
 gmverb-24288={run="1mqmi97imyr63ff0qyv797sipncqizbx9cvlg49wxnf3bjyk2ki2";doc="0r9sygczigi52piyk4zgw807zjr0jl4babj3qmnnsg0qclhvaqnq";};
 gmverse-29803={run="06v5fxz15byps13vm1afrpx365nfmq57200gspqpdch2sji2n4k2";doc="1f8hccasv9f1wbjn7cjkwa2z9rwn8lwkv657i8n533ccjk6s5xvy";};
-gnu-freefont-29349={run="1gq5dcbc92cxvlqddspc9m8v5biyafgvjc1k7fy8z31vll6wnfzi";doc="0czpqlipbwnqsh5hp6yaq4ypqzipm0xfsvrfc36pri0d2hb77clb";source="1cmd2p7krwhkg1f8xf0y4z2ik9g0pjc0qgi3c5van9zva0bn84k2";};
+gnu-freefont-68624={run="1gq5dcbc92cxvlqddspc9m8v5biyafgvjc1k7fy8z31vll6wnfzi";doc="0czpqlipbwnqsh5hp6yaq4ypqzipm0xfsvrfc36pri0d2hb77clb";source="1cmd2p7krwhkg1f8xf0y4z2ik9g0pjc0qgi3c5van9zva0bn84k2";};
 gnuplottex-54758={run="1ck4r4inr8ac82p0r8062z3hwf9187sv43ym9586sk3ip6kqb3yj";doc="198g23i6k5f353w2aa9f9cw6cj8b4f93nsk7iq2hvhvk6ia876vx";source="0iz43zdvzfs7spc6zvgclyh0vjnzkwcixgk5mg2a3wrig8r4q6fq";};
 go-28628={run="0lqgz9r0vxjbq1nyg77zjfsglwbd44zdpwz56smalb6lp2ra3r5z";doc="1mf49wywa32chr8q4c0s4fdkmzd88a1fj3hxcf3zx7bnsi5r4gl9";source="0vslzmpj94qlh5g2jirwj8b4w93vx33j8xdadyc32s6b9rrdwnyl";};
 gobble-64967={run="0f4dk6xg7b5ij3w2za5mspv96xrlksyi8gy5h2ri29khb58cw5h2";doc="0a2rd4m38mgyfpjaf9na75w5cmn32lxbbqhqyfr145hf2nf08c1x";source="0k42x8ni36gq51aw55ywy36jl89brhsc0177kn56zpvv2zmghqiw";};
@@ -1624,12 +1653,12 @@ grading-scheme-62505={run="1cbprwzwz019nscz0j3j0cdxkrmkqs9r220qvfms1vfmjs1j9dg4"
 gradstudentresume-38832={run="1i3rbv9ixnr60yrjzbj31aaq758638k5xvlarkaqsjvacc3wx88f";doc="0nvih6lkbgc7jkkj303119fyxnajl4iha2baz2yhy62h4mq8lhd0";};
 grafcet-22509={run="0yz1f2p8dn3a1ws5skmznbd4ih9bri6r7vr6rx3zcspmad1fjg4d";doc="0inzw5cw5759c4l3ikzgn0zx47b0l575yjpz2613fh9l5ys800nl";};
 grant-56852={run="1whd5f3fc72balvgifnb37583v0882xq51qa0fbb92b0a0c71nid";doc="0zfz8gj8di6sx9k48zdn5hv5x2fj5rd8dm7x4h2k6xssrj4aw7bx";source="0pmg6kjzy6wahhz3lk742qzx8m5afz8lqsl05zpkcmi7ris9m9ah";};
-graph35-65138={run="1kpcsdyh212brwfvg6m9h5w3dmkzcag9n51h0q519hb7qq0f6k0v";doc="05fx0x4cdsdr78sak1clb17393g5vgjqjigrh2kwkrjdkqv2y8i3";source="01ffp49nvyfhkx2bki8wrnvf3jd9db2w357l1awgbymynpwrx1zr";};
+graph35-66772={run="1bjdw1kvds8iahl1chrzmzaxm5ad7bb5c99yyw3rd390pqbh8y92";doc="02kx45b2c9d3f0f5h8xw2mnqn1mrp7v8975y2gqx1ln2x61xmjpm";source="1lm6531f5s5j1l2fasz0fk0adask83b2w1plkqmk3zxrn4rcchw8";};
 graphbox-46360={run="1hvhadbpd988nvrlcppvv3bnm5lzmlnxgwmfp6r4mgsr1q7xgg6j";doc="1gls7j4753s16q6lgdsaa3yg8fc4vzxh74z7qr2ykz9b8ij0sdr5";source="0nfmfn7y1qqbm4yifqxfpxn9yw2xb9yj4smv9fmxrs57ism8d9dp";};
-graphics-64892={run="0cb099m8387zmn58aws7q6nn2wlxnz3hhghhlfn6aagwp1i064gy";doc="0q1b8gbssjvrga4nbjsxk8mplingbjs7x4385pa4bg2r29r09znl";source="11jmacik80m12vycw3yr8waszi280f6raiqcws4px4w6zan71qhz";};
+graphics-66204={run="0cb099m8387zmn58aws7q6nn2wlxnz3hhghhlfn6aagwp1i064gy";doc="0q1b8gbssjvrga4nbjsxk8mplingbjs7x4385pa4bg2r29r09znl";source="11jmacik80m12vycw3yr8waszi280f6raiqcws4px4w6zan71qhz";};
 graphics-cfg-41448={run="09yifx2ww4jjjhl5k8b5vz78711289755mw0r1rcshk596qvn9r5";doc="0rfjgc83ryg3s5q01xnkk8bzw7rx7m96hfxq85xjjn5qxsgy8yqy";};
 graphics-def-64487={run="1jicdjf7bd30khgfkn6ilm7y7rnkqvms909wqj3ixc3mr3fz8j16";doc="0k6fapbyi9bidgwr67m4l2qfqyg0rjwnyznfi4fy9q9f6w61fmv6";};
-graphics-pln-65187={run="0ig79072lirxb1hdy8ja2vc7p7hif6zcikp2xklg6gvr3q8a4azd";doc="1illsbqal78vbyklk1h40hmsnp992irmn3my0z27qm8qhkb9i32h";};
+graphics-pln-68760={run="1z2vgvlf3xpxidfs0g4hmq990lpxvird2pc6a59l2cm1s9nvsz10";doc="0zjm566qqqk8blsdri7jxbhynlf98fk7w93fdxf5wvq4lzkwks38";};
 graphicscache-65318={run="0gmp7wldnc7l3768fs3wximhnc02ijlsajsfbg1iypihak6m2ym1";doc="006yyxyga6n3hissz8i8nmydwyin4ag00j9b3g7dg4263hl8yakw";source="1nk212cwla2y2dv6cysvk1vzk6kjyfgs03ngh3ry4gyz6ql844qi";};
 graphicx-psmin-56931={run="1sz53s8j6rn37xz1kkw0zr85625qki05zfvj6zpyw1yxay86r89w";doc="1fjg0pwh8qxk79mmrpgnwps50r8hvw6hqsjd2cp021wkqcyk5zb1";source="1rjl35jhy6dwja782xwh0qp3bxyw6ziha6fw5qbaq16jfy8hs95q";};
 graphicxbox-32630={run="1pl1x7n7yv7grkplpx7fflfi4cwzmkmh8nnd77i2n5wdlylyabxd";doc="0f1w22m5r1xz6n70yb1p21qq3fi2rfj9mdcyqq8s40km1i40yxkd";source="163isaz9zh1jr5wbhsw3ppicxsq4v92d6516dqgiwjhf6hdgay94";};
@@ -1637,8 +1666,8 @@ graphicxpsd-57341={run="1fganh87hpkac141i4c8f5bw06sfhy3qs14blx466h1nmc6308az";do
 graphpaper-63116={run="1bba2x75pd679qd6jcm5dd2br5d3gr7s3r8fwwid8mmq30vy72lg";doc="0a8l3wz3xrxnwp5s7gjr8qgmdbkrnwc0gki6i9xymvys385c6q87";source="1343djcm9sh6g5v8yfbrrwzg8x68rjgwpicq79md4f4gnsmz6lvv";};
 graphviz-31517={run="1gpl57lb4wkysxdhvqajzxjb4w0m5nxdxi841dzg0sg2igchfab6";doc="09aa9yl3zmcc5vlvjvgaxfmhj83qk4wgp4fx90bgn28kxnzhicxx";source="1w878b21va1y0mz08wr7mgdxl09hmbmxbzfnpv2mdqyy01lwpzks";};
 grayhints-49052={run="0p65f12y0v9s13gkmd0limdcsz36lnbf0975c4pxcsc42i8smvqk";doc="07qpkj60rrl1pc651qa8kpym3bzcc0qkfwaggcyin9a65a5snnhf";source="1g32xq2f1ncq124j2j8xm3vdkhv4sxynxc3wzx7x6s9i91p5l59y";};
-greek-fontenc-66516={run="0vmmldg31lhdz1c17hd2ldm1l3af58npxhz5lph6wj4hk55kgh00";doc="1pj9w0yfb4f7rm9qay6s89gv32v150s8v897ci37vqzm92cn07r3";};
-greek-inputenc-66309={run="0krfi8rqvbfl4lhidxrls8r0l5fg97w0yrbaw6cr4zb12cwsqpjz";doc="1vqyxwwn43igr523qybgvgqfgl182v8f02n4602ysqpyw66j53s4";};
+greek-fontenc-68877={run="1lsyx2g792b2m7rjlihqj26dkz9kaskbrbwzvkjd0x0rzvf9g3a8";doc="1qrn41ly963nnpwchs1s1l3mfsi49af1x0q9vk4zms4wcd9w34wh";};
+greek-inputenc-66634={run="0bg3frdqlja36j7l4y1m41nslqy7bisbyqyax581arrl9hv9p0yh";doc="02wghx50h2x7p9kl6j7kkg185jra9pijcjrf3bkx6c7d1spvszcv";};
 greekdates-15878={run="0g8cgyrw6lacr9cjig3q1g7rvjdwb0p40b41rsqg6lj6y7m25ya8";doc="1sh4dgxfn55gg9vp163qj9nd6kbp03cb3nkg3hqlf6b1az486nh5";source="0k8vyyxvi1i6kqnanfm1nfhbwllgn22ik57r2p357y69hfj3bs4f";};
 greektex-28327={run="1v39z550xynw4kkqjqcj7izj2cghkk1g2swsy9x9c71sz95r2bw6";doc="0g4m7sb6ppjj0nxgv7pwwvc5p07jdkablcqasdmj8p44ikg9vp59";};
 greektonoi-39419={run="1dhbslqclyk5d8a9v9s4af4gxdy39b35zbbr3k5m53gsd0kcs5w9";doc="0hmxx4pcirm2v5xpl3zyij8r1zm45f373dv18vxj4xr3sn6b7p14";};
@@ -1657,7 +1686,7 @@ grundgesetze-58997={run="06zf794hhf5w79d3i5wh4lw97i0j98kfkrnn8nppy3p4yrij864b";d
 gs1-59620={run="0j8hsdifd75wm4viqwxxk7s654bb7yxs5ccqwl0hxw7kxrxybxmr";doc="03yw4cfa1ixhf34ak42qjwnb1pbw1lzljxg371v1gcwbba9x9svb";source="1my4p6xgpghz0fqq1i5wmqx0nx27xn0vbpl4gbczwi1xnakmvv4v";};
 gsemthesis-56291={run="1y9wj43qpcgp82sfi5s7izyf284hzkn5py0v145jx03l2kxhv90c";doc="0fyadx4x8d64h75fq3xgmfxympcbfjhwwmwg4bpj20d3dbf0rh32";source="1i5w77zwb9c4qc90hxz7sna8g2c11mkf3vnkkm3scm6pkbg9z0av";};
 gsftopk-52851={run="0n6nnfn3fwi5dz9vdqk4mv97hwnyybj3wsv3bipqfsxl31yjp51j";doc="0xdb0h557sgi56gik24izsr5xlbmlfya1w93yih61a5422rv198c";};
-gtl-49527={run="0hj1xzsny4qx2j6j7ac1b39whjcn3z1m97xyavmz9w7ak4pgnh74";doc="1aj1s3d53y0wsivmavam28zm0q1bxgk4hndr6ifv9fy4m52dw89f";source="1qvyhmywdwyaazcz7kvk321pbsqhcj69852a8zq0hkvgcadrb853";};
+gtl-69297={run="07d5wf242l52y43ranq4l147755gl8r83429706yjj01a71mjlh9";doc="16qpbiy2q9bmnj545ni2pv0w63djsqyjba32irmhq61xc04fkym8";source="11nnmbgr3b9nww4w337320rjkyc6l007s97l3kh2m2xaw6danmdk";};
 gtrcrd-32484={run="095v007lhv0yyni3cqvc14iv9jqi0aqfmlr0zgxh45xfpqbsglnv";doc="1ivw62rpgfyxmlrzvjvmhf4hxfrlgskzq3qr0p6g48ilv3is7sb5";};
 gtrlib-largetrees-49062={run="0l0fqpw6sd1gg3da8s7wz324q5bdd9l80zxg835gfw0vvrn912im";doc="1mq4pbmsfvm4y7g4ar3a438469yy6x4ciksrns05dnkk54adyyj8";source="02x48sgx6vfwbdvgj0f5b9sc0kmkwcl6jyqzv0ascc77av9w41na";};
 gu-15878={run="0h37ilpkqlb6z4fdjldnbwpz2j15izz0wb70n4zmmp2162qqbjni";doc="1gx36ngw3mbbw9i2xdi2glx80xfvj6pv5frh6fmsqlnvhgni13nf";};
@@ -1687,8 +1716,8 @@ hanoi-25019={run="09a7cv76naxzdach5507wdqnjp12amvlia7kw0jh224ydmkzfx9x";};
 hanzibox-63062={run="0pww3xzi9r52cr0bggpw7wlddm6gzf5vs5xi7v03ynlpn45wz3x2";doc="0x18yvhnywhdl68jz4v5llkqqpiz1l48nv77g0x2x2svzwrxrw3w";source="0dblzzg2gkg1blx8rh3rs3jb5pq1qjcn9nq0n0rz7a7dph5f10j9";};
 happy4th-25020={doc="1x950scxbvcgwycpakflpklc775pknjab620g099dnsfrpb76f4a";};
 har2nat-54080={run="0zaqsnvg46pdf98gzlxa8l6z8v9l3fd7jmf60nbrfba7jrzpy1bh";doc="00n5qcljlpw2rq8x921vhsk7xvz8z43gxiq41qfzin696ysn7xj5";};
-haranoaji-66119={run="1vfk6bh62pkmf961qlj1f0gv4yggp6sadjr141h8905wf5980m46";doc="1phy7r81z2wykymzsscvgk0211w1lwjjn946mpzdw97vskx1v2f3";tlpkg="0l9jczs7kyml3i79idyzxsmla443zaxl5fm2k7dmg5qpc30kzmaw";};
-haranoaji-extra-66119={run="0j34fizmxvalvw4vssx9fm8ik2lg0nhv1saq9xbrd1pymjkavnv8";doc="0izf929g5fwzgyb9piagjjjn87rq4dj6qy3j873q4cflqd9avdns";};
+haranoaji-68501={run="0lpghfxqr1kh4s6vk5zjqkzm4ryz47qa3dkrxfiyclv4crsqlf16";doc="0v31a7kz4bxp4ay7bh63w5hn53iljq62vkkq0nad7jf0cyhdm5sv";tlpkg="0s4wnm8lh0sbblz47j7q48rlndqxjiyn332061iadd5gh1x9ialh";};
+haranoaji-extra-68500={run="17j0nf9f0l2202d0b6yba9dbkwp7y97kxh4lnv4chvx7f07l5grr";doc="14w5x12q0d4z5h0skp4lvicwrcksl9wfc8lrsv8lc3dmhijv0f48";};
 hardwrap-21396={run="1kwsns5vg5pkplcl5nhmvpm2ccdv0f9431qxjxq1k6zfsknpy60v";doc="0h1n80c9l34isgyzl36hf4nigxcsykfgqv6i9jjdf6dqpp23bpw9";source="0hiqsj0vpfkmi8z048ymlnxrxaam8raq2f48wlyk67x4w2gv72k8";};
 harmony-15878={run="11vh6dy95n049bfr46yyb6a5ziawmh3n8dr8l7cqhj4pqmkpgad8";doc="00kf7kbrfr2cqv7izx1v90mpa81ncsn0r9jkxkhz8df8fsizaigl";};
 harnon-cv-26543={run="125885fg7frl37pmxxj51i7d22xydj5wsva9i27126903y3qdm8m";doc="07i4qv95fcfnlfj18qljwbkv1cm5r00mzmq570ra3bgjc301gk9a";};
@@ -1701,26 +1730,29 @@ hausarbeit-jura-56070={run="09nf6pz7xqhzs0n7nafmmkpsy5ksvqvnwha80yv6rxasnazd940b
 havannah-36348={run="0zdbwl36d8a374yhaqfb4f3561ncch10v0vh7nxj22f267lgl2n3";doc="1pkkslz2f66j606j44rq32dp9qhfqcr959wrp8j9xgkw76i9lprh";source="0gyndaw2g2j2j22njn32839mihqx3pl7sij35vhsyahyamnipk2h";};
 hc-15878={run="04qricj1nmmmhxwsam901cr43h96ymc7qdb1m52byniv51i8g0yn";doc="06q64drrpgm7lzp45hrl33cs2dj4mx1mjpsd3paqgsn2xxqls2yj";source="0knqx9smbx7lyr1r6vn50x3x9zldv14gb3484jqk28jvm92njnij";};
 he-she-41359={run="1rr8pdpizasdcb1sfg74nsqs67xh2lcwd8w2rjaf719bpx9372yb";doc="1lmahrp33iv7bbnkbiwpkagy3rm7j0wric7m1fbzdvkgkzv274na";};
-hecthese-60455={run="17yd5vkgss1g8b1hq34pvawcqlw494yc2dwnidlykm94jgqlzfz5";doc="0wmwc5sipbd82c35qjiqdj45fr71wl719sy0s4zbgw45852180cw";source="1xwbx6sk679m7wb6sna4c0valja9xcqpcwjbcp1sw2yvdx91jn1w";};
+hebrew-fonts-68038={run="0024bhlbj59gq22gafanns4gi8mii8fcd6xkwaa85czgm5yqmazc";doc="1kv46s1x86gs2b7h9934hqlpp4siidnarb1shj427vijfg68asnp";source="1m4kd4r1i3sj4x0liyrpxckdp4v6xvy79xwmkf3glzrmzq79vdz3";};
+hecthese-68584={run="121l6nj57aivlyw2gzmyqyi90ql3bsrdjw0qa6gy7i7ifhw81s8v";doc="10pl8k15r835rac4ihng85ayp2k4w7idlf3ss1ywb3appayf8r9g";source="1cnnif8c2n34hlpm26bpdvbrvzil09rdfbqcyn5nbfxd66k83vah";};
 helmholtz-ellis-ji-notation-55213={run="19szfdy3r6i0ayfr4qjv99dy6h97pqcfr08xhy3v9kzqm4d2b5nb";doc="15d4dil3r44v5xds0n1lnqml7cyncpyr92prb56rfaav669hflbr";source="01zdhy1p6idpksjh1ak1lyw9j536bzr130bjgay471k9d76n38dr";};
 helvetic-61719={run="0c3f1ly7y6404z0akbfbbfql13sz717v0n0g69qjpr69hi4n0nsl";};
 hep-15878={run="016jjvmmc679sk23dy0g09a0s0n176a5pyq18snvi9xajh2c4xw5";doc="0czpwbhpgpbij9b97dlb3qq0aa9vyh12p81sdm0hwkj3i16yawav";};
-hep-acronym-64890={run="19sdmvy5sijgaak4sqpsmz5cgdmrqpbwg31m35aafrimdpmbp96g";doc="07im9wwwb3rgqfqghzhblvic0iywcdbnwbj2m2zq0j6dv4x0hrx6";source="1hivca0n6hmy7g07wm7gjbbhaah09isa48aizjszk8yzfnwlnyc4";};
-hep-bibliography-64888={run="1gcyhqj6g5hpxd7db3alqy573qg8halx8kkha52s82adhdbimhd7";doc="00a36vgd3yld8ydql0rnjadfi636xav73cp4r5387d1qvqh6gd3l";source="01wjzgcj7mmjrrvwzmwvriygvlj7ysrx00d2ggnbhid7js6l4fgq";};
-hep-float-64904={run="1jjl09r4mb55k1v21qxlrwha0g4klcj88sv4583kdr09vckc1scr";doc="040d9a8jdivdv3yvc9qnb0lnv90h3xjpkrz1qq0p5g3qpy8wp6k7";source="1b5r7gfr3pg31rbsjilydqp8lalankxqdh95dyq40fmvijmxihfd";};
-hep-font-64900={run="1j4k2lrxlfxznbp3isb6rn7b8y1pnhv4n36lxxi414f95l3cpg7z";doc="1cpjq0ciwb3q44vngc61k4m1rkhvkwa55qvngc7s2ixg98i9xn1b";source="1fq1arnrackndb34771r6ypfzzph6ag5ams42kmrbyvpcd5mwclb";};
-hep-math-64905={run="001j39vri7w6fm35phj6spmi4gcy766msirvfb0006nay0p7lfg4";doc="1f4bp9wadw5pdzgmqjh479wxfy5rvxdiaqrddxb9q55afm3fic4d";source="1yl6qy4m1139fhy5xn5nlpfsc3lvxf5140wc1hmjm7c0ib1hjzq2";};
-hep-math-font-64901={run="08lqhml6qwy5p1yhv5rzzm32lgxnbhb5j695ghz1ixx82lvzbq34";doc="0wb1374xs31rixrqc75jbccnp18xdm24x1kxlx8xk5gfir2la8ph";source="10ciyxpikq531j1xm1900lnm6645p0dzixyflyfxb0id6nzmyygp";};
-hep-paper-64917={run="1bfz5j06jhycv3nsc1fhwq832kp94n9bsx0phpky6f88q4n4c70v";doc="1wcgcaix5qm8p3ikazm26y8x8rzhs0h35a68c8fclvaqa6dy1ji1";source="1xs8bz5k1zznadai7rhpikxfr47bsxc52ysirq3x9130fgifrwh7";};
-hep-reference-64853={run="1bfls4yyyv1niv68xq2hd9c75hzhynn1qrga9ja9wfwrwgxn868l";doc="1l5vg2jn4yf613kgzljzm7l3ycjnkd4ffql10y854n9d65x7adgn";source="0r5n3q0fiv0bqypwcwgzv3w4kx3gnm14769dv2fgjbnwpvka1sm0";};
-hep-text-64906={run="00icpir1j2zzhh994nzm3ag9ac4ld06xcbhm9wg65sgr51c193xx";doc="051qvwskvrj5lrhbyj1fqrmrw2z2ahd11xlks1nvmdgjjcic9x6i";source="1kpzwykcfqi2nzzvj3h6fjj5h9gmxidly1nhwd82frcn4cijdrzk";};
-hep-title-64907={run="1qx6z854wsav49b21hac56d9zkxsqcsxnw63wdgc4ny6rw1a0r44";doc="1xji93q49nh0d5cdp8c2zhq0mb7cf49ppphzaqz4gnfpccjr1a4g";source="05g4kv40m9pm9vy4lbc7n3gihglzqbjw5mrsvsiyz8rqj4hmsqdx";};
+hep-acronym-67632={run="1y2s0fmrm4z5laq55xyhs1h85pjk48y92g0rzl1hmrdhqk6l0ikg";doc="0mbhbyv9bbm0k856nbi6f46fn5a7z2s2ixq435gvka8r713ns5s8";source="1nqv1qvqrxz6fd5lxrfsmxmgkkz005hymxk8s3xdwhla982nx56c";};
+hep-bibliography-67632={run="1qqidgnyi30zgmcfp0jj361l5sga8ds1b9wqhxad3hfzysa8bacx";doc="1x1bgw7sqgnlqzqxx2zbvcxdpl304vbn8wx26rdjf389r0rw3yzy";source="14wng879zmwzmacx2w8m2v1l4ha169xaaalmzmwc0lbj5rxhy44v";};
+hep-float-67632={run="1fv5bga9nf341iij2s8llh6rwvxf85h8hnilhlk0jc5s105whj1i";doc="0y69ymqj9lxwr4v3lxsvz17lms045k2wdvc9dszvlrjg2q3ac81y";source="1xmfqk8q0q0xmwsc4hgmvvajij88vszqimcfw0ddf7bylxchxjjs";};
+hep-font-67632={run="0z92gscinj92pypc6hnvdlyd0n1hdkh1kbnlgliv6cv2swyddmv8";doc="18nn2rxq07xxv14ds95q5rwlqfskd6gl96gya02s4fi2lz6ys55b";source="1fzx346kva3lxk4hx9pkxnj7j7jmx287gylpddb2pdpwkkc8spci";};
+hep-graphic-67641={run="0dwnbl9xm12v3hdpki7nzbq53l29rhy762rxbxvq7hjbjdm5zni0";doc="13f1g76vqqm5c3ivdy41gix2bzmd6z73bqlj9cyij15jzwix9dan";source="0y9d01kwnnlgx0cbr4ifi97la7cz56l30z65spbq2ilm4xlx7yqp";};
+hep-math-67632={run="155by362r43igwgyyq6fqd4j0r3qs12fx3gfrlcdpqlxnjg9j20j";doc="0xhkrd51y4br7qsldynnfhvy38ilngb3l022hpddid9yg5s49k5s";source="1zdrlvia3yyibmbypz519bx764jy62f7sia9qk6pb0wvwxbqmc0c";};
+hep-math-font-67632={run="096y39y8fkqhd7p43kv8fairn6q85bapca1ir8v2mvspr9h2c752";doc="12inm8vwlwnwzr6hngjpixzf6b2ckcy5l4a9dgqgvrh543vwvzjr";source="0p3365139k77y4kmwg09x67n67vyfzzvy43s1jn8yda91xnn02sv";};
+hep-paper-67632={run="1zgyzl3pyb0ygfxgn6pb9wcg75iysxqbpr6awa57aiah0hmynmm9";doc="10fwbgz97cifhx1pr0li91h312ni0g130jg97d2vfpxrn2drq697";source="061dap6lcrbif2rlkk7206aha72h31af4ab6wif5xriz9bj11cjn";};
+hep-reference-67632={run="046vf4p8nn661w3ag3l0z55zv4nw42n2376b1ab2p6sb6sb7l86m";doc="0ahdg40hpb17lask2bswsc0qqh1fdalvjgc64scqb1ppfiq62sif";source="1z80z7sr8ipsc15rns83141m3rw01s0pmc3da8d2vl7ymf4v8wwn";};
+hep-text-67632={run="0kmjlzjq8qwhka31nyyvdgvycyb4nlxrdp1fnwf1kgarr656rpky";doc="1fsjsx0h1wws4z1vbhc4ynaznbf0lwxnw34i98n3cyqx805fg1dg";source="0wa27j0xyi76nagz2yh240yhghd72gq2b4078yvnfs1bkjf00127";};
+hep-title-67632={run="1mihii4ndrrk9wxvwh6kzg1dh55xfgcww26plsnn390yqqfan8fy";doc="0iranpsi295spbqpm8r9zv4gq3gn2231pjksp6qkmkwma9xl4af9";source="0ldf8yjqqxdkpyxxm51q40y5w2zhpwv19s0770nmazzchv7hs23y";};
 hepnames-35722={run="0almnyzzdf0q50r6qi7i6c4pp9aakyzdzj2jxkj1y0h5smi602ii";doc="144wikhsm6mm6f459r4paf0chas0crzvd2rylpynhsmkp9sk3fck";};
 hepparticles-35723={run="076w3wmdywai4pc02k8nk0qyc4vmvn9x6lvidmp4z6as0jir7ydh";doc="027pgn4i7n6b2zk8ikyqj4wlkkw1njq4qcfkmy0bgqz3al08zr0b";};
 hepthesis-46054={run="165n2pwn04vsln5xy6lkg61c1bp65zyqsd37fmmd3xs7yhv7xc2d";doc="1cql3rp42bb5c33sdfip69g9rd06107zg6wmsmzkv8c019xwg4y7";};
 hepunits-54758={run="11szf1jiralk8jdp45bzksgd76bxcf8xgdk707spbyqf6fzafrz9";doc="071xs04zgnw5ir33qzfn0wxxfsk75d9di0ssl394ksmrm14ny3vi";};
 here-16135={run="1l6xh4jl2nipnswdn78378vhr41ikj7qk07j7iaqkyigk5ndl0vx";doc="0i454862gik3jy1g3v21laf8qag2cadvapqz0mn68hl9ymly4b13";};
-hereapplies-65251={run="14mlgpjc7sah73i3wgfkykjn6v6wx4mmg15bdzkbxrx2f1z5lq51";doc="0p9dvzq2jlnwd73bvlwq3y41saxw76l78nwk1mgkpqmawxi44bxd";};
+hereapplies-68638={run="0h43apcwi4mdag2kpv9js9g8a6x83chskli7lxqzr8zqcwj97905";doc="08v044j2h3w5yyzh330q5bfsip55zx9s0ywpn2f0b8x3nd5vgk5w";};
+heria-69058={run="0kqvcx9b3bg661i3mqdjxf8m8wx5cz223ifdniwkclr6h7nwrx9x";doc="0rn3ng7c8jyg438yl8i4l2zl1cwf62izfyis889py9axz4kc4i66";source="0dwcnmnlh5xp6rlhhgc70p8p6saz59chh2k7w0hvnr2p7768hfdq";};
 heros-otf-64695={run="10q1g30vma4fnqyga8279hqy2aq5wq6fv8d8nw22i9mm8ms2wwga";doc="07k4k2rrkj4wx8i018jfccs4gf2pvx8grcmz88lmw52im9ga002q";};
 hershey-mp-64878={run="1mnqsqsc99by1r80b6y4rfb3kzb0r10jsfpfgy7yragr8rr9xzjj";doc="0xh4a41lfds3yrj1am613c4629kvgvd9dfdfzmss9li3j5pa6jwp";};
 heuristica-51362={run="1sxpr7f4s5a1q2r76r7rj43drsmljmd32wxwgwj1x97a5k7x3jxf";doc="1ws9r2hhcqdgcdplhgvwhhl7c834i4rkk0xrsf14c3gwxg0x1ip6";};
@@ -1729,17 +1761,18 @@ hexgame-15878={run="0s68961p0dsaila2a3symqswvgdhh4ah08aphqjfs7licn50yy4d";doc="1
 hf-tikz-34733={run="13232m6hybqv16f6v0bmgiyfqdfj407mn0h4m9wgh9pzwy3g1rmz";doc="070h5rdgfffjs8sb2gaximsqjzby2vcf9ffvpljkd3jzc8rznlbm";source="1df36m347jl9640jig0qrk445s0gxyk6rl74i19xxv567bxh9n69";};
 hfbright-29349={run="0qwwr02q170q29rlq7fw61888k1pm867vgj70ijckivibl0j2snp";doc="19zdznha8bfwqfyrhq18ad7ri8nd240hjs9kslswg70xfrync877";};
 hfoldsty-29349={run="0ar4swzfczqafanfzhwyw7kx765w743r1davbypc7lglcxwjw5y4";doc="0f9gcdi8wqq5g3camccbdzfyjppyqbvvv0z10grazq463lv83jq7";source="1prpbq8833njsmqanxzf25136g46i2yb4bqpvlps52294pjh0l0s";};
-hfutexam-66555={run="1n92sfdkdv5dwp03x4fqrrv2fff98mzcwp5mzd0z93ahjffml52j";doc="1v8qrh4p7ngxr826z69pnayy727qwfc5lqfgvwd4zxl2v1aj72by";};
+hfutexam-68829={run="0v74nqzv0v03rxkfk8iyvj93rnrjj3dmwj6kmbihnvc55qbn20xb";doc="1nq3c4r083hdhgi99n35p691b2djys238dylwva6zw9j80i6vvnz";};
 hfutthesis-64025={run="1wr9qa2zhx1py23q9r7wigiwy2ik4gicaqb30mc6m095flk5ms6i";doc="00fvnydr7bcyf9ij674whpgxizcn2fpwizqdnh0srxm03znw8cfi";};
 hhtensor-54080={run="13mx7mg5jqrlyxnx19n0rs2crpxx2gp6m7l41m6l2ig5vlgc0x1r";doc="0k5fg9ad5avnsg84xwlcbzffrzf6y8l8a2m0dqw3clg7zjmq4prp";source="1pay0c1z6avkb44h0iibfn6xskiglym0fckfqrdv0bablk3cghjn";};
 hideanswer-63852={run="18v4sis4yn8b1zwcvrjadj7qzjya52wljvxhajxsnl4pgslkjcqv";doc="1rr5sy7l21r4ffdcm7bmlcs1al5bn4gsy6p2ig92f921f21gar4y";};
 highlightlatex-58392={run="1pmhvjxp5038nnxd9bnk3s30wgzxvbzq6z8cfmvz0k8h1nzkc1a1";doc="0q4v0dvr50wd0qbk8xvn7bayyq00kj8b8wwyn6axia3mpjmr7a41";};
+highlightx-68756={run="0vrcvnr23qg3ma2wllqyy1xbl3j7ggril4ah27ilwgad1i6nwjci";doc="00a5y0xlcdrw1x2gkrhcr44dyrmc2gnd7gv34r3vig8pfbrgwdwr";};
 hindawi-latex-template-57757={doc="0q35drybrlcfcrhrd5691m66nd17b0m6hkcsqazpb1ck227zih61";};
 hindmadurai-57360={run="1z3590pi02n90hwsjmihxk957hcqgc3kry3cdwpwaci43hxcvp2m";doc="0zws4bzz6fkhxnpsjxj15wwnvbd6rhxqilabzzvm43lv0y21hvlx";};
 histogr-15878={run="11zbm3d05j6nrzwb3hpahli54lf06aly60arh4fi9k52qcbsylv3";doc="046gw7h51w5s8p3rh6kwwi22xxj8bspbh7anf2cdzg4w88dardl4";source="153lhmgh0n224xkg7dmcajj7bydnv21spihh371hj5a461d4h9k7";};
 historische-zeitschrift-42635={run="1zh8jhsmn4klaqn18zxbk3ajxvr99djavz4cww5wjm8lh5sv473g";doc="1gfymz7b2khfnn94qkd3dawb7ppqll9qg7nsx3qac8pqba539pv8";};
 hitec-15878={run="1rzv2baizqa6fj063knxhac39slaaxk5lbgpl6zwk60nbp1lxq3l";doc="1p6vcgy1l1avz05h6r7bqwr7hl3jrnyryl3vn1i0qad25jryf7qn";};
-hitex-65130={run="1xbnl9giab0yf4xgrf3sxidjv5c4d0zqqrcnnnd0r8rw5wr03fd5";doc="1x6vzzl52vf8cdyqxh68qafv60kahnp0fpzak4as5agaln3bymzy";};
+hitex-66924={run="0agmnskf8hjvkjbkj5m05q30v020m5vaj5nqwj8cpnxzjhq1hf7v";doc="1d1mnnq733c8ihhb490inch97r71vwrvsj8n61dqmalj89yn2n84";};
 hithesis-64005={run="0j0fsblj5k3jpxqgjxh7abynjqiz09hgvywrvqi0b4vv2fm8ccpa";doc="0rf5bffmz4158yqa05l4vi08nf1cl115y0ff9rkvdzjn249n3mgv";source="0mix1q6wf5723c54dsc7xx7kcwi0qz1kvmzs9yfx39295cvg9hzh";};
 hitreport-58357={run="01xxw91175ffcix6s7ji2600j966dbm6zl8fbnfwabb1rvn39nq5";doc="1wpscl97hpc3s1s34bskz088ph3x83qq7m6qgjj0xa2hbm2g77ci";source="1hxcw8n5aa4jfpd8r8f3442diww9zhnywd6kbbqjs7928bb51vk4";};
 hitszbeamer-54381={run="0nw7ch41rjp0wz0k508x2kkg4yqfpy6yfcl7n3rb88ps8fiqd786";doc="15kkzvgn1n09i7nnfd9mll1l6xqwrbpc252k54gi791nc30acaip";source="1ysr0z079l5k61v5r77hy2r150did3a1a29k1xppxrjr5ry3f4nk";};
@@ -1747,44 +1780,46 @@ hitszthesis-61073={run="0dr4ifga9v5w7kdx2iban28ajvw24b9ayzs9rqa3hkkir460hhhf";do
 hletter-30002={run="02v906vgbidc2s1mgz1k3666riwb27vsl7dp24rd8q2m167xjd29";doc="1x8q4jkrbw6ddkqqlaz6mxj4q105vjs8k8ifphvkvhawl9iikki3";};
 hlist-44983={run="0ac4n38nnimrs14k1s2yizbqvqky905qcv0kgs0aq043kkmpi0v4";doc="1fnqm6kxr79y6bpymafr2s3m8sx5mviys06hcs8sfn2gzagg88bl";};
 hmtrump-54512={run="13pq5h9pwnp8hynsc35ib8wzblh3y4gx2lmrrvd0big80wwsdhsm";doc="1bzgqgrjlpskqydqdj26lsn55pkznmbbiq0w4ybr9r0djdmqbn1a";};
-hobby-44474={run="02p8xxqxkq486dxz2fy3vghm9qnc13pznz84w3grn1b1cys1sbmv";doc="08q2nn1av4wcqnlacjjh6bgbx57qrc9vigb695x5zrrydcqdac0g";source="1pbzsba0z0i3zf9np60fjx0wvpvimslal8xq15pf5p9lrjq946r5";};
+hobby-68137={run="0ndhwgldn1na83jzdk1ab03asbbp090a2czyxipm5s82zmfa7bm7";doc="1yz23fn3zdixc5xxprl0jrly8pqm1n0dzrv4032802l4bysxj7sy";source="1nmgzxkxsq78q35zf2xpzwp3lw7s3i2gya18y4xkdq78673s11pg";};
 hobete-27036={run="0825ng1xcpdmjihiffzjrvcvx2fqdz9mryq2bwffas22kf0zlx46";doc="0il6kl26r8wmm6jzii7gmr61af84bl9dn4szlnw34dgsdg0an5hh";};
 hobsub-52810={run="11j0fxsxmyd93px9j5fdarz1231nczdkfpf1qf33kcdpyb44jrs3";doc="0hdidvz42acsgy021c1dzlvshcmw6fz3pkqrwpk66qk2nnh30dal";};
 hologo-61719={run="1jhzw2bxl0nvspr0blkglm6zbmrab13fs601h54gnrhcw10mxqwi";doc="1af7406hbdvb2fb735i6y7wi4bhnq7x7sijf63zl0klpf9pii8l3";source="04d83z1pw6scg4cd1616ix291zi9dz5nnvw9xc8hd4lfxf15nx1c";};
+homework-68773={run="0h590xk9dd1vc8a5bffwy10lfidz1gb20zrrahqv4c3w3fy6qp79";doc="0q218128c6f9fnbrjinxcxql0gvlgycnr687k0nfrid96mwqm9f6";};
 hook-pre-commit-pkg-41378={doc="0mikg4p9wxb28vgwh1acgdhwa2fqnc8rw3jg355d6s137m40awc6";};
 hopatch-65491={run="0r294p098z0qykrh9r4yxmc0w72mz1nmxqbv418pmbn15wgj031v";doc="0qxa6maigbzx7hc3nss3wmvcpyc9wvhq0pbzni7j0hqyzzsz3vv9";source="1kbk80432fpq30zgix8waxq87kjd2bpcv72idaly8yjbj4pa1l1x";};
 horoscop-56021={run="02kazmk5sa40x0a4zb30gk9lkky0ak825gczbr5z8wchwpy4i1ac";doc="0w9sgk2j1fzkcfzn76zpygrlyi9fnimp92mygsq2z6rpblzd1qyv";source="0c6zkcb2057y9x7mz4q3nwin8h8ax71yaam21m91gk6ad9k8l4ij";};
 hpsdiss-15878={run="1l7mbnhds4c6y1w5vylsx8j7b4syl2j785l3xzvk89nc5g6ck2qh";doc="1cxdd1340b1gkn915id7xcdac2zp79r1yi5g3wjwmj4kbn7z6sbp";source="1dar4y0ajqz93znww0fkf36li50b82hbxixi30hi8fm8y2hc3j2j";};
-href-ul-64880={run="1x39y3x1x12w4c1ikq7cy4d7m1gbkbswrn42wpqjv3ylvn1vg8a1";doc="1xc476rl7ym0j6xxfmdm10jw09i7c5zcq8gqcfrvp58sgi3sy62y";source="1mj85ci63gb0mzy9a58j0320nja6ikvkz3jzwilfzxaszz4h1kq0";};
-hrefhide-66196={run="1lbfx61xyvnm1r24h6vrp3pnmci4j5abxlaanhni19j8gvqkri3c";doc="1sf697hjryz1l82ag8h2kpxgmwa4fzmwb6ki1wsnl0y1qkl9m1k0";source="0p4vqr3cjnbdsrkv049jdd6yr54xz40lvgdyx6z2wf79k5fj4z1q";};
+href-ul-69359={run="1gf2kcqh60ilzkd2i1fc782db4nxqgrizz6h2p0i2lvc4qplj95i";doc="092gjbvcda2xacj0a3b8y6zlizkkyzqcbr6qfhdsqyds1sdrzpjj";source="06paqsz9is5ksj8lnny4d4g7z3wkfgv8lnyl3nzckj8ap0f80g34";};
+hrefhide-66189={run="1lbfx61xyvnm1r24h6vrp3pnmci4j5abxlaanhni19j8gvqkri3c";doc="1sf697hjryz1l82ag8h2kpxgmwa4fzmwb6ki1wsnl0y1qkl9m1k0";source="0p4vqr3cjnbdsrkv049jdd6yr54xz40lvgdyx6z2wf79k5fj4z1q";};
 hrlatex-18020={run="0klc0pb2b2dcixaqhgxinhy18rp0lwck7129zi5qnpygzfslpdws";doc="1dlxj4rv9gaxd6i4ns4zmhykhxwsacw6m3m2jmk2lkc3sw68hsyh";source="14cw35brx8mqv05zbgrvfmmjhxyryx7dmj8dk0fkimqbyvhvv9sj";};
-hu-berlin-bundle-57580={run="0fyzil2b9qsi0qrahdias38w2k7flai2p1r8afqimsg16vix5ndj";doc="0j6icx6ffy5lxy11myb1addsd0yz8y1n6fxzgyynqd6zd86w5pc9";source="17x425hywz0gkzpg04v3cghq47ps89ckg4ywim98z4hy3pqvlacx";};
-huawei-65264={run="1zw5z5nwc071cv9s419hw9fwiy0f9j7g3x6f4jrkya0dc1qwrz7q";doc="1mzkdgj8js508b713j1lr3i8m5lclwha5h6al106abin7j45470q";source="1py9k0pa2987xm7bk4i0slkycn51v35xw63w7vvlff6h50ljy0d5";};
+hu-berlin-bundle-67128={run="109hjfg6p3g54pz7n6i64ggqjmvjqzmjp6ipddji0mnhkhjfww6b";doc="1j2vjhk6rnsj86a59cd081vfcqnb93lz6szis05cs53k8pa7yh52";source="05x8cwvh5xkjjw069lpw7pbsnb5swvf9k2c6l2s1v0w1wrpwg7b9";};
+huawei-68336={run="1byjwc6yjfv8ynmbdjbljgm4592aaz0dscb4plwy5qaxiiffsjxl";doc="03hicqi8j2mzc6x1ay0blwjl1aj7n5j590nf0qc900zad7r8jlm9";source="1sfm0vbsrm7a8xa4jn3ncnmyn6wipc4pr34gk9x71hxyj0hq3qm8";};
 huaz-64723={run="1vjfx3c2hdv2jzqz09v3ki59dlmgnw0ff6m394nq6gx0qqk7xl6m";doc="05xsh7jvy9y5v9vl25br8ixxbyfd754p0hihflrymkv97f1b0nlf";};
+huffman-67071={run="17pgzpbhah5m0gljhkqymv5lxpl5bxxgif9m7rnad20x4nmyzz68";doc="1r6a1i3j8s4843gdvii740dl5rbilgahcrs2xw1zcqpq8z4xbfnp";};
 hulipsum-56848={run="1wfcsaff7rja3n0151ddzbfl9b3gkfkwq0vp35zcrd80xsqlw935";doc="0994kin6fvbk4j9rp53vjp6ci050zxsf6z3qi7zdfxifd269fhx5";source="1a5mkkl36dk60baffj3an2sa382p39j2sdrgadczj5r9pm9q0am2";};
 hustthesis-42547={run="0c5akc97v3fh3skxpgmffywca8kyswmaypkyxdzwrqb1k2z4xknp";doc="1llsyhbgdz9k6swry84q539yjsvcxj6hgirqcw4vbvsdxxxsbyn1";source="0nqs1ifkhhzspdwg5nbqgpd2309aw9r65cav51vxpn2abss1q6a1";};
 hvarabic-59423={run="1cagm9zxkhrck5svckh7i0c3zx48vy0h6f2nhishm40g9q9r5qay";doc="06g6wmxqgfj9zz2ph7gwgndgkm2kzpd4ci7pkwl5qm41ik96l7a3";};
-hvextern-65670={run="0s3lg0vy2d7jwikhzqd5va1b0jy9xpiyxnrvsgyqgnl8ji14bx4q";doc="18vnzswi04c41pxrp6zz5qs7qz7i00pcyx33ka1dqy011v78fa5j";};
-hvfloat-65671={run="05sgac27qnrp9g22xnmcn9j8d50f515b887ym1kv59syyd8hrwmi";doc="0dpjydbissndmh93lk956irjlyygmbw0lv4db12bydgi0njq9dzm";};
+hvextern-69064={run="0f7c63yr0fn1zf5a5kidxz07gyd1nphms1cdsmxkf490f7xh6xxd";doc="1ynd6m5zw9fgh4r3f49p2cp0d5409qmavyd5c9ykzagzbc39f0r2";};
+hvfloat-68586={run="16h12i3s0n4cjlh9pcfy1s4q03ln010dyma8myqpjqwaqb6wlcmk";doc="0cmlhq6pab92qg2bslk4q4hkb1sczyqxknplm687zp527fzklasj";};
 hvindex-46051={run="1wk4q29iyqrk83kafwhah5gvvj2ywpnqzvnza6cwrkb85fd1q2i8";doc="0vcdmn3xc4cm3rkdkzi0qvqakgkc3hrgy8nycr5c8vcb6xaiw0gr";};
-hvlogos-63261={run="07c3ia9z2xbgaks5czp7bha3v3614y5dvncv74m013vbgzi5sl4m";doc="0wpl5y84rwjclj889kcl4hk063sisyc0qzn9v45mvf99pnhwqsk9";};
+hvlogos-68568={run="1skfin78zfp4wlggm0b1bn1vjmf94nia0spg5kg4y781b85lyjw6";doc="02lwid7nznnll5mfpykxi2w6gwn5rmsg2ycm88p2hrbjihz34fbz";};
 hvpygmentex-62405={run="1rnra0v65wmz8yqwfa6zqqswx0m7j54z6wpzvbrp2d5gx8azsdv8";doc="16r1sqsaw8ij5jxf0ygm2kgdhxpzsq5g61jhj9rq0zhpjma7fhdx";};
-hvqrurl-59256={run="11qriiimmh8wmcjdjh98bi1sghpavl3lnbq13m4d6rgc46q0n3k4";doc="0zamvdxp0i25165k0i4v6172plfhzs4a5ydgcbz3662qliggsn51";};
+hvqrurl-68693={run="1lxpmj84cmfrxw456cm9dfcw1zxb5p915h3jp1x3h7w3a2dnnyfm";doc="0gfsjs5q90cip5z0dz4qz0lb2d3kvm5jja6drknh3lddslak1lqm";};
 hwemoji-65001={run="1vkflwxx8c0ckx7kz9mkh2qkpyxjjx9zmp940p9w93x4c09bs6l2";doc="0i18fcfbvyv4k578bn00w7ngk5lxp29n1j1i52vjwc4cp25lfgys";};
 hycolor-53584={run="1dfd149g2k8cq3lw95z6r4knyq1mgirdqnk9c4lmd7ip4rcs0vi5";doc="1pc12vbn1yak6l6c1fgpnj0s88fg94nagj4b95mvclad6b546g71";source="1f5jv91vsib5vk4byr0481a8j5pvbwmhfqz2qd14ck2vw8laz4ap";};
 hypdestopt-56253={run="1753c7vjx3smnhl1iylg4x0sdcqfg6gb0wdbwqmlass4qdn494w1";doc="07a2dpvvyj2r2691v8izjnqjksna1nm00za4sva1npcrhkc2qq1q";};
-hypdoc-65678={run="1cdvlsv1acnjsr6kwqg58r13nynx7bpa00m3dhv521k10cms4ph5";doc="1h0j48i7mfdb4cb5cd667h2v0xnf85vhk0pmrrj1xxflv4qlycs3";source="0ilkc5bhvai33f0n4yhbzg48n0l7f3x9icnw798lyqba4xlvy523";};
+hypdoc-68661={run="0xbsmzlj9hf5y349r4mvvnzc4k183fzr8lp1f07r1dc0nbff1qvq";doc="03bcsfydm4yzm1g9ijz1r2r0f5llc0i3pf318aa5rfy6j896nvvw";source="10yvzay1g3nk2kpv2l41vd2dqxqh5x03dd23xcpd4lk09rbddcpx";};
 hypdvips-53197={run="0ax6n7ki47jyzp5g8781c7rv54hwrl0fg7d1bwzbj9bmqi39df4v";doc="15vnypyl6g50d4mycz3s41h8ccpmknr0vh9bwacr6nxbzlyyykrk";};
 hyper-17357={run="12737gd2nmnalkgl4d2sh45r4d621zl6g2zcih98m7dw8qr38w2v";doc="0hzl3fzgmn6kyl6p4d98l9ycisfhb9v50a1m6n8q1k6jpvr10z9f";source="09m0kdcs4kqksqwxf29yq4l52kb2mj5pxkry010ibwqw64cs5p74";};
 hyperbar-48147={run="1bj0v54k85isn3p48vmiygcvd3n06r4mqcp75hf96mmp0wvmczg5";doc="0fmrz4hlzd8clxx150fk4zbkdgbnhg3b7ck10225b0n1lqgnlh0h";source="19x81f6bki5mnx1nblrl0ji663q0pzkacy5lbjsqyr7krdc33fyh";};
 hypernat-17358={run="09lnsw7ycwkk71fyjk8zwgzdjv8ff3k028q7hr27dqsiyg4hjg7a";doc="150ayv12ym9h68a09h1xakdfzccpix1pff9blkzjq6iz5imzzpr1";};
-hyperref-65758={run="0n80yzmhap07qjf1rva9jl1fr2qfx7qjkdn92l502nd9xw3yxf2b";doc="0w368frafzhbkq7w3vv448qqjyy8487vi5gi79dbsc744czjn0rm";source="0igpr3ipkvws7nyw88wga30rjvix4462fzqakhqbj91hz1ml0gb1";};
-hyperxmp-65979={run="1c8y6ngajicjiymlxal675dmq6sp650cz33kk18yvnmc5yl48b0m";doc="1if1jjbkyk8dq6y8ssq9pa2ccxm055bd3b6hbnbcigbzlx9x1zgh";source="09wyhpqrx95dabgadr9hk1j41w0a4nmqr07a7nxkjzkq35yk9fzx";};
+hyperref-68972={run="0jmgr56a42db36625s7yxv9n46qjmrhcs3s9p91l86xm6g32nzlq";doc="1s6ykvsm30z8nds9w3vnj7k7h2gb4fajkchkigaliyv5p0bx5q58";source="0gfdzfyclccssg4yc2mj1brwk7lm70jcsklcxzmxyarchsnrx7jl";};
+hyperxmp-68251={run="1bgizrwr5wpr8qprjwyf9z3f8jw0m1sq8qzw886j6lwxlfg6fp9k";doc="0srwvld1grn4smw2pnr0fp2082vvz3x2bj4lycvx036991mmnr6h";source="10ll53lhsqz20cp80mvwy1z9qna1sswappy2ifz71m6v304a1q9v";};
 hyph-utf8-61719={run="14jj24fr6v74vj8wi2a9k9zk9vnrvmy1ni4zn24dl5fdfw75n5ik";doc="11n1blnx9i7q2dlhyhf1dxs2vnldc9r8f3k6diix0i1np8hpz05q";source="1cff5ijmpxc752n6cmpfzn1a10ihrkz7n9l55gz2k2q0a00m2ssh";};
 hyphen-afrikaans-58609={run="1kn57mzrbk0qhz69b1ysdqjv8xirsb40yz61jx146kqc4p1y96lf";};
 hyphen-ancientgreek-58652={run="0lhy1zrg27748mrx8yz5qxpxl3nl460l5l6impiz3lbrgnld487n";};
 hyphen-armenian-58652={run="02x9p12zc78w1x7k2kz019as42d5kn6gxfl4s72rd6dyrqii7bc1";source="0z666y580w1kpxssdanz67ykq257lf11a1mnp1jrn08zijvfrw9c";};
-hyphen-base-66418={run="0d8kj53h1vhvv4pxks1n214m4l3z09qsqxa0929c766s2wldx64x";};
+hyphen-base-68321={run="1xganah7l607qg0hyridxx08sfjc8qakykbc0c97pad677mr4zw5";};
 hyphen-basque-58652={run="1dy9fgbh4i3d9ar8wazwjvhhwzyhbys68icz3zjvk7gk9nvbm9aj";source="1yhsbzf1g9dm70jfixsz51hsfvn26cwfkfxvhg7xv2piynr4v51l";};
 hyphen-belarusian-58652={run="1n5md9kf7iiwqm236bkdsl4fb4vd6a03b6q1arvfa4l4yh8jvr13";};
 hyphen-bulgarian-58685={run="19h61n6ip8ja8kn8p1fb79lfv15pfzdhhzih0hg15cp1891nzlql";};
@@ -1843,11 +1878,11 @@ hyphen-welsh-58652={run="1klj6ir4b918cx96jd772ps9fl2fljh8kwkakdwaqqi8szzr65d5";}
 hyphenat-15878={run="0ckfvjxdv4rb8156x2vmwl15mk9057i2lyg9xhqkmvqh1ani4lc4";doc="1lzpdz05dw5m8ljxf5f846m1x4nv5yrqbg3sixf7dgyhsmpfxnls";source="1ddwv26nfl4jwz8vxs4fwc9qw8gds1sg275g2bg9ci8dfflk16k7";};
 hyphenex-57387={run="08f915yqpx6qhc2dzbicbv9cijzpgcl4jpifydqcc0x68y51qrzi";source="0lqn354bskaa6g0bn9g1r3lbb1hj9si5n1ki38awayzp1yj8a3q0";};
 hyplain-15878={run="1kpaxdya6m7x4dmrxqzrs6k6agxsg8lcg5yqqdlips887lf609cl";doc="1q5dh42gpv4n9ps0yqyhcscjn47qz4zf35jlg56xgq2w5229k742";};
-ibarra-64567={run="1lfvjzknglqwapzvc15kgrjqszjm22f4nh7gssr7pj3p39j8ag0h";doc="1xy94i61xghgyjxgj0hm4flwifgfyrywbclf2rmcydh09a0ih7i9";};
-ibrackets-65383={run="18c4zyygzs0ghfhk41cw2bdd46ykhqrpf5wjp8lykyhccvg07gjp";doc="0dcsgc7y4zbp19qbivjjv6il8wfzg7cq23gl4wi0xffk7a46dwvm";source="1insjy2s7dzz95jcvfs6hj6hhqwkgxqby2p8npym810cr9d2y8gw";};
+ibarra-66892={run="1ichmsdkjs71f5yx5cphh08dk07gmr7mg7n0v2p4sg4fh3dbxjv9";doc="168k2sx4shkx8h4l5jp3i940sp2bd9f4if2pjk6ilmc832dbh25v";};
+ibrackets-67736={run="1cd32hk5wl2xzahk9xsrnmv8l5r05hqi9gz64d6k0lzard4p494c";doc="06ifqb5k7z08mzd8kkrkj3r37yfwgy5fw4zygd0an5470pk13zam";source="1axxyjfhkany1k2c6rzsyqilrq15809fd73r9hv0qmpbgca7m3m3";};
 ibycus-babel-15878={run="0az75laq5fxnvn12348c3985148isz4n7nv6hd0d8amanm80h779";doc="1256n1qa6zpq509rk02llcixw3qh3sgi9f649pv1hjk6xdy7nxfl";source="08x3knpkwifgi2zxv78bnfn10ix7l6rf5nhfqi6w5xck09l7fiaj";};
 ibygrk-15878={run="0krpzjn96r70z8rwsq52j0v1x7ppd766ngvf6xhny2kd7mshl9ka";doc="0prn5b6cjc9ljxdnd1ckfgzqwlc5vv4w435zvyz75r3f1dvbhh9m";};
-icite-54512={run="1aszs6kbmwx7k322a2yzk4l8d2gdb84aq7f9sk4bpiljgi9gpclr";doc="0bc1r733c6g8y8r2kam7in3p3cb9y8frph85s26kcgdxqw7j069i";source="0l3gx6sm1inyzyb6z2rb1zrhrnyg0i3xim0dn80360fkxxsz7739";};
+icite-67201={run="1aszs6kbmwx7k322a2yzk4l8d2gdb84aq7f9sk4bpiljgi9gpclr";doc="0bc1r733c6g8y8r2kam7in3p3cb9y8frph85s26kcgdxqw7j069i";source="0l3gx6sm1inyzyb6z2rb1zrhrnyg0i3xim0dn80360fkxxsz7739";};
 icsv-15878={run="0gv7wrghqivfm8yb3nkm6r8jnvx7klbhr1nbp27cjaliz70aapa4";doc="0dlsqkdmx4nhgs15hhn0nw6vk6h3q3hhhwdymy8nnxraph2mvyl4";source="1fh1znhlacpci7v23aj9zdczhc87sg3l0s1gsvrbgznpadgbzbim";};
 identkey-61719={run="1vs6sr25ybmrfkg5v3m021hlhw9x3gpynh89q12a5pl2ka094hn1";doc="0r33gzfwrj4j8a2i8kdddbhgljf3hz1b7cjfxgmv5gdqmmjywnx2";};
 idxcmds-54554={run="179mvb95a1cxkn7ncgs7xwhh04d36s9nb5jjxvaszcfkp9rnlkcg";doc="1ym6yi4cpw9flz4si6blg5bfj85sf0p3y6nipc886ixkwiyvsgm7";};
@@ -1857,7 +1892,7 @@ ieeepes-17359={run="0nipchw9hdlc7am3n052bszilwj192pfcnc9p5alqnffrd8c4rdj";doc="0
 ieeetran-59672={run="09j24j6kpgjx58yghh902bdpkns025v9av6ym2xwslmv1ya31pka";doc="0y3bw20f1sa7dacqwrwc43masap5sz23vna8bbkf4p74rdgl3bkn";};
 ieejtran-65641={run="07y254kl5wanv7d2jyzhwlf5z6n542217f5n7gdyrm4jryzhb0ly";doc="1l5cyqlsamkn3yjdia1zbv7lianq8jcjl83pkywimxnybw0kvdbl";};
 ietfbibs-41332={doc="18ypa96z1gclq4amka28sv26pm7lycak68zf4b3sf1bx4ldnzmxq";};
-iexec-64908={run="017rhxcbxfvflwnagz3hgbi8h4agzib8czc6w6j3333fn0sd4i7r";doc="0v74w4j2h64aaph7wl92bp377y2y6krliidjaibk3agfm2vz90yf";source="0nkacrias248yf1xy7nlnqzr80n250rhg5kzjc0w5gwii25dn8mh";};
+iexec-69230={run="0fy58y8g2l6p1xziajsf5g1pvs8nplj5ml5jwakl7czjvmxylsaa";doc="07r3jc1wsfkbl0himc4ihzshj3n3hlmyb3js1885n279n6hn63vq";source="1afja904bpr4a753khpd4vhafw5gyspmzl9rj79q31pnqjhnacqg";};
 ifallfalse-60027={run="0pn37mzlkpswyykciwgfkw981098gccqmp7wllffr39qxhcj6gdl";doc="1583p9f3lv7kkjygqv368ag70jq2b184j47v32aqpgnwlmyn55jr";source="11636chvmy2icfq6f7mvdq0fpcn36yl15g9ffpp0flqdq7c8nd14";};
 iffont-38823={run="1a4zx0mysk6i7awvcjv2y1yid1k160icrkqkvw34qsgs35qnqbbq";doc="1iqchl5nra5ldmv5ddpwjcm84whpsxym34vphj2zxvzl0hqwrc2n";source="1x187pafzgg7h2vvy5dfc44y37q45lkzqfkxh8b52pysxxl23014";};
 ifmslide-20727={run="1n4dmmslpsx9fv9wqiipcg04lasym2fbgsqkvvffqmx5rszgdpha";doc="0n7hsymjs1zfjc5gbn26z2wdl5qicc7pd251s0h4qnfigq3nhr08";};
@@ -1865,7 +1900,7 @@ ifmtarg-47544={run="0wxhdmd2h7rs3fck9yq1g48kyd33m7xzz3g7ixg046azai8f90m0";doc="0
 ifnextok-23379={run="0sf9dmz303pbxfi24z6fb1wxia89qaf4svgp4sbpi1yl3gkxwrmj";doc="11r5zrs467h3rv5j8c7b5iav19v9hbcxbspgfdbd061g871xxd5y";source="047pc422qhh9d80rjgmjgmn5xsapf9azvqrl0cjn28qw4m5ccs12";};
 ifoddpage-64967={run="14gi24l4m9zmyhckjq3j1svr9858rm2idr1wwjwmp561wp7vr6yz";doc="0gv1j0swzc4imahk9s96nga1l42qzc0xkznas0jzkbi27s2lik4x";source="0wz7iaxf26qz1v8sc0kbrz1wy0kzd4zbd0qiscdhmhmw2xr077zf";};
 ifplatform-45533={run="0abhpfw3w1mvpg52xaw3cngl55sszk5ji9a38yab8vhknh3d3jby";doc="1b41nzn666askfc1kkm1lwf05ggf2ml8gz3rrki4yw6ch52sl2sc";source="0g0qvbvv4j87rxps9yypair00z6il5hfjczkrmf4fkycw714sdqa";};
-ifptex-62982={run="09bkq9az6axiykrwqrdwq1w6rymdxfh01zizfmj0mw3rbn05lyi3";doc="1sls7c94p579r2y7v4ap2165f1fypyh2kf1rh2qlqz9hb0d9l2hv";};
+ifptex-66803={run="0yw0dphc2pdx2jrm5khzrnp6rg3fbcfc8z6ppwmyid8iqxszpdg3";doc="1mbdhxl2fgbwjbsk8jqk3709bv8k3whqagls1vqm5386lbcycvkv";};
 ifsym-24868={run="1bs3974l1jdv0b2wwa94861hnb05kb69bsyhvsgh6k9xgmgwfrla";doc="11k9jfqrfmshwpmni6bm0324zj7c939k6shvi2l69k4w0kx6phlb";};
 iftex-61910={run="0dzpfyc2ld4kbdwj457fzmf733792gz1z7n7hpbn6z7npnkg6i8s";doc="07wvwfxwv641lmk0p1gplv7rsvab87v9fgzamizqvihf2ys506q2";};
 ifthenx-25819={run="0bp087nfq5hb3a60ayprbz621nmk0acisizkw5i25n4kryi6vc63";doc="1hzz8s2xlz2pij81cfgjad8yaamv8l4iaripj7bbifkq7gy38afj";};
@@ -1888,8 +1923,9 @@ imtekda-17667={run="1hhxwaykslzmf70lvmrmpnn2kq3xa114lyvazgfg9sccc990gnlf";doc="0
 incgraph-60810={run="04kzj381v6lj9a2hjgkrsjvs4h5hw6mn80cfmcp6y8d753ibaail";doc="0vi27zvbw8pwh9krr8zwh90m1fsx6wqsqkch8c9ggjy03518b5zs";};
 includernw-47557={run="1w51v1v8x7wzibcy40ss7ldra83wbil8w1p978yvs5kzbky3vw2f";doc="1zl5fsgzb7nm1wi6ddc3cngqj3apmjwn1wkmsz785nss56vk9f7w";};
 inconsolata-54512={run="1mbf4m3ll3r4nhxnmd3ridq7kdqlcjcm3g2q2s6qxgn4b6j9ikvn";doc="1rh7kisvs33v91r19lnqgma705dc3gari0g153ws8bd1px3ivsdm";};
+inconsolata-nerd-font-69061={run="1778fg0vpaf7ccqs38x9k8d4fsnawqvqpchcjb5bqjzg8mk0mvs0";doc="0ydzsljbbajpi08dy4lyqld82sqpyv17vh1pp1nwp6hrn6cml3q7";source="1jndmhsr8y15b630wi7qshn1kjq9q2nfkvrn9gk0awqzjwl56m6d";};
 index-24099={run="0lx5jl7nckbn0brsijlq78mm0gjshf8m1dqjhgl0l59qi56x5f4x";doc="117h2g30zbw5g6x3xlmpgq0k4fqixh0l8ah7350q1sxvddxfcc24";source="06acw1yb5z4f887p44l9afk78kpnjv9djmbwj55bac23ml2k3ddr";};
-indextools-38931={run="155l4azvgwbk4h70x6bkbddq8k4jxhh485xa7jajz9vq11lkvhs0";doc="11n3knyzdamz9nz00i2rck6gffqrzwcycah0ds2a2wmcm7wl6yvk";source="08qifym1c39rk935hdsm7kqxdy3gaphq34bm3w6klr92cz6w0n1p";};
+indextools-68555={run="1f1r8k0psa7g9pk6kkgvyi9dnywsc4n34svfq2pj8b1gmp9918kr";doc="1xrlfkg43x4g66ip24spnq7vr915z0q7zdkqmi8g5zls8y81jg1c";source="056vrs54jnjnn3c2kvxfhhxf5ms8cpb004bhd8f9whb6c1hdjqpy";};
 infwarerr-53023={run="19nlrbfmqbkjrrx9x75s9nd6crg1lzimb2fr3hfblaivj6lx8p4r";doc="0p1s0v6p7ygkvz5f3vgarcrl85clfrj3ivzrka62djqyzn4bb3yb";source="1x2mkqyx7gz0bz31na6mcdyrlj11mxpjlzc6gb9pk51sdqjj0bbv";};
 initials-54080={run="13d5pvc2q6xc0i8nbjpifn5xyn7wzln7gng98nnpjxhk5y67bcz9";doc="0676gq5dx4pqs6c0z7i48gi53mlapplmms8s66qwpdq1aksswdcq";};
 inkpaper-54080={run="10989ja1vy9ca451gc0v0mrkqi25dwv4fdvw9y4k6z26g7902hap";doc="1dmvkq44kyxd5y4l2kc9wvgrhgk4kkfw0qfqzi2faf9xd6jssrhk";};
@@ -1897,16 +1933,16 @@ inline-images-61719={run="1nq64ymrmfiw19bcbb25gmll36xbv58ynzvv140089pw7xn5x7bm";
 inlinebib-22018={run="0v37ifnjpvsrcbrjd57yk3qqq195jqvr1cgvfz2fsrjrd2ima822";doc="0w4j64dxh11fysqpkldksv2qg816shz0dj16jqgbksxkjsig1i16";};
 inlinedef-15878={run="0k6190v8lv2l96qpmh3pkblhwn6camcq83w75rz09517bnysm4yz";doc="0gz9m7fwcdxs6q5a33v7n32x5jr4hbxsy4j2shwv39j1j2amr1vl";source="007648wrb4ar04g0851yw663cvlmdyifidp854y87yzh536hfwi1";};
 inlinelabel-63853={run="05qv0j8gvdqsdc0bg51n7mskbx88gv2yny1zffr409x8pvccnhlj";doc="09jnbnyc5sy1grvyjxnlrr3pg91ispqd18mfdk9zj8m6lwy4gh1l";};
-innerscript-57672={run="0ig7y528vl2r4dc4xqx16qbl28hy1vfhyk1b0f0ifnrg41hqs61v";doc="01y491bx14p1b4pylx4v6ilszj3v88j404fxg3wh2pfi1m5cn6sd";source="1wsj16c896rba9xjm9f0kfbj6hafkb8l0p41412vdzbhqv6zby6y";};
+innerscript-68776={run="074xa8nfa50sdz3hqvvlrmambjnfg9yai73xx9bmzc7mrxsdkxc3";doc="11nli4g0q319k4whryc4g9mzqjsqz43ryx796kvhb3kw8v7z0rcc";source="1zam1pw4jjx2kcps4rdvi0rdrwz37xb29wjcbm5ir4z0lx4qq4fa";};
 inputenx-52986={run="0jjf29lj8ha99r2x0vz85swkr2aq6v2jwis27irsi79syfq8bpbc";doc="1kkblvi4dhfxsij5lmbdvmnapskvd5yahha5im2nlllh8crypwv5";source="1681djxj8c43i93ip864bi1p1fpn2dngkvh18zs0234ls0gkwiy1";};
 inputnormalization-59850={run="017dxyy2lykvcsigpq5vfklb2gqg1aprk0xk21sxa8bdsn3hd2gg";doc="13yvyh5g4a1k6bcqwgmgspp8gkgzvgcx5f0wy5ajp577cxsk5ir5";source="0wz9hw5qs3i3iah63fqhkdcijhv30k828a2a19268am4803m1pxh";};
 inputtrc-28019={run="1qy90zwai5ciajsiph6sgmzmfi16qgvx389hvxsfi28wccpm5bh3";doc="0fcxac4jsvhnc85p9nwpp44ij0yq4q1lxlw42dzhg88fdkl57srg";source="0b6kl9a6ilv0i5xnlcfjgia40ynl28dbz1rvcvak3637fva07ghk";};
 inriafonts-54512={run="0kbf9rvrml10qk5pckz21ag217wimqhdxjfk35ll0a17hc9yzj68";doc="1hbhfhmnjya1cmj1wzhvbny7maw9m2dr7sv74g2ka6gnl1n4rx1x";};
 insbox-34299={run="0ylnp3l21zx4y1bwrr33v8d79vlgz5frna9dkg62gz1bhjbw7f7i";doc="07iw7py0p0jfq5np89dx9fdvia3yk5mi0py77xrgb8v4gx7k5g3k";};
-install-latex-guide-zh-cn-65434={doc="1mb6d92c7llz5cpkir4d1wf0l2yvmskl0kxgch9r5zjmb67qflin";};
+install-latex-guide-zh-cn-69264={doc="0hs9pqhbf5pkdk3a29xnicj7i8zxgf3vazf2mmm4z6fc4b0kfpjk";};
 installfont-31205={run="0lszqj128c3f4wbcrvzzlvj25jl5rm0n5qfj8rsn65ycxvymbf91";doc="15x8jzcd7bwvbjid0hr56h7dw39n2rg6wbfz4b02y7shp1pn7hgp";};
 intcalc-53168={run="0llrnayqwdqxi91yh7panbbiljina3bynv2hxhi6sssaw3pyd92l";doc="1vav25plm639410p59bi7bsihsyys9yaddz0bcawxn72zi9b96r4";source="059pqs3f821javya7brxvl9v2mifdyw1vg18hr1zgzhj7bmlxh14";};
-inter-58892={run="0f7i2c9hrlynmdmk5acaiyzqxhsf477124k92nlikpibpcssxy49";doc="1i5bxinfvjcgj2ggkg9him5dqsdn9c28f6cynp4g9fsgp5fdw600";};
+inter-68966={run="0f7s4mfj1phliv0dddkhsf4gpzi6xmyxhwv26bsvgvs8saf7qsha";doc="1i12ppl2fmjv4nxvslqqrn4ygrvmf9aa1lf5wlsrwn238343nkps";};
 interactiveworkbook-15878={run="0dibc16gdam4yxil37y2zsz4cnfiq2grm6qqj512nng4zqnwcdj0";doc="0nh4zm37xipvmv5h6yxy1ir2gkjy23h22j8dnz7m04w021sgx7i2";};
 interchar-36312={run="040zhi6rq7l8s04zcq2vfxricbvakkxnx0bzihbj1ss21pmyrv82";doc="18lpyq26zc9b2ypcb98k578wyg2fp1fllsfyrp67b4v9lnz1m7q6";};
 interfaces-21474={run="1d2sg377lxrwv0w0zdhxdjsnb8sbkzadpp29h4jcm7v6qpirs1wj";doc="00dmb0jq7vvf7xfppwmw1pps6453rv438qkpv5qhlamqlvx2b28h";source="0s5gfwv1izv3y3z3lmfbxdw06830lzy85f7vza4i8zcdwf775pl3";};
@@ -1917,12 +1953,14 @@ intro-scientific-15878={doc="0bzgi3zg0lm6zwjnac90ihaqwcvhindfdphjijv7mh11ii0qxlm
 inversepath-15878={run="08xivnvbyhaihb24w14b908927fr73kbk66x82nv9j332lpmfgmd";doc="097fyhn6dj9d8hq26xads2s7vz7hvixwl27psqrqqvhdlq3bvj7n";source="09d3dzckxrg9vdxh84nx3xzwj3rfarvf0bpda4qib179bgnqrf7d";};
 invoice-48359={run="0z2ixjxicphaya7244mi0gdnxnv3qawyxpa1kwv6s0r8li4604k0";doc="0ki54z1rlb9xwvsgd2bxv2sb135cc6zh44kpww0mx76vcky4az1r";};
 invoice-class-49749={run="05vbh1iclf9gj6nzradfvnqa7yp7r5c3ccahg3j7qrdkkb0xj8ig";doc="0myl8pvvfzd5jrlva1cxkps9g6jr0lpfw79wr3ghv2idz8ba85x0";};
-invoice2-46364={run="0646sb8da53x6aybbfijk35cibay4pnryq1xq2nzikdsf8i5x0x1";doc="057a73iw33rpsgpxcg13jlpcfmcmsq68jdz0fa3dhz964nf2xkpz";source="1z4lilb3h8gp64lgw7xbcnqfjf0lmzv760ggdjhmh5ibdc4ic58l";};
+invoice2-67327={run="0646sb8da53x6aybbfijk35cibay4pnryq1xq2nzikdsf8i5x0x1";doc="057a73iw33rpsgpxcg13jlpcfmcmsq68jdz0fa3dhz964nf2xkpz";source="1z4lilb3h8gp64lgw7xbcnqfjf0lmzv760ggdjhmh5ibdc4ic58l";};
 iodhbwm-57773={run="1d18fjqgingshxvsawkz9idybfz5fdzcd41qxk5hpqms7zcjymi1";doc="0iqw7insxma8pmj5v12zjgs72j60z99g7w5kfkb1h6biwlx33s5c";};
 ionumbers-33457={run="0pfs5064cya5i6h3bcypsm8fy1bas542kpy742gmbd4rdw8cbxgr";doc="1sks9qdrl5kivcgn9mgrv3f2gfifmp3icc4wjha4n1va1fqcqcma";source="1nimrr8b242h11nfxi9si1pg0wc6c0aaa0dl23hjjci89n8y89aq";};
 iopart-num-15878={run="1fx5sw6xzsamlrnm7nl965xrgmgffq85kkxr7ayka1w578p6f8jz";doc="06hrw0c3arhssabm3l6fhb1kh8bg4vp5hpafqlbyz064a60m1p9y";};
 ipaex-61719={run="12rd8b6kbnn2hvsimmfirfq3nj436h2ckg5129qxnfnqfqr9pkl6";doc="1g2z2ichh3wdjmn9jjd48jic1b2xw5sb8sksqv0hm043hk5makaw";};
 ipaex-type1-47700={run="094z08ygcklbk7nzklfmdz3lfmicrr40i0wzxmia93v1vpsjb4gh";doc="0946rj1bh2hi0779ss6d003wi4xcb79i9p432jkry07xkr3fpy7d";};
+ipsum-68861={run="02df1xdzvxv5g83bw493kh01vqbq1nf2ls5f1z6j53f116k8k154";doc="0dsq0h7hgm90lf5a2mmqgf9m002vng1cgfz6y21c85ld70ds0vpk";};
+iran-bibtex-69347={run="0b6janv0n9shyg7plykvb1dncxkfynrq6hzn6bgai2n1565c10dv";doc="0pwf352y5yz01y21w2vgz2z3j1k9jkssmk88gf4mcji8hkj8xrkn";};
 is-bst-52623={run="1acvwcg568iv9lskld9hjnyvqvlsmgnbg2akrd59kmh8mmbkydk9";doc="1hlprbjkamq1w3f1n2dzayy9v14kxj8f1nr6d3z99c7v7kg19m75";};
 iscram-45801={run="0h6pciksfrabg7wgxsgzciw22cp6gmz9cb3ifdsqb4n4qk9fga6m";doc="1p0p4w7pkyc9xp5af1afmsibbbrylcfrdcbn16adscw8y6wmds05";};
 iso-15878={run="04ifwh4vn074cnibyafzq59zjlnlmdfyq03mqwk44r1mgmizizdi";doc="1bnh34708psjpbhcddv87axjhxiyfjic0mamlpn3z58qcm0jb2pz";source="0gaxih730r70xgy84vbqz1fqbdr1w9fg9d1hszp0kqvqaypfmcyg";};
@@ -1933,45 +1971,50 @@ isomath-27654={run="1bzw4l364z6avihhihiprbaslnn49v1rrllf5cj0cg35r3jppz3c";doc="1
 isonums-17362={run="0nqzapahfvqg59zxrgjiyywkh8zb8mz9gdc2733r78rxnz81m1ba";doc="1axq0acxk6qhq42ayr0zjs3356ww3ryidvj2wii2c00isw0qip1w";};
 isopt-45509={run="03skmw4hmib197p3cfbhf3mbhq5hrjavwinwc22drqmca370v305";doc="0jxwzfysw4qsfd1694grnzs2jfqcbhm40w1xlgcsrq2ylgcjhr8q";};
 isorot-15878={run="19x89d5fvjpn66y8ma1h24dwapw2x6a4nxbw4ixp7xqkycyhy0wg";doc="0jrglpxxks1fbwgvmx0w3fjcnsfbf805jv95kawvgz1ix3mm71v3";source="0rfc2jdd4f5yds516lr9m28izg3lbf6wwvpsh9hrl466dakgdayz";};
+isosafety-68801={run="01csapgs6danbh1lr2k1pbz2sbmnj5fwllvb17jnddsjnv6xs4nw";doc="0li7197m1pqgv309fv6nii6sl4ppkcnxqnzgghrv1vkvb5ps4n41";source="05sc88xg477z50rcvg4pjh2p4jnfi4zkjkyv1w6phk7jjqh0hvpx";};
 isotope-23711={run="066b5jw98ynyc15jigxc1idp79i89hwrq19rdizzx90s6xfnxlgn";doc="00w5bxh4dkph9d4z0x8h6akcv1i2a3b5vfr4xbvq1n8k4i8ss7jb";source="0x8vrmprpgpgbxp3n886yajdd9mv27r9shkyz9mp1bd4zakdgc8f";};
+isphysicalmath-69343={run="0550hx1ybxh8196q51zc1966jpdbrb0zprrzg4ss8x9yxkan13j9";doc="039miqrgiymmsc561mnycda229l8r3g4cz629xkndv0rxz3civb5";source="00l19fbwvpv0xrzjh0chqp73k6cvgj2bidalr3c1n1g21zai6c22";};
 issuulinks-25742={run="07rpm9kcfj3dxsax8kp5r5mvrgg1c5yrpbiirsk44ybjjkhhjscy";doc="0qlz8y0sszp1jsnbbgaj9h2zcz1yqk827pwzccfi4wdj4rcpvvam";source="051b05k40zs5amjxnqav6ibdvj64wfhcf16a2hlkaf5kpmpkmh54";};
 istgame-62946={run="0ym2l6nf8prgwg6sqfjlr6mmhv53q3aksfznvgy7ypiggg18rq5m";doc="0ggkbzc4xnmx5h18af4h7zhzp1kcgfiqdl28qhrhhcm1d6vc1x2z";};
 itnumpar-15878={run="09cv6x74vs8m10fhk5ka6i1c6gzbs5qaqbk7i7mf2zsdg5w447r4";doc="14273y8zl42gkqm915271n15pc6srsjvfbnc3jhp5xcjcqnq3yfk";source="1wg714a0ipv9g81wgmjdrm4l4yar0z2nqxr5khiwihk9nrg26yc2";};
-iwhdp-37552={run="1snry29lnq4cm6ybwqi29lhyvn8g3zmqbsig0kwnywa92dl3mnl0";doc="110x1wm1ii7b5r23zng2dx4ly8vqqwr137gfl15a6v6hcr4zxvqg";};
 iwona-19611={run="1gf8kmpmp2cjz5sg0lx8j0kr67a5xshjkghpiy70jnaz7k8fbrgb";doc="1skk4p2pblh8h37rz2pjx18h8pgbagvr9w8h9d83299byvjggpi3";};
+iwonamath-68144={run="10nr9phqmjvbg9hg7fz11dap8ncnxx0pbpbz56pna5kj37znmh7a";doc="0550vjbv8b0z4v0zwgkiw68fg02aj8nznfsf0qpf3isqyl9d94cy";source="11f6m9969lcvp3cw2gbdv4gg4ggisb3c9p090v7nzzyadx4i2kcy";};
 jablantile-16364={run="07f298cfha42q2d12xihaqkga2iv1id2wa5ph8a61z6ckhchzz69";doc="1lp90rbrji8nld0wzry2nn0m2zb2nrqnqyy85p9sh9rmrplhj8f5";};
 jacow-63060={run="1gqjsdzfspnpps2p5qmxbgrkc8bxihmag0w2xrvm26afmh376djf";doc="0p6xpz5n961hyfzjf7crgciig5rl95wkylikmr6gb95bskdcybkg";};
-jadetex-63654={run="0gsmhql8p421dyyv1b021sv0hsnl2y4m8wj3vkcabhpiql76yfyf";doc="18ljn0p607hm9655v6z6xs2apkai20l2mlxwyb2asqa72s6x79yb";source="0vrqpjn64qlyszf7d2vwkbd1y2lj5lld6w9zz1jqz1f0arhq33lj";};
+jadetex-67493={run="0gsmhql8p421dyyv1b021sv0hsnl2y4m8wj3vkcabhpiql76yfyf";doc="18ljn0p607hm9655v6z6xs2apkai20l2mlxwyb2asqa72s6x79yb";source="0vrqpjn64qlyszf7d2vwkbd1y2lj5lld6w9zz1jqz1f0arhq33lj";};
 jamtimes-20408={run="1sn588j6v6gxfgk31r861s7cpfk2ir7ip75hm31rxi8s8hv8s7s7";doc="1n91f0b0bjwbkm1rq5w2vwy6wlaizlp7qb8pxm2wn08b5a825hvs";};
 japanese-mathformulas-64678={run="0x9k23g95j4wqf02ibj4zpfgxa3vlhgckax80lwm5flvr34bbgdv";doc="1iy8q3906bl7j2ciw8l3162pjw067qkbkdadj9v727x3lg29aay2";};
-japanese-otf-66102={run="19iyp9r0d7mm3j198h8znd0pq41vwxk2jk3lkw05j99hbbbkghw5";doc="0mmcg2i2wzzapw122drvfxi85irl2gb1j5g1p6ak7xavhxv6qb8d";source="15w89vxnkh0xl0jb9nzkcc020jfr5yvhl36830ipl11npc30j6p0";};
+japanese-otf-68492={run="1zwjissgwzkjrmh82xixax57wf1ycz239yl9wmcsnn3wcz04jg89";doc="1xzwpyzw3f13ij6xnhdhmxxafiwqmbjbyvv6c6cfbzdw5cpkvayy";source="1cs0daf9dyx5z397lak5qmanwvkbh49nflfaq6ikiqhm22hg3w1r";};
 jbact-52717={run="0z0x6jrxaayp3w441r1zwlqirvv23g0b8h9xgy6r3ppi71glzqvp";};
-jeuxcartes-66195={run="0c2abzl6fjm0nln9qvnms19a30s25lsksxif8yk2l59y0w062kzq";doc="05cxbmcfi9q1j00h290fl2x4f5rd9qh0vxv0xrq9avxh96a8m83c";};
+jeuxcartes-68266={run="1d7izhik03gs35xl4vran8adv5xr4vasc7nh55h9ya559v59xm2v";doc="02jvs63xi0qhcdnrm1m93cjj29i0cp07hw52m3143iadvargpmv6";};
 jfmutil-60987={run="0ygrcnm9d0dkrcz5cx86j80rdqwi1j9zs28b1bjnfb4vkd5r0fs0";doc="1vz9wav5ggsz9gkkyflywsnzjsw0p5paiw9wfx7x3ha2lgwv7agk";};
 jieeetran-65642={run="07b126wich0dkvc7f581566rpn17qbnzx02hfgbw1rjkqnq3svsd";doc="0r8fsqx2nqi1jw9r30h6w3dqafl8mwhih9vxpibgfnp2lfy01a5m";};
-jigsaw-66036={run="0h5g4vrbwpbxbw9dwscw2bqg7sanh0a30bbhw48ff9ic94bs2407";doc="0a36l6s7wp30h5xy64sj3gj716dc43mlbyy3px5wv7n973f5km51";};
+jigsaw-66009={run="0h5g4vrbwpbxbw9dwscw2bqg7sanh0a30bbhw48ff9ic94bs2407";doc="0a36l6s7wp30h5xy64sj3gj716dc43mlbyy3px5wv7n973f5km51";};
 jkmath-47109={run="00nh8cf002lysvn6qiyy5mcs2n2z5ppr0x5vp1akbz0wwhkhw9h8";doc="07n2xxfwk0krbiaphfkkfnc8mgc8iqmmmdiz0cj6s7688rlwij0h";};
 jknapltx-19440={run="1jw24izfsw3l8bn27qci3mblmhpkal9wcldhjll7h84fgjb9q396";doc="0m3blfj4ninra6zn501x17q6b2qzckzcavgihgqmk9q51yibd5aw";};
 jlabels-24858={run="03fpym9q84g1b0pns6sdsb4jx78aq7sclr5fkm05ckvkk4v3wmsj";doc="09qa8y6axg9pvma507b9w63dwd2jrxnmd64f5rfd7wpznamhbc0w";};
-jlreq-66374={run="12qfaxrbid3dbv1l1q74h9h8wv7hiimrxhyrn55h4c5kcvvfsyy6";doc="1d7s8crbrv3aw8rv06v1zrz4shcjm2hhrb2c34ax11ww9s56kclg";source="16mjb1rnr4vnc14na947aivcap1wr33bhb3w82y5nj5x4vfpycrg";};
-jlreq-deluxe-66119={run="1gmbc65qilf6im9xl26440kmvyn56ywc9r5sjbpfd4aknfpwsx55";doc="1nka16c0wyh7zqvqdn836ygxg642vzhsb3kpzwr2j3xkg4kmklsv";};
+jlreq-67400={run="0sjgbc6x16psaa50bfzwq1fr6vlmgjwai5qzmf8jcyask21j9jxs";doc="1y5yajzvsy9lvy79q0ma9j48qbmif0nx9wpmi2p2nysfzafrlsy8";source="16mjb1rnr4vnc14na947aivcap1wr33bhb3w82y5nj5x4vfpycrg";};
+jlreq-deluxe-66115={run="1gmbc65qilf6im9xl26440kmvyn56ywc9r5sjbpfd4aknfpwsx55";doc="1nka16c0wyh7zqvqdn836ygxg642vzhsb3kpzwr2j3xkg4kmklsv";};
 jmb-52718={run="1a5nz825jppq3pl1263w2sbm0a48kmmndppfpp7vi69n5j2248dy";};
 jmlr-61957={run="1vliagbbyy5nzfs8pkl71gy0zvjzgqibrh7c480aampwf5qi1gq8";doc="0mv7yxa1rn0qaz3qkzxh705ia27gqrjzpcqi5gpp340hvi8hm09g";source="15p4dsbn25gpsm7avswx8vw3ljfvwmwbp91qlzm4cabsb54kbnhs";};
 jmn-45751={run="0iq5ky3llx50smw80lpylv11jmqc51m5yrhlslz3sakmgdqgg1yi";};
 jmsdelim-62630={run="1087jag55rnf02r9s5v7brfqhqncibq1xr0xjq680lvb62f65ln1";doc="12k6m7i81d6sblgqijpizssnpkghq5snf6bq44lkxv1l39flzjrr";source="06kp4zsdzi2m26h9m99x6kqc0lfic96cidzb63mvmdfqcf2plba9";};
 jneurosci-17346={run="0ywl1nlysc5fk7v5cdmy5g5hylz4ll20nnqxsvymsxnayjm4civ7";doc="0a8almw0x4b7v3dsdi9cjv8vzg518fl90zyyxn24p614w3zr01sj";};
-jnuexam-56867={run="0550skzwdanpzxa22rv8mx6c1ihr930rfaq51yp82dijgd211sql";doc="0ghypsr9h50cxafhca7h8pdvzh8jn02gh889zw6avk5wx5vixav5";};
+jnuexam-69161={run="0w1jrrfbaa7wiffic6r2s6kr79zva1l9lkl5dyq9lmwsrkh1mn8j";doc="0x33wpwxriiirmsqk0a6jd8lm73vybcz1wn3lg29bywpa5h7hgl2";};
 jobname-suffix-64797={run="095881x3s3hyj6kzhymnzp8xcw89c94qrz5654kzs9mqc2iy28ss";doc="0ng9dzmx53p525c0kppl33i13xwdsamv0d6k1j8plfvjy86z3ay3";};
+joinbox-68003={run="0xbbbpw0yvm0hrll0yxcg46bd8gl77nb63lljk1pfak64b055clw";doc="1mr5h8ydiv0rh3a9s61ksmbvq9kd3wjaa4zx2hbg501dwmyx42li";};
 josefin-64569={run="1f93l4f6gvsnnzr0f3gpvl9y9i034rhxcdz8c282bn5jdzg93j7r";doc="04sva62hzfphzcmk4jhmp4yiahg7kzjcskviq31lhy83d3600aa2";};
 jourcl-65290={run="0skrm2rsr2y7q3mgzy8wcia8n0r2ixhdd222i0vc2figi9ynbd99";doc="0x6jxx8ckf9rmg6qidypqjy7kpi0l30npb96py62imyx4cfypr8x";};
+jourrr-68556={run="1gbbnv6x903hibi2gw17armhvdg9kg884wip6a64nbvsr6g4rgn4";doc="0385yzr1rrq5rv0rm6wz4ik7f9s8zkkfdhxq8yibnkil5k1psrfr";};
 jpneduenumerate-63893={run="0an70r9y0vklglyms7n2n40qz8jd2ig9m5i48xa81z615403bf90";doc="1kb6g5hbsdi4qxcqd7ginmkg4q1flqjbi1v2d8ss6vjsamd360q4";};
 jpnedumathsymbols-63864={run="1x9jdzl2hljcm8ia7w6b2rb8zbb41y7vyi88rvlvy3y6i5v3wkcr";doc="1i9f6llx61c9lcy1lidgmidn7k870pbl2m27yvdi40kcqs39zkbd";};
-jpsj-66119={run="0yv7lkv7sr7qhqv0rmyislf0a5rcd125kqwbnfj3696cwhm5aqf4";doc="1bmms10hgyl4gs91i2kpds2mn9x41ks8fjrislj2zl8y3vqdkc81";};
+jpsj-66115={run="0yv7lkv7sr7qhqv0rmyislf0a5rcd125kqwbnfj3696cwhm5aqf4";doc="1bmms10hgyl4gs91i2kpds2mn9x41ks8fjrislj2zl8y3vqdkc81";};
 js-misc-16211={run="1b26v330702mbd9bviq6sr7pg0338hddzc84z55fsqjd85fp7zcz";doc="0bs30a1m8cbv2824xhj6k3jiv6dmdp6jjzsinhfdwiizc2kzriwv";};
-jsclasses-66100={run="0g59rxplv04jkjzy4x62lldf62glsr9dwgr550cpw91ws2izcx16";doc="0r3a8z11g2ngk97bd79610l6wnjy4rdgqv2prn3xcmqhrzg3xf00";source="0x8laaf3rw2z1587qx6ghvcmga3gykvahrjma7x9m8mg6ljh3jpj";};
+jsclasses-66093={run="0g59rxplv04jkjzy4x62lldf62glsr9dwgr550cpw91ws2izcx16";doc="0r3a8z11g2ngk97bd79610l6wnjy4rdgqv2prn3xcmqhrzg3xf00";source="0x8laaf3rw2z1587qx6ghvcmga3gykvahrjma7x9m8mg6ljh3jpj";};
 jslectureplanner-57095={run="1kciz53cg9p1f710j5rw8pilfmbiz755a24dqxckam98jy5g4b8s";doc="0lcq9dygfjrs63yjwdkjkssxyfx6phmbydh6c8lcfpkg984pfg5c";};
 jumplines-37553={run="1d5w5nh0pkmhjjjq9x2n4r72ygjh2mrbdr23vsrh8cyvj3xym4w1";doc="1q0mzjyfj8vfp42f8m11g6fyx60mb33g5n4i7pw9r0dfx8y4jvpd";};
-junicode-61719={run="05prh0zpnp9llpd1hgpisdad2na8q4qpvsbxg3lcldvs3s61ndnr";doc="17z7wdsyrc3pxjqpl361ijfp9zj50g3j66q4sjddg21p1dmcqmi4";};
+junicode-69355={run="1vxnwzvcikwrvx9wpvrvwn4k7jh3ndamri0y5a4wjc8m74l30f7h";doc="14w0dcn43s9mdgpcz0vhwh2w56n90saljnvkg4wad7aq7pxvnbln";};
+junicodevf-69374={run="0cch871h5l90pfjfqw6x27dslwh60yg95y2g1hyi9q8y36cjrs73";doc="14xl1837jbawj2lj16ym7yi4z8mp8zvzdz6rbkcyd1rbsfkbvfm3";};
 jupynotex-56715={run="0dir4hbh5sviw5spsh80cms12rppv3wfqp8cyg5fxkj65mr3akni";doc="0xar0qf1czdpzbjn13x2hwrby18qh6s1909nv2q24rl3nrrpzpcc";};
 jura-15878={run="1mmdx5zjrsrvh90kkdgigddvb4ih3cflygv70al0jy0mpm6iwha5";doc="0zy4rafc7lhdb4gig1y53fsmk6faa2zh3s7b1la7z7qdw7s2gyai";source="036ac5chvg67hdj8g82nra7p5jickwq041jixbprf080i0mywvdp";};
 juraabbrev-15878={run="1rla1p46nb04flc2grrh1j0wvwk84cd2h1v767xzg2rdsinaxw68";doc="1708lfrryhlj2d3in4gvhfl8c6yvhhgi0lb3yz63h0n7flsb4a6m";source="0i5xhmx4j6ry4plcgdn8sc9vvbai9vzk9jr0mc54dhqaby2slyxa";};
@@ -1979,16 +2022,16 @@ jurabib-15878={run="18s5jsi5wp0cac968ysqajwrway4sv1scf6m1g2l86jkp8gl6jm8";doc="0
 juramisc-15878={run="00dkagnyz7xrkn1kdzb7612qsdc00h2mkkhfv2xnw1fhrcsy11gf";doc="02prrfg5vvy5d9y45hjx877438r8syymjj9q8465c3y3jn4ka9fc";};
 jurarsp-15878={run="0ylww99b12splqpkci2hps4zzi4myfy0agxzz4m3s8q74h4bqj32";doc="08bvr93ax4p00lmjkhy09bfm403lmzhq729gjjw6skla4wbvkmci";source="0fdxnj42qk4cywsxj8x40bfrkp0yqm7qh54jp3qf79gkj4hj6yp7";};
 jvlisting-24638={run="0ry7gnzgl2d6id7xgpbdhg8pj920105fd9qyx1a0riagp0pgyryb";doc="16z6amx6czmipal3sbqmdsc1v5x1p4nyy5wxalicy1dki1f4zpyn";source="13al33s01bw43sa2ffz5zlxgaqvhj8lrcz8y7x9xx43wvvxjmdz9";};
-jwjournal-65480={run="198vv0bm78aqzy2h0zw3zqbgwi33a1lsd8d7r36a7mnpwwwm684n";doc="04d97vjv5l7garhm04smwb7459mn61dr4ynspd2j9k5jdm3ml32d";};
+jwjournal-69162={run="12lsm5r6a7gqpi48ddf5p3ifisq38j5xb6jsbfpj1zbwhx7820y1";doc="0v9x97k1cw3xca3na737nbf6g37diqs10p084013ab5j83n8wgsg";};
 kalendarium-48744={run="11f8zkjfxbk5w4y49vy712ivfqx66m86jdddygfjskp47gxcxby2";doc="0rbac32h90cnp318a0chj1wfzfrvz2y140siqv5slld90f7d5546";source="0virfajl7xr8yiksxzmr68dm11m4240drg7xn72gxbs7jfh48wqy";};
 kanaparser-48052={run="1cwik91vx5bzq5jn8xjgr4ffz7n9d2qpx9v9xr298afmadg65h0x";doc="0y7j8qp9j33hw80dypc10nr28x2zn174sq1rbbbr8gc7vsvz5pyw";};
 kanbun-62026={run="046zvhsmw56a30s01pr50bv1m3s4q1fnv8hbays3v56xbj8rk7ka";doc="1qsz9krhmgav37k0386il90h91c0sxk1q2zvma272fnpbw5rbq75";};
-kantlipsum-51727={run="1k4ilpfxa6a5prm0rgbrjw5jsr55wyadj8aq1r4hl3q953n64mqz";doc="0pwwrjffc2525krx7p2d2y0zx3zp2yj4x0010ah8k88ix78h47xf";source="01p1gccy0a7nsyph5l1g370bsk2d9pxc45c87j88g8zjizllfkja";};
+kantlipsum-68983={run="0aa0nz2a357fggcd44wkh1fkc6cwx6kqhm7aj4jhb8p4j2ch5mhx";doc="04nlyjfmqrvm0q64hdrrx81jc0f17p3l25v22q6kgsm29nlgxi22";source="0akpmgj54cipxl3yg4afq0bdws3m3100i1hm9nc4xrzipw8cdvx5";};
 karnaugh-21338={run="0a8bbdd8khib2bfk4n6527d5ggx31gva1fkqbfw2jwc5194rk360";doc="0n9jqsfn3v78flgqc6ir3w0lymh1j2kl2pcjxq4wnhzgjy8blbq7";};
 karnaugh-map-61614={run="1q4xrsxjmzvfhivg2xycfpfsbcb51nq1cq255slpc06q4ycyxbnm";doc="1mnwkmkf4lx3cd11rzgqq2rlfc42728zi6xj67x38wqqpi9ak15x";source="0vphzrj1y5r6zmlqg4wxykqqww0ihgh6rw3z59c23f1v3j83jj4r";};
 karnaughmap-36989={run="01b0ndcd6vcg4y6v4zbi6cymfprv0s4vhh20hwlghh3wy5aknwvl";doc="1xk80qqqpxagvwp1vfh9vgrqihakp7bkd89alb3j9bqaikgdiqdf";source="11b5bjdccy4p3w65268c8im3c6bam9ql60mik8pifwfbn36bhpqd";};
 kastrup-15878={run="139ynj6jr5iniwg4ry57b61bpalchwmk2lvxpzi6rzhp42ifv1j1";doc="1bzjky4plcl24fg5rwbjizixwfn7nkbzb6wwydxd7s2053zba07a";source="1c4ijjifc4lwimzrhp7ym5804fz5afmccn4bnfayypmjqpc8x6jw";};
-kaytannollista-latexia-65461={doc="12ysr2501m77zjljpi30cxw45drn2hw552yk9asksvrbvavjphm0";};
+kaytannollista-latexia-69265={doc="0rhjjazj6rgm1paxv2qvspcab49s4swq6gg1gkx0vd0105r7mi3p";};
 kblocks-57617={run="001mn33pf532iwp3d8likhbc5a4nsgq72dirbilbdgaxqxndmx12";doc="14qyg0sqrr5b04j2ramw9zcfhbgmc9qfyy5im9la4id4b4zxrk25";};
 kdgdocs-24498={run="1p1rcb0lzcsmgyqz5750pl2r73fd18k76gry45zfsr7750kwx7x9";doc="0b2j3mw8z0f3d4pffqw2r9zxpmyvykd36sskkhfg7wa4q521nf3d";source="0sipsvbi9254zpg0bmcfin60szx9q0vnx07a9bdm9ma11qb1djpb";};
 kdpcover-65150={run="1a4w58r6krjg4aqpkg9r0pk7553nd6fqx22jqk37vd08scgh72ls";doc="0lvzbr63skkx12d6nwci537zvqcpp563qlf29id2mki80gqsx29w";source="0crbr3xrv0yfd64qjx72yz55py9h7by4rkl09l06sfwpn5ysdzgk";};
@@ -1996,7 +2039,7 @@ kerkis-56271={run="0hcaw35viqpsbpy82knib5lbf3ngvmmkga96d48v5s1zd6m7fwdk";doc="07
 kerntest-15878={run="15695a4q6ikdy6f9149rblfc4fx25hmpyczgr1z1q8x4s5ar7dr4";doc="1fmpngs3q7pwf4z284gg9b4cfw55afdsnzg6qpanlryk6czbch16";source="0gwz65xgxii7vriw5sf1zi4r97prf2c3dwawr3ghhgchmblimf8l";};
 ketcindy-58661={run="0v3sz01qwd2pnnqbf4v8g0xwhs3zqxc9qihfa13df43rw644m65v";doc="0ch1zjmg04pdz96dhyl2iy380hyjqcscxn0kafj94aldin20256w";};
 keycommand-18042={run="062i4fr9h2sc1zy3ybyqrq5hw4g3g54gx708rrznkl4zmpf93ppr";doc="0ls9fbm0815aar19hg40p91n1iyyfhn68ndhvapmwfsxhi6f2d9j";source="11blfbqdn1a00bfdv3nwd7501pd5qrkk7pqn2ffir1461xivz26f";};
-keyfloat-65446={run="0dz1bkp266zx3s7gwh0k80irkvh47d86i1cprg9v30b79hjq2xvb";doc="194wv0fpzc4yq69x60wsg19sj183v2wm010lhsql5n2s4239w554";source="0djqv41i0cjzgzb0vxlg3jx6scmfrx54g3hwanpik242p2nhfian";};
+keyfloat-69399={run="0qwdi5gvv3fmhp2j9mwgbfrbr8awf6bj3fpajhrznfk8fy5zflnp";doc="02cv38dpq0jh1iyp67ybd8kxq0aiy6sxkz2jg9jy7vs1ksjkx74q";source="1dq8w5vsnl7kcv6q62ik2d0vy5bkbxaqn679ifbffgxiqihbpb3g";};
 keyindex-50828={run="0fsszjcw1r3kws565pgc5j7chifbkf3dh1hnlclwwsjpxbji4n6c";doc="02n7lxz8pd49q9nf6pavhs01410zj9pbszqqbmk5c1ld077276x7";source="0k3img6kb6v853wzmhsrrhx7lrh275ssx57b83vk3yx9m831qwmb";};
 keyparse-60277={run="1jfxrymww3qh4bwgc74dn6v5xwsqc29y835k4rpwglkb14ncibxd";doc="1i1sklid586igkcbhx1mjljxpq2yl7sd8rqagygqgqsxjzg91jm7";source="180fkwkm01cspp48a8msmws9bq1pif3i80yzjxs7md9k01hqzniv";};
 keyreader-28195={run="17cfxcn374q0pgf7bbqwc0yrk6r15d79h39hzbvf7yrgj4r3880y";doc="0fp2hv3azi287gz129gqlsirw4dr1d5lqhzxliyzfy8dd9b2cqb7";};
@@ -2004,6 +2047,7 @@ keystroke-17992={run="0h0ci8pslybspsnpmv73qml22592vp5lr50qqppyhw8qkng22gsg";doc=
 keyval2e-23698={run="05ssgrl08d55in1wkam99bfdfkjhjrda6j96b6nmj61sp97yg3ig";doc="02ajr27zgfjk5hwmqm05gdapkg3d3rk1k9k3nqm4nbvwhx5sahg5";};
 keyvaltable-65416={run="0r8y69sbis65hdalck66n5hxww7nk5z2psb5qzx13dx6qhnqknz8";doc="1lhk840aj1sxj6pwybrpg9gd3lm9gs06q1dhz399my6cds1b9bk9";source="1k749a0smf6wdcsb6cswm0adq98ylg7cq9yir410wkxyxdfwj413";};
 kfupm-math-exam-63977={run="0r5zqf6qxzbgyhg13xrr8qwqb5cjrik670fclh089qsz2kihqb6n";doc="1lxab23k08wrnpgjc68lcn1r41c793cncxfd8mnqxml4lyylfcwc";source="0c4fpj08y2ixf9c8kqzyl0j4hrjg9mrim4fg6y4s7mb4kcw0138a";};
+khatalmaqala-68280={run="10hkgjbi16d8y7wz3l4z0xzi112f124vzwq1g4kri7xlarcha0d4";doc="1jfqkbmj6lvfg0a3dnznlldb9aslmj1g2cc2yni0ramz4kpf0jf0";};
 kinematikz-61392={run="12h8j42d7m2z1sms9gl3jj0qclvqnximmbj9fnmr270lk59xlc8y";doc="13qa25hh33jqaxscc464j1xd778x36f4d2wvb6b318iq21s2qhh9";};
 kix-21606={run="0w5qaq50wki5b3s3j7p11akx7mb8z1khchhy6093pzzrny0hd5c0";doc="1jblprmz9vfriqdmi9ihh3ihi7pc9wf9cp8qfli89iir2xy7lv3d";};
 kixfont-18488={run="02zwdm6zja38n41pvzay09f38cam28rr9ag6yy1m5kmw8421xp11";doc="1dvv4hdgkzmdn7waq4djsgdd8p1cwq3j0bddgxq2y94pq64maq0q";};
@@ -2012,23 +2056,24 @@ knitting-50782={run="10x5yxlrnj67gzd5kz7fvnz0nykvvi26sdm7i3n3d0si1vjzvczs";doc="
 knittingpattern-17205={run="1ydq16bmviqkbf9zkrlxsh33bfn8nmyzbbi1xwfd7nsg1bhdf6d1";doc="1x1bswn2sd1w19g1szc573zayk43zi3718a9yqfzqnxa0qxvxsqd";};
 knowledge-61991={run="0459xp20v02awl3h9ada0j9p0nasaz4fwv4whc6p4hwzzw86052j";doc="190gy5kj2fypvqa7b2s3p0j25drx6rd665yqq9s2gjsqzar18ql3";source="16xspjjic7vydd310ldxjjipzwl53dw726693q7kckbfv0vmpd7m";};
 knuth-errata-58682={doc="0rcyw7dqcwlnf9q421k017hrx5c0d9rra6rcr3n6wqmhxmdy5mn9";};
-knuth-hint-62971={doc="13ka3b636vwgwz29bl9mh40incldq6mk6cr6q3by01xj12za41kw";};
+knuth-hint-67373={doc="1fl3nyzsf9jifccw75grhdgyh5qhj4akkkyaa7mp6kpfznipqbmc";};
 knuth-lib-57963={run="0dl8z340n6m6xn7wari4hir0syxqi0kl2fhnf0bvnmkqhqwyzpca";};
 knuth-local-57963={run="02cf32f57fr6bngiv9xiw8bh4sq53p9br034ap74s80h3bgcmn1f";};
-knuth-pdf-62969={doc="14by59b7d1fi4jh5d0xvzb56g9pgd5zi1sdvfgi50vrpn28gfqfw";};
+knuth-pdf-67332={doc="0ig3ml88gqks5j9ly73qsx0kdii5m2i46f9d9bnh7nr9bjbpmd38";};
 koma-moderncvclassic-25025={run="0kgsbg4is158j1ssjwabicw38mh2cd4n1ggxinflb8i18xsmlgh0";doc="0f070dxww75g36il70gmrx9bn0f0d3mmh26fmzqb5zmf93hyhcsf";};
-koma-script-64685={run="00j2qba4i31dly9xk5z06a6hkps74saqr0cc09l66cq6n2n2jyhv";};
+koma-script-67573={run="1r2li64g7fk7qg4gb215z2q86by2f2ah9hjlqf0wcv8985qshnif";};
 koma-script-examples-63833={doc="1s95a3vgjxrn34cpcinkyr1yw2rj8s2973np71yxrwzi9dqdjpn1";};
 koma-script-sfs-26137={run="14qhq2h6pfjy878nkglbif7yjc12g6q32kl4xfc7kk3kf9syp0kf";doc="1cjraqcc13bcq451a36i5x2sbwj97zy4srrpaxybmlisvnza7vz9";};
 komacv-57721={run="06df0hx1rm87vgsb1g8b00ak77n6zs34c7mb76k22fis41qmm3a2";doc="07sxwgrrik3vadlp9a4lk3jmcqnvfzz5ir8l33zi7sjrapr7mxxa";source="0vd6ha60dz9ddmf3rkbbw5h602fkch3zifcjip9nyfs7wgnkg3r2";};
 komacv-rg-49064={run="0hcf3aw9r3hr01f9109rid9c1c36gmg9z0258zlqgq9l8qs0bryz";doc="1g985pnkhlhyf1285w9g1zx86vldyg45r4dyp1dq02pka5nf33fs";source="15v5y47jj0393vkikpv5mqdrrygs66b20gsmp03j6v6iih52w7fk";};
-kotex-oblivoir-66516={run="1np1zib9alvhsz8q3pk1zg8dfd7n8gvcjk55c2vb3lp9bi8581x6";doc="1pmilc2sav4ncddm4zq279708f72wjf55z51g6slqc9mmykmb4f1";};
+korigamik-68204={run="0napq587a4j4z0fw0ddhal0h02aymjj92cbxmqrrw19j8k8g0b2f";doc="1lxkyaqcan6jxbvi1zavbavlycp8amz6qmah258y87yl08m8c475";};
+kotex-oblivoir-66513={run="1np1zib9alvhsz8q3pk1zg8dfd7n8gvcjk55c2vb3lp9bi8581x6";doc="1pmilc2sav4ncddm4zq279708f72wjf55z51g6slqc9mmykmb4f1";};
 kotex-plain-63689={run="0nri3fagwj6mgkcx97750khsyqf94dx5kxkf5ny0jiswnv192v0j";doc="16376wpncchxpsl57g7rgzl96w9hl3qyn3i4qw901y00smr450hk";};
 kotex-utf-63690={run="0gpdg9c7dqcg0jfq05i5gkvycskipzyk4cmfrncd8mm7axv9qd23";doc="0x0y67bn28fy32awnjyq2zy4gqnafyvbjkhs7hipghxf87p6snrz";};
 kotex-utils-38727={run="021hgi7iw47b3c637mk0g4v52h5ygx5w1060bpcknjlbg0qb09aw";doc="0l7dby446xxjwk7vl1h3w4xsid4dqd8zdspj1f457jy4qwjaqf88";};
-kpathsea-65309={run="16i10vqfbn3l3nqlin8p4sdp4drd8116cdl7mj103nj8y2wj02n4";doc="0b24p36ls01b0jwnxm2g1l7al1451hac38qfh9zqxxvmvy6idasp";};
+kpathsea-69121={run="15dldviayvv84gmc25nwnpc99d7z28yarzzwcbrqm9w9w7v68v24";doc="0gfnyniykcdvyn20fbwfvkx7i7lwf7kdn6117rkcjsw9qrspfc3q";};
 kpfonts-65583={run="0i8c7agc9zs1vzjq8w0ghkwk81hrc2qghzn7hs1wq3vdbc3wk4r5";doc="1q8h8208z0k19nw7idq45hmzhvsrnf7g3708ch3kjwaj7r9y5lij";};
-kpfonts-otf-65560={run="0mcc1sbhxw2cvbcqd80acbrpgm30wfsmw4hdxllbqpdbhzajd5rp";doc="0js4hagh8pawg1dfc68q4hvd0bwjwh5n80cxyh3zmaj9mhan22bn";};
+kpfonts-otf-68970={run="1sq0p6d6q189liyf5kxmq4fgmwazj05mncsjkb1gz135c9acrq70";doc="1m9iz3llhzwaqfjp101ghpzy7yca497wnxjmf17n28rd6sy8kblp";};
 ksfh_nat-24825={run="1qzn0n19lslf2qg8fvm844xx5k7s8a275a77z2ynbb0vs1w4prpw";};
 ksp-thesis-39080={run="0hcsni8p92pm3l7mi56jj7mlcv5rvdpzwbv1jv5f1hb6xyx2pn4i";doc="01pbmmwwjzd5cq4xxmx3fknk8d4q3fda3680g344g5s6ra5i45nj";};
 ktv-texdata-27369={run="1md2iv0csmr5f2mcdlb3lacccwifd6iv7yp6123gra5xcp06k4y0";doc="14sk7x2va8ja65a65fpksj2nd16v6rc1f0828gmm8j81d13cci6y";source="1ws256l59plnhmw1rycfznwpndni5i47liqhazddwbg2hragfahh";};
@@ -2036,7 +2081,7 @@ ku-template-45935={run="1f45rknbzb3d3h72vznfzspg7vx9im59w5s5lwv4z0b4sk7n1d18";do
 kurdishlipsum-47518={run="0b5x438l4m396pmd427zcnl7jyy5ag5c004gyn0n1zzwbz5lcnfk";doc="0kw9664fm4gzv7cspj2psczyn7m09qz95agn4j953q39l0qyz6ls";};
 kurier-19612={run="0x9270xgsk28i5dxp29r0awf72l5p0786mbx7gb5d4vppkf0v9gx";doc="1d3lfxixhcrkk94m7ljfcb90yvdwjbp2axjnpr2bbh32xv9zzsnk";};
 kvdefinekeys-53193={run="12nn74skhwiszbdhawqds31caz6d59a5pjmwar0r8lmk4f1jr3xh";doc="0x3h28xqgsmngs51m666mvxb8jg9vwk0wyhijcw84v1szyd0m7d6";source="13cb0xvqhz5w1hv6hamr7rh1q1cp6abqfsdqzd0xw0my9mxvwk97";};
-kvmap-56361={run="0ph45hs3x468lhrhsdwikqrw681y9zd3q0b5r088lrb8wsc5pd40";doc="0n0ls3c5w662f95yam6q6rh9gv0vdyzf7rmnkd6dgz5gl1z99q1a";source="0y6mcxixqyqmkk1iq0ys2i174ki4ygss62fx435lwm56xff7mvp3";};
+kvmap-67201={run="0ph45hs3x468lhrhsdwikqrw681y9zd3q0b5r088lrb8wsc5pd40";doc="0n0ls3c5w662f95yam6q6rh9gv0vdyzf7rmnkd6dgz5gl1z99q1a";source="0y6mcxixqyqmkk1iq0ys2i174ki4ygss62fx435lwm56xff7mvp3";};
 kvoptions-63622={run="19sj7pds5km2y284vhsvdddvchr2zcnzkki0h48ymd258afcvswk";doc="0yym68kqbmhkw15rvmz6bc96h17yiabx3lip4lq2qjq254j7ql0w";source="0ngbpkryyjf8l2gq0p750z96id32hl8gir9cxz7hybzk2vnpyxln";};
 kvsetkeys-64632={run="1gnc2b1fiapk6fjmgh1rfrwd04k6s30qgdfn2ppyf6fw440sx4b8";doc="0qhncqjx310clasz23bx9mq8p3kdmpz5cicx84a3afh008qylgsj";source="0l0g3v7n7sqfhpbf3289k9nh98cfz4w5xn0hbkr4i056yqj8dcmw";};
 l2picfaq-19601={doc="0mk8d082gcqlxw2x7d2w85sm6i51928pijybzbsh9fy2rfcv99xz";};
@@ -2045,61 +2090,63 @@ l2tabu-english-15878={doc="0dqmdr3lffhiaq7pg5pn6ia46miwq4nh5vimhd0qbf936amiv1mm"
 l2tabu-french-31315={doc="0c6fbmgwv2adlxbhl1shvpa1w6xd36gmrwvkjgdp9xc3q999l4dj";};
 l2tabu-italian-25218={doc="0bgfmn5v80rdhs9wmjj6mki29p28ip1d29rmgbw4jh4z6gd4sf22";};
 l2tabu-spanish-15878={doc="1p83xflgv8x7nq9mylh468zn3hz5pv3zxprc63q51fwx0ylxfdbk";};
-l3backend-65573={run="1hn5hqs610qb4gh4rwkz6fzh6726xbcnqck4lcvgpv2pwk08263i";doc="0ay0mzhlj28iyakmha87cc0vavkhahp3a2iyj27jqnjxbyk5hrkq";source="1ljf7a9jwvga3r8cijv60lyfwcvvqh2f3d441q360c989rh6yad9";};
-l3build-66476={run="025shd20j7qkh53gfq9l45pxd6s8c6zrp1aqnm1h0fx2d7xxkkdx";doc="0072imbggffnbmfmms9kdygdkwa15krkl6s1pbli7zbn3h7b0vkg";source="1fvjhg5qwabn7iv6416f3lcrlv9z1mfng7vksaiskw3yfihr13qn";};
-l3experimental-65621={run="1fza6d4k54dp0y71avcx3m1gvhprxxljckibamis4ma9pqrahylx";doc="11lrxpghqf4776s2274zbrwp84pdyscxqvg01bmm7rch39afw9p2";source="1xbi11fs5kr1k0zci1pb66dbzlpr4zlrz48zry3qsrg7yzsvlyd6";};
-l3kernel-66099={run="0jrd1wllbvlmphk4sjwjva6z1vw3yri1y0kdbssg50gvlfb0r3bf";doc="1jzm26rm0lfy6vkm7hm802asf2q1wq0078c64a9659snxbjhspxm";source="0aamj860lcdf8kgb1swl74dh7dpdqcz704imp2ps8sba9gjigm87";};
-l3packages-65722={run="1prlmijxz75r8fzgw0ngdrrnaahl7w1hrwdra49x7rga3wj1yp0s";doc="1pwsi2zpfcbpcpdcqqbb7kd5w4pra9klnhzk2nbd7p37ibcijp5a";source="0i7z2vjggzvfkrzi542q2ilj2zlm9m4s346nbwqy1rdbhw0x1ji0";};
+l3backend-69310={run="1cwjy3r6dq601z20kd7fdsyig980v50z857hdq46b2znh0x7fqra";doc="13rszdyiffb0jy3j38c14xijpssv0pp2xd5il1g2nm92rcihfyx7";source="0wix411kis8z2lybbr7kwr8i8azxiaik78850vvsiwljy3512inw";};
+l3build-69360={run="1s3p19ncp5m7yrn5f2qalb36bqpapdc3fyajgs8185z26j5dip7v";doc="05m9182znq4dymj10qpxfncf095vsdmfcqkym17i0dgan8dakmqx";source="1x9227kx0b9x7i7rymxwlccwip7hy8rhwy1xjvn9wqad7sy08n5v";};
+l3experimental-69310={run="0fy07favznm88ww65mjswrlvbcqw594kf31lki1wbvjw7n8pp0wc";doc="1yw6l043j6xjki5wfqjls0400ybjdjxhkq3bzvgvy3x1rpysl5qh";source="0ng9df42sf2zjiy11b25mzm7ww3sw7vllr7rx385y452lb80cz1i";};
+l3kernel-69310={run="1d3wnk8zlhpkqkcgrfx0wqcq8nwa8cibpwm9i1fchmmn6ap8i2rs";doc="0d07aknkq2pxvgqpf4lbfa8qrc2mdsf5jdsq792j4mjl2gc1dbis";source="0vv8sjg15ykcjc70mcrqnz7mmnbj5lskssvh1f5if0j9xdc5b1ka";};
+l3packages-68507={run="0x158f74pmqp8dj8z68pl6sr55caijig35sqgi98s25p4v8npka7";doc="0ylfm3s3b1zqpv933n05rc9pp2zs4ra19xwashrqr31h9sc7655r";source="1cdzi56yp7fr6hdp4v4nwlbgxk1q5kafb0wxans7m8ihsv6g9v2r";};
 labbook-15878={run="1qh16jjmpyqdfndfs91nmbfhwxif5ygk35zlsailngpgnp1r2x7s";doc="0za4mp2zq9s1z90sgqcvf6zac7w0wqbf8y5w1qrwmlv6r6kg3s1s";source="0w7nff8c2ffrn2ywz1dahd8n4cb959b6zf3ka0s913nv04ifdkgi";};
 labels-15878={run="1d1lxzif4f3qxkall0qzsn4lh55ljr45zba0xwzyvfbwighp1vvm";doc="0fl3as2lwdga814fdlg2pwyw600cvrii9hd0f4vscfzq7lmw01k9";source="0y6mkg18jqsbqj14h52317d1vvzvn3mv89q2gl4i3i89ka3dfajh";};
 labels4easylist-51124={run="10pfzxw0d856ki2krsdpidnfsk27mg4k0vj3jx7pry5cfirx6m0m";doc="145n7vy3d0vk3cq3qd44l3a6hjmazipm7wmr4aa2knxvs4nyvw2l";};
-labelschanged-46040={run="1z8gjaqqydwf0mkbnlbzd7q49fdj8c83pmcwfhi27w5lnyb897a6";doc="1rv3vx641hzfkckkjkf31xdb8zx3sarcdpnsjzhnafzy0y1vg8c0";source="0n0fdxj14kb1bk8zj3mnhnj6q5nf6h4swb7lwgn8jv0l5z5qmp25";};
+labelschanged-69400={run="1fhmxc85w0jgcvbf3kbn6hpkyfl70q6kx7d06laxzafizga069pr";doc="1fbkiz4rqch0sa7xpw0i3x9dwm7vpvfyax9jvp520xh66sn46wh5";source="0ppwzy9p9zh0hyzh9kgvjav9h7pk3c7dp44aqj87vaq33bwkss38";};
 labyrinth-33454={run="1r5za0nrvcpmx7bbnvvxf4l78pv4ciq83ck9k9qh32pawv5jn8sp";doc="14405x5dcm2k4m74jjhwd3f1836d79qz3w9m1zfj3gnvzx2kij9w";};
-lacheck-54070={doc="16xahphvhdl2xmvicr73lcswm5rdmxqaf5xj4gsdv2wjfqjrp4fk";};
+lacheck-66186={doc="1hhx65yd800bl3y2sq20lix60wd2b2j3k7n9s788mlsn8b0p7yq3";};
 ladder-44394={run="0a2sxy3rvc4w4a625wa000g4mjm00d8fpjff49v08kw1ddadv6fh";doc="16dg0nz4k3491mj7ccvw32r71vyjz2hdgdh4xgs7p3n9jg4jdp95";};
 lambda-45756={run="1ajx5g5cd5s9jqr4b196689k7zmlxmhhksly88qps31s7lzaprvn";};
 lambda-lists-31402={run="17srvv0v10mczvvmxr6sfhlr8zks589c86v472g4rnmf4bl4my88";doc="1yq4kn0nfcgy0qh33qakv7c12lcdzbj4x9xj357yn8c0ijqkx789";};
 lambdax-60278={run="0sr5im1ag7lzz0rkvnj0biik9z5ww6yr03ykn2w64dg1nf42chf4";doc="07fgh2x639fj8wb21rygj7yc0c7bcq4sm1bhdrsxzgrwjxn9rbw0";source="0sarj3dsqm18zx176p6hq3xv717fzdpvipvdlv8l5y5pcvasz73x";};
 langcode-27764={run="1hj7zyjxh64fax5rv32558sp2ss986fxx0fqd5xb9c07s189cs3d";doc="06bygnvh4sdv7mp17c94wx9v1lj4zgih1db6mknc3wiifi5jcx8m";source="1bi25gqx2yi8f6g8hpnqp9f52qnfpyafi0r16scap8w0sbnwrib1";};
-langnames-65502={run="0w28i9l571485kgjwlshbj2bz7jysfwj0xbz86i0z6rwbsz0nzaa";doc="133klc1j8jj9ljz8bmnqs3amh711lq8r2v1agyb6dxi4rgfz939r";source="1zpmpnxiawc381z2aql1ffshgascvcnh5s8ldn982lvdv9vaxacc";};
+langnames-69101={run="1rg0hn4addzi72qgrx303skf35c03lslrlf8ry790kwr27i7lna4";doc="0ix2gk1gzvsk1w0r1whr2imdml3a6f9avw6yfkf54n5hnaxm7i6n";source="002rmwkvm5b4ay1cbxc51ibcb27sg571l2r5czfilbavh0000piz";};
 langsci-65793={run="1hf6q716lasc30d72z60ry74xz0gwabp34vm9vk33kaf705b3hxh";doc="15cp4ab6rr0zxggrdray06yj8szpdjr6fc613j27wpbjmqjzbb67";};
-langsci-avm-66030={run="0xnprm5fcy8knxhldl54c5vhir4klgsmmy8l9306hmlykmphwifx";doc="1s5bjwhdz1fwnkvnrx7f4789cy0f2l0qkixdd6va6zjvylihzl4l";source="0ifsjndp9lf06anqcl79kp7rhx9gc56yw5xsr4lb4fshzzg6jwnr";};
+langsci-avm-66016={run="0xnprm5fcy8knxhldl54c5vhir4klgsmmy8l9306hmlykmphwifx";doc="1s5bjwhdz1fwnkvnrx7f4789cy0f2l0qkixdd6va6zjvylihzl4l";source="0ifsjndp9lf06anqcl79kp7rhx9gc56yw5xsr4lb4fshzzg6jwnr";};
 lapdf-23806={run="1lfmn6axzbfk03j6f12yqa0vy3gzvw1ylpq7k2ki4prb3zwhx9sx";doc="0h9wy3amir9wdqv0b8678mfmcd172zll9p5v7sf1l0w3zlbw5msy";};
 lastpackage-34481={run="0wjpjd3b48fj4mqqdx38sqalbaa9ab3c6rywyjqhvrd1pxfap2g0";doc="1123lz0ki4kww93952wqrhrw9l2cnk4wrrwyi0dxc5w1yfn2gg87";source="176fk84mbb6w5ql94381kz05lh8q8im7ri6rfjff7f4ymfjnh2jk";};
-lastpage-66465={run="1jd0cwj1f26sc0va0n1r3ggwanlq0iqsf6ydhkjmyr38q393sdcc";doc="0myhgq7si08p8fwnaz50frl9g54q4px7j2zwvhiknmnh7hnq7gc7";source="0rgdnf2avbfjznvsm1mqfpk3h8f60ls3pyg0c8gmyzi1lpsgismh";};
-latex-65161={run="18p2ghafh61nsy9ps8yjw2p0n3lcngh8s2v3m6bazk7j2rpw8pq7";doc="0zflygc37pf4mf52ad4f277jjhf1s2g74dg2ap657f7xl73mws2g";source="0hakzbki0jjn1ny7mzi9ihv6qxk5r7a522wlcj4rhf9fa8ggmx6k";};
-latex-amsmath-dev-64899={run="18qf4bafw2s8ms50b3lmi1n0hfjrjgx4gbdf38prxa3f9qmpy4bf";doc="0n9m0aqnmg1wmgfzfhx47rkhyc074cvdc8zfq6ir0s0ndqg777c1";source="1dsszhq75jhf8d4n1mrnba9ij7mbn288ckvspjrz5k1k8wr4nvcq";};
-latex-base-dev-66516={run="1690apj3v12m5sl1djsipkjqdp05746mql8hkvq9mr0rps31xnfn";doc="0l9z59drjxd5gvwgzdhdvj83sh6j6cjascwr3gf5706likhir8xm";source="06i9yam9axg8h6wfp4zfpihi8kg4wxb9fnlmh9ih77h01mawwvbz";};
-latex-bin-62387={doc="1qd8yxckyr1p1ivx0yyv95m0l3f9s5bnsy4rrnhlk6z8dk7gaqpa";};
-latex-bin-dev-62387={doc="0mszvc9n25686rc0chirqmyi1mcfrv6il70an8w3ld8sb7bx229h";};
+lastpage-68557={run="0xds81j9i3dqbsfw9084f0cqmscyapcndd6ssk0njgj2isjxb43s";doc="1agaxsy82b8nq5kn6kpjc4g59xzvalxpim6rqzl8j13ywvxv6vhr";source="17zk90069n9nc2j4jhqwzkm9kfhvp7wlq7akvwsny9fk9vrgp62v";};
+latex-68720={run="0jx9qmvwjy0i4p5a6lnyzfcj43x79ba5gj67qz83fmxyp5x8lbi5";doc="1p86iz7wcncsibsr5dyaa7lqh173r1891pj9ygs7p0d403spd24n";source="17w073p61jl2i4w02gvs3pyvi7dcmzzng8gwc1d5kaqcnf7y7gi5";};
+latex-amsmath-dev-68730={run="173gm8vkn4dgwys9h7yq3zv0pcazxvgrj40ax8msmmffq2r8cgzc";doc="1ch147w7ak3al37ivkq46capg7zpc5c10inwkcmqxhk1bqa0cgis";source="1ffzh866cdx9r8b5z8vyiccxvramahskv7an1jpi6flg0b9vv4i9";};
+latex-base-dev-68730={run="19jfbx01c8wq15anrdcyz4d6bvbl0cchimjy7lirvqmj78wvkqc6";doc="0ddyhlspmiz039f8cn1qf35yi36dg6g55rbf7r6czkppykf3hhia";source="1wk7fk4ip97qnn88l34w1xwrqc4y4lahf0v1w0qxlskgmjmsjlv0";};
+latex-bin-66186={doc="1mhdc8a37b9j64kc8c8171s8p7ixklbf1ijr4vfh7af2k416qf8d";};
+latex-bin-dev-66186={doc="0dwjlwaf8pxfjgby6dwr8ijnhm85rvprapm8m85avq7mnfmrp4kr";};
 latex-brochure-40612={doc="0xba20sy8q10ac9hxwnz9axh853hrj06vp7mfn12ajax31miznmy";};
-latex-course-25505={doc="0z6q95l2vvxrspc04ki9wnrzhz76nynb5ai6969pgw6ihl68384f";};
+latex-context-ppchtex-66687={run="0ai8w4r3lagkgval65hxnb8fqg8lq0j5kailyb4dzv2fjs9x0sl1";doc="1wbgxydjicb10mnzjixnz1hhqy4xzxv6k92wf7fb2w486mh89k5s";};
+latex-course-68681={doc="00s521wrc5gqqs5jvd1ljl04nighy8q79r0ama783ic27a3k0qhi";};
 latex-doc-ptr-57311={doc="0mamlfnxzi4lwh5cpss8zcfr64jdnf6vnj9fp48accrqdj2rpfs2";};
-latex-firstaid-dev-65181={run="1h0p6icrg68q0mnb9p1v8bxiazwn9rjq5bc8hqq6az6asxiybxkg";doc="0ym2s5f05di8ryvndkwx6qz6blbg5jsjxvmjjxi18dz9hv5991c8";source="1gf6a08ikv7m4w2m2kb370y9pzwd4b9xf26mwn01zczpx7497f00";};
+latex-firstaid-dev-68730={run="04rcdqd7461r54qhn3v13517clirbim4lnghli6yn31zzyf83zif";doc="0m4jx0qiscxszpk3c6i4r7pcr9x8xdq30q1ixj4b3l2jn88mvhlx";source="0m7xdjy67arisi0l2wgjvc9i89g2xdp5gk5cjqshb8hwxjw21mg0";};
 latex-fonts-28888={run="0dh4kgy4mfarlsrgqw4dm5zgfhcfg9qzh8s2wjk6w2g0jfc8rf3v";doc="0243qbrs2w7qh17nh8m4ivj35gfgxsnqxza281cvhh7g2fv47f5l";};
 latex-for-undergraduates-64647={doc="0krj27gmra2mpriircasv32snk80z9ap85h76n0bgy4wjqyblyp0";};
 latex-git-log-54010={run="015f1jrfnwr7i7jn6g0cfl3zs73xw30h14fr2pyjhn9pr8kd3mgi";doc="0pj2834ax404f0nnlfbg75f2h80wvnz23s8nr9vxr24vr745xpf6";};
 latex-graphics-companion-29235={doc="01zs32gck1sl9zlbhghyjmjwxyvw0jha5vl2hd10knyrb3z4dhxc";};
-latex-graphics-dev-64899={run="1jnrdrc8ppy39n6nhyxfavb1zxqcwpyhm6gsypzbj51w6p0ya04m";doc="16j3b7s501gx18fz0b3s49vrmgfwyxdp9k50h95ssw15fw82ybwh";source="1zr8b5y0ff313nlk7z7yimxpxckg9x2i1kik08y3l9mig2w8vcx2";};
-latex-lab-64892={run="0qys47v2d72f226mwav8y6shss7lgyqwbv465hh2jr9ljginqlhl";doc="05dc25hs03048z5zvykrznvfipwzp0vs54z7gb1k9d3k4psjf5qi";source="07aya8zkkfgasqgg6jbid66bjpq79px5nlayn50r3an6jw1bkzsn";};
-latex-lab-dev-66516={run="1hh3hap84g3b2air1xqk2ijsr5mzqdxqwfgz16didc2b2h8xfkfz";doc="1jcq35wy8i9jy8lgasxkdlq13mg9lqd0gn843lvxa3wv4m6mzhs1";source="1an3nk6kj610gwx80y88mvwwlx547xj0xa5r84cac7cp3w013m8a";};
+latex-graphics-dev-68730={run="0gh26h6lpv14ywhpcbw9zkzn00jqrxbfwsq61cpvb6in1f7q95bh";doc="1cyx9l48nc60qdaqny9mi076cch9cc4f3qpnp9hxr1rm7x712vp2";source="0ng5gd50c7rg7pv09ry62j8plpn4vigc0rjy0xg4bzfyqhpax86d";};
+latex-lab-68720={run="0hdzvh1affhjy4r80x53gbhi1pqsjikvyxrr985pl1slzfrlhjbg";doc="1aqwxllsrwijw6rc98cplkxw46s61dj8gz2q07djjmx137irvkcm";source="0zj723bpg0ik95sjm97kmvjp3ygsf29lshpzgljyqnzz6z8ppb0l";};
+latex-lab-dev-68730={run="1maxr2mi0j3ccq4gc2zhpp5acjnv90pa1srxd8yyann1q02cqng6";doc="1k0vld6c5zb8llriv57aj29w4vzzflk86hd6547ybjcnyz77i53x";source="0bdpdjrzghj1mx78jna3p1f4b9rzb7j6cxy0gpx1a4pslxzihshq";};
 latex-make-60874={run="1dgw31znxh3ch6xyg7y0ngnkjmpny7fbq9nhapd3am4l6qb0598j";doc="0jmms953klgv8z4k5d8rj2l5barwxx02pmzk6ihpp1wdggfjxrfy";source="0a5jqry52x11iga5ky89b57l1ww0hbl8z0mkkv6nvvc7bg5gg6w4";};
 latex-mr-55475={doc="1zd948d9y63js7980g2bvxpf67hshh2xa3n2ihbzwhpw6l9cbh1w";};
 latex-notes-zh-cn-15878={doc="0w9rmd7b5fnfvix653n9vbnn1k8yxlaaak79ipvm8p53dx75xfxd";};
 latex-papersize-53131={run="0axx2lkwi1xq3qdaazhb6i7dssx8q2k0nm5vf4b9p5ldl1ky0dzl";doc="1dkra9b0wv8s4f7xn36j1x1p849ziwlm4chf5mrayp0wmx8qshc0";};
 latex-refsheet-45076={doc="169h1syday30qiw032k14fhxikdwszggvqz8b9ga4i9wwxf1vh4m";};
-latex-tools-dev-64899={run="1kn5kzvqfbv3r7b7w77vyx9j02ks697hngbwj60rzkv6glvg2qv1";doc="0qd2jnxw7a193qqryzwycwcywr7h7l9fwklqbbs3sngkw82nr1xv";source="13imfahxw2i6si0xhbdrghyic3gydxiqjr0r0k32q29fixw5nmgv";};
+latex-tools-dev-68730={run="0zhy09mxg97693fk4d3mbghy2w82gdnmvpavkajdyzzmlxlmxcna";doc="0gz1vizf2xax6pmgxk4bpxqg4p7xlpnyhxv0a57l6mjcn606d2f6";source="042f25jnpms3crn2q5fd7l0gay48yc5hy71frvgqkdfr25wdd2pw";};
 latex-uni8-49729={run="1sv4n2v0m3lck7x320cwbay23k7r9fh4wm1vxg9m4grphc72n2b0";doc="1y3p08mni1ng6dyp0g98in7hh3mbzqq42249idy90vjhc177rjc1";};
 latex-veryshortguide-55228={doc="17i8zmr7mjfrx911psdy9cbn05c5inn4ixqmnjkpr9sbgsninyc4";};
-latex-via-exemplos-63374={doc="1w0rqhgdkflxypfmxyz61aknmjil9yikc641v2dmc5l55gl2r3nw";};
+latex-via-exemplos-68627={doc="11nhv72ixwr0g19nr7dir5awgdapxq0l295hm1pcggr62wqh67l1";};
 latex-web-companion-29349={doc="0v018lwf88z3qmzyqpyvfql7dbwk5a9r0wj3jfjc9cp2ksl8zf8f";};
 latex2e-help-texinfo-65552={doc="0rk69n89hl67qfbi5mmb4msaibychsk9a83dx593170ayiir6s6g";};
 latex2e-help-texinfo-fr-64228={doc="13s0zjwk3m95kbx4qrz2xwp8kifzc2zmasp1ks9l2acf1nqfac9p";};
 latex2e-help-texinfo-spanish-65614={doc="1v3wa99phdmsiajbq0ad4h939cpwjwzpq88h6s0796h5fr34hrvq";};
 latex2man-64477={run="04m5ccx6z8nvp6z8dm7dqhqyf8h9snmaz4cvd8i8fcwfba9znf9c";doc="11nl9ldkw3f90iz8r23jbgxaa6yq5p61f1db344nfhy0wimx15si";};
 latex2nemeth-65269={run="16fd74x6bz4zfj2zlvbfw160684ff1fn1rkpx4y34avkp0ivs9bq";doc="0f50qxbwcas2gpazlq0ja4m6lcbwkkwlp19qb2v1lflfgian39c6";};
+latex2pydata-68919={run="1zn2qmivr0daldqnrrkh8jcb0gncg3cnikkrrn609jp5sb1xd1hp";doc="04rp8hycz6r4gl1llvxq5z4ks9iy4j47wxg6lkx39hdphh2q561v";source="19nsm6sn099cm2g8bvks0d14fdqfvs43cmphgl48rhzgaxb6l408";};
 latex4musicians-49759={doc="1zvy2pa93kyn056d5n0irzdq5xmzki6d35zxacxfy19r0g9rwq6f";};
-latex4wp-35999={doc="0xyk6w8jmmcsccbd9q4ikblfq6nacjjyrmf58ddjxkb6v0lzndph";};
+latex4wp-68096={doc="1a569y6vss3glz1il4hg2f6718mj24spp4ahdj6v7k6y7ppa1zii";};
 latex4wp-it-36000={doc="14r86fwhb9zafmyv05pqfi9962dpxj7wq94acm43gv8m2rsjp52k";};
 latexbangla-55475={run="0jh2x97r6j8lrl5kq5m4bvk139229fwf7r8g8xq7n0qywnfdr9zh";doc="0hgcqd8vqq67zzdn7mq4bps3q56ad3nmaq71mkcyricgrkn5xxmb";};
 latexbug-63596={run="1rv43swr1nqnf50y7rxbqw2w6402rlksddk5prcl7618vs4yiag0";doc="1sdmjzl81f0hkmj9k0m57fiw7529ym3430k5sd1q6sbz096wwdph";source="0a9012p4c07g15ysgf2hfqzcll6h5riajylxga326p65k2zv062m";};
@@ -2108,17 +2155,17 @@ latexcheat-de-35702={doc="1cpqcvqkkyb2bf87yjvc2migxawnacx5mva8dapma7hmwx0z7rhm";
 latexcheat-esmx-36866={doc="1d6nk9p9adlhgr28mnnizrxzzqlk20zw2clcddqlaa8pn73dqhcm";};
 latexcheat-ptbr-15878={doc="0m636j9gdfpm4j1b679z5qw5ygbm6jp8xl9dzy6v5zzy695fcgaf";};
 latexcolors-49888={run="1wpa7vw8vphdghdv1ap5ilcgzj5n6vyvn4a6lfvswg2d47s5y1a9";doc="10bbk7bs1km97hpzqzzfasxzp0w202y8w7pwyd465ygr4y19wj6l";source="1j7vfvyj2k4q9drmkmh3mfk1g3vs7czn1x16fx9jyinbdxnwblnh";};
-latexconfig-53525={run="10ynmd8b9b9l1wl1mva23yz4zir53p6r5z31s39wmxz19pj12qvx";};
+latexconfig-68923={run="1lq89ycfsv3bl6kb1lq4s4808pvld02qmjmyz3npaqkwjrxhyy3g";};
 latexcourse-rug-39026={doc="027siznmshk60flxgra7dgzvwbmgwvckwb6r257b91x3rm77anv5";};
-latexdemo-55265={run="1dw7p679126br9gl9pmjcc0f596314h67dzbbq0ypsd2yb0y7x1a";doc="0bnh076zi1mqmvf2x24wp45zndyak6y04z3x56ah0p6z96bg29lr";source="0ddchhzfg9s15i9qvxban35ncavcn8bj0dyhkvr3m8g9farv5mh6";};
+latexdemo-67201={run="1w95ji58dylfa3j2crcxswx058brjx31x6n76wlj9hjv5dkarqj8";doc="1jsszarq2lydblwkwgachhhr2fqmabw870w3msgrllyardp7ycrw";source="0vi6b642k5qjnwa3igll67w0h4r3p7bxxjlajfiqwp06pxzjl7in";};
 latexdiff-64980={run="1z0x59j9g2cmbfwfmc87fpbjy4hp827ic7y9z8q3j7kfh2s3j8dp";doc="1r461j9m6rs38kim7isvi66z176fv1nnd1q8p1zza9b1j1qhfr97";};
 latexfileinfo-pkgs-26760={run="0lf6pkxjqdilg10i3fwmlb1nvvag6c5bm6pbcd50jjbd1q39iih0";doc="0qh84r86pszscg96gri652y6p5xx245lfzvx50qvzw77xn4iv6ra";source="1x1sj91sd5bb0jihvp0qg52q8ybak4flvijj5hdq84jf0bw3gryi";};
 latexfileversion-29349={run="1yy159skv29hp0qxpghmq5zmay9yi0ndkgz7lbllj1ymkgxs5138";doc="0k20c2kw0xarjlkdhjyx9h9kvjm2f3rd98lz097xj8xvk0fs0zp6";};
 latexgit-54811={run="1kg9cbz6h70496snqqa2h9xfknm70qf96xyvnc829k5v34jskmi1";doc="09rlc9nprx6590snfg7gakycsam37wmmscybvm48vdn271vvla9l";source="1pn4gv4prwsnnr377xg2x3kf3kmi8pxgczbi9knzavkd53653akx";};
-latexindent-65940={run="11i9xdar1xwm6fp2bf1c1b6yw3r0vj4x83pa5sjhrgmrgbz4f2wp";doc="0i2i8pm5pr4h2qvm73yh58wqm73qkj346fs87zcjmg47phq8ca93";};
-latexmk-65485={run="08ar9mndvhgwp2b868a3wc534zwk5jc68gjyznzhww2c46mmwvp9";doc="1f60wcxfz5bnhg9700kmbrziyvw5zfwl6nw4jqfxzcvsghxh228h";};
+latexindent-69269={run="07qrhrcq570907kcafq3v7xbif0c3gfrnybg2ibi9rsic4bmf5qh";doc="0psnkncasbascn0jr5p7li8nbwd3sv6a3pp7dmh99092h66wa9pw";};
+latexmk-69373={run="1pdm5p4vvchn535cckwa1kk739ihpllmg1a30b5f74zf6np1nwp7";doc="0wl7d19zsf465d7pb0i88hx71jh9ln1bk6y90z4p0d7y744jlfpn";};
 latexmp-55643={run="03rgabck8mcxnbg1avl638nhxdk6smvyd21v2ns61hx3jn09cpv5";doc="1ad9axqv8h2s2xckrdxcnl8kazpgijrgpxmbwsb3h0hqb3liznsg";};
-latexpand-66229={run="1ky0z3k9lwd2815kn3hxpdhcc92spp4wadc5s4hhjdjah50b6zpk";doc="1za2s4qvkfpqg2s86z33y85lw4vbi5ll52if58dndbg47mf26939";};
+latexpand-66226={run="1ky0z3k9lwd2815kn3hxpdhcc92spp4wadc5s4hhjdjah50b6zpk";doc="1za2s4qvkfpqg2s86z33y85lw4vbi5ll52if58dndbg47mf26939";};
 latino-sine-flexione-53485={run="1k8inj0rl7mhsjyzc39w789jlafqshh9sgy99szxqbs0jilgfb78";doc="1wccb0ksrrysqjp68l3wnf6l4n3s64ny3cvxiqgalrf0mlfipxmi";};
 lato-54512={run="1w70dgmvcwm9jff2ap7s78qgqs9ip4a6dx5wz8iyd7hn2mwf1v80";doc="1fj4n1y16x7hxyd63myk902iwm6lr074rkdybv03qwxl12p9ykxs";};
 layaureo-19087={run="0ggab1drpspvqwkijlj2d7k1iwacd8bihgrj9qvrmsvdlswdjsd1";doc="0vxa87pk0fq67zlnbzbpnig221isp1fy6qp30fphk7igvnjw8v70";source="0mdibdz7hawfmc6bzvk3qfhs22pnmsnvkvvag31p3b4n25zshmry";};
@@ -2132,7 +2179,7 @@ lcyw-15878={run="1c0js52z8mgfbr3lgbvnhc646ggvsvgr7w1mq83lyx0pvnlqm3aq";doc="02h2
 leading-15878={run="1ky6c51dcx0gsj8f6zrwb242d940cjml0gb258ags5xi5iaq40yk";doc="1l31zpglr1bz0gif3w7kqzhd37zpcgjig2ly84fcyk805sf7nncd";source="0f4ayaz2m0y87ifddl4622rpf858zmh13xafp53nh96b8pyvcip0";};
 leadsheets-61504={run="07w8h1wv322dy0b69d13b9k59m6iid53rlpn20ps5ss2j20b62z3";doc="17xbqxhmxc39gxd5ckvzsmhiabsi2afh2r2jv91im8inqfqi8j1l";};
 leaflet-56878={run="04fvi31wwpsnkpsni3r6f9m3vr8b6h71f2znb79aban9g1qvnyh6";doc="0f82hm37i7w547jpmxkl8a2k4f92bw29vdzq4ywwllk2hdcq3sv6";source="0igkl1rjl14raf3xv631c7sn0mc1smyc44mldwgzgnzxxkv5kzzf";};
-lebhart-65475={run="0pxv47x55z5f7xwjxf1vgch6f9ffj9h23diqwrxj70i86ma39b8y";doc="15w1pka1a4njw4n4wq7j8mssgs2rg6h6virgkycgbnwh44f9hzd2";};
+lebhart-68376={run="1234ihmzv9fmhrb5s0c1ria1pzd2qz5vi96v2p4faabksxp2qi2n";doc="066d7m6w4i6gmqmgxdhsvq779mabqai0ix83c97gc32jlhhv1lsh";};
 lecturer-23916={run="0alcmds4ds3m0rpq6r46ff56x78kv0nbdnfn80s9q638pf1vvnvb";doc="0ksqm6ibcakjf2dir19hr066gg2dxa5blfiikr1j8x966lfdjb09";};
 lectures-53642={run="0qdhkf7z1rnxm2ql0ywfk11y3aqp8yr1p9202d4ha6729n5pyima";doc="1xakcm4mmhl4ahnvcpn7k748v4j2m8p6d4p455claqhf7xg4jz15";};
 lectureslides-62292={run="1x61bpgp5ddgld0v05qb5sg2lwb7lzqn6r65imshvcjz1xbwpvdb";doc="1awy6zgj393q0lm195hh8ky51fczm5s19d46fc7mivxyh03w3wk6";};
@@ -2141,12 +2188,12 @@ leftidx-15878={run="05fi4rp3s0s9ank7pphdwxnlnanc2r88dxhyxbz64fb26sja25gy";doc="0
 leftindex-56182={run="16p8n98cw5kxah37wv263mq0jg4jq9f2dfzjyy06sadjwsbf4psp";doc="1g5ykrfix8d6k2cg3nsh6fp5ibpgfajxgf9qgff4s99ir2fgyhrw";};
 leipzig-52450={run="0wml5k749fgx3vq10v4vc970h6nqm6qflg2z4jajph1h38kj2ryf";doc="0znm18pkrf592jfgshmr0d7vk4d4yq4wvj9hqsfg9nrjd4l6a66x";source="1sxqsgahdr0srk52iqdacsqn7sc73iv0n70nsnpvgfsczmxa2djj";};
 lengthconvert-55064={run="0zjyynjlq48sywr5gyi6nhryrp8hcl41q1djjp73ingi2h2svz47";doc="1id32l1ipcilhkk4w9w2q8rfjlk99f5jphvq1hjvqdnhz4q1rk69";source="1zy9bnibswz834k24fk5srl0ahx4i4hlrqv6vnvwb3h8z71izc3b";};
-letgut-65548={run="07m3vhmfyq3y9gfmcwhyz03lg5jdmfpaf4z07ixiq5cq37vmxza9";doc="0fhz5qnnqmqrl2v8ljhw0dh2fkzmmiajkxn6d6x3v1hh0m757vl5";source="0pqijgd8pi04ggkabbi2zhd0qdnr6q33d7ywp020irbwvq78jqcl";};
+letgut-67192={run="0b1vjlh97ra46c906kxxh4a9z9ff17s5kii5488ppmk3fmjnvfwp";doc="1q8hcsqj92w808hbmqk006zd106rvhl48jc8qknk51qixz74yvsb";source="1w4ini5k56qik0yx0b0f0g7n6558w3yqidjsysiap4mn07mcpic2";};
 letltxmacro-53022={run="0p16zmxngzzp9hbg7bxrh087gxj7hg4avf4a9akjkg56834hna5h";doc="1gxldiflxvhy6ca87f8z3a3zzisrwz6f9vrx2r9gsfw72jyfa99y";source="00ykjx412119jxwf1zaz5bismfr0i52psf5fagdiybbshs5ac88x";};
 letterspacing-54266={run="0ry7rri76dgbrkzr6na2kkh7bn0jpwkhh9b5qw0cl5xwyp81rddg";};
 letterswitharrows-59993={run="1b7d512g9gma07n7np7f92qqxijxs2df4h0izq5xffd5jf438m56";doc="04hrchgbm25b8g8d6ywchyijngk42lh7z5gq2g2hnddl7wp79kv3";source="1jabbydsy0xn79p2c9dg605kfrc6g3c25jz72hnq1ilpny9zbihv";};
 lettre-54722={run="13h1jsgjp5k82cq4rpx8gd114l49m1pzplksrwjylx0bzimlzgwn";doc="1w82fhhcdgsxwsnprx2p61ygsyh525im8j1zalcw0bji3i6pm06i";};
-lettrine-64511={run="0n73x5f5b4l66dxcwy1l9k792w8k7fvck708xwmrhqxzz3xqhjx6";doc="069mrypms7krgaydsj1jgi8vb1rvxjd8h49n189xzx3llx5mgqw4";source="0xp2235yv7fdyq5v3f83qp34bwkvsqgz2yqv9mqhmjq51l6swhv5";};
+lettrine-67923={run="1w18c4z4a6scy1d3sap8hwfdivi3lidndg5szjjlc0xxnkrc3iis";doc="0afwbjyqj173n78bjpzn3pb05vbx9ggrafgnv5djvm4f37i6iy4a";source="0ky4fljrf95wlj2yzqnfg34k5cwydvl558f5axwrlb0id8v29jf9";};
 levy-21750={run="184jkjwm17ms75j86njpkr17ipcamca3r5l1fcg8vfv00ffj9fp0";doc="1wbxdyfxm80w3h8bq8z5yavdwdbgccvhf4hm697ss5yshp7l8gfs";};
 lewis-15878={run="0ws9vk38j3m0sprl9lak2sjlq13nalcysk95gv68h90x04jj5zdl";doc="043kmzddal693kl6fds0xl2wwmyzvd9cqs8dmy1jzp0mdi6qw6vn";};
 lexend-57564={run="1lqqn007dpp24jcgpn9fdf7ysb99lgrz9zxjw27qm2439wrzhc1w";doc="1h7s17x7grhdb1hxxg6wql3pwy1w08iywpynymrqn8748s93yy4m";};
@@ -2158,13 +2205,13 @@ lgrmath-65038={run="0i1mag3077fs18xyznbgh3mc87sz35ihz4n5yp243h3c2qg9kyax";doc="1
 lh-15878={run="1k2nn4zpxdgj3b10xdqzldcdbw56ws9735wp0yajkhxl72ms0705";doc="0zvcl1zfbn7qv9069hff2a2r2d33xmqr31l4di24y4p33y3ylprf";source="040n2hbkaypam4fhyb82ncy1sfyvg7fdhykw9fnvy42mlzxv1p3y";};
 lhcyr-31795={run="0civwbn156gky4k51189s9lpqcs06wjr32pviwb1gzsfr6rc7vws";source="1pwlcsilza9f2f73qsvbr2xxxbs2dcms08jxjlnpk8fxcpiy8j6z";};
 lhelp-23638={run="0j55ilp7wn1w8vs60k6iangc9h637f2jrnpshh9glryxj9jjgxqn";doc="1is5s8iqyb41fr2hr1kxf68xrlb8hqw3v1fifl8645dcgp8lac33";source="0iyp664cy3n04nn4499ryzx00sr1iip1qmdlpvjx010r7hq4dyb7";};
-libertine-64359={run="0g80iv04a9zawchks64ny4x7d8rfkjyhbd8gkqfqg6vkkx1nbb43";doc="0qyx1kl3mmzra1hffrvpd4kpqjmhfx94waqkl6ix2i41kzh86laa";};
+libertine-68981={run="19f8pki8i0g10z2sbwahyixcmwixcri3i5wrq3bx1zwbc28fwih6";doc="1mz4lgajz9ij54sgn0x9w2y1ng49hdc9v967ybgjivdidjsfqkhh";};
 libertinegc-44616={run="14fdpxgsmq9dhgl2065rdsp0fnh9h0xcr0jzg4k5gka9irazxrzx";doc="0isvl0ghjji427p1fd1w0yy04c6zjmp058k5gkpsa3xkhq3ijvv0";};
 libertinus-61719={run="00f4wjqqz4hqh2ic8g162mnn95s0p2v1qshbm0zrnzjy2gr51hi6";doc="0zkv3fgkirq6jcz7ywb1sjnnw8vfwfgd3y41lm4ds547ra8zp2q6";};
 libertinus-fonts-57948={run="0izp1qihx1arqkgbdp18ks0xz7jlyd5cc4r3d5nhdnpph1nry9r7";doc="1zn6nlpr95syxmijr7w0cljq21qfv09b2rp8j6n0rvyzm50gc4fg";};
-libertinus-otf-60023={run="05pvwhvn8x72hivbkinn0nkjscvs9vc6m5d55jkbws2abgh18g6j";doc="1i7bypqfgwq9dl05vwk7r1cvsis2h8n6r8bs6dvhysxf6w1mw7x2";};
-libertinus-type1-64958={run="0mlr412iaqnw74c0k51faanypf3syqc9iyz0a8xfw7z9ibg513zr";doc="12gqkljgl6nxplzk2xb5nfgh7fhfdipyvs7pc5rmbk4hvdp2yfw4";};
-libertinust1math-61751={run="05wjf6gqc6c3m599wlxshimzdz8g4wbpix0c1a82rpqqys364lrk";doc="1miwg4m8f0fpxksdc5c2pwy2pkll79mhirj5v0ppc1g0yzxis31y";};
+libertinus-otf-68333={run="1gxgz9lgiyw9n00ss64bb5zghzb5hzli6s8znkaq6fcgnvaf5ra5";doc="08xig7pz9322x5kz8l4dgqc74hsdzrhnxp8kz577gbkg8mi5rsf9";};
+libertinus-type1-67450={run="1brcmv3j109909q5975zaaf7slnzqcflfqzfmxvbaxychwm56nds";doc="0v352ny2961inklzfc2jn797f443dmp7hk0wn7s9dzqnim8rsr60";};
+libertinust1math-69062={run="19yyzlslc3qqk80fdk42ibyb6q07w3qp6ax0pn7gqmw44zlr95pi";doc="0nmg81gcll8z7mr5ryxp93gvja60ayynb1s135l7l0h73s461lxs";};
 libgreek-65004={run="1wazhir2i0bwh8744867akraid5cz629yjj6aiipxm6gjj913gy3";doc="19wbh1vjycvplflzkb79dr3ha2115jc8lf0vjrxx7qvnjprygs8q";source="0d8x32jq6fcni0g5qa0hcd3vyxj5fcqa9yg3m2bfb049p5ms7s40";};
 librarian-19880={run="1rri0fb9ssj413w1g8c7p79hn72gqzncihhhg3ws3ldl9s3nm54d";doc="1i4m0gp38f64y59zcsyg2j7bb6zycyf9z5yr5wf86l6kh40cc2fq";};
 librebaskerville-64421={run="1d98h5gyymci1vny8877pdq7nr0vvv8878kcbahvkijyn5gwwdx3";doc="08rds9g231kqmka2dzv03sj9dwnrh89rhsbfqffpzrwsfc4fqld8";};
@@ -2174,15 +2221,15 @@ librefranklin-64441={run="0g6vlivwlwb56mm9a509xfssp11ir60cvrd9cp2hv9ym93yqkcgs";
 libris-19409={run="0nprmwx67zbq7xhjbb4xiw5da3i0k958zvb3z32s71jdd6psnphr";doc="1vg5jgllfxh3rdqjvgmzn6ak887ar7a4kc1k5cwwwgmgdsfam1zl";source="1dfm4q73p8q8bgn33z025sgna1jq428d5dvmfagjjwc7sjd93ncb";};
 lie-hasse-61719={run="1bqc4gpk1f5b7afsqii6ny1xyh4zpc5347v0xv618svjh7dpyzpx";doc="1jfrig40w3ac4j6y8aiwjyvsv9q8lvgvn1977f2yg12lsjdzcpyg";};
 liftarm-62981={run="1g1v61iahjd67fjdgr6d6lag9yjqvix0b7m2aw1gc9bjzlcvpd8d";doc="1pxhbcg880vnnmaz53ifpiv17jsr66i81nzhnb80d4cn5jlxklwn";};
-light-latex-make-66474={run="1rjnvx04hcmiwzqg9gh1l2w0vnj0qfm22snjzm9hi7i3sj1kx2ja";doc="1k9c1vpfv08zwgl9bq3wd3lxd5rddfb7pllnzcclx7002pdl81vm";};
-ligtype-63577={run="0iqwvjvg4vl801pbv31vijcq4yn5dxkbrhcjy6pqd6ix93grw8fi";doc="17wk5ryjcnsmljfkndy3s884yh73fpv6dwfzq0a3f9hhpxak4pf1";};
+light-latex-make-66473={run="1rjnvx04hcmiwzqg9gh1l2w0vnj0qfm22snjzm9hi7i3sj1kx2ja";doc="1mjmsg5mgz3fyn6v65iy75jz9jvdv4bxy8lqsgiifv1c5660lgzb";};
+ligtype-67601={run="1xsdzgcbmn1djpvsjak0bav7vvaa94rc5byhvhajfb5npqrz2rn2";doc="1yjsbj3m44cj1lzzgxkzl1wsapqfcjh6dfyaqi971k79zh9420vk";};
 lilyglyphs-56473={run="11mb49rcsi051k7yd7s02k9ca5g4mmifdjx1nqkvs6rl922wcyki";doc="1wl5ppgazb27s3wxgmz1xw8cwwmnnn0s582k5swx8qy91qdl08r0";source="0657barhxkzh3jj3b8rk5rl9i47k2h0p1wa2vxj00fdfqfdjn161";};
 limap-44863={run="1hdv2rlvxbqm2wnn3x2xrmwxpwbs03qnlfj7k1s8mfpp5smmhd2i";doc="1qj9ddllgvm9zqjvfdgg2sfdyfzpp8raf8n1l0zrg9vpiy2imdn3";source="0l41pd8xl969ax257lrcnkxs0pzb3q1fmiy8ijz9jfrval3rqqbw";};
 limecv-61199={run="1j1j3n86gvvv8jc8wycmjmnx9ci9w41w38fkxjsmx2mvc8frsi2z";doc="0d9gg2gf16pynh395sfqyr1bzj664snv54x9bb5a3zck3b9kbga1";source="0m0li0wa9pk2p5m3gqzr7n78qglz68akw7f5nq69iddqwh5r827b";};
 lineara-63169={run="05g4pmwnwmlh9zlcn3g2v5cpxr0pa07xr5kqnx0gb3ij32348kz7";doc="10bl6r0sa41hnyf8c6hgwgji33jvj9zy1k39lk168xv2wzkarml8";source="1fgdbxkgph3x16axccx29llckvankl51izxk825jswbgsxgj52j4";};
-linebreaker-66465={run="1xmwcx267xfkz4car7rdda4fh7xj2m7kg4iadxrr2hdp53l8lpjy";doc="0rk3hkbnfvqprd91mkakap6fslcrrs9x0yr4bmh06ql5w0axbfwh";};
+linebreaker-66639={run="1v23krvl4nf8pz1p2hl7d9pj23c6c8zw7hgcacyjvzd8sc22jsi4";doc="0prq9r6acl95w8cjrmzxlg3hxiq1qmivl0sgdcva6992smmls68p";};
 linegoal-21523={run="1arnfkijq4324jzyq2sn681rk9ncbgv6zqfrvlbs3vic8wxj5c20";doc="0mjpbkf6vw0n4ddd9abrah7rxf51gmgayspy6jpnai1wrzv0aby5";source="18v5r4hj2jpqay98njcyijwvrbc067c49jrhja6i52ddj6h9q4wz";};
-lineno-65586={run="1mffkb1ji1dgj7li9fgvvdy4i3kr4sh1gvyanmkqk2rd0lcjy2yk";doc="1nkcqz4i4bcx1id0545rpyiqnhx4dzm6vx1qnwjzxslwcv8fa1ay";};
+lineno-67171={run="0qgm0wlsq04w8cq435px8fxp6p9k064i7j42dgi9xx40fzar0k7c";doc="0clfrg91m97ija67d7ykd3yp8r2zng0rl8hrhdi5hay3b0wfcs4z";};
 ling-macros-42268={run="1qr7bpa2wcp1hqx3ckid8h41lp8idhqqnnbdv42j2nhcy6f409wf";doc="0lk4whkamzsf9mriiz06ynpp962w5473ppf4n36q3bb13amyp5vk";};
 linguex-30815={run="16rqzqipzng4xd7yz3i6416231cfphqbwq8n6pfal83awzd660jk";doc="1l0m6k9adq0zr88zbqrj4jl286mwarr6fiy4181bwxm9w9kkxs04";};
 linguisticspro-64858={run="1aq5sz202hipjbimm2n8krb78q54ybjyxbymmv1nxdpjxk0hixz7";doc="08pbwqz6rqqmw814c54g124h6ni6bpb39gpd2ibp5gxn21agqa2y";};
@@ -2192,22 +2239,24 @@ lipsum-60561={run="1rfz9f6gaha6ccx1s5kij2zkwdkm6i2laxv5r9jyjvsawqwr0lam";doc="07
 lisp-on-tex-38722={run="0g33w5hwgpw7hd62lij0h5n89n9r9ynlxswb34j0aqf3x7nsdh8m";doc="0rgjcldb2rg330cp8m5vxbi380xla73jb36nn94b2awl4g34bpvd";};
 listbib-29349={run="09rs3zkymlnn9fgsclnfpn1mrmxnqy8kd5pmdiphlga1iwfj5z11";doc="1nz6p8z4yvh91hvk02y184xl6fd8pyjlpjmlv5zpmcjillv176yj";source="14jrkykx2myp5fghh9qj66i5g291azm6cihi12c53bv1ijcyl1ik";};
 listing-17373={run="0kpf5svycd71r8p61y83wx1k99fwxm95qz5fbnqkfrq3c0113h3p";doc="1zd0mxh0gxlvqrwxvycqr5yzs5fns0hrkn6g6b4m1v6njv2f9lna";};
-listings-66233={run="123agzj0xmm4gprrdyj5223129qd360z5vw57s93d187hp29byrh";doc="1r3yl3z8hpdqsin2xld6xs6ywdk0k7ykc62l68bbdasc1bw22ccm";source="1wffwc76c8xvc95yg72j7z1iqzij8jzq2yz5mqc70mivl0amqcip";};
+listings-68476={run="123agzj0xmm4gprrdyj5223129qd360z5vw57s93d187hp29byrh";doc="1r3yl3z8hpdqsin2xld6xs6ywdk0k7ykc62l68bbdasc1bw22ccm";source="1wffwc76c8xvc95yg72j7z1iqzij8jzq2yz5mqc70mivl0amqcip";};
 listings-ext-29349={run="1r5nq62k8rwllcpxwpkh2z0gcb1rlydp9nry8wx7r0h93hbmm2z7";doc="0jyk8z0nsdx2yljly8nd4g8wnw7ggi6mdjw0wb7y0mb5wq47sbpp";source="0hd117168f5s1cb2iim6y198lnh05ph4ib7p666yxvv48wr0mfpc";};
 listingsutf8-53097={run="0scs9dnkl2hj95zgjiggn2ikq2nf62q97nnml3hbvmwdargassmh";doc="1s7k2gr69xlxln2yi5wyvd69l2qa8v33d92b6ahgxxpid3437prz";source="1bq197100f74sal26w0r4iv6ys2qa1ylbwbyw3hm9dlpb6kmdmgq";};
-listlbls-34893={run="19v8vx2ffza3icqlj0y710zc17lls87l3k2mkj6lc28qvz0kfp3f";doc="0pd3812k1rqnq5hmsrcj32x9fk72jw1j3brcm8ajiczgv5f3gciy";source="0vic2ffczicfdifdhd34ysdzcxprnafs4k9dpjlnfgfchh9jjwqd";};
+listlbls-67215={run="0r5ns594dxmq7r9pkk2hk482caapfdar1gwbdi6fw396pcnpw8p7";doc="0gnc00jv99rvf892q0sncr7l5pxpndrmw6qsxfbnyb38yr675fk7";source="0s77rh3480i9w06a0nnc7l8gm3w1s6bik4nl15idb27h5a5fq302";};
 listliketab-15878={run="088f2lm5lfbns7hd1m06f3zn1cjcbaw427z7zl5n47ahrvcz9p94";doc="1llrdgxp9mghs51sz4jjhbdllzlr1xgnfskask532zwn1cm6f4vd";source="04xfgaqpcskx5m8byysvd2rji31km9c6cbkfzf3ybj4a5bmbnq58";};
-listofitems-51923={run="19qh891v470h4617fj9ajddpf119qh087ng7ay9q73qhk90fhs62";doc="1s7gl5ai3xdpj05lxhj80hc1i48x2lhcanwh4v3w10yyzf13axyc";};
+listofitems-66655={run="19qh891v470h4617fj9ajddpf119qh087ng7ay9q73qhk90fhs62";doc="1s7gl5ai3xdpj05lxhj80hc1i48x2lhcanwh4v3w10yyzf13axyc";};
 listofsymbols-16134={run="1qp5y4rbnlpaa3nghlxjn5yzhskvan9rg0g45wqmg6yk9sdll5b2";doc="15sr2n0bsvwz6jqgyspj6kxg511jy3fr18705pyp815hg4maxizp";source="1sjg64imcxxqq8bsqm98954g47nfambr6vsyizkz8zqzmnr5vd80";};
-lithuanian-66465={run="1jjbj39d4idfsx86lmpj0w1k6gr6mwr7sxvcm8wag47rgd05czcf";doc="01r1wraa7jgvblc3wrdvkhccp4ba8ps112ip1v31vn4wbnlvdyax";};
+litesolution-69115={run="0wl8z1zzxakbr6ackc2izfzwkqacfznvm5n96gk56fnqjlz3d378";doc="1d9ciidasiqw45m9iha7j0vnr4wmi7gq7mdm2g6lj17q5dick3i6";};
+litetable-68782={run="1bil3n27ajahpd8zmwjz6xab1ibc28slg5bicb6x5yzs5jppqi4m";doc="1qv6b6qjrxvv7sbsggky3mylnnp1fzjvbbk32vvmnk4gi1cnm264";};
+lithuanian-66461={run="1jjbj39d4idfsx86lmpj0w1k6gr6mwr7sxvcm8wag47rgd05czcf";doc="01r1wraa7jgvblc3wrdvkhccp4ba8ps112ip1v31vn4wbnlvdyax";};
 liturg-15878={run="11l8ccpq2mcnpsfxry6zzjihj3s7s76p9plh7afprd7j2nnq1a79";doc="0rhyz3162nzh43nrxwkynr45i4w5pqb5ip53x5j2k2a4cb4k1z86";source="1hn89rf3xi66bfc3kzwbvllfzrxr62gx60ywbh8gkrw813n18lll";};
 lkproof-20021={run="12bj60lfqlqvyk020lv1l6iinvqx4cvd6lfz4vhblfx3gs3xmcqf";doc="05sppy6q0c2iangbzmxv5qxla8slc2k0fx62f6n2fg1ncgvfl7qh";};
-llncs-64299={run="1yb62rx42ap1xkkf05p4y3lc7j3ci4czwv94baznpirfjvhai3xn";doc="0is3g7p7xk1z8hvaxffhpi5w98385n7kzr13cl4klfmk2y96pqz4";};
+llncs-68731={run="0mnfvhnq8wwsaz9yzw3a9mkc4xnmq8ihkzhp1md0v2pwlzsvdzlr";doc="0bpbvp85v3qqmpakyp7yvm1vbibj9bbca72v98jr9f544kd97qzx";};
 llncsconf-63136={run="17x1sjs86vl03dxcz3qbwm7r21hmzvsvsr9qa0xii8fvp1yb5pxz";doc="1dq0v5wczbhk1ir8fl97c53sinpqnvv9v1hff1hzc3rhbwh5smh2";};
-lm-61719={run="1b4lc6ipij5iws4rgpv3sjjwrdbaxnwiqdbyyj62jzc3yk999m4y";doc="053xga559cmqggdifabingd1f7q1lfad1pkk9nmkximclq5igg2d";};
-lm-math-36915={run="0vsmzr71d5iqhr9bwjnp7khzlg939mvfnbg846854cxk8wfm9hzn";doc="1j6jcki1hxdr17njy8sfpb82mxh6bpllccf3hnjvylvpjf45nxm3";};
+lm-67718={run="1b4lc6ipij5iws4rgpv3sjjwrdbaxnwiqdbyyj62jzc3yk999m4y";doc="0wdnpnsbg4gvahqq8lv8ny36xwxgph04sjn64pl34srn2pk1jsxd";};
+lm-math-67718={run="0vsmzr71d5iqhr9bwjnp7khzlg939mvfnbg846854cxk8wfm9hzn";doc="1j6jcki1hxdr17njy8sfpb82mxh6bpllccf3hnjvylvpjf45nxm3";};
 lmake-25552={run="1fk98049965cqqyzdl3yl9iblk87gwwrfccr5jqpdm5v6m8mcwrj";doc="19yqngjn320sng4pg835rffk6d2g3c5wyma46x1jr0bccv8s1990";source="1p002ywz3pxip5v4cd346nmpg0gi7wamlcl7bc6f4zvzqp0cg41g";};
-lni-58061={run="1y1g323qij5xdjw1c4n31lkzldj5bkfg5k1vs0snnqppmznp4afg";doc="11q1sfq1ks61fjik6wq99yqpc2z5crxdw87pbv3khb3i0m3hfkqg";source="0l1khvrpzwsg26ldxfx97qv8q03g100iq27lp0wr2qqqyrwy7sb6";};
+lni-69361={run="1slm6l0jjv9ps8qzs5ld774iibsqm4bi916pyypi668vpf03dp1m";doc="15125l53k3v5g8gg4x8i7izx2y060r2mpqs9k60jxn4ljlmh0cpd";source="1wlvrxfj254ap9vh0wnzana3i1wryqiqxwff2gh8lrh4nh3yiq01";};
 lobster2-64442={run="11kx0xhhklgrj3rhc5q3c5hi61444vr4936fpq1nma1yxn7mbyfz";doc="0l51mwqiq34v22pa4rjj4c6q7w2x9acdfy02hb8gmn80i91fijpw";};
 locality-20422={run="1b6xi8zzc9x8bc54bs2s6ryn7g2zfpy1zsdddlx3j8kvmbmgv6j9";doc="0z0vrx1dy5qqgb2kx08qc2r06ljqnfsgiz58hpy6ylnlyay39ipl";source="16xp8pc62jzgcmdhqpmfi54y5aaf7mx6bqgwslpwixgwym0i69qy";};
 localloc-56496={run="0ynzcib8hsflpjhykfl348pmc508g4i3ig38wjsb3gfm97mlhq24";doc="08aiqc04rwinqr510r1wkzz43qq4nks1varmxyjbnw9acndn94ak";source="1wcl06i82xkp6m5m311pn1ax42avlp6n54ad1j450apgygdszmik";};
@@ -2216,10 +2265,11 @@ logical-markup-utils-15878={run="0nc8kgyplffng9429h0g4hynlwwxpcvnirxg7rj62zcjcg5
 logicproof-33254={run="10b55lwrrq1aqmp9njiabqg59xdrd5g8skbcrlhs621s1999dq2g";doc="119zgxwx0q6c4ghpb30mvpdwrpr0xvk54hmj6qfpih0kxj0zp1az";source="19j00a28pz5dp29sx61dnrpqyl24sx9apf2ck334ap5sw7awnc70";};
 logicpuzzle-34491={run="0zsg11lw5x28sik6ifj2v1zjvm3pcv4vf7w2pfxcr395vmw33qm9";doc="08vgi2s2cy09dhqdmvmq1ijlw83dgjd7xjfdhj28vm9ny16zmydz";};
 logix-63688={run="0syvhp2zn6rpmg1v92k9df0q4kv79flvj93m7761675fb8jcki0h";doc="1l7kyw1pjr4bpj33sy2dvkb1fvl39pb1mbvwz29w6k4038hg50hx";};
+logoetalab-68916={run="1qmw240mqsh2s7l2r8nvw9xh3zwa99g01szjaxn94d92hnqmb4r0";doc="0rkj5gcp01xcw6d3vascvp3nw2ng5gxi9znj81yasgw09w2qyb43";};
 logpap-15878={run="0xrv4x46m54b4gfa805naab6fgpd72fwqnyjjxw0idy9kb3s3x5v";doc="1zb6qyxrqy07m65i18dcli30gb42y6c3ffr22cpxa7r8xmaprcg4";source="07cm2gcnv6d7pzc9d2v3bdvsmykqf00bbw177mqyjaq1chc0xpna";};
 logreq-53003={run="1zj1vn0yfklngvfvcr0p8hchar220lwfrznsq73jbw9zzjx47v4f";doc="143b5bb1jkc9j1gd46c28q4zq8jlh9wrngjw8q4prw5dkfnf1s8m";};
-lollipop-45678={run="170q59wqy0x5zhziaycmfglv1wnc5kf252ni1r4vgrrs3rlwiirr";doc="1wj858kqp27amx3jpndsqma152r40agfymh9ah8s42pn6kfl4dkq";};
-longdivision-59979={run="1hb76ag0yp3gy7jyyjn8gdmgfln6s4w2l9gji509swbiwpf2ab4g";doc="07krj49i9bbajradx0x2h08ca85kwkqxcx8wn05nirfqwdmm7acf";};
+lollipop-67930={run="170q59wqy0x5zhziaycmfglv1wnc5kf252ni1r4vgrrs3rlwiirr";doc="1wj858kqp27amx3jpndsqma152r40agfymh9ah8s42pn6kfl4dkq";};
+longdivision-68609={run="1rnbw3y9vzs0nqyjw1qdj7mbiy1mk9l3ccygnn65495smgg7h7b2";doc="091b1v1hwbifv426w1gglg273c9ck0n3bzj3xl9hhl27x1qzxjcy";};
 longfbox-39028={run="1cm2zp8sina312n72bd1xza75yi38n1s2ach2f9sjxdx0m5c3ywx";doc="1wd6hdarh4nm6x4qn789flnq69gq5p2r2pgybsynbna7ywar0l5x";};
 longfigure-34302={run="09pnqp0jfhsg7i8z241ggnx04j452zsg1zqmwy0i40fp2s36a61c";doc="08y2a2922zk61iirlw24kdsf473sx0b44pjzxihmpcrf19vg2c12";source="1p10y4nwz9wj321mf36avl3w6zwvspnb9cc92h9jf4iawnqyp8p8";};
 longnamefilelist-27889={run="1nz5n1g65fs7xxd4l0c9xdr2z46mxhb0fkmf5id4hrifrbl3jxbw";doc="1v8i6ax2qwz7d7mi0bnpyllbqyksdd749s8pr95jfw1fhi07i5fj";source="1615gzf3rjfr1nlmpgcrvmlzhif13g3kn210xq8p0vsv20irnqa3";};
@@ -2232,7 +2282,7 @@ lps-21322={run="146a42clkjyrg046bz43b2rpvz3i2dvhcsd132bzc76d3x0sqps6";doc="1nwn4
 lroundrect-39804={run="0s44pbvm6iwl2jyffnxriqlmpp6zs1y70z4aix8wwfasx86gq131";doc="01ncbhr1x995763d1dnarhy56d7mq3r8k1b56whqs6kq55115w2w";source="1sh8ypnfq4pwaqd934vdh77svs9d3a4114vghg6m4sz5fxh11i39";};
 lsc-15878={run="129vlr2gnirf47vs1drcsml3w4jcwg78hmya4r3nspaqm00b17gd";doc="09faqnv9k96nwjcvgmml9f02vdj5hadbmb1lp59xk6jikvybv436";};
 lshort-bulgarian-15878={doc="0qg23asq2i5mqhp9xblv5hm3qxmd5886d5x0gq1fkdbyy9gsawi3";};
-lshort-chinese-61100={doc="0455mdpcv3yg4m5vrbdp47j7mcwi43mvsy2p9clp7794agaf2ir6";};
+lshort-chinese-67025={doc="05b9fq4jhh9xifn2lj58fs17fc0prx915gwfz47s92spvv9fwbi6";};
 lshort-czech-55643={doc="0ar9qa0cg0mjv6ydgx1phaa1qpiy25s3jciznbylgi5xprvnnfa9";};
 lshort-dutch-15878={doc="160r060gmw6f6lgbnyvfxafjpqvyr4jwd56ddkjfm3ir2bfl973d";};
 lshort-english-58309={doc="0pzqdbzynlwvpamd69cmfpa8jdcvq96qjr9k1fy3dxpzi2mapvhd";};
@@ -2249,7 +2299,7 @@ lshort-polish-63289={doc="121y638k4f4pbjpa4q0n9qj2w57624q2d1v4jz09qh399fl5yk81";
 lshort-portuguese-55643={doc="0wg51rjcayiizkz0vvjkirrx19q8fbnfrwilgh13prlbpams1hsh";};
 lshort-russian-55643={doc="02abh69xl43p56fcciyan4j0z4mqq2j7ynwazq1nywhz37d6zn7y";};
 lshort-slovak-15878={doc="0b5gn95i32dyn8r7v2cdcz759fllp3b0zwx17adjs282n06vfymq";};
-lshort-slovenian-55643={doc="0cwjg0z5vr4x93bz1khwl27rk8k7kpjm978iyzn6w7gx3wi87zr0";};
+lshort-slovenian-68204={doc="0cwjg0z5vr4x93bz1khwl27rk8k7kpjm978iyzn6w7gx3wi87zr0";};
 lshort-spanish-35050={doc="0ls50syrg3dl5dl5a3fi33cr9j990l2xr6pribn1vqglsqrh191l";};
 lshort-thai-55643={doc="16r9gx902a342q2mj570y269yw97yaj6hrbqrk4h49ihm695z30i";};
 lshort-turkish-15878={doc="00r6pv4z4933jw072djdasd2wp5j05wghln62ga4g6y6jblf6zks";};
@@ -2260,11 +2310,11 @@ lstbayes-48160={run="1kpkr8xd1k1iinrp1ljj1wjphn0c58l8f6hci0axvxdklr02s3h3";doc="
 lstfiracode-49503={run="07fdzwb4k0dv2mf6yl31h58i61hmw0gfpgrjdnz3v2rnw1ip8kgq";doc="17a8sg0srw7096r3h7qa23msi6pq0dagap3a0rcpclp73z3gh3wh";};
 lt3graph-45913={run="1w5n9y7pqy5zmn6w9bx58nnawvhp5467d150qxnj3c92gh0qbj5i";doc="157y7a7gpgm6dc7hawdhxr0v3ns5kibykhkg3wfb5r5fay47jj4n";};
 lt3luabridge-64801={run="12j7x3r286rsj54h6l0nz3ilnf5fnnpw51dbis20bsgnabpia55m";doc="04k331s04qgh5hg007fs5rhvg9cq0bm7l9dcmkg1yj60h4rpcnim";source="0hyv4jk59l7b1lrxcvkxjqbp1sjpkdig5926lj3nlx0ih39zbwpa";};
-lt3rawobjects-65230={run="03af8ax5c1qpq6s7yb7kq29q08cgn7pi1pxx8fylqsc54arcdpls";doc="1fsplmg16vsjjwc33rw4pvg09l8fiv7vjam4gvan4rsb4wgidic1";source="0dhd0xrzfci419f65xy0awvxld8wv0iyhnzw5i47syciyffd2xhg";};
+lt3rawobjects-66619={run="1k65hvwwqqw26mqm248fd23xk4bgm864bqnyc759faya84ib8n0q";doc="00l496344la7q8jz0nr895cxir6zn5pcjsn16mc3cd7lpiclxs69";source="005iwxrraxmirspq3881mc2pb8iikc71p4g0dwxbqp38c8v8djb0";};
 ltablex-34923={run="11gazci0c064iav6124v4szdbj38anqwnfgh8pfpdq9zff0h9g5n";doc="0jjd5f3r67lrbl4vyxjakm8l8pdrw9vm1dzhl5305ga8vvwb7gn2";};
 ltabptch-17533={run="06ww90fh24s6lmzyvmqjh5gcr7vp3lq6cg9q6k6194g4kay6yx5i";doc="0yb41cgqpgcxk27259gfz14v9bpndjg51i9nmwr1qwyvaqd6jvjw";};
 ltb2bib-43746={run="0glj7g6zyvm08paszjk45kp65aac6i3f8spf6zn12idf1h0b76j2";doc="0j1p6bcwwgz00n3wyv3vm02z295sj9xf93v946k1xrv5jc6pg6lf";source="0g05r6b662jx2s2kal26b3lv0dd6r54fb8m09yv5d021y1fm2nqg";};
-ltxcmds-56421={run="1lr77yai2qivlx26s5094czpfxmg96bhxps5wbm8xn7cpsw0zbd9";doc="1hxclaafsgj1wiw1hrqzn6p227x22wp679z5sm8507wlys53v49h";source="1k1kwmyn2k11bn5dp3cx8wjdiqrnb0f84rbv8xbsba199k51ws86";};
+ltxcmds-69032={run="05wvxr5bsrfgyy5aa0mrxqw0vi8m1ks5ma6fzlf8ngnbpihr2ggh";doc="0jnqvpc40mazy5ka1451w5rdcsl5q6rza3dqkhqpf79lgiswxgc5";source="1p7gzrhyiaiid1mpqfqlm6jfamdd8bvxx149lsnvhnxh3mbxlydm";};
 ltxdockit-21869={run="1krcr5qlz0648ibj5c1jd0y4rf6rg33r0clyvdjm70kq26y1lqww";doc="19jc49p978z0hrx7p19h33nc65a7vjhlrfszwvr6mln01la3ivmq";};
 ltxfileinfo-38663={run="0f11qjq1a3s5nxd7z9k19yhbl5219nn4fr1vfcqq1zs8pwnsgqzx";doc="1qjs959a28cqjigdml0jgyhllyxd5kj276akz93hdbcd6gzs9ss5";};
 ltxguidex-50992={run="0qv1p01y18ia4w53dvlfhdrgy1xsicaigcas33xs6yqipr8cwgkp";doc="0j4h20bblkwgdjvr2ihfy32mzyb9parbjgiijqf9sfg2k2p7xpib";};
@@ -2276,7 +2326,9 @@ ltxtools-24897={run="0ldvvkvyw1khfvg80ana7wj20917sjzf0lsp4699hf4jvw71w6x9";doc="
 lua-alt-getopt-56414={run="17czrz46xlbj3xkh4jwdq269mqaq7165kpkhhqa498hrkcgdgaak";doc="1zfwvs979c7s16vpv2k9l81mcmm9y4qdjk46l8ik3123dalchv6f";};
 lua-check-hyphen-47527={run="01q4j9bb19lf838pd7l26rkz1xr7mxcx4fsgf5xd4sdif18h56qk";doc="0iaihbrppn1ap7bqvn37rk8b6m4lwdi8w4zkshiqya1mphhsfjg2";};
 lua-physical-59138={run="1rkf3cgzw6lyld82p8crv8h3swk4acq7b0i9c20q5dksrxcr7vmh";doc="10kzyj9k5fqi0jjkah3xx2cgn1ssvc3byihvs66qpavd2gz25vg3";};
-lua-typo-66516={run="1nv8pm3mixk8msapvzp39rv7rshx16c83d1d9lfb0mfz00kkdkq3";doc="1rhxqjhvfgi9psjhqmc3lrvp71ppmrfw0fcqq65cxnz2a3490smh";source="0205hkpa8j4s1jbg134v2p38rly54an45gz580z5df8d607hisil";};
+lua-placeholders-69404={run="135njnv5czy2fqyjchkibxnfav5m0lbg35z3k9f0ag39qf7z1ci0";doc="0m9rivk3gcbf84z8jp5pj58r88nmjmcm1w122z18q92m7kmb55f0";};
+lua-tinyyaml-66776={run="0wm23v7rm1mr2l10cariiyzv8f64aq0ms154md2ww9ad4qmsf3km";doc="16990nj13x5452c5mb8ha4hy6n1iyv2xsjqgipv27dhz2g176qy6";};
+lua-typo-69403={run="11g42k7431rh9ih81sl6q331k09l8cy1qw2w5n687736hvv65wak";doc="14rs9ds0mw796rawi4vwq73apyswvy6zlml36866pzy2w8mdcfv5";source="0kcjlddqjvfpjqrj690dwkzjf6b2qqjc7ccix96hzhb37sxmm2qf";};
 lua-uca-61023={run="1klxyb2iw6mccm2dlnpk947kim6ysvkykz69z7crf6lyzcy6lmvb";doc="1605lw450b64xx1a6lxjh9w4jda0n3d0b3sfvxl4wngd5y2jckzg";source="0z7fgyp7dh4zkz48mkh49pngaiyd58ckm0ipd3z626alz4k2jspq";};
 lua-ul-63469={run="1yj9044y9xk5kswl7vb1h5fl55pfmjrq2qnb2caym405pw0pn8pq";doc="0757s68bdvbaqjs0a9wds4x1sxrdabgi7s6jx1ibljb2wndxvw60";source="12x006v3z95ygpldh5x394h2igfn0d67bgmqqh40b5zall17achy";};
 lua-uni-algos-62204={run="0msiywf33b5jpdzc66wyvnklvmvs4cpfq3f6bsplgi22x8nvdrvp";doc="1sfswdkhbjrjd4cjj95lbc1sq30j9y5xi35lg3mjfpdinq43wfr9";};
@@ -2284,57 +2336,58 @@ lua-visual-debug-65464={run="1yby9rmhq63md8cb58qvi4dzlvw7hnfqicmkrap0c4qamva1aal
 lua-widow-control-65084={run="022g3aff6xj47wk9kgmc7l07n66milxyxdjpxhp0a5s1wcppf3y9";doc="1az40nki14y88hxk44lfl7czvfhz9lkr3lfikyf2bnjwl2pdmc13";source="1cdpa5h4qd6dc03pjyisib6hndgbr6rxy2ngicfaqwkk25ybrf1r";};
 luaaddplot-62842={run="024k6k9iyqiw29l614n0rj0k32y50fgisd2g1abfis7lihc1nlv0";doc="044yp2522hns6hshlph91c990lh43bwvf40cgkfid47mi4zr79l8";source="0x09ac3qlz7p27nm478lcawdrj98622527ba4rz7004b5p2d8w8v";};
 luabibentry-55777={run="19rvhs12gw5vdq2vvcdzbz4qd3y87qjvl9x4bcqbncqcvwg82cyk";doc="1raq564ad633c0xbwx6r9hhwmx1r7vis283rfh67lixq3prl0nfl";source="0gqbmg1c4wm57ga8gx9g00dfbczfvhqsyl13q0ba451d3kmh6klg";};
-luabidi-54512={run="0flk2g56wfdsc8330grmpgxxmik0sgq9vbw2r51mlzj00dl4wz7a";doc="0qdbn058p7xlr7s7ivaz4pf0rw4w2lywfxh4nkrr8lxjlszbqsmz";};
-luacas-65042={run="16ig5cwgj6vfclslhx2jbdm7a688577najfwph2csckrksblgl14";doc="0dqgn8g3gllrh6zlrcq47h9fgj2mvmaapinfcwl1gs4kcq8n7bg9";};
+luabidi-68432={run="1kfyazn8v1ks5yvac4x5cvd42i8li0sgv00plj92c2m31hfxw2gl";doc="02387g70qsxs7km8dlgibyx080jwwjg668j0w12v3hz67jvg5ymk";};
+luacas-67247={run="04507iwzcyc2xgy6sfawzj6l4zrjq4iaqnb4946hdfc4nbx177mn";doc="16h9v145l1kv00ipghfdjdqyh8giq7y418664806h6gv812af7yy";};
 luacensor-62167={run="1n1dgnamm5l3hqpbrm4dwgsayqmr99m41iy4038s7mfzz6dkf0g7";doc="038838s5p5ynvxycdhassvkq1vhpv823bfr5ppir00zd7mv8c7b5";};
 luacode-25193={run="0qk8vadwymhcm7yw3sffdh9i171hl8vg07j1b5gbsl1sa70cpam1";doc="11d6ak1dvdx64k0i12k4c5kh24f5vqy0ihvj9a5lxa9gqypflrga";source="1fafh2nq66cz01jsbkb0mk907sppahlswsbb35pa3q5j7iqjzyav";};
-luacolor-57829={run="170b7537yv0c8g2raar6yf5npnbf21blp16vc75v1x1196mblz18";doc="0vcjrmxqc67j9kkgm3yqs78qndzskqnbjlwgrshdmdms6lij47qj";source="0m4hzd0rhp9vychlixr46kx7rahqvrrfi2cx5jl53gr0w9gp1l7i";};
-luacomplex-65833={run="1vcygnx4x95g1zcv3p6lj69p3r33qpr734rp59bzy4ll3gziarw4";doc="0nwlz1587z0cmnkdf00gmbmy0wrzf7cfhrcj6xqs64fy6hisj3yf";};
-luafindfont-64936={run="1yc07jvagnxjbm9ph6bgrwj2d5il8vl42na0bm4mb4k2zz4yq9fr";doc="1pjapd9k28nfiqgpryq2dj6grv3nxibfazrf5b2s4idmmrk1qb55";};
-luagcd-65396={run="1amdvgfh1s2sz9v6kg8h53jv1pzc012yl27jy30ybjwx7g49i3jk";doc="119c49xkynwxznynn3vyx2v1vicb0ilk6vgsm7jkc1qx8lfr84xw";};
-luahbtex-62387={doc="0bcc5wk361qva3nrgzgl849fbxj4lzmff2r5vabz68fisysbyx5k";};
+luacolor-67987={run="1mbiwswai0sq8wi4vmyrracygdd3a1g45m3qanpams683ik1syal";doc="0aqwjckc7cq8z80bjyl6fz2gqzrwwdvrlilpcf710wlrqc5c023r";source="07dwvksaxidr4b7z7fx68q2kcclhmpilvy1xk1xjjp07s5vgqkkh";};
+luacomplex-68883={run="0hd7g5fg9dbacbkk94zpjk7yjwx3jp70l2ia6wnzx8zqajs4hc7v";doc="1hsr4308z3b2g3g94hcn2cwin3awhhxb1hzy2c0nx77d0byx5kkc";};
+luafindfont-67468={run="0aajmgjbh77mj4qv6d1765bn66qjfk3m1b0bg286lp77c0vsjrpy";doc="0bhr19q4j9fqy7y8mjiz49vjd13s1wpdg91bqfdyx674l5sp72zw";};
+luagcd-68893={run="17nh27fkwjrfpvf0fpfbqcqi00bgchw0zf3iznp3iqmjyvrdwn8j";doc="0lihscgrlrjrc3djqr3v0zwdzwhmlk7r33rg0agasdhcndw5hb3q";};
+luahbtex-66186={doc="1hfawh7vig7jsmd1y0qlbn80x6770q56sqd9rx638js4p5a4di3l";};
+luahttp-67348={run="0nrk066mdzlw8z55qy8w3clpfdiy411mqni3kmn17adp5iswc9sn";doc="1xinhsfcl4xz3xziv0ch0rhgrqqzmrr3hs5h23hdyadayxk4wxhl";};
 luahyphenrules-56200={run="0msfn7s35xhpacx745w0zbr6g5pbhhm4pccd5cmqdhq6dh0fjw2w";doc="0y2rxs5mqyw6cyrmgsqqibsw45qjlzsrcwpd74m9l9d4731nyn37";};
 luaimageembed-50788={run="14xmb1cjqvpqwl33qx7376ndsbkql48v6094r66ksr7vlyap5hgp";doc="0r0w2lzxf4avfsv5s6fx64bw300vnmympfdfzz1k05c5c2kjy9x9";};
 luaindex-25882={run="08kckg0129ksr8pdm0a2yawwb3fa5js3mkp6jd8f90y0w7acrvis";doc="02w8s71qdkxznkmqv7c62dhar2x6ia9zsiwd29qxjf51dpwj3mg2";source="1v09zszin9f4k3gczrfs86zv019l42d6khacjdb3qjp2gg8w9qn6";};
 luainputenc-20491={run="1wsz8aw4dyhiw5p7gyf26lcixk1a8czr06akd1h6dwj6s5vq4vka";doc="0h6wjb0kjdqfrmzikvbddq4w31d55mxlcl5n3phr56fa9i49qmgm";source="1yps04v6fvqspq3rip0c6pw5a5y3annwfaij7w27i53419h83lbd";};
-luaintro-35490={doc="0xab7yymknvhsh4c30xnhrlvk798mbnl9fbf7njqx8mbmnv869bi";};
-luajittex-62774={doc="0585w33mwy9gw01gjnkh9wyxcw8a4vwhaz9a3dx53njgb2s6a4b0";};
+luajittex-66186={doc="1qfbg0r6gsncgymh00yc83kcayd4m7bvryap8f63sm9s9bzfl6yv";};
 luakeys-65533={run="1p4hysck00vgpdnba5jnhaslcbq5cpyw89f1mdn2201dr0nj46sc";doc="1s46w0knvc5k7d5nqvycqschsf60p0qdgswwf3bs987m5vi7jmzi";};
-lualatex-doc-30473={doc="12kg6l5lrq791qnh9gzmfbqn693fpnbp1nn8fddd5ybw6gr61qr5";source="0q34k7x3lwhx2m7n0xl3c0jqv3hzz9zpx6hi5dy06k305qjr2lv8";};
 lualatex-doc-de-30474={doc="0vnmgs475bzbqi14m9sm45cwjfsbvbk45wkb8m73j1bnk7wg7hh4";};
 lualatex-math-61464={run="18m4jab4yy3fvwkn6fyb1qajsq4nl45v06l1kdjimcws5vj0wbv4";doc="0di41c5rk5raf88hpz59syhg330can3gb5s25n2y5c47qj0aph1w";source="0v470ky6shgcfy44b6a1b987cylqiz6rk0dk9qfhiqd6b93p3axd";};
-lualatex-truncate-48469={run="02plqfp0xi406wya3c6cdgj0777m11fzkbk9nbharima6zhsc1nb";doc="0gkgbliv8bzpdk27mkff02v1d03vggyq4nk50yawrimz0k7q64bn";source="159wcqiyb5rs9a7wfm5mj5vcqh4kr9gv4pv6w0d7vfylkrlh76nf";};
-lualibs-64615={run="1f6ws3pfy04flzghcf5hizdpvbj04h4lswmlsj7pdy0cawiyrhzj";doc="09009liv37ynzc42n21h1frp2yy47c06hjclb2ahpqiv3vz9y2vb";source="0m8awp11fzch72bf1nj9llmdx0yznxilibb0z7l7vyf9qza8k19n";};
-lualinalg-65834={run="09jv395dszfya5pzz7ng470yc9q8ncvanazlgwzjynma0hc8jdjr";doc="1kr6c0b86plylk1xj6bvpm4dql1kfgwxq7w7bmf3dq8y8j1hsz64";};
+lualatex-truncate-67201={run="02plqfp0xi406wya3c6cdgj0777m11fzkbk9nbharima6zhsc1nb";doc="0gkgbliv8bzpdk27mkff02v1d03vggyq4nk50yawrimz0k7q64bn";source="159wcqiyb5rs9a7wfm5mj5vcqh4kr9gv4pv6w0d7vfylkrlh76nf";};
+lualibs-67994={run="0h9v05ax34iir2i1qjzqi27qqnw4szch42mfa8mfxvxcmgcjyqpf";doc="1wn6j8fhprq0i1k301p5k1rw5dyavwn1lwvrydf461nwfvahavfl";source="0rchl8c2dn0f5bq94h56ncy4rp2iisr3j9wmp78c1bm22k9xa1f0";};
+lualinalg-68918={run="0ma2na0ms6k07aavahnpfz1wddrjw2zqq0znxfmib50m3nqh3r5y";doc="05lpj7b9bg6w6d3hc20cnqd50m4g0lfbgj65lywnk52klkggiyd8";};
 luamathalign-63226={run="00j2vngg8sqbagyhmjv8lr8kzfsllllmm2gijhxbm8xgf8r7f01y";doc="0b2zkyzy0rq2cfbk205nixvflqcxgc1sfxiqbiqhz2yhai5y87i7";source="1svawaz0lj4zilykjg46av8sky18pwzqfnyli8qldpby4zmnqgvi";};
-luamaths-65400={run="1b1v70z8vz7z0ic74badjywm4a87r7izxryi8dsdr71apv2wv2id";doc="1ba0icnj7hpb4m240ncy6xypr88ijpz1l471b7mv4lsij7p8b53n";};
+luamaths-68883={run="0gcri65p0y9rmq19rgf79jw98i855cl30al9cpq3znp3jjyikfrr";doc="1sv4ygd6ypf0hhcbhydcr1ap7ig26z476i8z0gs5mzfs08rdq5mm";};
 luamesh-63875={run="09ldwjfa0dfhgqv2clyqzd8nzq596h9fz72b1jh7vqjwkn5774y7";doc="0xnk2mcw24v6002v523m7amj6qc4w3h655l1ss4rpwvv6virp3kj";};
-luamodulartables-65485={run="02wc9233vrfzy0v8km0mfv2lalw5gqwcvglc3km02cw880wpqwaa";doc="0v9lghv7ajnaw7sfm2j8bi58aw1qrznp7carmc68avlq0x9d5k1s";};
-luamplib-61587={run="0x6r6jiv2i8mapsxaymz3l2avjm0c3swhfzvwl0z0pqgh2m4wlfi";doc="1dq5bdfxp7iv403dvc6ggw96v4ky033qgw002x4nr18snswax06w";source="140ghg5l9vndgx62zfhs7cx93ibph6hjghy4267f6h4d45bizk2n";};
+luamodulartables-68893={run="1f250s8836j4kgdzii56c0248j5sp64f5wbqkpd6p69wjz7pbrmx";doc="0pdk7x09gmdv0lnwkvdv3scmbgfgpyv069fa4s5hbyvwskbj7fmy";};
+luamplib-69069={run="055wa9l7bh6313x5dgr2x5idgd3dva994fq9ip9bxg9iv1bnxw1k";doc="15bwxh64cxqz1g6hpn8vphdd1z0f35ldiraadqqw1pf9gnf1fgxm";source="1w83x0yis4rddiqm9qdiqjm2ifg2d1ah7f4f14im9h4r5z37bck2";};
+luanumint-68918={run="14z8vvxxivi2i61r1ydq1csbxlm3621y4j9hx3p0m9s1ngcy4ryv";doc="1iss948y9rhg7j6am6vyc5y0s1cmn43k1g8vgcjlzbp8x88mwlwx";};
 luaoptions-64870={run="1lkx7ynl6xci7klgi2h7qbyxny65nca74xz2bhnhch6zm38rgsa5";doc="02w3623ix7g67bz21262i95gn1m4gzvlvn08f7v0x0q5lm7x1f3x";};
-luaotfload-64616={run="1wn9clphiq5j4j28azi0y90037q9iy79gsm063qsjggnfi687zb2";doc="13ba0aqh1nwa43h9zg6iydrky81c45fkwszr0si8dqrmnw3jl4hh";source="1jmvglj1mv766cxzj6bnagrlby2z7w3gkpqls19ic2g9a154i62c";};
+luaotfload-68143={run="0qxjljd7b0r1h6qxmcl9k7rkpkfmcmppg3yy60ids37cf8sgvjpn";doc="0zw66fxxd02h39dhadp1i53nyp50kgcclkp3fgz5pi0njdm02azc";source="1jmvglj1mv766cxzj6bnagrlby2z7w3gkpqls19ic2g9a154i62c";};
 luapackageloader-54779={run="1ynqy88drl04ld2lycrpvjj3cxddmbycznfamhl1bmn01c1q9784";doc="1fn9kqab5hyvscjqmd34vxjkdcr7bapgw7w3ckwvlsslxrv22rfs";};
+luaplot-68918={run="1lsc02qnqw6p2qamx2754ywk95yilq8jvn3vzra425iy675gl7kg";doc="11xl1j11p52zxncgcmg1b8x7isixz4vissfxzppc6ndv5dvqk3aa";};
 luaprogtable-56113={run="16jmy3cvn7rmzf5i03x51yp5l90kmrdy0iqg8ji4z3xwrf0iq79x";doc="1d0k83dyiml9abnfc3b9l4n6w18lgm37bijr8xj3chyv04v85392";};
-luapstricks-65900={run="1qbdm79in0jlifww94kfl8f50bbj1qfvxwnaxkaja0z69sljkmrl";doc="0qixjp0a272h1sa7661skfqx9kazshwsdyq4v38gr4inr4cyc9ij";};
+luapstricks-67207={run="1pzhv15ins6km9kmlmfn6qwypncjdsnvrv0qfqnp4zkbdy0hjxmy";doc="0kpnnpq7njva8lrk9wdj0l27iwkq4vhg2w3crxvnfymnq094gklz";};
 luaquotes-65652={run="0cjikz6739jiqadp28zll72i58s20dm1i0q9kbd3q2y69l3l727r";doc="19597kvgz6ggjfzbdkg9f5rg9qag9mrq83v0xk2w6f2k0n179d5f";};
-luarandom-49419={run="08pmalwh5w1gih9f29crnwqx40x6npizpr8vnjmjfw3iy442gbhx";doc="0kgwqk2mh8c2hkv2x1gzl3a04q7azi0aqcv6ab3nf60ipmq81n1s";};
-luaset-65376={run="145lprp7lf46izmnmhnxja1qpr29imzx90fkl20bc4rbs6fkvsgr";doc="152k6zdgafvyis3zw413hrnpmq0xw5hks5irmiai2d35j34nqr80";};
+luarandom-68847={run="1qg41y50fmqq623wdc7rj17az8k2x0fwgjynq0f6213swx3nz3hd";doc="0lzrcg3vywprj6jksnwr2abd9qj1vcqqqk0fz9nrsrg3hphn6v0x";};
+luaset-68883={run="1cnc3pdysh2xa8jrjn6kx7lx1avpr6x11kcgyhbbzizraara656z";doc="0ynaizxiqh3lj1nnp8wcvd88z5jwpym2zcfvcp28nzwzhvvagccf";};
 luasseq-65511={run="1cxp3x3d346k7j6kh1bch4d83xb5ihb6h9jv8l98jcg0fp6zvy74";doc="1pxx09mvdn6pymsv7959bs5xm4568nzx78g8ikyj6hm00zqphaph";source="0h5zqaz5cvqgy5nghvazncwdxg6cmbv6sjlvp6f6mkgy2plpvbxg";};
-luatex-65866={run="0f93pzv8nvy3xpzkajrrp25gq9mi9mz8bmfpczl9z11ryrpnc246";doc="19ipndmd43zpc2bxnc3wsb8vqw068hiraijzlwvav7b662rbvrdv";};
+luatex-69182={run="0z08r0hjkcp51qzffqgf80df9445xiagi08cs3lyjfjn578z813b";doc="0cgml9jqd905jnwml4bwaqawplqp9ga0qnc4swkcvjmq3fkij8nf";};
 luatex85-41456={run="0ss7c5x0x7sx6lsn1iq6lyyp6w0xb1iy01s1f7zf7mlb9n1yzffi";doc="126y3priwz6anp8sj0296bnxd53lz20nchpxw74zphfpwrv4hzih";source="15bc8g0pgrkqpb8q2dhb6zml2d4jwrripih9898mmalsjixy62x7";};
 luatexbase-52663={run="1zrwz661gilr4iizcfsxwmfr9dgx7v28lypaslmvp3zaf52zl2q1";doc="118azb2x20gyaj42r5w0749dx8rzhhri1nz3szy9vv64h0fig603";source="0vsg8q5k8l66sy3d0bskr6cv1f95lnhap3b9yl754x7ynv272xcd";};
-luatexja-65790={run="0kahg0j2v8nqqlg789kdac1jd99lacr9gb5ilmyiwzhklhywxy8x";doc="1zag28s4drpkmb0zq6lg8hbmlbz54470k421r27lnsinbxvwa4h4";source="0y7vqwj3rpbhrr9z3if1p81k789sjgm5df973jsnbwd7mz4n53s9";};
-luatexko-64893={run="1q6i5mhyf4rl6idh7x3pk3yzr8367nw33vsyc2j69iki8nyp2syv";doc="1zqsn867rwxhd96jgq19vpncbkpc7716xid3hpwjwydbhc64760l";};
+luatexja-69245={run="04vjkw2pbm31zanh19lp54pjq6a12advq8mnpimlimy292kqvfqy";doc="0vwy9fr0qzk8zwl603mv3lfv2md22syk10mv3fp3axyjpchvba1h";source="0y7vqwj3rpbhrr9z3if1p81k789sjgm5df973jsnbwd7mz4n53s9";};
+luatexko-68243={run="0kr9i78a3dw18rfws0xxc7kjd4n61xgzjkdlzb83yls4fyxncz1h";doc="0k69i41pjfqifqjcjw4962yvvgwb07a46igvwb70xsrm8cxgkm20";};
 luatextra-20747={run="1dx2hc1md8csvb37lckxj4987zaldfd73c86y0ni8fzd4zg55s7z";doc="02dl0skcr30hh9wgm7bkdv5zvx3czcdkxv3zdqnasdk0b7r7mqh7";source="1yq5i4v2dxayhfzn1yw987i3zjm6gy4fqckx5kybzh8f6jr9167b";};
 luatodonotes-53825={run="15syf4k00shgi159j6ja182k24xhfw71zk167wwmy57y7kwm5cam";doc="1jcybpcd500lzkwa33zdmsq3svb9hrh8f56j4qgwm9cq4wb721f3";source="01km6y8ajgaaab9j1bdp4s8gj3iw5b7cfdl1yngp41ph22888aw2";};
-luatruthtable-64508={run="1wcj90gpgm5q6mg4brvgq5nmjs3wi61z9hvc5x23b1kickxd9lyq";doc="0qk093wa47z8mldhaq2rkhpkhx3f73p2i89ns66rvaidp0fpifs2";};
-luavlna-64142={run="08fzf9s8bpbc5030z88lj89s84d5ryciqk143afa0z8aa8r1wd0w";doc="1q9gkn7z48jd6h6mh6k4d0qwyq9b2ksyihraflkr9akmy88x9qbv";};
+luatruthtable-68893={run="0pkw1q5jw8id57mcz2sr1mb1lwafara5kzvq3yrkmqp8s9ml5ns4";doc="1i6nplzr640dik1rg668pai86vip0qgsfgizgbd7v4v7sjs24s76";};
+luavlna-67442={run="1hwbf0l2ydi2a5x05gcffw3p9yw8gvk4srihz7rsp6g7yf6qhzds";doc="0wirwf96b50m5wnhfiami8xiw9rr12mx20kp4wqc1bnihxg8l2si";};
 luaxml-60709={run="0w4c8sy0bjacrkfh3qb9rnv9ls5izzkma3fr6yd4zmwjzn09hh6j";doc="1giy76w9p3ribicsbwghh4ckrdijcfxnpyflv59ry0c9008xdrr8";};
-lutabulartools-65153={run="0faf62krjf2lwjizgnc6zrpkvi510pgbdg0wyl2v16qgb0gnrgl1";doc="124ys42c8l4ibs2drn8y4pps94n2010dqvyg8yjrqh8x08ga6h9l";};
-lwarp-66260={run="02aw4d9l0xq5ybx3iwwvb7iq3n2n754n09wjvnqj8flq1mw4wiwn";doc="1m49iccc1ma0rllw11vxak9x3kn8s76vp158ai280pmfspbqh6mc";source="046sd3l1kma119ams6ry4p95r7z556v8yyqjvacvc7z688jsj30a";};
+lutabulartools-67714={run="1vly69bgzq9pxapl7w1f7cppkx5yr5yyi1gxv0488m2z75522i8k";doc="0iyg0vqm675ak5j1ax46zwq9gcl58vr2r861085zzxicw4a1fh5i";};
+lwarp-69384={run="09zvwh3lk9lx3ah5ihv7n90898ahj054id6hyixj0ymcxmjibc14";doc="0dcqrgcyffj1rjf81fj4dc39syzr51ihkwlw41328i22rbaavkql";source="1605c281d4ap8wiyafvsi717yifksrbi9d3jcwrg75cvs9f9ayqa";};
 lxfonts-32354={run="1hl703cxwldq4ams7044m02bmnvm8vkym7xyz9cb8xkaqfyqp8cp";doc="1lfrcfpn9a260bx47nw6msvksjzqjqms5d31nprc800wk2vb8sf6";source="17j1kys5hrvkymba91kp8f1kq5vshc8blv5pm0m6yk6p4kdnfkyh";};
 ly1-63565={run="04g9labqzn9c10asy6nn5s6clqq2cnbhps9jf683qx5di1pabgp1";doc="0l2dqyxd005y9k8xpca04vyzbjxx6vzr7by1yz4qm1dkccnjprh1";};
-lyluatex-66280={run="0y1n2xjgyvima3f882axqgsxyf289vk8r2254svq4fjbjp11y3x1";doc="05k4i190gi43s54mrzcbcdwr4a4kiazckxqwa486kz98w3h45ccf";};
+lyluatex-66880={run="0zj0n5bgawhkw0c04crlkb2m8yabb0r49bysphgzabyl3rvd3i2s";doc="01x3xkqv2f8gvrsl0qj3d2y6bkzmzbphzxcqy6s0f4rp5yj3dw35";};
 m-tx-64182={run="1znv3xc5462jmm3ydrcnfj1nj7dld9f617xw3fl2gdwn083ivawh";doc="0svgf4a6rgisj614py6l9hm4ij7b4x75jn84s2ydbxzyv61bmmrd";};
 macrolist-60139={run="0yrgy9q7bjclww9crxzh3zhnbsmkjwncvvdm9nld2qfmg4spsis8";doc="1161aanidazgapb9vl3mm9j0j0jfiny9fx6il3gbyprw6j7k61ad";source="0b3hc75lwzk9l5nq804qbpmaxd9zlrybqdfyg9cavsvyjrjh87i8";};
 macros2e-64967={run="186qfgd6p825fjnwivvzvvpx1ydiiw4k4lkvs9gqvm5gmas7kcv1";doc="0faj1gxhrc1fsqniy56c35jjzmxbpgyc27ai6xipbdp8sjdqm6pa";};
@@ -2347,7 +2400,7 @@ magra-57373={run="02zwkxc94lzi5wf29wws8ia863ljq9bq9swkh8k8318v5z4dv5ig";doc="0q6
 mahjong-58896={run="02dkqs06dgp74963awkyj7w3in66h91hx5rycix61d0qz4qwrvqw";doc="0cxzzcngiz7796xzf0k1njchhw2p2m47kpw2fhrf1cqijwhw3jxb";source="0ygvmg8c6yp2mwlffr52jf5shl0qh26p0xlfkj39zzabd8jv2ay3";};
 mailing-15878={run="0x2mgcmfmppzqlwkg5jd1zfyvfdjnrvnk8glby93s5nvp6i6g8c1";doc="1aif16654381jcczmfn44k8v8x60clq94z4hcwjsqhai6s441hbr";source="1cx0pq1qmkn6k09x1r8mx7dmpwvdvprmvwj45p1k7mmfcvq2834d";};
 mailmerge-15878={run="06z9cb353sl9q6a7jbvwwdd0zk3kw5xmww0r3sjiqampxib19i9j";doc="1dk2a71x04nbc0rcmd3axhz8yikzlw9ab1nd5k1ki7pmclwkscdr";source="1qkmlfc2dvjhrh2xcypnp9wansxrb9wzvniwfb7sll2bxjcfbs8c";};
-make4ht-66131={run="0jk9xamxgyvwy77jv9iyg0z8bj1cy4cmswf6a8ydhcbpc2yyhcsn";doc="1vhcrpxdf1pc7qn5y3jirq01qni2i1jb9cmvghyy92kzfj88c93m";};
+make4ht-66130={run="0jk9xamxgyvwy77jv9iyg0z8bj1cy4cmswf6a8ydhcbpc2yyhcsn";doc="1vhcrpxdf1pc7qn5y3jirq01qni2i1jb9cmvghyy92kzfj88c93m";};
 makebarcode-15878={run="1ixhl4k89mng2dqfc0wa0fq52xpafp15gghnyx28d9j1163wxr7d";doc="088wkffs4b8y0clgcx1impzbxck8klm32dbf6p1jyc2vpi848irk";};
 makebase-41012={run="1nmlgv76zy1ajfzbdv7hizby3hhciw41s10hbnlbrfdl27w14dpp";doc="1vxwgjk3dj853qbvy2fyqzni2qkkjhslf17xvxskq97w8fcqr13j";source="1f8aliax01b9ir5wzk0bjhqzicl26xa63khx84s9haplh183qk2m";};
 makebox-15878={run="1v2xpiabjcgyi1d0ifpvzcll8y01lzs48bs19nalv37jw7hkrr4m";doc="078bz2pism9harcyb9lq8kkrkq984zx2ya47yhpqxnrd85kgcxfb";source="11gjpqmc6dzccv3yc539ki64hzpn8ns0zzjvanw7afbn5bkyrs91";};
@@ -2363,7 +2416,7 @@ makeplot-15878={run="0qp0qgcli40hd2dxgbd8fv9s03r81dlhh48pb8la9sh28qrb9i51";doc="
 maker-44823={run="1fymg22y0w2kghmqh5pgxkrncdcbbmhhxappc72g5q337hcky0xa";doc="1yz72c1ghqjs06nagngpp2q62gh67c3klwm73bcbc090vdfkw7mf";};
 makerobust-52811={run="0nm751w11p7cqg8ihckn338i6908kcn513644c6a1qc9rg847hlp";doc="0bidk4f0q6486vgwqvifzchkn0xi1l9j65yqwgcdnl3yg6vamqzw";};
 makeshape-28973={run="1fy1ccz3707f8wxilh95k8sc3a93gl93qcpvpxl833mbkamkx3kj";doc="17dnkldg0v2qp3hdy4bw1k48p8xx3v566pm088g8qb0df6kx4217";source="1yd3ssh3cpy54gm0nkp2ah0nqarbnk9hqw2kkwdf96dj8vjlsgwd";};
-mandi-61764={run="03xi7a33b2gmbgqikr40ncvnamacs3f72i55kfznfgxnk1v77ljc";doc="0k66660qc7ig2a8cicgcvvrjyiybw1idfb456i6jrsxs4c5vijfp";source="1a559lvi5lyss1vj2zcq2ajjhc1m3i1x867klzr7xgmcyq6iifky";};
+mandi-68950={run="0rmrsk3i2zrf48zv76jbfv7a71z5688lnq0gdla1x0ka51zfp11m";doc="1rfhbg00vbd5dbz6fi9zj0m2cfxwwycdc78qamrpxb51y3bb9giw";source="0vlw1wm8kmqx3zg4hyqcyvfvrch3pv0abvp06y48dxw2zkhbdmf9";};
 manfnt-54684={run="1fzfcvifh013xs6dm6xq2gpvmf3v0qn8scrbjj3yak2ba98bcy18";doc="15rs74sfnyq2k27bs3dvjiachwamima3q4vp0dp0ic95as2n61gp";source="1v3j47xa7k66dadz8dyy9gm3k4s6465zgqpzb320isjpb77p7r48";};
 manfnt-font-45777={run="1cdd2a3xj00bwsby9z5iz5f2iy2iwsjl35gcack9q83hacbf3ssb";};
 manuscript-36110={run="12r1b0hqs1kqdxvyg8lv8yrsdycfxs03j0lwfmlhbg6lmgz32pss";doc="10dczs60ncdk5z76w5jxgis9m9qilxp8xi53gixki4i82yd4l9va";source="08fpv1i9vz6fbf9vy48k6y45xz67kbqb5f30c8pxbvyzlicixdjk";};
@@ -2373,18 +2426,18 @@ marcellus-64451={run="13blr2k1vk0kwac3chplddaplsjacablkky68yq0wccdrxhbxvdr";doc=
 margbib-15878={run="114ifix2wa74ix9zz1ml9bpyd0pqzj2983h29n3h425yq98aiqs8";doc="01zam8vg63igvhdzf3gwgm3gjrnd23i8ra2cwdj4w44lcvapdlss";source="0qjpbhs7g4qdhna3kmlv4pg5fk0b3xwpwagyvnl91gn3q4aml4s6";};
 marginfit-48281={run="0x8ias8bv1zaavin929782cjvp7aw94r18lqvv10v3vgq20n7kjw";doc="1cj1fidjvvhhzn9fxbvyh75dfb78wxi83bdxnwbpc6rf3ax5bl03";source="0rrn2lrqg3a1yz6l88qkh8sljr18p1wx1vxyrzg04pzj21lw8kkh";};
 marginfix-55064={run="0arldbc20d1sncwanx3szam53yv1d5wxgihj8lm4jmda1858bmgy";doc="0kk9cghi0y1zfk6ya3pfs08npdy7v95i4db5a89v2177cd6z7a78";source="1k1384nxhiywlvyndnvhj6a35q433ddc019ckf8al2b1ngg13y0w";};
-marginnote-48383={run="1vyv2n265y8j8r9ch7h9qjhwlmlzmqx62gc4zzm4zxrk0mvigpa4";doc="1cl1xrb8d7dpr4mwa56664wdkabzx8zr8cn6kxcn9bgl543ka3bc";source="152bwxhnssj40rr72r6cfirvqbnc0h7xnagfrbz58v2xck53qhg1";};
-markdown-66261={run="0zbpykyk4ymrd293k8qr5hw4kl437y7ypbgh80ginl5z3is94fwd";doc="1dlhsa0sprxc8fkdkgc7rsx6icjd5wsa84bkif22biw47r7ywznk";source="0r9f21sc4hvr7gvv5d5i1g127yxzmkh0l0pgx86pqbac21b6yvhb";};
+marginnote-68204={run="1jg3f25jhdywqaxy4qimxr7x0kxjs279m7a3kf9lvyj6igcijml3";doc="1n1kswzhxdx7b47l4gf4cbihvzy54z24gg0sz4syvpy6nq23fs0b";source="15cl27n5q30i70ad91ajflrrcqb5wya1cb400jh82b9k7a6y8ych";};
+markdown-66954={run="1y6gqhcbp9z6wc39704x6mi69wlq3b9zkpbjf898545qi6l08s3a";doc="1y8l6y1wp72kjq4cymckyfywz8nz44rbyrw2bj81rp07i1vl3r3x";source="18s9206jpgwsg9b0k5gfnr9ighm882qcyc67ymardgb2v5hzpszz";};
 marvosym-29349={run="14i2alqxpz0imgdlx03gyg2nn56wrhlc0rziyx93h4ya9nz6xzbl";doc="0qyfyz8qfcchnf78r71fp5p16hmsrq6xf54g5mnwjb4p5ipbd9np";source="0vbiq807pazw2c1ck799w8sy3q8wcpb6smmq5qqw4nqcxzwsxk78";};
 matapli-62632={run="0r6xibqz726d68cli8izl20r4x2ncvrmlrjb711jz82qxbgs9kvg";doc="1cmyrnrijghjm15lhi2isza0dishbll3k4hpzq84jjjbcbs4gvyp";};
 matc3-29845={run="1mp6k50lm020xqrq2vwl9xyzr5jwp9p85c6ng3k22g4rqsxhrb3c";doc="17xh063gahp5m83vj6x8waqwvf4hrvg3wi80z70r94bag0nqqf2v";source="0pq4l1ays56ry5v3ig76h49kn7hdk1gi0wqx9b29vkdvzmzrmq02";};
 matc3mem-35773={run="1asybbjj93wpbcn577cqkbfi2bkiq2hzv5b2lqs31igawaa0vdhg";doc="1fgngv22falzvrsynzzj51jaf4gfcw88jwbljywixqb9xcg9igcm";source="03x6cm78yhgfljhcfrvn49favgf6h11w96s9agr96xmngzh4z40m";};
-match_parens-36270={run="0b0vq9lgr9xxwvzvlhlky7fg66r2y1qhikiywddkd06rmw71yvi1";doc="0i8dnjn5kfqhp51i255s3q2cd6jwzqy4rfdrhaxl15dhj4il9k7h";};
+match_parens-66681={run="1cp1qidfxnrhq5hia9z3nm4ij2g0v1rxs4g5fb8srmjpik10ss16";doc="0c5lcbkp4f7c8dx2nan6bv6cwicgk1520grbxs5k3r21sa2m9p8i";};
 math-into-latex-4-44131={doc="0k11j92h9hpxnyciczknhl83b05avc0rqdnwn82ssqi1k3qixibd";};
 mathabx-15878={run="0x0amwdxr6mh6j1m1q6wawljzjf1683xp1fxfqyxmsk0spx032mn";doc="107fimmxvfmdjdi1rlk0h0m88q1dbc9q1qwqhx1fwfjwdn62kvsi";};
 mathabx-type1-21129={run="026pnrn2y7zrl8qfhjv504bjk114z6kd6ich2ic97l5f3lhl9nj2";doc="172dhvsqql6fk2hfqcw19bxsqwqjfd7376a5wwzcvdgvx44s294v";};
 mathalpha-61089={run="12fsn6wsgixbpnay1szkmv16a2wfsl60nkcbyjksy1j06gr0yf5p";doc="0ryvikvngpgnqbcf5mp4g99cg0r72x53p7q6h333vd3s2qjah7x2";};
-mathastext-64930={run="0lwjqqbkjzgf8lwmzv41pygi81jr6a3v5lbw2ymkjlhm8lcjy0ip";doc="03spq8i9sq6lmnldrxkc785w5g0dnmfhww2ngpvz0l994j75q784";source="0m7sfb43lb7msfdf018pl5kmdv3fld57bs5g6fahsnq357jk5w79";};
+mathastext-69237={run="02zjad6562mfi1lvdv6ha0var1p4shgfq325c8x7dsrnl12v788m";doc="0r7f9m237crb9lw5yg5gq1d20113fq8zpcf0lpr9s4dix84lyvf4";source="1ghh502n227kwap1ij89xj0i6jc518dvdg2cbsi5zmqwz7m1snxk";};
 mathcommand-59512={run="1mp9g6q271ymx59rq9lkdaadi7dwz3p1d0qi1495rrn5d9fpccgy";doc="1bjky5x3bgrfmfripn3dmabg0bg02h6xpl3s6qncqgxs0bnfz2vs";source="08l3gbrxw3aa028820iv2l1r5alnvzd2wjx5fylxs9lhrwhbmq2b";};
 mathcomp-15878={run="0ciipbbi89n9aakg86czfmasfnx0k6rq7f8v0wkxk3zk2m441cb9";doc="16q0b81y748qnyc2gycrb3jhw1i5yphmf6rpivwikzpk2nrg3ndv";source="0xdivrbkhn1fh75ws54i2vxgx3xqaqkpfjir5q84vwxgmxfv4cja";};
 mathdesign-31639={run="0jd7xfwavfn4dsss35splcxrqj6qwk18jw7qgkwshpifp7m79l2v";doc="02fsi2hinjfcf4pb0r1d0r82s50734srpkk0i9c566zx3m52v2vf";};
@@ -2392,7 +2445,7 @@ mathdots-34301={run="1wbxvraw5lp77chgzslrrz022zgqn2fhmzk85cn7ggafip1hr9s1";doc="
 mathexam-15878={run="11rn665k5vg9w9rfgcp602v6cg659d4c22gikkgjpslc7bzrlrkh";doc="1lv8zdp1fajq1nms16v3nk7f0bc8az525nnjjjzags4rpl8wkzh8";source="1p0lalc0ny1zb8gc4bbg7z9pm6airbg63l1k0qqmwg10wvxpsjn9";};
 mathfam256-53519={run="0s97k46ysqvgs6a8aq5q8iwab390s90drd3g0ixd8zmv9a4hy1z2";doc="1zk42fsknkbzyx4m7xn3yjw9lrdvf6m7crnqsp1q7qb2nv3hn1br";};
 mathfixs-49547={run="1vvyka8kilv92hfsx8ahb200cl50kp1r4qdiaqgzkjag5kfxy1ka";doc="0gbh6yicv1mf0llfipqymy930zpq9jqc2ix2gfbjdh909l1y34rw";source="1k49pdi4kivk707i7fb2banj0qaqc5qx8zl2l8b41i6q2ir90a4i";};
-mathfont-65205={run="12qgmpv5mb0w138cqq522bxxiipxl57374dmj7hkxwffc309kvyi";doc="04nkvswa0xllh14h1iffdqbisvlmzbg9l10p0wc3bh115kcy89fx";source="00wm7bjn8ric0jccm08piz5z0azi2gyv7cqcwsxw3lcrmd8rb0ld";};
+mathfont-68241={run="1yh9rlhg8lk4a4haaxlyaa76ij0i6rb4zbk6kryp71ks6hyq7vny";doc="0wsmsimscrkxbyx1mkjlhkiv3xj66q8r2fiwk8bspx6zbdr7fwyq";source="1z7k0x9gcyls65mfgn30dhipqwfhn78hwx51gxvrn7z45w4h52di";};
 mathlig-54244={run="0pyaqwr2h9knxf1axi55vm6wr9xj15d5j5pagb2011k3b830f91b";};
 mathpartir-39864={run="1a934cglbiahnmqxjg2695rmp8fxlg3m19zka8ayc743ckv92prd";doc="1aw9sbhgca7hnshkd2vyzf5lrq2xql25mwp9qyishkzq9ayv7p13";source="0bn3zragwja3hh32fbrsdsswlf07a8i6qrpnv2c1c47m86xk3764";};
 mathpazo-52663={run="05j5qgq8fralghp5wkx6bha1cm59vha29ppq96nllq2k2nqhpi3d";doc="1z76cb473nb6r0vjjxjwiymnk9wsf7pnycc3ad3ba4vd3yl1827g";source="0lmyc1q7jswlhlzz4fd6ia407jj4pzi7wvmrcgfyw20j2nghfcgp";};
@@ -2410,7 +2463,7 @@ maze-65508={run="139hjw2asv21p0m7qrpi5liikgf68kmk9v214njh107gi3cjl59w";doc="0h1l
 mcaption-15878={run="0bfcl1swwgz83y4f80a1kydmxhdyqxld0d5cjfgxfhnn9dxp3wc9";doc="1afldwg6dghvkwd8gik8dmag4g2pb6ag3aks26qi0ygph05j9cwz";source="0i6sd9vm1pn9h570am4lkr2br81bhmqqwwvymb8r37xpmmp9yvsk";};
 mceinleger-15878={run="1a16g83g9wd5vdx70bq8zbr4hwm8fk46dpsna97r9fgh44n85pv9";doc="09z7srskh57mz055ywyxwg4zcx07vq36jdy8z9w6w74af4icpll9";};
 mcexam-60481={run="0ixgrxw0fzaqbkif05lvd3z6zlwhdlyhfb372b98ypyfp7f7v1mf";doc="0wi7zjiw93hv74scwz4w4prmy00x6n3ncwfrxjyxn2p7i2hkws6x";};
-mcf2graph-65666={doc="1pji3d2mllfi74kalvs11h7yy3hkm5g5nlmcpq2vn7cxjbaqk9sq";};
+mcf2graph-69281={doc="0v5pw5px77gnzfx5cbb818ql1gi2l48f62j0fk61iqav02svr4nn";};
 mcite-18173={run="18did9achsp32k7wq4q75a9q43jxdm8k40q41j242gndnkn8axw1";doc="1gdsa91a4snk3f22mh06mr811b1kb0vpi30ss84d3mrnsvd1p0ha";source="0q1bv5nx9xf6r1fvgnxb1x720dm0xqrqg3kya0504q8qb0kgxqfj";};
 mciteplus-31648={run="0xbk5zrd9mbk4xid03j7a0c96s311rb1vjawhvk5waqw9y6dn476";doc="15aldir7viryb2f8vi0a83vgbdwbp5gcdg0slhp6j6ka6xv7ayhs";};
 mcmthesis-57333={run="1pjllpvmqva7yk4zi4gl91blwbciw4f0fhq7rjc214iglyghl9fr";doc="0np4zsrlb5xxlwc37dldrcawd9ldmjqgq1qhbpdz639n3j4gmnq4";source="0acxvqka48id5fhr9p07qh01h44vhq3kapczr0i49pyn2ihibnyk";};
@@ -2426,8 +2479,9 @@ meetingmins-31878={run="0za2aqj7gbmxxdm3hqkq2sqkhl3c1q8a3s778hw164dfpi8jx85r";do
 membranecomputing-64627={run="0k8kgr6rlrgpmmylf3vjjjiyis49lm1r1hnvb2m2k3481gfj7zfz";doc="14hk6rw8fj040vwpqhqajlbzlp7g3c7szprssxx148j816fgi95c";};
 memdesign-48664={doc="0aij1b7l1kb2x44qn33m39k0kbhdrclmr25nmvzfn6yw42lh9fz7";};
 memexsupp-15878={run="0h3n1bnvyxr0ylg05fm819lzhzd7kbip5p5mr9kc5af8pd6yci9k";doc="04zwmw6varldbg5cxzk4bv8mbh80i9gdysfxpn1i4xb1la38b0bf";};
-memoir-65040={run="18870fzwf0klw8b4qxsixa5rh8hh13c02n04z39pcsm7s6dz7x74";doc="1rlmvfvngvp4vg5jz1x5pdgm4qi8djkml4p7mzgxygv28lh1r92r";source="06l2xi652c2k57qb6cidf8jddil1s8r5adkbr8sqq3nms097izrx";};
+memoir-68004={run="175f2przjgmmqz7c08f5v7rrz4w54q594blddj4n1372dxgg9fhm";doc="092mqw22np2ynr7g20192c4k8pcsg8qg9g3qx3k8kgds640afzxn";source="0xvs80sm4i9nnjll2i62g8gn4lkkbvpbhwzw40cpsg6n08hkihdc";};
 memoirchapterstyles-59766={doc="0jxd7sbh5vc3j5d5jd3zmyg58kwhy550l5z8q14b4msm00fp6z0a";};
+memoize-69285={run="0q797wprlvapf4a4wiwbkivh4hb80iyy6mj7q5hlwqqvpw1gw3lj";doc="0g4fyf723zv3rbwkxddvsxh22pqljra0g6r1lf7iz645501y7q94";source="1vmhr1skp49yb13pi7lgqn89wlp8xv7w3cj9zcfbw27xvn3x6235";};
 memory-30452={run="1zgfjz995jbji8hycizbp614dn0g13rimh9csgrga86f1ivgcpmx";doc="164nnsi25jk25p3kh54w2l8zk0rri50p0s9g4r5f50c3wzxi1g4h";source="0mhxxhiqq5miqskb6c4hmjdjki280yyin2dh0md59ai1aprgd4p7";};
 memorygraphs-49631={run="1ph43wp3h3pz5hh6dp3n6dzmmbn0fw11w3v2fjf6d07a73jqh97j";doc="1k8gppgv5kkx7i799mwc9iclp2rv9hgdk2bwnqcyc3j3rmnpyiwa";};
 mendex-doc-62914={run="0ab3hrln124gwvgsszd4l4jjrc705x3wbnmrrf27rx8p6fcwwrmw";doc="00m35j5wkcsyrgp0h8mf6cx30bjlhv23szmclpls70af2shcmzba";source="0sqp5s98lzdjnvpvw3hkvclrz98xzx6v7zrlag9m1im7k2ljlcvy";};
@@ -2438,16 +2492,16 @@ menucard-55643={run="13dirr45ysvi196wgsrdrcxspynzvrk88rdacrfq84l4imbsh683";doc="
 menukeys-64314={run="0039xx0qilmji8ch0i488hx5rnhf1brk6n5k0c7vg7jjs4xylq7v";doc="0a6fnclh6gd1n0f11dg23gykhsr399qmplq3a43wqqgichsn2k2l";source="1na3y08blykp1bs4bqrjx1lmmbiykfly00n5in8x6h0282q031i6";};
 mercatormap-56060={run="1gw28rgsdllh8h9cg70nayj12aqw356svv34lhvfj5b52y7ykabs";doc="0v9v54qz9m9hnfid2k9xl7fwgwhjxnk0g7wndxypd73b63mvfhpi";};
 merriweather-64452={run="00sy3iyqigbmjz7v6lf47f88mpjwgkbhrnp59x9xpaqwming9fp7";doc="0z3k1w905vlawv5lrmc55q637bfz17cjndlk4gh868gqv5j288v5";};
-messagepassing-63116={run="0kl0q70004m64ykpbh1ravkw4ywajkfaxq7gicb4y6kz7navzbzw";doc="1dll59aw1c88cfqp45hrqq0kfn1i4kj7252sns38wmblh54r6g0v";source="02dfkdjkjhw7pplc1n109rwxng2k2i2dfqw1v894r4x5whfjj76q";};
-metafont-62387={run="1kw37drhnk7qajmivvjwdrh5awns571wclv8b354zk71axf6cr35";doc="0nmmkwgbx32cpiq6bzr1namghqm7yyc2a7ghgsq90fii92vlq824";};
+messagepassing-69123={run="0r8qfwyip83mbvmfgvwrlypms90g4da0qf2ka26pki9r3cn9syvj";doc="0vicxdrd51gmk8627k7a1n83ldj0kgrzaxmwmg5y99n619pagxr3";source="1im9h7n2dpqdc8hlwf65m4ss8y9k28iaw29nf0pnlh6qabzqgl7x";};
+metafont-66186={run="1kw37drhnk7qajmivvjwdrh5awns571wclv8b354zk71axf6cr35";doc="14fwpwp4kf7x7amhxwjng2b5qgqarhrg1dhd7zds2xxmbipcnxga";};
 metafont-beginners-29803={doc="12hhvlnvh8dj1396242m6yi0341cina7sxrv7pwzqxzzahwdvmgm";};
 metago-15878={run="0km18bf69rf3rs42b0azc7i8bypy14201vk13yf5ahsypcjcgqns";doc="1bx240q75pq9v23gz82i26vrp7z4cb00f9nb3cvvknbndk8y7hy2";};
 metalogo-18611={run="03crm3sswv7mz5akghqvkq1zpiy9jdpy32ivwwmf14sfrrri2cz7";doc="08vgbmjhynb4ramaj68i27hpgijg51j80lm0qf1jrfpapz7lrzij";source="1ak8qbcbqgirljfwhq7ylxk1w2frxfkjvadjq00cclj007idr3x8";};
-metalogox-65448={run="00511x2mp991i2saykw9lai57dkkhq7rsz04691lragcqwpixkji";doc="13jixny6b529c1hvjav033wclz1z34mwgaay7rvnglgq9jv7m1qf";source="13nmr1swjpqzzdzb53v28h7na53fhlalp925vdd752lcq17idc5v";};
+metalogox-69401={run="01bz9kp73cyf89fjqq8dcyr4fi3n4h7m1gkwkhm78grxd2wghar3";doc="18vmy8xkxjm02jqnsza88z01n9qz28scm3mm4c00bd2y9a6ablzi";source="12cxqikvlk5vg7mgiisi97i4b4nwb49ymvrja43in89glh50ily7";};
 metanorma-55010={run="17vg55m4yj3xcfgvmm2kw8a81fblwykgnbcn65drll10b89wx6xp";doc="0z3mr4aw6gqdj4621dlghb4bsc5i44mlg81w81by98783fn4xdyl";};
 metaobj-15878={run="07p2r8975ps1ricqralyw2qz1zq5lmaaf50xqd68qwxmgrs3541z";doc="17kqa3h13p9vba6sa5s29v29gkm0zbm5wngb0zx1lxwkpkgqaqv5";};
 metaplot-15878={run="01blkf01b89a2f1c7fw6dbp49iw9qw94krv1hiqg7ckkj8j06sp8";doc="1fm27sy0zz3ppzz95bngipkq4m498g409igx4xcbkmqaghci1pin";};
-metapost-62387={run="1sk771ll9kv7sdrgg1xp8bmr1c0yd8g2g796pzyksfrjzbvs6fdn";doc="0sf5gwamaki67dblpnlld1jd3zy8kxcy48qfmmn003cs1zli5n6v";};
+metapost-66815={run="03ryd794cm4srjmq6x0vly4jav0w0j5p4yhvlqvsnkk1qil74nrv";doc="1ihf0m9p73k247mj90hns4afdqxz25yvfbmpxrbzi4w08q5rdxxk";};
 metapost-colorbrewer-48753={run="154yj9pmwlmdq91kw5xllqah7pkccayv8r1zgvlqgk472x66zrzf";doc="1y0ml5ldridhcg8k811dqq2dh4xsx48cwfkliygq0q1kkl34vdag";};
 metapost-examples-15878={doc="1rslyjnw27b5br17cbf6mjjkcgyr49yav4kw12spm3vdwyzb7gxr";};
 metastr-56246={run="0ci2qs1iyyn55zl6n12yn20xsff42dim744sjkxml7xad38vpnkz";doc="1jhvf4xngi5mjycbrbijn72p8anx15r1n6vh5hrjai95xp9jn88a";source="12rv9fayml2kjy7rmdh6d7g4xr2yg3r5ngky467y663p893nxk0w";};
@@ -2457,6 +2511,7 @@ metauml-49923={run="064cyc53izb7fqc6xfk7pygr2k7wqivx29rkxzrb7sakafwmnkq4";doc="1
 method-17485={run="1aafzyca2l34p8jxgdhwm54yw16znd1085lx58wrm2fjw727946k";doc="18sjh2kvy1f3c72w6k2m60jf60zbz7bz91xgq20wjigfagdmsqkd";source="0ckvvf1h80mlzyqbd12yagfl8hph9l7k35mghr1ri4k317sm3ls1";};
 metre-18489={run="0vfb01vwb6x5wf4sq5j1rrl3jpzw0mwfqy1jkkirxkhbim5gln25";doc="0zkr3wymlzxnk2n9h6nz65a1gsg0k4pfabdrkc15wfdn0yczicj1";source="15cvprv3zg5nfsd5l5sj2s2hgx5gljn1jqzgcr4lpadpans14pkx";};
 metrix-52323={run="11hcw66f3r4rvxy8h0znwgrdvlfvibc6j73pcdb3bvyywb3774gz";doc="0hx74wi8vf57ly8yrzdq6x5qm8l5gi9km4v0ma66i5v40i9jwgcf";source="0i0xzmhqbs91qpznbanlhrnqvgxc45llk0wwb4mfcvmj622d47bp";};
+metsymb-68175={run="0b306z77z64wzk5smm506xsv6jbr3y6ajwia12i06fdynx4jajp9";doc="01x1qms8mh1523vpc8ky87x2zc05m0gr31qwni60k3byx9zi9blw";source="1g4kviik4qg9scjp7mxaf3n6kzdm7z666iqpbyz6dmkgsrsph99n";};
 mex-58661={run="1azsp6n01qhph2my75r05sby7r3lsafydsxv8f5532dkb9r86p5a";doc="1nkr92d761c7yfb9aysni3ihidzw334w4180d6r15k1iwinrn2al";source="1nd7p7ssh79rrpv5i0z4246cv4wmjgy3by66bbrv7w2xhmh5819k";};
 mf2pt1-61217={run="17kjgjbjvwnh3cn4cky3qj4kaskiis4h2zxd0mmq5h87qs24zj9y";doc="0iwnr02wbh36q9nfj8jxc5d5kfc1wzap5gspix8n5rl3yzi9xgk4";};
 mfirstuc-64743={run="0bxy961jghqcyf4pkd3pvgri2dq56s0nnk42ar3vyha4lj0pp5cl";doc="03nfbjsk5yvjzn5p58rq2s8bn4a982vq7riqdj9glr480cmzbkq4";source="0i8wfvdjw1vmvngfj7mqpahx1c8gjigr4y51yhz2xsrxhlpih5jh";};
@@ -2467,45 +2522,47 @@ mfnfss-46036={run="1m0yza8nw5r3ph8k5nihgf93vf54cb0cnw4c5gkqy0rsd23hk4dd";doc="1p
 mfpic-28444={run="1r8xq6npgnlvcyimi0xlqmqa140p94m5x832x0nfm9d550l1zrgi";doc="07h8j6afl5sd7hz4gw0rkix1c39vdkg8376jgi7ypwvk1xr0wgp0";source="0ynnc1p2xihrwzfyg46dljbc2f28l152la8f2z2y5zfvd08ir49k";};
 mfpic4ode-17745={run="0jdqbdi2gqb1v4cqahwss1rj44iw0753cq262j8zmaarski351a0";doc="0sbsb9lysz6hysrpf9dfgm2zn5qcsv7aaf5llmy9kan0m4h84afm";source="0iya4y3msmyq468zj2msq93xpa01044kmnv4dspz1fmh0324iklm";};
 mftinc-15878={run="0yhw7zpmbc3780qm46p5sc2qq71s2vhmfmi3kqscck876h4935fy";doc="0yxpbp501d6vwsxpm83zjhypvz3xz51f91q414zxjvsy1cvvprr1";source="1zamx3658d8vaik5w30hvia5y0hp119vhvqhj4h5kkwnwmz8hs45";};
-mfware-62387={run="0kcz1gy17819w77sf0l9m5f6rw8dcapkdbvwaknnrmy50v0jfs1n";doc="1vwp99yl33agqrrnz555kd20wmsjpx7cs0cbdwp6dk5iqgw8v6yl";};
+mfware-66186={run="0kcz1gy17819w77sf0l9m5f6rw8dcapkdbvwaknnrmy50v0jfs1n";doc="0z3djvzs8l0w1j7h22hc19r2i49panw7m2lpp22lshxybsibr47y";};
 mgltex-63255={run="11xl6nw76hana2mdcq7m4h6kx6zx91apxcqkgjczcw9f7ip6m3cl";doc="1939pnggbc2vcvavilcssf6i9j36ysv8k93f0bz1rgn2krja2d22";source="1pdlxf2qfyzm3pjjpl0wir4sr255lqnspbsvxfy7wz78aii2ik5y";};
 mhchem-61456={run="07dnb38z8p5a46fp8rx3nqhqni0lwg48wzi2bc2nxb4yb0wlcfai";doc="13b1yc9zi2kblrmmlrg43arxg45g7y2l8kd2sq64jys2nw7sq17n";};
 mhequ-64978={run="0zyp8x8qxjq3z6b8dm3pgls4z9cr03qiqxlf6d55ylnqmdd68w68";doc="081mavy3495k4ciqvxd3hzkb2bs7m0s5jm8lx01z85p568bw5268";};
 mi-solns-49651={run="1bv7gr2wa11cbsznz414x35n5yy5jw7q9kngnb2h5y73v8bnzvc6";doc="1byfb723572whq315zwybwm1bcvcn49km80gn5bi081gy81r75hw";source="12xrddxlrngjnk0yk35spk886yd9p3nnz6jrp51dfzw1xz6pkivr";};
 miama-54512={run="0138r1yrv1880nmcpgcgb80nzd29xchm09s8wxb53j71q0vvdswh";doc="0dd32q8clxgkd7cdk0699fzplnib4waydx9y9i33lxxwjkfnfsbl";source="14d7ryxz6q17jn94wlj5vf2hzif6i08yjbxh5z7pdcgrnl035gxj";};
-microtype-66590={run="0hwwx5qzp55pvnb1c2h0ia8wp7gm4pniagb2wvg6dz5l4hja3fj5";doc="1bqr4ggi96wbmrd75mfnymkplnbwscizmf7kkfhd29jz5hl5x2x8";source="17gdym7f8851w06y0h4hdz7s9967i6x9awhqgw0i4fi0fafmyiz0";};
+microtype-66587={run="0hwwx5qzp55pvnb1c2h0ia8wp7gm4pniagb2wvg6dz5l4hja3fj5";doc="1bqr4ggi96wbmrd75mfnymkplnbwscizmf7kkfhd29jz5hl5x2x8";source="17gdym7f8851w06y0h4hdz7s9967i6x9awhqgw0i4fi0fafmyiz0";};
 microtype-de-54080={doc="069d2f0jcg9m4fv8dli2dr9ags9gz6mkwy6fzz37ns4jzrqfsvwi";};
 midnight-15878={run="05hzxlzr19snz16sddzpyh5f7vvs6jcdsqyqvqga17rr8y04sdwz";doc="1ky8k2ys88n6hn2q9v9gr71g772gm5zvxlbzmibvajq0hhqm41l8";};
 midpage-17484={run="0hh4r2sgdgzm0nryzqymd66a7hr74rvcsn58y7dc7di6mhikrysn";doc="0jfw5wd6qbxhf90mpi8fmv0nbazkbg9h65z91613j1ynqqf0087y";};
 miller-18789={run="1nk31l9g231c3dk70fqph444z9x5rdjy6g7wazy4ygl3q4gfh6fj";doc="1vvxnbbjn325y9s5h7qp6v2z1xy6wwppwqv6iwdak7mf47gww2gf";source="0jpyvjpaqz1x5avqy1dzf22qwss7ksbp917ncmgjdxhj82jhy2d7";};
 milog-41610={run="0v5rxsa182n28dzd3l3y4qdsz6rinv3r6p94iy73r26j7jgsqd5d";doc="04z8ya5gba7f5q86ch57zqbiz81s62hpdbn7b8jmkyy953g5l8vb";};
-milsymb-54361={run="04r9xbgsc8w783zf8nn5d6c5fiwmzhlqdw5a36wk7l9ll2rvbvgd";doc="14wj7l4bykfy8nsayl105g61xc8zvnrvd13mbcd1qv9x5j8vvp4d";};
+milsymb-66697={run="0m2rgn3am1idrpmjply52v2s8frxgbdr80gxiy69fdk2psqh6lcf";doc="0cvy530713p15r8kd8rb34rvmryk5mkz7f519b9jzgl2i5kcsadx";};
 mindflow-65236={run="1i5a3jnyi07sp6zz3cyyyyp8gbimy7ypvxsg9220cyws2z65d7zm";doc="13qpcy8bwywvn0yv8qsi1wmwzlhw3yawg5dnb97mkj607cj7bzhz";source="02amv0fn4jk7k4x7ammi1n5y8c7b18hjs93mm6zs1pxsvxzc0j6f";};
 minibox-30914={run="0r94l5sy4n97p895xk33ir3dli1ngy3p67w2d3i7f6hi6czvykm2";doc="0bzd55wkdxw8spw4706nj0sk478zbnvq9cnkpid638cwb6csb21c";source="1dm8p6rjivm0xxa7px5dvsnrqs48zwn2kiq3vr6gdqmiy0ld1v93";};
 minidocument-43752={run="1mrzcxa59kpmrkhnnv08z7h48bj74gk2b0q3bvhmvddd6047yxwy";doc="0dl4l8skhz7fm23mpmgmy593f34w78mm5qwab5bc41sg0xc0lyy3";source="1n0qf2r1mjp8vx3s750fw5h2q51pp3qxf90gds8bzq2cv6mi61sv";};
 minifp-32559={run="1vpq8mh443hhmnf5cgj37jm362m90zdhm55jzqh1x84dadqpmivf";doc="08f3hp3knyc37a2fy87i11q62dlb35ri197gxm3ghl5h28zvzpfb";source="1l837v8c70s8x1xn4xhag6nkfpayamgzk95fb23qw23xpf6zp2wv";};
-minim-66396={run="16nv9vgr49ixq01ai74wv744x3pzpr3b3wv7qcdcw4pwq8hp97s4";doc="082zlxjrvxrpgxpih8127iygm44wrmhlpl2hxm2ayvq5wckizyva";};
+minim-69352={run="0ny85fr9921mdx8kprbq9q2w431g33yyi2zadbw1p19xsng4xy0v";doc="0lv17nf3lvll2bb777xkd5d0mpkrd2ixhqn32448ilczxqp71qcb";};
 minim-hatching-62395={run="0raih3zsaxpas4myf4m0bmdxqm1av62cldjs4z768nndkv6xl1iw";doc="0bngn9d24w77dxi1s7ad87gi27m48d4jr2j51cpmmagfdvlqnfsi";};
-minim-math-66396={run="07hfmdq9gqk7nynic8yn9yp67g09h8pj24l9iabqxihvzhcqj2v8";doc="0xabrj2xc7vd3ic379pmbnc3rfs4c4j2fq87r8ynx1zbd30xpiif";};
-minim-mp-66396={run="1i6g9ll873gipb70jgbxr4gsi3fg1jvams8iknjsgx048algk08r";doc="0m8gvdnf0bpih2f8vmp2ixpxmmsngd3zj6zyqvk5823dax64148w";};
-minim-pdf-66396={run="0cb6yv165zvg665hh09sc87v4v45zc8jgqf8waiik08x8a1p71mr";doc="09nm0qs5a27jcx6g27112vvw6bwwir87xpygc6s111vij3vk0x0z";};
-minim-xmp-66396={run="104w7599qfvynh0l0hvm88nh0mq2zr4hzgjmnmf9f4as3ab28z25";doc="15z2r82mabdahgv6wbrap2pyqa9clhnq4al3qbyg1ks77pj00izp";};
-minimalist-66447={run="1gbv41z0kzfg43qvll1mq6ri92fjz2al52sxffmn963vwkl5awzd";doc="15x329zawlajh05lxx2gk7nngk7g4mas80qvigawkc6psixqi01r";};
+minim-math-69352={run="1fa8a3jq51wm23ivmb5n6hrcbyxcmhb95x08n4lmhw6x6qsr0hj7";doc="1dpilbyr9hdik1lp5lm860hjk7ni9adwn3dw82pasiipqvy8qzcf";};
+minim-mp-69352={run="16cb8sqfw625nx2zw0qclskw30zp13c5hcgza80ghvvmmd4ixpvr";doc="0nmg25mmk30q15vpzzpmiwc0lwkk7qnx5dx57bp7wfq5w08jc8df";};
+minim-pdf-69352={run="03b8awx6kg2j49485arlzaz73kx1bp73iq9mp5fh0jj45hxvls5a";doc="0qjwpff43h3a02v4qsk4p2v995kqp049n4qg0nd0g4hx6y5gi2l5";};
+minim-xmp-69352={run="1pyf6qisnkh1600ha6605if690715qprhwrakygq71gl0ak9xl00";doc="0vyhvy71ajr2d4dii4kp2inyihra85xvmqjs1fzz1am5hbqqmc7l";};
+minimalist-68552={run="17fpzv3x25gkr9z62mycd1pnv7fqp5hj22ax1qy236ckc02abc5y";doc="11656mg8gcbj480sy5z4avrw95f2ihm4b5n1a1s9qdaq2i6y97rz";};
 minipage-marginpar-15878={run="1qpymibkrwdbyf2rlvfjj0g8agxisd2ym3xi7lzx3g953g5whg5r";doc="06rivjd4x8mdpzv9h1yzkjbs317jvxa78zbv1kzyia7fps74wi1b";source="13k27b7avz3v2jadjh84w74rsyh4gz2x22b8j5lv6yvrjnwv09f6";};
 miniplot-17483={run="1hl5nd6p9c1xhm1kpw9sh1s81ymdy8lxfn7wh1sdvildcvclvd4q";doc="068s76gnva6rsnd7gfwswxfam56dbiw9s9ymqr2hcqx7i4dl87x4";};
 minitoc-61719={run="0v80ga66rg4cgifmyfa5vq52v5wz48lj4js0ym9197x2w98ra6ry";doc="07dah8lz54ccvrgigrvgcmbj76ppxaismbllfwyxcgkrkvqzxqkj";};
 minorrevision-32165={run="1mcgql832xmgpcwha6l0d282mhyva6xmyf75gbb6inwbgg6qkv9m";doc="0x9lw8xzmnn015n9hyzajnl9gicafj06gr2msk6vxwk136ayqfiy";};
-minted-65252={run="0mfammsz8hfcli0c5z99jsf4jsl7kxv2ykppm88x12g79rf164l8";doc="0pdc0gnidqc9f8cz8q8gfiv4y9r398n19f82agmdw1q19zibcfg0";source="10fqhx36xwgy62nvb4yc62andzxw667scsyff1kl1kqxrp6jc14l";};
+minted-69163={run="0ksd9lcaqvpncs236vczpsxq1ymx7xxhwpqix4n7yidzyypxnbix";doc="03305wk872gh9c3pish93spfxnvpawcbfjb1gbpbrnjvnkcq92jq";source="177whv7b60pmz0a2r178dw76s4bqixn0zpmr8g3c91gd3q07amdc";};
 mintspirit-64461={run="19jvqcydiwwq3kv5bq6524wsynj52b8mqm3j3wn108z7rhnampg5";doc="0mwrnf6q3h82qnxk9gy9ns12k9lr61z92vmlyx2x745i8ra7b551";};
 minutes-42186={run="0yc7dkvbn0g7gm07h9r62ma3aagbgparrlamh462a9ckdc7jzivp";doc="1m8blswmxhcm2ya966ajknx9arz3yh1sn62wnyxls220af3401ss";source="12qvfyiscs3y1wk3r2mdq7vgkmz1ldsbg3wz4agib97lc30qqmif";};
-mismath-66400={run="1hzw4v0my4ajg4v4l4mfk5gbg1w1c9amml2a43syasirrbdnkird";doc="07qsn69rzvnhwck1cmznpdz52nwh7025m6yhw3iz70ibw9pcbdzn";source="1f16dsz5qvqjypidwifq0hilhkzjni128is5s34hh9vim9jidxnn";};
+mismath-69169={run="0ryb4s3gz7c7q6ya8k6jj3pcvj8x8nvvwzlqydf2lr3c7aj6k8ij";doc="12v70qldkhfachvs05mygq6hzpxyvkshwrncnd7s88r8hizbjlpk";source="1s1l6zr9n9c3g8a0icwd8rha5rpqrhqakmqfwj89z29drjiliwhh";};
 missaali-61719={run="13y2dm6phd9c77j3rajvz4qma2h2k4nwhb520j3mm98bgmbkphf7";doc="16487s0ijkk6va22rhhyhxdqik863n1i25p0f67gcb8xp1s5l1wk";};
+mitthesis-68732={run="15z072l5qzmnn09awr9gazikc60h9f3z061qh0fy3j15gr3sw81d";doc="02b0bi0kycfm5x7z2xnbphamzm0xrlfvqsk0c01ni0gjf65j9f9m";};
 mkgrkindex-26313={run="01db35xmg9583hkr9bpflr6rj8bmvidaqahpvkr38bks21466sxz";doc="04p2xaycwszq5dp8s2h6gdm36l800ipvigblkm8m58bgycm553fw";};
 mkjobtexmf-29725={run="19nxq3k9jf4bypk2al38n6igpca369lxqcn3da8cm8c3m511nsmm";doc="042a29h6sq9mpy6chfkl6893zcpb3gd3gsl60xfwglivib706qwz";source="0q2i2xgpnjcx8qdkk47q7v0lmjdv88jjvl7zcybnhcaa9km8f9na";};
 mkpattern-15878={run="061y05sa0a12x23f68g7rinllkggjfghgmrq2qnan34f1ind1g36";doc="0b3ahrhxmm6lwijc7kgvn0k17fm9rkp7i754zrhfj7w4xgq6i50f";};
 mkpic-33700={run="0sib2pckayb4i7lxga35rkxvy05ix6idifcqrlcbmddfix3djrzp";doc="11pj8q1zvblsc2dyd68a0nri9zpqzrp9a6lha5dk91a2aygzaf87";};
 mla-paper-54080={run="0yzfqb3x58qzw5lcyw3f6c3xyd98zx7zmz9j2rmv42r5wj1g668p";doc="0kzi1gnla04shaiysrgyz4ak3l96h11shkrxcj0hbav43ndj2xhl";};
-mlacls-60508={run="1i6zkzy0xp0zpi6drq512pil4gxyw96sgsfx9vz45rzc7jvpbbh6";doc="1wsysqqv00fdcd7v26i5840g1hlrxdnnzznh1yz7yj3pwz40b0f8";source="03m5mqpn7bq0dzynwdmhxs207617aplvbc5ra1da7wifnaradlsa";};
+mlacls-67201={run="1i6zkzy0xp0zpi6drq512pil4gxyw96sgsfx9vz45rzc7jvpbbh6";doc="1wsysqqv00fdcd7v26i5840g1hlrxdnnzznh1yz7yj3pwz40b0f8";source="03m5mqpn7bq0dzynwdmhxs207617aplvbc5ra1da7wifnaradlsa";};
+mlawriter-67558={run="188kwakrn0ca1njpkgyq6z1x97ky8imxqgpyy9axcsm2wmzhmf4v";doc="0h1302wyl24ilvba68f8pjwhndmqn9n0h3nxr5ifhk01m8359nr1";};
 mleftright-53021={run="14lvlhhjj50v31lgf7ywk5dx7d5gbnivssl15qzpa6s619q2h6l7";doc="13vvfx4wxvf5liv641lwdm3hdba31rfrwsmirl36qwbrqsrl8xic";source="004ficd5chakwcklbdx83qp3985s1imlz5knc7f3m51zxgr4lmw5";};
 mlist-15878={run="044pjvbyabzqashbzag37ymqa9mr0c1qg3p7rb1j91r0y5s8ra8d";doc="1vlxzzg6f3jmcmp8fjn58gciywc2qgw9v1kxpm7qr3vlv40pdb13";source="0jim2g5qc9cdks4r3yi67hhszx3kkh26hhc0zgm2kx9syhdjv057";};
 mlmodern-57458={run="16f5cpczawzx4p44svpzy205l9m9g06w8r0554cgdpqdbwr139fx";doc="1rqb0g16wj7jg65xm0rk68cfz9r00zwy4r73wbkn0fqrchg08yn8";};
@@ -2513,13 +2570,13 @@ mltex-62145={run="0j5282big4df396xvk2xaasl7cwnjn2sa14xj22xgzvrz3hr4dvj";doc="13c
 mluexercise-56927={run="1yhgp5cidpkh4ihz20d1p445q370bh25jwc8ikqdq6g1qnf8sdv8";doc="0xcifm779nln96bmx0kvkmnzc9yk2314yc6nn98wm7gqdw2bf21s";source="0mq8fa0vd762q2h981mj6is4d5vry2qgggbbmffvmfb4h76z5gh2";};
 mmap-15878={run="19hnkczxhxcr7pa7880mfgjfhjwiyl2yxhfz67dsrljqsfpi19nl";doc="1f861w6clfn3k8gc6piil6bq6admbyr4kxqnkw8hh29s63rdn76j";};
 mnotes-63406={run="1jmkh3bpgqc1lw4q7s57n9p10wjhflck0lqrjxjni4qaqxhg02d0";doc="05kgkxjhizwpnz60r9kjlwqzv66lxc4fj1wh0199fkn1pyyjdrcg";source="1xpdyv0l87mb3af5iw06823iajk2dgv2dg0298nvzm8jj3ip6851";};
-mnras-55729={run="18pjsph7xpdvmnpq098vv4gl69k27ad7yxxsb60945zhgw9yjrk0";doc="1ml220k5md4hpj6lcmx297pbmdbyp1dj1j9vb55dcl5ypc6jr3sy";};
+mnras-68878={run="003pbz6wg81ymv082vxd7dzf37c08ym2s63c91yxvldn93p795n6";doc="19mgjg8yisia0jdgvwq0jdg0hj8qpzl393x0w0vkls8s82j2jc7y";};
 mnsymbol-18651={run="08b0ypa29zkbch5isk39bbakg76yp5g7w4caahphdljkqy4k27zd";doc="0pv7717qcjd5ps6vnlmxk1bqvkhi9lx6j92i6ggnak8i1izd75fw";source="15ksx2lxxyklg4dcckm82hysin9r2v7pa3v8gjns4wabj4hx7v4m";};
-modeles-factures-belges-assocs-50010={run="06n2871v6jx29r8qjgcpg4h3qbnc6kw24kfk2f08wbc2rg2xdkxn";doc="1509xrny3xvy7nii0v1rga8ip18g8bv3d6vf8a3qn0cayfa9p248";};
+modeles-factures-belges-assocs-67840={run="06n2871v6jx29r8qjgcpg4h3qbnc6kw24kfk2f08wbc2rg2xdkxn";doc="1509xrny3xvy7nii0v1rga8ip18g8bv3d6vf8a3qn0cayfa9p248";};
 moderncv-62128={run="1icns5fym56yp1wymsf50cl1wh1vc9vdix7lxapp18prx3y3kf0s";doc="1sj75g51dx8yd13ywyyhs8r135pgg5jv1h0zshxsdpj7b7hbdxf1";};
 modernposter-47269={run="1qc422hbqiyy6b539r7kyrshcja58mifdvs3bva1ikdxanxhnaq1";doc="1z9b3fanm97c3ik1q6v06qfwrgqcqwyi79h5dlhcnpwsm5dxqj0s";};
 moderntimeline-55518={run="10alhs944akmqfslqzi09436mmnjz8nm85r8jpjwpfcx28vfdwnh";doc="1bnz01q5rib9gr724gq6saxvzpg3lfmimh14rw5fn0fcn9bxlwsl";source="0y2kfxcpacslpn1ly6anv0hlil2x6wlsi37w9b8hj7xfx95qh51r";};
-modes-61719={run="0xg6jpyxni3r3fl6r7iq1vz97pp1w3gh8ccp7w5k51igs3dpvcvv";doc="1lgmgg6hhq5h3zgpc9vrbb6j0pif03cjs6gwj20df8md69hzr184";};
+modes-69113={run="05xf7g14jgs8whl3jirb2aww93mq7l64vddx68kl8wqc43j87v89";doc="0xpl3y1na7ldb3yjp808nywpg7fqf0v2mwc8rlv3jzpq6lnqyjb6";};
 modiagram-56886={run="1d3sz2yxc1n3xk6haja2yz14jgcl15pp21y985h7dflk2yjflabx";doc="1a42ylnkigyvvkk0yrxcpypz1qlki9r4jzpy6lpky0fa6bfbl4yc";};
 modref-15878={run="0pd0qd9yjhvdl3icrgl40lgyjsgahjw1jgc2ah75bfcwj02qm4v1";doc="0caqpnyg5gbv3b6336w59nn0w9ic4p12f5ig2n7r6kg8ydhp53d8";source="0n28d6x8w9rh3hah7p1imairyyywssajg7zwssp03dla0xlgxrql";};
 modroman-29803={run="17ijrx7f87pbkwbyjwigz3jr85fwzq6rr0pz1591fk9i36jhjaal";doc="044v0nkz0h1c7xsb66kmpqvr5gg4lg1qkx1x2qm9ijdpsbc4zsng";source="15xy8jpp2ac07qq0nl3nskpv62c59xb8qkl51irvpb0m01d97y39";};
@@ -2535,29 +2592,31 @@ morefloats-37927={run="0zdlkd53zl0y69d3manicnd8ch8qls6jxgr4mncqg5r57lqp10kd";doc
 morehype-38815={run="1yssb0c3l0sqyv775mjnbba3wv1h6497x125li68q8iwjc529wdr";doc="14s0bvxj2fjrkcrdp576c0ka1appg9g4ri4mc2isfb73yc6bmgh0";source="1sljhzy05akipng9lfajapvdm8jf2jf50v1awl38ld0wfkdqvcdq";};
 moresize-17513={run="07vq0wf250ixhrg70vdvaz7zh33zaq5sm32ka8qh1ab590c8w7h8";doc="1qa9y7q1wi7f9klziwgj6dw9c7bh453srljsx9m106nbyd1cvnpr";source="1gzj5bh16afgl8dg5z44h7d4m79i5naj4wl09m17x6snvfz7ifah";};
 moreverb-22126={run="14srw73gbfr0c3miizzs1rml2ms504hkv970p4dhp1wpk8ywc5f3";doc="0bp2lmzbd3zxqhijfqc7im10476xc50yc8amh0vf017ll7prcmjh";source="1snpyn7bc4qbmamxybv1j1h407fp597m26v2jq6yzijszfanh3rq";};
-morewrites-49531={run="1b6pfqhqn3hadnkb28kcl9k5hc7mynbk1ik7njicrbxwlx3qqm5y";doc="1iqmxgzvrhmfmf6jmc5dckziwzvk1ygyzbr94sp0209x11sw9fb2";source="03dd4cv0x0lw4xbzqpv26nm5q2bn50wbjjgiqnif2wg2smfap9sw";};
+morewrites-69306={run="0ia2cklwyp7avg1sncr7qj60qmlhc4zvmmlp8xjb8xp5vgn6jgy0";doc="0xnbybiycp23g754ys39nmak8hfi30q10ga0liaghhykyap2nisy";source="0cx05ra3n66jgx21dkq3ixwf3vmyfb6kswvgg9m1rn6c2vi8902f";};
 morisawa-46946={run="19b8nzkwdnqk61p1fc7yygjlrdimawmbam18akphcm70qx2h01dj";doc="1y218bablhn06njs5zqmsl6jvvsgyihm4il1x9722pqvvyxxf9q0";source="1flrf2c2jxpq33g26i0m2h63yd5jfy9bdh80idpx1m6bi6hhq7ac";};
+movement-arrows-67270={run="01kbaxy2wyzxla01gbxlwj5i28ahak3xgm7f8myv5d6p0s6by0cz";doc="00v14fnh2crcmnnkdj7dxjidlxl16iq3nfygx8igas1nbyni7xfj";};
 movie15-26473={run="1x48h56mw1pzllzz5b8fx5ikhp08gx9jybdn7qk3jvfy13a4r5yr";doc="0bhyfgsjwmvvl7lnam0k254w2rzn01wf5gzn38ymmlcbw4ajkkxl";};
 mp3d-29349={run="18wgwwvh2vj1adbvbl1q6lh0wy0cynfvrx6cgq0m5nqps7b3idra";doc="032ywwjrv21ypnlidvn95dcnq179pdiail86s4nxxllkjrryc2db";};
 mparhack-59066={run="068wp9vk6ablq8mhj165k2r6lg1llk1i8gyj71ha2kcsq62v4a0x";doc="1cs2ypwz4wkb3rs71wichmd8zc89vj4r58srqzmriwkjplhaw3p3";source="17c1pq9mqn0gaffawg66wwd2n9cd31gghlvmrpn9m9z6xcdm0ipa";};
 mparrows-39729={run="1hmbpfw1wn13zp8dksnlc86vb19zs0dbwx9hy0sbiyfmb7hidznc";doc="0ly0sw1c6i3k5nh26a260qw27x6rmv5p2zs11yh5076ziwdxnnlj";};
 mpattern-15878={run="045sji1qqwalvmiinqkfm3x4rk2jc7m9nya48brcc0rc5icq7xqn";doc="05b9pr86yy3hl14jymk4g4mf6f5v85b4nv2bc68m02dflvm4wnsj";};
+mpchess-67704={run="16wykynx5m3xdjnr9mfdqhq4yn4rw8cf7314cd05hf87i4r5vzwh";doc="08c4kwznib00895wwsv8npfjxvwhxv7hk58vh189b49jjbcddds6";};
 mpcolornames-23252={run="0bg59x762rfsl3whzqdpajakjnnx5jbh55m73dw23id1g7cs5rsx";doc="1n78abrsj5xj1gd2psgph7x4dm8nscvwmlp6ijz5p6xgphgqs5bf";source="0q74zsx3ni8bzl0k1iwrr19k7f9vkwqfm0bp24m91wlzvh4vlk7r";};
 mpfonts-54512={run="1z5ws1kr5s07xwcs39w049yvhfwadybjxb32kf9qd8818pgd4zkc";doc="1hjy2jqm8mlrwiipl4f1rp10nya3zcy2vsyibhs7f280h4zhdwxz";};
 mpgraphics-29776={run="0ymwcn16n44y47ngdsyb0vvfp9vjnwixhxk67z6ni5d19f23jqli";doc="0q04yj9j9f9j9rndqn9k95jwjm41g1rf5raqlrr1cn14bax0lr4p";source="1hacfhb2dbflvmg0c1lif1hmhxkj3g6j1mdlb3wm43zczgaavnmm";};
 mpman-ru-15878={doc="1x3drpi21zcmkhkscvl4l7805wskqa4zskydb33i0asss5p62396";};
 mpostinl-49559={run="01p16dzg5izjgd64l4qgrhx0dm99hp5lrn9v2rlghs8m249fwmv8";doc="1a1rhz5q1i69bi1blvwzz404h7mgjkjcp9c07dd8w6xri304gi1s";source="18rfna80lz3zrf7wynr8zdbiv36k2n6a8wd430r81ybr9233dhxp";};
-mptopdf-65471={run="1r7m71i3cnyf3q5nlg6c3ialw6vmch48sgf0flmd63y6n21zjsi9";doc="1ydpkqn183z751n5dbp8p3bn44kpdnigf87i521s9d3j46x0ac1y";};
-mptrees-60929={run="1dg0q6icha1yrlih9r1wzz6p8bqjw31bpfs6rnivkhb95nykl7rp";doc="1f0f1j99aj46f9sd8kjs0kkpcrqib19gh4k7v114vvkgbjlvykjm";};
+mptopdf-69363={run="1l2182idlbzci9kjpii0zg3c7fpmzf02dz5kg2zcv529mjwwv91f";doc="0q9jlvall8mf9j2zky41bhpz09yi061rfpkpd0arj346ah5w9nni";};
+mptrees-66952={run="0smqvznscn6a220syvg0cj4dbf65r2gy6fz0f4wmfh88l83fy0lv";doc="0sv029k1wi76hw4h3169m9mq1vd6wrjfvk0y9k7xb1zw5da1d83c";};
 ms-57473={run="0km07va23z5vzx87ndrv9mj0fq4yw0kv7qygd59smhm4q71yspkl";doc="122xwapvjzv9qyh3p1884bzdpalvqzzkmzd18gqr3q3r4cmk2q20";source="1myxaybppzkdl14h4g12xcp57zqjzkzijryv9nd6hy6ggl9y8i99";};
-msc-63291={run="08rw5drivv1frf7c3r0pfy3slp1sz3hzw4gl55vcjyh2b58v9qz1";doc="1qwrg7gwmigwpf9mhmrv25r3785z3nf7i5fh2q4y2pyn2x8l3bp5";};
+msc-67718={run="08rw5drivv1frf7c3r0pfy3slp1sz3hzw4gl55vcjyh2b58v9qz1";doc="1qwrg7gwmigwpf9mhmrv25r3785z3nf7i5fh2q4y2pyn2x8l3bp5";};
 msg-49578={run="1g418z3slb3cjf0wzgwgv0zkq0jnj647zqh6iqvlv42r7bil9001";doc="0miycfpf7s74jz831kqbh6qlkkzq31l1x0fkf9d04b8zp26mzilp";source="18djwd3g50ys4ckgzc3dp0y344qy86ni327jmyz3lpnqai8w1c8w";};
 mslapa-54080={run="0ayfh1yv1a8wsq9qldgcmvq9d12sxwaa7df5p3bhsp0klbqf7pzz";doc="1hiag2x2br0c0qpmm347cyxmi58mwg2x0lyqfakm87f68lbbxdq5";};
-msu-thesis-65462={run="016f7cwkpz1d5hayifp9zfsvlbjc6ans4npxgjwm9gjllblqc1kw";doc="1fifb54bm3mb8rw48fq88di0pqmswpm83ws9j1fjawp71izhfzfz";};
+msu-thesis-68480={run="1g6xxc39rvqbypd1njgcx0zxzrncsvrfnk3jqlbcaqxkym9qdvhi";doc="0b2dbp162hg610jcag8cg88ykckl4xj9gsmpzsrxxh8hmqv36g7p";};
 mtgreek-17967={run="17k0lvghiw4milj4cnf6wjhsj7c1banw550dvlw9spv60lccvqqz";doc="1qkl09lkdl9z6lm5hkn5c2xry7xd0f0ijx6xnyq3l6q99cnbafzq";source="13h8knsfbl91g20gxjw3c0m6j33wh4zkmm32ybfvzlm8q7nf2lhh";};
 mucproc-43445={run="06x3hqdp6d6nm3n296wnj4j4w93cwgjpz0nlw5qj0z44zlghs483";doc="0y33jak5lzhjp4v5d4pzfj7jlrr87dl6wdnkqcc0p9fr4fd2h1z1";source="0xzv1m01rj74gg188snznshir510lj5myckfjx7am6sxwlfni63i";};
 mugsthesis-64259={run="19bsplm3qclalplvsybvrgyk9wikr06cgr9zv1av6dp8djmz60mg";doc="0md9p75r8m677pgfiqm30y7nkixa77a244l58fcmj87i3j8jhx3r";source="0zx4npm8qzw4vxxi2fr7ylazga1mmsaq5r0kj9v614iybjg31733";};
-muling-61719={run="1y69g2f37fppvgasy06w40v8yg6aqgacfjynz0azfw409xm3b7av";doc="09i58z3268k20ifc4rp9lf9mcpaqvd0gza19l3m1vg8r4x049fw2";source="1awvkpd1flh3l938dclwfv819f8iqnqhkfwrqmkq0nbq8n9l929q";};
+muling-66741={run="05bhyl75w3qmji5s8n6mv85yjhq5nrgncnqshdv9fbzbgcnk7a97";doc="1fpsblzyxy0kf5vs4lnxdq11nkj7d9vw6a3vzyas6dqrlb370vzx";source="1m1yawp0wm3zafjwlpv6m010ih0gb24q8v2h94d5l2w2ymkyx2sb";};
 multenum-21775={run="1jn6xqrc31zzaj9yk244g3sbi8fj2klswbg24fkclgj0cjr1xi5j";doc="1pnjjbfwgy6ksdl76n9iiqla2wl0qa4370n49h4xy3rmrnbjmdqs";};
 multiaudience-60688={run="1pc03jhvlq35zzjsx6sq6bgzsp2mh861wqbazrgp7ilni1bqhqsx";doc="1ja9zphh154n7wwhqgl4xj4as17ag8mnr65k0wf2npjrir7rfqgf";source="04hpd3zsf24vwas726jq231p462dlb9fq01gx4z8wg3zcczn0agd";};
 multibbl-15878={run="1aj6j8rp94mh210pdwd9d4a5s5z9v5f36wpylwjv4v2ghmyrgyap";doc="0r4hnp4sgpx9x0hmrl3qlw55xlchav3r8sym2vnv4sqjnx4dc740";source="1c7cvjabssssy8wq6x6lr909zq4f0bkhdzx1x37n3rxm2ngdqpbs";};
@@ -2576,10 +2635,10 @@ multiple-choice-63722={run="17w8sc4gki7zlwkg1vqrmqrd9id6hdjf3kcvyavbmnrisri95hl5
 multirow-58396={run="0bsn4xzliq9gllmac4wqqsnws9slywc0d94abh81awpzv6vy8jwj";doc="070q5s39pfdq5wiq7crhdqhcyjalpd8kydig4djgji975b0xn0bk";source="08q074bixnkvn7hsi1n8vx0r6pqwwkdjsjnxz0n3lam30x4j1jib";};
 munich-15878={run="1dns8n2xybkf1m3j82adid2nr8ngvg5nnlxr5ky8ha706bmz1lra";doc="0dzwmrv636nca34b39mpxyhh99sr3s5k2rkj7jwms2knlfn81djm";};
 musical-54758={run="0rn4b1m1c58phyj9zzvyxdxbilma1bnncscwmxc8sdgb9iiwmlzm";doc="022s1z7d5ins4gpklg9hadlp1gqxpr6862i1g4wp036db0457l78";};
-musicography-66119={run="00kc6wq05k3vz07dn2hchq1fgnvmkj4as52v19jjqzakp3a7j8fk";doc="0b43y731m3h29j9b9mjijrjs3hf430cc9big7b4jqcvm0kaxsq6z";};
+musicography-68220={run="04vwhhd6mlk79bk5nblrdb6vlv2n2r1s9dfx752p3vj584w2mdmr";doc="1144kbjzybzfcxqbwlcfnk4wvqm7kw01slf9pzpb5jqagwrq12sv";};
 musikui-47472={run="0z2ya761bf0n7l45dqkc626s9d66qwr810fnwf34lr1876y3sfyi";doc="09sdb98m3j5wkl4p7hdpdrnrr0l25ni46nlhkhg1g54hdggcpjb9";};
 musixguit-21649={run="02cz225x5s3spj0wf9c51ka0i1ysmcrvlpa2b8vxd59f4pwz36am";doc="1g8hay5rdkpa4pjj0lj5gfs7xmqwzmzxnc8k023ahlz38gdczgnz";};
-musixtex-65519={run="00lbc9vzbd423f56ig6m5n6npprnz5zbmrnjxq58msfbra272199";doc="1hrwqiyglrryzdn54in9yz31c6wj4kdncsgz57w2p1x4rg8wmfw3";source="0ari7nwxlyj0lnqhzcpq4vh9xn0kdzqn9c1a5ih5hp1q2zwx2m7l";};
+musixtex-68484={run="06anc6izks564xxia4l67qazr25whyxq897762f7hk0a1pvfw9ha";doc="1xmnf612wfgxbf7rgm020jcvavqpnahad1sx4bnjcm1kapbxh19r";source="0ari7nwxlyj0lnqhzcpq4vh9xn0kdzqn9c1a5ih5hp1q2zwx2m7l";};
 musixtex-fonts-65517={run="1bq3nw6zig0grmmgnz7n84cvxasq61h2mmvm1j6mnyv69yhssm2s";doc="1pqr7h0r7cr2clzn5x74r2z78rlbczxmdwc7bkpb5a0k002cc9ga";};
 musixtnt-40307={run="0g2y52s0151br5vr7hjv5dfcyr96cjxp4n9ya3s1jj81q6q01jjq";doc="1y933975hv5vzwrgjizq315bkgnhlky21blv9kbnzf6kadic8ys7";};
 musuos-24857={run="0hfrgx3lk7mf9kzf6n8hswzh116pmllx0k3djbfinvvvhnqy972s";doc="0zxdnzd8x42z5fpvkarhsvdw3x4bz6qppn0iyjff1fjzwl8q8dzh";source="0igksc3i5ydqps0g172i2hkb854bnkf7xh4jqvwlimrlnhs7nnkk";};
@@ -2596,7 +2655,7 @@ mynsfc-60280={run="1zc7lgr1i0g5rszh9gzcv7fs98mk06ms5flb3iv2zww0w9r7iy0i";doc="01
 na-box-45130={run="08xixk2hl5w876x6hmp6h044spi0qw1qbgrqklwrmkxkgpa27i3s";doc="0i1p5f2nchl9hyrkc6s3hsqcvmyxsi4dbwyr0mph8slhw2rzl711";};
 na-position-55559={run="1amvifgadhq73avh1dq9mj2v4s5r3hlr6a3z4wcbhw32jd31ncbx";doc="0pcn0r0p0z7lxyfsvcnl9skm5aa5xi6362vydpx9kv8m11gl7pjb";};
 nag-24741={run="1l31y7mr00s6md7a68cz51yv0qfd26xaj04ax1ph6dqc97r3fv1w";doc="0gc56zgva7kziny3ridswnp8rscqi1mg51d8x580pidb11mp7dw2";source="1fh9nfjbkvw907ra1crqfhm7hl4k703g80w3c8qvd18r86wmn2i4";};
-naive-ebnf-66029={run="14vm282d65pahq1j2g98fvfnp293kdqxc5yfdhipdviv4kfmgvga";doc="12yhz1rhis11kmnqjag9z46qg35chaszqpah2fvzc3ssbjaxmbmk";source="0vvgc2ymhsv4j7ppnkd32mb8p6lqnpy7qyvkiqqwn1s6x3v9cndv";};
+naive-ebnf-67892={run="0hw3ra8cmmr79ii1l57z68kqxqjfwq1szl4fg1wykrh9cnca1bn3";doc="1i3h4328sczm3hv5claypc0qfymdmbygr4w6zankb3x0nzrgk9sm";source="0z2df8frslvvaqjsl6js5pwwnhjqkj52dnrvgbygvdhnkpkp5yix";};
 nameauth-65738={run="1zahfi4vsv4s43p1bvrbcd330i4z6x4pf3yy7vwbjdfgzmq39nx8";doc="0map4kf3r0pydsllp1fggcj9z9rir3ipnx7dz2g5asw99dj4dlz0";source="1w3qladdlwhxx7yzsjl17p0ykswg4phri0wadni4s953s04l1i3j";};
 namedef-55881={run="06nr8bwymbc3ps7whpxnsnbnl1fayz36hlgcy5isg0gcx8bdspfh";doc="080m0d24cish4an6p4q7rcrqpr2r1yvwvzk431nszhm39h7d8z80";source="03kg4zv07ch01n0nc7qwk99n32ifwf89z2976wg5k12yq51prplh";};
 namedtensor-65346={run="0jvcqdqnvnjm9z1jcdsa86cvv4f4hq94yi6r688j2sny2700q7a4";doc="0cjbz9g2b8cg2wm97vdgwpqby0jbc5l2d7j2cwx0j571hchlijim";};
@@ -2623,17 +2682,17 @@ neuralnetwork-31500={run="0rhvhk46z3wgz5w7xrbmlmgk2px8mvajbrrj4ygpqa58g37wl0v7";
 nevelok-39029={run="0c4zij8ihx3mz615jr4z150d61mj4ln88zrdbsjx9hlnandqkij1";doc="1x7jwmp32f1wph9k03q6ly9nbmdpsrkhyvn5j83n1fj6nj6hmzqf";source="15di74y4h7qgjh7gmmaingbg71jrlaiz1qxf960589k2xshslbi4";};
 newcastle-bst-62856={run="1qzr66mjmdkvrgy5lcv0yv82vx4vygxwa7m8lj6crsffwyaxaxkw";doc="0crwyc9r5zqz412j45c7qh43wkdj2z7rfrmmc510746b9nm31l13";};
 newcommand-18704={doc="1vlxm26393psl4kjfh533q03sb4klnfq84nld9ggs8l5x08dks58";};
-newcomputermodern-66338={run="0wwm937vg3shmy1dky3ax3xil0n1g0zbr64w7j0kxx7d73bik3w6";doc="1pidd7l6yr5g6nkjwzpwdchbz2pqw5hbvq66i0n9v8hd993rnm15";};
+newcomputermodern-69379={run="1p35sffk1hnffhqfpb13n0qam0f002yp2g987vqm9p4970fzgs0y";doc="1n2hamvbjgjnqw03vrml6k5rw2njf31fz219h20j82k29k42mmsb";};
 newenviron-29331={run="0vij59qibxvl81r367yxfl4mgp8fjzd99x3aq008hwh3g1d8ciaq";doc="1nvra7lh4zvxy70hf4ndj4nl3ij3ar8g2fxrc0951qvixz9jx7mm";};
 newfile-15878={run="0gah9qbkpib651rjfrakzldi4wd7gv74y8j455n1yi6wnr0yq570";doc="0vqlij71kfjzbl08sh38rzs9k714xigjc1cdvvpj2m6bhimazp76";source="0sw9cqids994lscbjif8h7npp4cmzrhrcvccspag2aa78gsvz04i";};
-newfloat-52906={run="01l6gl8hjml0q2kf3wzdnypr96ib3dryspgqd6hhfg33h26dji5d";doc="0lagdv0hd7kjxf221a2vzpgskvfr2h2wcdps0l90ycr48g9s1j68";source="151qai42ssn1ngn4fqi7098hmfb9v858bkbxh0qrszawhrz4w5q4";};
+newfloat-68434={run="1jhaccf7ppi5m5jycz77s5nldbmscydzbd2db8bmb0qx3z858m48";doc="11712zqy292xs7i4xvrrv948i6l1bwjxsgax7hph9hjfqs086rmq";source="018msda5vgamyn1lmq63rwv58h9z49q4rd09l7slij14djxwgdb6";};
 newlfm-15878={run="12mryj5w7dpn0mdv91grkrd24n2pn68p54bl70bg3pddvz5ab6gy";doc="0afpxw78vijnhx2rwv94ar6x4ivcrgz7873vdc5n4dafgg18z78s";source="0z081mn0zf92ana2v99sdyyqjz4lqnm2ymndp76xwih9p1z8233s";};
-newpax-64415={run="0l7pfbh0cm3giafn2wljwqjlp1nk7xncmmcvzs7jxzcsnkrzhnda";doc="12jmi9a9xndwcvniwnsf1gpa9aadx4k5z98qgm9l75fbrl7wwbf9";source="0mxc91hfljjzmby0r13d5isjk3i36rfgkfjmf6nfmwylcgjzh8zd";};
-newpx-61806={run="030mw0wr5gs2kvamyjm4w3chnd9f0yf9979byrg5qhmr31f72n5c";doc="1bcdwr79kaiib555mzmgglcdxgv28nk7hvnnrzcawkkqmkqh57v2";};
+newpax-68762={run="0dn36fqqwwa6jzcpznrjd7fk2mkzd37mpvyicif0dc7g125whndc";doc="0jcx3lvc1ay9b2dmj9f1kd7kxmyql95dn4xw4syp45ivqsag3p0a";source="0i7ilsx73lcifvzcffjp3n1swwv1af6l3qwn46mykxyv8c1ygjsr";};
+newpx-69380={run="0rcggz9vf7w0vvkba2d5dg2zmyq5px0wb5xzc0scvdn4bgn1cjnk";doc="04hsww1gwp04nwjq7ns08bi73yyy35l2k3dx4akr8kvr16inn6sr";source="0larcp5lk303p8bryaihfdvzacbkzmx4kldira7k42sg31p5hlbj";};
 newsletr-15878={run="0hl73l6cv94g9k4qnldxad6nl56n9c1r9rkwh2c38sr31d6fn8z5";doc="15bd97zlny5p212naaig42li7ki3f9bfr9b5pqk0vhbf17pik9za";};
 newspaper-15878={run="1afj267dlvgcw8028b4c0v9rdj77w47zjgpk0grbapy7wjgpyjb2";doc="12hlji06sd7bvw7r664cg8ijxabc2q1rb7z516ph18ayjl5vca82";source="1h8abnmiai3c66cjndm6xawz00z1pfmgwlp6w43amjrk1rm4r5vm";};
-newtx-62369={run="0ah3pmxi99z8b7sv8xhjlnwj9l5pqh2p8m6vbbscgacpv9a3w9w9";doc="004rgsavjy3n5221az47wj2h1v1y76pjsxp0kv6n6wgv6j42zk9i";};
-newtxsf-59227={run="1gb2q7pdgdggdxmi0v3878fmnyf8cd0q8vhk12nzga4dkpjxahmq";doc="1yx8np1xcq2h9ddpg9j47gjx9zz9i16d607lr710z3alb8ddarij";};
+newtx-69381={run="1cwaaax209k8196h90q0n0blkb638047hqzprv5lrzjx5sa8xafy";doc="0zzqswva33n8d306g5znq4zyhppqqygc04krc4wzn2wm2jjh9sxp";};
+newtxsf-67051={run="1si13s0wcgb8smy9lb277y11iy8pwcngvlqann31f8znkp8rk1dh";doc="0f76vjwqa1c1bn7yzfcy47k1f8kp5y878mm9ry3m2glsscixr9bi";};
 newtxtt-54512={run="1rydma1iqcb7k8ihyhpgdbrq4vpsy2dwyij2pr5p3bbmsc60kc42";doc="12mvwqmpb1hyn3l98z74qhyqzkinzw4q4f4q0mx1z586238q4klj";};
 newunicodechar-47382={run="1zr5w047xqg9bi6drl2rw414m9bzpa5r7n5270zr8k8jj74xcv7x";doc="11vk77c83xy40i9vclw4v1h5wnr03mb77fa8s2lhi0p4sq0c3vgr";source="060kbd07al8cwns5877ap7irpf3r3bkw0w62cwvl67y03gcmgr70";};
 newvbtm-23996={run="0d9q6mvczacdxykp381181mnra49qa0y0mngr0dnqp24hfw9j9l6";doc="0k6j4xpvjwwvz8cipgrqvrs2dj66n7yzlr9mcfsgd5w6rm1p1h4i";source="1p3g9qyq4x0ffv68501zlpf1w0ffm816pa0wqjpqf8pz2jmgcg5y";};
@@ -2642,8 +2701,8 @@ nextpage-15878={run="1p9dvw7fqspkg6hk6rdmsb5k5m9mkj0kz5a47wg5dgfqgrqpixf8";};
 nfssext-cfr-43640={run="1qp85vnmzsn967iqvzsf7yzsq1a4zxvyim7r0xb8pncak805fs61";doc="1jac2k7nldxq11rcf53glb5y3haqdsxzzxmgmvyzhbrzmnx0bsms";};
 nicefilelist-65842={run="1pjpffkhwfrayh6a5l57j0szaz63cn83mw53v17ibxk8dj4ls0d4";doc="0dqpx0kkgj4vcfvlyl96mllpn3kqz8qh2476kpfw0imrp8klsq7b";source="0q740bd8igcdy11nmpn61sb1yy1kfypvif2s62ym80p89qf8v74c";};
 niceframe-36086={run="047y9dh0p51lyrrq5fkvp4dpiszvf2nmx53hccl8hzgr2bs3kbwi";doc="14fapa38pffkj1hs58b7r1zkjn3dql9d98jzh13cybyfynd5crjp";source="095frb90nryk4m2iia4sq3kfrcfg2k3nq079770xlp720zqy07rc";};
-niceframe-type1-44671={run="0lcah795iqxkmdkr46gk76fypawz1mwiw3nxvgvbx9wrsdfccxy0";doc="0prjzgj1fg71kf38asq8622l6yjvn1pn6am1nxkwrpfmn3bmn76n";};
-nicematrix-66465={run="1fiz0knbw33adjh9i2wh7bk9kynz156xfjy48j2pr2nrzaclkwyi";doc="0gpa7lwrn1f94z8g1lh3mxwprq9wp005ahlqaj9ssxmfvlz9rdsp";source="18irk6n5y7kvzczlbnfgqsdw27b8jp0bn4k6s8vhrv2cghi4yniz";};
+niceframe-type1-68091={run="0p219ccyqcpf51q71185manybxsxc89d1crxxwqs96n9ppn7xb0z";doc="0a3xh5akhxcrk440wa6zwm7cf4yd1smis4pf4gd3cjv3rlkli79s";};
+nicematrix-69275={run="0n3zif8inxfxvzm7g751439afyjcxqzca4p4gffxj5apw5ccjdf3";doc="1xrvwf25qffjjc8xkkqgrfzq1fl0hchqy9db28kps6l0xj1bdn23";source="1v5x3ry9n6954p8nmjnnmqsqipyrf17fmkd7yn7kahppwc431zr4";};
 nicetext-38914={run="0aqfg8phvhlgvyy71flqsaqwmmc6lsl9vsxpxd61v69hp2qhvggh";doc="0c078pfiw1nz11krcgwbdlp2brdy2xmq6rda9yahfjjg54xgdbg5";source="112ji0zwy54nqswil8lvvcrq0ai7jsmdagvf2786zg9n14h5kr75";};
 nidanfloat-48295={run="15l4rdj7bk1279xjjkgh9a7scfmm6w88civ48shh7gwx8gsvcscb";doc="06ccf5yhrqvshj3d8ic3pbnvmdpjxq54i57y3141wgqcj5h062dp";source="04q480lddynb2gqz8azmyik8170vl056fhfjsnq8ydqj0rchnnqi";};
 nih-15878={run="1rlhnhdz58qqjv563wjpp11ppyqa5smjpzjdzfcra0wd6cxv9384";doc="16klyjxzxj4mipql71admicnzlnasnv9hb5pl52wyk4ic8ggdgwh";};
@@ -2653,27 +2712,29 @@ nimsticks-64118={run="0h87j3i80slsi5nc5299jvslhr1m3hb8hvs9mwz400b76k4x3ig0";doc=
 ninecolors-62006={run="0qvjykxzl9154wbiybwpv4j9da5vyvw2r14hkg9cvyqqd0fn7g3p";doc="14dmp0cm8hbjrd14szkcvkrff3l7shk4k9zlzx6hzkpmjc9qkl0w";};
 njurepo-50492={run="070jmqsm9caidgc0n1cmcj2v0x8dlxxwv54hcqkrisaf4nlkyyk1";doc="04hg7gxg0nplqpmmagqynnddxv12qadamjy3rj1sxhwxgjma9c5f";source="08fan5igmdc43s82s1adq7ymxpvahnp08f90p3p4qlqanj41yh65";};
 njustthesis-62451={run="1ar359ssgan8pk72bbvd4lp2yg63ww6g2ymbjlxbv63qh6czvqrr";doc="0s7dwmmhpb4qr2nnzr7jjh1zfk5fcvk51nxrf7i7ikq8jss0ic7s";source="12lq39rhj0z6msdpshagqylknn31dd2pl6ymk1lfagm2bq8mvx30";};
-njuthesis-65546={run="1psizvdympcv2xl8s8f8ld3hb2n8x26c10nq38x4ghnpqjvpbbal";doc="1v2by2by6vrjqrajqaxm0aba77vv84w98jxr06ils44rhygxxrls";source="0bzddlr990s6qs7xgwnsm4b5gybbffr0xpdz7fii651kq2cq8wha";};
+njuthesis-69051={run="07lvgl75ynq4fljq8h1pkd3jq4v6zaigqga3mwrhnd880igzk961";doc="02npr4q5ywrvzp8a20mvligfpd0w5wb5w24lx64i9qviid1vrdi3";source="10ggn8dvk6ldsbjqvvixslrzlhg95hfmqjd9ybb890xq3zmc7zca";};
 njuvisual-65261={run="0qgifkahh13dkc07dx32i3hn03rd14pkajg0yw7wx8l0la6nxsy1";doc="15nyzfqsrsvmqg39vidycw3agdy9yhgj7wlfjw649lykbwbqqlif";source="03ywgbapxldv05azn0s5xh9c7a7imq9qwxg90969as3fy5cjbl98";};
 nkarta-16437={run="0mhi640hsr7dy7jbvkqq2yl224i9ialf01jkcma0cq527nvrnm3f";doc="0bqix170zf7lgiv11v4mqyq3iva707zv91z154bi71cvnlknbkns";source="0f6m2wz1cd99s4nxppzdq9jm1hg02xzswgm85dmi18jffgrd2chp";};
 nl-interval-58328={run="1lrj178yhmd4ajwvpdlbsr97sg39k39b8n30wib0ww2lagyw6rgq";doc="0b439r5r8zzhgd5k0n1bzag3naxs2bjd6hlm3sw60viq8fs5wgy0";};
-nlctdoc-64708={run="0s64ifakmmx3szc80sb8pw2gvzspmgkzxwlq3z0p6w6v33fi9v67";doc="0xkdhpnk7b11nx01hkywcvds7w2z5hpj0zaszl55nhyqckw3b36m";};
+nlctdoc-68448={run="0rqlbsfwhan0hnxvadw5m77ny65fn0i12mrhwmvr83fm9ybp9q7p";doc="1yh4il6lq6hawxy00v3bfz6piryawsf7aia101knls0nb1ifrjan";};
 nmbib-37984={run="0kmrgd4w63x0f5j5l624j53mhivc7wllzi346c3ny7by6h7mh8in";doc="0fzg9jm7hd3zx5naf487xxfyg2yg0w9wmc60265av5v97qkghirx";source="1m3pnml7wdk0p6vqiyxssqi7rz0vkcvbd2z63wqy28r78w9js34x";};
 nndraw-59674={run="0gffz4kfyz81yg1cv7sgs5zr5a5kaay1pmac5q6v7v89w0bf8089";doc="12yj7gym7kzacwxjx5df3ssf97wrrnsm75z2c1j20srr30sz1cwg";source="1y29n03z9gxwy0gjzm6b5da0cqwg0bzm26cxlrz9551qk8nis9sb";};
 nnext-56575={run="0vf53wnrjday1q3hrplqklfp5kg57ibyjiijqw0jc074gzhyw0z7";doc="1rxxrnm8vb274c9l6lki1bxd6pij92klryigd40wwwwxzh8fc10r";source="1w3p9ig1jivwyy9rlbzfgcy82h3wlj2ig3rdlaq9k9fx8vd6znah";};
 noconflict-30140={run="1flkwyz36xycq4aidj9v6ga29ghbww8ss5dkz4lzsr96nv38q78r";doc="1v3q7xbss5ra1dizg2mz66zq97cfsv5lgnd136xqbbmn5vphl0dj";};
-nodetree-65298={run="01jx5g0kzlxidji4sihj81rb38sbhpiyg4ydi6n6daym4l727ywj";doc="015mlqj96gylzml2kjvwx03bis28b4f3igf9170yxv1v9qn3iyrf";source="149ga4ih26c4zhdw51s557kxc21ssm74vinwm3iar9zdj66g486q";};
+nodetree-68244={run="1d02cgh8vy6nq90ndx6yy907x8kispwxjcxy1smdjd35308hhxjw";doc="173jz2ihpnwp7bdhq2j6nxkmsabrg9mib185pyz5v55cyh45whlw";source="150iq6m7yvb94qzgj9c290s5wkc0sp06zbmc8kn42wdqz2b5wqh8";};
 noindentafter-59195={run="1gp4zyqwq07f85qp703iwsa0351yp49zyjrzrhfidw456whhl3a7";doc="0is88wpryqdd179fvhjkvq6qy4inz0sp8a7j1i90iziadkf4rchx";source="145bfg8qz8m64x6p2kzkz6skzkdi9jc82q77zr50xms9565bhf4l";};
 noitcrul-15878={run="1whs120vlg4cdjmb1x363g92ira9nc8j2h65qnvwv8qrmh2hrwnp";doc="0y3j12rb8ks8sjs1ikw3sccq7p7zmixc10nhdy9yg9rzwcgmicva";source="1dsjxs73xf79sjq9xynnv78jws1j39l240lvcvpir1k8vnzwfa13";};
 nolbreaks-26786={run="15qa4nf5c9gl3ha4prajqxl2p1ks6fpql03d52prm9vqkwphzgyy";doc="1h9n7ki3iznbzq519cliw03fcn2k40f2rldjkhnp5vlzma81inh3";};
 nomencl-61029={run="14225s3b27dmdgkjqyh4fqcwyyaahva0sk3k6nvffl6jjqdwsgkp";doc="0vqxxjlvgaa31mjfl6jv0azfh7qv0g341i27s6k9zz35a7dwqaq3";source="0fxfan0s0y1i30rg2mwxl21ymfknh4cnw8za13mx34wvaxmc4l9l";};
 nomentbl-16549={run="08jvfyn4vd8qwlnbsqhlxnwnl4qv5b8r32slcbfwshc4kyi2hn9a";doc="0g48qyrrj6npsjcnnzn3mgsmd5fq4v5vzzsgxvvx9x15446987cm";source="10b41ax3ynpdbn9bawkp43whqjkygh8f2p6qdjiwa47w1acca8zh";};
+non-decimal-units-68504={run="14ry0yyvs4d77vp3ghvfaw1vwc8j0jacn3p3vbb65pjzmgjxabdf";doc="1hkpmg9vg8gr6chb8qri06vfdnyw22abp11d1lap8l8xv40c3las";};
 nonfloat-17598={run="1ay9s9xrf27sgan2gan86g68i91rwa8spmmj2l13pb3zl5qikw66";doc="0jjil5rbxzcpkyid8y5dahab2ca9r77sw2scgrc4mf2h4nhrjfyz";source="0vyvpxyrqjqmlw2fj4b9avy7sn79m4q8gcbgzdkzzp8d0rng5i8s";};
 nonumonpart-22114={run="0dyf0nl16j7vp955g64rbvvjyqq31x5iv7dbkh8cikwvgn9g85s5";doc="06j6sc8q18mnnnpbj57ykays69n78z0iz1r3vink7qaw4a8fbyba";source="0p3gicf0fzmk0f7lblydf31pi9x0f6x0k5rvdd2ia8hrjdaqv1dz";};
 nopageno-18128={run="098q0visa9g5lh3vp6bp484fglrq8g21v4cb71cnc30f7avkg1v7";doc="0n7p2f039vmd060ncc81yi2hnn7qyk6b7z2hpxh9pp78dwklgx98";};
 norasi-c90-60831={run="1bsx31al77ci58p1zavp5q9dl8msdjqilb19fglnkhgg8bjbqh7d";source="1bsivm5im913x336v6qrv31b926lfr8821pzqshq600k4fgk3rj3";};
 normalcolor-40125={run="1yvbqc6px76phjgy9cwpqwy035nb61nvcxy32v9xa9wfcp36nw7g";doc="0919aan1qxp5lfqm902ijn6sflkzv1dgxi12hjfixd8d1d7rlfgs";source="13lqp3zjnhm1wmf5id1bbr86l5qi13xgij455l38l55is468sv8j";};
-nostarch-15878={run="181a6pjdr7ffsngv7j84ddps84csv7ir3wr49qjax3lr5fhiw7qi";doc="1sjd4yz3j70pncr47ryis4w4459lbs4jpbb75wdzvgygv9qxz3w2";source="0f6qrlydiajnla9n4mqnv8f1iyl0f8ip98hbx6dzmmjz0k5i9bhj";};
+nostarch-67683={run="10gkz055a6j0hnpya1a49ysqqsnf9f85fdnxm1aacjnng5wpshzv";doc="0s06svy9gjvvpjqni59qfzzlwplx12dbgcvpkdi4zj7r9wyh4v3v";source="1vd8r7viglzi00vfxq4wnjdciamhl9yprham3mg0mmrvmp30l52f";};
+notebeamer-68871={run="1glrwrk760xh657ipslz8vp41qwp1qhmb7cwq2p3kgzczprkj8zk";doc="1yb2ml5mc1mr19di0zc168v63n0vl7hb6vq3fggiw9ppl0rzsasz";};
 notes-42428={run="058316ialcra7m56ww7imzqqhk318abwscw5g60hr73x3x7d9dgq";doc="1zq11rygqkbx85cf79ixwcv1w971w4hx8zfsv7z16am4mlxcdz5j";source="1ycxa3m2l13z6a3a4a88wpznvwdb78qyxkh879cvg85apb11rffq";};
 notes2bib-52231={run="02iwnpiq918izkssa8j7fiz2jbfjn87xdjh9spwys98q2cvvxd53";doc="1md7zvcnlb2sf8zw0vlnsnia1l22gr69jgksy5yg30jis3zm2gjp";source="1fb70w9y6gj1a0y4w3zd7yfmk5gygx10y8xjmdj06ky7k0r87qlx";};
 notespages-41906={run="1zn3ygkiyqax88azc7vcrkfw5hfzbbq3jkacnv50c8z5xllk2nwz";doc="0556azchy0yc8757wcy687vn82q0jmyf7n38vyx3admpawyk1pxk";source="052p17fbdpbdpzaai5xn8r0v6lamv7ps78svd27216p71djsfr66";};
@@ -2682,11 +2743,10 @@ notex-bst-42361={run="14r3q4z35k5n0rl2igjs4lj5ic4yd14xksg1qam5klb6raaf1jkh";};
 noto-64351={run="1bq1ysvd9bxcbfql6lwcbx2878n3bjwb3akawm7z025igi7hnml8";doc="1pz1flyv3js1wfw9p57cz9qb10dd64i978z76ngmfg5k1hp0w7l2";};
 noto-emoji-62950={run="1d1mxl32brfyn3a8jpkby0kwv69gimj9wcl8y61jd2qdlfd0mx9z";doc="05rch3ybas6gds53g35gda10gia61v49kgxi3gzcxvn92595zv9a";};
 notoccite-18129={run="0cbvwvgh3rkms6akamnrmzwm6796ly5fa93qsb30bqafgmx56il9";doc="1h14fkdn5kvxagkjx8h6f6a06v7y9z48s87x52cblwykgfm70qxz";};
-notomath-58726={run="1ky2wk10mpbhjpqcsagm6sydkb5n8czpryfs32xf6w64nzy5hivh";doc="1wjnrksgn1qmalqq1c11wdlpwq34hw8zx07cyi2jw26qvyh9fpdf";};
-novel-65848={run="1c8l8x00awbvkrn2g9mxq3wkgvblcshfbywg867915fsva5hvcsf";doc="1fiwj3gjvjhybplbsml8pg1gfaklwpc7pp6q9hm5ji9c2d2hd4vq";};
+notomath-68014={run="04ik99znmf5a97q474p8fj4rhmggzggn9kbdyxhpwxcd1s15w629";doc="0bwcf8s46i3gb79yns1y7crfhjsv32np496rhqq197cjd1c4lml9";};
+novel-68807={run="1k9kkgxsxp1b9fd5d82swypacp2icpp81dy5xnbc1y43wvg2z8r8";doc="08ayhlq5wx9hxn86imy893mamsskl7hk8ya409c6rpkn0y356g5n";};
 nowidow-24066={run="1w18i36ynsyldb9gs0yhv6plyrjs4762y7bglncv7bhqjmyy7y3g";doc="1l2zq2ain8nhkaa8aagpm22nvg8p1vk2cdgs6pmrydk0hhmjh01h";source="01qjfpps7ahmrwvg142mspj8gsyx21l3nr75g0v7qsqxbfjjy6gk";};
 nox-30991={run="06036p9059x0lzliq9b2pqahnbp8jlkd1gnq300rq0syj37mjk5f";doc="1qfjlzczcnmf3pgqf4qr5v9c6ws6qba9hm28h3xwf2s3099drxjd";};
-npp-for-context-51389={doc="11bzcxi27yia87ia7ych62gi2y59jx379fz63avc4qyq4m9686ag";};
 nrc-29027={run="01pczvyzfc2vnrfsab180fg0nz13cmry0dvdxmq3lxzp75ji5aqj";doc="0l6lpvddg25k8dynqr26gj7fnaq7k6zbzp5p62684sz9351pvz6c";source="0lzfw45m3mw7yd9sx6lya6cvan696p74wrxgvmqa73prc2lhmbv8";};
 ntgclass-65522={run="0dlm313f7m0cj0fsqv884xi16kq9imrkkiaxg8lszy8idp9vvmhf";doc="1c8kc3q9xqxl28xdyzlnlzwdfixbfra6vi32p6iy353mdhvhx2r5";source="0fhs6v9zkfxfxp2g17h4cxa4k9dm4dfgk2dl76w61ad41wd629d8";};
 nth-54252={run="0716sd99xjdkplm7jdmg4lx8lpfnnx6mxjp1l1sp2bfqcg73p4hm";};
@@ -2696,18 +2756,18 @@ nuc-22256={run="1918fk7bh6pz1grm1655fag16i0ir67ywcx28jsggsly6641nkm9";doc="0r434
 nucleardata-47307={run="0rrxpz66rf6g9cp6ix4rrbjqj9s357qsbv87dhri62iy3alw5bv9";doc="0kfi9c6isdlf188zsk2yx38z43zjzxf8fhvl3hm2y87di2kihdax";source="1lai682rycff3hm954x482hzn1mq1lrik3g1fwkbm73s99nljyj1";};
 numberedblock-33109={run="11v5n8s9glczglmqm4bfykg5v0qdqr2wfnymb15aichqqvbfcgsd";doc="0rh954i5167pmwmisn3v26zqqgdrk5bcn2pc16m3wyrdgvq02kzw";};
 numberpt-51640={run="1f4hmqlkfzqm8c4q9cbcqsh9pkchnylfv6gfzafgn9v3rdksg2dj";doc="04hdl6zrzw4zm8cihvfidlnjirfj7zlmh9mb7nzzq68cyxn30256";source="0ha3v5lgn8sycfxs6hlbdf7n0b8mcl2mny2kx37s1bib0h8i0bxg";};
-numerica-61283={run="1jnpxj4z8ln5isv9sk8qis446zlwnmj971j0b15zk95d7ddkbl8k";doc="0l2czqs4cqfwqsk7arqc6rg9zj4ayy46i892908pgdlvdksa1kh9";};
-numerica-plus-61289={run="0qr246dk83vkzxz18pn2fzn0n7bg19m785dkgwsmqyzdal684ajl";doc="1lpv72f54a2ny9ilhqrmb0dxqyx6m6wsnl32j79n42k1cahhyh37";};
-numerica-tables-61288={run="0dw5zdivhhnh2vbp83wnv0cijd0sqd9ddqx4fsbc3z06a2r1pcs0";doc="1x60sr6l0p7d599dslpxxlnch9fnzpd97h2p82r7awyz52q2jjm0";};
+numerica-68021={run="0x4nx06ppb1blp4012pb6l3fkp3ikw94xy9g3653cam3p6pwlviv";doc="0dhsfbysxrm91hxhgs842yv6cxx0agsj486sibzwsxajbmwxc36g";};
+numerica-plus-68019={run="1x4dmzxb4m11kdscmp8n7jd1ihd21h0nh6dx3gx8nmxghzq20160";doc="0h3y8nxw4zdbxzwkfkffkc8p0pjmxd0lh8zcn5cisdjzk2dsjjyq";};
+numerica-tables-68193={run="16zsxbdydwzh460qc69zs54w666qmim5rn0lgf5b9kx2l0x8mvbm";doc="0b1v2a44lzys1qq2c98c22v0i920j07k2ayi8l4kb0z95gzq4y29";};
 numericplots-31729={run="1c127aalh7jcx9rxhsyhi2k1qdz6fg8d6qj0kvf564s9c0npgar6";doc="045z6l4dmn3bzfsn7gi6bdhwvp3cbf9nj8fcs6q07vi4by71bk98";};
 numname-18130={run="0sj8plvx36i2azwnk9zhxd16x7dxk2419rdzc93pl3f68kxdmy5y";doc="18iarxgxxi5dj0cj1bf0il74ndn5lng3axf7zz0jwqpl5d84pz6b";};
 numnameru-44895={run="151c13r8arj094jw3zaymz6i7invgpyqr95p0qnwhj22z418pj1m";doc="1rrargznsmgq1h6a2ixxr9bg57zcrs9zwhxgz0ssbscdyvjqik8n";};
 numprint-27498={run="0wkijyxl1zzay8vqvsyhk6kf5247qr8k55rz91dn1ph7b597d952";doc="1jra448iyyvc8qgc9z49brb6j9c89fzf5zhgz48k9959bv8izs8r";source="1svwh456nbswkrmj98s91vr2x05fvs58chkr5d5slq14wg1cpa0q";};
 numspell-61132={run="10rqraqmnd3pybpih3fhk0068g448252hwcckxzd9vd33n7gfw1a";doc="1hlfb7b3hq9ps7l6z0qzymc8mg67kdipcshb1bpkindasx6dnkl3";};
 nunito-57429={run="08hnxivx7ixmvp7l6kxfr0vxy7c78i9jqkam0xxg5mkxs9ip481k";doc="0xhv3rws4kp5s4q4c10ykkf3yyl9i9ndxjavjx9xxxwm1iap9m3f";};
-nwafuthesis-63438={run="0clw1020mi52gjd2cl6ij71jx94niyl79p3n54hccammsdwzq1ga";doc="1pmf4gb0v5y505b5lw3wsfy91nmas88l98g0ncwnmvx3zbm1yf0s";source="1icvfs9l8qh93wgjs4zawzfwipmml19bs1b2ix01dhavai85pl2a";};
+nwafuthesis-66895={run="0vicfc3gnxf7cvj7lqa8sd5maxlkfqazc3wi8il553fw88dxvkcq";doc="10sln765phsv6rpxjhn6z431nwwkch3qbq0s3wjk0mc34302qykx";source="1xk78d8zaqbn82lsw0fi428ac9ybs0xnnva2lkb9k8zyijz5w04r";};
 nwejm-64462={run="0c3m871h5s86n61yappdbw42yws7nwk3z6fa7nwqx55nd145yhab";doc="041ksqcn7dz37rj6f3bb02mjai9xl58wbzkzpac4i2fnz3i7hclk";source="1y7a4yn0vkxg1r5fjbpdm3b9y2sn6bsg0f92qcv706siyyynkbmp";};
-oberdiek-65521={run="0hqbq0i6miyi068xsq44zkpsv8crnp9c1w5sscflj7b3zzrd6wjb";doc="053gd080j36f6zyij2d9ngwihcpwmvj2rz1lshhrlvbavh5mawv3";source="0k5jwnv9c02lckfl80ybjbdc10h4ipiviljdzz768qgmxx5bpdvr";};
+oberdiek-69038={run="1gp308z3xisg8qmg6bggddmmjdpcg074vv15jwhb6z8xfwyj3jvp";doc="1cxl8d26mclv7054s92c11s301gk9kv11zicx8ikv7mpa605ylrf";source="0xcdyy5v1a28zqyip8n8j8szj0bdircciww0a98w5wfxgl1d0dym";};
 objectz-61719={run="0s93jjwcmyjd126wmf2rw3776jgq0ldk40f269cp29968q00sfn3";doc="1qxqphnsgh412lizx6jij6qhnlx1d558bzd3klqf950bp2hy3cm6";source="1l8afdawrrcnbpqdhjls28ncksg8lzs7g59viqygwixwplha0fb9";};
 obnov-33355={run="14cz2rqp4sf4f880d49yhvqjkzm5aw91cdijmqwf283cqgzhdmlf";doc="0k20zh42vcm449dh662frdmspmycx0mi81ml8qkvnncy8h40jxr8";};
 ocg-p-28803={run="1cfg5253i7rb0ng65fwm6v0yhs2l91gv0a3d8bra1bkwz2f1mfmj";doc="185fgw41dbw1hsbv5lr84spv1qcfglm0xhrgwk92g0dgh20d0kfd";};
@@ -2717,46 +2777,48 @@ ocherokee-25689={run="1xhb9y2m6sahkqlng98f9rqi94hrj66594zqdd2sv82902vfgl9p";doc=
 ocr-b-20852={run="0y62xmxbw7573fwvfr69r7bhfcywvhcb4mg7am5c3j96ipq5vqzh";doc="13r2chskacbnfawlc9xwskrl8lqj3dx8gzzpyjjk09rx1g5q9gc1";};
 ocr-b-outline-20969={run="11lv3dba2g8mrnfh1y6agg8ipivhnppd3s7gqljlpdbdbk40zbyn";doc="0017l87j9g42cjy1ki2xksh6xq0hl3rsxcrdyrddvvxp520p02x4";source="0yn2mcwj73mazk503f13qmfy2bqkq0gz264ckr33bc88f1i1518b";};
 ocr-latex-15878={run="1l5s8wlqk4fc9i3fizhbm3c7nafq36w39693xm1x07giqqw8q8cl";doc="0ai4kr65ls66ywxncb63jr6gy6lcw6zjvlgsbp4wd6kfjxs27bh7";};
-octave-66119={run="0sw5r5gqvpmrn96rfz8y8hdbrwasv751p7ga5dary1v1kp4brcr0";doc="1r9wywnqhgrg2jjlzyafhdnyxd3fa17zjbbw1bj2a3r2jzd201h5";};
+octave-66115={run="0sw5r5gqvpmrn96rfz8y8hdbrwasv751p7ga5dary1v1kp4brcr0";doc="1r9wywnqhgrg2jjlzyafhdnyxd3fa17zjbbw1bj2a3r2jzd201h5";};
 octavo-15878={run="16pwz513a39630p51n84761asli9kba5z3pmbgfkcz7yfk9iiq22";doc="0rdb58jnyyp12i7ndd6qibs2jc1f0zcw42jh9j48aid6nwslvrbr";source="1f13rhvd2l3v7fdivk1ybw0gnacv9y2pzwnbw8ykmaq3x7m3x2j6";};
-odsfile-65268={run="1zszlwr8aklijlwpqm91wmmf2fv1frmq1mf0vw4c754s21d61a6r";doc="1vk6q98xbq4zinkpjklq4pgw9ib4bnz346pbza8fi3v9q2szzz35";};
+odsfile-68204={run="1k1rhixcwaqyzawpajbi3ljnmawc5l582vb0vzsnmq5dkry7ccsd";doc="1jrq1mp70vj3cncv1l4f8km7yrn2lbhjlcrk0qa716r5isqhawfq";};
 ofs-16991={run="0g2rxji8g1nafyg1nzpy18vzk20p4p6r754m89naygs1qn5n4h01";doc="1v1z08m2ha071kb8zia1wlgkflkzj4hjws8rqnq7asvhi1s2p1rj";};
 ogham-24876={run="0hl3xjmd2bagcn2wnmr2rs1hzmgvm421rkdaimplzdnwj0r64j49";doc="0phm6xdxl1a6nh6g17nyz6p7f2ymll39k42588dzw45z7zwan40i";};
 oinuit-28668={run="1wr3r06hbxrc0v9cwyp7ad6jimw05x3yn6vqpnzchk5l0ixnlkaf";doc="1919kmp5sxd9q49m6dd8zrnjx0cqgav1i87gag1rffd5hz9w4fys";source="1mymvxv4721nhmfdlbl9bgc76dainzykggf93jx6xfwlld0krgis";};
 old-arrows-42872={run="1immbai327l7vkq67nz6mcnyqmx3ajg3blrhbmffkbl92482bv4d";doc="01kdfgiqp5n74lipiviv2alzallba37gyzfp1sqrvwwvrp3a3z63";};
 oldlatin-17932={run="0cxpm5qvbn0a643x2h4dc0pf00kqqk1z540j6dp7mbiwv48qqzdb";doc="1my5h8wq241dm3d6czb1spznrxmrclwgn8i391pwmc11z2ijqgjk";};
-oldstandard-64464={run="1b6vdk3gnqnha3yjcbszxk1lxr8ish2gw74rv63gp11cqbp1bcj6";doc="039pwj7myd53jljp8ihhd99ggl8zq4744s5i91sn1b3c44ipsgy3";};
+oldstandard-69185={run="01cfmbwlm3x7i331wkwgjq9l71wa2l490lqmjnr0n7dg5nk9kfk2";doc="0kbqi8vyz9rbb08yhy22ll65fq5i7xbxa9pwgfx6sxz6gsbdfin5";};
 oldstyle-15878={run="14lm3ghfgfqafqivam1dqf3gqgkchnbnc84z5i0whg2p18x9zns5";doc="1qj8nbcx1krpha49k4yzyix13vs9s41g96r7kpdmv52vlpfgs4lx";source="13c4dxvikdxx7qv7y9rfpgj4fgzp21q71xpmq1jzx7phwrsn6wcw";};
 olsak-misc-65631={run="1gm01jvlj8vcl9a3v53bcmg604dzf4immd39dj6n6c692r38hhzr";doc="1afxiazmp8pvgfym1i2bj8k5slfqi81d915d7lax59ib0p05w4mi";};
 omega-33046={run="047w29bij6g9k9fl7ymap4arhdmm9kvjfsikvjkf9nd7shd6k4kl";doc="0r686ck7z6vxcajrjihp4a4mh3z23xr8ic34dv9yp039dh0kbm71";};
-omegaware-62517={doc="08vsd2sdbv5qjdbc2yfn2civa9d5zqazd2fl8x4liq7wb426p7h0";};
-onedown-59010={run="19n9kl4l7z6h3vfkbv6m48vwds152cj8f764jz4n6vcwxvp10943";doc="0ca0j01gyv086x4zjy4arwgwk6vlapsr7fmqxiihkhngj60fr1sd";source="1ha3n8v7nkqkxvk2jc05y2i0665xnxa1n53pqhabh98b5qmck5bz";};
+omegaware-66186={doc="06kzz0342h6vvc32ydrzgpqsdqv5l0jbd5finr43fmzqi5jnswil";};
+onedown-69067={run="1hzj2cyyp3zqa2wnw576cjqg6nqziahdn3vijg9y7jr0gc3372ch";doc="0a4hvgsy9i6a26k6n51dv1pdx92d4vk6p3vdrbx8mqwigwa3rijq";source="0kbilw165090a925g1p6z6ayfynv0z7zjzw2c8sca3v0ncyy3cdj";};
 onlyamsmath-42927={run="158p92zgnmicfwibiyr5qbkwwkxhvfpvngkbpbw6grbdhlwsn63g";doc="1d2znlhbz509rqzlwqnbz9b64mpbhckh8pv23fqr8058xlbazkh6";source="08znvq2bzapn0dfa7f4sd08gm5k7m3sh6hkwy17zwkc0987wx487";};
 onrannual-17474={run="0bj29lk2nlsmky82ablxl0r6k6wl627zrsv9g97hydgdmi5nxasz";doc="08c3xmyiz91623lnps3iahi5ga9941nc6bvxmdihadxhm2lk769z";};
+opbible-68465={run="0njr5kkp6a0xfd010w3n8g65bv88zx26yd4nslajsip2nzad14n9";doc="0lyghd30v6wx5cmv7sidyy39qjkng3xlazgg50s6iaydld8hk608";};
 opcit-15878={run="1g54f5sv05rg1xxpydsakjrlckmh1wq0p15w4q0935iw0aq7rn8g";doc="1rx3ap93f4570d006qci6j6qi88zwxc8504gg554aak1lffazw5m";source="0242ajp415h3y20dyvi2lrp38saq10dgb6hpnmadzs7wrwxhma55";};
-opencolor-66372={run="18a6vha0n4mwgx9lnm3d4j4rkf72qx88fbzgs164arzpx4gp0ypy";doc="0n7myxbkijvqgxsvf9c2llkwhqj06i80sv81vgkxvx16974z0mg3";};
+opencolor-66363={run="18a6vha0n4mwgx9lnm3d4j4rkf72qx88fbzgs164arzpx4gp0ypy";doc="0n7myxbkijvqgxsvf9c2llkwhqj06i80sv81vgkxvx16974z0mg3";};
 opensans-54512={run="0xj7v9lv1ni7mq175l29a039a2ifmdsy1wnv1h0gfni5c34knm1w";doc="178pa2kjvp15la857iblh9qc195z3byd1wxxyn7c5bzmndvypgxn";};
 oplotsymbl-44951={run="1x5wqngjdmc4751ci5qaivzgqynmmg00kg2clngxjqf48n4fakdd";doc="0bj6w6h4g991rfddmrxgc02090vay2h2qjx36cb0hfx55gwkmh3b";};
 opteng-27331={run="07a6dja6s7c1759i9afgacx4v0fli98s6mcq5zig689hpkw841fg";doc="1125aj55p7n6b03mn6p6845yvx2jbjkwwldgwiixypklndqsf6cm";};
-optex-66516={run="09wprhbdr2m7p1hp46mbkwi6cc8w9d892z1qazhc80cgwy0ysfxj";doc="18ni5w0rr3as0cpb065myzvf4rqm2vx3wz1zblv11xchvi10sxnh";};
+optex-68873={run="0bkp2k9yflmndvzxf071wr0i5rhx4r3rjwf1jz5mv24291k617qk";doc="0pnn7vsfa4yncak7885lc4lcg9viwcl7q80f4g8axil1ash1f0mi";};
 optexcount-59817={run="15i48ly8mbhhk0mq4gxwpwbvhpgvk1pb8bfbmfk83sp1liq7xijc";doc="1cvhzkl2lbz939y417ipi22n9alh9j7f06d2r1s0h294692m7bpv";source="0s51426ib070x23d92rgpj247qni42hzaw569z64i7zr3nyx16dh";};
 optidef-50941={run="1jvalzi2gid20wn253swvhil05m273x6685n0b5wbrz5kbvzk212";doc="0sdd6rsdfx1fcw1493b12ww5llww6mv0rij3f1ik290c6qbmyr3w";};
 optional-18131={run="1mv65cqcrjhykpl565z96s57z05635q513qr440crbh61rp93chs";doc="1ks001q2b1yw87q0frhqq6yv77mskng6v1sm6kd8r22cv5g49xbx";};
 options-39030={run="1v2j59zcv5cplh3czd6r7cs4n79yvw3448492bxk446j4lx2mfcx";doc="1za038prpjb3s74ryr25q7hmz881gr8abmf68h7xdjq6bdk73da5";};
-orcidlink-59560={run="1ji42jszdnkalqq65ka45brdvsl4x7cpxdk6rvfsiacrcpbr6j36";doc="0np3dvf7l95h0gxg91qcd8f9sl0xv3gpqd6krw3bsjqa36ir7vcd";source="16ls5hwlb5yjls6fwcafsfsz1wgdp7lci7jgdzsc9fqkz0ml2yyf";};
+orcidlink-69253={run="0gjgjwgc05iavwwx6s3zrmb3ac4nv5y533bgap14wwx6x50i2hf6";doc="1ajspvsx9ginyh1j0k1q88081dh0jxrsyr0c249wlnkbdkpcf6gx";source="0nlhscyjkg5lgi0y7sddwkdr5v5wcs4ilxxcpap75a9hdk4ckiph";};
 ordinalpt-15878={run="0nia32ms50727kn080xm2v0kjzws5sj6jdy7kglp8wkipvc6nw82";doc="1nwfz0q6csg7rg3hqgddjbiz8f1nfcgghiqvj2wxqf0cfjh8zb95";source="0rzlbngvszl1sjrigpn55i7a8rwnj9sy76c7gwb43d4im1ybd14d";};
 orientation-57390={run="0qcqyr76wiks50i1zr3skp7bsnjzi6snsyvsm2za3l08kbdi3ixx";doc="02cmfz42sdd1gr4yaha603rppdh4c4wjj0jbcrmwlfgl9a47rj11";};
 orkhun-15878={run="0x78b5d70cxy7binl5iq2jwgsjh9rzs87wc8ib18jxscqick5jgk";doc="0q9hwwf80hq6wffyvd26kq2053vs5czly9zlsclh93hsmzg3vj9g";};
 oscola-54328={run="06jgk12q9hmbqcmwb837n8l96f3bafc7mgnv4v9amnh4ajlg6i5x";doc="0qzn7d70vl0lxyql152pzzhi72ivdslmxvfwr70186lh6fjxr4nb";};
+oststud-67217={run="1yzsibisphck9a6dlbvcs84qz3lhnj6amj6vfzh8rgy40s7vvz3x";doc="1sj2lk6fhx9bdgpxnmw6m25yrjmka6m2ygiapj42jp81n51pvyzn";source="0phykgmzds9bvsblfazg82arwdhzssjc6b9faazi5h57jcmvbss8";};
 oswald-60784={run="1dkv4javwj8zfk987grjx00p0p3hnzajm4mgddm1g4z1zfjfdd4n";doc="16pgbws7vf93dwaw8cm4laz09hywp1xigrbdbaq9ngg9g97sn0l0";};
-ot-tableau-59318={run="0c3nlrm4h0fs3ddm54jpv9w2qpyql7ys1j4cf3y7svas59px4b8v";doc="0sj78f1vgr4zy0pyjqf82jf0xyrmrj29xn9a0zgzhn15rgh8wdyj";};
+ot-tableau-67813={run="0wrxkvi28a19kdgsms38wgxgygib0iypz0y830gizq339vj72v2l";doc="143rx32hnxnbw61n8w6skcqs8ix411dwcwgn43xzw238almmhidx";};
 othello-15878={run="17y68qzxifgnh8k1q6qfn97ka7703ac8nqk62ridn1wbxc6fb80r";doc="022pv02lvlphl8168rrcdzk6w7d9wd52riybfvvy537ifwp7kqr9";};
 othelloboard-23714={run="00cybd6dg10bwl2k87i2lj9jq1nmq4jc9v4qhjwqij5zv0l5yz4v";doc="0g5k2q33r726xyj1mp08qmyb4xdihiyzsm52mgbdn95iz08b2989";};
 otibet-45777={run="0fg3gc7614r1b304g78ipq6d84bml2q4mvl2yc49jjnz13nr05js";doc="07l6475b8z98pkmn5labv4i4q6g92lh5bdsdqcwd28v5y1jizhmy";source="0lfwadx3a1ni2k91dpzsdh297j3viq5dazaz78acb879lgz61ik5";};
 oubraces-21833={run="1rhavggv1c50krafvh7lwnvarh7lh59x7lwkipw24qakq7l2a6mg";doc="1bw3b54cn5dk0j4diq8qxfba0w3p0f78h4kycb2bqd2gq7258vyq";};
 oup-authoring-template-64491={run="0cqhrwpylpj0z5gcgx9lyhsh85vam3nfbzzsz9x9laf2rdi0v1qa";doc="118916mwp8zbjdqdwmxzwaf09a16rc2zrll9qmig33q48xszdf1r";};
 outerhbox-54254={run="1867xhxlbskiysifmwlr10lay8khragzi36fm552cwc4vjz2ybcz";};
-outilsgeomtikz-66465={run="18w3mzhrl4xwy6ni5546arjcgdpjgqw9vqvpsmbixszzz85pvnag";doc="1wjlgldyjkgaixdi4nv06dbldj6v4nd23fh2sj1cf93y1lpy9zdz";};
+outilsgeomtikz-69124={run="0a0g6fnvxzh942n5lg71y2ry39ra9b01y8ngjb05sdvka9a9vwmv";doc="12msajfyvrqawq4j9d9pcqfsirsyiw57pna9zadkj8mizikfdv75";};
 outline-18360={run="1q5dr9xlsn3fz7bcv08biv5cv71qf8brzgg4468mksh8lc8r2kli";doc="103sijg9ib5qfwaxkdgf11zsdg2c46dv00hn08sspl56a08j54sl";};
 outliner-21095={run="03j0mshhrchrgpa2z7j7q6n783va5v0w16gp401rzbvvdn0l2qni";doc="0vi80qhq10yy051sfzh6pmn34laghhvx6plnggrwvcmpp4fcw14h";};
 outlines-25192={run="0wzrf2fkf9kh0d3jjbc3kxvsmkynwzg622ghwcabaps097r9z45i";doc="1avkpx77sis4hrrs9dqizq2sz4vjzvn19ks8q7l32qyz6lnxwk2b";};
@@ -2764,14 +2826,14 @@ outlining-45601={run="0kc3x4zq24f2dzwzypdi4ysgsfi40l54zxpaxdfgd662wxangrsp";doc=
 overarrows-65853={run="176w37bvjjc8hi2a48138gj77sj1ibfnc71355lpk3vh2whhrx4y";doc="06v0v79kcqakhkyjnp6c9rvqryiy8rrim82p0d9m98dib48h7h3h";source="0nmh0rrsbbcl842lc1zl2dhj5r403phamfbfxmn0qs0f1kqd2awn";};
 overlays-57866={run="1xfbb4953ab25dbccfsp9ban67vrq79j443mlglnzqmg1njrckk9";doc="1nm0d47vclan46q0zvigxri5zqmfpv0qkk0arsg836vnv7l53q0g";};
 overlock-64495={run="01h1fcgplfbfbkb1wp0gnf6xrqn8l8y1hxrd8gxpjqbg53wr278p";doc="0gl3n6h41fbzi4lcsdra5z3vafh7drm6g04ilmbb5cbkpnsyl3nz";};
-overpic-53889={run="1szm75fc37634pky5sm2l8b30zqw38n1h0y01w7c5is5s0a9zmgk";doc="1lixa20fskjpbc6clgr4sm74d76bqyyxc6y1drzhm9xnkggd29x1";source="0q48v02rvx1w95c077r7mdxzmvg7za151fxym24qsbdbqd3gr9ja";};
+overpic-69343={run="17bbk29v6pkrk9igzx4by586jfc997mj07srhgy401mnmxls2jyk";doc="067rq6plcan44h87adj9jlhnnlkk2f4slsid4v6x80423q4gfqll";source="1wi69kgglry5r8wg944x87scqsqx49ynj372y0qfa7n4dajxgzwz";};
 pacioli-24947={run="1fc15ygzkdbv5mykgrmzb6filkl3aipk7i9k1syh2ssr37ldxcjz";doc="0pknnd02q244pxyc2vapdx04adz7gwf41swda2xi3039x82pm8fd";source="0zl6l5yc7v5w1xjd83prvfmy8jf3jyblallphyglgb4vkqq6mxxr";};
 padauk-42617={run="1yjqxzqsvk2mdsk837bgwqf3nfm9gh873bnir19wj5kj622zfh4d";doc="0331w1z1b5x15yb3xyxv008l95idv5yq9xb87da5r9p5fzfh1z0y";};
 padcount-47621={run="15p8g5hjwlm80xnm9py3ss6afl6c8rdq8f92z7518hp0yp7d3zfw";doc="1crpv27a9rfmh4dcliqvi7aa4h4lvkv48k5zk0kx6ahhxa2zkzaa";source="0vkk0c7gvzihlmw3f8ni4awj9r6xrysj9rrsbqk6dkngrg02x4xz";};
-pagecolor-65843={run="0kgw5jr8l77cxb7xq53pvkyfs15lq4wxyv50pbd849fjm1rjlii1";doc="07vjcfihij3w2258id0zgrgzf8znzmasiwyinah3h6snpfg83kg9";source="11iyizwd6gyzaz0gzi4n401wqabkv7dfrsfrbz2vpx73fwnnf72a";};
+pagecolor-66885={run="0ycmswy7jghmnpkdv6b519yx7ga56aw7yxq6671nlg1iq1k045kx";doc="18xnh0588b95h7fmqwqzb0p2n9fclqy0hxv3a1cci8anpcr6xz0q";source="0qc662yig96f53wdbawgvsg4wx0dikcnf85b2cffwlkr8qzrwlsg";};
 pagecont-15878={run="1fh6bplg468dandbyvmwf13sh27r6x4dmrwslldlc9580h8jv02k";doc="1vrcr5l1facyyf9p8977q0i5m7cn7y40dbmiv99314iyawa3rr1g";source="1qc105f5v0jiahk8gpgr77lqfaladba4hmqnfizbblzbjhhgg05p";};
 pagegrid-64470={run="054yaxr2q8x82dii8bpy3y1nhc1drvwm98cd3asaddh4lzrpl9vl";doc="10rsrkdl9bp04kxxl2g3rfscf0hcw122py25x2jbq6lgz76780jm";source="0fbzd20z106cgzknj98ryzmwiixmbpvnx5p8v3ns6yjrwrcng3lj";};
-pagelayout-66399={run="1izl4zm4jpcq7qmia75apiz368dxq1zahqxn4cbhg932f4f6lv1h";doc="0cfy6lc1lgsqwfy1cyi66cfg3jhjprh1259iq666kv0ljyk06fdf";};
+pagelayout-69188={run="04492pp3xcgg9hbz2vygqsfriljhjqg7nxivjhg5m7v9c4vvzj47";doc="1rw33vvag98q7mjdhvk954c1ady62xv20s8qd94b09caclkpdgzv";};
 pagella-otf-64705={run="1vrzz63la6i270bjqb1nd4rsqqgl13nrqrbmr0l58bmjj7qh95d1";doc="1dffy7z3cfyq2kzyvbarlqivfv4rs70qa7drii2arv2m1609ylz4";};
 pagenote-63708={run="0jd80dz0jl2gmfr74lw6jy1x2hj6zlji9az956gkj8bxxc6zir54";doc="1s7imj4fi08487xmcsicsa4cknpsgd10dbcyn6vkggm95qn6119w";source="07ngnfinv2mki203in54l4gx7r4qx9rm8k4x7856gr7jy1wkw16f";};
 pagerange-16915={run="1nixc1dn9cbdi3pa5yxajii6c9ljgc2jrnknsa7wb66kj5j1lqch";doc="1vy3c498j95miksm254a1sh7d8bp3g5p7lvncc1xad4g388q6hak";};
@@ -2779,44 +2841,49 @@ pagesel-56105={run="1j6rg25mhaiamlff4j4lw8pbp6x3mcg00biqz2apsbi6kmbiljw8";doc="0
 pageslts-39164={run="1lm8707bl8a9kxrbbr6sap3p66zwjklqv13invm4gcsg92yf7yhi";doc="163h2h9n4cvap2c369f2yxv3idij6wzjqwf0wd7w5024h1vvj683";source="01nwizj0vlnwzbqyl5dn02vg5xl2aw60wyvp4plm0agg8kxmsi3a";};
 palatino-61719={run="12jc0av7v99857jigmva47qaxyllhpzsnqis10n0qya2kz44xf22";};
 palette-60119={run="0wabk4pw6gr9y309dsh11w6gygayzglh0jabqi0zsvy0ikr7wri0";doc="1dp867fydnxdw82z4gxp1sbz5w5q9jfnls6r9izylrzy242rd52l";source="0iic125v6j1ljgnm7d0qicckxwmgdg7cz568556257js942ldyxx";};
-pangram-66305={run="1x8jdn8j3dgzkm7zv23529gr1jdmh15wkwkljzsc1dnviz0ppacg";doc="1y7lakwbh58y7mvwfqp6m4r9ad0kblsls53n7ciq994hfa6gx07z";source="0xq10764gznwqf7nfaqjjqd6s73a9h13970bcrds7jiyq1s8l382";};
+pangram-66300={run="1x8jdn8j3dgzkm7zv23529gr1jdmh15wkwkljzsc1dnviz0ppacg";doc="1y7lakwbh58y7mvwfqp6m4r9ad0kblsls53n7ciq994hfa6gx07z";source="0xq10764gznwqf7nfaqjjqd6s73a9h13970bcrds7jiyq1s8l382";};
+panneauxroute-67951={run="015w3jivsfxcb0gjrlpz796p50wchmb34w3ad0dk73qhn2jrx6p2";doc="17c6bnyxs6szybqb1ihv0q8pn3wb950s64z639vhdwhaqvppd2f4";};
 paper-34521={run="1d8w8aicx5drrgqdcrsb7vdy39xh6xmnnpympy1db5i2mc2nkjca";doc="1r03wy4harxplfhqp0dsqfpp0s4j5gn6k2p43fpw7wndna8lnhyc";source="0c1iv6aynpfi37bg30q235zdpbyhj83rkir4kdg4vl8q27c8gpwg";};
 papercdcase-15878={run="0gfkn87avjnfjx2k6hz5k2s9iy2lxwx9x4r0cp1lcwjgjsavf2y3";doc="1hm0i4vvxhxn0wvsrbxd2lkqspqkq7ik3sxxm1nd575p5l3zgl69";source="0mkadgjk395z280220zndpbbks331d5hcsxqnarpjmh00mkhdj7f";};
-papermas-23667={run="0x4h95w4znr0qkbmh18ws13c49fq9wmx1g0rhkwbkg5yxibyhbk1";doc="0vv07vzfsgmpm748si100rbsfp0ipvnnnqidg6c5b4fgydz2dcdk";source="1z2wvpy8r0qq0zjf48i2z93iyz6vjnzc0vm8g5pd5zrq961hfj4r";};
+papermas-66835={run="19i4m31q8jji3chanrbqqxni9x2c4mk0qp1scf0brjaznrcv4dvv";doc="1an36yvg7z1yhb6gn9ppxp24qgdjmpndwy8nwn87cyr4fqmrmgr7";source="1r3cw66snl1dspbr9i6pz8v83x15ylhm2k5nbksrf7f24jrvvxn9";};
 papertex-19230={run="144zirbvdpq1q8an6i5rngycmlrgicf9skh6mnwyz45n4zyyzyg1";doc="1aip8lhazpmmvdib6yqivbgjagyyhmava29q9hrlx833385vvnhj";source="0bfkh8vwqh6jx34fmqfqf2qz5wjpmq9bpzbppf0cphs5frbwg10b";};
+papiergurvan-68239={run="1gyf1liq3lv8dbfdpv2ilbwks4k88m2ywnv3qxpbrg3v2l010c75";doc="1mw0sc6svi8rci96wl2273bgn2f3w44gdczaldfflxc7az4mhmvb";};
 paracol-49560={run="0lbdk9wbs6c6kq0iyf6amc72m1njdf3h8yvcnka9dkhjp228ldf0";doc="0fnby29nnrasv32p9xwwwax57ijzscpnsv43rwajlqwcdhi3s2nj";source="0q9izjw8lrwcbx0cpq66pr33cn02wl4daxsjvlkrjzw8zzrijl64";};
 parades-40042={run="1vmjda4cvajsqai47wvl0byi552gdcy0j4m36p58gjn3d9bc8818";doc="1lz9dsy94x5cvv55nk975fw7dlg4bm6d8ls0p6gy5b58sjd6vcp8";};
 paralist-43021={run="19m0ddw80vjzm8p0z5rrd3jf9kqzq653h3jdqlnjw4g81r0z730p";doc="03kv1n9m1b6r0r5drp81hv2i8dgnlcsz81rhi4h6a3xyxnyhw6bj";source="069mn3mk34rxxhl1c1878zs61pk7asa21iwwk6r2v88yziczkhlm";};
 parallel-15878={run="0hja3k53n8v8qzj1vym1j2b4pj7hqszda82s83kw1v5av6kcy4da";doc="1i0ls71ib0l3igd52cgn5z0cjz0j17hsj0qc5y4sqg2nvivvw7gy";source="1slmdxldvxrvf61aa1b7m09cxpv6jsaw5lvbgqsby6jvgfp4r4g8";};
-paratype-32859={run="1cwcw13xdarisjslsp8aayb984fk4qhx1ihg887fzli0wn7kpvvr";doc="0kz4nzz3v6a4qk2svgqyx02j0pni92qpm5agb6k0vwylmvx6yyzi";};
+paratype-68624={run="1cwcw13xdarisjslsp8aayb984fk4qhx1ihg887fzli0wn7kpvvr";doc="0kz4nzz3v6a4qk2svgqyx02j0pni92qpm5agb6k0vwylmvx6yyzi";};
 paresse-59228={run="0mbxnc8c7iiwcmh17n4yhl1imvsq2q7wng98k6h9r15nqf5ivk1x";doc="1qmqki6fm316bixxjispq92dc1b3zhrnh4ad64wdlsr3fpja6g1q";source="0dc0hblq764q23xnz7yj1nawdr5m55526l0dw7b49p5rdb0zhcg3";};
 parnotes-51720={run="0d8600ssj90rwl9rxd27i23f58lmxyf5r1sn8yrl8fjnq42q447b";doc="089i9fwzjcv98pnqmhca26wpvn71zcgb79y3jg5w8szagli38839";};
 parrun-15878={run="08cbzlfy5cfkxpgr4igv3282k1dx9bsvsjfdi8b5dhl2gacg4i7a";doc="0wvbmjzi8jwx5gdg8zgb4p3gz8v8rfp2hw67q0rm5f9rkza1a3ds";source="0d79vvc4j1sysbpy1qdqwd27fai14820z0hqkkd6hrxzq39x6xza";};
 parsa-54840={run="1n2yh9v3d8s32ylicq5vn76m91s6648zgvys6vg8m63pafzl8rlm";doc="0i3d87kajjcw9mallswncp113jz9jn35jkj2y10dmx6z5sv3x3qx";};
 parselines-21475={run="0ymcapxlfyb6xi4k0z1y42cyzan67yg5v4nnc2f1ac35yw4z57pz";doc="0396j4dscv2pqk9vxmz0p4xm4l3v9ln98cwv32r615l1k68vafsg";source="0cg77iddyvl6p818j74ci2zg4zdddp82wddhxqh57qg8vcvi9g5c";};
+parsimatn-69090={run="0dd3jhkv5vqijlkzwf4fd6sb1b8shjzkfydxx6ddbx6a0digxrpn";doc="00aa6asx9banp3v7mjp1axicfnfs1g3l6pf3ifq3n0vwjaxrpaw5";};
+parsinevis-68395={run="0g9ypx3ai49sfcr09q2q231p77z0glwwd0zwwfzxlhkyx4vp6vsp";doc="1mqhdyz9jlipjl74k5blpdizk79f5m876mgn6z39n1p0b4pc8724";};
 parskip-58358={run="037404fa7flsznyidn6vpp5r5rw6wpzrg6sc8zppj9hqciqlbd52";doc="1pw9mgg04lxmrin7vplqyfhxa2bb73yf7qj8l3bwc9yiw78v5h4m";source="1ysz2jfdi49qjyrfkx5k1vjcykk4774i581d7kynw7q9r25lyq9g";};
 pas-cours-55859={run="0gyw81drxs56dwqh6v1gqgs4xcwq78v9isgg38djxq17km075y3g";doc="1zn71815y5pkp24l0cd4283zb3i85mqqzbxmhxj19v5s4jx3ywsn";};
 pas-crosswords-32313={run="0nq8wqxrsgpdnmi2yqcs45mb93gp2lad6p0b6ifqr744hycq4njm";doc="154ifvbrx2z4ig8k00agjsgpsplrjlf8glcxipbgai9wqf82i2k5";};
 pas-cv-32263={run="01aqcqyw0h459xq18gc0y00z2j13zwdn72qpfmajps7ppadlcbxw";doc="0mwgvj4hbq9b6ih6l6hg6gl5qrxyyf0mimwv50vpy1z7bhdq2l6a";};
-pas-tableur-39542={run="0w4760s1z3nqnyf449vmd7x7inhsp08n9i794177rx7kc2yj2l7j";doc="0fish3403ixq2mp3l69qij4c74s999mimh7majfcw58b0y6nizpw";};
+pas-tableur-66860={run="0i91nszaymzzwijjlw0f865qx6j7x7rzrxbrc51i02qlfgpaq9zm";doc="0199rpla518gv3rdbchfinfan826z5qs8zxfkgh7rgd7i0cid29s";};
 pascaltriangle-61774={run="06gbr5jgfbms6p7ghdkq2cs9d6p8yr3mvhb0h811y5rphrfzh36g";doc="0fch8y78vd7ykwn9qdgl6m787m89ff3h1fpj0vvzj5vbxmvw6cli";};
 passivetex-15878={run="1h49v6sqbm27isfwwcql9dzxn4vmcn2algkqh7f1pzj860xw3ygn";};
 patch-42428={source="02xfy1fs30nha0l03lqwl8xrpd81855kb5nb660ks83aj187dghy";};
 patchcmd-41379={run="0v0033zpp4w75lbxk8w2byhgy3s6qvm9281xc2c75bryp0ar5pfq";doc="0vw698r5q5ai4lx4vrb24x8j9dc7iwaml8scsh9c22cpqn2sn26s";source="1cb90y0i5k9s4jj3f9vnj6rhxphjc14p5nm6hllibww3h1khnrxr";};
-patgen-62387={doc="169wlh4w5kjm5cxbw03mkw4qp31z1ih7zqx9sdkllnh0y6ssrisw";};
+patgen-66186={doc="03y05mv0n04hyj0lcq54grx7w5wv95h61j6xlx2jc9v0ib9akq4y";};
 patgen2-tutorial-58841={doc="016bx1rp8kpvlywg0yafhbbhlzw4zxdcbdrd5525vffn6fyp9fi3";};
 path-22045={run="14k9dqvcc2nazjysff0s1jrass14d2r9i9cgfx46ss09cw53h71s";doc="0kacibdjhmz39klvxr244n42c5vlaz1z71a8vnssmwmdzzwfzs5x";};
 pauldoc-16005={run="14p0lnn5hvn6szhgr0ngdc31dbjrfk7r8m8n2jn5n8nirsrdzjxf";doc="16ls36m6c8v4x46bz26ysl0ndi9jmby2gl8b9wglw9ba2gf97xjw";source="17440237dyqhxpszm6rcpdhb8dib6l9qfqj5ls2m0bk3vqm7xv8q";};
 pawpict-21629={run="0sx3lwgm3d3cm4s5408x5dhf45kngls8izzkqjrqjy074736968d";doc="17zf7acasv8h9crzg6jw3d2grmhi689476z9x6872h7kzkn3whj1";source="1vxmq9s2q6sq6qza6lhkd6lmj6pg4bw8qvcpqr8zr12nqcfy4z3g";};
 pax-63509={run="07mgly5jbvxav3k5z6li0z7vwq7fqrj6cq0ky41v7alddjpa4bg7";doc="0pii0k53c0np8d4yc61axasnr8aknknfm36px3xh9sl1a475bwmn";source="07jzn5k45pxslamrak05iykqng5rg1b4kh8p6zbadgxb8gxrqx3m";};
 pb-diagram-15878={run="07l8172hqnv9dq6qg1ipbjjbmkpv7s589gci6q82zb8a0y6kyqvy";doc="05h5i0b1y03j5y0nf8iv8hb5qnq1lh5a55nn8xggx2rknnq0d1b9";};
-pbalance-64002={run="1lknxyk8fprbrbvc38kyxwnl4q2pvfvlpyznbp50qil5v78qld7c";doc="1s7rz3zf51vlb7v98ah4ylcr2s17gmmwayv0jpv03yz65iwkjmcv";source="1v2ljik0rsn5zjmxygrzjinrnyx5b14l4qkl1xa7vlb4gxb8ld9f";};
-pbibtex-base-61914={run="0h5yi27rmh7ajih3ww4wn3z746mkdwrvz1pn44kklrz9nqryqwhl";doc="0j6dij9yx7cj4j0l3sbszskqdq9mr5svzjz21andfdhlp3pxdaa5";};
-pbibtex-manual-62913={doc="0kz91zpamg75f7jrnijqnj7zgbds4yiqh8iag3x5wbxy7xkm00ig";};
+pbalance-67201={run="1lknxyk8fprbrbvc38kyxwnl4q2pvfvlpyznbp50qil5v78qld7c";doc="1s7rz3zf51vlb7v98ah4ylcr2s17gmmwayv0jpv03yz65iwkjmcv";source="1v2ljik0rsn5zjmxygrzjinrnyx5b14l4qkl1xa7vlb4gxb8ld9f";};
+pbibtex-base-66085={run="046k2l3v0vzxa73n15999lamllkz18is3di7gh8k4jd7y61gv51d";doc="099z6wqv969yw705dwyykfshx025vdbb2azzmdwp7vdsrfjhzir2";};
+pbibtex-manual-66181={doc="030rhhb4xcijvjc0x1ylyk6xz5mn90wrlp5ss4yr6qlpzmq21b50";};
 pbox-24807={run="1b6xli52wbqlhxf2sk4ryighd6jaj6znvpfv6n9s1iq40ag943dc";doc="1qa0h3ahh8q990wbwyrp4glwhdhbcgzz9yp436083w8c9ang0lg4";source="15gqbvrsigqqyzcf8rda0z0kcw5h6cnk1l9pxjh7apz7i3k00i5c";};
 pbsheet-24830={run="04z9iszj9hx7la9zqqqxrsfq3b6asld4zxvrszyjqw7z3fj7pyz3";doc="02an134idar5ndk2kk2d446bxawv0xkrwg8xvgxgpp8s1pqdzai5";source="0ad7zs28d47p3swvl6kz2v1p2nskrcf8fjwy0igwy8d8qalk0dix";};
 pdf-trans-32809={run="0dr8d6szds3hlrnrw0rb7il23rxw5haz37dg3iacgcdkffnglkis";doc="1dcmcd57zv90jafx3whd0nn9hm5x7aynb5npassjqbglb9lfml87";};
 pdf14-17583={run="0gpbf1jxfjl56pn3sj50b6x0z3fqhb7d1dl8dhf31vgcj8sn9n08";doc="15rgv0fw23c4zbwlx149hhbq711hq39v1nka52mjpl7lgvvzny98";source="1wm9nlqws9g02zkk3rgrpaic293vfskfrxsn3s2jb3iz0f12bp2w";};
+pdfannotations-68958={run="1j63vhy9iwbcfd00i6gsgvrn0q2r25az38221m4758a5x0mggf9m";doc="1l8ddc4vwqnr65b81z8yr0al50p1pjdk3zq4yacqi6qf6kmwibf7";};
 pdfarticle-51127={run="123b9f0nl8wyyxfnbs5krr5ayrgl02hg9z8w87lj6g0lxch7dfhf";doc="1pg4iix7i0m3smy27xk5p03x8m6rq737kyhpf5qzckm276n88fzf";};
 pdfbook2-53521={run="027mgmbd3gnnc6gqk8vjnz8j52cvx71z5y6flrc4zd7g0syivdad";doc="0al7sc4rxwd7g1cmyh8v4qhmlngz19f0f08x8n3wbfnvk2f8n33x";};
 pdfcol-64469={run="1b5rzfx5lf0v3k1kb75j364jfdv4wg910qhv0218dp4mxwn985z3";doc="1qrd28c9z0x2jcvcp5041s6qbkcvham8m06xmjsd31kwnpr4f4df";source="1bgpg70150ifvrviwwbhzr1fa03fhnfa4agnhyfyp6y393i6dcc6";};
@@ -2824,64 +2891,66 @@ pdfcolfoot-65512={run="0i99z6niw3ryb7akzxxwhh0nkrajlfig6a2ixwsr8k5l4ga037cs";doc
 pdfcolmk-52912={run="09rqw5csr4c63w5z5c019rm8h4plqzwy0icxbzgap048a7x02kqh";doc="1nslm2frwxqcrm3spr601p2r6ga2b91d7v1v0rbi7h06h14mvxa6";};
 pdfcomment-49047={run="13cknk58kksg605m2jjkvmkfm47sdk56irj8xa3p0alx8c4cn67m";doc="011l19b3lhc8zn3dn071gnlg2300174xaqkdn83r631zz45yriv7";};
 pdfcprot-18735={run="0m4lf1rb2j81ry7v2g9lfqs42rizifd64q7xw9dzhnixp900ldfk";doc="0b9ac68snrs7fs8g8nqrs62h8jjfyjsa07psk8qc20nvpya3hjq9";source="00nmdx6l66w895fjir6r2pwrnh0vpn706i9wi5qxx143h75rgifl";};
-pdfcrop-55435={run="1pmh9zjxn4xplnwzl5rcb6g7lkqm19kzd1dfm08992c719clx38q";doc="0qayjkyn9sb9r5cvznpml0gd7vwpip0kf1b9r4jrd4vyfqkk6qqn";};
+pdfcrop-66862={run="099j54qmjd40q9mws11sadhzdmi70y27mjy8rpkw2ijhqgfhbiml";doc="1wnx4ci4p77cz7l6yihdbx62w65zd18smqqkb3vniqwr11232nqx";};
 pdfescape-53082={run="1vbdjmm9bi9ngzz2z1b8jnf6nzf9xsaj5pvyswg13y4dr00mnz6n";doc="1v81nw121acyv6mvpykgrcdvsgqmby8acpby5lj75ih4zya9gs4d";source="0jk7rnf3z1hlrqlrcx0bzic46v57d8vpm4w5fn4c37q1f4v5zmpi";};
 pdfextra-65184={run="11r5ifc28fhngzj6ygzfjk4j03xwri683498gf6zhwq0j3km70jf";doc="1cam2f5byw6l7rk8hb1zsw2l7qk52sv83wkx6qzgkhmzqbsh6wck";};
-pdfjam-56991={run="09h4s1kz13migq0slimh805pvnbfaazv9y6w1q5bcplyw0vibn1p";doc="0zpj2wzkx4mzrsmr7j0qx3zmq04ayxmdgj05a57pyc7gj7kwmb4q";};
+pdfjam-68597={run="1bjq9nax4i940y43b2iw2i7xjzd1q87h58sp4y1dh1x1n5a7fw8k";doc="1kh8xlzcbhnkrwz3yryg8ai7m315yw52k1ydapy218zbvjzrai5r";};
 pdflatexpicscale-46617={run="1z19y34c0x05yp49jqn0z8i3ghv0sz8zm0arb576rz7mskpivjqz";doc="0d1zzym0mgsbicp92qf60fq8l2sdbdx47517k9pj3v8g91svxlpw";};
 pdflscape-64851={run="07bmajz9ggwkq7pz49qipy3nmaqd6ypwhpxilsj9qw4bk5asxclw";doc="0s7bv2v7hcs90fvgk12ff3q89nhxp0v8zjv38wc5inhvhk77jvbd";source="1cx870l68mch1hg0va4g3vdjw4d508bw1kw9f3x9b4wfi7dqfwrh";};
-pdfmanagement-testphase-66534={run="18sk3gpxxl7kcn3vxfw8qmbm12ayqpr76iyhz370clhg2pm04day";doc="0nxag3hcjvdhmdc7vzqpgng71yk4kwjqgm643gr2j9bsx3zdysxl";source="0zg5hcnpy62spz27di14iv8gc97q0p1vkf6b1zrwb45na949nwz4";};
+pdfmanagement-testphase-69078={run="01ih6xxsmzp73h6v0wy9g10rwrmplyr8lpdaz99b5l0pyidh4p13";doc="1ghmz136p9pdg7yfv3g5zrlpwiv81l8p0syl43whdbkkmwky7y86";source="15rr5pli0zp8ziplpkyxzid1i0jjnwcl496pd2q460y07rdxhgbh";};
 pdfmarginpar-23492={run="0mhf21dcz4ndhbh1g0h3kcqza4ni6iigrkif0iryyzg1zcx60d19";doc="0arfch7gb07grg0n8ij0wfzbfzc8bv5izvhp3vjz8hl8ha3wyzgd";};
-pdfmsym-65324={run="0i776lqpwjavhvdw9ahzmjyaihcx072vhixnk70d7d32ph7vyqfl";doc="0v8qbi89cjcmlgbshny2p3g7c9imlaj3jwvrcqm3ykxxfycchfvc";};
+pdfmsym-66618={run="056w6dq5ymm0x71bcya5nq4iiflcmgw4fh6zv3yb8ihpjj3h00y5";doc="1vrgfpg21bzg8xcw6cf43bjc3gh0m3r0s0y8lqh2nmdl00pmybad";};
 pdfoverlay-64210={run="03cc0088b0iwjmx5wkcs48nnmygsg7w1xlvbi0pawgmhfvfivis9";doc="0702k1ckh9akj21xvbvn5s18x8s4nwk0m7jybkcl8f481qyhhv26";source="1z8n2a0kwp13iyja45l014jyl8aaw1hhnxgxfib6q8i0qd97xw73";};
 pdfpagediff-37946={run="1a4qmaypz1indb2pw4vz0hv8ihanhf9z0azs3zkv2ya6qkc0kphp";doc="12di5a3976bkilcyfg0imx3w8771ky0acgrag7xp9rpcggbi3r08";};
 pdfpages-65319={run="1ymrq5yhhjp5fg4sbbksyc44lqaz3jwx7lj0360xk14s6h53slyy";doc="1fn5sc8k4pfzsarq7j51iamyl3da7r1qv8jmr8mjafvrvzk6xbp0";source="10gilsm5b0qmfmacm2plhm1ivrvdnw0ikgmxapwdqi03qvizgyd2";};
-pdfpc-63866={run="0ap5mygl0vz0awqlmdw6j64k45cxi7aflvfk4dld2a7chr9dvfvs";doc="0w7bmhdgsgs9h9axvgz7mkmzlibp5bvhrd9crl31q3qdrh7x7wd6";};
-pdfpc-movie-48245={run="07d7d7h8zfap39dd3nks1bnpnfpgs8nrzzdsmchy6isqfmfrypgn";doc="1la9fvzrlik4ar3fdaxla5gbwpa2v49xrrwc4wy60i7h80vqv80d";source="07lw20wp5cqr0pvjsw3ds75n3hggxgcp9rbvw026lj5k54wik1bv";};
+pdfpc-68610={run="00zab5xlcqqvvwfxf1py7m6gslgv4drx8d419wl3zjmc6ww8156a";doc="1fm43d3q5gl8fg9p9n3z1nvcp6cykm271waphnjdkj29nbg7n9wv";};
+pdfpc-movie-67201={run="07d7d7h8zfap39dd3nks1bnpnfpgs8nrzzdsmchy6isqfmfrypgn";doc="1la9fvzrlik4ar3fdaxla5gbwpa2v49xrrwc4wy60i7h80vqv80d";source="07lw20wp5cqr0pvjsw3ds75n3hggxgcp9rbvw026lj5k54wik1bv";};
 pdfprivacy-45985={run="1l1nqf4ihwfycnb1x44l1dl2h9f3iy1ppvr0l4zb8qcjqhl4j63y";doc="15w8jwhksfiv0h2iixk07xvvmk1g2j322xqid753bcyks48xffjz";source="1nqjj51h0pcrjnybj3cqb8zwi0r1ipzzw8ic2clnf3in88pjzjhs";};
+pdfrender-69058={run="02zipdaymsrrryfn1cqmj5hmcg9r62mzrjil6fm8d4jgk8ihykm6";doc="0m1cdx7gh5w5a5g9n27a2amlkmy0ixi06w2a4b145sxy41acai50";source="11y3vy8709m5cz5r6zh3lnw451mn6l0674p63fcgqlircs0j7vr6";};
 pdfreview-50100={run="0saxaxhma5gdn150l934y0q8x0nigbcn9r7ixr8rwz4d85g05m9a";doc="1kdyc7h2dpr4gjzf9g0rx66gsxaiwran9k7vj8942pr3x2d2jbaa";};
 pdfscreen-42428={run="0kkdnwgwc9z1rqsz8cjsmfjdi3ycwi7n7pl2929yvvwixp10rr6f";doc="1zhg4vqfjjmg4z4blrr2zl6jp7m2c24m5diifgn5j3m8nwxp6m2j";};
 pdfslide-15878={run="1za0jp9dbrv0c875zddgcvddlk7gm47crmn97k4zx2s7glx24wj7";doc="1rv7wbzrlgj55n7r6i9bm1vxjvjr38v67lizmbdcxz1lfqbv0rw1";};
 pdfsync-20373={run="1wwndjn0058hflw73y8xfsmnspvaz61r55k96fmsdfb7xfncv1vn";doc="1dz826gclpf2knrgks0lhvm6rs1xjxqpzgbz4nkv1f8li7379y2q";};
-pdftex-65808={run="048dw9m8gk1rmx5v5ylymfcssbchpj9s5csjpip7dz0wa23yc19g";doc="1nrnv0rl9n0p6s35bdi4067kdb06v7wc0ax8pqp45x9gm95zxczg";};
+pdftex-66243={run="048dw9m8gk1rmx5v5ylymfcssbchpj9s5csjpip7dz0wa23yc19g";doc="0mszix35nlx7ba9plfdb26wclh33qzv11qd3b243ys0rkv9lbklf";};
 pdftex-quiet-49169={run="00df842vapzylgavkk2c0j8yg562n2jawwznvyf3qq6dznwf1chn";doc="0sa2gs440h3jd5i51hhbfvpqjpfwvzz5m32x3ld5q9k6zi88b395";};
 pdftexcmds-55777={run="1fpijk36lx5czl6bpbawlm8f34zp264l1fli095wha41fil25hks";doc="00xzyvl66fds400dm5zryrv3m5s42mv6658zx7fnx2wbd0jxs738";source="11516wkglckyrz41pz9cqj0xa2bd6v2l234k28ynnmfjsg56vph9";};
-pdftosrc-62387={doc="168wh53dnayihxnjxw1swjhgzmxv7qrs3h9q58dsdp3zddr6f076";};
+pdftosrc-66186={doc="0mnz5id6fywhlay6r38nvii0a2ks5gdb15i7s7wkq1ay9k5k6fq3";};
 pdftricks-15878={run="0vji4gmlg9b67yj8gb3aj2291ll1xg9p5vq2kvclj3xpy1vnna8k";doc="1hzd05l4yyz5giw9kqxaw410na7k85wj0cyw0bbwzxynpzxqllfa";};
 pdftricks2-31016={run="1dlzm7ivhxvz404nm61kxjn5arqgfw5z184qaxwn28yk6ri07s8a";doc="0k0zr8mv3xq6ibc7s016qnk78b1d22jgyq35jwimj3rm2aykdmww";};
-pdfwin-54074={run="1mxfvchz2h9wrybvb0ri4iygwn1ljs2jzsr9hi7j7ych0sjq1c3j";doc="1wn4fj00lpfw6jvfr3144gjvghdjvqxc13ji6kcf8q18vcdjfcbd";};
+pdfwin-68667={run="1mxfvchz2h9wrybvb0ri4iygwn1ljs2jzsr9hi7j7ych0sjq1c3j";doc="14i9y2p683d9rgw599yjllgyy5gdb5z560pbb4l5hlfj0mxzj2ja";};
 pdfx-50338={run="1pim1kiilydijs57zcsd1cnhzvcq5y621fb15hwg9y69s624wjwk";doc="1rb38sw6lyvy24hkdyw7xrbm99bplvcp4cfcdr80pdwf51g10faq";source="1y55s7h2cc39vp36ickpkc8dl42rmq77l1d47h1dxximyihl96x9";};
 pdfxup-59001={run="1vvddbdg2l1s2m47w9whvjd1pfp28l6mnyk1m52wnspm3mi476fx";doc="0mbqq0rx1k1hrwbazfkxf72n1wrkngp45gssgb9z2pfw6k3sv3vm";};
 pecha-15878={run="1ia3q7gygbg4scgja2qf5p7wbgd429cj78b8ffjcz68vgdg86jjy";doc="07b7kmf1if59nrqnsws5hklv0idjjxwp37a16dbjpcfdirb4s2m0";};
 pedigree-perl-64227={run="0a99nbm95pagcnww7wyxqwdycl1ags7arjnd9spahj1zn7xg1413";doc="0d13qx3al4qa7v9i4frii3vv3n52bln12d2dhp7wyjla3jz6673a";source="1xb778agh5vqbm6r14aff42wvipykjsw9yk3i0hj7ibz4ipcslr2";};
-penlight-64811={run="1k0ddyslhg68jav973s2wh5p4mgmy636iwf5m02sv4p1n616j61x";doc="0mn8q9fwwxsgjjzbb6gqq1m122y4sw0zjq307fybi8pg7q4nzz3y";};
-penrose-57508={run="0swjzbd10xvab086m7zjbxgq0jjzrxds534rsv6nkmsm3zr9qdfg";doc="1xmylw0prazylvqmqklhpfxhwy6wvbz9jln1cyd23m66297f8q66";source="1l9x5l78zcgrqf9xi1w518j6l24zbb6mh51fv3g7xcymr6miljvk";};
+penlight-67716={run="10lzsbz2ia477khfm43sx2qli46isf2z8pvsz23yvip32lmqznrb";doc="1hxj4i1zfbwbyl633wn9m4xvbagv7ljjjgil3cjfmdapxgr06n1m";};
+penlightplus-69070={run="0cbj9pg01nq7jz8qr5d3l0mh4rpad3jxjcd7j5rq3aqh8z5s9q7n";doc="13j9gb6h8mawihvg4gxlzwjfkwprsa9s5fv0bdlr5z33n8fknhxf";};
 perception-48861={run="1dqr68wkf70aj11g4ywr56si8g82bxi2xc9zdnw0nm0wbimy5zv3";doc="00g96wswsnpd0smv1s23hqiq4lg407m80nybmig4ibcrafjkrqrf";};
-perfectcut-54080={run="1hjppa3dv8a5740nr5jya445y5nb0nb2z1jlkqh386bnvgby8393";doc="1ly3zrrrfb3jihf02p2j5ym3m2gnr18pf2v5qg8rsj2l258xlark";};
+perfectcut-67201={run="1hjppa3dv8a5740nr5jya445y5nb0nb2z1jlkqh386bnvgby8393";doc="1ly3zrrrfb3jihf02p2j5ym3m2gnr18pf2v5qg8rsj2l258xlark";};
 perltex-52162={run="09vc7pbfjl0zjmbra41p5lmr6l6r4gh2x5h9h5hg1i76n4mfkd8d";doc="0sndaglhb92b4jvp0jzpvdiwzc49ijh309aysahrw0pwkdl2lv5d";source="14rv37h9qwgba7dqq8zzvm0dc9y4hmyr6yvvkfbh2il5zs7m8nrn";};
 permute-15878={run="17ky79fz5pb9xr4gwrfpnpxj16mzj6f3wnh9dfhddzlmbllw1djs";doc="0m83nafyxbixsyg37ia535h3axvf2vp6ky0yg1xcv8ppsl72fd8m";source="0k1h40himliydiqssvmzl18g28w0hfsxc6kv7wn1q41sm54knhay";};
 persian-bib-37297={run="1yzbap8fwmlz46ngqcy6hwjw98z1cxlprpzk6vg2qw7wvs57b143";doc="1rn6p3zbfx6vxdjzxavvbf9405cxk1kv56971n6i2bysb5h22w0y";};
 petiteannonce-25915={run="0xvpw8lh1zlkc89chbyjsfszr7ix06afh1fajp5iiqiyxb021v7y";doc="0nnf9bw4jdm3w28957bdfsl9z94a3dxz5kvmjrg0jkrp3r3cyrgv";};
 petri-nets-39165={run="1hi46pzd5cjvpakya2bl52w7m84xm8h03m01jfrry3vnp9hqbc11";doc="0ixpads25k51rlb2kapxgv75w5igbnv5isn61c29qpm51dpaq012";};
-pfarrei-31934={run="1b3jbb5ahwr0sgbgckmrfwbk3ir1g41n6j4mybc78iisxnqrx0br";doc="1jrg8k3n0mfc157nmv2n1d4b8aijvgr4av90ds0g2m7px65yd92z";source="1jgrhv8xgai1y81ddnqcrifk8wz47asvr3mh615wgsis38y6k2ny";};
+pfarrei-68950={run="0zp4msdpi4w1fhmp7n2s6cdzxss5a87k0dw7z9iw6csnnwaa40z9";doc="0v54c02fmsxzwc8i3050mlll9z1qgmk6vvkdgjmph735q2bmlfsj";source="0inlfabzb1q94bq2zw2416vaxbgwr4nw2yfax491dg5hqpglyl6x";};
 pfdicons-60089={run="1pxw1mhm2lmggs67ql176f6csajabhylmlxaxp47irk6mlihiavk";doc="1czd4z8rfnfp241lq3v6ri4hnij4b8pg2h9lcs3qa31r7zmx4hkk";};
 pgf-65553={run="1xai2x91jf241w03lndpa478dijfm52kyin1ci4s3pwvvqvwvcib";doc="059fvzbpq3nggjc3yddzgj1ci4xs5qrwkqvqshcnk0agn80zpcx2";};
 pgf-blur-54512={run="1w9p9l2nw9bf0rhn70y70h6lqqqx3qravgarmmz1z86ara26k49w";doc="0fq1w85wqqrml9jzi7s2n888165pg4ds8ysvgh56kbkd2zzahnw3";source="1pc8x23l6qcq356s843si16yc6yfrvdxg7v821271dndkg7d2vvh";};
 pgf-interference-61562={run="1l3gryb96av9zwxn4naxz5vy0y2245fv5zlm1dg31p88lflh2s5d";doc="09vvbnmcv8d6y75hxdln9gqspm35fada4g66w6z4kv1bg7z3vrlj";};
-pgf-periodictable-66035={run="1vshq0b212s9syd6z0d4w1q2y05142h4c002d7cdrzkcqqjp3zsb";doc="07wi1hbwky985rki58wzkqp0h6acimg3x30ls4vcpcscm1xggvbi";};
+pgf-periodictable-67250={run="0q5407piln8alj39g108sbkiir35f9zki3fhfmq7dfkd8910mbjv";doc="0mk48dzb8n4fisrifmwm3gbhrk4hmsma38nl5rpiwm7yy447ch5g";};
 pgf-pie-63603={run="0wr3r2997p8as08d172sr2hxspmi5bgsgvgwvkm27hg6kpi74zsi";doc="13xvia0zbgsrsy50rp3fr07hb1zfj7jfs95ai6cvy9522cw1zb0a";};
 pgf-soroban-32269={run="1y1c70a9v9zy8i58j19g5c8nc7f00zcdrdjmdcbm19r8vi2r09fr";doc="1r1rgd313fijmjqy468j25d55p76vxmcrgkp968riknych16y1pl";};
-pgf-spectra-66034={run="03s9i804yn01m7xqql4flps0h3xy1dhar5a7p7l822j1n5kdn0qp";doc="0dh2lmq2zwb58dwmrnshkh1amnk6l6n8ggjkgmliv4lvs09j7ri3";};
+pgf-spectra-66961={run="1zl4cmkd153yk99sm6cki1a0g5z1pfv5c1d8jskcxzrfxzzrd75b";doc="1iyny475v6h54crlfjm32lq37f2dg8mirgghs57cqrrcl2nv4qdg";};
 pgf-umlcd-63386={run="1qsnmhb0jdn5qnq81zx7gr1a1l93a3f2z12lfz9i2c0cqbjnpxl5";doc="1v2p1xq7y5a0mpd067ragvnw21hsvl9irwaszc6sdb9sqgqf2qh6";};
 pgf-umlsd-55342={run="0rs0iskzhmlgydk4i9idql66sk9dyiqrglp429b2sjaw0mbjyxvz";doc="0vl7wjrgnfz0y0pfp4izqi1528i81fssak85w1sl2n97lhyq8mkk";};
 pgfgantt-52662={run="18snhw1hvff64xq6jaq6wjdxcrkjwjv39hif31zj2r0ghsajqaqs";doc="1xhls9kyhf314rrmd8r3065qaffbm48mc746lwhsrh6vmq548baq";source="0hgjiy1gs8nx0211ar38qr3ql5yx32mcdvms0yibpglr2ncv4x39";};
+pgfkeysearch-69385={run="1map2bxnwlj2v6w4h36jfszz858a1zgdlamdjj0jc21xjsfsjvbk";doc="0h5zhzh4k0hbz9gnh6ygzsr8jm5lrhdx0qsm5z55xm18q7gp2ri7";};
 pgfkeyx-26093={run="0gh229dsrbxw6brfz5m2zz6x3zfsa03iqps5bgcr4bz0qfjl0a2s";doc="1cbldr5x9n649sk9dfcp143jrzxh6l4ibzndx4yr8f7id5nx3nag";};
 pgfmath-xfp-59268={run="1lfnqkws7gjjbzh0p5i0l94p1fjjsybwf7mzl5d7xzcap9db4x71";doc="07d6kybw6q6igfpn1cgjxdi3n5zz6ic2gazy71gb2mjqbzmhzp88";source="0jvy1qy47r0p3fx5329wqg4fnqlwlqsqs49j58qvz6k7l0n6i82g";};
 pgfmolbio-35152={run="1arhxgwpsw9ifj3yy36mv52r8843bm3v1lrda17r44zjf4fhimfk";doc="0kxp1gqd09q5h4ixjlfmda9jm25wd3s7dsxcqc32sw3qay4d84cp";source="0lxbszlky3q27cyzfnnvglmzim4lfjh14p62j43sj5w2arv9w3v7";};
 pgfmorepages-54770={run="0xarflkdk2xvfmmsafv1hhpdrfyddjxlqjjwps9yzzcwblpjnali";doc="1wsa6iqyrcjq7zyanjgaq6a1i5d7lm1bk9y07mz0bjwc2yv359zi";};
 pgfopts-56615={run="0g7a22d0ppdzcazrif8yjic19lvz143p6vwflz16p6zh88yhcdm7";doc="17q1mlaql7f510pz86n64sm4m97nii72jghf75qs5yr9h9lqrq6v";source="1mz5nzbhmbgzjkpkglz2w3s9s8kzrigg3wrd91dmdhjsm4d4kczi";};
 pgfornament-55326={run="0hvr6cbp4mzajmqz6fyd3x7qr9b2vlwdhkpc62axgm2sww8igp70";doc="0i1fncv9saflkvib43jp02mh94cv0nnq6k8psrf4l1yx95sdxnky";};
-pgfornament-han-54191={run="097i0gyxxvnajwfbblr52s8qw2y5ld52i4rybg4lk130qggx2v5g";doc="12vayalf8hjaapdfdnhr6jnc2x14l0kxak3qwi7xsn3cafrsfm1i";};
+pgfornament-han-68704={run="17ldl3a7gp2pi010hp1fh15haddjgni6f7bkgqyl1xk4yx0gjcck";doc="0v37qkx8j0ijgr22bya5m6ka0mvnymkyqsdg3q4bzhcfydspsvwy";};
 pgfplots-61719={run="1g3q8yr4i5h5jqj8w5yh1jix2ia37la59y0dcmrj5bnsr8zbmbx5";doc="0fd0azswmcghgpajgvxh82752j4mp5avslaicp2x7hjddh54j357";source="1h9js7l4vygn230svbmby09k966gkbgjxykk5vig45qdr7mqg3fr";};
 phaistos-18651={run="064gh7pwrsp37dxvjfiar9bl1i30a1kngirgywndss8xmrvqin9m";doc="01wd0636h2xs465rypc5q7saxhind14krmk9dp9rqc9129k7rc0q";source="0l6nmd3v9x3j8if5aryak2kh42zza0g73plwv6im6hpxkhhb21jf";};
 phfcc-60731={run="1w2la7mmj0a3sbd3k938bnq8fbl6sdy1w6bxmdfgiywj6wiib6ca";doc="1y4y0gx858gida7hnfngar6damk1gfvpzx70zbjsl2v7x6qkvkm1";source="0n7l6q9f2i4n6lc05ky9vgm0ms2hdwxwynfcqz216pshd1k0b2m5";};
@@ -2900,10 +2969,10 @@ phonenumbers-63774={run="11f7cnv7kh2pry242nxgq72kcjcaxg45714i5rg5w7q5nri4fkf6";d
 phonetic-56468={run="1cd8x4qajx3896a1bzyhnrhkg8j73lffri0fzks5h8s27jlnl6al";doc="01hnb97dwbd7g4lflb9kz3w0vhnk5nzni31sfiqbg35lypa0pbwl";};
 phonrule-43963={run="0xv49vfvlfjad65gngbk5022vcdi0w86mzqk60nbz3i8npvncplf";doc="15bgpzfxjm22f4vqq9nbjhldvxzflrpayv51g383nr41j3k4m3xx";};
 photo-18739={run="0d9mkavi2x4wha1c9zi2fswv7vsi4hr0588gj82vwmwlrb6v8gsa";doc="0xnxkv1rkz4c7wh7dm8rna2g2zf9i97aaajlfqsr6ls1d9by4zn2";source="0vxja102ajrygarqfg0y7bmmhx2my66dlnfp7rsc4kldi1g2fs3j";};
-photobook-66554={run="0h1y1nk3bn4ch1jx5k4y3bwyaag737svkw5bamc25f95i3nknfzd";doc="1jacbv16ijyh3csjfg9r8v4kvfg60cclxk0jpapdqz7fyv93y003";};
+photobook-68313={run="19538cm7z4sw742y03ih5avr6bhxwnpymmppp8w8ah2p4ixrwqsx";doc="0bwb0mw20iz32cw6rcagpdc247n00pnql4nby8vrkjhbyj8l3hp2";};
 physconst-58727={run="0078ggfyyr2vh5ni05la8jaxnyxaz2jn0rlahwkw05ng1h5nwl0s";doc="0d10kzi278b6yf7dvm3j2nsks43jm6jfjql5jyv51l8bq5grkmr8";source="1qvhif2amxfqvwj6vd82f9mjgrk79crnz4sw5v19v02xzxv66fsj";};
 physics-28590={run="06nwz84201w9vky4s877fsiw4pk1kf6iq9yp1jcap7j57nb4l23j";doc="09zmpxkrrv9j2ip034vqwblazl4kyprvp24k0f2k0xgc4fja2pqn";};
-physics2-66119={run="1scbrq7jzmzlxg92skb02ag7350y4jj1gf075czy8d8y2lp3qii0";doc="0hbrrr9ci2c5gmpjgdqarjyx2mnmqaq1rd2qj1g3v58d0lf1izxh";};
+physics2-69369={run="17br2lisl7qyqvjsgyaa7c2fx3hvblj9cx27zfax7v32aly423af";doc="0lwn61jdpzljwlgy1yzllflziwqchq3fwanj6c2yy02rfyi0lxp9";source="1g1psidas3yjknj8nlhrvgjiy6b1b6z42d8260szq8wmmmybi13c";};
 physunits-58728={run="0fzx8c7sgd6incgwdbzyd3pb9dmdajb3qdfd3mj8sascilr0c2h4";doc="0ha1zp0lzx2q10m0wp492sf45pw5cfd98s9pnzn2wxx3k970agf8";source="00p7p4hh49i9xwnfd8y7nsgxajjcpdlxw1asyxb8q20x1w1wy2cs";};
 piano-21574={run="10gfxklfwf60p54wcbs4l1jpwasxvvbnkjhjpiygnk6mvzjx7dyl";doc="0czqrjlfx1i6k02aa1r1crvkw7k2fl17vzqzrkc97msprrymxwgk";};
 picinpar-65097={run="162119bh7hx30742k0f6ygaa0w9hssl2nmp63rmvdnpjlazfiizp";doc="11v1aynkvc6m7484h2pmcm24405v5pdgkvmjg4jabgfkz5q71g7h";};
@@ -2918,10 +2987,10 @@ pigpen-15878={run="0zd90dp5bx1l5d5ka8lzx83yprl1anh7r4qc0laa455dix3swfq7";doc="0z
 pinlabel-24769={run="0dlg15b6cjykp481xn03kg3p1zqwccwnm2la710xdwf87p1k4bp6";doc="0jw94fl3awpyla0flmw9f72j3ssrqh1scfrbx34mxlbmnl4z3pfc";};
 pinoutikz-55966={run="1kj24i32ql4jfhzfxyrcj0nmyyhf4ipic7zdzcz71za6njqv3gql";doc="15farzmd27gp8ms5vck6xcjs0cx7rp47nww0shs6r0b0l99946m1";};
 pitex-24731={run="1g91l1z71481hlwz8vmdac0g4vm5d6940gy1ly44qny626k9j079";doc="070qn9b6bq4szqa9wqfmb3qbfxcgif79dzbb3qqhvs7fh9bivqdv";};
-piton-65835={run="0bqi54s1vw4hkvjv8zr1x58mfg58sh0fi429s6ryqlb8cgv9y277";doc="0b0py0g5gdqaav2qdmy0nx1l8cqprzgnlhw9vfhrmy5s6sa9m28g";source="09cvyin8bvqxrwlq3fvf1vpz9fb9p1074n7x6chkvnf85lvc18xf";};
+piton-69320={run="0r88g4c5rc2zg2vw49a7cswrnmqcynkhhck5w4f6rqm2iggbvwgl";doc="07d13hn6h1wszszzfrj8zib5vvm3kv3z0543c404587qm1s3b94p";source="1j0j70ap527g1czw9ca6gml6blfa0djmjvhvkqlvyv024msm32l6";};
 pittetd-15878={run="1s8865g4fv04ha7vls9frkkmx8dyn0l7z1rqvh3dkyy7fdgq4vff";doc="1jkdny3kqljfjnf9ywpz7xqvfka8kwi33jy3z2yiq1fvp8k60ar5";source="07k0ilmwkg3wvgfpqyqc60hn5mlsj8z5lsx8mq8h3igwm4j8krzi";};
-pixelart-66119={run="04dj9zj2g4jhbsv7aknzvmvb1601da29m2v3h1h5qrywvk7qldqq";doc="1gw05nrh65w3dq6yr68wrhgwxc2qkwwimjihds9chij0h593hjxv";};
-pixelarttikz-65649={run="1v46ll55jbngcvj4z9h8yc70ib2b0gy60m0civzzacf4mscbwkxw";doc="1mmv87csgzf8sfws795992pvqj8k94f56akiivylip2bllz3z15s";};
+pixelart-66012={run="0d41qzn2gsqbgvgaxk9a7cj5r285ayn8amplzv57j5c5azyi6qlz";doc="05mcmy25mdl42wfdd3l64bkkxrvmcj6lw9zb9jypaf2rrdfnpq6l";};
+pixelarttikz-68520={run="1zn0cpmmdfvydizw1q9lhxdj185gyq2hpzl6rpjfxvx5wsm9piag";doc="1p5aa3mjv4g5qa3vi988v583d8h6237lq9bncnjaa5c1sd1l727l";};
 pkfix-26032={run="1sgss755cf1zrpv3x74x5qnqc6w81cvr1x0w7875ijh4c1xxkn9v";doc="0bxijxbbj9v4c5p1rg4gkqnm75rq516vxln6s6174ph7abqrhvys";};
 pkfix-helper-56061={run="0hf9hnjw7ws0mx9w5s6ik17zlq27fyc3p9bgya1wxbh8lcvrygn2";doc="0fh59nzzl58fgpkkfzvi603sfsfnqrj8s39k4nn97567gpv4a22a";};
 pkgloader-47486={run="1vmpxv6x2dq9b4ddj3xxqzkxz213bvz7qn24jlx04svdrq0cnpjn";doc="064qsri65nyy25sz8y9avpxyg3rzcspjr1cfc5jp0vfd07905zix";};
@@ -2935,17 +3004,18 @@ plain-doc-28424={doc="062d6hg4npy57307avvyd2sdxnmyrh5ia2rdb17p6cx555k8zxwq";};
 plainpkg-27765={run="0dq20a8nyyyy1342s8sc1z1i1gdfz49dmv2w9fl5dbnligzxgdfl";doc="145249b9w3jpf9swgc4293r05p7r5ylmxvx1a5qlv3fgni945vms";source="040m08y54xr4966f8b6z38spdhjh197l56am3wpza5qff4nbcj6a";};
 plainyr-52783={run="09py8psdqqnxmq2nkczxz092668zscvf9hbr6fcvrnj0blvz3wxy";};
 plantslabels-29803={run="16hzr9zavc26mqddsq4yzb2y60r2lh1yjlna1qyaxqrq7fr76g1z";doc="0pvy9gaarrwr4f0bzdhj3xgisfmpd73rfcv9mlw87k3l9y2vly0f";};
-plantuml-55214={run="0pr3i90wdf440x5pdxn695xjz4cpc17y12mkvnyd1rxpw09003jr";doc="1z0pgf56601gyhmqqq2mcil4rp1n6r6nsrvxpw0kra6lnvkppisr";};
+plantuml-67097={run="00n393r717v82g1g70qs1b5isw4x5bwvlmajy1ahqrapwxrh7jfx";doc="00gihdh9lvs2y95imsmsjx4qqmqr9maavbvv974s2k82bg24bkkl";};
 plari-15878={run="0jybi5dvl6ksjpgfqfrdnx5q25gl5xgqhwax4dk1shf6rbafkgyg";doc="1js29imppwx2jny1hcvjbkz7cc9qrafgniy9qd11bvjyp3n1vly8";source="0br0vm2ncrdyqgazdr2p1kvgl6lq124b8h82245jc8yz7mnrz2nw";};
 plates-15878={run="1238w5267spw6liidzxd550hjdjxsg3d1231l9vf5fmcifllsnmg";doc="0w1jn22gd938zqifhbiikgggbly2fjhiwjdh2jq66yax7p76pjc3";};
-platex-66199={run="1qddfffw7w3l0zgf1dq4376fx5m76jys8c95wwibxdh20vydf0bk";doc="0h4vzrdvb28rr7snwlcbgsa1wnb2zw6ddj53frqcznm83l799m9a";source="1pa7yg6369fh72y1wxj635kv63ba3c0bdhlg3ws202r6zl7ffmab";};
-platex-tools-66200={run="1yrgp92fk1ci0skh2lqw2pcbnrmsys7gai0my1ijp65zahdscx0p";doc="0v34yg2wv8jy7dj6vszx8p4rqpg0mnb574axqmp2irl2givf6wsj";};
+platex-67315={run="1qddfffw7w3l0zgf1dq4376fx5m76jys8c95wwibxdh20vydf0bk";doc="055pc891zbkjxdzl1wbkxrxs3flw79zms9ghnqjz2jhw6axh2khn";source="1pa7yg6369fh72y1wxj635kv63ba3c0bdhlg3ws202r6zl7ffmab";};
+platex-tools-66185={run="1yrgp92fk1ci0skh2lqw2pcbnrmsys7gai0my1ijp65zahdscx0p";doc="0v34yg2wv8jy7dj6vszx8p4rqpg0mnb574axqmp2irl2givf6wsj";};
 platexcheat-49557={doc="04hvm19x4z7vq2md3p3r2wwa7iqkgkxnvvj1xx3s9145m6fjib5a";};
 plautopatch-64072={run="16m2dsqws4z0i04wfman4m7d5p9y5dij8rl6bs0vphq4n0hcqhh1";doc="04npb7xbhibvjjxh32m1g2c0r3q5j5jhjgc7hn1nyzj2hzz415sr";};
 play-15878={run="0gs6iibb9jkmynhvwldwrh8rvalayv8vk8ziyx9qyqsdsgh53bz1";doc="1dvi29x0fdnb83bkqfsv6l2jp9rvvnqpf1paznx9pli8gvgwa1rz";source="0nlyi6ra8v3pgk5lhhvar848mcd5zqbnc6mbqnbxsj409jczd0rw";};
+playcards-67342={run="1bqk76g9mg86rkhjl12g41dph95zrdby9pddp7lac6bjwvyjg6rg";doc="0m9yvn6bxz3w6l0vfn9ycllj50az3631v5xabk3cjrnlhdq97qcz";};
 playfair-64857={run="1yy8c8aks9c37a18ynilrag254ffcx8fj1xydsi1a58gnifmhi0f";doc="18axmajlbgll8cdjw7v13n0rq9dsbpnm4sa13mf46dq4fhy1i8s0";};
-plex-64496={run="0lic5dqd5xrj0skr400cx8hyj0s2w4qyam70fdwgj1lwzv16l868";doc="05335pp0ghp096x9fv208qc7yxxld8nc3sq1y7gjf90n5h866502";};
-plex-otf-47562={run="1xlckvvrv9j03gzg7b4jw2ff8zpp8qi1996xlm6ixxj6kiipk9c9";doc="16yr6amxalcsjnkphfwyn140k7q1lgbnch6w5iv1b106q2wqxx69";};
+plex-69154={run="0q8x2358prmrlh3zyqymiyq7i2rpzdhv2gw7zvnzjzx7s3kwdjq5";doc="1bpj5qh46d4n6ymfx500p44vj0qn5bqkz8379x3pn5dcy7ia8kja";};
+plex-otf-68238={run="1vzscj27j18km0cjjbfjnls4ylr1b067cynxi71f7wv99s29fw0b";doc="1nyhqvwax36xkcvwd68yb7y5mlainwdw0czyyvl2yd0f0r7m15g0";};
 plimsoll-56605={run="0x39p7fhfyxnz95g44ci8xdiwiq0w2n7z3vq2vm26l9ia9q9m6d6";doc="0rjjk5l0zvqmj32m1xcyrawzzllbs11bzb4i4cvzmnakzlwkwcrr";source="1b703r0ssg8q021z9dc8n7p1w7hk5b548icc269gjrpad622acmk";};
 plipsum-30353={run="1byjqmx68gb2xcb4nw429z7wnagv5l0pi3v13dlwp57sgfkxrz0j";doc="0gmq7rc2r3r50b7w5kqglaqmrqnxv6wav8gz09a2skkir6v1mpgl";};
 plnfss-15878={run="0l4kjidsxzp14ii850m23q3yz1z8my9svqrpd5hi6v7qnv73vdnw";doc="0iw938rnvcfly3z5v5gikd3svx4mxwfhw0gsyv26m37l5slqvf1w";};
@@ -2953,19 +3023,21 @@ plstmary-31088={run="0cda8irxd0gxa18x47v6d1wiwwwh6w30fl9ipxdz112h67l342k0";doc="
 plweb-15878={run="0yimmz965gsb0ddvq3ck28x73p9fn08c42f4331088130l43dkx5";doc="0ad3z41r1a3wkwr7lr9hf7n4bcas10fdjky7f9ykam0244r5q4pw";source="1zpnyzxf125qqz6j3m2182yn71nkrlaan1qfwl98v020iia6vyv1";};
 pm-isomath-60368={run="0kl56njrcs2qklkr49bnkx17qd8csa5bcanc4ypxxv883895qg66";doc="0glkk1l2gkqzkjg4vwi9qd3yfv3xsm4ssi03jizy9dxrxbgl60z7";source="1ly3bh0b1xl5wf3gxvzrwwg2kglvqmaj3mb7alq5x8q2wn1sxyrz";};
 pmboxdraw-53046={run="0a1mp38f2562yq3nzv39ffwhnzwpamy74pvqnigg7hv2v7blkijh";doc="07f1n2wpfqrd62agh0ddw67fnl5qczw16640h3v5x7yw31dx4n29";source="0mqg8xkhqy18m2sbp2i2sv58n2hxf05qr215kbmh0b53lbp16pzc";};
+pmdraw-69366={run="0mxjnrrbmwy6bs8jnm6zk568kx07shz4m3zccp7ppxcrr4b0y3fy";doc="01cxqlfnbqzn6cd3jcm01bxnmas86lpipcihaxk13w0zwaqvyxzw";};
 pmgraph-15878={run="0mrvf2r4bv4qa9pzv90ardy5ncq2kgy3y89pgr1acsm5cspgryr5";doc="1pizlqyb0n20apwb6rvh6yfncyxnh6vfhnvc10il9j4894rii6mw";};
-pmhanguljamo-66376={run="0jhibwvph19i7hmd81b8c83g8n2dd45hj0q1l2y59lx5a21zisrf";doc="0bk405rl1vs6dv1dwn5aibld2rpa5cwd06p9s3pa6n7s8aj8frvz";};
-pmx-66119={run="1dwg3v91z6q6hcbv8imrddncxcf9kmyfsra589drnjldcxcl5629";doc="0z28521xwbibzg83frxy1c5jzgb5w5h9aysfj2hiiyjispxx128m";};
+pmhanguljamo-66361={run="0jhibwvph19i7hmd81b8c83g8n2dd45hj0q1l2y59lx5a21zisrf";doc="0bk405rl1vs6dv1dwn5aibld2rpa5cwd06p9s3pa6n7s8aj8frvz";};
+pmx-65926={run="0brg4xinn6sg8c9jvh3cvznqhlg0l8hfqv5whsh3yaajc5pn40rc";doc="0pd78a36zwhbn7054fgknpa56jli5hqssbhz0qh8fmqxn6kvs8r7";};
 pmxchords-39249={run="0yv1c0s3zjy5w65cpv9gmdr13wkfg04jc0g7b1f0mh8ychhdab1a";doc="0n6g5f4szxsr6zqqp2czi29m1dncfgib1pd90mbrjprvwh0filf2";};
 pnas2009-16287={run="0yl475rlfhlnd9d0pyzm1gj2gixrdzyn6858j1ndvkhr8vc055ns";};
 poemscol-56082={run="1k1vq2hki8jq70d0lmw9sbzwhp7mi5sx735wkrz9046xd0qmhq7w";doc="1cdbv1ls20p764vkllgw710fm4v8nbkw8ryw2546lqa21v9ki4sx";source="1l6zsi6x6akb4z37iyllg99schd90bny8r3pz8vddqjyacnf1j7q";};
 poetry-53129={run="1z36zzm75zidsb8zixmsdgngvg1gyasxdz4lcw4ikdwvjmswqzqr";doc="03cal4780m1r6i1g86d2gil5h6n0h8dkiv8phfjcp890y9vdw2y3";source="0y93c9fvjhfs70qvnk9ff7hwq7zyq8hw8h65bwgr3f26b6skfxyj";};
-poetrytex-39921={run="06h9aqwryssmzkagr5af598ic2rr5j0m5h5mwaw3ssrxwry86mxz";doc="07jkb5z8sdc8gp3j2fls8hcqrh5g67wimb0nfmmz5287why1br3w";source="02x9gadfnianaq3hjrhllrql20p1aa81jv8lc033qj47wml9fajd";};
+poetrytex-68353={run="06h9aqwryssmzkagr5af598ic2rr5j0m5h5mwaw3ssrxwry86mxz";doc="07jkb5z8sdc8gp3j2fls8hcqrh5g67wimb0nfmmz5287why1br3w";source="02x9gadfnianaq3hjrhllrql20p1aa81jv8lc033qj47wml9fajd";};
 poiretone-64856={run="0dc8ll3xk7yrf3irrgl5bh4dwvi6mvgp3iqvzfi26jv12m3fwr8f";doc="0l1ndiwxpva5r7zdgcmn4hghi31w2v6vd0bvmvmywhx82ra8spsx";};
 polexpr-63337={run="1dml5b7zb2w4cawqgvqld63wlny45vnz7p8y2pc7b5h86p51a0cr";doc="198dhv2wlclrs5sqdiqk26llyhjk4l4zr0hlcr1cw56dnhdh2j75";};
 polski-60322={run="0y66zqxb87i8wymryd19hjws7y9snks73030r287lbifb77kyx4c";doc="169z3y419d3afhmhk22d0h045pysdrkhyvsgrs951ah3vgf8n5cv";source="1m8pysaiynxb64n81b8zj3cly6g81w2fa1nrknqnxm27bjzn2jrf";};
-poltawski-20075={run="018iqwz4apkj8pwc3ws7k00zldnz4k02h1hv0ry9d83z34xswfsn";doc="1kx83mgwkxd0sv2xjzvn6wdsbdng6skw71z2xc3xk16lk356q8hc";};
-polyglossia-65792={run="11spw6qjic3wv6zycxjmrdpz23xj365kw26r2gmr3vxj50sq88id";doc="1fg0fv6fi5iivyrcmxw9b3xlw9v4ph5bffl264vm3zs1387iqb62";source="0jhvg7qp1sv7lqbmz2l2wiia3aar1srw2bammb7zl6s3sv6g0vpn";};
+poltawski-67718={run="018iqwz4apkj8pwc3ws7k00zldnz4k02h1hv0ry9d83z34xswfsn";doc="1kx83mgwkxd0sv2xjzvn6wdsbdng6skw71z2xc3xk16lk356q8hc";};
+polyglossia-69093={run="04mn94vq8fkg3a06ivgfvpwgdykac5di2ibi316brz9ypsglvfjs";doc="05b84cypv1ifzip7dvzjbq4xx3hn23qy2430faw527nv8zsz30a4";source="1cjbwqk3r91l1pl68jnyk1gl192gfadfqy3jg9a7cmrnpkyihsnv";};
+polyhedra-68770={run="034zv3j4ga0xqkqn504fdwrcbzjh63v8zzfchjwcsbb2qn1x2rix";doc="1a01r85nliax7zll3qz212pkz2yix2xzh15hlbpqgqslh564fkxr";};
 polynom-44832={run="0vn9k3vci15lq0f6r2354ag4bs55jcq6571wvz3k4daym5ka57s1";doc="1cxsw0b5vxy191xy5clf15hb2cpyyqj5ipvgcw9n0hm8ka3g9l1i";source="0qh4w6q9qch3r41ps38yzlv850wcqvf6b0b6vqirk9lq978k387i";};
 polynomial-15878={run="10w1vq7101hnp2ifaa0j9mfccg9y4s3cyms4m63sx54lbpj6rc1r";doc="1vn0i77hzr72xkj6ka4r8n0g0nbz382z729v269x6p5j9qqmiz21";source="0hsb8yyk6ssih7fpc6qiwaf40cwn8xx4jgwqgpmfgkc0x1qkpri2";};
 polytable-55837={run="02gsan2wakxsw1niq6l82ag2rkkasi1nclf5yad2kl6c5654gp47";doc="03k3qz08bfqjyw4ymmibabbaciqz3srd2hll9np7xdphjhf4d2i2";source="1sh5wsb5i1f60sqdych0b3zjcli2h4g46znb0q6n68r4ma7xqixm";};
@@ -2973,12 +3045,13 @@ poormanlog-63400={run="134qh7xsn7yxa9zx98gpd2hqx3lkd6sqc4rzcandvzi6prsjkip8";doc
 postage-55920={run="10s3lcypskq2qmlyqcgldkg4i4a4qbbqn27v6cr6h3j4z93zir3x";doc="1zy7hrrwmdlr3vib8i8vliznri4p8dhfgkz0fx5qgc3ji15ks095";source="0h89r91diqwc1z9wzvbsynazv5k9spg2rfvg39kzb83lipxiqwjf";};
 postcards-21641={run="1glfwj94drccwmmsx6icc9vyzq7w8kvq6flkkbg1bp0rrkjf448j";doc="0cvhgz34mplpjzzdpy2bxblmz6qxxlshadj8in810g3y22v39khl";};
 poster-mac-18305={run="1b1zq9ay8fxqn9593f8n10zlkirw2b0piic71b9fx6s9a7x82w7a";doc="0wc0194ixbrl722a0djm704fmbf49p7vxk5fyv6d3gyznja54fxz";};
-postnotes-66027={run="14ww41vw8ralwq2ajcb3fg7l46nrl1kjjpipd36hn83a5a5949nz";doc="1qmch1b2wcs2rgna1dcpaa5hib2fsb4bgcyk9d7y9fc69klrrr6r";source="0swky5d52qdxgbhrsp0ryvamk6z2b9n8nb8jankayx5b27p9zk5m";};
+postit-67344={run="032zhdciqwyfng7ll8bpnyl0wndwpm3q4alh7qmsgj978ga97q4s";doc="13j5ygc86v2nkcv5g18j4nacpckciyr641qknpb9mw3i4k39rly4";};
+postnotes-69102={run="0m9izldvlngj81c6nx9ig5civvvxkf9mh3cjj8xh0r70pf3i35yq";doc="1qs6z2rj9k9dmz14r0g1n2iz7hfssr5ysvk7k33y35c6pwc3vvx0";source="137f66097fqzqbzwfwzyqgmdax8z2a835y8ixrna1490zvakbriv";};
 powerdot-59272={run="18ii2qxz7c0wal5xqddyzd2j933lg4z7xglxsxn3vgp8ffq5kr3n";doc="0zpwjmvlckp46ycdldf049s7qvgbpx8cx5zlvzh81qhgdlgximhl";source="1v7pxr134kndndk542f7bs34c5kj85xy0cwvwlhnav89ff2mh5hg";};
 powerdot-fuberlin-52922={run="1gx04y9ysvwzghy38k6izhs9gm1hzssnb5zh8qjjh8v99mk6cqwa";doc="03ci0lcgw777kfmnzas13q75n03z8v2im1wzrd8hpbcwq18mmn2v";};
 powerdot-tuliplab-47963={run="08f25qa5fdacsd8i0bs8y0p3k0zjgja0qp4ak0x3bixz7yivg5nx";doc="04b546i32k1cs6armmnvr8aqbfvs0ysarlsjmsci9xdrz3clm5w5";};
 ppr-prv-15878={run="05xs41xfm5hjpx9dzrngaj824rr8cpwcpvzxsyp1xpzlsv3gk1m4";doc="0rfrxzfm34kn4sgj1dzvdyjx7s7nkyjc785j7pgb609svld6jvyk";source="0miijdgcsn709kpp0zjyqxyxfgk0f798v748brmqshb6mfxbryzn";};
-ppt-slides-65194={run="1n7x9fqd9faciqzwh82b8f8ay2j7wcm1bbr2gr87b3j00bw6b5r2";doc="1kbhdlcg0zmfyq5zcwqkzn6d99zjihx9yb26smrgaqzxdnpwvsxf";source="14a1r34crjn63i39ykz1cmjzf3h31a6w4bmlmhw2cfxv94khyy02";};
+ppt-slides-68764={run="15x2rzkbc43mh39wrmf8fi2vdn4jxq2cmysl39slq2wj7blblhwa";doc="1lkkvn5giyp6l0mz7q0va9p1rvwikr6b1kw4ry1qlq2jpa4zjhfd";source="1jzvqvy0838h3md6i9j4pk43r7z2h2ignbcap9lg6cmwwkril6bd";};
 pracjourn-61719={run="1idcncspb2dcmrfsr8bf1ar413mc51lliq9xgpv0ybsiv91yd4lj";doc="1hks8p9vksn88daqyn7rnsaza4i05dgfb3ngd5yrvvw0v40s3acj";source="1jbicfqvvyi4nnmpqafzlzlx459v5cyv62wmq67c2692am8a04v8";};
 practicalreports-52312={run="0rv5rsba1xdwcv89fl640yyqqk8c8vf2w647yqz8xawm358la42n";doc="1a7p22pkmb365haizgg3ainxlr2626mg6p9962cy0933hb59llcv";};
 precattl-63967={run="1lq5f5fx93a79q144980balnmnkvcn92gi85df14iyj96c1zpiij";doc="12gmnd4fafkgrffh9smd8grv2bsq1dajajh3s6rqnf2l8xr1wqkx";};
@@ -2988,26 +3061,28 @@ prerex-54512={run="0nri97arzym6z3pjzidlr6svyk1dpr4yrlgqzh2jcsrqhwliifwl";doc="1w
 present-50048={run="0irxkzfg19h5pn0drgl5dlpz34j1p5jpyii05b2xjz4810gnl79h";doc="0c7pmcjhc3p4ilx3fr6pxc4708kl7iw1lds5ngh8mlrwz0hhsd96";};
 pressrelease-35147={run="0hrx80i1nfwyhhda415v67qxkgj6fqbg4bicirdn749bwc0anhar";doc="05spvrh6dfq16z9jlswzqrwnscnywp482cv3bhak4vavbxs8bf35";source="1c7nhvaxs4xlycsx2n6bkyy6rhnzc9ddcnw6cccpgilds546ns4v";};
 prettyref-15878={run="0akbp6wsxn4swk0kwxw27x3lpf5anwk49bb8pvssaj4xy68hyq1h";doc="1wmvvsz7y0idwfki553qkfhg8j7k5h79nlhmaz6ln448x8gym8y8";source="1w9qckaw403a8nyqyx8qyqdn3zfkxzgfzj1hdw5vwi2805bbfy1f";};
-prettytok-63842={run="017svxnhqj6d8dpfdppzpnn6gjim78w95wlsqkd5vlsvrsis0x2x";doc="1h551p5ncmjckxhry43gqrphfigzciy93cl8lkk2avpiyj57xvpk";};
-preview-62130={run="02397l99gs9mmx8arh12xyvzr6zlj0bfz8hp5g45ki47a4xqi329";doc="0isix7b9qn6lhashmzr4dns0iyv0nq8x20y6y0hgz6zzdqg4a72l";source="012ihy1wbcl6pbw6la13qbiz9kaqhw124cz7c2glxyvy37jmhn8a";};
+prettytok-66884={run="09lrfza86v4haac2h4pg68vqjdx60h79f3p7my59mwdk67sgbxwj";doc="0n6w3d8fbm7pidh7iga8vmlvx8qvql90k14hahy4q0i2b8dpg2bv";};
+preview-66924={run="021bb1l1k1qpwj35v81s26cw599nk9vmv6q9wk03x9b46ir0mzxc";doc="0rdk8vjlps3q1b91xk2lrfy14wcnfkbdr7zng88wjw6iacp0rgfn";source="0k7nla9s1dd0afmash82izyb4va1wfh3ip4wry2zmgbqjkpjg0bp";};
 prftree-54080={run="1sdb56cvlfrys3f884hg6qpv1nwd6ywfyiq8168bs78g4q2ah4by";doc="137f5nbcm6p428an3v20j5cx5djvdri12ph07czj13877pjy9ccf";};
-principia-58927={run="19xxp7m5vwlsa45a4yc42g0h0l988ml60c6qvs5m3cmz0aaxxl28";doc="1li30zpf3k1izhcmf4f3dpjbpnn01zk0bzpcpxdsxrmh90fjpjgv";};
+principia-66625={run="17vkriwbkwjb2ksxbv9glz11i3dczj8hh4a4mfb3signj2dwyaf8";doc="1d7fbkmjbi6ym7kik631219fa4c1cs80k7f3kzzzsrwkmnhrq6qv";};
 printlen-19847={run="1h6q95dvpldmrfbpdv9v19p34iwq3jzz7vs0z7b6fnijyybjxnpm";doc="08p9zwkgjpkh7ip3i54qjdazgnwq79v15hvz4j4y2dvh294nmrgn";};
 proba-15878={run="15d8n2ik6m5sc4vlp3k2w3h5h8h5s4agijgcnlkmklw3qv172vii";doc="1m2mbbn1fa616dfxkb7x8azqsvczyifygjmbblsyfkd5kl6f8dwp";source="0wbnfa1i6vbpbq2a4yhsvpyifiw1pirz72qasxm1nwmgfg5dndx7";};
 probsoln-44783={run="15zsh16v5rs0baqvy9jwn59d95qj6glvc5h054ldb8sy5nwkl3sk";doc="1l5mq047bpdg21mjdjwfs6ghdh1cb19bf9y5939nlw1wyy1flcfk";source="1lzai2ynjnfinf38jdqb0bdccrh58jbhnwnpm9ikskxpzy7v262d";};
 prociagssymp-63242={run="1vs5xs701gkm4zl6x1qkzbqssffdhg4i3cabqx3s8hp07nw8h7fb";doc="009kqv5n4m5ci39bck5s3h5kwcim5dfjpa6y0xad46syj9mgjgvq";};
 prodint-21893={run="06s9qbfy0rkfby9ff3dylykl81yb3fxpwxrwa8hn1aa2gd9bj2n9";doc="0z8ibz668zjjjypcn0kiy488wzgwzxqackz5z996r3sq5x5zzgh5";};
 productbox-20886={run="1idarj7sxqkqzlnwaqv9f192r228fclilz01fjy444ly765k0cbk";doc="1pzba2ymna70gflrnw6hs35dgkv17qfjs8gh4g6van44wjykhfvg";source="1fnqp2sx0wmyd9130j5zbqw2dk1nkajp4qs46qm47b90wga8pkkj";};
-profcollege-66371={run="154rrjb2sjkpgw98v8kq6hxkjcpgb2zkpgy3mvx45197hgg6grrr";doc="10bz8spmr07l7vs4mfgc390nfc0gx5p6ihsj3wf8fj3bk2f2kna3";};
+profcollege-69343={run="0f88f1q817s8r3skm097hp5k5qbjfnfh2lp26c2vc66bpmpkjzi7";doc="0qp55z9d1x30gs8h51rfyzci1hia8jah9mk6s7z1xlxmy9yvawrr";};
 proflabo-63147={run="0rj7x6s9afn5yid3pqd2vz9qn21z6n6m5cahq92ygn1ix5xbw3dg";doc="0z56g41bw3lwi32z0imja6a4nls406ck3ic4pibyi5ajcb8317w4";};
-proflycee-65977={run="1j8smibbr4an6x3lsva8i3wgb3m0y0zl61f7r92jqqhk4rdnx8zh";doc="1zj7g68cwg70gahsb59zzf2zc66li2clw9lj9nvb3lwnq03r0m4y";};
+proflycee-69386={run="0apwy75hr9b4kirl2f94wz9fxlm6pvndn8ppi88mdplfwhykhvs2";doc="1qwpl2vgi6sxd4p9bqyqag342zzacfvq59nwbd28hcnnyqrr9az1";};
+profmaquette-69287={run="1q10iqq390lkb10xz5x8fjcxic9x15d70k472s9z8nwqw2sdg540";doc="1xhajdlhh24fzdnhq9qqi3r01s5icdii3vgxy6wb0dx2ndkw8k5b";};
+profsio-69125={run="1gj53aqxmmy2h2xxg2hr53baxckwgm5r116iiz7mhlfpd413s77f";doc="1pk0ihk58s346xqfmi7xygismr07pzb4rsx4z2dbras2cwq8r0z5";};
 program-44214={run="0ay2z8ga10zr5p453ss0w5qqqyknsgqd2hifa7lq0gih4rml14pa";doc="102c9fir3hn0m7y3lkj9j0vwf0srbv6inq87lcxwfkvc7yw0rr2m";};
 progress-19519={run="0wgkyvyf24666kg79h7wq1piq6yq2nkw6k5g0ydk3y4gwzzkfhlz";doc="0r303dr6yf1r5kk38c1njjra7vgvp9qrblxj7zd8fw1vlq2sc7fg";};
 progressbar-33822={run="1d0d6dy9ssiij19s259d2ns2k5v2ccc45anhz1qm7iqli12ij0m3";doc="0bxsgvql8hqv4qw1pv18vdxcshphdpbb29mqp3pbbsd4crp4qb5z";};
-projlib-65475={run="14gqy0f4ky37p4bn60mvqm69qz24iyankz09bwfja71zacn6wzza";doc="1x8zlqf8pvvlp7wib0yqrhp0xnm84i91zk9njrxj7f1020bq6kda";source="1zrb67lr1bdw6nzqqybwdkhzr4v6xgskkf16vxq5f08wihw64k5f";};
+projlib-68784={run="1hp39wzk117dc0f9xjbm4hhirn9myi81pzzrppc30vzjsy6c899y";doc="1ics502bv7k4yp1is445gid0av88n0y2d9rqi5sw4plp23hxa4k0";source="16zz56y218gan7x8gmrhd5bfcn44zlxaajyvxx2w7id0ii3kxb6w";};
 proof-at-the-end-64188={run="1bl6s055slsn8y7cvg7jagbaycfm79rfic1pl25v93bpxhrx45gi";doc="0bqjhqcvrhmh0ay7f59shnyvn815pqjzkph067yay9l5jr1s9xcg";source="0x04lrwhhbnm511rbbccmf3p0wzp7h1rxd1kcf8xb03pdhvq1adz";};
 proofread-61719={run="0gnn7zkzrszglcqcwz8c4i13apildg7s93rkp1z3h5m2gr9w9v42";doc="05g3k77vczdqk19gigs9b6w8rccvcr0d382ysqn0yg6cgd70bi43";source="1mggrm4cfji364ylra3ffdhwbx6phcxwfzw2mwls00msk7jdzpsg";};
-prooftrees-52221={run="08ijsd4gfkgczfgz3wmlyk6pb61cqdc7f36v5131xv12x6s2kd4l";doc="0ldhmf22q3m3nhxw2m1z9f19xzw753qrm0nw8hch6wzk419p29k9";};
+prooftrees-67399={run="0sk49q7vavqlcn6rgpzzjjwldss4rlqkvds78jyfm79ky9vdgiz0";doc="0jajcbq3mv8lmixygc7i4nhwiywq5qp9w8hbiqxi16kpqql37n52";};
 properties-15878={run="1pxl101mc318ivzszyycwb79rqghx4x8xr9fvq216ambs7gq4sji";doc="1arkdafwmhg0hm11as4mb75pjz2mnah1l5msy5xnlk4asbwfc4sb";};
 proposal-40538={run="1y5i7xl1z706fcv82s5dyx1ksfvp9dq2m0shwy3an2r94qszcwmg";doc="1haa55hhz11j9m3lxp84yzlpyalrc3hlb7wxvmngqhn2j2mi0b3c";source="1n3z0rvhnc76grih3jy5h5ax7rffxjwmafd92fnp10jinr9riapx";};
 prosper-33033={run="1vsjb2r4xnlwwdjbnkpvl42c86rkzs2imsq762n2w6x41i591ics";doc="1f5w1vb4d7z990mz6iicjakqhszcwirphwv966c66j2jc3yvalfn";};
@@ -3016,21 +3091,21 @@ protocol-25562={run="0kv4ndgdfmwah88sspp4maca6z1l39fg41bf803kapp34nfxqggr";doc="
 prtec-51919={run="09izjx2g6gyckmgzrvg9bzlwz1yvwr0nc40s6wsbb898wa6cswxx";doc="1cv2knhl8xrsyzcywypr6dqgdxqss0r9mxl6wv4clpzpsyvmfzbg";};
 przechlewski-book-23552={run="0qn5agid0s57a8bdlha8y9m99xpcvlqknq473r6995qkdsrrdxl6";doc="1bp9yqs9y28nbzwb183yf8h5862pm3iw1jsi8c6qzhsrcwr2b2jn";};
 ps2eps-62856={run="08zr0qc8p22wr40vgwd9idp75x6cwbb3acnqcqafh73a66vdvbzn";doc="1jmygd0cbja55sdfynfqr73f54lg3vkmc9hylyw0zj1sdw20wmz5";};
-ps2pk-52851={doc="11jchhii2z34ikw0jaddg6kni13linnar4bwdrp6k9kl8zm0h2hq";};
+ps2pk-66186={doc="14xq9x5rf15ibzr41cm5rm4v3rpmj50rfsqp4zzvyhmpmyw4dsx3";};
 psbao-55013={run="0il4qhmc00ny1syfhid0mvmcz42sqp58zi8gf5hm6p3dsf5jy0z9";doc="0zrmprbhrbj3m0q0swlnk581ka3mws13dsha60izi7bfqxc6crqc";};
-pseudo-65690={run="0by3a3xxcx6rw6bh8ias41r0xrmkn6hg4jwpj98afzvlkmwh17m5";doc="0gxlnbp7za981syaz7k64i81gza7jm2611kjwpkii2saa0qmhp66";};
+pseudo-66638={run="0h59v2akfr00vax3hr90ph8p7znbi0n0lnzl99f65pg3k46xpgg6";doc="165i1gg6pfg1bcwxqlg2nx2crn8vblnqm0zxb9kl6jd820wjd9ix";};
 pseudocode-54080={run="0x2p2bq7cqajrn8s03dgikxg2nb94hk7mzmi7l911xdgdprlg6qb";doc="1qzvdp0qmmlljahg6hqn7c67sszvjvp3v8zvg7nwam58by39l3k1";};
 psfrag-15878={run="0m5dlnjf7gmikg4nyxzzfz999gphkg41qm2sksq9ly2rspbdcs8s";doc="135c7sr4i8617vwr4nnz8vcy5qv8icr0r0cmqsj6r1hpkm67zqhk";source="0d68rzpxax5n0da8sg1nh50li7rc0m7syz0kvpsgzqbdp1clbcjn";};
 psfrag-italian-15878={doc="0ssx8rw7fwln02zzscywivnhizgrb6w05awscvv9gf9n1qj6avsf";};
 psfragx-26243={run="1kb769ai57d7zg3bp0r0mspz0a2l87qiyg04a87iqk7vxrwv0bd7";doc="110n7a7jgfmzps5ng4gibxigmm3dpkqlz6jpbnphrw1pnlskwjsv";source="180yrq0rnsb9cd8j70jym06k543q211fzzswzg0dq8fzn3hk2wwh";};
 psgo-15878={run="18h614dasdg19jnwwl5swih2dxp4wis66fkscq8jjmpvjnckpck2";doc="0naza2kxcgm9wdcyibs36qnwwgwpsbj2m9qkk3l9d54kml3wiznp";};
 psizzl-15878={run="0pzbip08246id09mm0chi0gjjgdc7yzj0bd7q8qh5yfdbhjn8yc8";doc="03slfkyrb0pil00n55n6yp5vxxxl8adjbxxmg1c2zl261lci107v";source="1h2hrjxc3ck75cigh82rmi3558dmpliwxzzsaabb178bh76m2n3a";};
-pslatex-57434={run="1wfk27qb4x8aafph0lgnkq3bkz5fy4cmaiivd924mk92l1wfg6dp";source="0qg1055zpy3pi3hljrrhzixhzi19rca2jchg0q04xi0vq3vslpcz";};
+pslatex-67469={run="1wfk27qb4x8aafph0lgnkq3bkz5fy4cmaiivd924mk92l1wfg6dp";source="11gykawqw4fi453s1bp2r0pfm0az2k8gr3rcrygzfqqzgrhxvi8f";};
 psnfss-54694={run="0ng5pkk6m2l8yqd58wggbakbs4hp4400r4ihyi9akf8j4kmq2s5y";doc="0vfv9x1qsivwi6c6hi23vw0jcjz9dclx0vxnifslyzlrh7592dzc";source="0cqpzra8jwdn9d6w4mhmfrfw2zia2nbpyxjfrcz8m1disd10lhsf";};
 pspicture-15878={run="0i41lg0nw9xya0gfiwjd3xgbk0w723g90gnsvnfg764s2dl371b8";doc="1p27zx0svlcm4p12xjq35g2lgj1j485c3x363gciqb4aswmlsl65";source="1f8lhyhfcywn5y78354r37bgalyq57bm1fill5vzny3l7cyqxxn4";};
 pst-2dplot-15878={run="00y967mflrd0y38mqyv8r7h489jrl38rgaiq871wf9k3cbmf0f1g";doc="0j1c2kxc63nf33gi1f146pa6hw7fm5x9h4yc30dqg8hsd2v0bni6";};
 pst-3d-17257={run="0mh6xbrvwxx7nxp4yqm71hhpqjb41g4kinxkj2vmspw9wrwclbj4";doc="1dp9l6vwhb306j998hydb07c6ig10ibn7h0wwiaisgabn0s69xqh";source="0m9lvgmjzzc2lmp63vnly30j9886qabgbhqwpbbyl035cy6k684n";};
-pst-3dplot-61615={run="1km0iilm9rqf422sn8mkiiw6b3xlmhrr9nz4w85dv4af70hwvx4x";doc="05vsiaglfgqzfwlzs2qmrchrfgzycszac4mjyvgynqzvfpy6djcp";};
+pst-3dplot-68727={run="0pdzz4gqvq0h0d13f6464ldz78x4gzn24bxb76lcjj73xpjsxir4";doc="0agrpqkm3zs497b4rrday4cbxy0l1l3rqpiindx7v57fzqh0i34w";};
 pst-abspos-15878={run="0pjh72cjpim4v0ri92b7nbjdmilpfa7d49vsvhfqddq68k02m0yc";doc="1nwjynxlpxgqld6slhhrzlsalp9296nbnj2kzr6a9c9b4sjxxbp1";source="1p9i5bg4jx8s6bb6ilbaa702l2mn911g09pjdmk6mnb405d908fy";};
 pst-am-19591={run="1vk1dpvm5bcnxc6k7kpqq5xb6a227bwhlrwd6mdbdapk58jh876f";doc="10acmb6wm7z9bpgh76hlsjks9v2rzp0qqbcklrjx3iw0jqdk53vf";source="06xvv8fh818ldzqccf911hw4wr6nyzxdmghynlsg4hjn54ff3x0l";};
 pst-antiprism-46643={run="1b8yxfyc4cac5992a3cc4xkj0ip35z63rqxdw2jx748qs7c3gyxf";doc="0d4v65fsk28hyiljr6fpk6yw7sac7n9jmx4bmdfgpkagspb7ygpf";};
@@ -3053,7 +3128,7 @@ pst-dbicons-17556={run="1mq523ngyxlds1jaq1cnwkp6hynlz72imc1sh1f2fch0v91a3kc1";do
 pst-diffraction-62977={run="0ccy05jagh7kpra07bai1j8drwn2701qdfgki925mcifsa74r3y4";doc="12xx19vaygrby5475la4nzygcbf6cf1mq3g14sxyhg997x9q4ha9";source="0wf4kpdn7vyaf9cy7dq6qf3lq37fgkcg91njfbqy9n9v8k87fv1x";};
 pst-electricfield-29803={run="0kk0jjlcfyvz5dws08wnm3qlhvgifrby88idssjhgvqgg8zpz3yq";doc="0zx7x15p6vxj1f9v8id7ba49878xjmbqzh762v1sy1bxygj9yb21";source="0n1rxq6jx331b0qlnpjy7mh84m9vdlrs8ckr2b3slwcwp63cs0sz";};
 pst-eps-15878={run="14grlhaxxhwmpw3xi3xv7n3bq3zx3qwd9rh707wfgz87iaj7jzvw";doc="0dz6543q5g4wsqcwcwablr7w7w5l6dk19m9qpgrhb1w8sg7hgc31";source="1cn9yl1prwzjvxwgyzs5jdywyirg9hy8g76cnl62gkk9ndmcpryq";};
-pst-eucl-56474={run="0h23rkrdnpybpqjksy411c028g54a5i8l3wjr85p1jlv4fph3kn9";doc="1rspj40d3rx0xwv0sjy2rbgkkhccrayaj38pbr4l001dbpxk3h7z";};
+pst-eucl-66924={run="0fr742cx9fcllwzmh4w9690h2yq2ch6zkf8m39iksdsfx82x6sah";doc="0jxn56qsma852nvb3m9qipxyhl39r3wslwwbiggax0jwqzrnbbia";};
 pst-eucl-translation-bg-19296={doc="06c9ajnfl01sl81z5r8a5lzmaygq9rdmgym2v40y7xp7z033gwwv";};
 pst-exa-45289={run="1s94fbqpgv58zks5jfq3dbzhpw4p3gchhm32498m6bsp52kzzl7w";doc="1m7gwxbhnii3s7aqi8v09sq49010yasx6k4p7bx43rhir08v1zjv";};
 pst-feyn-48781={run="0qi5zll29rfc7jkmz4hs0y22if5qjn13whaf7a62rdfvbdp1l87x";doc="184d371rhqn549a9vgvdh92ikzphmdsbskny0dnh0pcgxzwdabzz";};
@@ -3063,34 +3138,34 @@ pst-flags-65501={run="0p89whiwccbsx15jv7krji6fz8br7d4k3ag788dv2cyjids8v25g";doc=
 pst-fr3d-15878={run="1m0zz9bqdqw1hzwp06s4hma68wwm5mmswrp9jj3xc9r5xjyq7fk8";doc="1gpijw1iv0pg30kws1vclsy5yjd7rk0j3qspcjlmkj1bhq3fjrgh";source="1zvssd11fg4hf53rz4c6imsgi77kfcc7l9hh0ni8jnznlgmdjkf9";};
 pst-fractal-64714={run="142i9wf39v31wzvalh41v5bjf1l91x6kib1rpk6fqyhfxx44ibn0";doc="0hkvmraf88w54kgqax7q6lg9zmcliqczyrw4prlivgjkmshy64nx";};
 pst-fun-17909={run="1r1zvnyg5m16fifi5xbzn5iypr4n4d9vbnqi42h6a4m4y1wb3qdh";doc="1gb9rz3kz13xzflr7r00dalqri10lbn830v3xcpmb4n29a2bf0qv";source="07kpm9irvp7dn0hd1wh08p7lfbgn78jj63yqzzxn1jb4wrb4qkx3";};
-pst-func-60933={run="0mzgrvjisq6llgrnk2wiw8bczx964pp6p81a1brlbbwl8zk157mi";doc="0pa54qkihcvikd66qv9yfx9kdy49byx4wwc8gjgjhdfplg11y5is";};
+pst-func-66845={run="05c7166sms46md8nzkm9gzp5s373vqgpkr7c146ywxanix66b0cb";doc="0wlikp18sc8lq2jn7zxh619r2d54p425a5k0cgm669apz7c0vws2";};
 pst-gantt-35832={run="1hkrmdwg7kc4xiif4fvhjwbj2ryxlrbyqb7h2n3rk2jmmky4hv7p";doc="1fqkwzsliv1mg3lyidgcsy652l5d2qy7x1rjix9swvk4vblx4fjs";};
 pst-geo-60387={run="09br33z2vdr2dlsfyqf8rya3qj7bila8r2xwqbc6g96yhn1c3r19";doc="1xxyazg51s4nj8hz8adzv3lvpr2dc1ji0sfm46xr763srwxpjjd8";};
 pst-geometrictools-61430={run="0i80r2n3vsnf4sczqkh9ri4dfb7dfxg9jcyhrrx2az552q1mr33h";doc="1ff7302f5ik2a367c81hgk3d88kkapm1jp5nd2mlybywa2nj5s0f";};
 pst-gr3d-15878={run="10jn2wdc908z2imnpcv03ffm83228fam0cqgmgmcss1774r2nc18";doc="0985ydi7jfsvlynjs5ddjhyhbh11nficfphy6qnvbv0jj367rabq";source="1z981d54aclpbq9ggy28qgnsspgwkavalm0j68pj69jxbcfxrpby";};
 pst-grad-15878={run="0bzq77vj333dsgilfw9k7lslhpmk67id6p1z14aw7nfrhyc80082";doc="03v585i28dc65xrydsp5jj9nd6kfpmhrjkwm3w89dv0p32xyzh11";};
 pst-graphicx-21717={run="1d7zvrnhch7vj1l9xscg4ynj5alml7pb38zwqns403wvcdnmb1an";doc="1mly0nr5yc5rdghy04sarhrwlxiwnndk644s4czf862n92ammh5d";};
-pst-hsb-61322={run="06x08vl255na1xv68v5yxdnarf9grm2mq7m40729dqh5rvip88bl";doc="1ibs0s2fgn6w1mjiassmg0jyb34qjwkarkm3p5zmrdm5d4s1k4hf";};
+pst-hsb-66739={run="0x0yzrsp6pwr5yk4s9rjkdgmxs5g93gmli5k50g8lwfgcz1kyfky";doc="13z67asnaj83yzn6qa9c6q4313klc1aln84hwsb8qjf3qg6w2556";};
 pst-infixplot-15878={run="133806cabfd6c44b0sdhchcmqjqswy2q2j2ry5kr78dzdna40y23";doc="1cd3i5ishy7pawv3ah6486kb63351p1g2d7iwx9zh5vwywi1ymqm";};
 pst-intersect-33210={run="1wbipiav79g5cal64bny5ba872rr4848i32w64bhrl7awsddyq0f";doc="1y45r9pdddh4pbb3bfp6mzss7whapf4bv7zbkrx7wmyjaal73s5y";source="09pbicmzmx0nraf5s8b19grra8p2vvdl903kc582dwn7xvqrk3rn";};
 pst-jtree-20946={run="0082prldszninnbksndf6y5mklvp4zgdyk31v78axp5fl3mq437n";doc="1hgy8iavrhzw6w8r0avf3h9x52fdl3lqshf6mxqpffaq1b0s6xqc";};
 pst-knot-16033={run="1m1bzq66jan3miyp6r9j1pkk7mim9xjn28ldd1nni06v65hdcz48";doc="0gfxyryyf75p89y2l1ar5yfy5c6qawbz503bnpnw7n575rhsz36d";};
-pst-labo-39077={run="1wman8073p41gxn5aa0jilpz8jl7zpk69vwid6f0981m3vc1jdk0";doc="1zdyp20x78zxqp07dcf6hiynlsq04s5fd2jjgjcs3mbjfz96yi6p";};
+pst-labo-67147={run="0wyvxb8xs4qvibgz2nz9fayp9fv6r2jlqxrr7svr43gnzjdsq28m";doc="1ayqgrs4y8cpws9bla26s7b82xg04p4f1y86p1gcl5f6816whq4g";};
 pst-layout-29803={run="0199jrw7b58x6qby4k48n8sd2rffxlkhrp334q2dmalqsi701l89";doc="1346ww24d9c64h03zgz7m7xdsnvkjy27cq4nbjn56bqcrl88982d";};
 pst-lens-15878={run="0220idbrzzslcmlyxxzj52mj9iai0p2ya10ykgkssyd8nfbl2jin";doc="02hbbhdnaz6cc5zkp2zmm92kbk0ppzwljivr1grx4g0jqqw8c2h4";source="1pwn8wx5w65xdz46qf5mzjkg74q296bkmzwsxw2aml406iksy890";};
 pst-light3d-15878={run="0glqibq1h8ynfkgn9r2p0yvgplydsigg5chj5gl2vq2hsb38sqg3";doc="1njiml3v4vb7jxpnai69b08pdikasjk30g3xp31vixqrzr56i4am";source="0rrgfxsbvfbyc1g1xsakmiiy7f8skmv2bkgq6vbji9y1f5s3b4zl";};
 pst-lsystem-49556={run="02m2g6kjs8fxifsdxld6ivjxch7vj137828xpax8s7abr9f4dyiq";doc="1apcp1ms40xhypxr4fq6xrh91ff15gplzllh3zs5b1w153xq3w8l";};
 pst-magneticfield-63821={run="01as8f6dm5yy7bqfm1yw0dm1w0jx74vhpbh4kp55br6f48fs480q";doc="1mc60dryqsmz2i4jspixg7m6rf97ai2zr4f59wf59140wlca7c2k";};
 pst-marble-50925={run="0d7xlygws5f1hipyc2ba7spr2y8h3rprigbrryny3mw2ycdh1yqv";doc="18jzc9fpjcrhya1knqsxxmaix8sglfbcsiszxc949pf4zdpm50ym";};
-pst-math-64732={run="0prlm00k316f4h4i614ly6576gw0aawbbzv5ggaarya4565r4hrs";doc="1k5gvvx3pcf8mhw19p2zz23bzzafcdw887402xsjvs3vlnw3cily";};
+pst-math-67535={run="070vvvcynfaa7mmfmqkkn7va3jvpmwxphm2w8j4k74indii282ry";doc="1w5rhcaggrjn9hmkx4h2h31470fpj8d3v3gk4w8ph35zhds5vl9c";};
 pst-mirror-60506={run="06qvndipn0i69b5jk8fxhp465sqjz79vlwr0j01ria3m91vygyqc";doc="0bfzs55sj49y3lznll477bag80yf06pcv0hh0xfg3zzvhmpcpiky";};
 pst-moire-60411={run="16zhb6gqrpdn56cggm80q67yp175dkbvyj5iy6zr5bxwj6qj8px3";doc="05g9hsxfcm5yl6afrlpba7hc7hd1kr0k00m9zj0jcqp1ggsqnb6a";};
 pst-node-61838={run="0a8bijpghvf5zx9zsd5m4bcwzl526f4r9vqa4dbqdxww0zxwk6gr";doc="0w0wr8xc237qjsz14yf4aq56d6jm8a4gmzp790rsphqaavab677a";};
 pst-ob3d-54514={run="0pglxl2prdi347qqrjpyk6hr3arhfc4rrcz1mnyz7q5jyamlskp5";doc="0s0jyb1s21pkmdnz4wdz793lbvidl9qdfh9cfqa0bwx9mmjvhpnb";source="0v9kih4gxk7aqwynihipm1595iswwkv5y6qj262aikhr6bz8v0sa";};
-pst-ode-65096={run="0mlrbcz6q99g6sc6if21pv6ivz3if8z0g0v40qqiw5z08hwk237b";doc="0cwcq2h2p9x019fjw82vzw72mry12k85g1qh80di2kz555kxrci7";};
+pst-ode-69296={run="1ga14sfia3w8pr8shxwf5231l0s2wd91yzn8lqvb6k9i5g5qcc5r";doc="15pyk4ahpccaxkwrg2kygnlsxryw7x9y74d0hgq234618jdc9fib";};
 pst-optexp-62977={run="194g5i604i33bvnprfyjab50smag094lv4gx2skd2h16zfzmg9lg";doc="1dgcb3fax1n15hz15fr0pzihyn3yyzvidw6nacysc4qxq2l6b56d";source="1cw69vk791rr15dc3z6ivv5lbcziab0bwiar8cr767fpm0w4rrfb";};
-pst-optic-62977={run="1591vaw8y2k99vr0g8dy11grrp98hvgqw5rl9zp501dh3hnf181d";doc="0q76b92w32x744y6ri1nf2dnzv00kyw32xyv3l5snvs728qdvayd";};
-pst-osci-15878={run="0gz1ac21gwhv2xqf5ny0zzgi83yg84qlxgx8mdj9xpnnpv6mccig";doc="1gdx6a07wg5bmfpx9myf7wxa309j64q5y2q1ikzfgf5czy0mxpa3";};
+pst-optic-67052={run="0f3ml0lw1yl9c9hvvx648m0psq9xd912z325mj2a5vqih5vxssyz";doc="1wznc3x2cmysbj67dc6pd8rxjp9hdh7gpkjxmq1vdc2n85vgznv9";};
+pst-osci-68781={run="1frp9pmwngklkwyicr04aph29ljjpgcgagnk5r6dxb0c8bp3209k";doc="1669300lfawksl65nx7x7g3kzzhf8qpj08isxcba40ac6lwkfkp8";};
 pst-ovl-54963={run="0p4yyrvagfjamwd1f81qyfhz6wwjpqi6nfazyl8ml1fd7qjv1g18";doc="0pqh9sz0l0j0bzvsva6kba6gm7cssy36i17px2zrr3lc9k6yajf4";};
 pst-pad-15878={run="09z2dkb2h8hmf46b0h1b235d1yjv42dgx55pj5s4dbpxzgam7ljz";doc="1c597riwdggb0fli4w4ay2iwkqhaiwxy3mcl9diz8lijy0h4fpk8";source="0b2w0pgp8njbndx6x3hq0rwxsr1gwf848l6gk3vrkksq419j2506";};
 pst-pdf-56622={run="1klgwqpc3m5k5ciiqb070h48r9mp4hmssp4s82k79n6kq45ar33m";doc="06b1kpazsfn7gv2npfrnrmxlky5mhw6dfyzip2lwd243m08jdagq";source="04b0kpxmzi42116pxmkdjl87bm6j22wr62w7bka9qww2ifj18na8";};
@@ -3108,10 +3183,10 @@ pst-shell-56070={run="1j97kcw8w52q1ispkpbwblxza7q8v25288pzxkyc4yf7802a3zj1";doc=
 pst-sigsys-21667={run="1v3yz2vhazp04xjd0bp4pyyiz0v4yq7hbr9mq0m2s8pg3hisfbwr";doc="08m72w1jxrafcbr19fp0yvii9aama1rfl9czys6gr3sii9ks6qxa";};
 pst-slpe-24391={run="18f99ravk128r2cg84yxv3cjx2df8fgzq1f054z5g5ig1s5ginws";doc="0g8dhw27n2vf73289y8rah5xakb60cy23993vl3ygz1cgrn356i5";source="1mxninpgycpbakvmc9qc6032mncz890k5ggsfm507jzyfxrdp5lg";};
 pst-solarsystem-45097={run="0n6w3fyggf7favnr90239b6dp2j7q31qi5yjilxdw35s001m1ghj";doc="1bm77lqaqbjnhwv6fra0g05ij4l9vj9hh7gs3sljgdmwy4syqq24";};
-pst-solides3d-61719={run="1sayghfxhng2kh2yn2j095c7bymcfzwa0w6wd31llvp0pqzym1rk";doc="1kz4855a4b9pjf35wvdb3b5vi3c7zwv8pf3d38n613yg3gmpmr9h";};
+pst-solides3d-68786={run="0miw5r3sp58x5q9rdcaa2qp7kvsv6f8pnkjklljm8gy171ddvvav";doc="09ymz8vb5hinmcnnc8x92qkaq6zjhy3gyj0m5rgljrs15ks38vx4";};
 pst-soroban-15878={run="0fygllzq9gp37nkffgk3am2vygl5d5dwyr4avf1gvh0s698jj8by";doc="16a1w9ci7ivqf30hvr23fv6j6clqjb4y7nmjgcbfz20xzxk3aa1c";source="1h6srvvl3s1prswlj608y7pj5l4zzn13yqrhdv41956ikd1wbb14";};
 pst-spectra-15878={run="0nd87bnxf8giakadg457p10idbnn0m982l0pgyx23495qfxywax5";doc="1y40d08nwnpkmrm0jdj69drpip1gwkd8n9hqmairl1wccs6r6dhk";};
-pst-spinner-66119={run="1nkmvjy19cpxqs3ii3djmrr6yj8naf54a97jbprs37afml3zql2d";doc="1sff7bhnxjj7cmixl9qbfvglya79187gx28swxr7mby9ybf941j0";};
+pst-spinner-66115={run="1nkmvjy19cpxqs3ii3djmrr6yj8naf54a97jbprs37afml3zql2d";doc="1sff7bhnxjj7cmixl9qbfvglya79187gx28swxr7mby9ybf941j0";};
 pst-stru-38613={run="16i39r6vivs0z1l5l48c3vky9bac22n5k7gddfj7vlllfg6llgzs";doc="1cl5sq39pfvwhww488kq0cgnlihf63jkhqdd4rciaa8vf55mc6wm";};
 pst-support-15878={doc="1470n03zanpw35dnfzyjqm7d5lgddrimypz28x0zsk9nqpamnqnv";};
 pst-text-49542={run="1s0dqi2mpzlk8069piv4z7jg370navi4r5z8aysy9vx8n0vm27zf";doc="0ia6h49lfi9394sfr29wmafbhvgdm5zj7q13zll4d1agakn48j27";};
@@ -3127,18 +3202,19 @@ pst-venn-49316={run="1i9frqc6b4wg3pb0ks4v0xxsfzs348ddhncr31mhfs39nbj6029d";doc="
 pst-vowel-25228={run="1p1adlrg62jsqzkjkl8avb79w26kkd5jdssmkcsd65dg5qfa9x50";doc="0wyl0mvx2d0zd8q0sdmyrqgr72i2igv0669ajv0gz8miv04vr41k";};
 pst2pdf-56172={run="1rm0frzi52i3irfy5703kw38d3f1grby27nryjpb4ziiw6n5yizb";doc="1sll10kps82b47npv2g2r1l3kkm5y75mp2p2pzqsnxxivgl5kp2l";};
 pstool-46393={run="1g8pmd13f73v8bsrcpf4a6hh00pww6isz00gj8cxnj0xnd4p9xwf";doc="0vwxrcm29w8fiw4mmr5jcxrlc122k4s1wg1sqvmzqypwpvyls59c";};
-pstricks-65346={run="1fdfkf1rjb8akdq1ypy9qlid7a1n6cshfqxn0x0mjhvj76m884la";doc="03mblqwxfkf16xd94rz8w38fk6lnciscvnh09b4nks5l20w6l9kf";};
-pstricks-add-65067={run="0zyly09hggfvshfjhcm45ggg1fyms4q12jjxqjgfz39sm4j6g71l";doc="031gslgjg1a6sd72n2rqmzwxlpljdqn6za9f4p3l20zn8iqbps1v";};
+pstricks-68767={run="07gapdjvqfqj9ca54kqy3wla8pnmnrys4l04bjawg60574qslq5l";doc="04732mndj1lhkpb4k17i8h3mjc8iphv2dayzqrb9ykw54gsb51p4";};
+pstricks-add-66887={run="1h1y2r0y3vypygcczkqi8xpxc0mdcgqm1xfscspqw9ifndx0rwrm";doc="0bd3rwcdmxnazq86c6wwbjkajzd75knja1fc7s3svhn0hxy4jcza";};
 pstricks_calcnotes-34363={doc="00vgcdf73p4143dfjcvs4b5v4phvisv76ink3iiijl6s6f9zbmy3";};
 pstring-42857={run="1f7a26xxxzwfgprhzxq4ay597sln18hjk8cmlzjy342jy45g6dpj";doc="0ngxd95s8lzpsgirgrq4dg0p1dwh4l0gs99nhich12v6l19jd29b";};
 psutils-61719={run="04xwjilc64d5zpbngcsr6c6gvm3857wf2hsyag32v8bk1pjag97f";doc="0hb0bjnk53i2q5wkkcn4rkjbpvyv90d41ynxbgsk8hp2gli8b0zj";};
-ptex-62464={doc="1z5wmihblxhrx2rhsdccs6d8mimlj42kjzjvvj1vifr4c13hbgbq";};
+ptex-66186={doc="1dk8rvadr1q00bjizj567lzjp5l47pr7miyk0ghkajbiiwbqi0kn";};
 ptex-base-64072={run="1h14n8hj9xh97y2g8fnz7q3vrzmm7nkk1yj9194v0y6kjggf732h";doc="12nxgvrinkd95hiwczd8nykiyldjyvh8sk49m2j8hl9g4g6slkg6";};
-ptex-fontmaps-59711={run="0f6cijbr26jjnba7g5ffyh8pb0aihdfv094yyxhrp2wlf93ca4jg";doc="00lx6cv5sb039k3wzjsq92q9x6a2q6l96khmj6rc0l06xva4j6am";source="046jbs402n7g7dyd1akqwx382rkn9m7cs6qr6nz1cpd7c56kfb9n";tlpkg="0znid3c8bpw7acfi4hj14gabs44ywfmcz88x8vya1vzs9mzsiqbj";};
+ptex-fontmaps-65953={run="0f6cijbr26jjnba7g5ffyh8pb0aihdfv094yyxhrp2wlf93ca4jg";doc="00lx6cv5sb039k3wzjsq92q9x6a2q6l96khmj6rc0l06xva4j6am";source="046jbs402n7g7dyd1akqwx382rkn9m7cs6qr6nz1cpd7c56kfb9n";tlpkg="02z3c5jkwmrr61b6ivw0dx45jjgg7larkrhjzg4mr2dha2667hmg";};
 ptex-fonts-64330={run="1qp1linlsyyx2v4v5l2vjvynw9gpvd4c1klszamp2fcy1wpkgw49";doc="0iqy6k6x96qqg2c8p9cn58jpkqq8hhnb20852a39whgvcnk8awhp";};
-ptex-manual-62915={doc="0zwmig2h7ma853lqnl845mxw6512x663y16q9vdd93ci5k94dlf1";};
-ptex2pdf-64072={run="0s4b60gc0wg4wgxczzr2h1xlic0rk23a9wvfy76vysqzlsfmh0xl";doc="0ky2zh6a5d6w2aq8k9wg7p3cvp8l4wihfjlz3sir3ggj1rx2x6j4";tlpkg="0413ifnbmmp6awmpbfa6vm31lfqzxhli49dfd5gnw8r8ny5k1jhy";};
+ptex-manual-68147={doc="0kvq5wx7rz6lz9a5f2fjk1y3l8sbqm10jc80s9irbkhv8rhkg8ar";};
+ptex2pdf-65953={run="0s4b60gc0wg4wgxczzr2h1xlic0rk23a9wvfy76vysqzlsfmh0xl";doc="0ky2zh6a5d6w2aq8k9wg7p3cvp8l4wihfjlz3sir3ggj1rx2x6j4";tlpkg="1rikx19qn1av7hrihjviqi1jgla1ncw3fyv7mjav490813nk92ah";};
 ptext-30171={run="137amhihk598rhaf0qmbahd9spqivzqrmi53y6q3mlzhlrxg0p1r";doc="12crg85znvmpr5yhvr4yr6riw037zwcpwpavp1vb1nnd9zy99ya5";};
+ptlatexcommands-67125={run="0srsgh0a8hzy23xd4a3fa168qx81fixakjpryd3db55ygrvqlvcs";doc="02k3c7nzrsgb86zkhc8mxl06wdalw9cdrp5grm0kaw0q5yzifp9f";source="1wd4k71xrlgdxbix3m2dr5isj0am8skdr1di00bji1vj8fvmdczp";};
 ptolemaicastronomy-50810={run="13zs1n17jsiaavw98g2ggfrmb4pbd48qscqb918shai2ffkpx8lw";doc="1r0c5rixwam85wchqhf405h7mwim88616ycy1i4zv03hby18156a";source="1aacl5pvqww0j2kvk7k5ikn43qhj2pqsxh47kid443g56hclkzwf";};
 ptptex-19440={run="1p3bahmdkxbdgczvx52qhyn2w0wmdzr8061idf0kpbwvl0nkw75p";doc="1ldg6ljwf0iivd0cxb22sld2q2afwfb83ac5r6jxjcfr5ac7dv0q";};
 punk-27388={run="0jywh76pckajz8m9c9li6vvybjwljyzhk7hsn437mswbfdd5f2yz";doc="0lbly72hl8a5996dkjr5ssnzklbshbypxymp4zgdvb0i033pd0r0";};
@@ -3146,52 +3222,58 @@ punk-latex-27389={run="1wfs3li3h0fv6dmpvfjvf0bhq72iy82gpjbxhp3ssm7sj41y07cf";doc
 punknova-24649={run="19qc4ypax7jlr0hw7aim6p0afy9a2qz1ifasx9dh5rnqhjf0q5hl";doc="1x432js1hj43nrxg2bvp4wrrmgpi6p44ckrfic1gk7ki8wzcx4s4";};
 purifyeps-29725={run="125dn66xsrnv4acvk2mbwfl26sy42jw7fngm3p8qmzya93sp0vwl";doc="0lzw7ajxkx78v5dhlsddb0ahq6a9975f4mzmsgp23qczmz28878w";};
 puyotikz-57254={run="04s6878wblhz3m7xc7zgqv0ziwx76r22c4sa974ismfqjbdh6xdc";doc="0wikdmv19kj62vc5bd0n2dl91cqg44lwlfs41nw808hnk96a02q3";};
-pwebmac-63731={run="09abnfapfb7978q7qc91a3yn0yvj5gyynvny7001vnanw5w9wd83";doc="1l0sgg6gl2zs5sdhkfl9qpqk9877d59l7g12nlccvg1ccaxac2hs";};
-pxbase-66198={run="0nlnlzpbd2dd397lxxg97pgaagfyb00ygrd6dz0v3gkmpwllnkvf";doc="1kjkqsbrsiwzz6szjm2irz6ijy9q5xnjimdhhv52xk0j46hyiphf";};
-pxchfon-66073={run="1g1xxx5imyhpblbvwpb86fw3as6mfcxq7ay2vjjn8ydixmx30pnz";doc="02j3ay4qv0kkglzrwk3av5c8xamq098kbdcdkik8fa655lzvca7v";};
+pwebmac-69027={run="1162s28w7mlmp724a72blvphq21vrzydh5fv5hr38a7dgfi9ydyf";doc="1sbri1kw2hgdgw59ahadbysv481zz79lh67z3mvq6frx566vcb2m";};
+pxbase-66187={run="0nlnlzpbd2dd397lxxg97pgaagfyb00ygrd6dz0v3gkmpwllnkvf";doc="1kjkqsbrsiwzz6szjm2irz6ijy9q5xnjimdhhv52xk0j46hyiphf";};
+pxchfon-68103={run="1n78m5685q0w9k2v0iyxra2cj57gh11wnsifkvb04z956r1xvxik";doc="1jm9f934a360jw3v1yr9ca9a4qyrifqa05x5m1a19klf53rn3ghx";};
 pxcjkcat-63967={run="0pg6rh8yf6mnd047br0rwiyjyzb7g8qknwzx7v9r77rxgpvy4baq";doc="0jfm9ln4k0iwvk1ddxma3yjvfrzkhxv63nn76d6xi8gqj1vm1kl8";};
 pxfonts-15878={run="0vkhx82ywv17rflmq119jxs3ib08rfw6lkjgr3mp9vf6vplgqzki";doc="1afcy7c1n63zi5czbpnajrrgwfp9xdymkgwf5h9865adjbb3lm82";};
 pxgreeks-21838={run="1j93gwgk66k3fwkhraapis7ddj8a4bliqh783psdv1054j5fspqi";doc="1md7q2q0b2lhffjm39cxzxf86rw8759zxwj5sbgavzdhyc70ssli";source="04vdi4wf7lw15v05jqycm66j1iiy6g13qrc1ynrnq0df8b0zfs1g";};
-pxjahyper-66285={run="1hcnwp8m1rjpc987bg7nwam6lbc0wyv7anrw7avf8dfljklvnxbp";doc="05jv160jmxhqwl9rl40yj0y2853r04pxnbhd40zn54jdnqz10aw6";};
+pxjahyper-66272={run="1hcnwp8m1rjpc987bg7nwam6lbc0wyv7anrw7avf8dfljklvnxbp";doc="05jv160jmxhqwl9rl40yj0y2853r04pxnbhd40zn54jdnqz10aw6";};
 pxjodel-64072={run="0gywpypmv9c6bqyygyz336v7dn6bnx5ibz2p6f38paamk6bqbyf4";doc="16nf7za81mq77irbdqkxw2iwxgi3jpy5vh1fijp67bq3lx0az7is";};
 pxpgfmark-30212={run="0mkcc99fwi8n63fghw3mz2alhgpakc3hqyd40s2fpwisvh15rbbr";doc="16sapygswd6mr0pr04c86jzngw6gdf62bgv2xlrfzfpq7cnjafxb";};
-pxpic-65803={run="022gnd0qd2qh24j7hsznfknjffbqds6j0n4gymzdkzaal6f8arly";doc="1v0cwa8dnh32mzdgrhdbd7fj9a6jk4qgdp96p5m0zkzga640169p";source="0xqziqgyaqc4vfp3idikr6lri31ihljd775rbx5f3vysa8zxldps";};
-pxrubrica-66307={run="1w74syyn707qwyckizmyh78ycs6ic0mmhliz2wbamz35s1z9l2sd";doc="0cbx00q2bwnrhjwfgwdj4q09ix208037774az77cg6i2qz9xmagb";source="0x592j0vbp8pw0r1wd2mmplksyyl6wnwns8smf0b8s4y3k96n71l";};
+pxpic-67955={run="0zy1f7584bmmn00nwzl8w17hwrc4c5i798763p81sl784hm2vpw4";doc="0yw22zb82scd1c4n0niyc69n7xhjgadabxgbh7jjkxrjbzp6j18y";source="053yqnrc5xfj2gifnn94lxhawbnlfw3dhlzz3jnn4pvry7vnqhvc";};
+pxrubrica-66298={run="1w74syyn707qwyckizmyh78ycs6ic0mmhliz2wbamz35s1z9l2sd";doc="0cbx00q2bwnrhjwfgwdj4q09ix208037774az77cg6i2qz9xmagb";source="0x592j0vbp8pw0r1wd2mmplksyyl6wnwns8smf0b8s4y3k96n71l";};
 pxtatescale-63967={run="15swkjxfxznb101hvlqcxpplxngfaf0nbpkw7j2fgccyqjs5fhfn";doc="1j6yrpyfhn75qkv03bnwj9i3s4lmsh47sw696y13cflvdmsgs8n6";};
 pxtxalfa-60847={run="0fanfh1gb1fmp7binmhks4l90s6925pki6gwyzlaa7vy7za1l3ck";doc="0jc51zsbqbjnp7zqbbl1cpqjf7rwvsxvfzfzm9wsbkfzd16c9817";};
-pxufont-64072={run="19d5bm980iqx0m54fdybllq1f842hmp7976zc6v5w7dbfhndybgj";doc="0vnvdvpdwkwjqds23bif51h9myq4bzgj2k9xmzqzvan8xj446jxf";};
+pxufont-67573={run="0vvnhghcdlyqhl8244c76wd411cd9cjmjsrhic47rjs9sis1ilci";doc="088a02dfk2n6lgyfri74p2lnbp7mp4vn96qqkby0qjfnj6956hb7";};
 pygmentex-64131={run="1kd9jqmbxhkd7gijghd8wi0q5sxqf5dpf22z96wwr29kvv7jxm64";doc="1ppayblsdpmrd9sxfpf0kqhbsxfd1fgq69g48zj9jzbhncwx0lhp";};
-pyluatex-65855={run="0sqd70f5x9c5aa7r55xr1pg5wz5ipw9fv45ry93929imxjvb8i1f";doc="120pdw5kblk6p292vwswigwqy61dmf728d0gjx1661yzyskd42a9";};
+pyluatex-69372={run="171ahvh5ii2gimcx0a2g0dn7s87a58yff7g2dwbw5hi8vyqksfi5";doc="14sxmfsk3lrzcv0k8rkrq7d5dirxmy58i3km6bkahigk5iryq38p";};
 python-60162={run="0brs0hydf9vqwlvxipfrfxqjblazgb8ziy4brp2bi16bnsz59ykm";doc="0x1nfbv7fmyhzhgy6xsndhd9nja8xbip436kg7ygscjxml6gibgh";};
 pythonhighlight-43191={run="1bf3jf05zyggcbz5c6hr06wd8dhf0q5m1i4i7p026s1b7dxxq1qk";doc="0qw1rnyg5pawmp7hd3b0dyjzmbrlxa0hzg7bxnmvrz1akn1cas3q";};
-pythonimmediate-66465={run="02p0gnlbkfb2x0d502d2bmi5c4hz3ibmimns7r2bdzqfvx7ynkhn";doc="1v2h95ixg3fdpql2c5sk71g76j8v9244gcjfzsilwl77fxd125xg";};
+pythonimmediate-66461={run="02p0gnlbkfb2x0d502d2bmi5c4hz3ibmimns7r2bdzqfvx7ynkhn";doc="1v2h95ixg3fdpql2c5sk71g76j8v9244gcjfzsilwl77fxd125xg";};
 pythontex-59514={run="0hgbhdrzxvkc8szvkq2vi8v4xxn9k05zpa95vrmdlgw76ms33wvi";doc="0pxafbrr7mclvn2zdwirqbfa0b03cm4l4wbcgh1ag75skghmh745";source="03a3qj72hzczf4dz282vqq6w263zk1zhgm69h1rk5ibdyasmv8xh";};
+q-and-a-69164={run="15gmr65sq78id1l8nljgppbv85q3pjswwfgylc2msa7pk7vyiwzp";doc="0c8wbw0ia433sg8j9py7ivd1libjx43ys2fqi14m0m766sfrdigp";};
 qcircuit-48400={run="0vxsppwbmhh03mq9k3zb2hgl3628q4i51dz98j2s73z19693266a";doc="0571vlvpvmpjhjbbrd1ybzckhfy7ymralr017d09kf9p5gk0y677";};
 qcm-63833={run="17pryjm0r6w559lgkf03aws720zsap95azfbixm7p8lr1gy5nwlq";doc="0wx14xsj4sy6xpcs87bji6xfarfhlzqdzgyyx2p8439m6ay3cpx1";source="1gsfa9bby33a5qgi4p2awr91gn8p4d2qylz32xmzhp0x6fpqhig3";};
 qobitree-15878={run="0irdc2w96ad7mkgm6jqwia7lk1x4557fm60l98mc6kpd3a9djzgc";doc="001w9a4kxbrx11298gnvjamx8c6plag1gp5b7x9vq35s25kdy0i8";};
 qpxqtx-45797={run="123dfaqzpl8h5ia08swjmj4h05ncz3ishsh6rbcm5px35ccrgjld";doc="0ng1h0yhclki35v1w08r2di3dvf9rp78r43dfa752zr8agrfd713";};
-qrbill-66304={run="02z1ij2jjbd7gls7igr8xk42kd2pvncprqx8j2wqjkydasq0bgjd";doc="0chbcmfhs9ngjfcap5mknays321lwnk7vkairrfir33yrx8zwy3d";source="0hvgl5ygrmnvcv2506jzi01vbvkp8g15lqvrl5ws705iivij125b";};
+qrbill-67724={run="19wl8p36crfgyzad9v20n3j8ad33r7yww9gn3z3yvvggdqpsda0k";doc="14hfgxl7rl026cmbh2cxnj51fslm1zzfnc5pv33gqzd3nzmbs1mr";source="0g3aii3fdjp3ps788b108jj7ggks4ndzhg071jqca0q5xhydnvph";};
 qrcode-36065={run="0vs5sg5hch0c2rxy27yiy1c543l2fnqinr8nvsyr288fja0pfrig";doc="1rmwz89yxlgrypmki8xanqc3xxm10m9zc2shh5r0fzwmsfssri9r";source="115wlgvpxx0vkb9d4gfwbqamk7sfmcfd11hxbfr8khd5hv8asvpi";};
 qsharp-49722={run="1lrnzvlalznyxmkwrn9nh3x2zz74bakiq09dg374js5yni36igf5";doc="091kiiicfinn5cxpfhhb66j3hkmv80gsqd1b66xcz4ghxan43ywk";source="13923qlhbx52x7h3v0iv6y8q0dz8g2ikvfz9m0lh9zwjcwv4mpxy";};
 qstest-15878={run="1xk4vqqics2iwzxck416za70cksx836qrsm4v8idyg9kscvjr1jp";doc="19ddnrz4wjd51h8g0z40db53wh0zlr6m1nfczghc5b26vvcj14y0";source="198xvadvk9fb36kxzv1wpis5qb38dqaxsqva6l7l23kz3sb6k849";};
 qsymbols-15878={run="11jlwr2pwrxck0xcw2szql0rdynjr2pk4jgzlqkpcardibfr385x";doc="078qxbmv1zgg73a923sbfqnwmdwg1qkfxra5r8dzi8wlq1cv29ii";source="01lmlclv9rlkga19mw4ikngdpkxhmhq77kylln8kjhcpa1cylk5c";};
 qtree-15878={run="10a9v90yspc1pq3ja9bzixdq6wxl6q4jxz5na7x9yw9g44z3xaf3";doc="0ja3xpng871h96q220nrlq2iypk2spjs4qr5vpmri89b5nvngf6m";};
 qualitype-54512={run="1r59cbk6rmdy0zhljcfqxksf101rkzib8ll20ak0sshc3f1jj64y";doc="1jxcqd48v11b74drv0lh2gv65aqsjv5zziph2s9g5ldd1733fgl5";};
-quantikz-54911={run="12g2vq2sckjidabs2ivi1r87mzj2rvqk89632szgr8vccjjk7yqb";doc="0ckdbfx2fz0kjja2sanhmmrr61ald26gw4v5d4fw4bqrph8mpbq9";};
+quantikz-67206={run="0g7zjkgfw814wn1ddsw2yxvcv5y8ca66cz13hmfa61p4kd8y0x2q";doc="1rla8zwpmvf5wwd6bp74dimm49aa6m8xw6ix0ahcnvx03vs1yibi";};
 quantumarticle-65242={run="01w948cabqlnwyv0n1wzs97hhfknspx2596w79ipjy1aka4w6304";doc="1k2xwacvm6sks0qj1psskcfm002haa734fqysr4cggckwhf6n7wk";};
 quattrocento-64372={run="1jn29sl616p97vf81krg8g94zqsgvw40p1mh664i3sfkglxlag2v";doc="1v63bbn4yd799cy55w7j6isl53ngzngq9jlzi63nd5bmk4lqcq3m";};
+quickreaction-66867={run="1jcqsgvsa886hw3ldf2xx915jll8glfdd7vmc04plgvvvfavghjj";doc="1xgwv5d2wpp5jan4c347kxmjqfa9qk9396vpz1djsa27h0naj4f9";};
 quicktype-42183={run="16qy6rxxkdkkli1knibhbm28jg80l0qjsn9lsb36b7z5xwxj9f21";doc="0ic0lkhj3rdpwfsrysm5qidw0gby11kmfnzbh5k2fpkfarwfhxxb";};
+quiver-67779={run="1nakig6vyj6fmzpxr7xv79wx75f2dq42k5q80fg90krxm65bmbn0";doc="1jbxdisyxla5s8qkn19ayj0iyqdym7n6xlspr0vjmbz0nmh0nxd7";};
 quiz2socrative-52276={run="1s6g0svlkg503r5mqn3iw90qyw5lwpv7dj92yck7ymziv9p59qkz";doc="0v9x0jxrgiscblh8w9wip07di78glgzd0rn2fp1hpzabi8x94dvc";};
+quizztex-68823={run="1yrari2lhzd6rmkqzhng49vmcbglnb8zn1mw5f4a0np4mw5dhmdw";doc="1qii1rajgh8fba2ck8l1p5dzviiji2i4nppivmgllrvs78cnfk60";};
 quotchap-56926={run="1284ldj6pfqq6mz2a62pi81k1jca8xkc6wa1wbrv3kqwfdcc8cwa";doc="1bnhvp91adi4bhzwddzl16qw6d74in94jq2h16lk06aakcwr72hd";source="1g2cfb5j1qjqads2m9ad9a8n0j7ihrvd55q9b56jd141a23layb6";};
 quoting-32818={run="1sghajwgfdc1p0gifii8wz1rvzsiy38f4jpfmh5pys9w6nr9a8bj";doc="0aknicilv5rn3claf77l5br5mr21yg1dhdc1j1yxigz9k8pljzm6";source="1h01p11ahr4ykqnhgl0kwc5i68mw9wznswrxy9ab5rpma1agjkzp";};
 quotmark-15878={run="1v48482b57w6f1cx0b5av9cq26zhgcqkwi8yllnl9p8pnrjngc9x";doc="1jmdv5i67hsbmybjr8j2sv7f7z8bm3a30yy0ycyp6b5c3ycqx04n";source="02bg50nj945gycxf8kb7s9c87xwszprq3zynrxxpzixrxqd06pf3";};
-quran-57601={run="1cgig3cq5057q0mrs0h5mz8l9zpp5xjjzw42kv1v88556wxc564c";doc="1n20l8366iisgnn9zdzfcwhqrlg5zz84w30ddm1zjhwnjsycin17";};
-quran-bn-57602={run="0dlwf4jnm9jmxa0q3fpcnq496zqn2z66jrmsch520xyxf3bsgk49";doc="00466c408q27rz6yw4wkiqarbf0z5rk2cxs2ahhnhxzgw6pi7va6";};
+quran-67791={run="0gp028w9q30wx5vfjvj53b6brrac6wdkybai4fij2kk2vz0ck9lh";doc="12wphp5nz23svjj06s8xdrfghfqqx85hmyqd4rg7kxyky009i6kk";};
+quran-bn-68345={run="0rfg0vi7297gdilra0lg6z40hxp22y3rk3fxw82j0hh5dj0f5gl7";doc="0lk1xjf1n42v5mkg2sr3mykvgrhi9m53gxndifc7pmm8anivfklh";};
 quran-de-54191={run="1a9dqgrdh6vw6zpygslfq9d9z8qws9n614b5adr7pkjcdwm8zsaf";doc="0fq3yd3grj31wyjvac4qkvs38hjjnlsygiihrxw22ddhsa4cl2jv";};
-quran-ur-57597={run="02r06www7n8mb8z7cx0wgvhawnskchnq28mdqmnyk4a7f59gl1yp";doc="1d86p5dkj9l2g8y1lq48bs92by5925w3zgh94mcl59i156jywlcz";};
+quran-en-68790={run="193b22vcvbrhy12rjzxzgjhlfiyzp0fq97g2sbna45s7358r4n2b";doc="0jgqpcl84dgf0bc5zlzsbif5nqw5kyhi4ngdd4kcj6z5lpafj6k0";};
+quran-id-68747={run="1pc6hnvi1xdfislik6rq2f121q9r8mjy48prmfj51zv061f367bs";doc="1zsf40xn4xfy8wiyqznsa2y7b2rzffak995yrkllkbcny5q20ilw";};
+quran-ur-68314={run="1l2hsql1q8yhicqxdz3jnhhc9cjlwq4951xsyfz5ayzrcckw83n1";doc="05xcidnphnidr1pa4rhiimqlqnfjqkwx4hsl6ppmpiywws904g3j";};
 qyxf-book-56319={run="08v4n8lc3qcxjzfvwqypnky9zhia7ylwq5f31arxgdf0wq4gyhia";doc="0i6g7v0xdy26rdy1kap0b4pnsz8xjm1h90dwby8y0bqlxjhd509w";};
 r_und_s-15878={run="04icw2n2vz98bk48kbqybb6x3wgzz8fr045133vinybx49nk8xxa";doc="16ksw9wid0sr9gjhjkxk3696fcy19gky3cp9ia6rsfh20f9f2yw2";};
-ragged2e-66153={run="113lp0rnx5kh32yd4i19zpbb21ngi5fvbhgy5mkpgpk2n4mjszbn";doc="0nrfzfv3fd9m6alhhvqs2lwryah65pj8h1cvh674yhqlqf896pbw";source="0ikha3pdilvijjnamk91dwqxvh4fy6l31iq7i0gkccmzm908jl56";};
+ragged2e-67441={run="0wvvlhbmj1j4gp66l9p1hq526r3izywyf8ddggj316q2pg4db53d";doc="048f04kd8rzi3cnqwa8gw4cvx2q5k5qpnph2idvkvjy3lw3jr9nj";source="0zj8nphii46xwc4gp6h6l65zz9lx3s0741x9gkz9ghq2x8m7qphz";};
 raleway-42629={run="1d8zv0x1j2c996ql8g7zc38s7fpc61ibk5zdixhj7kbfrz5cbc1b";doc="1i8hja5817kzy894j25hy5cjnw31y4kcahcymx5hrbi0aplhizx0";};
 ran_toks-59515={run="1k31qcvbdfx5xknykv9zlsijgzxcw53amb03avwbqm3kly5d30r4";doc="1jri3cb862m8984awdshlqc9wwcq0hbjw6cf2yqgb9wn186gjfyd";source="04ix834glql0yprygm5s2354q62cwsz39lfk871n8s9mxjd2f1c2";};
 randbild-15878={run="07ix44c2zm185byn868bmm6fcbwq9q37h31brfa4839hpklg41pp";doc="1cpyzrmswxawxk6x2vfjy7y8qj3mjrxgmr9lgjvz11f5fvvdb0i0";source="0yzz5awhhw52zg877nl76410a4q6gy7mrri0hccicj529kk0d1x5";};
@@ -3199,23 +3281,23 @@ random-54723={run="1y4dn1i3kmd99b5br7a2j6ppf0ikzp744si5p6m5rmvg4vh1jh69";doc="1g
 randomlist-45281={run="1kwbg73d8hk4wh69fajl1zqyvkfyfxzyv5xykknpa5s67pxkh9c5";doc="0r8i0ywq21c1h317b3yx5ixr4b1fllgwams4yy5z13alda4wxqdx";source="1s86m5hcncfqkwlr8mwdyh3fsnyzisiw5dlg52r499wr77r5z56j";};
 randomwalk-49513={run="10ivivbyrxm50svqdhv9lm623pvmnifpwpnbhpmx2nvf4crxxbcm";doc="1lvff00h8c2fxyf7if1d2xqkk87lb6396w6mb4yfxwsk0j8j2jhf";source="169x0wy0k91kmfbisqh4ciz8n4knhkxmz2d227gzwbf80sr2a80y";};
 randtext-15878={run="11a4j40zaixjklf4rkzb17cxnfmm6lp9kph3kkp2kalz41qamc0k";doc="1g8nwiz06w4a1sdvdfch5yavar11mj5xpk631n5ym2d5g7hp0dm9";};
-rank-2-roots-61719={run="1fy1zv4yf2gqz4im40r19m1mmgagkvmfhxpzj44csasdcd2w1415";doc="0mrj96c11vrp0b6df17fkiwnbnxpis3rwk5ji8wwa1klg5han5kf";};
+rank-2-roots-68161={run="132sfajpxnl82pz9g76h4xv7fpirqgxrivz2g3mccgvb5ykiv0cd";doc="0y1rva3xz08xkw8s46xxhn6kl58dh1v9i190ffqjd1g2xxix10f2";};
 rbt-mathnotes-61193={run="0mrk5p7h2y1kaaj45fcr56smzi7ny6808k53s5442gf538id9jmb";doc="1ysaqvli3gy777a5g1d7q5brc245qqfr1fhzj0a4dwrj1gcnw4x1";};
 rccol-15878={run="04nw4h7z4k4rnvqh5s602l8h05n85iri3p3cpic4ss71ccn8c2dw";doc="0q3qb0sbhnbqwgc0i9bw27s317rbz05k6pmvhad3m8mvlsbgh285";source="0ss2436k5fbd25cynhw13lq4ns4payl8fi8lc96vi0kvn6jmkwrq";};
 rcs-15878={run="1kri1q5b36d00k1pmpkpa0dmbv7qqprycxzmlmqvp7fx82s5awwk";doc="1x6m7v28p3lslral4wk595clg3kjf2nwk2mi1sva2fl56mny7mzx";source="176fvqs3r8wysrqlqwjdnm0xqgqdyjq7wfwnfb2iv3c3rmpr7ab0";};
 rcs-multi-64967={run="1n60pzx6qrbabksj2aqqf1j4i1b298ldsyjg8z6pmhladq2r3ia2";doc="06lqyy8igbiyl86b8fsl968sv94xcnl1amppyf8hmr52dhdqcysc";source="1pdds0kh3p3rkdn2nrpyfrw224q3rfnahypif8n0aijkcxdlw3w0";};
 rcsinfo-15878={run="04j1sq20960w5yyf37pnzvwaknl8f18mx6rmj2s2vch8bcncdzjh";doc="02zyrgcd0m77xp5p95v63b58mv0h0miqlziagwv1rz3ywvmgwhk7";source="1fgmppgp0n4arrilxmrjn7h7pf5jq7gm6drdz6njq8w1l1qxlxg7";};
-readablecv-61719={run="1za8mnyi0vvwfn1i4wcrmba904jxi805f0v3507nfav55h1x343x";doc="1ixyxxiv5pcyhqx1ddwankc8ymfm83123v8d5i4lpwdr9g9h4jc7";};
+readablecv-67986={run="0z8shn1l3hghkxrmaiyxsv25n9ar59j0nscj1331yf9dwh9cd31d";doc="02zjf16y49lyi9wy3w7k2q1sl3j37k3575nm1hi77bmj4i57rp4z";};
 readarray-60540={run="1hx39j04h7y14qrp75q9f5x3nnii62pvi43ww48nk02glxs9y5kq";doc="1v0f93nhylqs5rz2bxrkfpzlvwajsz6znlyvdnc0gxcbwg330j1q";};
 realboxes-64967={run="0xyp6w8kbycaqmrkkrl8701c7shvd9i16vvgs28cvr61nkv3mv4s";doc="0xd95j7wgv3yzrzq9lvdxpzvvvki2an8kg0zm29yz01m397vmys1";source="0r0phiq8v15ra9a429j63kyjv3w2p96myr8czijfcb9g4920jvmm";};
-realhats-63595={run="19xhg696qbyzjr8dnzg9bh63wys70f4mb0c7wbcc41ia1wymvskf";doc="1p2w8rhg5kjwq7x8ccwd7i5yczk5i55lb6pnl5h73h8n2jpzi8bs";source="10p2cp9lhgbiixs89f1il91ghsl3akcxsz7ay4xni41fas3kmil6";};
+realhats-66924={run="0v8pc4b8ls0xyfbji9m7dw728dni8bsggq2pjf9bi2vzmq8825m6";doc="085nfwsfvmbwv7zlfg849ywyqswi011278gmws01sv3q5y6ypfxq";source="0rp15pryn8zyq668pxapwg0imbn76m9fclwh6qd2jj48bqrlsq06";};
 realscripts-56594={run="0ph678nf5k03xl63z66gkmg5f8agxy201y6bvabhdnb1zhvfrfmm";doc="1kmlaym3vxb9mx0jp7wvmsk13i30wyyazhny5zzk14bwx8rk3kf4";source="1qzqr2q2bkq4pchin1xivg8gwx5qkgip4kq74rswfz5a5iimyh0n";};
 realtranspose-56623={run="1m3gmj9bay3a1b7fidjs6rs2077m7csaszz11g6y5i2sjpjyx2aa";doc="08w4ad33pycaaiwhrnmx3sfx2c6kv417ijhqgxdsja1mrhcp0nxw";source="0s4lbg2jg5fa4x8f9cnp5zcb4yi92g4981dwdksqsilcd0in4ksh";};
 rec-thy-63982={run="0pr0k26k66dqaq4rppgqx27f6km6a7r4zk6cj4yjl5l2ac19vvim";doc="0rljkcq2vgppc1lhc8mms0qxbqiq7yxhp19xbshscga86hxd0l5q";};
 recipe-54080={run="1pnyia45nx32r1ng711k2l3g2h4r6n67nfxvg193z4mz1i20hq85";doc="0hhm5l89naj8vzjnvf2ambpawq7scp9bgpfjzszgb6069c486bvp";};
 recipebook-37026={run="0ianmda3ji60acckagmlsmrsvi4sxp3prznvzqkkkvv88w1xbm8n";doc="0fmc59fddgfs4v6lsba04g334xlkhsl1liph7v3yx4qj6l9dxlkp";};
 recipecard-15878={run="195lg2kvww7amwls014s21l2pnyp24c8cfyb3glrxphcvcdhhr6q";doc="1h13vn2zw880gvzi1pc8j41wa21ygja43hrjmyav4zxziiisrnwq";source="0fkwvjxjhaywk61j750a05x0s5fgb96q5n3afcq056yf01jbvsxi";};
-recorder-fingering-66026={run="0ppzaj6zsh14gvjxy4gk3hz4qfdxka3akh6nrddx1w9ryq6sk40z";doc="0qxw8bbd37yy4vib56j22fxpbwymq6pdb4s4m5dvq55z2ja05qsg";};
+recorder-fingering-68595={run="02wxkvcwh8j3iv6dm9ms3nn09kb8lz97xx0jq7p0w2i95is472bc";doc="0nh52w97xi8p2wgqrpz4svipi8fcam815a340zlsphxsx31c8lg5";};
 rectopma-19980={run="1ivjyfhl4g3j1j0xnq31rcnl66z3xwaixyzs8wwmbf1y18lgzyb9";doc="0gfvsjszqrn2r1cm7blk0xnrnv94l1a7ialwhvf733vm1m699lja";};
 recycle-15878={run="0pj6xvdd30b4y1fa01vmhczinw48d6psfd8iy0rpzpaq89rbjrvq";doc="0sylgv7viy4qgl0krhsf8q1gkxiz91wpn0l5jyq5y1zg92x8jk1b";};
 refcheck-29128={run="0v82jjddvis01n2ngw7yngv4kh2impw77s1yq360sxqjym2m34ng";doc="0ckmd4wnjl0zbyqr5q18whb927sjbz1xgdg1hg5w4ih0g36sra63";};
@@ -3227,36 +3309,39 @@ refstyle-20318={run="0nx762gng6bmlrala884r4mjh2vjh4r20yy00bpjzq0il98hs2lh";doc="
 regcount-19979={run="19n0gwvh87pb2fanw52rc5j540v9yw10h2r8svczim9sdginy56r";doc="0qnxcyh2vhkylaav056lc2vg24y5h11svzy6hrk6rr3sza9k6z2k";source="1xfk7qs4x302lfi93a1n8nzpsmzmypyb34d8hd7h8y6nm7q2g4y3";};
 regexpatch-58668={run="0i8dfsr32f4w3lfh88z45sdhvwzqgh52xqfqgj53fvynblpz9msw";doc="0qh2g9sdj971a75dv3jfxi3ga3mf6fmb4azphkdgxmm690dblx35";source="1iq45q093v1n421r37w42815yxjb7iby426a48mvgzyc1c82rd37";};
 register-54485={run="0i084dij80m292c9f57hb0y3gs870520l8awl3wb21ss76vs5501";doc="0zi950xii9qbscbv5030aw02arc77c8inwxmzkslcmapdqxq5wr4";source="1jz02c2c5xpinxninb1a2bkgan21gijs48rks4xv17y7k6z9h00v";};
-regstats-25050={run="0rxapv9sd1i5wvb7ybaq84bjjcy5widjrgsfbkgg2w3zcanb6k61";doc="08iqkmpa3pg17ik8x49v5xwg8a08806xvp9d2xyamf8ndrcljnh4";source="00k0b24g1c1kpzpvqka53h6c19pxw5cf4sw0ymgllr21agri6mni";};
-reledmac-63105={run="1dhzi396g471ygr8697c998wpz1gn8c89877f9c35yq7jkgwxjvz";doc="0s0gr9vlwcw6ac4xj0ck6yym4l5sz2wyh5rvswv5fdb6wx65zag1";source="1niai1b8dlgpqkpwmm32gr0fvabxirm18xx745da90xvrs6ynsbk";};
+regstats-66795={run="022l63bc3g31479byh1350fl4wpfw9pq9jbqy3xzhrrl35psvqpm";doc="1l54lb8g97gib5al38k98gnahrpl4sc0kr6wrabagq70cbbpnc50";source="1px681bkciakl41cyblk72v5kh83hyqf7bn3s0hjax9alszk29pa";};
+reledmac-68411={run="0kchw0r9irziabbpjbf405f8rp2n7xvijipbyx7isnzadhrkyp04";doc="0gbx77a5k22393yw7c8s8w6pakal4q3sfq8021mhcl2qcmpvc574";source="1vxxgm7wy47gwhg9wax31fm02klrviwadvik5863hikrinfl3im7";};
 relenc-22050={run="13ym795q37rmxhmr0d8834y272si11f0qh7lmhffrpsf4d3bhf74";doc="1hb2sdm9lgzfkj2kkbrlb3alnfjq4rw3islgdzkqbcgqp9s06f67";source="1gk7nbczw9b897idmsgqx6i8xdmi7wizhb3dyc0hir7qmivaqv6s";};
 relsize-30707={run="06sy6v0jscrj2qs7axm770xv8fkiivvj5lwb8mkf58gd5jwc5bgb";doc="1sgv3x3dky3i7xivh6pzqh3lrqjhb62g0ji0hdgmy9blfrdf3api";};
 reotex-34924={run="113nfw6md0v4522n54q63smd2g2iwm89qsqld237f32r3rdkbcl0";doc="0lapzgfp019a7qihfhf1cp2szwq98j8kmcy80c3gf1fa1x0c3x1q";};
 repeatindex-24305={run="1z4z6bpfjmgn8mkpcl1rsd9m1jxdx6lx2kz83r43d1ks5zjc6wn7";doc="1vcq9vbfw4dwif9q5ki0bq378yd4sg5g2yxr24bjav97shd9iaxk";};
-repere-65769={run="13p5xqv306jhxg1kcfjhrih4vl8blpjism830ih38cq9454yqmmv";doc="1vx1ja9c629iivm1cz1h0dhn0bk5691fsndxf43mxpz81kcsi9hh";};
+repere-66998={run="0kjpf1ywcphgmkxsr70mzqlx3mid4af7699hz3fqgs307iswj0di";doc="1fhx74lsy7wsh84p2g9chdqy94vh6sq4wi1rny9pr9cmnfxb09m8";};
 repltext-56433={run="19h9qfzz9idywv1bi4qpl8yqv73lwj6s6aqxqhb8jlh3b2scp4y7";doc="0nhr1lpbb5nvi7mfzrjxfq7ii2kib8klzcsqg99b4pj3hcwhv93v";source="1phbwgyvdm6a616wzvlc24jm40k4hbyjsnim5g5jr15phlsa6r2f";};
 rerunfilecheck-63869={run="0i06ypv9hgdgmsv2idx8bfpi9xfrl1m17ly6cg8a1x0v6ns50fwr";doc="16ryk4k490pxdli58j36bgrbmfi4gfc5jm8y0pnv9fcj07da7wpy";source="17m0dig8vddgga28j5raavq8aysy3kdgzapyrciajj0j90q14sss";};
 rescansync-63856={run="1qdcw7zi965khz3n3xrwg9x84hi58iv8sg9b3dwn36cjdrxvvx83";doc="0szxkc0bpj0in2mlms1m381hhrajvwhp4yk17daihnyyxx6m78i9";};
 resmes-65375={run="1g0gqmx21s3y5h8ll5ymgd2k78mdhw3nrzc3xnpihdvh4gjqg9zv";doc="1qpmlhw6rxc8jmp44349x428f7mrs6dr07l5q20v2qj3xnnicjzx";source="0s5w0cf3a3106v029yndv5hmx5nrdk27dwbw18wb5q8m49gn6pz2";};
-resolsysteme-66193={run="179casx77warx76rzmfa8h2rvb8z77g7dp3scs6kbyc3s8j9x7gj";doc="0q4adkm495rn91aq96baxf365ygaq286cds25wr6hjfg9yj5bhgb";};
+resolsysteme-66192={run="179casx77warx76rzmfa8h2rvb8z77g7dp3scs6kbyc3s8j9x7gj";doc="0q4adkm495rn91aq96baxf365ygaq286cds25wr6hjfg9yj5bhgb";};
 resphilosophica-50935={run="00qqwp5n5a8hpz4zpcmh3avbm0wh2csdwdf450hmqnhpv2hn2z18";doc="1s5r4s8ja16vsz3ssqk0klfm1vfxrxbcj45mlszq5r3k5gsa1y5b";source="0nkxh1yc6nnjlh5bmf9w5k6hzg62f4i7x7nbf2019vlwvqn7r4yp";};
+responsive-69147={run="1ymdbw5gq79i5gd75dcnc484cjgrp7ckh8163a9n8rlghpn0pqqq";doc="1kzw8r28invf2p4xcqfws50w5i38rr7wwzf7jx2x147n8b91zr7v";};
 rest-api-57068={run="04y8xai39hlhj6y78cxq2fqy7fis7mbpwzyk4jmgqd3365738615";doc="1w33inmwr66p81g66zxqiqccks965060034sx8rmjnjfgwqqgcgn";source="06c06pbqa8m58r0lcr2xc6zahf6gjdc1r2zfgs3q1b6czy6rns34";};
 resumecls-54815={run="19cw19c4a3zn5gvsngcxj6xvh2qq5n5am0sdmg9zajy9lqqp5nnf";doc="17z14r8yj33mjjkydzaad1bm5nhvrv5154n5n6snjszd13vgdyh5";source="1mm53893g9nqp3wdks6qa22k4pk71v09rg98nm1i1bz5ppn6kj18";};
 resumemac-15878={run="0nixlk46dpyay8zsxrfkcng23rdyx48mnq8s84xs5whlrg369s3d";doc="1yln2mz6awzafpmrlzi3s12zj9m7qfj4laqgjpy4783rxdxy8w57";};
 returntogrid-48485={run="0cfik8imjgrhgilc7005cgy31h1azjk15jrcvd4vpf3g5ml1hpsg";doc="1plnz793nhiq9y89x7i51bgp9d18kbi0bpwslg982hf65yklmiwr";};
 reverxii-63753={run="140f6n41kdkbg6fivz7rjlc86fvcxv2nizzfb511s21waj3lljdd";doc="0n67pqjal4nv02viyshdznqwd5xzc3s8v3w1zxykrphccic73nlh";source="1asb5s8xvns7l54cdp6gshcirdj0wcwhkl791jxb4c93qmb3pyx1";};
 revquantum-43505={run="00mcqs4zd33larynscqza6p18a8payrgarwbgdsnnvaqf3c2rjnf";doc="1nbs15bl80yl7hrav0awm43q4brdfqm83bpyf2zg00yz5pjm1497";source="0dqxvcd5yinnsal4wydb5ybsldsax18zp016p2yzk212rk61rikd";};
-revtex-56591={run="1kph9xdp7ax4pv24ixxrsivhk9xqd5ln23c96cnn4qwvs65jygj1";doc="1s7i1lr8ra692jwjx2bf61h1jfndqwpqfqjr91v28vh3w7cg0m7a";source="0vishjx0cymhnb4lsnx05zdghfs9h2bhbz2jwsbdma81p66lx4jx";};
+revtex-67271={run="1l5kvnpz3ravhdlzshhgjw19mwm6jggpsplgmdwzbn6pmwnk0wzw";doc="03pyr8hd55dl40wf50f7vaxkwbqcsmajl9hqaxwq878pgbxb1zmr";source="19ij6z0zal8321q616pk62mcyj12cwb12lw6cgpbqf70g61jgfwl";};
 revtex4-56589={run="1v1km5grdg72mqf7sha1laprwhhwplrklax9mabhg13q4c9k8dlk";doc="1709bsjlka0d8x405fyac8vpmklf92qhw0qgmzvbhynhq4sc85b7";source="031vqkbg38iwi92yhvd5xdmmkbjhrr9lm7ncmlwgizf1y0ib7wpa";};
 revtex4-1-56590={run="13azycwjj9ihirfkcgmjrpvjha4wngmgkm6irh3388zwjs2sh7sj";doc="057yf32dsx1j3b89wl9jqrafvib8p0x6l3w3zk1c98p9vp8c0lm8";source="03dy16s50bkgj2l2zkm3z6mzf9qwhrax7cxll2p0rxxwfgvpgh8a";};
 rgltxdoc-53858={run="10wpra4vdjvjsq8n6iz33mnl69b13jbslp6ccf5b61va4v66z78l";doc="0xsz70p88ij6djhlf7n1718fxqcngfxnyl60h3ia0xi1gjzrbk1c";source="1vzldzdqyiqfaims3a8w378k4bfwxyznmw6028xvwrk7abq1nr4f";};
 ribbonproofs-31137={run="1f7j2v5233fvjzlrlfliy18gy890mlr2n2fbqfhh88f2w3z4nw2b";doc="0gqbakw5jdamy0q4rx8y19xkdnb7v5arpkjmmsxhvv12pk2kb3d3";};
+rit-fonts-67659={run="0gsghvmn1va4idw2p62r0a4vr5pdy67kk75f73xpkhsg4i716w49";doc="047lhzb7h0sq1bwrh0a04ank09apii7rh9cdrx77ngrnrk2fz1a6";};
 rjlparshap-15878={run="1af2a5fmzx1mmk0vprx8w18rqgab0dcm1c7sfvnh7v59lgvkh6rv";doc="1is0ny6a5ndhgl441vrv7ik4i0br90nlcddiabgmshwyn87kiciz";source="19kvfg03r3nr99a9ylk3yr6nnq8r7cvfp3rsi2vi10m19jz60ssl";};
 rlepsf-19082={run="0ycf0md4d2bz8003s0q4xi6qdjspi8z1dp5040cm3qm25p7jsrf4";doc="1asi443gvl34m648ap9j5an6fx5x94s3v4dp8bqvygn615jhd0na";};
 rmathbr-57173={run="1jlafpdjryj0sic2zpn5f90754ydnfbb74x8b3q19klm3n20bsr2";doc="1nfcd9ypyscqv3ghlaljrnj4rm2md5h5k6yl173n15zrr56sxkfd";source="08mzgxkwk6frzgd2hq8fz30dliwrkrk23xmqy9p0qjmq9vi7vbf9";};
 rmpage-54080={run="0y292gcfkj0nk8090iqnlrx9mhvh545im2xms080kz0l1847frpc";doc="0rq7xjizq8nwg9zk60gjd9vcjvxyc0xaldc4304nyihfjxfyd00b";};
 robotarm-63116={run="10xlswn7bkad45fyv9j70pd77319mynldwk530y23lc2874s3yn2";doc="00qwsv5vxidjzkm31v21sbzd6rp1pvz2vrs66gmlm1xbfsv4kd0p";source="18zffnyyhc3mp8xpw7bc52q29z3skqfxg6h6x4b18mi9jpyd2x6q";};
 roboto-64350={run="05ynyzlrnhn7q95ld1midxdccc7kv209p4x53bi2n8rsjmp9sp39";doc="13aqrvxs9vhy8bpm42fx1i47m0q80pc4zm5gh2bllrpgpqn9hbry";};
+robust-externalize-68842={run="04m5bnzwfpfqafcqavcwdmqzk1yi22hpq3wrh1kiy858dlcxwnmi";doc="1wq6m2z9q58340sgkf1gvns6n5wxb11a79kpmkwmh3zzz0mjkp9m";};
 robustcommand-15878={run="1vxsxdg6122psbplm22l7f193fv7rd3dadcg6ys4ngzy957acvig";doc="13d5rsj95yx81bfbansh964dig4hjp5raxagzws58f24l8imvfzn";source="1zgnyglhz8i6hgzxlj19kdw31z9kx44zj2vziwkhcpr9clxl8as8";};
 robustindex-49877={run="1fl9vr5mynjg8w74sk2jh8vgj5yjpmyhyr107iblmcicgwv1sd9y";doc="0xf592xvmh6xmw08zwwcsn9xyadd9637vicnz95fbfpp03p9qjnq";};
 roex-45818={run="06mry55hqrakkc7yb7b174cx45n0frk3isxw96p4v77n9pyvlffk";source="0fwcb1fgz4kxbgcqm34s5glswj43wzg5j56ak5an39lsw0wirs94";};
@@ -3266,9 +3351,11 @@ romanbarpagenumber-36236={run="0m2772qfl5862l6m81rrx4xcbj1s7vhk9x0ywsqnr8qxl1kmv
 romande-19537={run="1bmqvxmlv2065ifn6bdy8i3mj1g6pkg44dhjrfr4sj5g8dihhqq0";doc="0fgbq36nzkvfw56rvqajvz8krfd84msx8iykkjizn1m5zkqb4iv5";source="1v8360kqvxidzkq8sgcg8k2cqhl59q7bmrk3gvf9vg0shrbvdr39";};
 romanneg-20087={run="0y9nlxbjyiwivw9jkc0vz0lj3b0nvj9dcd4sj0gxgxa1dg853rlp";doc="0bi3b9991x1pvh8s8yrw5031jkvvwkrwah78qfd5rlywh2ylnrr4";};
 romannum-15878={run="15zjf8wbjif83vnib3y6vqxc138aplb93nfkh95wl2rmahaigmw5";doc="0a8zsbh28jl761ir6is1l05n9jyvzr31y86qwaa714yxwpzak0s4";source="1gnvnj1l88l66mrhvd50cx44wws4a45708jmrncb5mnf0i6v7ci5";};
+rorlink-67461={run="16w0lixzj403qgj8yjwn7v5dg8114h91kbyad27y26z7c6q31dq0";doc="13z72aidbrlgyplr8zhjwhsyk4q1hja60jcw8d2l6275j03ykls6";source="18r6gjh78qfjqp1bczcrsdpzddhyfyj152z2r2i5pjcmdjp1806r";};
 rosario-51688={run="1jqgz4cxiq3md1dldlil6pslxxrp7brr9hl28qcf6akymnfxx37f";doc="050yna9vb9cz026cyi44f1qc596svxvf6fgyxlby2isl1jqy89zx";source="1bzcpxygwsmcg91nxx8lxc9skm5cr8hbz47qmydwznkkzldkdbh6";};
 rotfloat-18292={run="01ycgag2ip0kxdsaymfcndmbhfcc95ppkmwhm3imryibm9112bv3";doc="17x7jdnrnm333cq706cdkgzcyscq1k162l0rg3qgvknig6991v64";source="0ymb6xbsqqj91b9vkfzdab1ip0xqqj72zm1kd812gjgkpgxc3jfv";};
 rotpages-18740={run="1pqfkyqs8ymfqsvq35cpv438g8a3az6sajh2bszxncl7m3rqa10d";doc="069jlj27xa7vnl83bx5m4k79lky0ayvcl13gqxlk8an5kdwmdr3j";};
+rouequestions-67670={run="15265sdg56vrc9i7jl55rqwmhjzg27x46qinmzr51jws1wls9l5v";doc="0gj9w2yv7nvjjr50jwaagp6ccqr537h268sakms9fvd3hx8awmd2";};
 roundbox-29675={run="0607rknc69dnzwajmgaq1n8ixv884bqp5n9m1g6n2d9frmmh057i";doc="1vyna8wndg79vman54sv24hbdlv2jnrdkiwyxgzcwc2zv29asxs9";};
 roundrect-39796={run="1xjfigxkgcszkcja58jd2w1rhhnccsl665p0k20lssb97wmdzjxg";doc="0sg1ck97k8pbg2fjf99mhpvd251plphr5pk1dywmjniy9vmhv1ih";source="02kk3h77drvkqanc04bjlfzg0scprcs78z3m2zf8gs6q8w95k7pv";};
 rrgtrees-27322={run="0jihs23929pzbgpgnb2v9i16fcil9kxkggdv1dvg6xq9f2fh21md";doc="1skw79hvvh0xkjff4bfl0nqdd8znwhhwpdx33v8ns43xxamzmnwy";source="1q7y5mbvnrykrp87kljcxw7zdglh08cqz92iahdsaac4xffnz6bc";};
@@ -3283,7 +3370,8 @@ ruhyphen-21081={run="0pizl8szphgyq12sbpgsw25x88svj6vmf8j7ry23hvc9bvjibck7";sourc
 ruler-54251={run="1ikap9dkdw9lzpda0f2krizqbfkyjxvyddils7clim9nhg77aq71";};
 rulerbox-50984={run="0srxrij0sxvm04n6zk4vq4qqmxbjz3v425nx191z96fpjcssx2cn";doc="030wrw1ry800yixlgb11xbm5834njv3ad9gl4jv08x1pxkj29vcp";};
 rulercompass-32392={run="0ky611n65rvaii9b5ic498p7divfm71h843bv9h70v363mki9a0q";doc="0wqgnb9czbmymzmv7j48lgdv8s280id5sh8mwv6p0jqn69zcpdd8";source="19943zfp2rm3gdm6w5db01w6r1nl0kn4zkrnnxg4ic4n3gvv76px";};
-runcode-65588={run="1vanvfl5v80zrddm9757khwidrmxyfl2w9357nrham7mlv9p3p2z";doc="0gqsxq7v23pc9iphxd2b9d75bsq4w4z3277byra0df26r525jd66";};
+runcode-68223={run="1487x7a2b6wbsxmngln9yzyyd5a38ps069rmk95nxam936ijknjq";doc="0blns23ww5i2435sd6pd02dapqjbxq5vqn6dfwhy3bqnl199dl0r";};
+runtexshebang-68882={run="0c4rsadkk9vxcax1r0c0mz30krw387da9ildvjnh88ll7zgxv7xx";doc="1j72plplkdlazbqhpnykwl5fbszr3lil3zg9a91aih9nzr662vrk";};
 russ-25209={run="0jr0x81xc1zi9vhgvqy0hcga48nhkj9z2n4rd5303b8h68n92yfd";doc="02dl5mh45z9n2b59clcqnaj9fsv79jw46ph3303mlx7plyvdqj8z";};
 rutitlepage-62143={run="0gslb7lkinbhlqdgp8pb60h9x6ajypb5991z17p4d0jwifz063jk";doc="11h7ppnimbf6znqla0r1vq8six0ri5ihzd82dj66hhh6ic5pq9bx";source="10k8l66sjzdfrg6cbslx19a8nrvw7w5xaicn78rkkf095pyh1qpy";};
 rviewport-23739={run="06nc81iapfymbp0kxfk0srpxilfhk94xwhslv6az8n5a3bvp2mq5";doc="1m4xvkafdf2skhclg60fjgvyd6vd5y9jrn3186q0hdi66pa7dl66";source="1hijca49b0cvh3w8dqwng6wdssmg2fjjj7ga9ifmziznb2k4qng6";};
@@ -3293,13 +3381,13 @@ ryethesis-33945={run="18d9lw5inr4fxxk4x4xjxnnvbp2agz25c9h328gi1c3afsmi4lsr";doc=
 sa-tikz-32815={run="1hmxifd6zkq4scfwybz0j4za911r76v56pczgym1shx8lqadsjcx";doc="16yjn7zpfwsnwg0mpqzwqrlz6v2bf1gf7qd9hhj28kzp0qgdnka6";};
 sacsymb-65768={run="0s1w8975ihjffw4mi44x91m8z5cmv7vpwvbai0n5sm9f21mwgvmq";doc="14mnvqqpac30qwjld1vsa6ky1qni968a9kxlvi8nqhn2n12ng3bf";};
 sageep-15878={run="0yavixnkhy1y69l38xj6pbihzm83ncvnsl6pyr3l310hif6r0wcg";doc="0z2n1511lr2m39vn4bdamw8xbxlw92p5hrsxzrnjlrg39ysymsyd";source="19547avrh6yv2v86w8f7b0pbvh8xvwa5z8q69bxcvhwj0jqjicps";};
-sanitize-umlaut-63770={run="003cav6j6sqrcy40xx8djg959mmz8jc7hr5vvkwnk7y4vnljay0v";doc="0il1v8p8wk6asgadqqhb2x7irr997r581c96g9fkc7kzzrs4kv8g";};
+sanitize-umlaut-67126={run="1hif269aigbfg3j1f579c6ipvlqqgs0swlzamxdmplbdxc55i9b9";doc="0nh23n1yhjyf21l9sr8y6yw7v1mil403idqa08prvrmnqhp1d215";};
 sankey-61874={run="0njrbv0wghzsyhhxlahy6gc4jbgyz4q43qzqc3jb8lln6s6yn6bj";doc="0v7pfxj823fxl8w8v8khgnd64g0wr7198071ai7s6bpd9byq3pkj";source="1qr7nfgh8zigjj2hhwsvhnd3dl6933dfaqjidbraid3l93af8ynz";};
 sanskrit-64502={run="1w2qni1pgzj2mafglzyvwfk11csfwz83gbcq1ihqabxsy3wqvpqw";doc="1ss9shgz8q2mdhs2q5128pjgcl9ldw0bz97xwf74346625n4wgxf";source="1sg4dzb24q477cp83wn3wb0w5srj373llhx3fnqc9cmxfb0rs7ag";};
 sanskrit-t1-55475={run="17mqm0iapkf04z5wlj3qpk9qlz8nnq50bfbibikacdanv3852m8i";doc="14g53969gw2azpn7z81kdwc1m1hz8mafrz15kzrfiw9w6hh7s6jk";};
 sansmath-17997={run="09zi9xps6pv6pjwp8pjiz6w4zqa9d3rwqn38167k2dlwnc3ij6g8";doc="103h78a075lh094slfwlh2yk4dbl0wryzmsksvbp80gbv8w7llpv";};
 sansmathaccent-53628={run="0653qd7c2lb63lbgjrbac7kwl2lzygz694li1clwxlkrf0bnv1q7";doc="1r7dqwn7vxgg51jlsgx82kv79fxskcdz6cyhkdbwgd2f3rmkcm5x";};
-sansmathfonts-64661={run="166kmaxvp7rf3kzw86lnazy2wzvy43vnqcq6v1lw7n8mz34m7ahj";doc="1vp8s0z57lplwyi22755xik3ddaahnz1gy6aiqqfnaqk13yrx3wg";};
+sansmathfonts-68777={run="0bs5n1j7gm87a3dcczjmkld4h4ql9q0kbaa07l62vdvsv0zhfb1x";doc="1lnkknp1axxj0aighhj3cmv2y1bcka9f2a0678g1wqc87kh796j1";};
 sapthesis-63810={run="18dfh9msd4w3gml1h187sdzirm8g44dzvdgsnh4d21nnvbbxzhnk";doc="0cy0rhr5lc4k9jz744jy4s9pf8508vqj25xx16qabfi28rqqps3d";};
 sasnrdisplay-63255={run="0qhvx1nc7v6l2gq8c3av4sqsjlzm1raw6cmrf2lls7dg4dpz60pm";doc="10f3cr5vfdgb7g0yw3pjqdfiaciwb81m2gssn0in1hv8izy09krn";};
 sauerj-15878={run="1bd9cvx40skqlx71hnfrnc87b2p1wrw3587fjxlp6a22yhzghhvq";doc="1swlcqm2z289ijbxnv7aib0v0aisqdn4l2bfymvn268siz58l4cg";source="0l5p9c0fl1p7gy815l5064x93msfgb6z2lnvm2x24mwfnfpykrqg";};
@@ -3314,36 +3402,37 @@ scalebar-15878={run="1q9jqf46j12f9rav2j4ngr52pqfyrc4h9xj66cgb3mcc7nqgmc4w";doc="
 scalerel-42809={run="0b4ppffs7zcg3y6i3c6dnjb2rl1xm5rz7k5mxm08qj4dpdhyjfpi";doc="1js1z2fkxy7ixh069hmg5cxm33xjwwg002y64m32wj4ldb7shfk8";};
 scanpages-42633={run="15q22kfwbw6scnx8q9dj3p0hr0m86lj2asy9fp9s0a15xsbhq1is";doc="03lpz3836rwk5nk2sbbyv9s0kvjbw5ld9cvw1n40b5hggivc2sgf";};
 schedule-51805={run="1p36glmixr7qadjj91j9rlzph03rp8hfrrfdqcg1ayyzkinr9a6i";doc="198yxgq4255q9bqjj141d5rvzjxq4rw1363gcwy40yagqs4xhxs1";source="1gc4zpw7ylnnv9k9kbqjf8r83srxbiqmqyy10xnp8gx7xrnbmnyx";};
-schemabloc-58212={run="0bpcrivkkwqb6kg09rkwhqzmc101c64g1j5kicfp11r9ha1fbwc5";doc="0cvbwk285i01brrbpalclm0bfhxs4hnngrmn9aw42ywdi44ls624";};
+schemabloc-68445={run="0vc9hfg5gn0xs9gjv3c4dlrxpsqwp370y1b9v9iqlncglmjcglfy";doc="1l9hqsa743lanyxp4y2p6ifgwrdaxycwnmvdjzdl6ylzv3n4qm6c";};
 schemata-58020={run="1idrxgfzwcy31cdw07f1axv9qxiy2m2j039rj7m6gqqjwnzpdyfw";doc="0wc4vcn0gbwwgf5c7cxcb66w66yl4s815d6m1cj3dv2mcm83cjyd";source="1qblgn5msrnnaap7w1r6szdzphf7dgij48g0h7cyj12dxy8gm9a3";};
 schola-otf-64734={run="01i19k0xhha76zz34ccpq83lgnjw4x7p511ssrbdqmfgrx5q0gbq";doc="1znflqa3myy4x0m7ayg3sk4z7pja5df1jm7lkashrcrr1gjqcdbf";};
 scholax-61836={run="0is3py7zig7whp0hzga4d4a7kfs4h32w1irw4gmrjb3cqndg8w8s";doc="0m73qqh86cpgrrxw8v2nz5al0x850danniqyw8359bl26r8cj6wl";};
-schooldocs-65650={run="0snddqcm935ym1ky4sfqm1br0rcbv4kfl4q348lfx865c26r8gjk";doc="1sdnkshpdwi3dz8h5s49igl29s594kbbi1kcx4czq1hcbhdca2nj";source="05nvr5j1y5s97yg722drrk0df87l75khm6ld3wnwdhfgarsmw5i2";};
-schule-60210={run="1x6lddxv0gxqz7xh2wcjyrqgsfmsh7van1mwiw92ws4xd2a4m43d";doc="04m2ar25p77bbn9hzbrprsh786dfl8rypl4w5zrnbs8kd0a582jr";};
-schulmathematik-64108={run="18989c44rqbjd4fafv30afdl76hakc0hj22306jiam1zg464x7ba";doc="1xhj6mb2fbxyd2b2m8azk8pbib22q9k449wgnjc6mhswxkyyjqrj";};
+schooldocs-69238={run="0nvywxnknaindq3lfdclyqhna4xczyhldm40g287d8kka7avbiy6";doc="092jvfgy71nl68ljh3xd17z86q03ghc8w7h6r2mzrx2n5rga7z3p";source="1wi1ya0kg1gn6v9wbj9c1f3mg70fjkfg3lwciy7vgmzskyfcragw";};
+schule-68483={run="0ki63lqw2m5f4q5aal8qz6v8ldvlpbgc72pzw2rb58l56m1lc66i";doc="0xm09ndnhf93vyp3mwgns973dd4pff0jrkffjm2sfqfasc0lvk9y";};
+schulmathematik-69244={run="1dw6six3530vyb4ym05yzx1f7mh14kk9pd7187rlqzn9n28vzqy6";doc="04y8fyn8plnq1q01qg3l2i5hw1rdycsfhr6i170kxdishq7zavy1";};
 schulschriften-59388={run="08dsnba3p8nz3hnzh1sd5cd09ngg73vl8yq1h5l8qcnynwwbrcdc";doc="0vaqj4m0yxbbmqf51s107k28l2wms68w3km801lph4nfz8khaybs";};
 schwalbe-chess-63708={run="08aym55g3r9nn20xrc4m576q03lgdfxdwhgaac6j29b9jzac5wxz";doc="1s36x2mnj4ijn2785jvgk7mby9xpamh5ar5kz4ghpw64czsx85a7";source="0ls4xpj78311d2q1vacg4h5257wdf11as6x4k83g3m4dx30hxcvx";};
 scientific-thesis-cover-47923={run="1ggghh7w9grb1l1r7xg1igdw79jswcanyn49rpnwiq5rj4a09r2j";doc="1slsn30sbhxlvr73fk9infwjkw66p5sgv0ydkmarkp1ncybqzr6s";source="1qlxpsy3rdb10xxv1nsn817srdfywq6z1zgb4vb0hy3qnbd2rjwv";};
-scikgtex-65256={run="01ssfgixh4x60rzl3yawvsyv6nlgz6qsnhil44vrmgpvjrj8l1bg";doc="0k9pv4g1969fxnlql3y32yd5q9mngca0hnqnpzclpmf0mwgy47i0";};
+scikgtex-66764={run="1hxldpgmp0k6ygry8pni0sz1bkz2mpcifnr7zrsabsx899np0rps";doc="0x73pwz3mwa7gpq9gmmdw6j7mksyknwbaihqfar5hidcg7n45k4b";};
 sciposter-15878={run="1pihppjlynvdlsin8brrhl2mg2jif3fa1mvsard686m4ar6id25f";doc="0cpyz5n70hsp5hjdja3pl1lal1i2akn7xawwcp983mqfgnp8jm7c";};
 sclang-prettifier-35087={run="164sdqd7msilg6jk1ivjzvv49amji4hb5r6wg51vcxmg069apcr5";doc="07s0y5dfmp26j0ayz2bhksdybpqb4cn439cvyifxillkq277dqk2";source="1y67y73f2whg663hw56fwrn6jhhpdpm81w32kzwc7r6sk79bnq3a";};
 scontents-62902={run="0hl8sr63b1z8slq47z4spl0sikxdyr0im7zf0vllspaxqfb4nh6a";doc="1gapcq60n48byiv81czq8h93jhhmhx41iddynl1mq5j2icq5g6wr";source="09n4i1jqp8pjdr9qrk956vr335cc54kr5fjlcdavxxkrwdbzclhr";};
-scrabble-65507={run="1903gqya55dcmppwvcw1snx8395a5i35bwphp0jnv9q7xhfflmmg";doc="0sq03g68z68hsd12z152r93w0k5awpqqr4b2s1zi0cghv3ad360c";};
+scrabble-69024={run="1c25d2axdvz4j7n03dxk83bk9033ik4cqmw7026vjwvqwvp48mfx";doc="06jbihq6m7y7j6ivcl69kyd1jw1hkj1ixl2vsl17bgcp4la8i6hg";};
 scrambledenvs-60615={run="1r6a2k4n1h8n8svp40yraxjxy8xbrrj8d5srgz081n2fb7g6qdqx";doc="0ql4avpcccx92n4mqb6cn8g6zbq73238c4ilr4jj5x18afsg5f98";source="04xrips1nk27apwgfgr0qzn29h5nzs1810q66vlfk1qlmka2gszy";};
-scratch-50073={run="1gd2yq2w2v7n3kfsid71qv2v5q1rvpfm49rsk4815pk4k16kxhg9";doc="0jhy08h2v2qf3p8dvh8mz5yqqrdzxnzlx1p50ng7xn88d9ihpqdb";};
+scratch-66655={run="1gd2yq2w2v7n3kfsid71qv2v5q1rvpfm49rsk4815pk4k16kxhg9";doc="0jhy08h2v2qf3p8dvh8mz5yqqrdzxnzlx1p50ng7xn88d9ihpqdb";};
 scratch3-61921={run="1in71jxpq9mljn7gvaslsnaji21d43yj6ckzim42fyd9zk48waz5";doc="0yr18cyzdfrdz6vs0slbgzgp82gklrmxh34k1p135g7255gw8k0w";};
 scratchx-44906={run="1rhqiix6dmdf9i8wan5xh0sw9ynawzb080b4izlp06d8vkfzx6rb";doc="1p263dcjk8mjfxzgppkbkh7l2p89kavdk6llkffkj0z8gvg8xaiy";};
 screenplay-27223={run="14p99gph5jvm0h9x8irh0c4mxb7q4208j5q0d8pd1dpmlvxvzsh8";doc="18i460n3p05mx325nh7br1fl3i1lfviy7jgl24yc5hwqyx3wwdpk";source="1fdw0bpf4q294yqnc4svbpyiza9bq7x2m0x5rc0x709c1wylqsyr";};
 screenplay-pkg-44965={run="1xzwvnf16djzsif7ff8b51dq98h2844nzkj2f9y6c75g6rhnyls1";doc="0hkxa7gz3sammjdvglvafwczn54m6vcywz6rwqng8qa2hlvb2c3k";};
-scripture-65493={run="1kzcc5lnfyvlgq4vz8p6sx7w7a5r7srjvh66vy555rsfj5sgs2dw";doc="01hajlnq2x6ssz8dxqf7nyiz7in635l5ndna3l38ajjdh25llfk7";source="14am8mn1nra6am3qaqkcpkbih4mqmyb3cr8wlyjfiipyf282y7if";};
+scripture-69232={run="098jk1s4xdvyh5pr90rysmxjhvk26135xfaxq985sazaz6lhm5yh";doc="02q96z886ijc0ipz2gi3dxnr14a67lhffajiqxq1s203m5rbrard";source="1pbdxbmar62z4drqyr31d703lg9yv5rscg2sw493bkym3lw1v2cf";};
 scrjrnl-27810={run="1p858dfbqas8x4ddpw81mf59p47iqj30yban2g70rims1wqy4f45";doc="1rfx2x3kir9qxp74halcwrn9zg8c4lm72jljspw040gpvjpiydm0";source="0b48zv36kn7bg2n94yl2dzwh9ba1fx7phpzljqpn44ybj1ng966w";};
 scrlayer-fancyhdr-63844={run="04cq94rm8jkkncb4g3dy5d0b7c3h8bahby4rsd028i0iiimaqnf6";doc="15xy198pn5illwsphn7x2hdh2x3d3ydqa3rqkiwjj4srq5japbw3";source="1b60i58229yc8mv07fls6an4br8p897sdg18lz6b4a56z73020x6";};
 scrlttr2copy-56733={run="1as8ipxhssfx4hqa4s246gfim09nl35dx1wanfc6p0yk79nm5lz1";doc="0hsyiicb359blk6m4kj5gddlzwphxr12hbrwbp34cjfzkbh5ib5m";};
-scsnowman-66119={run="0xzi49kpfq3n37ryn8p0z8h86x1328az401pmv6iviyw3l4ri0ap";doc="1h472n0ajfc9my3y6ggnihd0kjpiqhw65c7442aidmkwmxqi5lln";};
+scrwfile-66872={run="0mvrg5vqhswmvnpf74ifld6fk2dyczknjf21hwmy7lyca6vn9fak";doc="0jhagc6ab9rfnb3shkn17dhfgklwmz6lg2ln77vskngxia5g9wzr";source="08dv79i1cm699rxpv2h2acnq53ghngc3cf98r7rcgmxvszgqlm8f";};
+scsnowman-66115={run="0xzi49kpfq3n37ryn8p0z8h86x1328az401pmv6iviyw3l4ri0ap";doc="1h472n0ajfc9my3y6ggnihd0kjpiqhw65c7442aidmkwmxqi5lln";};
 sdaps-65345={run="1s9vs9ffjl5i8lax4i5ij7zjv28d75sm7z8frssm1cj0fb0wdq01";doc="18096xagndh28fkiy4sd6nw23vik781w4pybqnwjfy9hfm3h6c9l";source="1l3m01pggyxpnr2nvqnvzwl12lsv7m3lqh7h27l77wnwip7sjhz4";};
 sdrt-15878={run="15p0i40aa82f9lgdiy7wn5vbkbb4z5hzmmr4g52w6jisx8c1w45v";doc="0y1gxcyms3wprp47y2mlfcc68gijyvyc6h10ivif1yydmxq1b2ki";};
 sduthesis-41401={run="1i8rdk8m8bc5lk35p7qd4pqddi3knpq1ylbxv67ij7g8sgrl9xwg";doc="0i7f9zjxs297hx3hd6cm70hkkc50wb1pcr83xk54cy72yqiq119p";source="1j6asblirf0x4f5zp8zbmpm7ak5nsilqf4ksxr4bgrca70vfava3";};
-se2thesis-65645={run="0r5x7rs3jdsgymlnm6aqywq4kb6fh6v7v1jb00w77qicz35cy1yk";doc="1znh3apfh31az7kxb7cbhd7fm1257hml4qvrvqb1gv12vx3k5gck";source="191sb3zh4gax37fyv88x8hxccfbg1bydhliagjfj1ld813f2dwj0";};
+se2thesis-68255={run="0krn4a0r5vl4iaw0mwxh50h96qgwfwh25b26c82jhs4hdssv8gjz";doc="1sdg6kln5vz6misy8fs14abfvbsrb896gzf32a635qld3ayxb4k4";source="0hr40nj37s4civj4q62c29gdyp2w1yqi8n2ls7f77rfsk32w5czv";};
 secdot-20208={run="0pnimi0vfgp5zsp0iwak0r0j562w59cl1fn3pnp1gwjz65q2229i";doc="1v8j3l2bh055b18zxl3287ardn0ns5qjgbqkj08qxz5ls912y2br";};
 secnum-61813={run="1zpxz6j5is9f2iaj53bqq2m73040lmzn60h9rwp9kzvlafciss7x";doc="0dabcwh85mvq73sqyi9zkbslzbhhns1sqrmvddvy1yjww0lf2q3k";source="1f8dfi9vrlh71bfb1mi2ll0gqcd6jbv5k96jpmvrpqy0pv1i2ckx";};
 section-20180={run="0rqlczfl443z7mjmnmndclbjy6qnqvla89s8yqwngzyms4z1h3v8";doc="14d7576idcbpxlw7hy3hsdd41gpiyksb9ajwnn0jm1mk2snzb51b";};
@@ -3354,7 +3443,7 @@ seealso-43595={run="1mqy9br1fz73q2l6czmhly8j6dnw51d50dkfh9622793z0a2cl71";doc="1
 seetexk-57972={doc="1bhv5xgv8jpam5apdybd0cggnvcizk2r6zs7lim1hmhzafpqqlcx";};
 selectp-20185={run="16kcbpvjsdc1ndhhflfmnz0igjyjc5k62gcfly447w7d13qsg2s6";doc="1frpv5dbxfg708xp03hs4vkgqsxjihn3yk3qvcpns6awjlfi2n9d";};
 selinput-53098={run="13pxqr1mzkblniv9rcrr5aslx887xjahjj9f27h7hpx6r4g7hk17";doc="0pbqch586hfwfjbm68g7i56d0jcgg6w26k6g2qlfdbk8mjpc4r4v";source="0na8byym8s2y2jyi1691cnw46izri0y6ybf3g0pmil2hpxy544ry";};
-selnolig-38721={run="1xrndff5if1jbk5vzycj2alj72r123xjwmyr1lrsjkpkp6jqjg0y";doc="14ppr67fbhsqi6d5x0f40awac7j3i90kk7mwrjm1ch1572im5dhc";};
+selnolig-68747={run="1xrndff5if1jbk5vzycj2alj72r123xjwmyr1lrsjkpkp6jqjg0y";doc="14ppr67fbhsqi6d5x0f40awac7j3i90kk7mwrjm1ch1572im5dhc";};
 semantex-65679={run="0hzp5i2zdnw30s5kn797bwz0hi8ldz6x10x6bgp157n9hvipqaj3";doc="1kd48bj4w4rjk8zswgxgjxj470zxnicr7mbq9lb7crra6ldprp15";};
 semantic-15878={run="1vf341vlmgc00d6srdwjm0a2spad674439ml9k6ir24pll39ia73";doc="0rr5kbn1yzil4h0j42v48m4mkqk8rzwcn05rkn8vs2s13az6djna";source="0x2qal3q0m886lw5xd9w200fkq4hn34qs2kqsr7i7dcq9xwl57qp";};
 semantic-markup-53607={run="10ahkdiwm4h5mwigkzgjiq2xmy1lzgjdif11zajwckv2xng5ckgc";doc="14gv3pgdyjjjj8l8vfa2pgzafyqlq0666hbk0cz6497g99z4ga15";};
@@ -3375,6 +3464,7 @@ sesamanuel-36613={run="1a6673xpr0q8v7wr1rrq3n6acydsfsc3q6kmj0qg6hm7lzqc1f2r";doc
 sesstime-49750={run="0nrwgky0rh7lazd41h3jxlb0kgpk5q7hhbgkfdab41zrawjp9y86";doc="1a353bn7z135bnk2a8q57x4z8d03aimyjfqx3w9x0r81rwzns605";source="0vrwbbmfwfqpvsfz31yid9rxzdc19749fwhlpimx30arqpd88jhg";};
 setdeck-40613={run="149m9s33isx98vkl3498ywjy6f9q31jkw8schc16hxxm1z0jadnh";doc="1rp64i0nrrxn7l2g6dlcmfvwbq3rg62h2ifxrzfp3k5ifnlkhpz1";};
 setspace-65206={run="1h2cwbh7kb2hf3s399x78ij2mxj4b9pjyxrc7jjsr4ldx8hvf2by";doc="01v5nwbkap93zf90vx4a2whwxa0hbnscqqgcd8r865xfnzgc8a49";};
+setspaceenhanced-68493={run="0jqlpgv868qvcl5v3kgzi9dl2r99fx7k8frbzd3fj1yfmjvzb1vh";doc="15ln2969hhaic7zk6g7j66b5iqpw1css0qgwnppwfvydyx1ln6yj";source="068z20knb02jccvh3qm9a3rzpaki5r41is38v6ax9a2mxmv36y4y";};
 seu-ml-assign-62933={run="1cz01iy83gvgg3mk54vkc373smz4r47i8084jgcnr24c0gwr4h3v";doc="0f780ydm3ww7q2rar32lxadzda4mz8bccgman9j5ibwfsdnc1jch";};
 seuthesis-33042={run="0yfan3cpx7h7hrnqncn152ccawlrsaccj0c53kzza0wnkr3hc9rc";doc="1hnrl455lz61y9ybhmrvxjb66y5816sq3yqb76zszrscxh5a8h5f";source="0dw7ipk6l0mwgrwrj9sxg8vidwmmy22vmpwm6j2ksnznz0238yf7";};
 seuthesix-40088={run="07vjbiycd00r1daqg8m0b6g9k97ja0wn3s4zx7774av6p2hdhllj";doc="0j1vphdi9z6anvw7d3a20nasrdfgg8vrn9jh9wi787f9vy2xzdlz";source="09qpilk53k37c8dzc3q3pgvm6yf7i7a09ln0yn586wslvm2dmmhr";};
@@ -3388,51 +3478,52 @@ shade-22212={run="1dcpvvk5216znr2i0nn302da6vjixkih5nwix9m3hlmrd69z6hcm";doc="0xs
 shadethm-53350={run="1miq7szfh1nya53vcn9kv3m8jb1sx8p1v7z5m3829ynbyiwr7z9v";doc="1gbjisy9miqp0mrciz793vvhj0a04vaai1ixi6vzplhlx9gknv6i";};
 shadow-20312={run="1avy8291hmmvbrqdn4yza9w8w7a7hbwlh38sl7288c6gh1hkyibr";doc="0rjfdi2hm07j418q3fvrf5pxflh1nfkhrk58nsa23fixxzaw5nlk";};
 shadowtext-26522={run="1pnnskcw1nq6m3rlvsa69dxq828dx0bgggg8n2p2bxnr9gmnba3c";doc="0lfvn68d48yh8smf4w8c1is67chsfnipxc82fx6mal1czlyn73hf";};
-shapepar-30708={run="0siq7d3d5gr91s3bc5873540b1ia73ggkf1y1bs47zb3mh4z9g0b";doc="08bwm9a4rq70swqibj9s0i4042fnribqz93jx02xd0638wa51pph";};
+shapepar-69343={run="0siq7d3d5gr91s3bc5873540b1ia73ggkf1y1bs47zb3mh4z9g0b";doc="08bwm9a4rq70swqibj9s0i4042fnribqz93jx02xd0638wa51pph";};
 shapes-42428={run="0ww9akd1cf6nr9jk00qrjc8j0d9ryf7f8hc5ywmnz1q1z6mk1fqd";doc="0qh721vhyny3xmkwiaif3gdmk2bhy67mvyfkc4hxrba8lddnkfqm";source="0g3xfni1lmwdkl2jmprnhl3yxdrmilr6nb59kvznwph10h1c7iqd";};
 shdoc-41991={run="0casdf6vn89la2vgqy5zcc04nlsrqpiz0zj7mwlf6w2zqcpmr1x6";doc="1vzz7q88xq2dg3r1xf4idgvdqs4q4w5lplg9rvi867qa8qcf3ly2";source="0wxd21fs45f9d5y2ml3w50d7z8ig25gv34iy3mldarnqi2v64p7z";};
 shipunov-52334={run="01mckfm6ikchmld5r8mdy5x472avh473bfc7lk4rqan8p4wivjrl";doc="0k6x9nxsqcg74z9i462qix58qycf3wjii5ld13xajn04g52bwvpy";};
 shobhika-50555={run="128p64d6bc0m65nwdrjr35b7rxlx21c025vj8bk6n1frfg4k4lzx";doc="1zxg9rxsdf15jn0hn81p20j0dbq1095vqrmh7d5mzhlhnybkr1kg";};
 short-math-guide-46126={doc="1wjcjgw0xk4zx57f364cpl57qpxj3lq4lahlkbk6iiin1h9v2prf";};
-shortmathj-54407={run="19rscnl84f9x6r7kajj6wjh80di5y1mc4g4nybafnisap76r3c06";doc="1kzzbkv36hj2wc9kz1wjr5dlgx3r21vlyj7sy8m8i72yfnmajgbx";};
+shortmathj-67201={run="19rscnl84f9x6r7kajj6wjh80di5y1mc4g4nybafnisap76r3c06";doc="1kzzbkv36hj2wc9kz1wjr5dlgx3r21vlyj7sy8m8i72yfnmajgbx";};
 shorttoc-15878={run="0y1sa1l5g19arc5wdnqp0jzvqn51m4gb07acpcp3ajqq7n7yaf3y";doc="13nlpmb1asrx8vi08kb6kcqg6szhnzb6667crj9xchbk3zm9iyil";source="0a3hl98rl5qadx1mqqla9hw6i1s3324i4la2kwdazhxhvi6nxm0q";};
 show2e-15878={run="0mhpxhvgfnzwwzd9ahyzdhqxzqz9sj6vldrnbjy4n0r4fv6c67pi";doc="0zfir9yzh3mgpkldcak7hzal0mwls90h1m5vxiax6h2izfkrixfm";source="1lnhqxazyz2gfgkgbj7l2140x81bgsxb71y8dagcqazjzdmqgcdl";};
 showcharinbox-29803={run="013an5sq2kxrfs04k51ldc9vkixag1lbicl614sbj3n3ixgk15db";doc="1zdxvlj1jspgkws4xmwa8yy7aaxqwr33lmzkicg6ayy465jmfk9b";source="0b8hq68lbd0xjyd1cj3qsw1rd4rvjsihd6s9ab5v3a0q1sm5kaw3";};
 showdim-28918={run="1pb5qddnvv4kl79fcp20zkcfgxm8p4zix82g9431db3bbavvmkri";doc="1hc208xi8c4ihxb9nsk6y5p6p43yyylqh7jgy8lai2a526xm2hgw";};
 showexpl-57414={run="0gg8bp3pddkp3z79z8wkh9263gnxhcn6vxhgp2mq7w8i166rrsyc";doc="0dv60pc2p19bzr1fj2hqkgyjry9j8ykcgsi0v3xpvzh91ic9v5q9";source="002v6m0gzzx4kr8vnw75czn58cmzjnyyfyzi2hvfx9ykh7nmibng";};
-showhyphenation-63578={run="09y88h5vns0g7xg48g4kcf5vg10qg5m445ihxcq3r3wa13clj3py";doc="0ymp4x3n2p2d84mzc9kcq6dyywhjivxjrar7v56anhc7z9hxq419";};
-showkerning-63708={run="1irn104fk72wkk0qhazgd2965gj5rzaf4g4j4hifi03qz32xpijz";doc="18n8ifl29garmx7fyh01h5vpycb41lrrb9wvvkl1g9s87ldac8c3";};
+showhyphenation-67602={run="1qbgbs9jc2i2r572187p925wjyw6zi1h3pgpyr1ixz84ykdjc2n1";doc="0qrvpapyby3bbaxh84529fvhgpsvsd8xv1020q832ad5fay6rm10";};
+showkerning-67603={run="05jfqr88hcx4mq1fq9hv47921d54947qqa3jdgvk529d0487lcqf";doc="0ggkfgf7zb4jn6icnn43w4jzlklkdw7f0pqyksf00mgxcx041fh6";};
 showlabels-63940={run="0v3azvk9minc28bs6n7g75c0bimnf2ilw1379fd8hic59h1vgqja";doc="1l46xsay07ysg4d63x7mxkavvd9cnjwmfcmgnsh1pg4icpyhs055";source="0vmh36ia7s85bx51hddga0mxb4lcfrmxk31zidqk4kkpqmf20mj9";};
 showtags-20336={run="04m7f6i3992p93xz9rlfa0vnil6h9dyk7gy1v7ih47f1m2awjak8";doc="0i0iaz4hlgf52g68znl5a3q366hd8ygad2khjs3y7hk1fwqpz45h";};
 shtthesis-62441={run="09g79h7dwc0v06h06svj3h43q1xf31fli33xxlqnckz28i1a4y95";doc="14fqspd33n3r642mvmiamswjl4qjda2g7p62amxs69s64cqfliv2";};
 shuffle-15878={run="0laiw8v6izp53c8y0jf4k1nb8brvs36gd937nz2i2cvnpghz98if";doc="1wd46l86h8vlxpasvhnvjimsfrhrbs56i767v2h7bdl8yp751ycl";source="13qz2jc0f084acxdsf99fj22kbsjkr6i3y7pqzh1g2jd4d8bbw8m";};
 sidecap-65618={run="0g6j4mh0nxvdvqyaz0b0756y1xx55zxwrn761xz39mmw3sca3yzz";doc="0yynp2qmq6df47fzns8jq5hkbhkj8p3il3prq4l7pg1129278my0";source="0h0s7hpmx4ha318zkz6caxq2ckvwxxv2fbkjy7a3pfs7q2x9fal4";};
 sidenotes-54524={run="1ip6ybhfihbbzflafcqfhspr1d1x44285msahf7f9ilmhd4536x5";doc="0f4nqbw2y36ymgcj7ywy9gf94pcg09aqk4kjpankksgwmvyjbsxg";source="15kz5d5038vi03siq6lbbf97nng1024hx8zzgrasm304sf2c0ggl";};
-sidenotesplus-63867={run="1x5mpszf3c76qzw62y6x23pshlbj2y1bd014h34sdn3xma4m796a";doc="18dkzrl5m5aj8h68kx37m8lsz7jcyfk00c9bqmhdnz62zv34kvrq";source="0kzir93q2528i7j9331axsvrsrpwwr6g67nkmw7x3ynm0b812pyq";};
+sidenotesplus-69176={run="147si778pbc8vj4jmclsp1qkjn68qli97b2jz8c5ij3znjaxk42v";doc="0vb5r7bxj9xn1nkzmqnxh32ar87fy385rf2zpggahld9v6l7phbg";source="056mv9jqp9lgysgk89hh9wwbnwi4q477zc3cw6c7hkm5wn0xcx7w";};
 sides-15878={run="11anl2mfkzkdv5qb0rfw7940z7hy5i43d8hh9nsvzgwfsw0x1qkr";doc="0gsqb1hzhy1qk29lhq57arzivkwxw1achz08ms1q8q9vxwcsf0sz";};
 signchart-39707={run="1qg1r76v1llj68iqk5imp7f63774ky68sv64xa6j4w52jkkswn1v";doc="0scpaw7l26fcqylcqspd0g5va331yf88a8wc69diw78haywwgp4f";source="1lx77qldn3d23dvs11giircs2pafm54094h6ipxlc4g39g7xc0zl";};
 silence-27028={run="1zixww8d87jymdvxjzjhvhjjr5f8fxhbjwqyzivki2rhw6dpsp2v";doc="01qb2z62da0ji751i3wbhq10rfin23q20r7wr0fzvqv163niy93v";source="1m5xiy5j8l0xy9731mf0jvk4f6bh7d22vbsgpjpvy5r0vxafgxwv";};
-sillypage-66350={run="11r22wb3701sbkdwcz1bhmiaw5xv0bajzhfky1yld05w5phzh21x";doc="1cdahbjw4p317iyr0drpvqw317cjlmzkpjw9s61hv95297156cl6";source="0ya6g5jgpip7b18av75ifia998z5pz3r1sixa44f5f1vjmbxvy4w";};
+sillypage-66349={run="11r22wb3701sbkdwcz1bhmiaw5xv0bajzhfky1yld05w5phzh21x";doc="1cdahbjw4p317iyr0drpvqw317cjlmzkpjw9s61hv95297156cl6";source="0ya6g5jgpip7b18av75ifia998z5pz3r1sixa44f5f1vjmbxvy4w";};
+sim-os-menus-68843={run="02gnf1js2x3l3y01hj10yy1b1ymkmpf2x8pl9qrhsx63v55chm3k";doc="16bgnhiqxmk5z1ifgci7pp0lm9sg3xh18irvrgbwmdvd088cxm4a";};
 simple-resume-cv-43057={run="09xsryzpnq33wja6fkrxy4ajrci6xcn0bx0mbsw37h0q0h65rp9z";doc="0gbf0rg3v1ivw631yl133iamh7kadclr089rby72al50xwnbi559";};
 simple-thesis-dissertation-43058={run="16byfnhfd1j14911xs1448yampvvplxy8l54by4qwq01wp7pjjmf";doc="1wrxjkgbvps1wyicwlhkx59xwb3vcy1n0wf7r7dllw11r7hdg6f4";};
-simplebnf-65485={run="0rn155jbx869rcfr1s66wqssj87krxhk9i3iqr60sqaihjsck0lq";doc="0jyiym24m8l4yjbskl0ic1kcz29lajndxd4qxcqyg7ynw9cdizyp";};
+simplebnf-68959={run="1bcg213dww4ngpafy873ralbhp901c6xrsnvryzpgk5jrqw2d2bj";doc="1450ri57ci113csq9z54zj6284s8bn8rsl5y2xidl76rz9hdidgv";};
 simplecd-29260={run="0d6gw59xd1mqc991yy6k5jva88j66pd69k5sl5jrysl4rw1mxxng";doc="11fzk8p911v1myphghzpmkj7k62vk4sdicirys1jh8rd2cpnnwcl";source="16g6fcsr0nw7isqimjq29g0zyf72z11qx9xz36zq8z4khxsl09ln";};
 simplecv-35537={run="0b7p6d8y7xa8xs9i2qyljk2s992gprsr3a5pjalkkssa5kiz3371";doc="02x3nwmxdk9spx5crlaw1xdqlwah04m88zrrw4wdg0qjnhvv4mvr";source="05ikxmvflqz5m3qallwgyncda49dzq4fibllgc1j77pdh99cy3vq";};
-simpleicons-66337={run="1fl8z2sp0acndjg7zrml8g4iqnzr43ldblgj1hi3lxjw8314zc06";doc="1lb1d5s3dhyabv4m9ng13g150f952q5n1rlsbbr3rg2kb6my99lw";};
+simpleicons-69396={run="0qb0mr7k1fypanyw0lhldmqnxynj7iymmyn40yy5j8nzfxz44c8p";doc="0h2qfijb12yslabq7yny5cmhlhjyglg7w1dwbn3gph2c5z7mlqq7";};
 simpleinvoice-45673={run="1mdc6aij1id1jxlbkwfdvdv87yh55v5qyazfciffpbf91qm87z0s";doc="0lvk87l3xafl4s303rhmksfajnw77qd90yvzhdk126dp1prh7i6p";};
-simplekv-64578={run="19ndzh5cg0aj5diybkz04ix1gzxmbyczcn3wi104sg02ck01jl9p";doc="0k4hbv1p5xjvwl106nh3wlh6nhiivnprdjgkj0s64y65458vsj24";};
+simplekv-68439={run="0cw7n0skxgxgar8ks5nlcn70pyi60zi7n2crdbamfw3kgzdqhqsl";doc="1hqyfflwjdxmq289ngc25gbjm2mcvwxzm9sbfp06xszk2vhbjd4i";};
 simplenodes-62888={run="0rdmcmj583i81349m2hwdf0wl4glsfkg5vkmhlvzndh0n55ivj3a";doc="0sg5xs96agly3r917fvbs8mxii7b3l9hsqf2cpfpx5gwdlmwf0d3";};
 simpleoptics-62977={run="051635sr8yp7n44hw9wza6hw0b4av87yp42wkxwq0rshxldqgsq6";doc="1lwk3qq1rgkgi7qd8qxdjjfrnk44c1gj4vl01m1jl181dxjs7lp2";};
 simpler-wick-39074={run="0lm22wdxiwasv4igfsyjfi338qc7m985da7a9a6q8cm63hks2alm";doc="18hmx8b6zpsc98mmjvimdayqpkffwjjch4sjajbz4csjpza7nl98";};
 simples-matrices-63802={run="09kmqq2si98yg3ddnlkddn5gjlvmwd8w78r9d2xvd7g28wm1hjbj";doc="0zbg9ppqj6af49braf4hd9b0fklxjmsr7yjgbla6ckbkwihkqssc";source="059wa3qyaxx7ha1xw98rwa9w7v5nyhq5rfmajhba1crnp155x73p";};
 simplewick-15878={run="07rzphj6ffla4qz9pa31xnn25d420lvsnmgj7l78ryxai5amdfvw";doc="1ch7yqh3bv2y6282cgvqzm4pf5hgpfvlmpg66zcp44wnkq1sw67d";source="070f0zrnrf2sh0dx5dlbz6072b76f8iw03pvywhyryfgghfdfv7d";};
 simplified-latex-20620={doc="1cgf1p7p2ikda1nb0c2vhhx7ai6rd973pz6a00pr9yanxsvghp6d";};
-simplivre-65475={run="08irr0irj0hnrmgv7xfab3dbbl87s7anwawnnbraj5l3d6p9qqhk";doc="0ar4pww5dn3q39yydm0bv7jwlcf4dp0h23rx1h0kk83sivgsj19r";};
+simplivre-68376={run="09x9c7z98sdv7zw9kqysw4wcfg3x76rn2y4fjwqwqa63fwy9ky9x";doc="0m5bxr5gflag1kv1c34jk78lsv8d9hsyqw6i5yhfm3r7hb1z0ki4";};
 simurgh-31719={run="1nhdmdi6qbvx1nd92hxl8vkly82a9nxi7ghj0zpm31c15z5pb7rq";doc="1cw434sxnbgq5dbaidn3zn8i9az4q35blcx9lr6yf3m0yy2rl8by";};
 sistyle-59682={run="146493bgh2ghbscq69bxsngjfkl3k8g68cy5j28v07lxi3ywr6n0";doc="05hs1wd3wj8szj16wnmjfiy0g0hxgy2cc9ai7q6ys77kgjb0dpfp";source="0sb6vbhnqlixrfy9484d8im3vmgk58y7nqad9hm2gkd4p560cxj9";};
 sitem-22136={run="19z6zmwriwrlcpgdgn5yl2bzbz0fkn3p8g5hrwd368bq7wyfc8mi";doc="1wwnqhl3ffqnp5qxddicqwsr7515g6j53rx1rgi9b5z3cv42f5qj";source="0y249krv2h241wy8xbi5xjrxypa56zipi8fbmqbziw9cjjnz993v";};
 siunits-59702={run="06x797504p5lzb3xlkri1sc9whyjjz6a95gk8kvpympglm8fmpxz";doc="06saapj9rh5gbrj0npb9rm60xrww8rl1y5brvx97gj4qvc3i2pic";source="1clhfsmydg2xjajak0ssa9v5sd3id957si5zvyq3njgl9cpjwi9r";};
-siunitx-66370={run="1szqn5gp71hmp5k1nz5w54bb1dc56yzksvsisscc0m4035q41iqx";doc="0rxybaxx8k20yhlh3qsgvx0m3m1bx4m0bf5v9gfyjmjy97d6br0a";source="1bhcximmicl68k3rhqs103l5pzkivkxm7c2gybs341hjc8pxssfr";};
+siunitx-68844={run="040pclva6m2300m4zrqqdd1jm608yw3rpldf63scmhkxgb981iil";doc="00j5b599s2wdizmhk8rr9k1894nffa6ynaz1wg6ccm8ndzsv6kp5";source="18a9xwb1zaay0mv8b3br6bg2dm016z1s9zbavalz6psr8wv59lj0";};
 skak-61719={run="1lh97kc1hmz3ybb67zr7vr74z1zngwl2cppkhmp9cagm48j24am1";doc="0abiardppn7hx6l5h4zh92b9m2yf3w16y15rcvsspv1cb9sf4lfw";};
 skaknew-20031={run="14j42hifh60p6glfp24c2f5k9k34vcm0l3alqfqhvv68l31i05rx";doc="0i144akq7sgs6kwayl8c2yir0kc7czjs49vj6l5lwdcwbyryhh21";};
 skb-22781={run="0k441znw2bn13aiyc6b5hskl76hbhcpilc1xg4jw837dbj2v6qiv";doc="0qi7l9ky0y65cmcp32j93lhwlvflvz8didq9c77faq7ffgzz51s8";source="1rnraidwhkxlhk09ppa5k0ndqhrra4asbpjwv2j5dgf70wfm5vmh";};
@@ -3456,23 +3547,23 @@ snapshot-56735={run="0598yminjxp01imxrbzydqjli0i2ws1f9hw6f3qhs7xykfacbaml";doc="
 snaptodo-61155={run="0wxnac52wv3aknjs8vsw17ghxn77xiqffn6badyp0scyr7gvmkbc";doc="0036gs7ybs2ilhp4lhzc489r5ai6ffx0ha7fn674qzk3qn5j7zkl";};
 snotez-61992={run="1nq3ggbdpkpydaqzpfawvvny8azgbmnbwpl00wsl4rhi7jbqsfwc";doc="1v82nn2y2kk8h34j8gidrzlx8nwah5wmdk3qigw8aa1q7vrkj5h6";};
 songbook-18136={run="1qknajn3s4vpw68hwn0mjf9zllhba035gjgiwj807nifhgm2bvpv";doc="08p61v1jgw0s2bdfwgmb1zw5pyldfsy61d09n6qq93wclgaim7lk";source="1xzx3jxp4791imxw6h7gs1ach94k1w33f4p8pd4rvlcnwglnv9s4";};
-songproj-64966={run="0p7jah73xsvh4yg08jmsvs8cq2r1bn6aq9s4rz6v4q6p65b69lx8";doc="08ksccgcwpqkl04dif0yy019bl5gra7pmybyhpbzy3zmji37v1ip";source="0910za7bn9ph1k0g1n43w8fjn0f50j65pn9is5wz6qwxzxjmcw94";};
+songproj-66704={run="04jnj92nva8agg4k8qgfqcd7rvwhvhwx3836464z66fdv6v4q92x";doc="1qyw11czqdhkpyf190asx8yi4wmcyxc71n052f5481p3xbblz1bd";source="16qcb0k59kkxmqavywdmxy373ck923xn8pjfzp6qssgjvssnbnar";};
 songs-51494={run="1q2fddi3z3d6f03y110ah1lc5j64cgg16w4hcxdd1q6sc6ccc61r";doc="06y36cnx42yms6b3mnpkvbwrl1rrpjy1jlafycy33ijx0sbpizql";source="0airs4wvpv2wmm2398sfy5sh40q0r2skha33999fkk2s9jc99jbb";};
 sort-by-letters-27128={run="0gjmbx6bk2c3nygcbvwn3wfsdj1lscpnqzfl6w8li26hws1ravii";doc="1p0dfvh0l4z4bd86wcvph1fcjip2rvsm22j890y607lfbqhc72kv";};
 soton-16215={run="03vldli7z2bsvznmqw5y6gi81ln5v54jbiqm53z464v76kp9w29f";doc="1i7b5i8vv88cjxvcm1adlxikqwvbzpzkiiksdn36in8msj23vjkm";};
-soul-65906={run="0x1g88ayix00axma92sl1lyqhj955pvkwp3iq1372kx4pacln50c";doc="1z1936dq34x48rpfh4fymdsp5nm555bcvq99j7msxshphkv5p3ip";source="1c5g5bryj31vjfk88aszcf938zmm7n84aa6s0ll7k555fm5s3ks5";};
+soul-67365={run="0hkxhwqmss7lsh600ggs8q7qx0dlgw63q482m8piwx0jmh4p29xy";doc="146ji413205b7igjscv9wfybs60wyn47d9q6gkzn8l23wamrzxwm";source="0lplpmk05y85r2rjzjh24p6slmq8319kn7ixxb3zjbzjp1lc44j7";};
 soulpos-60772={run="033c0arpqhrypwy5grpc8c6dnlc7k86iq5wglm6r02bdk4mcw7hk";doc="1g99lgnl1m7nffwdfhmmb4zgjwpaiq3pggbgmi19p24z7qc1sjlz";};
 soup-50815={run="00glliinyi7m5m6gkr0szzsp5drgnqww4k50yfb6p3qv1mlkqgvi";doc="0470i396sk8a6lnx189zcazns280qgyw3yvwiyxc1gs2wd812qr1";source="09db050wsnmpqxmba7w23h3g92xyzg0sqv57yhns5nwxb2cmbr2g";};
 sourcecodepro-54512={run="0vzs79a6bhvxap9xw9nm4csqm8x6m83nmsxffqckihkrbcbwnkz5";doc="04g53xmi3afzv76dn4pg9vjsd903rl0hbzqw32gr7hhgh60xwb8d";};
 sourcesanspro-54892={run="0j0qgb04yvwf265hwiiv581fy39cpr6i9f21k38xdgdi0dl7ghzl";doc="1lg7jxxcymnvbrhgdf6ddj0nahbr6g5vnz7ahav8v8zfyfw87z6z";};
 sourceserifpro-54512={run="1zwvz4yqvs5pcqwsig4sjkp4chsc089j0dl9mn8ah047nhr2d7z1";doc="11q4ppkw8m56bpn8s08w0zkiilfz6s5jv0rkqjnqbzn47nm3dqij";};
-spacekern-63552={run="043jpbd7clfhzcc14hmai4v6y4546pw9piaaf2zbk1qkw9jgmmyw";doc="0n1lf57k4qjl0ljsd4gccbmqyfkl4663sjb78d5yh1cszd6p1fdj";};
-spacingtricks-66398={run="0a98ca45sl8r4k6x69084p2nsz2yj06x4zvki3fmzhpsr97xypnz";doc="06lmv3qcfngdrm32h703qfq2s91spakxbj0w0xc54xf32gf501ab";source="0p0qh3wapfigl8hjpam2540svqs680vkbadh476zmyvxacvmbjqx";};
+spacekern-67604={run="0jf5rv2kqzfr2ji8w4x3cgli028rhnndz5xm7l54q5m5rqczb1ag";doc="0z9dyms40vh95wslx7xack5qys02hdwxr451d19k3jvx4jyxsl7f";};
+spacingtricks-69048={run="0ahyb2skb6bl3m37ppzb569y539bi0njkq26wkvf0qw1g51irvz6";doc="122xkp4s2wqqza5nxlibxyfsxs21n20xn3y5i9lym0hakpj7112m";source="1mbb835yyrzpk1qlqci0zbvwd64amxqav0z3vnwaxxi14hqr9laf";};
 spalign-42225={run="0wy2kliv3mrcqvandk3qbbqjbri6xq69d5jsi80l7qdiij86z3g2";doc="0jp34h19q4588rli6k0v5kg47j6i1gjpjgk772fkb7l0f5wln7k3";source="02qzd21qzb8s2jsip2fr1jgf11xd7xmiyi7fv0s9ylyfr259c5b1";};
 spark-otf-62481={run="1z9k0dnahkq2nfqs3plpyb3fdj48x8vcav0ahykd554fygv5h4x3";doc="07pq90xx911rdjdyr0sxg4zqfg1yb5kn43xc5l6hn0y81m9j151d";};
 sparklines-42821={run="1mb6c3mial9ashhvmjhynczjpb462j18qyy2an4ckgwgc46pwhp3";doc="03j6xdkvsv5p71bifmggf69w3s1n7758yii1caz9p9bcqmqbnrk9";};
 spath3-64818={run="1w91n8mq9bzf7fwfwwhpqn8j5w7plc4366a5pw56x2212n75pzh5";doc="1gy8n6rhxbqf64gh4xbjvy0dz484vm53ld3i6graly3qzdrwkhdq";source="1gy5p59n76lh0k961cysc3qpnnhppbcd7dmspjijca4fx2v3ckkl";};
-spbmark-64706={run="1ixxwza7s6y4vzjlpmw1vjl67mg0ga23r3yd7y52zp0fzmw4krpb";doc="191cw250wxfy8g9lfbs7xlglwb95ip409hgph1v5crv9ca5csdv6";};
+spbmark-69350={run="1h76dvirbiqbn2z1cki5ya8psialnp2lhddxsyqxa6c2k4n128zk";doc="1k8bip2v32gwqyvsa6jrbgfkihv0g5sh27c34fgpz0g65cpzpxjz";};
 spectral-64528={run="1qjvxyjxm81j3cyajki6jv59k6y2m8nv9kzhj45d7i56za9klkf2";doc="1x6sixvjk4sk5r6x3pgppynsgp139jm3cc7bv83bk55757jjd8j5";};
 spectralsequences-65667={run="06v0sb1xa28biv5ak6nprdcjzjdm0106rmlgm4if0jgmax0hiqpb";doc="10limf15cp1bv933m45s3vdvxwzbpd5hard4lqff2x8ay1h0n1wd";};
 spelling-30715={run="08zkbw4fdfmfz1pxcr96xjhrs8lfbf6sydp8crp8110fikksjv9i";doc="1wm6r4rhkmxmc66zx9nvvdmjaarx789c33vzm26mbd6ylv5qs1is";};
@@ -3485,14 +3576,14 @@ splitbib-15878={run="0z2vnb51ksqp3i11903mvgaknvxl1azwqsch5aaq14y7fp9kcrah";doc="
 splitindex-39766={run="03x58nb9bqd1fn3k9fqq5rdafsna9rbxjhp44dwzig8kp81f0g0i";doc="1v2wwls8fgb1rhk91hrjsabxj6plx2bq7h07fyqxvl3982am9wm5";source="06ksmac3dxacfq7j4ad7vy9kls2rnay1hww3kgbp2sgadqvwmz0z";};
 spot-22408={run="18ich1w6d68xa2p65lh22yfwdkvgbl9zz9qmd4yx84ljzby49zhg";doc="1flizmkafy77g30ffsispr2m4yaqyfw5hvynf7ppph1q07jqdy0v";source="01sx1j1sxr1bgi5h48ij02nwawg2wgg1c7mx22q9r4sbn9mprlbr";};
 spotcolor-15878={run="19xicma97v309pbwgdyizrjwwnlas95wq0d2qlyw7m9wrq295lpb";doc="1qsdgagx45z4gha0y7z37687jxrc121pr592b1xcy8bhf86nimhm";};
-spreadtab-50147={run="0zgiys6ry7szi6rvrj6kbnlysr8nss66j3xspqwc9j2jdp5c9lp7";doc="13c2rgms44wmbqvfi1yi7ini69kjv55bg3czwgx2rn99shafzh4d";};
+spreadtab-68256={run="1jkc9h4a3cn5k7p87hdib2jk8kkmcn98cx7b8p7p9fm3pjac807r";doc="1xgy9b81am6pl835sf04hf0srpdpd7bwvxdl5cd4pr784xgfvdb8";};
 spverbatim-15878={run="0s7042ln9l7jvb0vyrmg4h4fdgzy6vaabr62n7zlkr8pf7zd8nvh";doc="1rb6gyq7j5m14d8707gkqv1n5ifk1y497mwflhigqgyi9lgcvgxc";source="0f3spbpb6icwm84v4lq0skkx53nw3i0b90ik0svd9dhg31y24c43";};
 sr-vorl-59333={run="0a87b640qdc7bysxlgr0y63znls4ryjgibi3ablnw9q3rhzbbr7c";doc="05zpxq3qjhziidiq8i30hj295yh2qa3g79lx9ywlldbkyhq928cy";source="1ddwga4af9k70c05v2a8frn3q779d2pw43h5bpfks5w889ss6rr2";};
 srbook-mem-45818={run="0znvycl1land17f2c9cq09hhhg4b677rixzjc0hsq34c91s3xdq5";doc="1nf53sq2ic8y70z0n28kz27lji35slwkxrn8rz0dsaas73ga5k2y";};
 srbtiks-63308={run="0bghfl9fix95nxb8zvsylb8040msfwk0vazqkwvc75v08idigijx";doc="1z9fyz7kjqis1rblrdb2hmj2507bifg07yrigqkn2cgm4wsg0cfg";};
 srcltx-15878={run="054b8g0vvhbzazxs8913dzir7qb6x5q5pfsiwdp1z1awkpafwkmv";doc="0fidv12pgqck21fffgrrz2a0pfsb01fsyld8qhf5r00915aai6h3";source="1sj23lc6k8kwd11q3sq6wbslwl4fsc3wzp45w4by3mw5k1q5xqcf";};
 srcredact-38710={run="1rqmgpxcvvcmzxdj6k15v8z4i4iq4wv95whddpi93l3n0zv2ihmq";doc="082ff60lfnapb570ps3g6vjy2xn0gjjih6y4nm3ry9i0k1isbk0w";};
-srdp-mathematik-65293={run="0vk7l57qx3hbhslr7jaqbh81x4kfq2v9qr8a0jj692n41rmfjlqg";doc="1zyfray1i0w01pxmlycg3450yfd4lm2jq027b2vanwcb4j8wyvgd";};
+srdp-mathematik-69288={run="09pxklmnmdwiaf0dgi94aq33v5v3ml7ap0xs9s422wswhxx8378d";doc="1143sfcqclgsqkcd0ypcyp37hna4apbg16kvi2146xkz3gh3agqy";};
 sseq-31585={run="01vqjmi5vpd2s00sqqj6nlwgqvz9c43igg09w282khlca471253l";doc="08xq5fjn951hdpbrvzx6p09a173radfh8a4wzhmifd5rca9l7asy";source="0a1rh7s1fjxn3bblqz4lzhd9812d9p71wwww5hg9nnpn3gjvdr6n";};
 sslides-32293={run="12vg8fdv0di8vgnw8wj1y6rad6izmczfqzy5pr6gpflzmn14fbq4";doc="1dssqc7f6260hl527hhqq8zbiyszb13z3bny3rwjblscl9ia29yf";};
 stack-15878={run="1wadfhja3yji011aawrp3jgiqdxil7lzvkd1pzy9c9y63lzknfg5";source="1qv2bvjs01lk9b86rzb7n0lk2a4gr870qsnahyrd9dqdnvvz4n9n";};
@@ -3501,10 +3592,11 @@ stage-62929={run="1wdvq1izp0y8b7mzbqql3fc9q8j7jkrmm4ynnk3h2zlg24lgi3gv";doc="1ja
 standalone-64677={run="13bp2iyfnpyflps370mzrxk1vkrybamam1f47ws4cafpz99nvvyr";doc="0waw4vqxh6nclh6kp17nhb4i1hpckwraf5clksxvzgiv25cxkada";source="0a4k7lx74w035fvj5q6mnzpx18jzlghz3lavhsl9ssqjb3zqmar2";};
 stanli-54512={run="05mq6zhs6x5qjqk58gwws9lw3p876bd1f8a5c2jvb2azjl7d9r4f";doc="091knxhx7jsjiv4ip0z2jbazvv3xmbvandbraxbipp4zqqakb8bj";};
 starfont-19982={run="1bf89j0qqyzih5w9ban03k85v8ih0d16sil1sf7smzmqk3nhmrz8";doc="0rjx4wj021ri26zxdlhkh71q3d0ygf3hvcqghq9fwkbi0gnig1r1";};
+starray-69002={run="1dh1n0z8c1g9060mjr8qi7qcq4s6v86c61nfis61xxj9606q5xlc";doc="11d8y9yqvm7l5nbwxpakj3ybw5v8p7vm0ccsnvib9cyivy8vqvbb";};
 startex-35718={run="1d6c54hm9jdi882srj87drkcxm7lldb4g60lbic9wwzn9kpa0ynk";doc="0ikmb30ndmj0yhzxy9mba3kqxdc5f8i66sji51ihjcrlplj3jk73";source="0304dzv4nzlcqi5k1gbfnx823xaxq84ja4gwh7qg941q152y7w9n";};
 statex-20306={run="11qpdrcszbsrasbasmk6h9wg5r2a11pm116i16h7mvw73vjaq76f";doc="0dkb7c7wavn3qgndl0g8jpkx1qr00c3iwp6d0r72znggl4cznhsd";};
 statex2-23961={run="1949zszdv000dw1dx1jjznbd79q73fjiqnkq2axdbxffh47ls1dp";doc="0fkzbs76yfyygscazn4dgphs8g1byzg9n3fbdg6pizzncirbgh6c";};
-statistics-52212={run="11szmc6f380si38il9vw78n30yyfmmvgxpp8f8p8kzb373d3hs9f";doc="0z8mx2gar2fn97n3x01dw23l7r4ckqwgfksgmfdj7vhgs51wsv16";source="1dkz9vdcnadd1xd4k9i37a3mpn1bwm4zf3c6bg6rvzxaarrrci4m";};
+statistics-67201={run="11szmc6f380si38il9vw78n30yyfmmvgxpp8f8p8kzb373d3hs9f";doc="0z8mx2gar2fn97n3x01dw23l7r4ckqwgfksgmfdj7vhgs51wsv16";source="1dkz9vdcnadd1xd4k9i37a3mpn1bwm4zf3c6bg6rvzxaarrrci4m";};
 statistik-20334={run="1c0469cxfvyg5jl9q1pyzras6fk3f6zbgigaby0iav34imhg7zy6";doc="0fih9k7mpzg25h56x6zzdbdnhybd25b7hlv0pdbnlfb73s7h4mcv";source="0i68y5ynymx339zgxc9r8dgcflm5468gd6cwn9ngpnjvqqbas3kf";};
 statmath-46925={run="0imcx9nx9h5fi53nwg82n2d9s21vlngdab7znyg1z5pdll0df043";doc="10mxwgvjjnk2ci05ikml35q64c82c7dv7rjwajhk03gq8ljq939j";source="1himjc8cn3j5jr073qpp4mfyi2cpr0czf7iykr0w6b7722kkqdh1";};
 staves-15878={run="0pb7cghd2p1f7y5x19x3zyvaz63k3nmrwd04g0yqrl3774fvnh1r";doc="11i1rcc30lnm8fqmnpmk1hgz2fmm54hgf23ich279aqfsk2pm8iq";source="1y87sw1qrmvgvayzwz2i6qjzvx952h68123fhhv67ga0kpxf9fwi";};
@@ -3512,10 +3604,11 @@ stdclsdv-15878={run="1130sj024qfsszjx4adr3bmmr6594d21bcv3ixmw75y85djha1iz";doc="
 stdpage-15878={run="13q3jc6snrscq7bl22myd8rb04q9q5b0a3xvr609j1lxczbs1xnc";doc="1kr7851lc6lp4aq78xc61nw495qnhnrbsz0w2yyldwfh07h4byzb";source="0ygk73pk79wgn4qpg0niv3d0a4l8bdhrdvv1a9s8g6ayngfr0nsd";};
 stealcaps-64967={run="1n6922kmdf5ahc8i3jyps6w5r5k1yhnp2x1p2bd259mjd5ivplyx";doc="0djb508nm3l88p33736kwv7z309nalblb1zfijib7ksqq03515di";source="12krgi4wm37q2jcag29mflql1fpry8zhzxn3bfbmwh6cna8i6042";};
 steinmetz-15878={run="0g9ll1hsf82wll1ng5lc2v6il3l6pdy3dppz7k7piqqmifzc8ifz";doc="0gyyqmllgp6dg2g4nh5q5ycnixlyzc6xfmi3szypmr1rai1dvx2s";source="07fj431nraf7f9qcmm5bvk03cblmj15xcsbnhgish4rxqbf7clsj";};
-stellenbosch-36696={run="07j555jrcg91nk6rgr6c9dq8y9b3i0677j339hlcb6mk7949nz3m";doc="0xrpmbzaa4y3v86zzdws9al13v723k5yjbxgnd9l985fgq5w21bz";source="16mmz7pq4y9blxskrxjq8w15zq9vrbcr6nj8ynfy13b7wxvqqrcn";};
+stellenbosch-68039={run="07j555jrcg91nk6rgr6c9dq8y9b3i0677j339hlcb6mk7949nz3m";doc="0xrpmbzaa4y3v86zzdws9al13v723k5yjbxgnd9l985fgq5w21bz";source="16mmz7pq4y9blxskrxjq8w15zq9vrbcr6nj8ynfy13b7wxvqqrcn";};
+stellenbosch-2-68183={run="1mp3sskmlxmr5jc00rh5i1vyikipmgvc266djbx8f47adkgqxfl0";doc="1v7drgjgiyjp4q714lanybp34pkxjn73w4s20lch49mpq0qfnfqn";source="1ha1ps4cdf6kr6dix9wnhf2672ic31n04vhzqjal12lcrf00pzi3";};
 step-57307={run="1r2mf2qlcksllpaakrycmcrpxfq9c4g7n18ip13ykp92fmrbcz4h";doc="0f0hph5cjwhwdn2yyfzvn1jbkh8xm71jw10zagbncapfqfgx5h62";};
 stepgreek-57074={run="04xldk3dzcr1vg1xld4hhwx5xzi2pr0v7gn526xr8ca3m3x5mwnd";doc="179zz295nxpp21p6xhrn1r9ka68i3l9l8bphrb2833a2x6qgmil3";};
-stex-64383={run="09zdqjajh0iyg82m4sgwsx76qvnyy6g8nh6cz8rkcaxpaay5v1js";doc="0ix1y1n10kfy9hbbx3liy1rmkmiq9whqw1mi85ncjbz1lhxxcpdm";source="08sl4hn2vcs1ngi7zdbvkzpf16vl3n46ry8fdq71i0f9sy3m07sj";};
+stex-68569={run="0qpc9nqi6gkkwc8rg00rkvli3kgdfvxn2h23paxmsf8jsf74c4lv";doc="1b855d0n3m2glxf22j7ifn8sf7yi9z4s55jnb1dk0pfy3i8a5zf7";source="0xm55wcxd47z57pmmls2nx6f310nbjzmn05crynfj4rw4310vq00";};
 stickstoo-60793={run="1vil4pran5vkgzrks8wp2nnwddily3pkfw9vap1l72c5rcxsvii8";doc="02h21jbb19cl24ds2r1gz3js8fgxhi4dq4acw6fvq5kv8izqr9mz";};
 stix-54512={run="1jqrvkx444hvfh7246g22k02jm00m2cnc6ffj36k8qdi1s5m9dkj";doc="0vmiariam5zd37zq2ni9560kjgia89p52cm1phxqp6gp7avfyl7q";source="0jjxifyrkdwgbv6xvgpk9ji6qwn4wr91lkdprcdjpmw9b2mwflj2";};
 stix2-otf-58735={run="03ilzmkskp2fj3jwyvlwz8b2ryvb1rfj08ciqhkhi9ddygzjk8xx";doc="18cqnpabka16kfq09rspzgwmyh0fva77i8676myf4wg805953zgh";};
@@ -3525,12 +3618,13 @@ storebox-64967={run="0vy7iavq6qqxpmwhm9cz4gxp67nriq230kcf1mr1gq2w0ncy7kjc";doc="
 storecmd-24431={run="00xk8l8l99qpsmkdxcpccf8g7av2asa26qrh3bi0kkmapm7agk8x";doc="1n5vw689y9y2kakhkyqv47d5cin7f3xqfz8bc3yncdrmgh4kq82j";};
 strands-59906={run="0i2k3b3kb570k5h7yag83gchk9ss971v8w1xqr2kb448f1yqkjr3";doc="1clpm1i4a0477zbrixscwpg6qyli0y5vp61lblgn4iqgw0sndhlz";source="0ckf9ipirn8m795df5za2qd5w96cxzxmmv1kcn0gl4aj3ypia6b9";};
 stricttex-56320={run="0igsjl8gsdld0way8nry9r50ibvm0aj8g46ki547c1jhdgmw67fn";doc="11pyyvsxi2d4dfzv4pmapa2ffyp5fky32823fklcffd2i6jnvsbh";};
+string-diagrams-67363={run="1r1xww9h5vvvhar2nvkmjlkv1s57qv53cz582mh6vwg6v6w41nj8";doc="1nccy5d95ada03lh1sfk7rv2r3qba8rd2g61wavw1p9cq40r97lx";source="02mzpys2xw7hd7mfn4z5z7cdlcafkwhiibxnkwya9h578g20ji1a";};
 stringenc-52982={run="01xnfg0mcp94dh33rfzphk50kjb68bw76kf7jnbsnjwlqf2cr5pq";doc="00hbmjwhas4fpcx1yg016ggqv324hdc2aklr2nx5m5x0i68xq6qa";source="1ir6041286fiz8c5zpsbl4cq62gzdrdpj50aqv5p6b1lqd8bsfp6";};
 stringstrings-57097={run="178qqf3ii5kaw5rpjazvf78mjb0aw4vnqzxpsv9ahbqfxpa16894";doc="0x6hcdp3hlfnd0vn3inq92nja4hirvhg9m37zmsh9ilnnz7dk8lp";source="1aryr9b5d4jrj6mc9cmbpc11l2mqxlxsc16c5h68ql0i6z0bpsz1";};
-structmech-58985={run="0hz5c2wvsm63cblj507bph7c7031lzca8g6628pw8lwinrx8npx4";doc="052m701f5pv6lh4jsxn54m8x4086vh4670gr7v1k2rwqx1dzbv8l";};
+structmech-66724={run="1l28ljkgzxirg31ai7gb3m71kcdzn3gif8w9ssiawaifrz15wi50";doc="1rnmrjpmzzidykm3al7sqb2q7m435lpjppv7xyl9a8zlkjgvwnlc";};
 struktex-47931={run="0qkfh53rhy29zapn4zr6n14nmximfyv8rbgxm16qq3l6mid5jnyc";doc="1nbbqh3g42qvrk478q2v6snl1lbmfjnb07jhx6z53yk87pna8gmb";source="0j3bprncnkp7iar2dh46bqr3v9zdvkk9c2w9kgj523bcyzw48zyx";};
 sttools-60736={run="1sxdf55j0g6gm2h486i023axk2m5ik37ndayjs5zxxkj6i3sh4vw";doc="1l1js9bpslrqih0c5cjdw3d5nkcx96d4idfxw861yx4lhxwzdq08";source="1c74wjq7r3jqq10mf1d87v6fi14b37i90qavwcx6s5bhhrpl871z";};
-stubs-19440={run="1p454rfdp2v4zq3vx1716x2w1cr1a6dkcwnj2hx7w2jn8118vqkb";doc="03la45gxcy1l1qik7kgcb518n3yvzwgdi5x3ffzfpj4yp2rq994a";};
+stubs-69128={run="1p454rfdp2v4zq3vx1716x2w1cr1a6dkcwnj2hx7w2jn8118vqkb";doc="03la45gxcy1l1qik7kgcb518n3yvzwgdi5x3ffzfpj4yp2rq994a";};
 studenthandouts-43516={run="1007rr5m0lbfib30bkb21nvpq1h7didqijg6jsbprmkgsz1xfdkm";doc="0sqfqxypkrcyp8fc60xsb1v9nbw7h1xrdai626dlpknhnm00kzmj";};
 sty2dtx-64967={run="1nrn2xv4r39qa2glfw4kalzdh5w2zlx4vaw0hplnrnxj8lwmpb9m";doc="16jpjskvsk51sz0j503z4dljwzd1ymi2b06z9lag8ab5iiyhm80j";};
 styledcmd-65262={run="1l1rg9456g7jk95kx5c7l1rz738b83vqf02kxq5n994rzxsmz0kx";doc="1fs253bda40z0cf23zz2330js8f0cg9f9rv5mrp09pf0f13shvxi";source="064czvwrkssjgw33v6lv70znbjb3q0shp2piwgia2p2lazimxrrg";};
@@ -3545,15 +3639,14 @@ subfigure-15878={run="02b2y8isk2irxdm7bcmx22v5lbkbhc15jqpx0dhs61dnzb5x7ag6";doc=
 subfiles-56977={run="10nslhm56kp5bmzr2nlbm40rlp3i02zj4z6vxj8w6cj1vv7jrd9j";doc="08r52aci5ab4cv70kbrqq1ak4ny627ks43nhqk6kn649pcahjqlw";source="1hmli1qvgpnn2bmllf1w53wjh63zk92dv2wvvi6fzjpq0q6lqhwg";};
 subfloat-29349={run="1ibpaj98ibx67x4kff1p0cnzpxmhs4yyqs2y4vj6as5jx43qnwj9";doc="18ps2xbqdf7pgyhj848zw1sbk36drwkpa0g1s9mw882ynz16gl9g";source="01c11mbfyynpa1yi0arlqcaklikr4sr83j69piznabj5jhb45nci";};
 substances-40989={run="13nl4xc0spsg4bq3ld0fv0612kac2z017zp8hwck2d8413jwkj8y";doc="0xbrs7qpbs5314j79nzcv408ghhayqxj2n0nfify6isxh85r1ks5";};
-substitutefont-32066={run="1djss6q6l864sj8mbvavdxd6fpmcblhb666hyskwciha6naja8xg";doc="094ywcg880qdryi970cx12hrnkjawhmpz6mmh8p7cxir80ah37n7";};
 substr-16117={run="1qialx52sccay00z85z001xsm62ajvbfxqxc9ps0bpmjkcvvgad4";doc="0zfcggj17bf26dxihkmqwn80pdir4n216x0nhkb3v17q889q903n";};
 subsupscripts-16080={run="14v5a89iwm2ykjsm3jxgbqsm5nba444yh8mzqf23s23z7fmcmsqb";doc="10swcywyb0jdsjhm0cybvmyc9g2ksxq60bqaqnp23kfxp39g9rq2";};
 subtext-51273={run="030f7sq37qjn99l1z6nx7qbivhczpzhjm7drxhhhsssw4n3mci7k";doc="1m6zyy09a3193w0p91y8g66n8bnm80awzg2g8l195n4p41l8vnkw";};
-sudoku-15878={run="1nyh5rv8fgs0lgmsjgkfx24s3lh8pph6jcp7dx8nb8q2ij8ia4pi";doc="0hdvzb1vcrlbis4xsgzdnbidapqp7kdaqdskdha5szjw53xz77ys";source="1rwwqpqvmwvq26ycj2glk0k4m1vlbjrxjp0l20qnh5vad98a1x7p";};
+sudoku-67189={run="1nyh5rv8fgs0lgmsjgkfx24s3lh8pph6jcp7dx8nb8q2ij8ia4pi";doc="0hdvzb1vcrlbis4xsgzdnbidapqp7kdaqdskdha5szjw53xz77ys";source="1rwwqpqvmwvq26ycj2glk0k4m1vlbjrxjp0l20qnh5vad98a1x7p";};
 sudokubundle-15878={run="18y4x1g050ircqh3nd95m45scb8zgjzi03cj3n7whn207dvapsdw";doc="17mdxysiwjp3ii1qhknrxw07dcds57qbm986583xh69bhq08c4sr";source="17g96rhis66gvgbm1857ck4ri8nz3isdlqshfx9rdbpgs8x58i0h";};
-suftesi-60991={run="09rnrhy7vi8zdg5lmgmvlh3lc50wkp9gkr2jfmmg919ls36bfwcz";doc="1wka69sqlp0p2c496ibak2md6v13hxcsvc9lf5fay14czwvyll25";source="0wbp99vy883whqjhhyzsq3w232jk6nsaq6wgq3dgv1d0zamadi1g";};
+suftesi-68204={run="12cis5ynr5ddhqis0i5501sbxznpcv7i4rh172c7jm5dww2vank8";doc="1bmnzdnmzn4j3fpbfax4m9xd8gpk2vd1xqf5z3ypza46vh7nggxw";source="1x001l06wnfkky2vng3vpkj0cwv0z9f29h09jpf4yc5i1nn2s9rh";};
 sugconf-58752={run="1x2nrvqnl65jk3amclgwrk2x1dscncxajdf074a2d410w1vikrck";doc="16w8nfyixsr7l2dn1lbwcscbs6m4mczql9gmg9wi16nr8d7pm8si";};
-superiors-51909={run="056i8jrpfs79g2n4fb3kabkkbqbpyii1g0z63mciqyfbs0wvpasm";doc="1459za0bj73lgz7nqv0ys0zimfw1nmmzzcyhydi9km7mjv5sf5r3";};
+superiors-69387={run="1kj12xhd0psdz08mx7k2kz2maaaam29s3lway19gcawr156jp60m";doc="0vg6sk9ad181y4g53shj1j0mdrcqny4hjdfv3kdn5csm7h5kqq72";};
 supertabular-53658={run="10r18kzg7p8s2wp1nydvn5f5vfbailcypqb7hkhxyjzpkdfrp12w";doc="0cw3vfh4mxd39n2w1yk0nxjq67pb8s0kzv6syr2s4x3p3nrml822";source="06r03i93j8rxw6ddiwmshb88q3h1dc3srlh4djwwycjbgp66xx87";};
 suppose-59281={run="1157v4laxbdllf5vqlnsf4cyk535xdq968q33gla769r1vv4yyhx";doc="1cigx59dypmjyv11lbf9fyfh4krl9gyp8jiwirhb9hrr9jzy7263";};
 susy-19440={run="06q7nw6bh9dkknj1jzvy1wljh9vn49z7mbhr5d0ydv10mp9y9zlv";doc="0dsr3yd5v6i240f7fgpbdlp0dig4dl0376ssd7nbg86scl63k9iy";};
@@ -3573,14 +3666,15 @@ swungdash-64204={run="1mr1x0g86qdh5nw39b56da3pyw7p4cq1x783rcqqw2rmvszp6zqd";doc=
 syllogism-15878={run="01x5kjyfm5ksqig5h2b8sgmn05ws0a65idv1xh5l709yp2i35120";doc="1zqljwv03f755lzc9fhps5xh2dy6r0jdsvp6a21ka11kqq696vjw";};
 symbats3-63833={run="1rkc00q12f8ysw3vcn15hk626wzmy5j6gisvyzss924482pp54dv";doc="1cs9vdddpv7ymgicx005r50ilwjharqvszykf35lram9d2n7f40v";};
 symbol-61719={run="1pdkpr86bhia5hcmf7q3nhvklnsga4mqqrrirgl8a7al7x6q3ivs";};
+sympycalc-67087={run="0nr281r9f5d68kqsg2psvhdzgy24sdghyd9h395q666mp05z787f";doc="1ik7h5bwvnbv8zqq4pppprqwkrb2fjd68l5fhj10yznx38hh5x47";};
 sympytexpackage-57090={run="0d77xd1xl9wc6qbd335kvhq8gbvvqzgqxblhcmyd5khhg3azk6sk";doc="1y743lffzk65wl5nwi490wnmf4xaxcnkpicmhadcvjcadvhrnlxn";source="0q3cl06b2mcpn5an1m7c68c4c0swmgacj3afqb38984dcvap5abv";};
-synctex-54074={doc="13fc91avs09za1y5rrn50wfr2bf1csnf3p4dn0r3mkny46bdfw7c";};
+synctex-66203={doc="1a2nlmbib8723jjhf6xxh5rpmnd5jv3cd69br4ihchbq5ipzircp";};
 synproof-15878={run="01bx52ckyg4abigyzfcxi83jqdkczvsj9b80rznqz8vm9yrbv951";doc="1kvd3vvj6yx1bfqbi858qglc31dx03ish49q0lai0mp1814n6fqh";};
 syntax-15878={run="1gd38myk5lf5fxlx1j8cvjv6pcpcr15r0370ikxf7fczv8s4ab2l";doc="0l6rkyidqvvhkrjxs8y316rssayihqimbyqwvmdzqpnfd16rdxpv";};
 syntaxdi-56685={run="11l8609xj9gz2zkd6b0ah41lgw4qhrvdjj47vwpzb4sb1sirsfgw";doc="04hnwc8hc4z88wxrp81balza27xjj56ymv4wb8lvl7kg0087ldw2";};
 syntrace-15878={run="19vx1iz2zxv49znddhcsl7aw4i267fmxhxpszzg2i9z0klm9b3nq";doc="1dzy8pazcp3lfc009g0n1h0a6q3v99ii43pza3m2gkjvbrb5sk00";source="0hb5iklz2c7zqrl8zrhkn8k7dj1zgk5gvf4wpr7h32sa83ajqrdr";};
 synttree-16252={run="1n2n1q2pwx3fi0dhh3h5dj7s5wrz2r5zpx77fmxjk0c3d45c8wan";doc="0rnghg1459nlliwbcy8r60rc9si3ya35c7sl5zqh67sfwla2ixps";source="022b2sn42mfdnska1cvqjsafakah9a908rvyw0d326d7lxx8wrx3";};
-systeme-55015={run="0agy0h2zq8n6723w27psm3azigf2bsw4s80701xr0zz6kmlyrfg2";doc="1xxycz86kxljxg1np3zd6jzwanvp3f67la1k267z3w39f5i63x1z";};
+systeme-66655={run="0agy0h2zq8n6723w27psm3azigf2bsw4s80701xr0zz6kmlyrfg2";doc="1xxycz86kxljxg1np3zd6jzwanvp3f67la1k267z3w39f5i63x1z";};
 t-angles-15878={run="1p1h0gz1k4lr7rmadhdgb7l3gp55w12m3p88hy9d4d0ryzld299q";doc="1n01pg82p0yz0b7ph82k5ha7a9j0a4hc0489xq9pf4kbizh7ap4d";};
 t1utils-57972={doc="0hdk57179nn57wnmvr3jasjavkvmrn6ryph6jvjhsfqprn7bhf1y";};
 t2-47870={run="0s6zn41dp7vzilfyk92yy5mbb74lcrpnmhrwl9xcj1dbadi97nm6";doc="0wfm1gy3dyhfv2xzjfsky2fvdhki5r2ndgvzliq2n0kvfxf1sgna";};
@@ -3590,11 +3684,10 @@ table-fct-41849={run="1kpmd1qynxq29aanvaanq35ihiv0d55k6wamxdz3lssicrn3f2vr";doc=
 tableaux-42413={run="09pi8sm17m1v4h362al448ayhj1h5n0krdaa7zsys00l0w55qm3h";doc="06173sm4yx2a3mfadax16nqj6ggn6yak85l63jiaqdczwyb09kxi";};
 tablefootnote-32804={run="0i1mj9bq2hj4d7y7za2zj64p5dfdvsfi51147as5kfb6ci90rc56";doc="071xk16ck9r0jip847ikb2qjyv3ghf1m73w4s619zilvm752c0ak";source="14vrh8c322skk3rpjpr03fgzbm03khmhf3ifh2fm72yb5cqgbbqr";};
 tableof-59837={run="1n9faa8pcnls7n1ghqywvzri484j37nwmhhday1wa0rzxqhs5vl1";doc="1aa9frbqj6676w0v4s2n3h9nz922qsiafh7rxnmw83bmv93sdydz";source="0as1hwba4vski9vby84j48s88ha76vl2h3yqvn6qkrzyh6cg7g3p";};
-tablestyles-66465={run="05vlmkazizr31l57zm9q4lsw5kinqd4wrmyjgrlgxl130hy3chxx";doc="04wiizp4giyh938rfs5j3s9jm6fjz45bxas3nq3lnmh5akcnpy10";source="03bxnqry8imwj5ihs7n61b9f689x3c0p6yx0lza71cawh5jx6zh8";};
 tablists-15878={run="02sffbb22hirw8mdijf7scxbivipmqw828qzdbc49vaxq7ggmzib";doc="1fwhps6a0j8r5zqcksdqw8gwa55rh2r2la3iz7wc451zk3ddbxpr";source="1wpir71xwq7xhg41l6sigp55n93v94lashgi6lgr0g9ad8hh3y4j";};
 tablor-31855={run="15xinskbqjj1dmi1fpvb6slg8kk3g66dm70z9f7dx8bzb1v65zwz";doc="0lmi8mn5k7b5i0n7bqhagjkkzs2niy9852r8r0vv2c8qfbpm4hpm";};
 tabls-17255={run="17bg083653km6v92hifll78vs0p9zwfnj5rbw1pcl2siizf3pfj6";doc="1gnk4blwfikqshqjv4zd4cykp1k6k025h7vnbjrvia11l6kcnavn";};
-tablvar-51543={run="1c3q074gli4k8a9665i9da7rpv8rdqd6x1kffnzm8n3l3nws6y6b";doc="1jakhzygr71avs9syz6hlrlrabxa0l4061w5x8kzk03bdgygnhc4";source="0mk3s6fxj1vpi8pr2pvg504wrw13adav02p2l6313d14zfzgp6nj";};
+tablvar-69212={run="11xcbpdcl39r8lacnvqyd8j3qzbpzd6q15ivjwh9ndrznkxbpjpz";doc="06gh6a1qsbgbncl13jybpprmdbyfddwyyfwz1m9fs5b6y5dr2sck";source="09ixxr26sw9507my98p6dmnqgk0xw14h1gfbav6f02yxk3f6glp3";};
 tabriz-thesis-51729={run="1jrxxmd38369qrhg2a8w4j9m3ldp08wrblbpmc08f35zwlrackbs";doc="1rzl7y6p7n46r7ljcycr4k40qxbih06bli90mdjwn96vn60m1jym";};
 tabstackengine-46848={run="0zd7gp1k40wg6b5aln30qxbk84ks3ys0d31vlw3wijvh31qbw6xz";doc="1n26fdj1lxwwx1abslxl3vkcvhk6lbnbi0wqi5mhx2n6g6ir8b89";};
 tabto-generic-15878={run="0i65jflbnhqpqf1w7pkagicic1s39gcl319z7g9zr1g80f9532dv";};
@@ -3603,22 +3696,23 @@ tabu-61719={run="1x22myjp1rpg0in3jgjj4wy0xyva8xd5hsy5c1rqqpy67wy83k0a";doc="076i
 tabularborder-17885={run="1p7iwpalamif71mrznbmsig5g9lxs3l16dcpwj2kzhiixsh78vfv";doc="0rd6k4b00aj398hy247x84jj9c3d0dm00xnaw69p7wvlprzricwc";source="1lrvp6128j70fzwqr61nnwiivgllbbkw7pd53l11sqzqwzxppgi5";};
 tabularcalc-15878={run="057720z8l7ss0kpkg7l16fc2v82xr0wqlxzxbcak5m3hl5k03g7a";doc="0539rar83mprammyilmclcbjxr657z6q2xmmwmlik990imf78lqc";};
 tabularew-15878={run="0g9pbr0vhhjj2lz9bbgwvm49wl8bdwvv1jjggq2dnwwqbr4vc4p8";doc="1ff62dxvnhi4q1gy8f7qhc0zz1jiayl6f8j96dp0rz38l2is7m86";source="0sfpx5w61xrmmgip0c746mghhj06r2mn2jmj56zingymm2djiad1";};
-tabularray-66281={run="1alrp56nra7pcxg1km7p8km679dkkqcsj7m85r5wm091qk7gxhf4";doc="1jkhrvq0xwr5qp88zxj888j0grj904vljvfahd5azys05n3ahv33";};
+tabularray-66276={run="1alrp56nra7pcxg1km7p8km679dkkqcsj7m85r5wm091qk7gxhf4";doc="1jkhrvq0xwr5qp88zxj888j0grj904vljvfahd5azys05n3ahv33";};
 tabulary-34368={run="0z57030pg4pfvghjii8bgqba589cabnj8qsr9w1abpwp3pfy4zbs";doc="08r21q2h7sjrk875x84lngcqgiy5ijik56ly7g7wyzhq3jyxds0f";source="0lsdypidawyhzj73c3yjs8k4xy2sds7gz8gazxfy460zndsz675m";};
 tabvar-63921={run="09pbsqa0a492j6ijvi25zdv4ic69wc8ngdxll2gr7wgh6m9hsrq8";doc="0iv8w8jvq05f6a1z7n29c9cldk499fd9igryv3c93g6bgq2hkzks";source="0bw2a9rgij2xvz3lhz6gya4vfsjn41cn7mg9mkg728q4vbhg19ms";};
 tagging-52064={run="0sws4x1h52cd313apfzydqpj6c8xrb8x5881cfhwir000n48crb6";doc="1pv7savkzm6jhaliw5ilb7qmhlj3iyiz2w6kxchanwrg4pnqabx7";};
 tagpair-42138={run="08qjcwyjs90sg8agmpmm3122h20898hy6dwkm0lk3dba1j3w5drj";doc="1dkn4gq6zxfqw9h64h7ggkbyrk9vzyax8gmnk9qk8dccdvf5n2sv";};
-tagpdf-66465={run="0199pakl7j6992x1f6l8r4mgnjglzjc2gxkvf4yh680ciq0hl2cw";doc="1z3ryhmr6rkj9v0sq6v1pq1q5hvajvl2akwy4k9rsfmyzyy2fnws";source="1z82dzv40hx86fjg79x6qs1hjnc7bb9pgji3jmriv3ihsi5w297c";};
+tagpdf-69165={run="0lh32csbsl17wvp9nqfkh07sqb5kqrlgfgz8w6asndbsnna01wih";doc="1jksjkym9cj28bgv7bgl5i2dyng0ggzlnqxwr23gv739c749gxxj";source="09a16y2mgyj88b0dvvszv1d6lw9ji75c6rnq4wd1azjz0k397w64";};
 talk-42428={run="0i9whk49bahsm2kbj53pjdh3fpg1ixfyxmfvcp563ylr8j2ibimb";doc="0rgil00i39p2agz9fybg0h3xmpq0wxcpjcqpbpzjw5lcf4mpcni5";source="0kdrknwwivyxiyn8xqappf3k5l1brkwkkhjqa0l5n0abzafkjcy9";};
 talos-61820={run="0pffvqdkhmc0adl7g1sfckgwwjsfgbnf03jfry3yfq6za6mk05d0";doc="1narnqgf3221fpf66w2vlw95cr17swbap35lvb7dzviyad0ailcf";};
 tamefloats-27345={run="0mhiz5lxz0szi8ygmajjmldz1bjf6f1lpyxj3b9zb17h9aw8gr4x";doc="0s5cy9m8jpxh81c10fgdvn8wy7pnv7sa25hy8wbv6qkr1qwz8dss";};
 tamethebeast-15878={doc="13shw7hcimckn7pp8pj0cr1zsi1wq6r400x1v6akpmwwjxkw09g5";};
-tangramtikz-66201={run="1c9in9zdw7ixanhj7kgrdsrv6iwvjy02b12lgq0k3wwllnaakv24";doc="15979bzhc22d2pzc8v8ml9220b0sqz4f2nh0nkxibm8hg9pq3prr";};
+tangocolors-66733={run="1i0a42sdqgm7sraxaq246fk1w8ql4hn00y2r1rndyd9v3828x8yq";doc="16x99xbhwnibsbw364kb9yxzfcws3d65n0sdj2wflz2v7qbyk986";source="03kpykm57favngm16669ylkh7jh1q92c2zhb9sx1qy1wd5li7ix2";};
+tangramtikz-66183={run="1c9in9zdw7ixanhj7kgrdsrv6iwvjy02b12lgq0k3wwllnaakv24";doc="15979bzhc22d2pzc8v8ml9220b0sqz4f2nh0nkxibm8hg9pq3prr";};
 tap-31731={run="1ci65i2k6n0h9lklgk41sdq4acp5655mps77j9gcb65yk4mdl6c5";doc="0r8y4jzri83qypvnmgchnhrd0yi7j0k753zmnwhzxqg4bvki10gp";};
 tapir-20484={run="0ad1qkbvvswq7msx9889sz8n7wf8iszigd0vmk2yycykbf0axzii";doc="1m5g6bsijqris8r7z2dw3cj74ajcny2wjysq8ql26531z61hj9ss";};
 tasks-61541={run="1gwl8g4a2x3sbvqg91ry577hmpxdc4dgcj9ixhsla25h23jl414b";doc="1pavbpzm6z6najh72z52j089mdg6gqzsa8sb9qyfsql7mndnxznz";};
 tcldoc-22018={run="0gz5v5hi7r6wr8qas79lakwr7gnf8d5kypf7cp62qvrybp0ljgqs";doc="1vy7k0f6ri4kbjrhby0napsas9wwlq5by2q1dakbz7r80zr7dc3k";source="150p69vd9465icda6p0wp37gg9vl8y3c2ys3b8f9ij9a88x5775j";};
-tcolorbox-65800={run="0sfn6j0829b418fs6zry1xnjkmw69vcifgnql8yg5gwypixrq6w3";doc="1469w97dj43gb4110sx4aqn2j1hhwa615b1gybhb9i7cc3jigd6q";};
+tcolorbox-69370={run="16k26jwbhk466h8a09syzskljyg0x2h5fm5f6fmy65bcjgc8ai51";doc="0dal9wv4aryz1l20hbbg6njgy534540vqmyd2q9366a9ydgx1km1";};
 tdclock-33043={run="05w49l1kvs73sxchbwrlfs9n6mn7qshx102gkjk4jslhnw9lc48z";doc="1n0ir0l10p9fai1cssri11bpzpjabpsrpfji6w826l8i3xlqkdkg";};
 tds-64477={doc="04lhavbayyisxxqfm1vpfq38xx1xwkn136hdnjaa3szky2xyn3yh";};
 tdsfrmath-15878={run="18qqjmdh4hgzar37imn811i7nbk93zx5w7f7agwnzbxgy1kx2plb";doc="1vvbsq5aql1f5q0q6v5z1xm16bmb20w2jnn0d0rc64dw4dxnwpxw";source="03r9f335gb31zb2frpv6hk50c01sz6rwlqw9vdxf4ch2np90fd9z";};
@@ -3627,11 +3721,11 @@ technion-thesis-template-49889={run="1w004bdgaag02kqhsdksw7qy93lyjihhlbxiccavp7m
 ted-15878={run="0m9dv66nl6q4kq8jq08ayx4hrkh9r2i7hmr290s5d7bkyicdkgpw";doc="08yjlfrblhralk4b9ji4g47cr9r1zj8dp6sjha0169395wn4820l";source="1cifrswbfk6714m63kvmrsyvz3q29wd1bgl48f5d9ay7pz07wjyq";};
 templates-fenn-15878={doc="1s91swqsysva49cjrb9khgik5mvhxcb3wr2wz4l2683gdgxlbgkf";};
 templates-sommer-15878={doc="0z75xhawsmcxv4f24cqcvfi0r22gavjpg4si6nwrgc8sg82x24m6";};
-templatetools-34495={run="1djj67vbfjrhk273yqc9ss38bz9bq1sasxs8bsd47acvfkgq45n6";doc="087ib1pxgryfx03057yfj3mfm3sgy885s5nwy21cmdniwqsk0i3x";source="1cpa3yvrjlh4l8w0bfyznpk6bvg6fmyhplzsz7jxv9s01w642455";};
+templatetools-67201={run="1hbpn6aqp5zq2dm8dd2cm0zmnib6rasrn8a8rpjphvhfkr1ydmck";doc="0irpqbcf51dx4rcsa0y3r4x00y7p0fanspyhia6vhk2wsipbgk0x";source="0z1nm6jp8za0dlrj8s7zfcy099c7zr6lsxa48v7gppabh7i96gqq";};
 tempora-39596={run="025smp68d941hqdxqsd4qpaxvk4z8ybg14xwc47i36k04244rarh";doc="14k350dyiqjcfg5fx09i2i9cqsdw4mh1qcrv8cglf1gf2d0b3jl8";};
 tengwarscript-34594={run="0v6mpqkyp7fr1nb5myjs4alz8f7y56rnd1vlsgvp0m2shvnvhy2f";doc="0225gpdqbbmcpgxmpjcj2blbpzxcnr7vmm38jkkpyan3gfw52n2w";source="0jzzn01c5gwkc8n6naaddm793sm8vs67vsjd30lj4ls7djpnixkc";};
 tensind-51481={run="05vgqn5wcynyp8gy80icnkrdrgb0wsr3h0db033yx4yk3c8lhwaf";doc="1vns4k813ffccps5vrrpfmb7rm4fmfs8zgs7cnw2hqg08dmzijfn";};
-tensor-15878={run="1lw3dxk7ar07d4mb02rvv5r2zdkx8pz0w3dzf9s2pa2slbjx5dlx";doc="17xg416ccniiwvq0schcmp53a9hdxvds2pfn6q1q5xw78r983r62";source="1xh8fk3z37wc0jhz8jhz12d35xq6a8fsmn64ga4iv7pi1lhvaagq";};
+tensor-67667={run="0712frfli31jnxndk2fac6fln2538pmb7k16jlvskkifgzwrsf99";doc="0cgwilixdvg1ak90m1bv50rvzhlyd17d3h28mw5bj1myqxr8ybbj";source="1g03dgvnj7j8n7z482fyxpa40daj6rllvz4vnli78i8kyp2b3m3v";};
 termcal-22514={run="1sxzpnrgc7f325w0ww0b92y8ih6jrzpvgp6b5ilvcpyriym89j8d";doc="0nv2s95n2h67j4zd5i2iiz5ygkc1s0xp5wjnnvbb27cxqw1h4sic";source="078bs0l7615z66h5fr1fcd1ydyjbc3lddl1z7j80dngnx5j0vf28";};
 termcal-de-47111={run="13a79lp2lp0r1r1j5nc94adbir463rhprdlc9p6rk3qa7lh445pf";doc="0krnv111d82razivjks8ip9m6z1bllqhx47yzjw6b5af9ps1k6a5";source="0nn9vgxv5awzqx1zndl7zvgd5nhllw7kp8zj7snd1nqvz3wgc5n6";};
 termes-otf-64733={run="0vwm8qrbp9r3bbz2a5sbkkpmkmhb4zh4hbxd37hngx1pd576lasj";doc="0pxck3jbnw7wk7j0p18as2i7cffwj2bf4zjx258dqxg2yjg82i7y";};
@@ -3641,73 +3735,75 @@ termsim-61414={run="1b263hwbplgxw8ca03dx11vp3ar4dh1avf5r1r02qa8b1zax4b20";doc="0
 testhyphens-38928={run="1sqq2rf8amsn6zdp8l1vg5v5jxcn7ipp78qbzzkikiamlxv89nkv";doc="1nzimg7bz6h9dm7hb9r9fzs130dw5y7cjzmb4rc5dp5a5xhiliv5";source="0s92imbkb4p70fd629bbg2cma72ys853qby1nwk6rvdw8gp47pgg";};
 testidx-60966={run="02zkg2kffwh95nxn602ara915jihj59af4hrgv6cb6916m9fv0r1";doc="1pz2p3fdzdv4n1dabh81yl3b3iaywmbjvgxi6zklli6jbbx5h708";source="0h88x6mmid6nmhl4pw9p4p9nlh90p86g1k44a6bbcyzdlxc8n6ac";};
 tetragonos-49732={run="0l8b3kjk0jk70mmmv37zrdb16id6yrjvgsgsmji7pzdqiixy7jh5";doc="1g2zcx3b1pfc9dh76p5iprdgsxp0yndp7rn5ksbq4s9k4m7ikpzp";};
-teubner-64600={run="1rv52yxxanb44f05hr9h30gppbnzbyiaybqm4jdfgi3s9xhprrag";doc="0krg6m3wg0wvda60hmavz6ag78wqcyrzmwc81d0n2x1r687hr3pg";source="16j6g4p7nskjfc1h3ihakl512zv1da3qi4xlppra3j6p34366i17";};
-tex-62387={doc="07ql2xh656imv7xxjial2hzfsm1b0yjd1ddl71q1m6y3ms7qdjvr";};
+teubner-68074={run="06xxypkdzmxs0m6bl99p9hggic3zaxqgfxg8ljq2wad0k7mwn0i6";doc="05vj8877g8ndya6p2kvhipxa61504sa6p80j1zwjdr732n7bg218";source="1nqs8cxfi1rgiab8kvzdi9fcwbpgaw51fjy1kzzpszydf6qxgqjg";};
+tex-66186={doc="1n4jybv4qghg74anpj7n7kj4l908f476q597vyvvq59fd9k5m7mm";};
 tex-ewd-15878={run="1pmf17bxw6i4a9pfi32fjk0hd3p44kw2scwmr7p38320r6dv7srk";doc="0ss7nljpn8k3cz3av5qanc966q90v3qj9qy0akmdzbiy7q8ml7na";};
 tex-font-errors-cheatsheet-18314={doc="0pfd5qphmizhxb2p4gg6809xcx1rlfkwqa6vs4f74457chcwljwn";};
-tex-gyre-48058={run="08578kyph2grc2ca9bdg6271iqpjyjg1qcrivfk5r27sq5c8cwf0";doc="1i6383n8w3h7rjhdzhj0zc8xfd7ngmbqyvzcm0xibqpsdmzis4yy";source="0f9gzhlawkpn4cg284n2sad05aary5pwyczi1qdgnvk9v8sbjax3";};
+tex-gyre-68624={run="08578kyph2grc2ca9bdg6271iqpjyjg1qcrivfk5r27sq5c8cwf0";doc="115gb3afrys7ww3p29lm9bkwvkqk9gjdfcj457yazbk53ah2yff8";source="0f9gzhlawkpn4cg284n2sad05aary5pwyczi1qdgnvk9v8sbjax3";};
 tex-gyre-math-41264={run="0vqg04im4s6k1sjfclrn855liilgayh5kca774aicifzjgsigs1d";doc="0s6s2bs6q2ar4y53fyckz104y8rbvz3msjvyb4sv2p4j6x0kwz4g";source="0vl9ggi62bn1cpnjmqanx62b6an5294375jg68gskg8fwi8j6gir";};
-tex-ini-files-40533={run="0q1g62jg0qiqslm93ycvm30bw8ydmssjdshzsnzl7n2vpd62qfi2";doc="198f4y0bjw9azzck8rz6ml0rpq7g67r37rw8825y8crhpykchp6n";};
+tex-ini-files-68920={run="1dzfn0v8v8pdg6lmgfs0q2c0695zndkf4rpl6dckn51gp2i1bgl5";doc="1l1yizfq9srfjxirdwb3hvlj31a72mnw4spwyjk58xwcsjxx3y00";};
 tex-label-16372={run="0flvmmh0lzkwvwksmnb8m4ix6pzw6f18flybkgidkyf9mf0gg8xc";doc="1ppvdq0cj62zk3b0i76lc35r9pizzli7mm4j2zvdabysn0prlyyb";source="0ysjsk73ksninqk2dyrw06arl692x66rsrr8vb4l2ri3m0lyivlf";};
 tex-locale-48500={run="05l4frsxpdmsrbn50q87db878bwpi076wagj5r8kdnmdwmcanr6l";doc="0j9m67n83f4h5yhfh3a51s9yhqh6kpjz8y5vlxhyabyf7rcpybd3";source="1x0wmqsrbgdgy67gln4jd0518cbd2cxp36gqrjrqgn574qsl5cx9";};
-tex-nutshell-63336={doc="1pc9hx4fzk0k6lwab6galf7gxm55x4z250dymsmbz4fan76xk51x";};
+tex-nutshell-67213={doc="1r5idg9ai3bpc1nxwj7jm7kr9i514gvnkz7wq3dh745y6ilqncsb";};
 tex-overview-41403={doc="1agfya9rwvyjvip0alvibimz75jivpf19hp4jvlv7z0n9m26m9jd";};
 tex-ps-15878={run="0i35b4pp38d1l5rac059znlkazrcqa62qm8brhdmx7zzkbhyysi7";doc="0kgf7y3nxkw8x42wpc1g5mmmbz28n73vgwd9d6rf6fjpzrycc2zx";};
 tex-refs-57349={doc="1w7hcd3qsdhmb2siakjg2hm3h6kxa90ncsaif9spr4xkxs03ib6l";};
-tex-virtual-academy-pl-34177={doc="1kb86nn5vp1b0sy21aw9wlla1dwlaijppzq7728bmfs5nk1dnbjv";};
-tex-vpat-63560={doc="16nfvhzzg46vk6pqli6spxq9y9r0manqd5b7b4k6r9lssdqxf8ld";};
-tex4ebook-66333={run="06hp0i93s2a25w9z7ip1x6k8371asgrkcyk2adfsi4ibbp8kvnw1";doc="10p9mzjfrn7pdfj0wywqv8z6i1qqsnnmjjv0lh5a4w7brln09dq7";};
-tex4ht-66531={run="0hwyqgxgb8pjkqwbcdp22c9ffrcqm23dnry5m57x8cs0s6ml1j9k";doc="04z1bsgy3lisx7ifskxzna5jcbjkbwwjlqfwbfppnmjp5rwphxdv";source="13qh9basfis90xm8vqwcahi2y491jfcq08m1x5wg5b1iq763rgb7";};
+tex-virtual-academy-pl-67718={doc="1kb86nn5vp1b0sy21aw9wlla1dwlaijppzq7728bmfs5nk1dnbjv";};
+tex-vpat-66758={doc="1y7f87prympxg8av128npsa43cri71jjl9gxq1p04pjlpdjjm0fv";};
+tex4ebook-66621={run="12daajbjblpxvfcsa1b63zz7kxcyaiwcpj0djfj1ycdmyhz53cqi";doc="0rx0wppzfdl7z6zmbvyva9yq6mj8gqhy8m62x0r9wa01c0jlm79a";};
+tex4ht-69412={run="0vy411zwfhgsfjbyj81pgihp3g4sqkmb6cssb8sc7ipi74ckjha1";doc="04z1bsgy3lisx7ifskxzna5jcbjkbwwjlqfwbfppnmjp5rwphxdv";source="0qdman4aan2m1wmsf9l9j9qkc5d0rq5v6ghi7zmflv7jj5v1yld9";};
 texaccents-64447={run="0xai85qn9isnrvijw9shhljlkcnvmygni18kw02gsmij0dp9c1jp";doc="02185jla4hffra1wf3mgiaq8lyxh4gxgcjrb5dv3mkrw709iidcz";source="1wqbdmfly54sb8q1y6ms2wg8n62w34xpbfvxvwmg5i4as4a1ycmy";};
 texapi-54080={run="09cnhqn4gxf0alkx0276jkpcsd0myypbn94jzsavnjq8jknp6850";doc="0529cncxbw53km02pymj57iphgziri3d9cj54pqmjqjx9qmgwfmm";};
-texbytopic-15878={doc="0pnh1hsd6k434c8i1xdjq3ywrwylmryrsl86d6h7i1cnmzz4pwlx";};
+texblend-68961={run="12lfkp9qykcvmrafwilyz2vj0yk0ghvkxmmnkhlac57q3hjy12k2";doc="1sahpz1bh883crlr4qicgmx96ncij5zz1dqrm23q4qlg88yn8y3k";};
+texbytopic-68950={doc="0pnh1hsd6k434c8i1xdjq3ywrwylmryrsl86d6h7i1cnmzz4pwlx";};
 texcount-49013={run="1bi484kbrcfx3hyflr4f2w0plhz58p2206rz4r1wjllhhhwzc7pl";doc="12a3j0sk7nysd3bd7mwnbifyrcvjjkfjy3b8f1caf6k0pf1mz8b0";};
 texdate-49362={run="06bqyfl1vnj4gadqsx94lj8cm1ia3w3bmlsfjwwfaad0al3ncxdp";doc="0kks8hswbwhp8dpjdbwr4nm55md4wgabl5ypzpx5arj41x8halhl";source="0mbcap5nfj5ap8gxn4pyv8w37hcfnq4bm5m6jx43cwkzf2hiwar5";};
 texdef-64967={run="0wi60appvgs0h5690h8qqvcmsq2r6fcxais2jqps92ryy41s2v68";doc="124azfh1332lq18g40d291gczx2agh2b1cxq07ldmizi8pmvjaza";source="0hanvqdj2dgpgl3wa6sz3qa542882h3mv9709spl8q2glmyip5b1";};
 texdiff-29752={run="1jjzd4grr3ip6gd8xmhlawhdcjfj1sqfsa06rxrpziklwirw6bq4";doc="0f7q7cszy6ca6fmwzi7fn6p72szgzyj9fldvzz1rk3ywkhsnpakr";};
 texdimens-61070={run="0fny36zd88qkcz7k3hdxq2qr41dmk9j88skihls4vwf350fy8j98";doc="1qls1hqs6ypmsg4rqa26dp98m6h7zq18wdg9n6g6895jrmj10qdz";};
 texdirflatten-55064={run="0q2m138gpk9cvfp19jvsw746mkxa613c2204qfxw1bxw8b454d7m";doc="19iiznql82a34d2yhzqcp339zszbhfz9fh0h4mb11696mj8rx3v7";};
-texdoc-66228-tlpdb66590={run="1ph4mzrlri8daxg7j4n15s3b9dj58ni4fdqhpvqxwy6736fiw130";doc="1dpz5ni9xdbwfy4m12j3v407ywbddmy3j2dhzwrdsyj7wq3impmg";};
+texdoc-66227-tlpdb69413={run="012smkh6bm7rbdpaf0w38gakhqz0s7hr25gi2cf3592imk92qlxz";doc="1xh39n2iw8zlfncvwlw2a0lbxf90awf96z5cry47dvsz81k7r6si";};
 texdoctk-62186={run="13j0c5m12if8jx8sp7hlirz33y6l2jk8lvnms7dalz52mxz8kq4h";doc="1k41z2lbfjsar5rl47xnk1adbcnnb4w97bzbgf2rnjhimd1gn9hq";};
 texdraw-64477={run="14vg45kci5pffvwdqnnb0dv3fznfaay3rg0fjiwfill24ifms14s";doc="0lw37yi82ir8zn2ii2x88f871843y2was3xwp7p06wjanr1jwc6h";};
-texfot-65545={run="19aswiyr722n9misvg9ajdsgpn1ghmic2xfmr4w0w00sai5sh5rx";doc="1jhyfpiyg3007p22jfwkdfmnbnwwax8rzym30pii2bkx6n652p4y";};
+texfindpkg-67027={run="04igpv1y8gw945z4abb0wi959wq9y0xwzk7ymlr09qs8zcm0xv6q";doc="0gddmzndg4cc69173ssp4ncz0mmcw575fffanmdxp7y5w7ggrxb7";source="1vjbmin6jqv4k7qc0l8gd27z8gk6p87pw35rgqp0f3h0pf3r62b5";};
+texfot-68110={run="1yk59iwj4wylhagrlpasy5s8x24lvfab9xg8xz2hz8d3khai1qzd";doc="0rqhyyp6da4fkdfqa1c81jaryy29mdgm2rzml2hklp1mkxkw7k19";};
 texilikechaps-28553={run="1z9nvv2y2nzpkpxyf18p426wcl0g6gbg7qppq70b285kdbczbijd";};
 texilikecover-15878={run="04bljvhvmrxh1a4sfqw57yysaw03c5ldi1bq63mlqqvd9p3hmyck";};
-texinfo-66356={run="1wdrqwksbhxxx275mzhcr3mc67f76nbflplqs4y1xx67iw724dmx";};
-texlive-common-63925={doc="0z76di99n5f9frqcn9jmw6vi1whdpvspppl9k0ikgiahkqb5pa8b";};
+texinfo-68342={run="1wwzz52da923022bg9cqqcwny33qsspf9hfaz1zgrmxw5mi2p879";};
+texlive-common-68510={doc="0l4yicbx7n787xczpg0lwsxlq2cavhswb0w469gc21va59lki3z5";};
 texlive-cz-62854={doc="0wkf0g47wj7yqngxmy5cvjic2gcgy31pry4810cgklljn7pqffxp";};
-texlive-de-62234={doc="1xpqlz6wmsn7l8z66ljiix4qbmqlyg22wa7k03pxq12h3i7ad2pc";};
-texlive-en-65770={doc="05i4ggfi558frkjhxrrkjzd3x8ff1zm2qk056a23v736a5hg9y2m";};
-texlive-es-65640={doc="13442kjpprpc1fp9d6i1byg09vx3i98gylc81xm6k14pn2vy14fw";};
-texlive-fr-63071={doc="120jahzjmak3shjhiy81gv6nk3c1hv4rrxyi1mmzi1xklxjlhl4b";};
+texlive-de-67108={doc="13k76mqf535l8y0pk5vvzirnicxajnq5kpgywp2f35vks362a8pl";};
+texlive-en-67184={doc="17fqvsdnil7chg6a33sy7sxmdh23jyy944qznlfllbnzdpqc9cxx";};
+texlive-es-66059={doc="0crlg0madfm3gp54rh4jm0q1x1l7mvn3l82swhdxab3pl7zwmq34";};
+texlive-fr-66571={doc="1d48jxvrz3dxrbfzj5pygi2gd9bzjvrch8728pbc7fk7xbimkafx";};
 texlive-it-58653={doc="0vmwn6n8bxpzcfrzic5qg5k2vklbm6rhl9861zxsli0rd9396qn6";};
-texlive-ja-62817={doc="1h2rv13ip3bgmfz8q64abqx3ajla9mc02a50xz1nzmng0rmgz04r";};
-texlive-msg-translations-65889={tlpkg="03bshv5xacw01ssbpd5wmz4ryym3dc27l8mwyh652i8gd2lg0scm";};
-texlive-pl-62841={doc="19qab4nd9z87v9dpx7gh2a87rw8k4x6kqzg5yc7wqmf46pfjmpcw";};
+texlive-ja-66482={doc="1sbv761vh7a25lpk1h4b2ar6w7cqjmafv1kbl8dwd47hnsjd7xk0";};
+texlive-msg-translations-69346={tlpkg="0l0w783z2zbb24jlqwxjjiwmfbqys3g634ymk5qhzck5w7wcwy6a";};
+texlive-pl-66576={doc="1id4kngpwqs53zn3pqj0hp85yf6rvha17dyb4s0m8l66cj2rzyn0";};
 texlive-ru-58426={doc="0c77yyfj87fajran8jppj0x8krk6b5195iscpn8z2n94spz2fcc9";};
-texlive-scripts-66570={run="0hl1vjr4hr7q7s2pvizicmabb185df5rl84cjsz0ki7vai5mh7pq";doc="0zvji7w8zvykmy97yim0yx0m05pazg0f60bbls0lb3mnx7rx8imj";tlpkg="07b68n9i587v247hpqnhwi052iczwg15z0npc1s5g1yxriy5k1lf";};
+texlive-scripts-69407={run="12y5mpwin93asvl0anqs170zixvb29vjakwgagvylhg1ns27lrdc";doc="12all49r6n1yc3jxpkc96gx17g5zfbimwfmb5d7s55vl1c88zmxp";tlpkg="12scd4svhgnvp65wkv3kd4iqppahcg3229s4qfkjwm3jb1zwslxr";};
 texlive-scripts-extra-62517={run="193v0r4i3p4psn5b4q0ggpgaazwn6jadjlzh5gjm3igg9k73i1wj";doc="1izzy295pmxrg0sf2szxxahxm6s8bfi960mbs9z6vy7m5j1szxwl";};
 texlive-sr-54594={doc="0icavs9jkcr5b5cx5kv202k95j0ydgby9lqrw8wm9h936mbn9bkj";};
 texlive-zh-cn-54490={doc="1r8n9k1cy7798g1rg1hyj6g945j9649c5hhqf8hm7a7abzx7w6ll";};
-"texlive.infra-63645.tlpdb66590"={run="127ff11k8hamywgvvb4apbg1ra64ig7sghg0qqn8c913mqgxf844";doc="1c9xqbbbn2h7v76kp7bhjwk1g3zzykgdrkrslrzrrhs9x7laicl4";tlpkg="0msr7i7vp5wf63fkjmmx0c2h13ky17j5qlrq7rbnym732ryzlx7r";};
+"texlive.infra-68903.tlpdb69413"={run="1ig9nsyhhgv9vr5hhvzj3asqz75fdjrvgyj1s2z8rbng0y45x8nv";doc="0d6ij3bgna15i5fkg4xwi7155wz891625sy6qh4jfjmi9sda9p2n";tlpkg="07qvyhgbbl4cddhn4wqh1ivp1ifpw5hwv05xywl62zc1swag317x";};
 texliveonfly-55777={run="03i9pzqv2dz4z9nlq60kzwiyfvzhhaalhczqa9146jp4wvcib9l3";doc="1fsabzkbcrk42rsp8ssx0kvap31y1rqnkq582129946q3njvmylx";};
 texloganalyser-54526={run="0icav63nll0lj85cqlbg1lx1r6ysjf1lyv5bydxr3flr1c7yqx2r";doc="1s7952n2brrz3s1qca9r5qk8fnjlmrmrn8b06dhjxdb7wdqis6g0";};
 texlogfilter-62792={run="19sxpfyfp2knv8q13sgka5kw74vplr0fnf5c9m599h5kb7v4pcys";doc="1wwhdm7b2rwp9qjpivj3wflwf6q4lcxbc3r52g9c68w7d492v7al";};
 texlogos-19083={run="0rp4l8da3dn6djdjajavxqr5mmi3fsyadcqrpmd9cfggdvb9i8qz";};
-texlogsieve-64301={run="1nva2ccmarr15yrm4hiak0z7gn5z60nqhj06fn0n6k4asf9i09k8";doc="0i545ihxqcn61hw4vid6a77fkpcyq8sn6qy2hb4f7hb4d3zl7c1g";};
+texlogsieve-69072={run="01l0i7naqyjf5nafk0bzx3i9zvcqphzg4wkbnb27ghhwarzibjs4";doc="04r1cj63s3rh97z42fysr27drximd1a27ksvm434aiiqz3niylld";};
 texmate-15878={run="06hnwj11ify60gx92zqky28spdhppgai5v08l73kiabrryzdn8w5";doc="13d6rlazx3qx9zwbb60z1f6dk64n6rph610s97hha5kpc0v2vkm9";source="0faabcm8lyfvzn5jb7vbpkpa31gjb1czkr0g391vbdmx9lrllxar";};
 texments-15878={run="0vhwraxncqx74akzmjcww4akisn3zjgi5b6ac8c350flhl0nsh5p";doc="0xn17gjnb7n3ryc28p8vg2hshcwa660482pzm9byq8k6s3a78yny";source="1kq5zw31sv0i87h30ahyasqy1qh4m36f0j37f8532s20n5llcq0z";};
 texnegar-57692={run="0qrnysss751vsbgd794gwh8lwrq6gq09p55qkkfngc5ly29icx9c";doc="0jidhqlklr8yd48san5iyy3i5pxg8lygf4xi0gcp3ps7xcb0m5g1";source="1bayaa5vffnkmvdmg64q5rsnh69grr8qirwd41mlfi9symh9gm2j";};
 texonly-50985={doc="0h40f8hj03ha0ilpj2fx5kzzvdv0yplmr4528s2rmmy62l9kgdkd";};
 texosquery-53676={run="0jszy2f076hrc29kk8qcr9616hyk2cvys3kg2qfhvblxf07ziw62";doc="11rz21m720pp97vb457pxaq5yxf3j4v8vfcd77w0bjpc632lh1xx";source="1q7spgr1xk2lnx2xqksjh979n7r2v1n1441fkrc479zyi69ncn33";};
-texplate-61719={run="0bh1yhs28wzagh7i3sraki8ygd1kikcmalqvksilmb7j4s5c0hhl";doc="0zvrsllhb8fkk1wzg9mylnjyvb7pjl5wvd3m899j7w9cp5zl5yvp";source="02wc2aiqcrrgc514pn1m7yn1b5k6vg1p8d92kk99pkiz46vxnfj8";};
+texplate-67201={run="0bh1yhs28wzagh7i3sraki8ygd1kikcmalqvksilmb7j4s5c0hhl";doc="0zvrsllhb8fkk1wzg9mylnjyvb7pjl5wvd3m899j7w9cp5zl5yvp";source="02wc2aiqcrrgc514pn1m7yn1b5k6vg1p8d92kk99pkiz46vxnfj8";};
 texpower-29349={run="1w1yn4is019rjnj137ckmkas48xblmhpn0gvp8dac2hmsvqfl06f";doc="16j3xy98k9hb3p7bg9inzqmsl07csa6lx1lgym4h6rcjh247llqn";source="0nkbapkzq4knxhs63fiqg0rcxyp72vmd35jz46dha87s2v5w2km5";};
 texproposal-43151={doc="1yxb3yagljsdp4s07fzd6498889i7cscch68fb77jbfc2z4srvsy";};
-texshade-64242={run="0mbxv0y7m0hibfgy1ffhsmp570jv87r84l7ibgl8anwcby8r3mps";doc="018kqz80pyaz6x0lsr9p2al4fqa9xsf998vccnz1ixv5lhibbfx0";source="0avk1x3wl7n1hl975xj3rzxhdikx3nfmi6i5lzwjy9rcf77j1s5g";};
-texsis-45678={run="08sn35x8wab41mdv67ra3hahrsf4v4brp9n5z0l4bk3k27rl4q0m";doc="1bgngwqj3kkr196sp8i59yrkqpambijr4a54jfrgxb6595hiadsj";};
+texshade-69371={run="0d5panq1z0fpi7rvwp9p2pahd7vlb3skgsw9zq4rhb9pirawv3v7";doc="0bvxfpc2v8hph04kn8a8rf5995awp8c3zc5r3ddnghcidn83xsny";source="0ib9fs5391pjxh8p0c6bzvxmgv03y73qgdpjdzyadbhkqj4kkdxw";};
+texsis-67930={run="08sn35x8wab41mdv67ra3hahrsf4v4brp9n5z0l4bk3k27rl4q0m";doc="1bgngwqj3kkr196sp8i59yrkqpambijr4a54jfrgxb6595hiadsj";};
 texsurgery-59885={run="1f2m8b4xjq38j6q86pfa4m8f7z4sqyfblxpkkljppiz66cq9gnpy";doc="1zpilg11flz7z6pk7zhpm5ck39avh24na2jpl4asnnznaf5bzfjz";};
-textcase-63868={run="0kz6lq6iv9qpqa8pfs6bwxmafgy9c31ywrwk7nvv96hy198dqbzh";doc="1419lkln58nxwqspfwxcxzzmqwl384z7kg3ghlm2xxkz7426ncck";source="17qhj729q5b54mddbvqys5wvkmh66c1nlagl06nmgz728cc18xzp";};
-textcsc-64935={run="15mgpsgjhhp7hxyllmwfb6j4sx9h5r59pdrlysvivq8vf66zb78a";doc="0c8iz090fx551ppayx61f72bn20v3mqillp2wapajdbjnz3s082b";};
+textcase-67755={run="0rkhw4rai08n52ak4acix224cwj9fzpl1m4qcxzql9cq0h51rn2f";doc="0hw7q77pn8nx80qqvfz333sn1dpx4srf5xsv8vpl6q1akhrk5f84";source="1bxkagbkl6pnlnf9ibs0ics3p5nm9dghyfq97bn32fv38jywlswl";};
+textcsc-67193={run="1zx7890vdwghxl7g9rm9fcj0v4h06sdbhsscwyp7wjmf35k6awm6";doc="04gh3w1a7pnw1zja7gg01xda0f15s1918v5m289ax22j4x9g472a";};
 textfit-20591={run="0vmffs1a9zspg3hcnd7p0mffa0cw4nnbx8s4vari3n8npmdxrf26";doc="0dcb63v0yhlhvjmcbsfnw3px6qizmq95rq67i64dgks85d4dhi6m";source="1h2yql1gy6hvwv0rirm9v996j3clrywsg9dzgnvrkrvnkf1b6dqi";};
 textglos-30788={run="08932gszahdc5q6pckg9q8bdxs39gacjw9cljjlvghs8vn7jjwjj";doc="1c88my4j07b7ihn07bcii9xxckdv04g3c6jycm0ffhjffw4p7609";source="19hc7lalmbr85pbz3pd3dm696fsbdl7y8v9g1c4l2k7b0i5mc8zf";};
 textgreek-44192={run="0r7jcv38749xndr6sigy8zw96kwqw63k4m33c09hikawf2728jzd";doc="12pwr5b8269hrwgpr9g4chw273wv81cfa52wvp3nhkd2cvbhfcp4";source="0wq69l55462snrkpbpnlg03mrn2yxvibw38lkplgfc65gzaa07sw";};
@@ -3715,10 +3811,10 @@ textmerg-20677={run="1bwlcaggagg811sbsi2wrfsz31rd6x92m47aszikmkzfzx4ina7k";doc="
 textopo-23796={run="10g5i5mg9898q091w9svm7gk4hgd6dja3dwy5dwc7s78pv0qcd68";doc="0r94ivbqmvs9lyw1ipwzcb4f0v9npvyfll7r8c9g627ikk9fmpa4";source="19p7sgz34dkvjqkld38x8li539kx140w1nj9l3ai5chilxz4lvy1";};
 textpath-15878={run="12f8qn2ncw0drx5r48ddb0xcc6fdm7jpmv5i1n0ihfcqaqa1l8xb";doc="0qhyflskr978qp01apai5r3qjhsj5q4mrvwck60jr79yasxa109k";};
 textpos-63967={run="1mhbsyil3ldw4xq40739pm7995d7fcv050ra4xjnaqdf93cqr2gm";doc="06ya6i8qkp823pnh1jzq30wi3pnww00jw48lbk6rzvxzyhwxrzdh";source="0vhyr1ljhi5dxyj90zhpr8x7h8rjn84pddaa09al69awlgkihclf";};
-textualicomma-48474={run="06myfm4l1k1ms5bmgswbqikg3kkrz6qah97ncjv0s32inkqjcicc";doc="157m953qh08i0a8lhrk3228ir2clyk32zd6x9ar2fgbkggjll9ch";source="1zp5qj4b8fn5y8a7aylz7bpkg6jnmqifral9l3h5g8ka1727ng9h";};
+textualicomma-67201={run="06myfm4l1k1ms5bmgswbqikg3kkrz6qah97ncjv0s32inkqjcicc";doc="157m953qh08i0a8lhrk3228ir2clyk32zd6x9ar2fgbkggjll9ch";source="1zp5qj4b8fn5y8a7aylz7bpkg6jnmqifral9l3h5g8ka1727ng9h";};
 texvc-46844={run="12knhsx5y5n6wlzlmzvym6bza5dry1z8qlszka0f93wx8hpvk7cg";doc="1852x7zd684h6jjhq3f465z4q7d75871hh5gc8abvdk9p6srnwsz";source="05532lckvznsv4slyvsn4jrv93y4gxbcy3q3r8c7g0lgya255s9q";};
-texware-62387={doc="0zbx2i3hran98pj0n0l4q9029lxj8cflvx7cbhbv9lj04k8lss3n";};
-texworks-54074={doc="0n0ydn8v42q3wcxmhjv5nwmmzf5yfg77qlc1v5bmkpb04dn4055y";};
+texware-66186={doc="122r0aq02vwx6irsnapnfbvhgy5d09x90rc8zc7a0bi7b25bxnd1";};
+texworks-65952={doc="0n0ydn8v42q3wcxmhjv5nwmmzf5yfg77qlc1v5bmkpb04dn4055y";};
 tfrupee-20770={run="1q0z0as8gd9qb3p10rf5kwzljg5z790cgmxi5dbz1piy0lcnj4hn";doc="04zmcfp1xqq53wl41rw199yj47nf7l396qcnsp8dsrvf7d0n0pfc";source="19bgxgg9cdgfdvdr4kzmp4na0n6p28dq0iq4nqi849j4ij5lwmnj";};
 thaienum-44140={run="16awnv395nhgm8s3n7w1x7x0h32033258bb0jp81v5nrnmn344wi";doc="0jvggbnxinc81bn8glmyli746asqcpclgmvyl8gzbdarrnabij3b";};
 thaispec-58019={run="1inic6cpbf1kf1hi6brhq5fj3fkwn95cvgjqwh7bxk9dxk1rzsh8";doc="0ki2jl9spv70f5hkzr762nkcylplb9z70c8gdp97whqg9l9mb8bs";source="0j69dwrn3qk82xgnwabq30ab1pf4xs3sfnxgnrksgmhd0ly4lpjv";};
@@ -3727,15 +3823,16 @@ theanodidot-64518={run="1f1ixiqb6mn875rahrcl157y3bc6dv2i7vks7vbnchppjbfgk757";do
 theanomodern-64520={run="0w1ybshhj3y22ysymxg27apmblqxwwp193q81vkykxjrf4qn357p";doc="1a99wqmfr3adqm7rhq58kjg10q9bvf0gj44ly21nvmdl7wa0qjjl";};
 theanooldstyle-64519={run="1v5hkpspzjizpbcgbr5wjikwpvslq02fahqbdjpycrpl2q3zlc4m";doc="1wfqvav0k9vz7bs7wdh6fppijq904r76r6cwg8x5ffcv029l75ir";};
 theatre-45363={doc="1nhm56spqvryhmhwmzly939mzv5yv3398lh2lyfhf40rr02mzgi5";};
+thematicpuzzle-69356={run="0cxgvzld08bmyl89qvnkqf285qfgyhdmkq6aq8sk19acr9lljrzj";doc="1c693zjh4n4gjpkbrvw5s29r55b350mchby88l7pakhzzk81xxfx";};
 theoremref-54512={run="1dfv3pz7pjkazp0czzpzhga9j201gwvx785v3qvqasrvpa0vwyyq";doc="0zs8q0xzinp2ih68c75yj9mbjh1pmpqc77xg9hmj8n3gpf1kmmi5";};
-thermodynamics-63188={run="0774lspvcrbwqz68n2kvx4153a10hwi6p23cmpap226v1rq8zy0q";doc="0im7y0qrl556l70yfgxgmlv9h5zb4f0hgga79ig4dkd9bdvc12xa";source="0gjh11bsqy7zjmvz0n0316d1jlfnfx4bg97qdcv8z8m9a5rhhxcv";};
+thermodynamics-69086={run="1m7lhcbn6ynxm34y44j4hwb0y644n2vlm0r1yc08j1p9h27s6zym";doc="0knza3s977z4vs2cdp7ykk80104k487gbs2f7aa3qsbxqfln3jrr";source="1c1xs99a599l8km9x0ckcif32gg78j8pgva2axdrllws36wpn2j1";};
 thesis-ekf-60228={run="1r2fgq9ralrcm00gz0lrxm1f413pik1hill8x8nqfm9wzif2dd9s";doc="122vzng8dhsrpixwn40r9ddczqk9igmzi300hmbymy2b4ydhzc3a";source="1nizsqbj6nbf5qk54vvldhb6flppyn29i058jngldqp43r3xq8hy";};
 thesis-gwu-54287={run="16vb94z3svvnsxmv43d3xy6rz8ki3dmk01iz553q949f4dfig1l7";doc="0xfl7s0i4ni5lwxlsmlldl96jnhfxjyay99w3qc3vc4az9vdqfmc";};
 thesis-qom-63524={run="0lsi7xy3grxmwcj55s2m0cnkqr6544qn40k5jrj6himi7l1p82b9";doc="1sppdlgr859hnfjhjlsdv8shwzi5gkgmv10s8f9vh646cnqp50rx";};
 thesis-titlepage-fhac-15878={run="1s9g6h020ahv404mxsfvqic2im68qnvb425cyvz0bj2rwn1fwnc8";doc="0pjvm3d2l9715q50nbbza5l6vzhj6zaf9payimk1lr6k94357v1s";source="0bhf68pc8c41ih92sajva48m9fq7a05x4y9qqanbidvmb6jmvhbn";};
 thinsp-39669={run="19d23nm17nybk0dda4l05dsbs1695fk0kl86vc713l19mzw4l7fw";doc="139v4dmnbhsd3nqlp9qknml0glfmh1f9dg0nnixggf19lsayn27p";};
 thmbox-15878={run="16c6p3n4zc2726adj8z131h03gbzyhmh5bj8hzc286p96131swdw";doc="15mkfzmy0141k5wgspngbwnnldf0i1rvbmq2bkzcpb72v9vcj8fd";source="0lv5mr23wwhig6r9fyy7rlv2cqxlr35y3g89i938w35s9q25xx08";};
-thmtools-65863={run="1nwiv4b5mz42g4x2gi41n02q8rxb6mqc7g84p297b22j29ppcxfl";doc="0vr05h3lyadhca4wnhc4jbna5mzpm5pblfccbl66y09g35mf784b";source="1dmw6rj7w97d64g8fgi3qgmsgy3065d6r6bmd30vj57pqhb5dm37";};
+thmtools-67018={run="0msngnpdpqpw0skchd629v72wnd9pn8s1jijcyvqzwy88k8i8f2m";doc="1lyc17i46x1v7xhxl7qf8hpjn3y9r7da4lycpsfijmlscp9q3c3y";source="13zd5sx1nh9f61jwr2raxkli2y42w2dr23j5yjjfwfk65pd8bfq9";};
 threadcol-28754={run="1whvgb3901wciijafawy5pgnr4adpix2a6ph2v52kwglg68s2ixa";doc="0dky94vqbqrba5hsvgs1sllwy6cxmr6mlr6zv6qgn1yrrmjxs0by";source="1qd96xl0h8bnp5mqbh8mprdfbw1bhvp60dhj46hqyl4w7f61jj20";};
 threeddice-20675={run="1r5cssaj6qxv17n04pgvib12a7b7fnxfk3qbf87mhs1xpxsh6v1s";doc="0w7f2dfy6sbircp8dbw8s28s4bxbqnmz469c71v3qcaw6hgw3y2y";};
 threeparttable-17383={run="043vgdllz4k8fcclyw49515rcwl03albnmszbqi7sbsskmxnzck4";doc="1mlhxgv9q1gnkp383vinybzh95fd49dgz4x14jnjilhjabvhgyid";};
@@ -3747,11 +3844,11 @@ thumb-16549={run="1khi4j0as028c7fhzkdc6dmbgdyj45lbasbv4ksnxmf2kylmbhxz";doc="1h4
 thumbpdf-62518={run="1zj2733wnq4zydf22qhza9j0nywh6fmn8xd3dc6nwfzm68pdn9ic";doc="1fpbfz855cgs9gdvwqbg9pb3i3yl2xagmxbf25mra08ii17v3pf3";};
 thumbs-33134={run="15k7rn5fygvsrjln614jndldmq47zq75zqlv71f2gvr8nqgil93n";doc="0c70k96v2m6nbx9b8qx09pky9g0s0ipqsxy3fsn8spjjrqkwk0v9";source="1ns05c3ji4svj4x9y2qy9hn0f2bvlllbvg98xsr2xv7gylr2pkmw";};
 thumby-16736={run="0q3h6cwbw90adw3c8ggyb707l23qvsfl3dl8zrzhg78dm9l8q3gi";doc="1v1934z064ar7zgjpnpxvmc7bkaq080h0hka0snkj7kwqm6sfry7";};
-thuthesis-64628={run="03x6rrxhf3nwyy6pdn4382dspvgkxr67yyjvym7ww0v0l16iij16";doc="17pwhwzmmhhn6skn7kalx0jb4wddnljmnq4yfxd2nf6mpvcd2nq6";source="07d9ibfnkiigylz5b11fb6f57ciw1zazfagcj95n6qwghgs54zxa";};
+thuthesis-67127={run="1wnnl59l063ykjlzl2ln781w56w6s5wwz6nxs3wsx9inzn4dn966";doc="13a5vrnfnhhwl9kdjry50rs67kmcpdz7yh0qvfvwddv5kndjr0py";source="06ys99v2865pyc5xfrszvj1jc6l4kxgi37nih3v5s2a4k0sp3hnw";};
 ticket-42280={run="0qpqzff2hj01g2k8nq9vc91l4zvg7kx4p7nf0gd6ji9lf0q5caaw";doc="07xa7nf2qgvjq5pzaj7k75wzg2ldcpxb47ypx53swssz277ixvp7";};
 ticollege-36306={run="1mivwaf3ngmdr1zdkl9xif1rl4fy0b062r43064645idpkk4120d";doc="0xy35cggk34ziagi1m60ymckknls2wwil0wdzlswn0aw2zca9lc7";};
-tidyres-65789={run="0pkbch6z2c54pmadc8f045zggz4rjpbnf3aqr25lwjzkcys6y3lw";doc="0ip2s1f4mm959dm769a14xrnfjgr9y10ihf0213smagxa2lr4xaa";};
-tie-62387={doc="1x506bz3y2vjii6skayq67407v8yhh0h103j9n97sky6m4qizdvv";};
+tidyres-67738={run="1lnymwa3hbfabxigxfqkhmczigswqn84wdw8jdzj7khsv4zm47rk";doc="0gb1aayki8i14i9zl450jmy4ybbcdnv54l5s1b34ma7vw9nbng5g";};
+tie-66186={doc="17z5ik7bbf0v5ylq2v1rda6z64iz386vp56z7yrr6h1dl488kr93";};
 tikz-3dplot-25087={run="06ij3bk1aham4iv0wm14z9dhcq1v60qiv9n6idfcmjqz6m05cdf8";doc="1mq9drqg2z9khxfylsgpz32binla5abq88938jcjk9y21d46r31h";};
 tikz-among-us-60880={run="047mfp3z4m63wc4f7psrsi77qpc55drl1wdrk2dlzfykkh4mna3p";doc="1f817bi1m745c7cgl7r0yx5jx22qi6h2xwg8kb246lkfsvwlynnz";};
 tikz-bagua-64103={run="14cycyq0lshr61n83jdzdyjhr20b26fsrp1ximyh1phk958yxmbj";doc="167pi758hdi7chys2rbs1v1lqd5gi2nb1fq244igjr77v1775ifb";};
@@ -3760,7 +3857,7 @@ tikz-bbox-57444={run="023xrf65s1c4g63ggpmsdyckp6zspgjz1ad7pk7jf56zdnhqaxb1";doc=
 tikz-cd-59133={run="0xv75gvwlhax08mp1nlyy2kgi0br7wy7aahbaf9rfbj0idpcl5ip";doc="0dxsixn2n0irfqrgcp63h74fss1ldqlcvfv6d9v61asxsjdrzf0v";};
 tikz-dependency-54512={run="0v471rprwnqlhwvx0lqxvpsgh8ph16lbvrpcrynx2hx71n9daqla";doc="0h3mnxwcb1k1ilw9pi1xcwmryjpci0kwlaqfxx2i8lcggsdrxfxi";};
 tikz-dimline-35805={run="0mp6xg317m0dkrw73609xdn7r9hbf8bdmyp0bdj2xzpynpvxisxd";doc="05rikgrm1f0f0rx7ir1nn4cy3a93bwrck2xqnms26dg4dqddnrbk";};
-tikz-ext-64920={run="06dzrs98549bmc0hhrgkji4lbf7ly59bq63cw3dp791iaydy8d0k";doc="0x9ys9zsai569nahiw7q8nzds5jz295pg9da45dbk3wxpz8h61vz";};
+tikz-ext-66737={run="04ar5xpvxsihcv50n8z49dd76s4vlw401y106yi37x3fsbgfzshl";doc="0aigvf2a0b9lh6gj66gp75iag3ipd1kjf6wv5safpn2v1jfhadcg";};
 tikz-feynhand-51915={run="16bb4h6wbmyv9mz68sywgw18h2dcyxkmkcyjjshkbagimf3ikb58";doc="15h182ywc8ihahv76khphah6awpahbsrdi0hin578jmg1582rzp4";};
 tikz-feynman-56615={run="1kh3riwk5iksldsg6ljk27lhh6fka473k958q9781m65isdzhwa9";doc="0cjl1zvn2q39khh4afzvh6nh8dlhrkd6vn3i8n2ywv4xldpb2k0b";};
 tikz-imagelabels-51490={run="1xg2malb3ybgcvmr1gksgg93i4d8fvr7pqjky1b98n0abfxybxv9";doc="1fqkzfbbm4ckbjpgjrg5fa9ggam2lcy5gzvnhc4njyjxwx1hjcsd";source="0cqcbwccfq65zsbnkcdjfqwj9h8ndjhan1ghnzp9by8z41qj2fvv";};
@@ -3773,8 +3870,10 @@ tikz-layers-46660={run="1ym859l9bzzd2rack9kcbckzbpmqxyglaa0jggpf3hlbsgzy33h6";do
 tikz-mirror-lens-65500={run="0lpb87kidq5lrl79hzjss78qy5hvag2maddvwkh8idnccr06awbi";doc="0q4rp929pq600xi78yp0siagzxbrhx0cksqplr0h7xgn74yldrs3";};
 tikz-nef-55920={run="1i1l0rk7k6kc9vyx9jbpj25bkl77ml5ay1wvwff7a51rr8c87s99";doc="1nsbycqfai72xbrzy6vz7lzpywdavbcyz7x3h1kfhby10s2h136k";};
 tikz-network-51884={run="1mf196mmkg097slc5aslpjlpih2kdq5wkmcpznsyhg7s20mf11yy";doc="05dzfw2x5j1i3534qmhp6wcymba5mwilv2vf7vrw5fmrgd4h1gy2";};
+tikz-nfold-67718={run="03q6hj8p7p4f5sa6ipsw456q5g3326kidkmsiil0sjprklsm3w9i";doc="0xpc9nik5m90kqrpmg254mcpa7qca0fl4n4832pax0j59g9f9z1f";};
 tikz-opm-32769={run="04ch55a4jvvif7c74s8bbsq0bkw3v3zjh6wdlmij30cfyxn114jg";doc="0ajrvamsj1is4lh0xf25wjylnjg8kd02b7kwj40nq1kawnp0hlxb";};
 tikz-optics-62977={run="0r5z7vp05s92hk87m01vcxfa0kkvfmzxyzfx397b3lwmlavzws8q";doc="1zjlpblczvr9390fmz0vh8zf0pbf1zc4d01l4ykhdpvljf7ndrmd";};
+tikz-osci-68636={run="1rxkdljz3lq6lnmpr56wyb7zkxrcjzkg6pi3qwrgqcz0njd5d7xl";doc="0sn7qhv2kdkiivigbkhqqpgj2kki8xydnkagmrbk47s3bnvzmhqz";};
 tikz-page-42039={run="0971kcdlavr24lkf9wdzgwb97cf952iw1d5ls6zz7fsfj6pigqjn";doc="19g4b944wzahnabpw2kighd1vr63c7im3xgcjz3l53yrz89nhjmk";source="10v67pn2zvpxl3817h1rvn0y4wb7dj07p4nv6wf1jhchgvmb8bdz";};
 tikz-palattice-43442={run="0pfp30l373li523l0skr52fa397h2wkizvggsls3kv3p087j16an";doc="0krdfwivibibgpxsjnlsl11yppmsynanj2lgf892izxj2m3hld7d";};
 tikz-planets-55002={run="0gjkapcls19839jrjimshd3cqdl9x0ld27i2d51s7k8f0rcakkmh";doc="0xx18gdj4r9jj7qvwlrd237nhcbazprhqgzn6m6cy8m36xy6yc09";};
@@ -3785,10 +3884,13 @@ tikz-swigs-59889={run="0cpmk783m9qf4wq1qsw4hy3azjlx0r47ya5ijw4ss3l4nr8i710x";doc
 tikz-timing-64967={run="145r878hxqfx1sdn4hdagmcnfx8xqcihfz775zabn5sbzki87ywq";doc="0na0rjgnala2lyww8chnkqyp26c1y2siaj7gqh6h8fjpi5bpamdf";source="17wzwm58194p5jlwb74z30864q7nzg9fi4q4dbcp26b3p6kn5cxs";};
 tikz-trackschematic-63480={run="1jbji8zkqjwpf1bn25p415n7cwz0a5q2606imyj8bbxdzp0r8y23";doc="1pvp3a9pgszgb2013gkh1z1fm8hpxa4z6ssmr1hwvwj7y48399bv";};
 tikz-truchet-50020={run="00yf9044lpsazd8wnmcz39lnazrxpqd7lpyr8ss24gk9gm33b563";doc="1vlsyyh7xj1fn6wkafh7ps4ys439n1lmvmgk63pya18laxkphxxk";source="1zbp1xb9sbbnr4iiqgg352ymn9ybfmkwmwd49r1ws3w7iy3qdvrz";};
+tikz2d-fr-67239={run="13mzq1azxi34lrkm4rycsfhbcm8cap8pzam8gwc3vfa5sygkczhd";doc="10lv2v9j65bq9fj3yin86hbbj4bvlygqc1b2sszjabsdnmzbw0yd";};
+tikz3d-fr-67774={run="19js2ypl2xlzqb2rspvrx1a73w6wl9jcf6pcm2b0i19rwfp93d39";doc="0kbil2rvy07rdva18kb7krd49mqcrrsbmh2mbflqxagycpy3vf7a";};
 tikzbricks-63952={run="0k15zgfckasxf9zbnh3m4bhwa22pc1rmx930in2k9qskqx41rlrz";doc="1dmnx38k0b1ivs8ay74yhh3pmqi3m9s12cxakfhnw57ipkpp6af3";};
 tikzcodeblocks-54758={run="0q10q8gfbdw20ysv40pj9c1ks4mnb4dqvvz39fvyji3f4s4xd60n";doc="1imd5qf95ykqs89zqb32yg7p61in242vkjx5wv6r2xh2dkjpvv9h";};
-tikzducks-55713={run="1sdryfjchphbk6w838pfn7ddqxg5gq4hgh4k7b8k99avnxkckll7";doc="14rmpx2xwww8v0lpdgv6nz0kp43w1wlxzpr3i11gi1didd78nbm9";};
-tikzfill-63947={run="1c4z86r4jhygylysqayainpz5iwyrs3khdvwwi2kmk60vazp4x36";doc="11p6afr3h1y9yqfsb7dq0w51gjpgc4vc3p3y9kwcn3kwnvygqvh4";};
+tikzdotncross-69382={run="0vwxdha9gpmdv4l61wdfk5j3mi2facrv3a3azkgrfn5s2pyf4m5k";doc="14xwxm1ckicip2dwc7925sfdnlxdwry7h12fixs1g4l0vmh4bcim";};
+tikzducks-66773={run="1mlj8h6wk80pi8vi8ggj30mg1gcdwdfncif53p0mkyvmvjfin3px";doc="17c88srkb48y49icbqv85kih5qd2r222559a6g6xgbqvwa3yx1gq";};
+tikzfill-67847={run="1igbzzpx6rwqklhnalzpsb1rpj7l4mkrhwblp8k732nfqvj1fn0x";doc="1dl033xf2waf0j40c4whci5qsyxk4346353j43vsrqy7lgsh557b";};
 tikzinclude-28715={run="0s0mhfshfzl28z6lgwn7f540pbmdxl51gqf7nw1s88738mx3m4z1";doc="11jj75nnzw9m3i6nndbfscllfxzn5bd636s85q17gds03jbqkhfc";source="1v1bvpfqhvn3hp3zjx3sqv4kg288aviy1b9zl3s8r64zmai86bfy";};
 tikzlings-63628={run="17wgali1pawsb6kz2w41a27i7gj1sm4h8ay8i8q967s8s07kxv5p";doc="043sia2hyynbwpgh10dfca9gyih97z8hlxpi1390a28wnmyvcbwb";};
 tikzmark-64819={run="1p73c3ivn3aamrzzzw5y4fmkfy7s9qnvw4q64jn01qxzzs1vbhdl";doc="10fwszi7wsqrh6kql40s6w4y0jji8v0q41bd684cravhgg0yjc1p";source="0mbk2xvqjpn44skvdgjq43s1j4814sfn57xc1ishcwrrmidy5pra";};
@@ -3796,20 +3898,23 @@ tikzmarmots-54080={run="1m33y48cs82f2z19gwhr89qyaa9n5qlrps9ash5ijjgra9dkfj8q";do
 tikzorbital-36439={run="17g4bd556kkhrxir4c2q6f7qxa8rigkf41dj979nb5k3a7w4k3b4";doc="0h1s5dnyv8n4hv608c5rspdgy2h10ilqknddai779h9biwhfzh3m";};
 tikzpackets-55827={run="1kidqyd1d7wvs1f3cp6ixp397ipaj7jd19djhy3q4dvbnzq1xm4b";doc="0rlpz3m4vsyin6ckyjkxjp9a40gxhhi44z18hrw2blmp0mg011v5";};
 tikzpagenodes-64967={run="197sijaabaa3sf5syasf4ciwz8hkgy2pyr7lp78gzhlv950drghh";doc="0y9ik1r203inp74hx4xznkypw0p88zhg9fq6b9205i053vvla239";source="01bjvk944nlld4zbrld35n45dzljqf1rng83y14ipn3wcdxa0plx";};
-tikzpeople-43978={run="12i0m8jilbl8ldji9xmxm5hgsl0bd5vkjly1ykmj6w2rzgmjfbbp";doc="1a3cjadvnrv9hslwgihxv8z16awkikinv44zcj4fd5drnqjsvcrq";};
+tikzpeople-67840={run="12i0m8jilbl8ldji9xmxm5hgsl0bd5vkjly1ykmj6w2rzgmjfbbp";doc="1a3cjadvnrv9hslwgihxv8z16awkikinv44zcj4fd5drnqjsvcrq";};
 tikzpfeile-25777={run="1rwv1i6yb0jd5gw16db3kqar4ykzbwcyw51hv781iz358hgww5mc";doc="1530vkp14lpv0hnv8qcxalibsi1pkcj9xp1pa87lisrillxs7kwb";source="180cp8vp26shmnjxg9qs9n28v4xy0qhqgm1bvbkqrpagykzzhsrf";};
-tikzpingus-64199={run="19f6drnmhkm6h3ga4bz0ifcb1jgdsm3rrgrwjs3sdlylr2lfi1yf";doc="1xakjxabm6vb0gaa5li3j0j6xyydk54h07hr9id43ibklrb2gavd";};
+tikzpingus-68310={run="058v2b6scnz31p0jzk4i1i8v6a1vb10fd4kgi0izd4pw58cjj31f";doc="08fi2mlzwvdx8i4r2hf8l2lx7j6b4phpm8ihwklfi49ha5i0z2n8";};
 tikzposter-32732={run="1r6pia3sjl9xcixnsr5pk8cma4f18mvpn60dxmpzpn2nn1sk4p26";doc="06vy5vmzrqhl6zk6z9a4kyqfvjqc4s9pslvl9zfl17cdqsfvbdf6";source="1idiz8izn9m9h7kyiavw836v9x1vzg58vap42wpj7yd74izwvf1d";};
+tikzquads-69409={run="1a55w1apikxg33n35wwi3ffafnlhgsnl5w6fxq9qin77qi5rq8l5";doc="090fyhby42m0zlx28vm9ix5pjgkmv7ml0ja6w1kgn0vd63q02i4c";};
+tikzquests-69388={run="1l1d23ky7pvcj6j1g52p5qsdy060qbjws4fp4i7j38k6dvyrw2pl";doc="1bvjy5ghc0arx48gxc3sz7z1fz02vigg5cxc1g75b6pcn1l5x9lf";};
 tikzscale-30637={run="0h8hpk0nv712vydxrzyhvqxrrqb34hw5qjgq9baagqj42ka06qfg";doc="02sz63v9zxr58417jn00ypm3myga7x29q31xbnz7p7mmq5q1r94h";source="0rf6rsrcpapmhz3q5wkgcivhvswy1kb3mql94xs372qc08bxsi3h";};
 tikzsymbols-61300={run="05a3szm1xgsqj766cwwf8ssg1s2jd0kbvgzv6m0hlkvnpig13y7k";doc="06wkvldkiym2xlz47rr4f0nhlbygdqisczn66d41lsf59v8036lx";source="19jcl91qn62hr4j6fcw6a6dc0qhpqqfpzqb1d8mwibn91dzad00z";};
 tikztosvg-60289={run="1gpkypg9j6iz0i0f77drk0p373x2vx8z5v6j9wsb3bggnf00f0yi";doc="03f324pxiwyxgnsvw83wi8sh5ya633a1d6833kq2zl8z1f51vvfd";};
-tikzviolinplots-65687={run="12vmrv3hp4b3dflhn7c2gida4j7m6ldmw7j18kagvzw69wml3wsp";doc="1f5nfffjm1473zzvfnmillkzy0d3b48lcnbqxclhlbrkxp8hiqq2";};
+tikzviolinplots-66659={run="185hmygifmnydjfsg01mwshzjx6d80r92j7bh3djpkslxwp8pdyz";doc="0asisvkbf7gfwqn6wzyjl574kysjz4z088ph4pqggy4znd0yqljr";};
 tile-graphic-55325={run="1l87pqfzgyr8apcs9f2gssf5rh1mvknkr5jim98zj5f93ca5mjpq";doc="0rq35cpk9l7rc30l1hk55r7x07f96ishr3dzdi7x4d50gv7675ah";source="01xqc704g5pqwmlfifzvv61nypgvnabxv6xw7ljgv9vvpyvfh0ni";};
+tilings-67292={run="124gj42waa50pv8qm4zkal8xxr5d0kvi9wf9qlrz0chhm1xk4v15";doc="02bz0wpvzwf4f97g14rkv25x0ifxxfwdkgi3nbv6x2djbm79xjd0";source="03zb3sfygc8bbdl5z4hz7gy7wfnl54sbka9b8w7ywkx9wgymvkz9";};
 timbreicmc-49740={run="0inffnb824kv9lswj46b8p0zb36f4s3pfix4m7x7v0d216xa75pw";doc="05x699cyrkfnygbwfifzz4ih0g5nm7pzlj6ygkh6pysyzxkb5w94";source="0hznll8725wbjmayxilg0hvjw2vf63wj4cxmznvfly9lk8z5zh5m";};
 times-61719={run="13g41a7vbkvsf7ki9dgl7qm100w382mnlqkcngwgl3axp6s5s8l0";};
 timetable-15878={run="1lnl8gi2rrzcy688qb8b1ff9yivwxdqmbcfx2ph49aymkxfym97b";};
 timing-diagrams-31491={run="04yal5fdbwwdq5i7frmvxm0z7zy379gpwbc5383xn0nfdyzrq91b";doc="1w3qzl1j3viaj6qi50qcyx51w2ms23j27p17h526iz11x39w0gw7";};
-tinos-64504={run="0czfddyibqn7g62j3kqqvswwfdm1z6xwv0k0m43g30n8r61a0qa5";doc="0mg2rjy5kk7gd05lp00zh41sxapmm0bvl950r404wy1snl17d23d";};
+tinos-68950={run="0czfddyibqn7g62j3kqqvswwfdm1z6xwv0k0m43g30n8r61a0qa5";doc="0mg2rjy5kk7gd05lp00zh41sxapmm0bvl950r404wy1snl17d23d";};
 tipa-29349={run="1vax0padc42ks1b4rvl0ikfqmb5i04ii27k1711vfdbzmg87j217";doc="0wwnbarpvjcq8ibbn8sr0zqrlg3clplc9nyh46r5gsr06qgd1prf";};
 tipa-de-22005={doc="16gwc0dpdls6s2vdl3hmd6307d88gfzsa3kbw3vhl0z5iawvwj4h";};
 tipauni-65817={run="0qzwx1rd5wqrqwlqrgd7c8czsvr9hy5bb2dljf2xqnm0c1c05496";doc="19azyp11a949kqkwph7b47128fdh7k80lf9ia34ik7a9qw1gri73";source="0m5kfcjk6c0mm40mqbsfnp1ddha617d4sl44dv62nj3rkj3shqvl";};
@@ -3820,41 +3925,43 @@ titlefoot-15878={run="0c0nhhxhb3hmvg3a64lr5npbqsmrmprqqj9pic91j007k4s1in4y";};
 titlepages-19457={doc="17ib7rpb2dhb2m724x66fdzddv8cqd808wxy5kkvx0vb3rl27hyh";};
 titlepic-43497={run="1pj4mavc06r5ghcvyjjhvn7x2xrccgdfjr3961al7420ymaqb726";doc="06s1r8xy54129y7fvzaym2vkfbyw2x31r91i8cyxyra0chzh8ngl";};
 titleref-18729={run="1y2aw2m7jg7l9vcr35nd2qpbafyff1bc8acy2cm9k7fcjm4rcr17";doc="0rv9hsx5p460pa3ry50fnrcb0kf08rzdl7bq47n5nhm8frpmczad";};
-titlesec-59845={run="1xv4ha82h5mqfnfk05n6lifl25kf8zv27ps3mbwwjds0lgw6w52l";doc="1k4z6gvangc1zz9lpd0ax4b9m4wf6g765mgj5wdyjdafxg8k52ls";};
+titlesec-68677={run="0y27npwraxaryl2z7mv0fzkdci8whq8jz7b2xlk2n31slbfvksb8";doc="1yz5s63bbpkiziwggqcal266444nm03fnr7kwan14gswmqqbkav5";};
 titling-15878={run="15iw3giwxg658pzb6basjkp4v92m3qvzk1fcarnzikc649bjcbch";doc="1r75nwakbkwf32qva6icp3pq3y8bgfl6cqw304lcw8p6bih74y5j";source="1jdgyn9zyf5rwbaz004g85rr2jpd5gi5iyn111s0r22ml41ci3hk";};
-tkz-base-66119={run="1hvk92fj8w5lnwi1g16mmgdkinjscpcxbhf0n37sn8l3kpl7m9p9";doc="1lhg3zrhxhzrzav52293jn764kyv0nzb47b97n4v60v3ajgqw5r1";};
+tkz-base-66115={run="1hvk92fj8w5lnwi1g16mmgdkinjscpcxbhf0n37sn8l3kpl7m9p9";doc="1lhg3zrhxhzrzav52293jn764kyv0nzb47b97n4v60v3ajgqw5r1";};
 tkz-berge-57485={run="1c9kgzsagh5ww0zlwywpddwn3mx0wrf8yc627gjap3f7nyyvixn4";doc="07bsfmh9qyn8q9z4brd4si1clmw7sn2vh2nr8idqnm1z1jqdnq40";};
-tkz-doc-66119={doc="00awi2m8ak949r6bxzw1l69fx8gjcn4kmrr0q0yp8qghga40c6n3";};
-tkz-euclide-65724={run="01yd3jrdlpynf6qjknrdi1nkrnzmzhwg07gq4abb2sp52l0d1xls";doc="11kq025mid9phizfknq0yb49kykkzrvv4z3rpp93cfh3nc10qgbb";};
+tkz-bernoulli-68780={run="0ifjig10clmd3402y9kdpyw1vlwk9vjakanjzkzablm5zzdr0qgs";doc="1iv94xglrk07kg3jkdci5nixrz96gwasgg5h0fl345ph9rdalwx1";};
+tkz-doc-68665={run="0gf3zjnqng90kn9341xdchm1diav93qlv2910mrl1cc7vqfp47wf";doc="10p4i3xnbpyhzj32j3mi59pzaisjhj066m9np4ankzizgwv9x5in";};
+tkz-elements-69213={run="1k2ypgil01w9d79fswb1mmckb6iznc0da8fhpqax1lp7pqxhhr6a";doc="0baqnqhlf4zc22d4qh8ikzimhrwqc26f7nwjwmxh4n5k6gwwfm3d";};
+tkz-euclide-68747={run="0jb3cs6yqngv2g30sp5xw69fmy620q40w0d0ny65q2d62s46nrw9";doc="0y7x17i9dc3yxa7amgl4a61kk8b0mbyrn1v7n1bsbhva150087mb";};
 tkz-fct-61949={run="0hlcxnllmkhmxl5dwap1sb2jg822bz4glllqcv59dx7jqab5bv8k";doc="1bjkya9ssr6m4aw6rd64nniwffgz57ikz16ciba2x149f39pkcx3";};
 tkz-graph-57484={run="08kfjaniwrlw23vmz24yq9gbdks9fwcf0g4jyy98ikfqh9phhhs9";doc="1drk9va3bgq62qfkcvp5z30gvnscl7mbjz66m27wmgagb2ki2f0q";};
 tkz-orm-61719={run="020bi7dgjipd2ancqji6fa1zcf9lh9d8n4zbacy5l5nclxfiphcl";doc="1zgmsl11cf4fgkfilflw8c4wrcfwnvk1f88l90hwgclfj5q0ashr";};
-tkz-tab-66119={run="142fjk2kdv02b7whr2m5a53z6b7rhh2zfv2fi55q1sy4xaa1wia1";doc="1p0h1l1jca83j27wa79ncjarczissgp1jh9f9ylqhbi7y5mk8abw";};
+tkz-tab-66115={run="142fjk2kdv02b7whr2m5a53z6b7rhh2zfv2fi55q1sy4xaa1wia1";doc="1p0h1l1jca83j27wa79ncjarczissgp1jh9f9ylqhbi7y5mk8abw";};
 tkzexample-63908={run="1cs6x5v0f4dbwrsmdq6wjcggc87hc132bp0faxd1fqfhgapd00mc";doc="03cn9q2qq04ni6f6kvrcyy0js718bpc3di37znr47vhh419vpc5h";};
 tlc-article-51431={run="1kzizgzmi7swzhjq9dasz392wga0w1qdb4x3x812lbshzg235vyh";doc="0w07p4rv12ila4ix4pymysbig3yl1apb6cxmb2cp9ziwv9c2184j";};
 tlc2-26096={doc="1ysb233rjb8gpl9s35qql1dny5rj6fn8ssy2dqdqsn5xj9pdasyy";};
 tlc3-examples-65496={doc="01ny6r3ycji0af0cdywn2fmxd0fyz3y7afdnn983a5gy1j9rza7v";};
 tlcockpit-54857={run="0sm882jxczx8q4dvqaxnyb2wzlpxd249ayv77gj9vgq4lx9v0l27";doc="0zd8hx3f6jhm5rklhr5dxb84y17p4rbgwa7wh95ab5f6n8i5pgwb";source="0kldzbbyjvj0n60jgff8y6y27nxnzihjyq10gnx2gi62qn9bia7i";};
 tlmgr-intro-zh-cn-59100={doc="127fad3aq66rnn4jkccyw7qc8pdcwapyjb6lj9kn49nqcy3jm6nk";};
-tlmgrbasics-60588={doc="1zn4xlmichd2r6vjcasysk0vd26vrn2drmc4ng8hz8136bq5zb71";};
-tlshell-62795={run="06zjawsk91jknic542k9gw74pdfb1lv2iil09rpv9fw2i58lxsg9";doc="1h5mk09sakbmgsppl9fnry28xnzqya3bmp3r1nkzg44cv7kl98vz";tlpkg="0zvpmmf9dnjz64adb4dn615qyd1d09hqj2kvm898009697r20lh7";};
+tlmgrbasics-68999={doc="0yz7d8dw071nawgn2s38da6sp8zbrd03zzsgisfx7yx9jp0zzbpz";};
+tlshell-66771={run="17nrf6cwxapdkdccqr2sp5v7fayd00qcdczzznl7ppm98rsz9p36";doc="1h5mk09sakbmgsppl9fnry28xnzqya3bmp3r1nkzg44cv7kl98vz";tlpkg="1dvb7jjnmdh0k4dfkm4f89zapkjb31z2364m0vapmvfq4z84vpyq";};
 to-be-determined-64882={run="0yrs04ik67wj1wyn4cl3wfabczvz3ga3h7sfbhni9x4438br48gh";doc="1acxz8nala57gnc78r5aswiwhfvdckmvkv4xiwgcznb0c217wpl3";source="1fizh0inczp818vdwlvyawzvw8s0i48mkpgjydfcmwpsbf8rdm8c";};
 tocbibind-20085={run="1swxyai6gqlz8zjah2qnz9c5dkd1smpk163b56rba0kx7zcmvzc5";doc="189qi2qyp1nasg9w902ydk7rlzxl2qww9w3p5s3p9ywchvm1l9cf";source="08sr335sgs7hrhd6cbdc4dh3f8m9fpplv72fk54y57rx59l8wxbs";};
-tocdata-65451={run="02kjspmrr0wla123az64wxrfzcbyxwp8v2kqpk8c9j045v3vv625";doc="1lqy5qw88n2w6hjgl4q0a47zfrv0dmzipb537skw8xgh50ckkda9";source="0x38b040ldxyirmg8pxpjxry5fdjc91pnldhjhyp13v24514wk1b";};
+tocdata-69402={run="0qf3w3021053akx5fzgia258qw25bi0z8aqi73wwsj1prli6mv10";doc="1zmgdlivs4jvhpr6iaqykdgac8v5lyfp3gy9zd72g9l3s0j86cna";source="1y3cg75lj5f6aana3hjicnrca38bq3nbql8sj51akz509a27yl4v";};
 tocloft-53364={run="1vp3s7q0fcyfj2ksk61gxdjjnwhd62dzfd94yp7y3qfy7x8hyqxq";doc="0zjs0ldib6hm3b9msb5x7r64ddknqwf6kkc9cc82hbla9wshq4qq";source="1764cq3d9ad5gy3qag6f6wxgnna0dhk3rx186jqjpqyqli8b4lgh";};
 tocvsec2-33146={run="157m17r777cfqjn5p4j1rbj10ysbyms87jrhk0wjkahag9rgny1b";doc="0dvzcynpfn9fvfkks5idncgbdqbhxj0vp1d3mfzymhiw4sds31xk";source="0gjpdjkl73ip3jkhr9sx94mwxz3rvxaacn553xwa9gvk3xh5rav9";};
 todo-17746={run="0chmi45gcs8y2zh24072y37g3z62ixpv8cg7ck7knmkzwfzv5i13";doc="0n6dy738cj08laf4cg4y0sadzzzrz9wa9m87hwkya6c95znl0091";source="06xpbraybhf1wbl979653waznvgq697jq61xcpz29gn159li0pdb";};
-todonotes-65699={run="0r56xifccy26k5xghfsrx2jrywpwjx4hnirj2f1h6j3qhkycdd4d";doc="01p6diqs6pg1xxn2fx4fs2vczjjnlwrb6zlqibin2qazlnni3cxb";source="0sn25wgj0wnj50n4d6ybv1wnphchj00lxdb1x8yrj0i2jxgix195";};
+todonotes-69319={run="130szqdm8xx7bqqqlx01wgrj6x2wfqzynmf7pjsn953rvyd2da4d";doc="0920zvilbcjsl707vyvvdcw27qg1hjlrmjfbr3229rv9n4zd4fqy";source="1xx14nww9nh8iv0nxvnj2iwj1wm70iqfclgg39q7jlywdzpp7h0y";};
 tokcycle-60320={run="0cl2m00pl40pi6ycw1c1kndaqinrqml5gl88kh5d00dr7g9p50rd";doc="0yy8m10q7pzwqbf371w7r2x1x872idjlrh842vkxk51ijb1441a7";};
 tokenizer-15878={run="04b3jy76qdvbq9c6yc0lmq99jqcprmcfd602zm6xsr0lwmxrp1cd";doc="0lpbfdvmib9ykdcwrcd5inpibgkm99avqyn94zadbasr54k62gna";};
 tonevalue-60058={run="12jvvfppr9zqaqkqm1g1nqvxikqqg493a1p10z0k123cw11877xq";doc="04gvjaxqhqixs13x9y805dgsxr62zb4i1xmcgwr42n2a5qa4dv2y";};
 toolbox-32260={run="1qpbidjji1rj056700iyrbhgmqvw8is5kp2mmm5r9f455dmgm390";doc="17n7dxi0j8razw5s12s4drz22wd63xffx1x6w0a4jhiq87na4jq0";source="0l9w43kp3h1mbas4pab9qk6b18ny5r1k8vmm9nq2j95gm7z5p77f";};
-tools-64892={run="0a0z57saj09abxgxqgy2bxq6f81lv2d63rgnyyrcywpzmmyaq91a";doc="0shc7d8v84z7ryx8d34cs6rx5xj86n9xp2nrl6rr5w4wn3cn47m4";source="1q66d55fc8cakplsbcq5w271pkxqaavsjga3hpajrpi2sgbj49z1";};
+tools-68941={run="0hhib64h3l94c98v7x505gvc0rd1z8cqawypkbnvlycmw57804jw";doc="0r1c6gr5qcrxyy3xnxj1rrwnzfsqna9qzs45gka09i23r6x7ip8y";source="15an5rw7ciq2lji49afy28z0dyjid3sbf66pc0lfs1dxrln2ijrz";};
 topfloat-19084={run="0md1db8a7ifx2vg269y2dhcf4l07qa35jg57x4q9nsn8ac9gy4v0";doc="1q7fssdrg5r2i51b722mw6wydd17qd8b41iv9rqa7s8r9brf8f8i";};
 topiclongtable-54758={run="1p71kg4882rjzlbq9rfgvppz532s227xs2jmg8zbgplfd3j96mnj";doc="1q12jsaxs9d15qc19wjca7xhq6qajdp7573lv9dc6y9il84r1izs";};
 topletter-48182={run="13ggrw7s7k476sp8fzbj5if20wa1x75m68ip17f1srihnfks3903";doc="0f45rz9n6fsg2c429n3hmzqx4cqv9jvrhwgmbfhznn6zrlip3qy8";source="0p6gvk4xj7bsazb7ipfgp6by60br9lyha53lj0z7rz16f7f2ar0w";};
 toptesi-56276={run="00qd8ap3dgrj16g831458m2kp0jivvbvmya2xzcyp560njsvqqca";doc="09hnbj0g7x76m9lnn47z3cjjnlbbfmapmln3hi6ykb6lh534c4wa";source="1nr54n7hsij9rjn54wgnij16xgay0dda2h6vl2qc44s8yz892jc2";};
-totalcount-56214={run="0zd8h2sanc98qzhgkzgaxjyzfh969lb2935778c80n0w8g53ipn7";doc="1cwk1dnpin4zz0zc4rbf7a1spz5wzvza3nc9d4jrpxqbzgs36nb9";source="1cp1fkvs1gbif9brdwxd1dyx81ylshayq6gad4fw6npzqynppk6f";};
+totalcount-67201={run="0zd8h2sanc98qzhgkzgaxjyzfh969lb2935778c80n0w8g53ipn7";doc="1cwk1dnpin4zz0zc4rbf7a1spz5wzvza3nc9d4jrpxqbzgs36nb9";source="1cp1fkvs1gbif9brdwxd1dyx81ylshayq6gad4fw6npzqynppk6f";};
 totcount-21178={run="1mj04hqxi81i1pwjrn10ipm6b0xwv2081paa4kvq7yma8g2kmi9p";doc="1c1941vfi2pf0wsbfhhzpahyxjzb4jx4lr85k7g6r8vk64qahy9i";source="1f6r2ci4dqri4fxd5mwmfmqmw2k5jfr5vzf2mazynixxp809mjwq";};
 totpages-15878={run="1z6brrn4kb6w6an8iz6das0yykwj2cbaswa9wy2p3rfc0w95x0ms";doc="0nm7x3rv5rxg40k0xls5d3s5dqrpc8vw9g93sa3jkdn18xkxh2zs";source="1b0glns220jsmn1607d5f44k2lijjp95cd0dkxabdc3p576ipmmv";};
 tpic2pdftex-52851={doc="02nf2fg4xzh8lbbddvm44qyvcvfn5b7kzcyg729a58l29gd88pbs";};
@@ -3886,24 +3993,26 @@ trfsigns-15878={run="0g1xdyhin39sqbgi7x5m5r5786x2822sf49271arhnv58md7ns76";doc="
 trigonometry-43006={run="1z4sk50nzdplwarbv7ha3gi5v6g2sh2nf85ipdz2rbj3cnz0j53n";doc="12pm2720vyk1c79qbgk935nridg3z48cbzmzbx9ak66araz9y901";};
 trimspaces-15878={run="10rx6pcvwn1lzyivn312j76lsrw3lb40jgzyj861gl3r3pcls0nw";doc="13zf5bz4pp0lwp44kxdj1zw44h978bdpaiskbma752603jlznaqs";source="0nfwqm4a7c1ks5sqypkwmffqasjaw008pxjb5spr49h3sv7sp04w";};
 trivfloat-15878={run="0s74sisq1bg9n593az435chspj55ysx9b0vqywl30mk60hray6zm";doc="09szjgdcy2fc4ddkw09vsa2am5m98mgm606i6s2nrkjgldm0x4ap";source="067ab9d2vc3m950587iqcfismjnl8fp0jxw0ssdsz3gqxys6vgz8";};
+trivialpursuit-68971={run="0rs7bf0wba9i85sgnxms4sng83y1ckpz89ibs93wqh3fappy4w0i";doc="1zci9nn24r51fcbz6sqd81zk8zad5v45xyi6mminq0h3c9c6lysz";};
 trsym-18732={run="0crl9ik3bd9jwvy6x9sl102bvp5pgj2rq9mywlrcpbxrvvffw1ab";doc="1pd0r5j26xj63qvj7mrifcxjrzazdi702ang8k6npq0cc8v29iar";source="06aavqqczg63yc0s1mwry4nd2ml94424a2qxswcz60y57m68yq61";};
 truncate-18921={run="13hzrndx2myazl7f30i736zs8vk12203hv9rskwncl77hxrqqqpm";doc="0l5hgx3207h54s4n5193zc6ssj6l49xwx2hd9jfpqh1f73kpn6hf";};
-truthtable-60717={run="1l2dj1g6maj8lznpwz3q9qk1nld0i573npk18fm7fm2368krrnlv";doc="19kb04si61dp6fdx7mj96q842fhlrqbd33lvkp3fxwz3jls7al2n";};
+truthtable-68300={run="0cas4lh1n7y9z7b0bvi3yv6xhm3klp4bqdmqz42gh0n2vz9clrvd";doc="1s3ff2pjyls5z1ll8m3x5m0h6gf2is4pnlagiv3y87nbs9sx359d";};
 tsemlines-23440={run="1c7sjdrgqbjw6f2s3185k5rlkig643pkkahjisx16h0akbbdm4k3";};
 tsvtemplate-65333={run="02v9b1jvkynz0gl4czzizs3kj68bkwx7m5xfh5abffcy74f9b96r";doc="06ph8853hvm6xmn6zcycim7qrmr2a4vk702sicg6bh1bzcw14cvj";};
-ttfutils-62517={run="188gcwglfgl7yi4026n9l3zkpgwx034vfr4damxpfr6n630rixw1";doc="0n8jwjzm35hcmk2k677427bszp72kpwgx49bm95fng8br3i439al";};
+ttfutils-66186={run="188gcwglfgl7yi4026n9l3zkpgwx034vfr4damxpfr6n630rixw1";doc="0yabxx9pq8rj2ibzqa19ix7vz5haydbdp3ylinanzqgafrjd5pfq";};
 tucv-20680={run="08m364pqd2imqfi5jalxjrwbjnphjihnmlpnpqg8vaz2rsmddlh7";doc="0rfpmrlh7wbpmpqp5j6iai3g9x1zkhqvwfnwjfskknx5an1ad79c";source="1s0shpwhb7q4zhn6kq2010a4d3jwck3liir5jn5h0gzqbsafai11";};
-tuda-ci-65254={run="0dkksjn8xcgzrsqkzbrip6jkq55hzr4niizr0xfyvlnwb82rqanv";doc="11n920ifz33w3s317v1lz1kv52cv6j2jk4jrr6piv8mbzb1jxwlj";};
+tuda-ci-69351={run="0cblzjymh2012wrkxyh09wwax25cysiz5ph6k2pg5qjspx1a98cm";doc="0q4lj07kd9h1cqsyvb4y1amdyrabck16a9r0pwi4mkl1qnlv8dmg";};
 tudscr-64085={run="0l7m9n8n6ikd9f47jc1xp8b1ik2vq58samd3g1v0m7f48jvf36f9";doc="06g1h7l2bbabg87y97zifxn6401hf0j7ia86scgjkpjbx7p2dj2w";source="1s4y8cvn1iw77b2qklbbnpm1jkjc0sjnkvsa3savvcb7zhw4asa0";};
 tufte-latex-37649={run="1azsqa3qa1w2k0r4sp83xp9b7g1xjw47wv9l0sk065zq0bdjr9yy";doc="10h41jbfmjg7p8k3m98l2jyhl7365qym844y8f38g0f9sr1pyxvn";};
-tugboat-66516={run="1zili0n3nrn0370c3xcyi4iwjwj3d1ks1s1gmgzr36md3fi45p4g";doc="1y5n1pqaz4j5xjjf74ld2nvqwz5sqa216l9fkkpv06i8sj5jx62v";source="1lr1wwpid03isi1gck91f8d6h2gqzgl42axf1lb3g3j0zja4hlr9";};
-tugboat-plain-63386={run="0km1a0vaynd4afjf6p18xsvgnd1g25nypsdvaz6gr2jpm747l31a";doc="0jiq0jggz7x6vgq5szssq1nmphhypa4zicq2n0x81di86fpnj785";};
+tugboat-68694={run="0yj3a32shn70svaq3pjmilw9ah55rg4z3ffd47dz263qqrp5kxm3";doc="1skr54zc5z1vmmv6c9yx1c7q69z5y6a956m917ckb67shqrvsgiv";source="0af24yivq0dym98zzpz1y2xy1l4k59j627fiiz4ny3lzmgwjszg1";};
+tugboat-plain-68695={run="0nk6ycvi05lfbmr2grhdfrgp3d3w8d5di1alc7gpsqfimxh8d89k";doc="0bzv0zl27vjz4fk3nl117jjvcj7ay9dpwnvlwblq27mhj0b3z3j3";};
 tui-27253={run="0liczx2jcdks6r5040r7dqcyrcj225xq0035ccdb9kjmp0rmc90b";doc="1m73fc2nj7qsy144fmbqhld3hx431ry64jv5p7h0r4p0giadwxgc";};
 turabian-36298={run="0fjqr88a51699p57d9mpkpf2hn9rrmdchsxhpjng8hkx3yjl647g";doc="193qbhcgh63kfnrivzjyyk8vp66wb5k4791qdii7brp59xsy6l7a";};
 turabian-formatting-58561={run="0bfl9fgj0adpcm405a9b1819463nrzqplzzdlvwy6yanyqfqcp3i";doc="1dam5fm94hdyzi4ai0wq03pkarb6lbrykych3ixcsz8r2z04g7nx";};
 turkmen-17748={run="0jhg6nd47y8igsn10m3bcsn61zydlwk3g1qfqpy8snz80rkyn9d7";doc="1rs4jmqy5zrgk2awvvw8lsvdkzjwbfq65bm3m9c02158q63bw2i9";source="1kz5qhyjax82mv74qxhsiwj83jijnfhgijdl2w8ic8lwc31q5ihl";};
 turnstile-64967={run="1br0ny72qsv5fpfw4x0v7q3dqy2jgicyd97ibzpxc04mp967njjr";doc="1iv8ysamcqzc7lavhskf8kwi29jn9xcda0am0ak9s1c7nz7pb3ly";source="0aadq0w193hl3rlb1d8xv60yy0fam4aprz4j96dphnanbb9g27ll";};
 turnthepage-29803={run="0zsgmi4akjkhwqas45r7ppbx5c8i5fyvpmk6a8wmpk99ib58pipq";doc="0jkv2zs1m6bggjhf3g71g9cyvrnmgmr549fqsvc4lf8fp9kp3ayn";};
+tutodoc-69343={run="1a2q792dv19y03sv7fcdlb60vkld9z6vkkv4ad10w9frgq3ghhwg";doc="0i9h32l6smr7k1ra54ds8gh2fjaiwpgnqvgwq9m890l9f9f322cn";};
 twemoji-colr-64854={run="10k7gl7jp9l41mj6jamz26wndf3casx1qyy1dz1rscgqyvgjgh9w";doc="1d0kaq2k3svm7609x3nfm8lcd1d41rzp8vcr3wxwrl1dadjv180c";};
 twemojis-62930={run="1k58rnl12pj54g5r9rc7dcf1n33p0hw233wckrpn0dh287gf5ffy";doc="022i152bp2r8fnkwb0mpz1nhs54qxpy57f51j1mkb5rc1dqgcxqh";source="08jxkcjb95yb7pc7jlf2rcz9b2yibpi5ygi48d2ni79i5382mizh";};
 twoinone-17024={run="02na16ki3n7gcbzi45dk6nwna3dqzgxwc73aha1zncm05bnj3n4q";doc="15ldj27nb6pp90abilsybzg7hn0z8xfv7mmwrmwdq20qw8ss75ay";};
@@ -3916,7 +4025,7 @@ type1cm-21820={run="0xdbj0yivyb7advckx6k2iwbn8xqkxrlapjrqrx51jcqhzqshknp";doc="1
 typed-checklist-63445={run="0yrl1vlsly2k71svaziblbnd3jl9jpnpvpg942gg31dsj9vvsb2q";doc="165h7yh2w6n64g2165wbxhpyghwgxww7lasy1qi2qmzkxyf3zi4n";source="0f942k6pjy821851sxhff7idp8w9n8wgf8v9dfrx7mgyb2yqwwqb";};
 typeface-27046={run="06i3zhnc42zbzb5lk0pqgiwq0y7wgds4hs27jybizw9y3yhv9nf6";doc="0z9q8q87iybb4b6g1xnnryr5aihic0vdsjq5xv55i3gbgrd15kr2";source="15igfb6xy0g7jykb50086as2drjr76jcprj3kafcf347427026dv";};
 typehtml-17134={run="1lv5bl9bq1413bbbsjvh8gz1p3qd075y7asi9x0nja36rmcags11";doc="1cgx2prk9ggw3wkbabrm0sbsfb4ablglzh2ckvg5s0chgkilcnyf";source="1ihc1dq38rklrmw8h4k4i6pq3qy9dlwn7nwzmjblpsghszfivxqb";};
-typeoutfileinfo-29349={run="0w48qf9d7qh57s7b1745z6d5abc8rlgcjpmf402gqxv636589dcr";doc="1pffnydxqlkjixa71g09f7754ay0gnyphay51dys9gvvmwzv5npq";};
+typeoutfileinfo-67526={run="1006mxdn6gdmm0ssmnqnw1ay8wi0549qs7a6vyv1nrvis4v7nys7";doc="0dvglz9jw5ig3xy61syy6yghf3xjnynvkxnwqdmkfz7fgy74hb15";};
 typewriter-46641={run="1cgyi8q0w8j6xywby39g4nprg7p7p2dpgfdb58qr5nsppa2i31m8";doc="0lz81r7jv8frdgb1aglxlr98cngacacjvsa4wjzwr9cvahc1q5r0";};
 typicons-37623={run="0acmp2zpg1734c6719jpmcccyq4325h2023bc87xmj7jxqq0xlp6";doc="1r9wabmkqvzdj6dcxl9syymp0rzz8kj0lfmqn9j4njghclndkfdf";};
 typoaid-44238={run="0m7nvdni7nsmbmlbpf51cb3s4s5qaszbn7mw62dfvvawgd2d1y0j";doc="1b24irgw2779j43pc15cwpazx0mdjy2zla9n6lqvmwyhl5xnaswz";};
@@ -3924,27 +4033,28 @@ typogrid-24994={run="1p3if64qmyhflwlf4gy59wl3xajaza5xpllxy5f3a7n1pzca46rx";doc="
 tzplot-64537={run="166wxyqcd55y55ql1p7wvrb2x4mhavz7byax2sq43bqsz2h6689y";doc="027pg77h4p7vavy1s25awa355id6i2ngsb9spmj3bapr6bknsajw";};
 uaclasses-15878={run="015wxmrjfykv7j2bvmb42491i137h513q826f5czmcf1c8gk8bl9";doc="0x6krd94wrdwc1zkyvqzznwvnvxx4agwinr5fhshav6r8jfsn4rg";source="06nsdpmp8qqsrcbbcdpm82gcc3z8y5dlhv2lgwr4i01srwkd91r6";};
 uafthesis-57349={run="0fj2rfdzldav8m1ac7wv8n1k8pcgj4yy4zxx0g8sg1mb5i7if0k6";doc="0g096y6dvxfzbjrvvwpb92z4hrxp1p9jvbgkap5gra61msacqawq";};
-uantwerpendocs-64165={run="014hhy9rwbdl69i9qx5cj8470pi6nb0pam3x499rg6rysn2jyd83";doc="19g4p3h2hb4h32z2fv1jy9d6xsjscabcmk9gkci2my41fzq87b6y";source="1f7kxwadm4m63cc3wzr4nk3hp8771agm9f4z132bykp4il9agyvw";};
+uantwerpendocs-66819={run="1dx140fk30ppk96h4n751mds1m6d521d3br94ixbqybya5bc1y64";doc="1f57n9v9pbwgw7j0i0gvv3y976a58lrf4w55gd7pqgwi88fdwy9a";source="0sq29h4il7zmxksqhdnxyszmz4d5rgd8qyzhi1y7bjp8c4sny2dk";};
 uassign-38459={run="1xwinmh3a8scfgxm40505zn85r0052pcykcs0lcvazn91007dl8i";doc="1b89rvsspkgs60rkmqjad7n2pwwmviiizpqr2si02kwnsqfspqdw";};
-ucalgmthesis-52527={run="17pqf8p5wq7szg81iqmimgz8hac49yqlla40g5lf9s8f2pjagjmz";doc="1fzb7b9v81y0q8pqpvrpsbrk64831pf393hca1j17amsnv5al0c2";};
+ucalgmthesis-66602={run="1n8g3blw71qrrkrjjq867qimn58w5a2l4lnfyqdw77wa67qzxb08";doc="0jkxxfnc9npmvvxyqk3zw5csapmhgfqhzm0rssijw4d46b7w1lcp";};
 ucbthesis-51690={run="19g7wv3iypbkcxhlybizkis6yivgn6z0mvz4rgsi72zaahpxmg7y";doc="0nlpc0vm12h7pni3lw3jqq7fsh273nc63abw8yzw69crh3fspyqg";};
 ucdavisthesis-40772={run="0kdrwdk7mg3yd7hm2xmq63kgikr2p2izibfgw1whai921za4wlm4";doc="1chajx1i2zmfh4ypnf8jspwr8kjwbfv7z07qrfasrf73r775yxnh";source="08525i86hrv1387jn9ayz3mpwnh4z8kvjvb590y7gqv3cdvrsa2b";};
 ucharcat-38907={run="0xiryrx3pjx2nq01f4f0x3anx3zvkdarp87103z9zvpf6aa27slw";doc="0k1aqic1ljafdk8xralygdyjapkqa0qiainrbf982233kjqclpvd";source="08xxmm2rrpyi9a601bzxka226fnhmyqfv8cfbc1qdivn8658785y";};
 ucharclasses-64782={run="0d5rr5w322pr4bsmcp09vsldydxxm69mcpvpaf9j7z5rwhic9biv";doc="1l6pv743lzdhnxpd8bv1y40xhfg82421jyri2c5h7j4ahlcnnvic";};
-ucs-64114={run="160d79c7hcs239gjli8v430zn0xdj5x3dvinr8ci01wzsziry6mg";doc="0qnd28dg8ji3jyd985kn3hids2vvrkd6hgkdrscbvbp02y95fm2l";source="0q371qvb7r5b3bhyqj360c4qd06ww8a275aym2bdw8g62dcjhary";};
+ucph-revy-68224={run="0i0fzn556b07i46jq4mb43fhczvjh91asd71512lc2rsx12r7gvk";doc="03ab4kj1qnb9hp89kf9vvh8ca0l0k3jqzkkdxi9kycwzqm7x6bij";source="1b0v20k0ypkf7gcz0wmrbr5v4lzp97v1vvb2818bphrqj7bdksf2";};
+ucs-68759={run="07xgqkjhks344r0d9c8rvw2gvy0kwhx5kvyzkf2ymw1hiix8w48s";doc="0icaq9irpb67mipfpv55kfbdy5m7dw83h5qqq98f5d1x14h3gxbn";source="07pasmgx62jjdq8wgqgk10wkykzljj7v52xhl1ncma4idmd7l97q";};
 ucsmonograph-52698={run="1jkcyhrh5zf8p205xgs10azhp69vrz613ln9ssrb4485b7a25b3d";doc="1hhr0z3sy8vn6cv2i7g8nfpnsdpyrsbqrclc8j8g6qidh83x2y5q";source="0x465kyz3chdcj705v9gc8s0w3pmawaza93pcm8nxy3k7dwx920j";};
 ucthesis-15878={run="1mqj65aps995issvi1vgn7f7pvxq39pwxaqqwh7pxnki26k8czrv";doc="1hv02nxak4laz9az2kr5lvd97l4mcnixdmpysiz6xqvc13ivkjl7";};
-udes-genie-these-65039={run="090wa3ygl261bx2pfvfjh39cpb0r9r7vjyzc2vwiadyy9l4mbr1r";doc="0g1cm6gwhk4ndwc8rwnzmgxw20gfh07ssiwv9jli624m12ysj9ml";source="185226vgpf1wyc29cr1zsf259w67hi3aa2mvrba64pf2k131vb4z";};
+udes-genie-these-68141={run="1fj7qy5cbcs03pkpcv8ii539val5ps57pk0836srwgmgh418csiw";doc="0ikgr4zdxfi06ply66kp8v8h1p51m8fmzv87hlg490qaj8wmng5i";source="1rz05n7bvf0c8h8b278m9q4pj8vdc29i5xncr2374lyhkcx4r3xp";};
 udesoftec-57866={run="1lq0n05v6q0p78jnq1wf67pgzh214lllcas4jxlpz8hrwk9n9v1h";doc="1gd4qhdr4wxgjalxgqp0d404w65x7r3ipdkdq82lfcyclqyab8fh";source="16fgvdzlxrcaxbbk9m9yxviv8v3qhki2s5kq8j065xx88zd181aw";};
 uebungsblatt-15878={run="198bz1875qhh366ddvdxj72jpcdinfxsrb2mzirr17fq6liwbwhq";doc="0814xqw1iglvwn5y29fsvgbrm5clhgiz6ivbh8a8rayscbjwixmj";};
 uestcthesis-36371={run="0dsdzhf9pp2x4xbprii9rvl0h0jwwwd03va8mg7c3cjgr2nvy1dl";doc="11z3ac2pnxg8qqy4shmdks7h33257nbkgj4h1rq49gc2ssqmp8pc";};
-ufrgscca-65661={run="0lldcnj85g2n2na7aq6xilw9sp747p2vv6651cd6f5f4c4snqx2k";doc="1dar07m3mycp3pllimqa2hjv3b049k5mz1lnjdxw28m6pf8p7xff";};
+ufrgscca-69042={run="1jch6z0jvybza2fmd6mamc8kx4c5q9l8dhpk2r808a9zxdwhcx39";doc="1w4736vj2x3znz31qpfkmnh2aqc4khvz9zx2n3mda3ngl34cb1rf";};
 uhc-16791={run="1xvkp384p0xcba1lbi3b2najk6d2w1s78yi6vgppmcjrd5limif2";doc="0q1wxcn2zclpj4bsn47jgd78xmp82a6x8w068j4ihza9pfvbqacm";};
 uhhassignment-44026={run="0pb7hw9krpri3ky7hfshjkkbk36cilf31iv00l5iynsnrw70lwyy";doc="1106wbx02mbnkgzwwiypfz7fg1a3rmwyhlgnsxf4z081q891p3fm";source="1ck8c7jx3qkxnm0a82qfql92s05bg5p352fw1yv3y7v86z2kh6ad";};
 uhrzeit-39570={run="11ysijqpnm3b4z7pnyg7m7kpzp6fiw42dc36gxk1aq55wsv7kk7g";doc="0rln5amx6vkny0pm4yhgvnmmr9akwcrd93db7bifxdp07hjbvj83";};
 uiucredborder-29974={run="1zklnahb3inyf5qnavccqvkc02iwqw8mz7w1iam0lz2jmzgc1c41";doc="1lxyssdc3sxsfhizm3f74lxcgpkaskljqpybwl1zw8m347p1qf85";source="1rbxxliaaggn4rk6093lhmndas1xy111z9bjrgjrhjhxw19lc0ib";};
 uiucthesis-15878={run="19fif7a2xb3qrmkg8yfjg1hpisif4znc64765d6jrqgb9fqqzlnz";doc="1w20kjwdgppl39axgwks373j3dsnidamhvqy1wn3yilzfb9vjjxj";source="185mzcsh598dxnf2sb4mmvc3qy4pi43qrlim5jhn3n90qvwp62cw";};
-ukbill-65485={run="0v61h84kyimm3ljwm98blm9473bqr6y7nc3xy4pqlqh2ys6q9ffw";doc="1m0ny0msddbhh1a27srqf9v5h9vlg1kr1wc18x14dlzc7s45lhry";};
+ukbill-69362={run="0k3wwd9snv9w8mif0snbxbgaykmrj2d25kakllqc9f3gdpjfqy7h";doc="0c54c4zaznbpskycspfihpla4928w5g9w095lr6djnqb0spk8138";};
 ukrhyph-21081={run="1fnh98jcbn9l09mi952qrdw0dq0pjykwgwi35zz2lz8h8r750ihw";doc="0bbj125zb494g9x160n3lsivims28w0drhfmp0c2920cwhk4m0xh";};
 ulem-53365={run="0v6p4hj3hij0qvq7vpsbnk11rhwwlx80p3g575jy4sn2vfw5zzsm";doc="18ny9kfv3w2ag97czcj2gaqqy1gj2f7rd8r72vd7wsdihgqd5wzb";};
 ulqda-26313={run="1mpjwq43dj2am9llszy1yzz2jbhdskf14ki881j6q6h5zfwwacdv";doc="0kkxa9sv2xg6d31bj00wszkchkk6raj2pvqji930098jray3zdc7";source="1gb2r4zzr3q2kfigrb4j528jmr5paj38swhnp1dlb2dqr8y1szfc";};
@@ -3957,9 +4067,9 @@ umoline-19085={run="0xx4v6w2sw43nqrzdpww561511dcaigsz5blywqg72giw0x2v3la";doc="0
 umthesis-15878={run="0iby3d7f8mm4p5z4jgnxzqnfmwhsws6hg3yb2l0mrknlj98ww4yx";doc="0vf8ikxi8706hc0sv1h53wzpd4mfiz607hzbhwq607k4hc71iz8f";};
 umtypewriter-64443={run="1xn06vz5lxr58xi6y2qv5wa5h2r0g1xnba43x5qh5ag6bz5ym1wh";doc="1sgsj3d153nyylqz5q1mvjfh2mnll783863wsmh9n6zajkfxhv0c";};
 unam-thesis-51207={run="05lb63wclgxqr7jn7c38plhg3r806b7888zyifcivv85q143j191";doc="0kxdr723xvg0lzhmzwpyik9vxy584y41pmwy8bi7197gz1hgdlzz";};
-unamth-template-33625={doc="018vpcbxfzch8qsrrqakcxxir53nalvj39l2kn45kn26p5nfkfbn";};
+unamth-template-68681={doc="1ydaxzcwxq1rjkawlapnfipjzlyzvbvijrx98pi9yd4zk2nnqjfv";};
 unamthesis-43639={run="0wqi46mdjsl06q7hyvy4wpihvrr040f5g23bgc6lm6lq11jadj6l";doc="1l71n80psc2hzjs1lnfgpfpg13355sk9ld86104dkyrl645qx07r";};
-unbtex-64634={run="1gyqir4b3a94ssjqifhr4h72z1sz98p7g9g4p12gdfwi3bd4k14b";doc="05lawlk6qv39csv0y48f2h1rp3x8hzlrgaspiclrn98yqkb6bycl";};
+unbtex-69307={run="03pmfjv9ssgk0g4344pnq15z28mgkjr5f4jgddqdbs23320zwd43";doc="0gy3r6mp4lr8k7z93i0dx0zrr0pn89lzaq9anjmc6wnwnb9bwvgf";};
 undergradmath-57286={doc="1z8my3fwqc8rfc1843j7lcmfka2023z9k0js4ygh1m8kilc2nrr7";};
 underlin-15878={run="0gm9cikysz83sdkhhwd6x9zbs278gwfw8mxh7z22l3c0nvfkxbfa";doc="1rvryx13hyif7hw2wgb88n95qycip95xh92jdy1jm2l6pl3c5q3i";source="1mczvxrhlipisffdi9jv5m3d2i7h34jpm6vi4dbl58cg9sasc4a4";};
 underoverlap-29019={run="14cknh021b4qsymflf0mnv8q2vvhgsf2088s1g6pm8ckpx7diq0r";doc="1h1qvk9m04sp0nm4acj7kfib5cfpch1mkpvs55mnqqsgasgnymjn";};
@@ -3967,17 +4077,19 @@ underscore-18261={run="0a93sgddm7xy8iby50yficparkr6hnzj46w70madbwpjkpnfya78";doc
 undolabl-65846={run="0arfny56vh389m89jz17mr0xbdlmf3mf0wiilmkdia4sbnbv3g7z";doc="0802sqkxir6gdkxkaxh867wjc12m8apvlhycl19fmlbivg6pfla6";source="16ymhmx7by5pi36z6l4l27z1x8pkpz314jfibpc5azjmcphqhjq5";};
 unfonts-core-56291={run="0pyrnydswlqhxacwqpbc1m3bzm8v4gcl3ka7w2mppp77l8a70drl";doc="0225vsqaj8l0g1igc4h8m94cfk6wv17vlnappdgxwws1fknz0x5m";};
 unfonts-extra-56291={run="1i7skyjqlprf6m1pnz5l2hn67f1cix4n3pai6v1a8adrrx7vcfdx";doc="0d3cxfm110lg12n3c9hc88lqmx77rcsil1s6yph384scxadlg3bn";};
-uni-titlepage-64306={run="141wbn588pjavsa3d7v1c32gqgkl1rpxacn3w6v4nxb3vjw2mizv";doc="1g90i5kdikdxffk2lnxb9a446hbx67fwv7vba5v5f63rzjjqn2xv";source="0vzxcindsr31b2bdyi3zddh42l62a7nfc8lih51h69ycp8r80har";};
+uni-titlepage-68917={run="18s5vidaarmpppdw12ynb6fjc52sn5i5zr5lglvgfqmxnwx5i3d7";doc="0djb52kfbp3nn4prj7x613g58qqjf1lnmcxg1rq2y3kam4g63r37";source="1jhvh4aj2z3qzf85wq3isfvkwlf5cghrkhqq82q371zxaks2fd0c";};
 uni-wtal-ger-31541={run="1jyba7g6qmngn4lx7mrmk0j190zkjv8lw775w13hxr2yky31cf1z";doc="0kncfbrs663qcpc0nsfhf0asjri8103laj9zpaayk3by612lfgj4";};
 uni-wtal-lin-31409={run="1rc0dc1g1fwhz8qa550ykc8azzc4i748jh37a8ppgrf4x2lgxzjq";doc="1ja9a6fjrlh1lbjkcsal7ahw24w1gs1mzma6jiiw5p5kbmc4zpz1";};
-unicode-alphabets-66230={run="10zmjmbrlxsvq7snzm3p89afj4xy4ad0ni06fi9dkqjmi9l5nph4";doc="18l3zd0q5ixwpvbcx2glldp75anqkgm3ifnf3lha2iqapk03jsm8";};
+unicode-alphabets-66225={run="10zmjmbrlxsvq7snzm3p89afj4xy4ad0ni06fi9dkqjmi9l5nph4";doc="18l3zd0q5ixwpvbcx2glldp75anqkgm3ifnf3lha2iqapk03jsm8";};
 unicode-bidi-42482={run="1prl0i2a9dg5yc2yl1x1k0zmz9lww051w1zwy8cbyvk3rd765a72";doc="0ab0gym9sjllmqdclkjfbc4fh9n20999mv7z2gylfybirm0n7i7c";};
-unicode-data-64423={run="0x1kv79rzlkxlljl90pa04sm2d8gg8qc3ja6349ya73fgp8qmy0a";doc="105a76nckm016kdv8zr8amzqx9xgrlanghhnwrw78g0nbm7q31ni";};
-unicode-math-61719={run="1ix7yd0yiss2j5gm6s8njqp3287v1h27xxall0ya34ip1n85wkmx";doc="16w4qsgvgq8vi0ylivi3j5b80y4in205ysyq8xaa2ksa8rbbaa4b";source="0isg86y341w2p4a8lpsra9djb2ldn9w5cxffwzbprri33j2yqs82";};
-unicodefonttable-65009={run="08hfw4kr08igk18r1cib7ln28d1ivh6kaqfyr29sbaif4kyywf40";doc="148pgxa27w397r22j7i7sjywgh6qw8hc5njqv1phb9pggidgisy8";source="0w0id4dzq0848jynnxr342s88pjk865q30kiwd02nbr9142piip8";};
+unicode-data-68311={run="1ra75819cglkd1gdv96wzflx65bc73v46k2hmn1bxjachz3cd7fr";doc="1b8zpwd0vr238may4wv68xj77w7fiq757jv3i45yz0gir1as9piz";};
+unicode-math-67919={run="12xc969s6x742a3aay28354cpvam2x9ack1396q2hk1wdhg846fl";doc="0y0sacc4rd4ilzjfw10v058wv626wlva1kzrbrbqxsclq3xcm2fy";source="1wr1hrxd63z5iisdw6k95qjknl3i917y2dmnrflyn0afvl2pxjg8";};
+unicode-math-input-67089={run="1gkamvcr38zh9yzvhbngi4lcbmxsrmbidg1rq3mfs51qnpwrkww1";doc="0p9k80mymz1dflsvjjb99pzrskwa21fmvrj3zmsxdmf8vzq2c88q";};
+unicodefonttable-67066={run="19idvgz9pmwsjrjc09z9njpnffyyaf963xcz89dhzxcc2k6v2wrp";doc="02jvkpcwhf5bxg6d6pxl9h1igx01wkhwm7rs3ycid8vf9ydsvl77";source="1lfjccv4h97vy34g8shh26rw9ai7h7f35xywri06ch3vx8gsmlrl";};
 unifith-60698={run="0plwq53cp9rsdsjd6db1g8b39k5czzdsmmrfki7ckbgiw317k7w4";doc="17q97073nni7x2d1zlplrwfvnxw9pkjgk79jwcvbgfjq09cq374z";};
+unifront-67054={run="04rm3pia1x68qm5kabay70fr1szrzvg4bzk674din4babl3nblal";doc="1d2kmwfa7cz009wfc713my93v3pgh1jcqz13jcy65f7py86qf2xp";};
 unigrazpub-64797={run="1rg5b9f3679qn8jaaqn29bfw3qgyxgx3p3zxi7vsr6kn6ada3j82";doc="0hpjzkdhrl64g00x7jb55wf5mz57gab432vxq3hd4igffrxvk88m";source="0mdcp3f8by29abbclsy9ndydgslpybcs5wqbiz5aiy5blp8d8abx";};
-unimath-plain-xetex-66397={run="0h81w9pzy11mnq63401m6a8nbmz11xxvjfawqmnyzzgpx0v0n7r5";doc="178slwilm2klrln2q7zm42xf6hanc16ksvrn6hzfzsda46f5mrsn";};
+unimath-plain-xetex-66394={run="0h81w9pzy11mnq63401m6a8nbmz11xxvjfawqmnyzzgpx0v0n7r5";doc="178slwilm2klrln2q7zm42xf6hanc16ksvrn6hzfzsda46f5mrsn";};
 uninormalize-57257={run="0ai1w8n010sq2fmwvp7625dfmmlvzx9d67ji34zwxdl2cyjlgsw3";doc="1dksyk07zjmwbzgc7c2d5lz7fkvrllbj1nrpb34vd54yxl4azgip";};
 uniquecounter-53162={run="1g7ix0pnd52dsykq5na5d4kfi49zm8gmampf5yn281mn901p3wjc";doc="099clvqs76hiwl8i2gqj2hdmj2m77v03pc82sls2xpwvrs1dqd4s";source="0cgpfgv4yybrq1ryhjrzwfwf97805dw6if2s1qivhry94lb96vn2";};
 unisc-63178={run="16drn07j24q41a99w7cgf69d9j21if2csf4lplbkrvjnv5rnpdda";doc="1s0xqq03ccx4rrmds2l9sz7qphnh9wsimxmghmy7d1slmfwg2g1a";source="1mxjq2s5ns2lhrrqy3xwxlnn3fcb206gvbdvr75kagzqb61rz5mq";};
@@ -3988,22 +4100,24 @@ units-42428={run="0rblvdf1cgsm4fda44vvldy6my58dnars88wv2blgnzny8s00jhn";doc="0nn
 unitsdef-15878={run="1ck9awf9mzjhq0x4c3cpan79imh7ijpffii90955jc78h3bhcwkg";doc="15svjszg72axskaa3yg91gvh9y01s1nh5x6nhwqbr9mz3bn3npck";source="07v6xpwkag6fp8p331gcfbb0p1ca36rvrs9kbkayc986k6nds688";};
 universa-51984={run="1r8rh4jbx3lxciszf93klg3zwv06qqgnzikhp11c2qmrjrk9gznh";doc="0acfyvdbqagda11730d5bmr5qlfq7hiqw7dajq143i54k9ln8mvi";source="1ydba7wjiqnjc8drv5j8skv5q8hjrliwd38s6xj2jd12i0zp3gyc";};
 universalis-64505={run="19v4kl6xbqj5lpxlpjghnnhs2dnljzzr71pvw90z71n6wncza5gh";doc="0nw6c17jvpyp5lvarj2hf1ir2hwc54ns9nflw4zpgz2ifr5kr1ci";};
-univie-ling-65651={run="1ffslx4ry1aiipp4bia6idfkf5l83bk9i47768wr4kja8lih4rs7";doc="0zy7cj2d00jl4acvwr7cvynyrwlk45j00zachlxg05cfh3g24i07";};
+univie-ling-66728={run="1aqh4gpxg8ryx6lvqwiz1m82hsjf1g1206vqfl3kml3vbkylv21i";doc="1p9i4gy6wimgfwcwffqf5hkpxhj2knn7ljfdx818rscrjrrf592m";};
 unizgklasa-51647={run="0clwxzngdy6n7iwk9zrn21i1frmahdf0s9qq2nqlhk4h6rxwb8jb";doc="1q7q2fpgpjdsmbfj9zijccqpl2m6n0dch72wl05a64hxg117jbl4";};
-unravel-59175={run="1kixvhz6l4mdlvjl8823jqa1fzx7m0w5vcznflcjww53n7jhrj66";doc="1lafb702nv1103kap2yldigp5y6f4hmszbcs1j4sijdj44cxaaa4";source="10df5gx6idfi23r92p9m8axcm3lisyh94xp301synr1yfpyw80zl";};
-unswcover-66119={run="05nkk3xgpjcdlsk8xrj0mn5r3kwzi15awish2hd205v1rnbjiaz6";doc="1jsxc55wrfczcc9mnf5yl2yqbbzbk10jcdly5z5nyfvg51427adw";};
+unravel-69308={run="0n440qrni1qnbhjajj2kd7zwgv8sk73bv4arasha05xfic0g3arf";doc="1smf996jz3iy82p34b0qjmjnpipxdakp0b9yk5qxv0rbkiwkhymc";source="0hb343svdnjx8czl4x1wlhpmzhrzsslykpnx9aywpsgn2xabncnd";};
+unswcover-66115={run="05nkk3xgpjcdlsk8xrj0mn5r3kwzi15awish2hd205v1rnbjiaz6";doc="1jsxc55wrfczcc9mnf5yl2yqbbzbk10jcdly5z5nyfvg51427adw";};
 uol-physics-report-65761={run="008iix41i3zxghxmxiyky0cyfn2rzy8q64f49dsj6nvixp6zlf9d";doc="0pbl7vx7xvmvi7fx7l0mn98hff9d838n19zx7izg3xgrqalygpgp";source="05rd3ss59gcfa9i3lpzfb6f8rhnmx50868si3hys13pqhwb7xkn0";};
 uothesis-25355={run="1wgs3fxg01cxcpnhk43ik12sjdip77fkxdaik6w4w926i8z0np7s";doc="1zmpx6biaxlm7fys5a3qahglpbqgn6ml07z6q8vplyqgn213hd6d";source="137c9av6i6b6hg97wmqd2iwqzd1dq6lvg2992wnbm2bp2m9r20zl";};
 uowthesis-19700={run="0iv9s5dfmbrhxbx4kqbhxjf23rln4ymcx4kkk5fmc67qi51i8jnq";doc="1xcqs2h6qs2lca74mg1jvqza77xrph53bk9dwkk0bprhkxn1all1";};
 uowthesistitlepage-54512={run="17xh2myc3xj2zwbc7jjdmnfqhmhzkqj3dwwn2q04hcyr4bm7vnfz";doc="1gm1clfvd0g45fpgf6h4nmyy2vrc0d9lqfy9h3nn2pnh0ki2z0ir";};
 upca-22511={run="1px88kyvr7jkzzcbd32pi7zlak9wwzf3b55yhnh9bi03pk0il33s";doc="07gsza0vhs52qjj8im4i1fg2v2lch9iwk424ik9c1xak1v7s9d23";};
-uplatex-65305={run="0kmw51xvg44jrzn6r1w2biz2d0m3j533qadi4bfjhf2dzi4jdg61";doc="00p3h87c5mc94hq8wwald6axij9izflzarszxanavdkh3dhggg5f";source="01gpwxp81hz8824y1hffq6b035l0pxa8wyfkjm9kh5m58j52s50w";};
+updatemarks-68163={run="08x63a7hg949dcszq5x03kwc1408bml78mfrd1p36vd99gsiakv1";doc="0lsdfdd6nkl21pblpax32gw96mgm8l34gp2m7h60fipj3garfb69";};
+uplatex-66186={run="0kmw51xvg44jrzn6r1w2biz2d0m3j533qadi4bfjhf2dzi4jdg61";doc="15b338kzdd0xbglihc5hf92mv3jwmyxp2pf1nb9l75cxnqfglzjl";source="01gpwxp81hz8824y1hffq6b035l0pxa8wyfkjm9kh5m58j52s50w";};
+upmendex-66381={doc="0mj8nmqr3z7b802kvjmnkckq89l694an7s639yghf3b9b5v7xihx";};
 upmethodology-64613={run="0r7k223ypavdbywq5fwffyysn68pg12dgp842jd22b866ffm13pj";doc="1vw9azpz8vwanfg60vr1a9bbx39k8v6jhvn505pvmf8fqgkqd9ch";};
 uppunctlm-42334={run="1a71nsc5dnaa8gb4xmnlhvdsvid2h9gwmxr0xa8blh4xd0vwi2d9";doc="0d1qs7krblmnf9r2afvzx5ir94aqgxv8p2d9sf9p18nlz9f5h06q";};
 upquote-26059={run="1zglh6pb1fq0ipsivhj0knhcwcg04mjkxca5s2adbbfk2xs1iqgy";doc="125756iaikya3v0wk9a712klp39ndw7i68bybnrif2klm4c695lm";source="137lbzacpmkm1fdmp548m6r83mnhclsrcyqk1s0rkp558fpnqpp1";};
-uptex-62464={doc="048c3rg0vdfl9ypdazrpl6f2sr39k6hph6lambsh0q3086bv2zg9";};
-uptex-base-65802={run="0g1ihpqi9im0k7zg8vmwzz8mz3qpy2nfgsq5r7kidsar4yrqcj1m";doc="0ndk6z627a61zf903nfqcv7g10579gbvy8dqrvdjfj86bxdw5h41";};
-uptex-fonts-65657={run="17q19l0l2v10h0ghh8kflr0rxd634q55m0z5p7n93nmahjmq89fw";doc="0xh25w91m8xzpkvq0c38y30gslzrqwqp0vmmn053nawkmsdsfl3q";};
+uptex-66381={doc="14hn2n6jbibbqbdr72j74z5bz003jnlabi3kja0f0waxhas680gd";};
+uptex-base-68298={run="0g1ihpqi9im0k7zg8vmwzz8mz3qpy2nfgsq5r7kidsar4yrqcj1m";doc="0sadkwyprlv4i2mh0mxcf2paslskqg400xzwnndycx99yi9bvrvk";};
+uptex-fonts-68297={run="1306b0nq975iskifmbj0ah66dh969sbwydblhv2gywy0yddkg8x9";doc="14m7l415n7ywh0k4k6pnq1kf9iw7x0xv11qvi2n1azs5r9nyw302";};
 upzhkinsoku-47354={run="13fm9r3s01003n8ykbq8plx3xzj7p9bz958ylkl9f10kd9favr57";doc="0hd55x231kpcl1rmds601a2k1yzvhvfks7sg0424gzw7wirhns75";};
 urcls-49903={run="15hnqy2fxqblr9db4h2r38v1h4iwhk5kcm8qm9war1c1pgwg2a6l";doc="0axb3cpbqbksrixhksdhbjyqyic0176lyxxk5di268jbr58203xp";};
 uri-48602={run="1mmxhxm4y7qsvq4kgdnq2vhid360gcgq0yxbcgw46k56hxd61kln";doc="1zadcddyfrgfbrsyl4461zwz8g3rjwypixvmi5ny8f80z4igal6a";source="1w5hbpzc5xka2z834hnzx16ky0kdx3x4y0xxs61l9gx0ygqkzbpa";};
@@ -4020,7 +4134,7 @@ utf8add-61074={run="1xgp93wcvb2jiaggidznmbp173w0kfhwcw2bg7829hl60vhqnsjh";doc="1
 utf8mex-15878={run="0inwvyrizq3mr4c78l036ib15d6v2bnrakm08hvxx6ck753kn1hj";doc="1nj94nn4s662jh2wykvrwkiiv2xzg6v8q4iax18d20p75yfcn3v6";};
 utfsym-63076={run="0w72bcx656rdkbgndmshzd6ackh1r6x6m2f6bjrc3rxkmhvf2awc";doc="17m89pxzhfrcg8b3pai9bpivypmzfm0ck0pbcp38nabbnwk7bmbl";};
 utopia-15878={run="1hsvl3la37nbb0b2q9995w1hlgvrc0gkyjkgqbsp99rk0ry392v6";doc="0yyxzyg38z6kip43gxlj3j55rdabqjrzl33yp1z043rblfw5b9mc";};
-uvaletter-66335={run="0d5g993axvin6lvhqw9w9zkyhpw9vm5qi9k3mnsdgawhxzziyib4";doc="0w96kc44y0l7vg0229cs1wy4s5gl6z0lwl3lr3xccyfw3vyyfaih";};
+uvaletter-66712={run="0qp48wng88fqkp1x0c3brzkr9f7p08pvbfws46dzrddxg5w4nwvm";doc="00g32zdkyv5x3hzhdph754f5mcqicgzqvcwigxf2dz9shb0phgk8";};
 uwa-colours-60443={run="0j3yywmr4rb011062gwaz4q56jcizblah0a4s3xi2gh0jycdfd1v";doc="0pa7a1ic7am0w1chl6cx778gv86pf38m12s0xdpz3hp2krkrjxwx";source="0h59r1sxqsgsl79jvm8q015mck28z89c595lkpilymahfn3aqi88";};
 uwa-letterhead-64491={run="0y59djz26f6br8gpdaxbzx0sm6p4gjyvfdi3g5w2rhvzv92w81is";doc="1kj991b6w3f6svzf130g4zb58k1n1fq18jvvradrqygvgrj8lg0w";source="1ysgg1idxm0h3rslw94ih10jmb85n445rr2cfzx9x1fhl2zclj3n";};
 uwa-pcf-64491={run="0bgg42n0sbp1hslwrrc8xclxpj87sggicxhmcijiijfdb88g5cl8";doc="0r8cmhy9laq7j40vkgp9v35xsq27xn5akkj97qysi844n4dia9kb";source="0sm6zx16yyi4p3wwfsyzgp4w7p53mqi5gbl4qcjj7iz373mmy3lj";};
@@ -4038,29 +4152,31 @@ varwidth-24104={run="032izb0vpcwiydg7lli6hnawij95s5ygkwdp4bfk1c9j17d749cr";doc="
 vaucanson-g-15878={run="10dk1ff3swbnx6l6c30s1ryn2dbyx9harmrcg7whmqdys1mahsbq";doc="1dlf50f0hpislqkcbr685y5xg7iz2y6zvlzjdkjq3af4qv7ncf5n";};
 vcell-59039={run="0m9r0wldir0g8y32aikm2il8qsygsc3zyv2zkg4wn7jqlidk6f2i";doc="1zrhf70s70zxm5ck22vbi88vpdjn6ba6iay88f41x21f11l536q5";};
 vdmlisting-56905={run="10fzab1jn6hk6ah7h9kyv9cyrv2l0gvlmask1c90njhvgqi2526s";doc="0b0vrxv5mlf721mfdvw46ixidgzh0bq88sgrvxb10y05wjcjqiwc";};
-velthuis-55475={run="1ki27wimj82h2dgw6c1f6hs93yg794j711x1w3vmgiwz3mdqkzdf";doc="133f9scdzjncbvqqf9c5nj6vjszp1f235vrapg2pjlg018hlhv9x";};
+vectorlogos-69010={run="1sibmv30czwrvp850d6zgw30daxjlz95wm3ck0rb4bshjy92rg9a";doc="08hkajc2hffhkn7zg7sqqcjc3gisqmkx3fgy43vf7vn33wa42n28";};
+velthuis-66186={run="1ki27wimj82h2dgw6c1f6hs93yg794j711x1w3vmgiwz3mdqkzdf";doc="0af9p3rq7d6g0549sj74vl3scww6ia88vwzfv84fmkysa6ph9n2g";};
 venn-15878={run="0kfq2wnjsbvk0ciwrm4923fpr7whmzyv240r4zps41vzpc4mykiy";doc="0izj8qsnxj9jgslwzz37xwr9n812y3cxmfs52yd7p4638qid50im";};
 venndiagram-47952={run="1v4hbkc214fjh5wc2myqxa6jcvr6sa31c7nz9avzj2kf40kp3ip0";doc="0as35w7fd9xjqhrr3v3nzld9bnhz6xg7rqgs2hyzx150xndy6cb9";source="0ci3ajx316b6iin315z1xkdfmxbbflnj8sf2ww7gkxf853qakwlc";};
 venturisadf-19444={run="0a80pz2ng6grjj97hgk277d25ijgc7swjjsr4rjbd1ljnfjdvf51";doc="1b50h04xl2nwlpclfxl7m1wnyl1ysf9d7p8jbahglnxaxxn8ib3r";source="07isrwhzw538w4asc5baw6wbfydzdrflrp3pk1qilq3a5wcj1n00";};
 verbasef-21922={run="1bb1ddwlix4v6knmz68yy7i2jsismqdz189p1664q78h12rxcpx3";doc="1rd4mhi7w3nsvvx0zxv43nd4ldw7if1zadh0xxbzbjaljypmshi4";};
-verbatimbox-33197={run="0sc53aigy5jx7yvxpms4f0s9msn6szkqmy2jm2ydh8ac02f2lqpb";doc="1gbli0qqgff2ph1lc6nhykz3bh8f0sl18rnk39jqs4xpzr7m641d";};
+verbatimbox-67865={run="0pgim93ifd9mnrx7fkl9fprgf33wp7m5anms8qgzny0lxsm1fafz";doc="1v32x3j5zc8yl7rgxn3j40p53x4f1y8abr9w5fj0bwhs8qawv2xh";};
 verbatimcopy-15878={run="07syldn58zwnwxwdsmq63qgr2nb0bkl9di09knska9jk0c50ql1j";doc="06awpisb1y773xsijrifh0121pq6fdzp2ai0snxny5vrpmyp412n";};
 verbdef-17177={run="1dy1h0vcknnizm2f3zggga85slga5p77aw3ll5ca3kx5qxp1xqhl";doc="06zh9v72ywrg84wlb96p0y28sn9919pn2xjgqhaii6irdf3hmlma";};
 verbments-23670={run="1iv716hb41cy7bc7bk2420lwdykpccyg6wxvbxb8vk904fsgdk2a";doc="0hzrzb6m8iakip93in80x6k15b08z9xwjrbki12d28xdadqkpqcc";};
 verifica-56625={run="0i5bh8j5yjvql6mywfs617mh3pywnqd7z1m6158r3jpwyn6ki25g";doc="0sinc5ha8k3nk307q0piqwj56r2bh4pbxxyww29ygalfqjr755bb";source="1zn10fr9kv131w4id0djycy7492ch7gis27gbr5r02ydwm7nny1c";};
-verifiche-64425={run="035mcwxs1sj9y4w0dq6rfwph6smyx7wqsmcdwyy6k3crwgams6sh";doc="0dp4wvg3rv9z6hg2kdb19b0p29l9b5wscdxx0hxb7d1qb5j63ihw";source="0608i77k8rqryjkiqg460m2fz0srhvl4nkabb6n67v10arh1gghk";};
+verifiche-68023={run="1fzxa5aycqxnzvvhzwprvq0lcdgvchdn5gnwbzbfnsg1547l6kz2";doc="17f2r3l9252bijlips61naj0wzdsa5ghf0lkyni5xsiz0s2jc4a9";source="130hq5mzia4pj0cdqcj3w5fhgcsd0hhmv83s6an6ia5rzmb14kzi";};
+verifycommand-69389={run="125r3ncvllap1vmnj1wz11ir10223fvbgsy233qmg0kdclnh4v54";doc="12j8v0r2jay5f1w20f7yi1kl4jdfqrv2ga5748xksds7jj0x7im3";source="179642vhwmgrmlvavl5naxnj1a3279clgjyc090gqw8vg8hbnccq";};
 verse-34017={run="19yp18fl88zcph3r53ajbnwcr8lbvgahs2kfdg733l5zw3k5pj16";doc="063lkcis5m4zs509hn4z1zg1faz1lsxvjak6c574xasspm45v559";source="1r9pn4dqpr42ng4xk899kxph5sci82dkdx834lyrhi8lsj32g9b4";};
 version-21920={run="19b4h22lqvgzqqm0pivjjhmpxmijrr5rfy0xc9g9y7czsrp810hb";doc="17bsgyjvnna790nz3x94wbwslxkkz3958vj2l3jbyphm5vv92fxz";};
 versions-21921={run="07bxhbpsqgdbpwph2w7gam699605m181xmj8jhpcsf4rwcpnjik7";doc="0pjz8nk7dnf2jp6yixhi55zbrlmhv477qsx6p52dwkf74vxgv5ki";};
-versonotes-55777={run="0kw6ydfy7fycfrr5i8p38farwjrhkfvdlvmaxcxzk0cgnn7102mh";doc="13crgm6g52n4d92rmw7w08j1c5l2nnhp17816w4csb3fjsrr83w2";source="0vvkxga9jzv87dzsv1rac75x147lcf84mkfcx2npz8sbbsc1rj9v";};
+versonotes-69249={run="0kcfa9j99jpw521sz1q0w9qfjs76138l1rdy9ha4gb61m5r95008";doc="0z0mpqrz3n8lp3wf1kfzfmm39n7rwv2xxfvy4x76a67qdjg2glbk";source="1h0qkcpps65a8qcbzskbghsdnqvhgg62yk7ihmv487a8lid68js0";};
 vertbars-49429={run="0a5fc0a4z482fcxx27wrn20fsdvx9xclsy36623h80pxnfw49aji";doc="0y8vfa23ld199r45pqd56rv7b0iskskpaqc08lix2zss6a082iy1";};
 vgrid-32457={run="0yb2hr83xvy19j43kmjrx9kf2cadyairjr45vg5a0pbr9nwpzdsr";doc="0ymfdbqws78n3mm9cbf7zrcdbn4hb9pzzjsw77hlg023h4hkddh0";source="0rwsi6lmd4yhgpa6605631ld2bn8pzij7radk8vhwsa1sn19326g";};
 vhistory-61719={run="1m3k7qhrkxa52hky57jp1p23sa2binjfkywv51hjfkz5cyhcqi3r";doc="0f8agd4p659ncqx66yam1q30jaxx20qcmg649w3vy7fwf6crjiyp";};
 visualfaq-61719={doc="0fjx5y95n8bhsnwsw34sazbgygznvw76z01rrxmn1bp8za7751n0";};
-visualfaq-fr-61420={doc="0xk0qly49dqkrw1qjhnyp4r7y5jykghlp1y26hipghlaqqhdynga";};
+visualfaq-fr-67718={doc="0xk0qly49dqkrw1qjhnyp4r7y5jykghlp1y26hipghlaqqhdynga";};
 visualpstricks-39799={doc="1wfri908smlw1ngqq1mjll2b80b29piicqmv67x0xs1v3kc2sz3s";};
 visualtikz-54080={doc="1q0a1mhc330z8cnhghp2p46bxsmzz8cdba8hcvssglz0gsq5z5fc";};
-vlna-54074={doc="0g6x2m8c5mjwjfrbqcndjj45alslin7a0vqasc1j7rhfmqr3issd";};
+vlna-66186={doc="0nfb7mj6y9d4n89z59ppi96grfylwky97mxcv9rjflr5kpqlpga2";};
 vmargin-15878={run="0k0qp68wnfr13i2prx64n463g9xa4cf6y656m2bc735pvsa5ln78";doc="0l1lv0szznc9l5jz261nkcpq6dq28869s6h616rama40kqpdm0bh";source="1vwydnpsd5ha4g86dg2q5s012d6l3yrksc580m41q3i67npb8chb";};
 vntex-62837={run="1857xywsc16rgarwhj30jk9mfdw62483g31gsir9rgibpxdjchsh";doc="040364kv9mizvb2bw22in4z6smzplx7jg9wac7h3wl7739qcfwgl";source="0f7il38l3yp8v6yxgg5mszgiki9z0as1s1i99ky50bvvb049x8zg";};
 vocaltract-25629={run="0af79zsabml28hwhf2nq19s1sf7p6kljyvz6c2zlbx96a5k9mjs6";doc="1sjvklf54r6znggylk2wyf1fw806v8msc2g24ibv4p1ia3da2giq";};
@@ -4073,46 +4189,48 @@ vwcol-36254={run="1wfqcin8xmxrby5mxn9s5j32zmr4ka4k0h9ps4kdddpq238db89n";doc="1zy
 wadalab-42428={run="01lf8nlga2nycr23xpzl6xas2nlgajjmia4lk4zvjdgcxqnipfrq";doc="0m8x6plkry0p3jabvhgkccb2rvlsz941di4ihfc8schkq7iyjlxq";};
 wallcalendar-45568={run="04rck2mzvzpm2f934iz4nni9s5w9g7a0qcp3kvp3bsqa6nhhcf6v";doc="1b2nn4cwsb6vi29a49cnnazpzffwbpyw48wffklv11frbmk74dnj";};
 wallpaper-15878={run="00cixdnwr4vpfpqfdcbra4gwz0i36kddak8ywv8l4q4d4yd567c9";doc="0ngsn8an7gqzkw96sdxb4q24h7bvbjw0gsqk6dzrdphclvsjy8w4";};
-wargame-64797={run="140dp6vz4sxymwaqv8acy2l48npxc2s668qhaycgv99ycpqlg4is";doc="09p0f9zpgx5kpp0qh8bij5k114497bn871qiwzrcwjlyicspqh0k";source="0kblmmv8bfrlzpsz2cjl0y52bbrq2sav6n8r5mim1aaxgr2q3hk3";};
-warning-22028={run="1qmymyl01vd3hqvgkzzwffffawbwms0zhs0na7nhvlv59f1316rm";doc="1d27zqh4cn9sa5ivp5a47d8dji73dzvirp6pl7cgcihy62ll34v1";};
+wargame-66713={run="0gck1xa19pqmccblad9lpgj2n4wvlka83grd1qgnkhvwam185r0k";doc="0swifh404yi2mya0xv1np8ga9m8bk0nwrc386bpzgq7s8i1mmlhv";source="16zz89n1z9wif54xs6140xn9rmi9dhaas9s6yjwy6z52gjinsaga";};
+warning-66616={run="1rsqy10fghs5n2zb3g378csxykrlympd40g74wsz9v4aqb5a9xf1";doc="1fsqznifd2fj3czhhhii1j1z79f3vdkjhf46sdhc67y2izqmg8rj";};
 warpcol-15878={run="1dr0ic0pskvw6397q1yy1ibbpl1c1kndqaw5y72zzzy52x4l4j71";doc="1jc7rilhf61irh8kgc437mp45ryz0yr63z11r9ixbsj04dmfk2xr";source="1lnd9b42xyzfnrz94x10vxrmfy6r2l4wlxbfc1c02fmnchj2wq6c";};
 was-64691={run="18yszyvcv57im6qk8kyck21mzyzwmlzn4s64jlzz0pdzpjhn7sxa";doc="1dv6d27zlvpb1kc8qlj1jxbq08czxqrfq9l0ahqdcrl3fawdgiv2";source="0ylf9h95ig7vy64hai9skl7dxvkf0rj85syhcpf9a2p301hchs35";};
 wasy-53533={run="1gvk9gdx32sm4q2f2k4i6yj45c6zyf0hjkq7r6ysygmd2zsvf9lh";doc="1ah93bb5gr4di1jbq316cm4d5iaijj4f06vcjj4x44jajirlaq6m";};
 wasy-type1-53534={run="1zkhqyh72q1w6lr94a7164myp5qfmj119qim58cal1h48n3wypcw";doc="0rhkbkmn7xg044aw1cm44vbwiqfpcixpdpcdvz8yq6in8kmgs0lv";};
 wasysym-54080={run="1i8pvf5yfw5j0rkcpy6v8czvr85p1yk18c8h18iljgsdvfj786h7";doc="07lhw9ss609gjlhv9f0bbyv3z327v3jqblfwhcspwg2sjvazzx8l";source="1i7y0si6mbd6kxbbyvcfak46hrcf95xv8x6nc29nc6adqjbygkiw";};
-web-62517={doc="029qxwfgv5qqvwvamc2y94vkx7q510hqa3yfkaa54cwzqsmb9ksy";};
+web-66186={doc="0iiyzzrgwakw7ipdnwmjwcrqayzq4yn4786zlr9zirmmj34hpamz";};
 webguide-25813={doc="0wid2sxrif3mm3lrs0s6pil949byviq4d7924yzvmf9hkrs5f03v";};
 webquiz-58808={run="1bl334im0jvsyx78g6jq9m8623xyr4xz0avzfaymhs39dv17wsyr";doc="0lwc3r3w2d7lzz39ilncbckmvx536z3wvz84jlnv3flm2dll2z7s";};
-wheelchart-64373={run="07v4g0vl7jwny8v2d3n7xkirdsgc1n0bibdq5z04jbfvhij48lwm";doc="0zyzc88ghs4dsk0kvb6r0rp2d9zhcbsasrnjlkdfplyhyhc2vppg";};
+wheelchart-69040={run="14m5nrs3iv6hdryi9xn3yral2pr5vbabwzxq882x8qfhm4c75ch9";doc="0dlffrsc1lyx56mhjnxla20mf7qh2blybdw2xnc1nkvw59yj4dc8";};
 widetable-53409={run="1k1jnl3jbrbcc55cl34wj3znfay2wnf8k8sgdslicvnan2j717zm";doc="1giy0gvhngsmfwc87j9k2p820j6bm2mc2r1kbcl4ci0c3383mify";source="0krkcnxzjrn7lqd0qh8lgjixfpd3c5glvj1ilqhak9ifd3lq8r4s";};
-widows-and-orphans-66534={run="0q7125vnly2ky6w2187dzhga2p6bdbsv7ql785ns4n7frnqz9g11";doc="194imvr58m34r3lbqzgws1g8wlhwczgs1wwwlp7gpj2wd0bicxxn";source="0cxvqcccgzskczp7n3hp1jwf1qklwrnbfb2g7ikdirzblscbc4i3";};
+widows-and-orphans-66753={run="189ch6wprsw4xsyk79pm03kkn19h5rkqpfs0g0p6kj5jg39x78xv";doc="0vzcyzcf8fh83llravv0iz739ilr15qpjkgyjmb95r0a9zwx044i";source="0sf8picg17x58baw36s0z41p7ck26439wjra4mbc6kl6gh11jqmz";};
 williams-15878={run="0pbij6hwk82pmddl199sxin34fk22wzvgfj0dpjsg0i5qrsg0qcl";doc="0vvz6fsh4vlhwirz27gyni6xnqinhl6iymgmfhlcc808y7fawcvq";};
 willowtreebook-60638={run="1g8v5am9pzabiq5l5306q0s3a9zmyrdx5s7pjbpph08bhqfhxvvj";doc="1368jr8d6444bnalx4p0by1133liv7fl4zpvafdm0a6gz8b5n5pa";};
-windycity-61223={run="1d8kywgr02z32cm8clyl5h3r7h49r5x8gwi41jiwyzid42jln0hf";doc="18qhpg0gmwnh78gvg8zkbzjiy9kscjza3i1d5cq4jifldv5cj574";};
+windycity-67011={run="1r395672jacizgwyk2jlf1af1np4p8i54vf4g6lii5yv0yhx6pmb";doc="0f6c5pnm31bdanbcjn5p7icq9qbk7j07sam6g7daj670z385lx5f";};
 withargs-52641={run="1b49fag0ivb5srlsxcbmy8ssqsrcbgadkvcxd6xn9l9bk28wpfwr";doc="12n87c9181kskqvx7bzvqjimg7agcm8n2z7rxnh1g4kh9bjr57ms";};
-witharrows-65841={run="045wa8y7vfsdgsqrvcr3yv8qs3hmjxgzmqkq3zl48pqd0f70slbc";doc="1656ksizv7lvbj64xscrcyi2zbqyihzjxhphmys79a6cvcrr1nry";source="0h8bwm57s9n0npa66k3lf4in6q2mfzr9kwndqyip697ij9zhr8ws";};
+witharrows-68047={run="1z4v7vr44xd2c8b86am74xi41796bv4gql41hk1zldswz6gw8w35";doc="0ycg0p5a9vzz7nihcsb49vdcqnwzvz6za7dibbx7am0crb4y9a38";source="1vhdm893g8zk7aqqpx7wsy35phaffpfhd2cj359z6k3r4km548bz";};
 wnri-22459={run="16hcapjdb5dx48gbcvk2bkpnp1w9knswni2vs8v1l9shxz03nnxa";doc="0wpf06is1vkaw4ivhrz4hfii3qrgs71cawgn1fnm8fdzalgb2frc";};
 wnri-latex-22338={run="06m6xwvm1pxz2bjf2xa7k3x6m70p1f5866wn5imipmhw4wjs2jp2";doc="15d9mcvdhs1jd574gm6a9ppxyy7avclvq54ikcmlf4vn20lygidx";source="02x8fdavhkxfnxhvr891adpn93yhqccs31w05h8f9hyg34jlnb30";};
+wordcloud-68209={run="1s3fpbd182zqi94kg59mpssdp51rh7gw5371xrp235g8ih50054a";doc="187ap98yaffx8nf935chvvgjalx0g8xk4gnaqbblxkz26qi8z3f0";};
 wordcount-46165={run="16vxb87jyj7006akcd7fdvnqihz9rjyw2pl43mdvr5lxp22fpxdx";doc="1yv9lj7k7m446knp2ghsj0dj95splsc6071w2iarh8cq1xlbj3kz";};
+wordle-68170={run="1kz3xxwls671vv1czi7fy6k0cpzrw39afqmakq8apnxazi96lp3l";doc="1jjfsviijxk6n3qymsa7v7rn7slfq30k2arsz3xrgvri2c22z3yl";};
 wordlike-15878={run="1mdgcdiwnqcsrqrzbl27v56xpnzvxb7gg7a8vass31srk8n10ssq";doc="0i9k22hwjkq3pb6z8hiff6zz8l3yjp4vh8x89z5mcbg8iw5gjacd";source="1azirdir33aixw7zh9ps9npxy1v8ckgsdjb96ri1ma0cy2z5d1ij";};
 worksheet-48423={run="1rsh38fx4ayai0mlakqgpzxpnwp6ckzjcpiwy7aqlpia0504jgpc";doc="1hagdjrf472ip4jjkrjv6mgycwjlhbggval7kkk449i0xd9kiz39";};
-worldflags-59171={run="1zgjygxpfngjx944195nmv1qyfqvgdp5izav69505k0n176fg0nf";doc="0s67hgrlfpin5fhm6d35vdd0nksg449fry51cr638aq444yv4r0g";};
+worldflags-68827={run="170wypqn7mmfj4s8gbm363l4hqmmjhsziv22z9hyfhrdh0lprip6";doc="165ny43vh389qqi7rzw7mhfyn04awr397i67kkc20jiqxl6v64r9";};
 wrapfig-61719={run="1axad52pzzsx9d32rivasl5d49dj51adk5kcnb1rr8mz59421rk3";doc="1c3xd0ja4063qzag0v07mxkk52yczlcwdbwn84gsfp5hdmd5cibr";};
-wrapfig2-66119={run="1j9shv3mgxmi4kd6jak97kcis7282gm1s9d173059iq6z9iz4g3y";doc="1bnkqmdcmjywqm6qkl25lxgvbk5l50c3pyx68zx8g7jjy954s5iv";source="0w46ld38i7acv0464j1ipmd9kdsigyldijy247rmgk05znzpadaw";};
+wrapfig2-68164={run="1vkp56jijwjivf0ml9crdsy4ga7763m6hh9kdw94s1zb60zh4zny";doc="0cjfllnqyj50v9jd7sdqbf7inic7jvrzd4nh3dhssgd5s2abfpnh";source="1zy26lvz2b35ywxxcgk5r6p8vqq92bbw33j39zzg4b739jrh842h";};
 wrapstuff-64058={run="1w5bnl5w2shar2qg2lm7768n8h4qvgzhxaacphjhqbx9zb1r20w3";doc="14npfsqr8wp1bgq9az4x23rmkkgpn37w4cr6c43wyqs7cvizz0yl";source="1x34kkbv8n8c89x21ikv2lyzlk24qbwcpcxwgv13lqqlcqxfz2ix";};
-writeongrid-65700={run="1fc9s2xac259lc9i8hhmxr3abpvbj620mk0izz50b33j80211ipd";doc="1c2kjcdw8lscbysqnxkicbq5smzpg9584zvn7psfvnys8qc4kwm1";};
+writeongrid-68863={run="0vkm3hfgc8a3a6x5sxyszbmhprqckpxy0ibz75g6dhf8wr30jrf6";doc="1dvxx2gqvip9wf80m67hb6w76bbwcy2nzk5rm4m8dj9fvpzfv2jr";};
 wsemclassic-31532={run="0zpqx8gi2yf8cm5rmvchz0jprfwcc0gjkwcrygrvlqhqqn7qmc07";doc="0h7vz6pza8bv8y8ihfplbsq8ip9ds2z63s7j7qh84vf325ci5chm";source="1522cvwkw0ryvhgdqqd7k8lrbrayrmm3h31c77v7x8a81cry2bj9";};
 wsuipa-25469={run="1grz4s0zi7dlgbks7rx0h0rkjvchilhjabs59h81f92f835lafm4";doc="1zw7ibbqc75k4hplbvqpdmnqg5ks9bw75mrwcg14q1rb1807sp8w";};
-wtref-55558={run="118ajsdd1d1g1fr23pnq1zrdczl5qgdcrqp4ly6kp8w2iwjhqdn0";doc="1nk1w4w8x9xfyr8wdr68gx24vw3arf89ak72rbiwjkspzjl1h9fa";};
+wtref-69214={run="05zfj6b59m0ic977w31fi4i86l7214xixws7yidvnr35fa7wm75z";doc="0g4fsbhhsvszvpnf1vn701c8kr8lpq01lcd2g8nnmknvrpd56v5z";};
 xargs-15878={run="1r4giz5gp4pcnxw12lr8hnsa45yv1lm1ddq6g33rkgs1qjzkhv02";doc="06kfclbfr2kc95c431hn54g0c6vcv7vscsskg9myrp94ilq1qglk";source="0k58hqv0jmk3v2jmx212idnfrs9rxqz93zq34f5kqx8dwhnss9pp";};
 xassoccnt-61112={run="1z25b0dps2qf1lsvmbq462ljyyakkicg92d3l1pz254n2mqzvwjb";doc="0057kfclqs5n04ghsz6ad0pvgzwp4hlpk21c66922nscyl4qrfnv";};
 xbmks-53448={run="0pv35b38frgwbi4ijn1x8w5mx48fcy709adlrkzhy641bw4isv86";doc="1nr1m8mhqwkjl9l9pw72ls8xrvg8w2gi8rar4chk3xmh6kphi7ra";source="0waizijqrvg7qigh317vr56bi2b795p5k3h779p0kbl53k3f9f6i";};
-xcharter-63057={run="1d002nncq3wq13hkp72k2293xidhz21znhix08fgz3p5ymd2rbk9";doc="0wkg6wy2kkq4lp6f93lvghh25hzzjzxhswd2ajxmgaq86cbfdw3c";};
-xcharter-math-65686={run="0y9c9w1whbhbr063d1by0lx02iw7f54kjqfkx3f8w9b4wbrpl0gs";doc="1xh6d4x8ncm4xb5nk9zxrn07hj6fccw9ngsaayink35qm1hjczlr";};
+xcharter-67742={run="07c71gkxryhr6a1yjqyqypsmr4ns986g00nqi0ij823bz6q34hk2";doc="0mkgx4daalf59qrh0afd025r0p8nq2908f4fs1am0sy6svc1m16x";};
+xcharter-math-68992={run="1bys9mnl562jq8zr1zd98c3vyvpjw1xp7pblaxcwxwsy0zij8291";doc="1f9rm0ga8mdjkqj4qv75c73cc9jbkjj6bnm6s4ayf4lbqhirzjn7";};
 xcite-53486={run="0zsfyaxs0w2xy6fa1s6hlrcnzw1q9n4n676bv6j80cwp5cw7nnhg";doc="1sfziwn05dii3gviiahvmg67kb04hzhz4cd1cwjsrrvnjii0dqb5";source="0j5blcycs86vgmi54z0b06il06zzyjp4v15lmdwfnx0amb9y8jr9";};
 xcjk2uni-54958={run="1x77gmg738r2zbyd0mc7q079hz5wbvabyszmwizfdj6vflm86w3y";doc="0xig1w251dsn2qd9iywcdc20plibadiw8hl1iwygpzfa3187djjf";source="12hbjjdypk0s5k5iaac80n2n4z1zlkg5lp59y58dwnn4y1dx6m6z";};
 xcntperchap-54080={run="0hqagjlxphvfqmslg91fpxngbm15i3kmawglszj8z585i0j570di";doc="0yf5ak4xr07jzlh8s087c7g8rfa71isziy1z13qy8ifv2882p9qa";};
-xcolor-63563={run="1qwfxx9nfl2nr0hwyckf63q53h522w0pnxvjyn95ql415im4p0rv";doc="1rvzrqxmlddgpc2i03rkiw0nmfc0772dwz4s4fdwqnn24ydsjyzl";source="1bryjaajqa6xbnbkndk9b5d2w682xci1wmqwvbfyz7sjalppa87c";};
+xcolor-68864={run="1s4iv57w90ckapbaplzj5p837k7a0gvx8k33cici0sqi115iqvxc";doc="194q54ls577n7cv6hwz6b5al98lh3v8za989cmrqg7gn1ahr5pqr";source="12lki4jl45c4jiwncfkcbypghqq8i61m0ams9jljfpgs66421kkn";};
 xcolor-material-42289={run="0sa38kjyy4iywgd9lwhd1aqw48laqj9h2crcarvjd8hr4xwhrbcw";doc="00jfvs4r7hsclvy49r6waanq1q9vszdi5fhlnbg5arhkf53lzii6";source="1jiyl9vry12fl3y2c6l8z5ic8jaahshbvaha8c98h1h2d8mqk6vx";};
 xcolor-solarized-61719={run="0ggm9s8vqw80jfsmw5jn143xcbrx226rwkarjkfqhnlzx85k2d36";doc="1vmr5y6c5mi7hgkb33daamag2y4j6vpiyxnh0cpya824l6miichq";source="06f2x0w9k87wd75vm6gjxg2pdrcv3g6406nraq2mnlf9sial9mnh";};
 xcomment-20031={run="0hxbf6hid76d1gm7ngjbrrcb0x7faxsqa44560f93n6arhj1nmwm";doc="11zcprsby27n8dh78658r6xmmkpqzmx28f6sqc7jhg403jq0j27f";};
@@ -4120,7 +4238,7 @@ xcookybooky-36435={run="0hx5n7rz2aw460m9cqk2f2p4d3v7fhr02cjf8wk471fp8jwn5bx9";do
 xcpdftips-50449={run="02g4rm81gf314ds6yzrgasj1ighbyvka7p0vb8mrl78m1ybqjab0";doc="0wcbx6qx288448h2rffv87xgzfj8i30z1v2j6qcp8nlqq21lmw38";source="1h60va01gkm2m9jz521wx93libahh9fi3a8pyb67l6zgjd8dllxi";};
 xdoc-15878={run="18nqhig2kiwa1yzk06v65hzriq6la8c31j6f7caxzjrhjkzx0rvm";doc="09i5zcp7qisgf5rj6ys4rqvj8v8lxcxr16ddmzzvibgdc8kpc3za";source="0vxkqg2jl0qfnahfs82764z7npvsyc0ys3qlz6xk61ylhyqvycns";};
 xduthesis-63116={run="08cxhw5lhklv7vxl30fhwmlgq4kmv53a8qppcmsap1v8jc8vjrdk";doc="1j8pqz4l85qiziry85w7a23i6s577nb2cpbq4v5jgvp5l8x8lhzk";source="0zdlq46z2l3y5zydal9nsawv7nhhp113hdia15d9fd23j8gq4jdp";};
-xduts-66475={run="0l79ks9j99alp43nia6m6l1wd4r5a4x9v161l25c9zzcjg6xb29n";doc="1p9q7g77rbc7f3pzvnry8xhb956pzfcys9358lhxkvf3wh76rar9";source="07cn29j9y5aia67q8ja37vhql5yj49jravanz27sgizdzqp5sf5d";};
+xduts-66661={run="0l0p1xmnphgsfqq0q4si38zbrzxgmwzw3mqq7lyd48vwq8m8sqad";doc="0l1v9a1c6bhd3k9r272y64lyqpgn1vi6hflz8cg90ybxqxwrgb3d";source="0zaxm3rv20ijh6pmcas69hc3m2x3355gn8g1z06ihn8fnz77wl68";};
 xdvi-62387={run="10aldzxy02d9phqr9qwpxxwci7vf5q9z7sgxcz50kf44asa28fcm";doc="0n4v45wnzba23qpv5nmx87rdd09wl74jjfgpy6z66xp9jsdlja4w";};
 xebaposter-63513={run="1kdrjvdzsn9jwb6awcj2g2cr5csrhzds4w0anb8wm9q3532hcw58";doc="1k2cv0b1l4bn229rjvwcfjivkvgdifjgs5mlp5s27jpq9m5jvpph";};
 xechangebar-54080={run="03d1wmvldpfk6y52sd2pvw3ipglbl8cc851rqlz5jgk82c2frxg0";doc="0cnc62nff1vljwkk6gb6r0cwxq17b2yl4v9ilb7kxapaa6apbp14";};
@@ -4130,11 +4248,11 @@ xecyr-54308={run="1qqfdi6pxlkx6pxi2q61i0diwmsy9n95x4bvj9r3pgaf851p7cjx";doc="08b
 xecyrmongolian-53160={run="1m20p5x1s92cwhsixaz3s0y00r8n0j6172bi8vpyzcpf8mc886br";doc="0kiyjcqlajmpj80n8wkk0ziri83811ivl380i3cyz7rxmsh1hqhg";source="0dj2191iqcm9qpi45h45r3cp4nz5gdviw6xf9iz261b3pn515prp";};
 xeindex-35756={run="06ipq7m9mnal497j3awdspqim3fs7v695pf2x7v4l92vqz3hh1sa";doc="1pa1fa8vjgbzmgphx3fmm93dd5wr3adxrrld5xibk2qrp7fgkbsr";};
 xellipsis-47546={run="1slakkdjh4c88caxcdznir5gkw0v7aahfpqksp4l9as9bsl52980";doc="1jlndanic0xc16ba1hg1lswcxa2b20hibd25bs65wyag04rbh8lb";source="0768vqhmxgra190g0k3k4hhzgkhkxwwnvwmdpymphsqm9lvxbl95";};
-xepersian-64872={run="007x0i8fg1chyc8izb5rcy6qcglsnm1vf5bgaq6mps7kq8vaqyqy";doc="0g2y4ybalqs6q7b91q0y342pxf0n5bsirpv59yyya9z6bbn1pi4v";source="1kxbbjnnjb8d1vkf67j37v4ay5mdi6isjh0aqkdjgcy26iqb1cm9";};
+xepersian-68117={run="1i461pl3hdqd2p02d1xnmzpxfc8bxcip3c61bfjf30cnsa184zvc";doc="0b04na4c83ly2r8jv5d1mpjvhnc7i46kzhbgkh5kxzvjrpmqwnws";source="1409w2mfp50mihwn7vg3krhg7mrijxjc09sgqhxa1fgv1c3yqisq";};
 xepersian-hm-56272={run="0qj98xrbnh9bam0a6c6vy7ffaia3iqsx5s71bjlmbnyl6y2h8lwp";doc="16f5x8jv8mqf5a32gvrzqwh1xz4s5nxwqsq4q8sg1za6micqniyg";source="0zcq75xzkr0bgpf1xdsphrkcv70q17vs8jkhzxvjrfzilh9h3iqr";};
 xesearch-51908={run="1rszh3svj87vw5lskxv8bvnkzzj6k9rbikl6rr87ry9apmymsklg";doc="0cb73d981aa0s0hg2ynrg3zybsaw28f5b29zmqgvzqidi8vxfbhl";};
 xespotcolor-58212={run="0w7nns136gfz1dvq6iplk0jbza85lpzlpvsxf1bzjhqw5sk6v4p9";doc="1fai2v8x4g9cmda5m6nvf6g8w6qg64qfdq1rvjlz1qiqmy71c8jy";source="14yachqawnmpldkwc3f3q4krj2sr1kad7wzy1lfxwqggvpbdcjkh";};
-xetex-62387={run="09124rd2k40dihk4c1pidkd44rvhv1b0ain1bfk5ry1032ky7wly";doc="1zj2mwi7rlibadwy42f1jkgzni6wvz01rwd5d7w48x00sjxhckxj";tlpkg="01xia61wywddd2aa8xv703z1fb6sz4n13gvpbk7kync4dmki8v48";};
+xetex-66203={run="09124rd2k40dihk4c1pidkd44rvhv1b0ain1bfk5ry1032ky7wly";doc="10x15yqxsfb6xsl8z75i1hnh6dcff6ivl036945cfqsycyi9sq72";tlpkg="1ai1pw2hqv01z24x9s7vjva5v487rrr6al7rqpa001k7in2ijff4";};
 xetex-devanagari-34296={run="0i6hkzl2jbiixzrw2gvngnyzqkz0lfdilj1zz5xi6ypffi4vyihx";doc="0ahcawr9872lipz33jrv870lj2601j593fwfqcn5x0jhas93ch6c";};
 xetex-itrans-55475={run="17476frf0r4w50bfbk6g6ic40kv3x3i6qpl642glb3vyzyjd5dbg";doc="0bs67djfa9pi1k2900y2ybnv6lgjd031cyczks0jjzfnav2g4df6";};
 xetex-pstricks-17055={run="0i37r4lk1l36cch6kjz12mfzgpg6hd7n903fzbj9h7mwmjwnrylk";doc="17kiv64h94hf83ailbw29wf15r7gv9yq06h3l53c38rn0n20vdz9";};
@@ -4142,47 +4260,47 @@ xetex-tibetan-28847={run="0r8xgnagsqrkxr0ij0mcv30vhf7c3amyf9lk895lgwsvz6cysmma";
 xetexconfig-45845={run="1253njshiwdayzq0xir9cmbi8syhjb3sc4pyrw9p6kzyqvckkcxm";};
 xetexfontinfo-15878={run="1sc0lm5w94320f5abv2hw2bzqprhk73fjv2lkv380fgkpdfi7pdv";doc="14mc9snykdwzcmq013bs8vzn5w80lblpg05jk57g7fl2z9x6xl38";};
 xetexko-64894={run="03cqwgd87skkn9bxrmka5q0cfgz7wq7l2kln9apq35xhz6qr5hcl";doc="0iizxcn99c9qvm0l5d1724cw3x44w41rhhlb99kh16bjxs42xc2k";};
-xetexref-65972={doc="0d6xwyd09rrmd0pjvrdha05l1qldppd2k7wcpyfb475pd9q05r5r";};
+xetexref-68072={doc="1gq31fz879pjzn1r0ksy9prhvh70wil785p5nsj2n5pa67hd1h5g";};
 xevlna-43864={run="16ayk70kxk2s23r6nxva1hkb1z7aw7zz1zhmcis1bsijx657kw25";doc="09aaf3mpbh07mix5xvr20zybbbrbgbwcmkd5q0rfsd0ac8cm72fh";};
-xfakebold-55654={run="0dd7dj7nrdxrnznly4qvsayfb9n0cd70zr41jm8b7n800rn8z0v0";doc="00k39478xw7hldrhdvi2g8gl1745msxhfiln04q64m6ahpabca92";};
+xfakebold-68929={run="1xmw5mm5r2r0bvqga95lvcyf5y0jf7hc40sgzdnc2dx9n8sizwgf";doc="06a3znvv53c3ymfh53f37anlgj8878n5mzcw0mdjszlg8q4bl914";};
 xfor-15878={run="0m4y0caa22fps0r6735kb9pr2f89z5a8wflzrvpbms4nh3a61zgc";doc="0c0qg60h631d3m9rqr0nwj9772zjv3ch0d2p1ksnqnjf30idydl1";source="16xp7hziirlnd507g9bjvszm90wk9iv6ankq8bx27qkyk1shhjfq";};
-xgreek-64300={run="0gva8rgq8m03ik4wx55dxrin57k92d853vnihfpqs12av7synzpj";doc="0rwc23lsqy3ffjxb5bkwbyj3s0fvrbbf4n730plw642071b0n455";source="0ch2mb352zisg1vccq6mhc4a0gpzcla74qqj0ayrfbg3zbixlidg";};
+xgreek-69268={run="13hvjamdswy98r0z19hgyq9nd4y7x4j1vq06garkpvq9r7x6v68r";doc="0dn65ndxdg10zfzr2s4ybsalcl3gymhygdbyl0cdzsqkcv4xj7d5";source="1g6vpqia7yffnkzdshhgly1c69fdrlphaziia2sgcp9zc7mdwlb1";};
 xhfill-22575={run="00lb01b27h1bg8h37rcm7wmqh5pc3gz7rkw0l6xrfai0mb8ypq2k";doc="0alaqaiz2dfk4sh4xgrxfrwxgisv2p0bfdz7ppiqmli10al1h2gd";};
 xifthen-38929={run="0ys8yq13vhval5jg9a4n4pv7b3v11w1yh63ssvyx3pnr767ay5r8";doc="1miqc1bfwi2ssl6yp9aqw7ygnars27vks0grpyfns494yimy8nc0";};
 xii-45804={doc="19jhzv5hqzj59wrfcr1dsj6z56qfckax694idgf8arri5lnbkdd8";};
 xii-lat-45805={doc="1nn54xv71kcmn9jbkcslz6a64cvjcay9x96rrxnakdj9qcqd27r5";};
-xindex-65597={run="1lyshvrkd9gpwalmfa824w6divm9rq552vmqwn12c4wr33fk5zwz";doc="184c0bsm24p05pwgzxnb8i21q4p4n4dfmq57p6hfjsgqpx9mrfdj";};
-xindy-59894={run="1pb2146xb5g3l5jbqsgzy01lc4zkd39v7rd0rdnwdf7yrxad4zax";doc="119lq9mqczsh1np0876fz4gdfyq1rxmc0ghaqyriwl4fzj6lka1n";};
+xindex-67771={run="1scp2bj9jlp71wji8fa90m9jmjm2075cjand9schs8551and42r4";doc="0yddkhqk43d7hnaxfh3afqqcfqadgcx26f77gj2bs4xl9qa0c755";};
+xindy-65958={run="1jm8gi2pq4rw60p8bh7hp5xw1kyhy9r02zy5s2p2xyqh5c6di7jn";doc="119lq9mqczsh1np0876fz4gdfyq1rxmc0ghaqyriwl4fzj6lka1n";};
 xindy-persian-59013={doc="04w3h65215slnakk5w19m94xmj9cjx01izbk9xijifv5l6dqh447";};
 xint-63562={run="1nhf2g00742yzjzl6hnc52cbp1y97l60grgjhjc7j80w91g7vv35";doc="1340cagm5hxif3qmfwvhy6izkhg1awazg971a9ww8xlnxk70gmp9";source="183llw3pmalq4ylndhnvbfc74h57xl9q6pcbr9bnrazlxkjmfpq8";};
 xintsession-60926={run="0p28r81qa93r9hwsaib9jbg252q76xz1hxlaf6q0r2bs3i8a4hbr";doc="1fzyqf14fdk6mjvgfxg43mx2gncj1c7m0h4fid88z7ffsa6rq1g5";};
 xistercian-61366={run="1bkwcw3n5kkygz0d5ihikxp5hx2mcj3hvbqpggfv8wz8y820fkjv";doc="18q40xjmzd51hnh4ga6g7yx3ra8lmcysavf5r2wv8chqfa6jcxji";source="1vzkm5p56h4rbsj36nnc2c45p6fchqdmym1hh8fblxdy311vjrhh";};
 xits-55730={run="0hnjyncrb0r9ssp6aj9lih23b0z031fjhc7fjjsjc89igbxb8v58";doc="0iv1bs2i1fn0pr3gkz07xaqsdfw9idcyfdd6bzqjryynas25aia2";};
-xkcdcolors-54512={run="0471difnr81ihdan9qm8a15pgiy33fcc8qpwwigkhqby1f2sl6kl";doc="1s6xza7ci8gazqhrnhqj1c4kqd8b7dbhwy01qds9wjxbwrvxrm9y";};
+xkcdcolors-67895={run="0nhg0b4zv1xszx2sl61nyhfc5z5caw5bhi16ia119j3kb2lwr26h";doc="0sqv3kwbhh8ay0igpfal2gx22sbgay3wkwd2kzbs6rgsp6xyvj0k";};
+xkeymask-69223={run="14ll2mzc3sa1271yvq417a03g4ky4fvmb8zhmb9bqvw15vz7v53l";doc="0a9n4l2ffd358cvyc2xqvvmrd3zjq6nz7d99b490ap2734y21q1k";};
 xkeyval-63616={run="03m4skbhpv0l8cg3v50650k3h75x8rzk873hnqry0frb3qphjycs";doc="00xayhdwcwb6nq093v65pp1vzx2icn1xpkrbl7vllls4viq861s9";source="00ljf3z3017jdyifxhvls0j4l4jvdg8wi7sh56ij9qlx5jmjjzdm";};
 xlop-56910={run="1clpl22vxgqjpzs0ypgak0d6z0sr6hw3gj18r7sgs2q0jf5m6715";doc="1acnr4yfcakpnr8pb8g26qh7z9xr4dms4nfy50ig7r7azmdpz9py";};
 xltabular-56855={run="12skn3ld5cjd8jvh32l1h86mcqmx03v2w04189rkxh2q90kyjmfw";doc="1lps5w6p2j0c1bszyrbwdfn9r7mii9k9k6ap9s2ssb2rrfzf291f";};
 xltxtra-56594={run="0zpvlsdsrn6pnlfd3aa23hcrjfnnrjivi7r61g25j9sqcx7cmkym";doc="12wp6zwqa5mi5i5ridd2amnr48xrkqmi92xdhh95ydijpzyslhli";source="0vwlj6f7z7fh1vx257v0gnxj29rp3xqjpxlnn156xp9i8i29v0hn";};
 xml2pmx-57972={doc="1d3ralqh0b71scd59b4hmm707yfrz1rj28ni2lzkhbb1ql73bvah";};
 xmltex-62145={run="06rhg0mgxsv4061w8k6parag7fkhrja81aj900mi65bdwmxqxxql";doc="0zjaf8nvsid88nrvzgprwjcm6nirs6glyy25xws57fa9yhza8di2";};
-xmltexconfig-45845={run="0drgvmn27snq43kjkpg5k4igkcdi56p1q3fwkrv3ivsiqfp6cdz3";};
 xmpincl-60593={run="17p97mqcmy10hql3fvdkkjbmlnylhz852ckai0s45birpk6bvi8p";doc="1k532g5b8fm6ly9whah5133g6yngadb9w6cvf2apwm9hwx1pmnxj";source="14xwxsxfa8m8p2idzbkcjznh46np2fikn511bqw54k4k6991vmx1";};
 xmuthesis-56614={run="05z3pbc9gqfnzp4y4a5p6bmprsr1r63w9l442hgk3pshswc2dflp";doc="0dqmbdz0ydlq1hkz0s3lr12sia1qj7p912carwq4pjg9rrw98z7s";source="1c3a90gpb2siww65yc2l3kf91bf5xvxk9iq1s9cnx1ngxjbs7835";};
 xnewcommand-15878={run="1hqpc8p8bl56gzcmar6m670l6yq5arlh382s3m649lya35yydmms";doc="1r4wlg8368ax3p492qyh0nzxkfgkgvm5bzrbm0jhh9ayk9sp7ryf";};
 xoptarg-15878={run="1ykc3mdg45hhyk5x8lv06zggfv88kyrr1zqnv8s9j8cb5c4r71jj";doc="1g42s8mgr7yqdziwza1g241vjgygzddk6ly8md6c22kj8g0sq9jg";};
 xpatch-54563={run="1almf1wif49mi3yqr4qsdffd6m3q8xcma8x9v737ffczsffhs923";doc="1lxsqxzajkcfw4b9i89bk0gmhrsprkmgqqbj5v34bgvkvh0n5pm0";source="1cf161h6g6m3q8bq38imvmja7ral7lpyb26byb8nn26lgixkprad";};
-xpdfopen-53998={doc="130wvaypfrg9sav0pdcdy1g10fll8pqcsqsy70fxlzzr937glsh1";};
+xpdfopen-65952={doc="130wvaypfrg9sav0pdcdy1g10fll8pqcsqsy70fxlzzr937glsh1";};
 xpeek-61719={run="185jan9h82hrc8bai9h0k09dj2q8p2klqvz042h7xrh2napk060m";doc="0sag912jjxpiwbsgmp0l4p0kw4jfhp1j3sy0lb4kdxcqrzf3m1aj";source="144glnmckvjm24smk4d2xmnkfz8n3r4k7zjmsd0iwa004n28il5h";};
 xpiano-61719={run="11vk7k3n3np2wxx7gv9rvlgfmipmh1x0bjq5b2yvgsfxii65kwz3";doc="0hq4v45nacdxygxpjby6s8smlfkkp63yg83zfmwcl3dgxzayb2s3";source="00xnkxm6ijk1i0h3q0yadklc7f2np19bx3yzq4dzrfavdkxjz8f0";};
 xpicture-28770={run="1z3hbmqlamcm9wgwan834hggks2b73s73h3r2pppp00a1sz3g343";doc="0ymdwdspdhrhgyxw7h7f8nal6h0kjw6i8zicmll5vj8vbmi44dv6";source="1yjvqrpp7a0d3nldqidqrk2xk1lp5vbla865l3lxw1xd5b08y40r";};
-xpinyin-66119={run="1bavg69s0hin8phlgpmz53vkjlh039mancih71amw8bbvh077ynh";doc="0rnqq2hy7wzip9nij6bv0jvahrnsyqdmkvr23fvm7f90s07d1ay3";source="0yj7qh7qp3c1n17vplwywcsjwwy982gp5smxqq110syk6w2hppj5";};
+xpinyin-66115={run="1bavg69s0hin8phlgpmz53vkjlh039mancih71amw8bbvh077ynh";doc="0rnqq2hy7wzip9nij6bv0jvahrnsyqdmkvr23fvm7f90s07d1ay3";source="0yj7qh7qp3c1n17vplwywcsjwwy982gp5smxqq110syk6w2hppj5";};
 xprintlen-35928={run="0ywzhbp0b40cq395x5bv348f5dbbv29cqvlh6gkznr6qkjm6ai3b";doc="0dslr7n1mfbclyxic7pl1i425hbcb925jfbag0sfaal03pbczq7z";};
-xpunctuate-26641={run="0bqv9l0f3fwvzv2hcp2913spilawj21zbhdfgs9k04knda4xb7wm";doc="0r06jwsc38qac0k4b2rmm56phxi0qgmmvlixgk3w3mk51d26jz0f";source="1i5xcn13kr9nbfx8nc34n7qn7zj3p1hggws1yd1bqjpvj2dbssk4";};
+xpunctuate-67918={run="06lcrbk2q0vy6myjc1qs94p6746acawj7z38ldp3vvc4xynrarnw";doc="02vzwbrqj1dzd46xj49mldkw6rqppvq917bj8216argr5dc4dfk4";source="0lrgdnfv9zlnlyyyybr76a458sp8bayrbl0vw6jzzs0psy1lskq0";};
 xq-35211={run="165zyviwxybpgfx9ycngv9nml482faz766q1skgmligx05qzkhyl";doc="01yhk07lrcbl7ppkqvks5j7wjpwyy0zc69q46wh42gbp65vp24a4";};
 xsavebox-64049={run="1zsv2yf8hp3yfdz2hwlqdzhk40xbcm8bhxwq0dzzkdqi73pfay6d";doc="0ad4gm6mxayrsvbc38nmn20jiv72g177r8vdnv04f8z8i02h7im5";source="1x3rm695vs3nh01nal4qyk164kfjx7pjx3sfmv90cj2jkyi4clwf";};
 xsim-61988={run="1ajmvlrmx97f94k7aci6bni5bhhlrf07c7vb8vnjgyq2iik12ys7";doc="0ppqjy9sgkrwcycfj5z1igi6w56rvcb5a12p22spa56fpsh94910";};
 xskak-51432={run="1hirv11b76xl7jx4swpa7imhjncfn81i9qc118qfrn26n890dgr4";doc="0hzyv8gy91avmpf2fgjwpqfkkbi8255gy86xzn5cz3y948l3m5vl";source="1gw6xqbpcsgdi5s7d239j0ds18w674z4zfibsvbgqjb70lixnyv6";};
-xstring-65551={run="0vpbi2v7kvlm6w541sk1jdi01ws1dp0cff2k2nq4yy9icrb4rl51";doc="00gdmsg807cway1y30q44ivh6azjzg67rfw2jz70h1hcg9kbvfcb";};
+xstring-68015={run="131y1vly79iga9yi9lva4bizxs00p4gyx44f7gcgqnd35biqpy00";doc="0sn9djwkb06n917f1zly6gy81j1gixvp0w28a0f4i3whk3va0yac";};
 xtab-23347={run="1cpcs7k8liapv68cghfwj5fw80rz71qrld7l9lsnli50h7ph42sz";doc="1z3wp3hqy98a4l34kgm604zajdyv0b2vq0jipywmdc12115cw63f";source="1im5cv88g6n88rxzx8lqcxfmhkihywrv2h9gclmv0jx2mmwvwafv";};
 xtuthesis-47049={run="1d68hx38gwwscshdm07rcg75zjbsvk5kyliy5rx6z5jp75k0fra4";doc="1fdr5k60zxjb75vv4m6mj1kalka1kg7cw3k5j9a53n01m2w7q6r5";};
 xunicode-30466={run="1h8ixz9zy9izv5j7555094jiwfp5js5y8mp4bh993gn9xn1rb6b2";doc="0jrxnpas07np9a30cybk6jqv4ng96vjqpyyadbl55szkiylzwwfi";};
@@ -4196,15 +4314,15 @@ xytree-15878={run="14f3vxkfmv2s944qpdhxpvbrpxq2p259bnk5sxlcv8lbsk2fvvcx";doc="1a
 yafoot-48568={run="05b2niwqs6c43gl4ag811ljdd0nasmbdinz6dx2d488nl4jiifaj";doc="0mbg6y7qsdsq5nwgdh32kd9x3ghvf8qlbrm84rg6269ff0b5achv";source="1p3zwyg1pf3ad35w25ahlk1r4c18k6vvllcv8ccm952mjg79mj83";};
 yagusylo-29803={run="12p2kxrqa4479wrwcbbxsn5hknr1ai9rf1x76psfs43k9fh1pnn7";doc="0g0vx5zjrfxrf595c0kz378n2h9hrlaf9sx1ypw3iv90zns1sp35";source="1js0slg00sr0bc0gysxvlp3jwlfa57lldi6q7a8fvqjfg9bkclvm";};
 yaletter-42830={run="13xizdiq8dj7iyjw7a9srhr24c1z6g50r44a7hjz0909z3b58j65";doc="1jgv50mssx6g94fh5fcysi884w1iah2qdwb0vrkg6952266gdkvw";source="0byfxy8h76m0jwgd4q0s1ar08sr9ys9jhvsz2l44id321w5276dj";};
-yamlvars-64949={run="0c6862hpzx5jihs30pm1221mj06sf26q2kv451drc39bclzsla05";doc="07srm1ba3b5yhdm6h69nyzyps9i8lhzav8xa1cfxszjpk04if3dy";};
+yamlvars-69071={run="05fjkphk70cqkgkd0gg3abnxdnnr4yyr6sd2pbkyh8jkc1pwadfx";doc="04cjg932c22v40fmka7baj17bs99awilgvmakdbcz4mqiaw9zmzb";};
 yannisgr-22613={run="0h61qn97l6k97zbgk0ghqgr4bf8fhbrb037gdskg2sgxb7zsl5wl";doc="1vw8p9xk3aj3lfsq8a2qv7qd00aqx22fs3427j31wnl1iymwycag";};
-yathesis-66159={run="1kbp66x3rh5mlfpakgfyfk34aq5wq7dbg3dqpy3g3cvlfjm5anwm";doc="0y1v78cy20i042fg02qq7ipqzrfn82hrgzfdxz6p68i10fmzpmi1";source="0q47z4k7k55n0wxabh3sjlfdd68nm8bmdy8hdkl0b5mfa5dh35z0";};
+yathesis-66146={run="1kbp66x3rh5mlfpakgfyfk34aq5wq7dbg3dqpy3g3cvlfjm5anwm";doc="0y1v78cy20i042fg02qq7ipqzrfn82hrgzfdxz6p68i10fmzpmi1";source="0q47z4k7k55n0wxabh3sjlfdd68nm8bmdy8hdkl0b5mfa5dh35z0";};
 yax-54080={run="058i478l85ilq0asix6mkdn1kfzh2abqn9ngar6s339db4h81lxy";doc="06i376649jszpwgvb0bq8wxchjmhwjfvc78pl5q6q1ic2jpkq5pj";};
 yazd-thesis-61719={run="1bhjqd6k4lqk4sypssmrsjl9lqrbha9d0n42qbaq1mg5whpl2b8x";doc="0krsm9s3ym6f3d323scvxn8cf1wjqppglhmzbxwn0cpjq5nl01pg";};
-yb-book-64586={run="1fy9f39kbmlsm0fwgpkm89s81bs17xqvhbgmhxf707bl9jni1xb0";doc="1xdh1cy7whwmkaa3a05i13m9zkaggc7q4bqpqi3r52fxxv71nbqx";source="1lr6vyxxqxqcirmhbmk0177bxa0xy1vlw9mih5w86y3wzxbfpn16";};
+yb-book-67188={run="01ha50044ph7f19jrpkdlfa4idk71k21l28hwm67l4y1q6fyzrll";doc="0ckn24i29cqnlmvml5w77ws9rx9k380c470kv2b2d88709yzzqgf";source="1j29rgbdnlmi4a2px1y3xmq2lsdrwlmi9l3dqsac1lx45hpqmhby";};
 ycbook-46201={run="1ajhl8vkd94yajib69s3jw6v2jbbn7h6g92m0yc86gfri3qcff2r";doc="0zf71gmxj1hwywlw5h8klgyrn9mww12hc4bic0l0gmwixvn6k56k";};
 ydoc-64887={run="19njcgsdhz094w6c7hxp20kcj8b9kvcx4y6zg0rzsxs3h4fr2f21";doc="1dpjwv7m10413dxvhqgxsw2rp9n2gw8s0jghshgmbfm6x46a4db6";source="0y7cc2sl9yia5ldp2la1wy4d53jgxgcpi0v5wkc4m554jl9am4z9";};
-yet-another-guide-latex2e-65714={doc="1bxpk66cfmqc6g0d29vvfd4d6y83nhdxsb9gsfwqbh38yr6rlq1b";};
+yet-another-guide-latex2e-68564={doc="1a4z4ni7327jd1r4n0w2lh7bb8ag7dfdgr6xwl4q5hf2jbdv8mmy";};
 yfonts-50755={run="1k7b78fr6x8kp6354viqfni3k77d96qmx9r76249m5j140hi6fk1";doc="0a7fy4z790fr6q4z5qnzv578x48kqs128wl5znd5bn3mbg0n0cq0";source="1ph8vc09vg0zxc9x1xydrm9wn6q5vml2bc3wln15v69p8nm52d7z";};
 yfonts-otf-65030={run="0rhym2lw9jk2aj73ndyvr32ryz58krmmfbm28cpgaia06crjl4jp";doc="02ghwiqnws03wfhg3sim6xm1ifdpmi4x5yz5azssxnxfwbndp62n";};
 yfonts-t1-36013={run="08fbdd97n2h649kvks6q03zrsjvb1f7qwys3955g6iznf4y8pyv6";doc="0h0gi1j5fcn1nkvf0abf2aimj2q3h6bw4rx7kzg5xra735fqpl4n";};
@@ -4213,28 +4331,28 @@ yinit-otf-40207={run="1yjz72nixv6di0ifsimbnc34wlw6s8nqkwflkag2p75q0jw52qrg";doc=
 york-thesis-23348={run="04c8g1wkl795caadm8kqfy6kdqqgwlk46lijpmyiiykbb8z54wq7";doc="0zp6pfr3giqm4nbsidg06q0c3x9gr4bk3g8qq7wxl9a2pgk3z45p";source="0105amrybkm78pwb9hrd7n8r69sj6lkh1zm7c9sskibb13lqrk9p";};
 youngtab-56500={run="18h6a4b4psbm0hjxq2xnk4bkmsa1wd2fvarrzfkhcj01hgn8bz17";doc="00jkdw02iary6s5szh7hf4qjlr7r8y9lfmvlnrpqkhh6pdhsy3jh";source="1hjqkj12jx9imfqm7y1mqdvp1knhf69kbixr88varbh09d6r9p66";};
 yplan-34398={run="1f2kxbb32hxwgin5bn7b78r8sqdj4v1q80sh1c87425zw8jyd73z";doc="1ls02mng1jwihz8s505brmaqcjn4abqys6bwl22dy855bw5rgr5k";};
-yquant-65944={run="194mnyclwr0nxmgyigfyw82fns4b0kq7a2sizppd4mz826cfj1w9";doc="0vxjrj0hffrpkrdsqy00gndlrsh8qxqmn6jh89xgxsj8m1m2n5z4";};
+yquant-68997={run="0xlwjgc0lwls7zpgbd0v85cij3a66vsv2vwlr6a73s0bjyjy9akh";doc="043yq765f23rdhn3pmdwzy0q3x91hwaawfwakq93acwbx4mqjz8h";};
 ytableau-59580={run="0gfpxbvar3m21pj74j19qnj8qakbknhvssyvfyw61jwdd8ygdxkd";doc="00k10759qihk3330bwfpzmrm9bfb8513w3sak9jlfy5inay59rbd";source="05pxlbj3rdgr15cqfdxviyp2698b7l44rzgssx18yv2a8qnaxylh";};
 zapfchan-61719={run="1753lvv2bq29g43s4chc884n742695agvgal0b99gsrvlkyfp8gn";};
 zapfding-61719={run="17mls8wilz9api9ivsbcczpiqp1f39qy8wa6ajssi8zhnc5lq7zn";};
 zbmath-review-template-59693={run="1zyll0lpd3d2cjizq6f2zxnb1pmdl2qkhd1fcm9f9l6i5fqmjk15";doc="0ymvngll5znvw0i4y65imidy21fzfzsdcz22i2i8369k1n15x6yh";};
-zebra-goodies-51554={run="1f8iv32wgmkzqr75m44hiagz34d9h8qz38ylh3jaq2d9hxf0l1fq";doc="1fz5bz0k6ymj32wc6lkikk0b36b6l9n893xqhbhac4y5gxd1r8z0";source="1as545i691hxy3kqnn72gksgqc9hswz7n48zzhmaz77q6ilnkpkm";};
+zebra-goodies-66630={run="03m5npbrbcmxw9csl2hg1jgzjg96rr2r3yix3sajkxzmf2bcm3my";doc="107wr1pjqc9yswd52gflan10007p7i072gysnwdpcxk880f1n29l";source="15sw808cqfjvwmdnnkds9n1m29c7dzdm3id4hkm2cl92jxiygb0f";};
 zed-csp-17258={run="0wr6dxb5ks34x8rzr7s2cnanxc5jawqcq0zhkmxrh8cjqcfkk1w9";doc="05gm4s4svqa4wds0ichfm6lk39i0y54y33b96bnycrabggqfw77g";};
 zennote-65549={run="0sawds55l9cc15b3lvr5zswg5ybsj8v22kx8h5gn65g4j0zj79aq";doc="0qwl9f1c777iim45xcl00b3zidzs4192hyv6vv14a8c57h28j7zr";};
 zhlineskip-51142={run="1j3wkvd57kdwhhny0dzw0hqqnv2ghx1mdjgyzrhfj8gf3fifdaym";doc="0hy14njxpzffcnyciyc4zbil6372b640bshfw9jq4wyskwk3i45h";};
 zhlipsum-54994={run="0rvwbnqzgbdihdavscn8mcc7hy6yjdzj2fc2h3xs3i77lfa5140d";doc="177l81c3zbgdvjgr861jn917ps174zg8bab824f7dx2gj5mhdzgf";source="098fqbcr9fdv6f6hjaczm3q28dpx0g8xqjykg5hyx7nfp7nh6yjk";};
 zhmetrics-22207={run="094afdf0mwb6f5jvg7z7cs5xinia71cnlaixcihliai37kdn1qss";doc="0achyp4i8dfhrkr9jddp7qzdifcqsf28qaqdnyb76525mvgkip5y";source="0hic8n6kq4sx2dc8vb34fhyjrbbxp50lllyj5sh2ld9s5fwgm3yk";};
 zhmetrics-uptex-40728={run="06g61qm3ryy6mvvaq4whk7084hjp544dig57mwcxlgp6cfs0fq8l";doc="0ybijj2hjm4byli3yh8q9lgb40bdpq16d9273nrmiyy8szxa20qc";};
-zhnumber-66119={run="1iryx2mdk0fkvwnvw8z71bscy0kk41nx85flw88kwmsv5bd3aqxz";doc="07hkrlf3gycv0clmr13c6xxp36yy5wrcmzr39ms3ql205qz94qcq";source="01b6l05j6mkx2c8lbj2kmkl7cr5l9cwj2z26v85mmki1z3fkqmrw";};
+zhnumber-66115={run="1iryx2mdk0fkvwnvw8z71bscy0kk41nx85flw88kwmsv5bd3aqxz";doc="07hkrlf3gycv0clmr13c6xxp36yy5wrcmzr39ms3ql205qz94qcq";source="01b6l05j6mkx2c8lbj2kmkl7cr5l9cwj2z26v85mmki1z3fkqmrw";};
 zhspacing-41145={run="0h588z408lggk7370l9kcssz2hn9lz19bnakadygrklsyhqh9pzh";doc="0s5qyrsi5nw0vppgx90lzz3ra121jgm9hgzg3z791imlxgjn8pzr";};
 ziffer-32279={run="0nalr6i8yqd1iq713gigafnh1k0h8kgiml1zwpk8rjyya606capw";doc="1cr63lkqi9kpkbpnrwmbppipsmw6wy732wsaha0y9y5ia2934nck";};
 zitie-60676={run="131kiycj7q9javr3xs7maa2qjczmva7vj98bw36pv7znwchspcca";doc="00daf6p699y5204lrdg7hfcnmqh3ah764fpjymblvm8hy5f1w5g2";};
 zlmtt-64076={run="1krv8frabpvnx00xwdx058f9y2mip3bblpix05yxpfspx6aarhcw";doc="1xiirzbgh1x34zih8xbf7whl5f994lx9bc4qrirc58rlccnqgbgr";};
 zootaxa-bst-50619={run="0lwin7dfd3nk0r3drznmhkqd7fhfvizxqy3z2xv616spg1jh9sgj";doc="1s4v9azi1pvvh1fizp2azkbwh35xvqh8qcnnn1xwi0g1xhcp38pa";};
-zref-62977={run="07xvr2jicmlsr6mlahf4vyh3f91bm94zay24gaqfj48ph9pakzkb";doc="0ix0zi8zi69vs70ykyrvfdj6j4l9izwsb1j6dsyn6i56dvyc3lsh";source="1hs95sjv2qwqimb664lc46icbycq00743kvr6wcmar97ygf723ds";};
-zref-check-63845={run="1z8735nq12ikq8ldradays9yyz97mp91ah33j5dhp33wv4sap32y";doc="0d2xc6xak46b10j61d43vy4vdq4pspjr5p65aqy1jppljcfv671d";source="0xszpxfvxjrlm6ybyrh214kha3vw3rlvnb7c1ivvahmczi70n48j";};
-zref-clever-66024={run="1bi2xgsk44l8y829cjpwnmwnaakp6pc481mn9145gscxybx2h5k0";doc="1h1qc1lmfimkbcdcp6ca310zyybp0jb09jrmxnpxip7h0fl3w14r";source="0y1nha6631ai3k2pwc0ai2w1p8dxpf2xws6rswbmr1pm90n0v3kv";};
-zref-vario-65453={run="1fbdnv9rvz0ypdglq645rsmgjh195z9zkl3gqlgqbb2pppgjz6c9";doc="0xnq1gq1kjxilyl3cck3f5ppkbvzwc4w2p8z7hkjfwq1vjma8811";source="1kxgjnlh6kasgadrnyxcgiqipvmqwzlah756m2lqpj4879nj8vw9";};
+zref-68278={run="1292p3hmhlngwnhl9lnppbvn4fqblphxmpmbh1vij23v64acv3lk";doc="1xnyvhrhcnganvdzilljdn6x5yh7srijhdd63fc0p5d7zn5hccc1";source="1dbzxl0rc3xwcn2bwaghywsry8q2q34npax5zrv9xak24gplv72y";};
+zref-check-68846={run="13syzhmzvd537gdvwkzvlnbrf9as2yl0id3z7fmj35vjwf9z12al";doc="17f344gzq68c9v2glz24pwxal72aa7mmyi5lvgqx9dkkpzlmghfc";source="1lnnx5fb23pkkzwdl82j765canbm9bbnmmpwwxh9yg9dcz4gwhkp";};
+zref-clever-68846={run="0dgpx323gw46qi45wqvlyhsyw5d60i18bg7vk9ndkb6isvs9pdx4";doc="19dfpz5185m5gi4828vc1hg6njc4jkb2n6hah1hvyg10izbxamgr";source="0bk2irrrbmyh7w6p9z5b2bmfcmnb8sb97zszsq54hg2rc7r1h1vx";};
+zref-vario-68846={run="0p7b9pqldlliwshm2xfm6c69is878nj52dgchx26dqhi8lx8l8dy";doc="0ck4h0wdm7rkhcb7bp0cksy2krpziyjykp15p0l02180c79mnp3z";source="12qsz4fn6d3gpxhi5ppfvzqcj04r9f88a5hj9691kqjwh0507zn4";};
 zwgetfdate-15878={run="1fgz3z1f9ifcbrwiq166hnff23gmlgp5vn0djm2znci26bcip4s9";doc="0gda7xd1sbiaaspb253xgl47jm6bcn8hj101m6ih69mxrka6sz60";};
 zwpagelayout-63074={run="0xl2qyq9037fjxwc6v9hz9gbb5fggqb2x93bibvhdb0bik6iw5md";doc="010120lcnx9d9jj116y6vskch3025jfi4v7xh6nyqlvirsjr4hk1";};
 zx-calculus-60838={run="12i0zskbwky4l81imz83aqi2g1jypy23nwv9fyc3rjlm6aarrzrj";doc="08clr1caznfygq0wqmi0w5955birqaiyvmvz5kjaq6qrzi9rwnns";};
diff --git a/pkgs/tools/typesetting/tex/texlive/make-bin-containers.sh b/pkgs/tools/typesetting/tex/texlive/make-bin-containers.sh
index af49ae22e19f..1d8cbbd4067c 100644
--- a/pkgs/tools/typesetting/tex/texlive/make-bin-containers.sh
+++ b/pkgs/tools/typesetting/tex/texlive/make-bin-containers.sh
@@ -30,18 +30,18 @@ for binname in $binfiles ; do
   # look for scripts
   # the explicit list of extensions avoid non-scripts such as $binname.cmd, $binname.jar, $binname.pm
   # the order is relevant: $binname.sh is preferred to other $binname.*
-  if [[ -n "$scriptsFolder" ]] ; then
-    for script in "$scriptsFolder/$binname"{,.sh,.lua,.pl,.py,.rb,.sno,.tcl,.texlua,.tlu}; do
+  for folder in $scriptsFolder ; do
+    for script in "$folder/$binname"{,.sh,.lua,.pl,.py,.rb,.sno,.tcl,.texlua,.tlu}; do
       if [[ -f "$script" ]] ; then
         sed -f patch-scripts.sed \
           -e 's/^scriptname=`basename "\$0"`$/'"scriptname='$(basename "$binname")'/" \
           -e 's/^scriptname=`basename "\$0" .sh`$'"/scriptname='$(basename "$binname" .sh)'/" \
           "$script" > "$output"
         chmod +x "$output"
-        continue 2
+        continue 3
       fi
     done
-  fi
+  done
 
   echo "error: could not find source for 'bin/$binname'" >&2
   exit 1
diff --git a/pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix b/pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix
index 83f07016bcd8..5ee4d4d6a79f 100644
--- a/pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix
+++ b/pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix
@@ -26,7 +26,8 @@ in lib.recursiveUpdate orig rec {
   #### overrides of texlive.tlpdb
 
   #### nonstandard script folders
-  context.scriptsFolder = "context/stubs/unix";
+  context.scriptsFolder = "context/stubs-mkiv/unix";
+  context-legacy.scriptsFolder = "context/stubs/unix";
   cyrillic-bin.scriptsFolder = "texlive-extra";
   fontinst.scriptsFolder = "texlive-extra";
   mptopdf.scriptsFolder = "context/perl";
@@ -66,7 +67,8 @@ in lib.recursiveUpdate orig rec {
   bibexport.extraBuildInputs = [ gnugrep ];
   checklistings.extraBuildInputs = [ coreutils ];
   cjk-gs-integrate.extraBuildInputs = [ ghostscript_headless ];
-  context.extraBuildInputs = [ coreutils ruby ];
+  context.extraBuildInputs = [ coreutils ];
+  context-legacy.extraBuildInputs = [ ruby ];
   cyrillic-bin.extraBuildInputs = [ coreutils gnused ];
   dtxgen.extraBuildInputs = [ coreutils getopt gnumake zip ];
   dviljk.extraBuildInputs = [ coreutils ];
@@ -89,7 +91,6 @@ in lib.recursiveUpdate orig rec {
   ps2eps.extraBuildInputs = [ ghostscript_headless ];
   pst2pdf.extraBuildInputs = [ ghostscript_headless ];
   tex4ebook.extraBuildInputs = [ html-tidy ];
-  tex4ht.extraBuildInputs = [ ruby ];
   texlive-scripts.extraBuildInputs = [ gnused ];
   texlive-scripts-extra.extraBuildInputs = [ coreutils findutils ghostscript_headless gnused ];
   thumbpdf.extraBuildInputs = [ ghostscript_headless ];
@@ -118,9 +119,24 @@ in lib.recursiveUpdate orig rec {
     clxelatex = "cluttex";
   };
 
+  context.binlinks = {
+    context = "luametatex";
+    "context.lua" = tl.context.tex + "/scripts/context/lua/context.lua";
+    mtxrun = "luametatex";
+    "mtxrun.lua" = tl.context.tex + "/scripts/context/lua/mtxrun.lua";
+  };
+
   epstopdf.binlinks.repstopdf = "epstopdf";
   pdfcrop.binlinks.rpdfcrop = "pdfcrop";
 
+  # TODO: handle symlinks in bin.core
+  ptex.binlinks = {
+    pbibtex = tl.uptex + "/bin/upbibtex";
+    pdvitype = tl.uptex + "/bin/updvitype";
+    ppltotf = tl.uptex + "/bin/uppltotf";
+    ptftopl = tl.uptex + "/bin/uptftopl";
+  };
+
   texdef.binlinks = {
     latexdef = "texdef";
   };
@@ -155,8 +171,11 @@ in lib.recursiveUpdate orig rec {
   '';
 
   context.postFixup = ''
-    sed -i '2iPATH="${lib.makeBinPath [ coreutils ]}''${PATH:+:$PATH}"' "$out"/bin/{contextjit,mtxrunjit}
-    sed -i '2iPATH="${lib.makeBinPath [ ruby ]}''${PATH:+:$PATH}"' "$out"/bin/texexec
+    sed -i '2iPATH="${lib.makeBinPath context.extraBuildInputs}''${PATH:+:$PATH}"' "$out"/bin/{contextjit,mtxrunjit}
+  '';
+
+  context-legacy.postFixup = ''
+    sed -i '2iPATH="${lib.makeBinPath context-legacy.extraBuildInputs}''${PATH:+:$PATH}"' "$out"/bin/texexec
   '';
 
   cyrillic-bin.postFixup = ''
@@ -246,10 +265,6 @@ in lib.recursiveUpdate orig rec {
     sed -i '2ios.setenv("PATH","${lib.makeBinPath tex4ebook.extraBuildInputs}" .. (os.getenv("PATH") and ":" .. os.getenv("PATH") or ""))' "$out"/bin/tex4ebook
   '';
 
-  tex4ht.postFixup = ''
-    sed -i -e '2iPATH="${lib.makeBinPath tex4ht.extraBuildInputs}''${PATH:+:$PATH}"' -e 's/\\rubyCall//g;' "$out"/bin/htcontext
-  '';
-
   texlive-scripts.postFixup = ''
     sed -i '2iPATH="${lib.makeBinPath texlive-scripts.extraBuildInputs}''${PATH:+:$PATH}"' "$out"/bin/{fmtutil-user,mktexmf,mktexpk,mktextfm,updmap-user}
   '';
@@ -276,6 +291,11 @@ in lib.recursiveUpdate orig rec {
   '';
 
   #### other script fixes
+  # wrong $0 expectations
+  bibcop.postFixup = ''
+    substituteInPlace "$out"/bin/bibcop --replace "basename(\$0) eq 'bibcop.pl'" "basename(\$0) eq 'bibcop'"
+  '';
+
   # misc tab and python3 fixes
   ebong.postFixup = ''
     sed -Ei 's/import sre/import re/; s/file\(/open(/g; s/\t/        /g; s/print +(.*)$/print(\1)/g' "$out"/bin/ebong
@@ -293,6 +313,9 @@ in lib.recursiveUpdate orig rec {
     substituteInPlace "$out"/bin/latexindent --replace 'use FindBin;' "BEGIN { \$0 = '$scriptsFolder' . '/latexindent.pl'; }; use FindBin;"
   '';
 
+  # flag lua dependency
+  texblend.scriptExts = [ "lua" ];
+
   # Patch texlinks.sh back to 2015 version;
   # otherwise some bin/ links break, e.g. xe(la)tex.
   # add runtime dependencies to PATH
@@ -316,8 +339,8 @@ in lib.recursiveUpdate orig rec {
       --replace '[dict get $::pkgs texlive.infra localrev]' '${toString orig."texlive.infra".revision}' \
       --replace '[dict get $::pkgs tlshell localrev]' '${toString orig.tlshell.revision}'
   '';
-  #### dependency changes
 
+  #### dependency changes
   # it seems to need it to transform fonts
   xdvi.deps = (orig.xdvi.deps or []) ++  [ "metafont" ];
 
@@ -338,10 +361,6 @@ in lib.recursiveUpdate orig rec {
   # tlpdb lists license as "unknown", but the README says lppl13: http://mirrors.ctan.org/language/arabic/arabi-add/README
   arabi-add.license = [  "lppl13c" ];
 
-  # TODO: remove this when updating to texlive-2023, npp-for-context is no longer in texlive
-  # tlpdb lists license as "noinfo", but it's gpl3: https://github.com/luigiScarso/context-npp
-  npp-for-context.license = [  "gpl3Only" ];
-
   texdoc = {
     extraRevision = "-tlpdb${toString tlpdbVersion.revision}";
     extraVersion = "-tlpdb-${toString tlpdbVersion.revision}";
diff --git a/pkgs/tools/typesetting/tex/texlive/tlpdb.nix b/pkgs/tools/typesetting/tex/texlive/tlpdb.nix
index 75501b601051..7685359a3a23 100644
--- a/pkgs/tools/typesetting/tex/texlive/tlpdb.nix
+++ b/pkgs/tools/typesetting/tex/texlive/tlpdb.nix
@@ -1,8 +1,8 @@
 { # no indentation
 "00texlive.config" = {
-  frozen = true;
-  year = 2022;
-  revision = 66590;
+  frozen = false;
+  year = 2023;
+  revision = 69413;
 };
 "12many" = {
   revision = 15878;
@@ -123,13 +123,13 @@ abntex2 = {
   version = "1.9.7";
 };
 abntexto = {
-  revision = 65705;
+  revision = 68837;
   stripPrefix = 0;
-  sha512.run = "e238ffc706d7902fb782c9f97cdc3dfd0492fb2b33ce1a2e3b6839d128fca3a9cbbe0f89e71ed456eb2bbbf00eafe2139e9bd310146af082d33f7f6cf5edd80d";
-  sha512.doc = "21bec45fca68bb40227ed64a2893f65b526e19ac635fd521bdb65409b41ef2bd5dab25977e9ca1eb4df715691fed3fc0eb4c2bed200398588997be5cc9271a87";
+  sha512.run = "9fb1177d1e97995fa8c7038e38fb827e491c2658af6844f62edb547f281120a9df873a98e509d3e67c577d46472c887ca96ce2e2436f748cba9086c6160f2986";
+  sha512.doc = "3d3d58d077f3072e9bfd9bc11e68e17e4885af88864ef80de1010c331c429895c5e03df438d3a0652a8d31623dde5b1cb40daf0a709af6c3a2e90658d13c596c";
   hasRunfiles = true;
   license = [ "publicDomain" ];
-  version = "2.0.0-alpha";
+  version = "3.1.0-beta";
 };
 aboensis = {
   revision = 62977;
@@ -246,14 +246,14 @@ achemso = {
   version = "3.13f";
 };
 acmart = {
-  revision = 64967;
+  revision = 69242;
   stripPrefix = 0;
-  sha512.run = "63bc67438a059caec0efd1c5e74a68cd225ca3d3802045641b041cc9c75013a96e84ba6809f055eebe592a7ef95479e1e84910e471b6168891e49e1d5da03b77";
-  sha512.doc = "5eda87dbf0e40ff096004083d301299734d77b2b65a9148587b241feefda71345d5bd69308e7101375d8985eaf7c9463ba1f8bf8113a1379b3d37b0af8fe8cfa";
-  sha512.source = "d60835fc235c226a3d5441dd2dfeceeda9a0df5e0b412893a8b8199c3fbcb411590c9a451c72dbd2ac15ef2fa4343c7f586a8f9756815e28c5601fff10e14a67";
+  sha512.run = "c51a10fb637e62857d723f103fa9c28e2d0257ebf8a5eaa9968c32446bebde6d49627cd1dee965d2e6832575fe54438ee62585ae1cf833af93537b7ed3521cd0";
+  sha512.doc = "fd0ad303a63510061e6e43c64f77f9bbc27dbfdd6011195f5ae64d5ca0e7263aed3261853652dab1576a614e94de677f37a5a4e165d8d4d525a61b86f023b2af";
+  sha512.source = "b8fff464e69e493152c1fbfd7feda02471f3e7a8ce3ed9dcdbc2b43d8fa30a587768d7c63754dab2a8b84969e5671f2426b748297ac98096fc323f9937dea963";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.88";
+  version = "2.01";
 };
 acmconf = {
   revision = 15878;
@@ -310,21 +310,21 @@ active-conf = {
   version = "0.3a";
 };
 actuarialangle = {
-  revision = 51376;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "0f3cb2dc7b0e392942c5eee41227c93a2559c3a268916393530342fc9600c9c4b946f469f222250c23d9b635b9b51a9afc598003a00eab71d641d9d78db29cb1";
-  sha512.doc = "ac945df0aad5f51dbc900d7b9def5115cc6aa48c081feaddf8cc7985daedce5fbc0ed633ab4c201a0b0af27327b028bfda1875ec6e2e1c90d038441785a0e8cd";
-  sha512.source = "4958cca024dc6918371f68336a67d9950231630ee8f011f9c190693f7d5454eae1d1daf51147f1887699a9c941562cc8c867ab7c388eaf2c154d5373ff245d86";
+  sha512.run = "23878ac98706c08b1fed8f4fdbe7d403f4f0b668ce069837ddd1d433bd3bd3e50e9b041ebec4c8256df56f1649962b7ba2421795f9adc3207a825562633a2b4c";
+  sha512.doc = "f28274449a2c9558a22e1b3a3d648ed2a456d6ee179168d06ab4a6cf339f2e0ae7e43c8b0d2ecd8697ffb8cf5308f0497a13012f4b481ec68e02248036a8cf96";
+  sha512.source = "9364093cb942abdca6062b66d35f1a0e9088c7bf653baca6bd2ecadb8aa2e743c311caed3ea52f42121511b9b66232d5ef0ed554a29a3253c8e52eadd83d0dd0";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "2.1";
 };
 actuarialsymbol = {
-  revision = 54080;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "81260a4e92a75f5ace84c190b9bd7e6b46e8c697824856cfc69f4d9e9f14a4e0230d5623cb6e3bd546d84b29240865dfa14f433c9ad34875fec22944053bb5ef";
-  sha512.doc = "95efefa6e40a77806a2fe8d47575cb78c7e295ddb17b263d2e324610614d36d6ccf1dda75a428b12719d8c4b1fdd3b94656df1ff351f4fb98fc6a94eb87d357d";
-  sha512.source = "48211fe7604a931a8e53599d617bcf2be100ceed5003fd1bcc96ce84525904e68bc279ef672100044e03cbf70fa47f53548ec3686f70a795a50d78d96f792d81";
+  sha512.run = "a36df9659b33223efb54d050f12676e3aa0555c83911a901c5cfe137e8e7b27d68b47534cdd2064724f20a37715b46fbf6863a5935c9fb93f56e4e7ca26bf004";
+  sha512.doc = "ab15ff459aa82dc46a011a7601128dc7e6da720676390167ca856c0942f6a70e0d698a1624b443d3779446f3ac01d4af6bcf5bb5e1e0a17e0e5fefd3deef657c";
+  sha512.source = "3b587f3621cbf4d4446664c253a9cd27a6b69da3ed8d1bc09f6054bcdd450e40f8b38be336ce48e0ec251f1d8dbe45b17b6055251aa76bdf4c36b97ed8e4f077";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.1";
@@ -357,6 +357,14 @@ addlines = {
   license = [ "lppl13c" ];
   version = "0.3";
 };
+addtoluatexpath = {
+  revision = 67821;
+  stripPrefix = 0;
+  sha512.run = "91d4f85e45181674b6ab2bda5ff3632aaab4abc0066c5026478d41c0205e021f12c3cb833c8c339c02e4e033aed351a5891f8527b95cc33f26ba534aeeaa785b";
+  sha512.doc = "ccc8ca7fc9423192a68260b6f441fa7be8a1144bdff8e0eee478f01e2c09d0e54f2a25d7a7fb935f76803003842f16e41916861d9a69e3ea2bca5724b1be5411";
+  hasRunfiles = true;
+  license = [ "mit" ];
+};
 adfathesis = {
   revision = 26048;
   stripPrefix = 0;
@@ -431,9 +439,9 @@ adjustbox = {
   version = "1.3a";
 };
 adobemapping = {
-  revision = 66553;
+  revision = 66552;
   stripPrefix = 0;
-  sha512.run = "ae5dc34fd64804c8429cede14efa25223c6ce0408ad13fcf44f5d6751174ba72ca72cc99b523837173d9ec92d7574088ff0169a40dc83dace188e01d1269625d";
+  sha512.run = "363f7fd337e5a34737608a2bc37521bb526ce726f5c9b5b4d08416e534448306002bc7af1be3f5e6fefcaba16ffc2260c4dea8a486d44dbccad577fb04d6da5b";
   hasRunfiles = true;
   license = [ "bsd3" ];
 };
@@ -464,6 +472,16 @@ advdate = {
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
+advice = {
+  revision = 69283;
+  stripPrefix = 0;
+  sha512.run = "fab7716603412d29daf4710ec6c04742f1d2f898d818f1f012932c99ab51bb8c9746bd3ab5b18752218fd37dd09d4550f3d2b8ef59e9aa852a68a132366b1900";
+  sha512.doc = "145aad6269324b04cbe79c159734ae30f3b13cd361250260ba374fba07c39af8a00974d0e47195dc4a1390a881936c443c671b1e09e8f905267baec3a60bc2f3";
+  sha512.source = "49e25acd701cd657f41c5dc611b9fcf7342918f29f276eccbc584a88aaa0e0b777c5838e84f067924943bab3b22002fc94f4a5d8b977d2c64a09567ccbca0fbf";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.1.0";
+};
 ae = {
   revision = 15878;
   stripPrefix = 0;
@@ -492,10 +510,19 @@ aesupp = {
   license = [ "gfl" "gpl3Plus" ];
   version = "1";
 };
+affilauthor = {
+  revision = 68996;
+  stripPrefix = 0;
+  sha512.run = "4aaae3ef6ba9dcfcafff4214c3c425a40518687fd01600266feb3ac1f836f6d1795fd1c2903f57cc3010b7bf5fb153876a4bbb83ac81576e6423589baeeeeaf8";
+  sha512.doc = "24c28a1c6879c2a292a96fb10dace8d1dcfa2a1a71e07570a232ac70b70e4e9f10f7af823fb2b8d619dbf587e1f5cd9bc38e1a4e2fc6e22714e5deb27a0edbe1";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0.1";
+};
 afm2pl = {
-  revision = 54074;
-  sha512.run = "e539a12013dae7b30a83f615fe9f01678a25136a72ce754101aeb6bc8f1d287e006648f3050573ab211eeb00e5ac8082857b15e388d0da4886929a57d018fed2";
-  sha512.doc = "771e72385110bfaf133865ceaf9cb85a94dc1037f7390b027b21a9117aaeb00e88f67b191229fbbb61f417ccecd6556335ba1d2ba46a0a65079929a0ccbfb1a7";
+  revision = 66186;
+  sha512.run = "9ec87ccaff69c7467f803e4ce3f3408f8195cb93f571a7c7aa5f195d3de80b480b182831d239d8b2144dc72a5c26f9da58973075b6a939d23a51de0acdb1d199";
+  sha512.doc = "e18ef6478d02676a3edc048ec1f8bc37e7cca97e62164632dbf02595a051e6d09d19ba8422c4a617523dccfe1a6ed55fc9be34d1c0ffc147bbfa4e5d8f2daf40";
   hasManpages = true;
   hasRunfiles = true;
 };
@@ -599,10 +626,10 @@ albatross.binfiles = [
   "albatross"
 ];
 alchemist = {
-  revision = 66557;
+  revision = 66924;
   stripPrefix = 0;
-  sha512.run = "705bca949b8f95dc5a5981155bcc5b8bd2d0d36b2f7a7ce4d6eb4f0e6ba8a453171c76752ced654f971305df1677ba5361b04bd3553da0c189d78fa9ce8e6765";
-  sha512.doc = "d19c79d3e54fafae33b2dae0d3024955cc3e63a7968f0f3cd71a44d8ad570e27459ddf4dff4a470120141c6fd179d13a902aa83a70fab5471b6ac2bf0ed3ead4";
+  sha512.run = "3e4c4902c70deb8f380d3ff5e1a621f595ea1dc47cde3579bcfc12bd0a066d5d1d6773ffb1d1f98aef336c8cfdbe7770e1d48f5b89fabb98308f54df5dc75fcf";
+  sha512.doc = "cb978dd26bb9b95a29f6ced2ed4891f27fd0646daf560316dc1b20827a7af454fca1b6500bd4bd5c723c4fc6a24b77d6d7c7a6eafb3edc99e2098b11e4f53029";
   hasRunfiles = true;
   license = [ "gpl1Only" "lppl13c" ];
   version = "1.00";
@@ -616,7 +643,7 @@ alegreya = {
   license = [ "ofl" "lppl13c" ];
 };
 aleph = {
-  revision = 62387;
+  revision = 66203;
   deps = [
     "cm"
     "hyphen-base"
@@ -633,8 +660,8 @@ aleph = {
       fmttriggers = [ "cm" "hyphen-base" "knuth-lib" "plain" ];
     }
   ];
-  sha512.run = "222d0c7045ddfdde5f0ca0ebe20a029c32fd0d4f35326c5ead6bf4ebbcadc86a2a2ff609bca3a6c3a04a09828c50c885f49ef9da0e6e548c18c2633400865c7f";
-  sha512.doc = "77d2daaacfa99d7f4ed5b70706751936bed5ae00ac67490e428d900b5fee3d78797d2324039743cbf0cb06a3a03dba17643d67d9057d020a95a536c860d5e78e";
+  sha512.run = "326c0c2327ec391a2e6caa5b7bed74af44be58df05b58dd2d2ed68ac96151282f63cc51dcfad7b84f3fa716b9df1d9fe97e27e4ebefe81d40a1e0ddf06be48e4";
+  sha512.doc = "33dbdb3fc2ed1cb698b1b3a1826771475b27e33c19ab102b5f0f403f670abd10330dbdb4223d9f5b96cff001a14dc8d25ecc9a084a612b9db8a1cc6a70bec090";
   hasManpages = true;
   license = [ "gpl1Only" ];
 };
@@ -670,11 +697,11 @@ alg = {
   license = [ "lppl13c" ];
 };
 algobox = {
-  revision = 52204;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "0c7b068f117a5eb591646e32faf3a9dfb6a03a218411d092afc33c7adcee30f95836a9d841444fe87a700288e293510763807d393043518ba70e64a3df82099f";
-  sha512.doc = "ccc96b84ea2d1c6c9dab8bd286e24f3dcb4fb9dd31904b1eef4b07a1de34a067f3cccd3d8e33785edced6dee8673e60d50ffc201643912d732660b1f14404d74";
-  sha512.source = "49e1b417bb0df72356f5d4046826268dad628d6872732a61cc7df789bd214799ed49a4a0778eceb31369fbf8cbf21c6b142a85348e10a7ab634828108b7cf03a";
+  sha512.run = "42192835e3dd2aedf96ae3602b3009af09512425cad0ee3dc859a972ea5b8ec46bbed35456b17f0ff7a31faead6df06c01734211bb0f206eba80fb05e66d2663";
+  sha512.doc = "5d5de2d91d0a5cbc63774259934fcb8b772eec36e9841d8f9e5d813e5f40cdce3171409b131ca788fb2b6eee651caa311128fa075eb22c969d2456b1e54708b3";
+  sha512.source = "019badab6a259e9e41ad21d81b53231fc9fd12f87c8b980610dc5a4d60fd7c1201d9f45d71d46dd3b583df1ae8725fe0b183c4ed0b4a35e849bb5d0281a6d31f";
   hasRunfiles = true;
   license = [ "gpl3Plus" ];
   version = "1.3";
@@ -716,23 +743,22 @@ algorithms = {
   version = "0.1";
 };
 algpseudocodex = {
-  revision = 65860;
+  revision = 66924;
   stripPrefix = 0;
-  sha512.run = "7b69eddad12567fb6fea17a3205c56e695ba73015143239def94e56adde3194dc847ee049ccbdde15e5a402be02c0aa7459f9ad20b1c2e0a1150ac06cc3f24e2";
-  sha512.doc = "2ea383e6427973ae31d54d8f04cb45e2ffe649310c66d8d9866160ac7f71af786ab0899b48bc8f7c704fc8b54063df3a5e786d7d808aabc371eea96dc00fdfc6";
+  sha512.run = "0a8b2e49f389066575d403eced31e57cba4af96619bb2ad09bfe51054193d3033705736ea23233b8da3e5e9e0714aa26c4132c2227fa36cdbdeb7df50035aec4";
+  sha512.doc = "5ebf9cb1c66d4e4987387958758aa5d174002409759a38075f6c32e2418f0db670445d2b9d61442c5fe719154d137e3156c6871063eae7e5c4b50593022af623";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1.0";
+  version = "1.1.2";
 };
 algxpar = {
-  revision = 56006;
+  revision = 67495;
   stripPrefix = 0;
-  sha512.run = "90b0e879f0b335a2fae58f09ef3081096631a1cafce3ffa1d4ec396bea8c4c5911babc346b5c9864a2a9a798ff1ded2a489684ac97f6275d7f91042ae8e9929e";
-  sha512.doc = "d0e8e696fec318f395a08cfaf4e809b1fdbe3a6b86a162c69b6558eaff01c85a387bad0df4e0f4c4854572a45583dfec79db8ce78261c45a1cbb8112fbae5777";
-  sha512.source = "b60358558a1ca240bb4aeb1762855b200fc59db95e27ca65f8916411601c4315b7c05fd0e0b7073b2a627c2623e7398f3619d662377f1b3a72967170a1f45e54";
+  sha512.run = "3ea0ccb08a088e16c3fd47f5455ec1c3980d242c4f9db838ad07dad089326bead01c03708fe25fe3a14ab3abfdee93c864d1c633f5e0fe043b31962ca1dfe462";
+  sha512.doc = "196b2539e23d96f2f7967272d59243af9eabfd588c8ad4cf69174493084f5f3af0c088e3e5ee51df96a6a5de02a7d3a84f7f4f7b3f0cfec0fa4463fb929055ed";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.91";
+  version = "0.99";
 };
 aligned-overset = {
   revision = 47290;
@@ -791,10 +817,10 @@ alnumsec = {
   version = "0.03";
 };
 alpha-persian = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "c353e33c402622cac42e00bee21193cf9ae7d6f1f2480d3d81a1392b199a3c211613d3ebdd79d031630514005f7b0aeb308202f414df5ebf9fd09163acdf351d";
-  sha512.doc = "112458509e26a515fdd67f9720473ade30376d2b7a69ee1c335fdcd6dbba443738c098c94742479753fe68538fbeed9ddba031b124a771d1354f4ce0f46ca3af";
+  sha512.run = "dc0344deccdbdac04c5a798a52785e913d6da3997b907a07894f86b1b3ed12640a870eabec3bf5916f9835a8a405ae4c692bfb70a63022cf8b52db0c2c3e1382";
+  sha512.doc = "a5881df317b723fff5e00a89706584d05d650971a4bd88d3e3f71df1e7dc021289f9737d1d5239d6196be29307599c3bc1ff782c190032dbea9bea0140547866";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.3";
@@ -925,11 +951,11 @@ amsldoc-vn = {
   version = "2.0";
 };
 amsmath = {
-  revision = 63514;
+  revision = 68720;
   stripPrefix = 0;
-  sha512.run = "3a1f01c2249557038d07f4294a378156cb1b83e9120164e88f5825e09c2d1d930e513d4e10d7db293072ff80cdd025fa52735de86056dc71d5a60742c19be85d";
-  sha512.doc = "5280ae6e465401c08d1ba4a28f6f4cb0581aef8f1df1a6299ddb314356927991fb4db0db84fdcc3ab289c019c476c289a4775c776a96d18877273e75179f5626";
-  sha512.source = "60817410435a93668e8e19e9e326833c49cf792fdef272d4ccf90ec62c8a9c0d27e7aceb3e1c74572fb44c291d9557309bdb818c4b10f520c0144df2d6286d37";
+  sha512.run = "39e87ac8255c577fa8b1c0cd155d4fa21bd0c0f789141e6d1e75cad1c34a78bf5fa44277342ae9d93d80f4f88f31ca9f88dba9c592ceba04961e601e3e8e9650";
+  sha512.doc = "b1dff0cb1c09a184dfe9dd890ccb6e9e5bd5d2b109ce0b98336ca4cc1a45d4f398eb7822d02e9210c611c98a49fe41884b103e1b1e4f7c6b3b29b4de5be2ebf0";
+  sha512.source = "c1d052395b6f6291a269d610f713ce01383940685af91b1c2dd711b73f5d765e801524a538687d7f8cde055bb1dda9ca11900e4e8b58182b3cd792fdfbaca6be";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -951,12 +977,13 @@ amsrefs = {
   version = "2.14";
 };
 amstex = {
-  revision = 63708;
+  revision = 67930;
   deps = [
     "amsfonts"
     "cm"
     "hyphen-base"
     "knuth-lib"
+    "pdftex"
     "plain"
     "tex"
   ];
@@ -968,8 +995,8 @@ amstex = {
       fmttriggers = [ "amsfonts" "cm" "hyphen-base" "knuth-lib" "plain" ];
     }
   ];
-  sha512.run = "d92156cc5a01152776378c8809993b2ccbc9e917125d2ecfd2a06482401008385928e279a8832f328f7a8f4f3eeb746f9725e4986e4eb2f478c20a432ea8698e";
-  sha512.doc = "ba87f3c3858ad7d86de6bcc03e50c5407e83f9de4bd3b3c63e3ce612fc5f933fba0d10bbad88525bae0a1f489adbd02643687f650874409962ee5b29447e14e8";
+  sha512.run = "4f380f6c67b3c92d4be1b3a9ddec3b464e91ccc632762d6bf28f47dabf6e2e096471dd64804deb370349fe14ddffc3b4d37be195cb63f87e47a2345ebbdbd7fb";
+  sha512.doc = "94b3f6ac9f2314cf5e3335ea517bd23e0c08ef10e5edcc032bc5907fb69b04525ad434eb896ef8d5b149033148da55703039d5481242c2f5bf791c1b32c85388";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "lppl13c" ];
@@ -994,11 +1021,11 @@ andika = {
   version = "6.101";
 };
 animate = {
-  revision = 64401;
+  revision = 67401;
   stripPrefix = 0;
-  sha512.run = "5e5d9cf1dc86374ef0f64c3b882d9d39c672dd1042ccc841c40889ac15d312d79433ef46cb45a367b9bc3ae5485bddbfaef9167475f973982d1419c6e49edd1f";
-  sha512.doc = "f0c9e0b9bc3210347d75d1b3a05ee09ed014ad498f19eb9c71f9cd432b2a8c19aad6e811a4eefb766bf22587a955b86d139ef9aacbc5d27ea51ae001f2640e7c";
-  sha512.source = "d401b85d3a90b37dc9950e9749bf10bf30b70b09826d0752893f8215962121713043caf9079572602560843ba4f2ea42af455d977578e2c17ab7fa6546976d72";
+  sha512.run = "dabe8762a0329d46ca8987621a59c38183e713c1c257e2cfcd2bbe36bd49bb7cf23b3e75e421f4bf023db2558bb9503d550efa882d77b229114649a15ffcafbc";
+  sha512.doc = "857f611cfccc96ed1ae63f47128e9b7b4240428f86ebfdb6f2b79c5f0c76858e7a917321330d841059be02c3d7ef45036f0a2ed441e27abfe68ccbaa61568607";
+  sha512.source = "d0b799be895882ba64d200f4c77d8794212fecce55b8c65e874b77587ed4bc186930f9abf1f662d0c7c7e8383f34afc3679f11679d22c035539d93b8dcd19e7b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -1020,13 +1047,13 @@ annotate = {
   license = [ "free" ];
 };
 annotate-equations = {
-  revision = 65851;
+  revision = 67044;
   stripPrefix = 0;
-  sha512.run = "bfb32b21539e4565bca6e5ac69bb1503e5265e21b0a9b70227849b0c803fec10cfe480750d2e95eaed98b073e33b8e0de7efda42fc3f7be6166d6d40caa4530a";
-  sha512.doc = "a52c3caf249012fb980cd8487b648452616545b31516bd03aeb2e09fb5ffd5f9930bd31cb52b9b026c193f5de3a39b737bd068a40f3a176ee86fc86eb47eea4d";
+  sha512.run = "4d4f64f6346eaee14dfe509857d2a592da825eed9ccaaa1a9c2cbf3a4d4f750441392d703c9c9665c88316125bc37192c0d6869f3e2f5274e7f80699f8c553c6";
+  sha512.doc = "9f958eafc15d7de177a3ea66c0e381ec76480845647af0969e34b7429f3543c51de33dff58d2a4faf10bba82eb8f3de097d3324955b1842806fc69e8cc6b200f";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.2.0";
+  version = "0.2.2";
 };
 anonchap = {
   revision = 17049;
@@ -1085,6 +1112,14 @@ antiqua = {
   license = [ "gpl1Only" ];
   version = "001.003";
 };
+antique-spanish-units = {
+  revision = 68998;
+  stripPrefix = 0;
+  sha512.run = "d5b6208afb1e098a66ecb7f4f536d4b4f2762705bfb142e66e4f83e38670b88db1be5f04ce3c8c1f1db7feea8ac3d92bcbf5a1ff099f87a01f05503c881c92d4";
+  sha512.doc = "b25eaf2cdbddf60950478c26874ff99e62f9ca8b726cf533958a723652c56e32e7279cba9c4a861d670a6933639618902dc914102af1dd8e672ea9a1b38ae67f";
+  license = [ "cc-by-40" ];
+  version = "1.5";
+};
 antomega = {
   revision = 21933;
   stripPrefix = 0;
@@ -1160,14 +1195,14 @@ apa = {
   version = "1.3.4";
 };
 apa6 = {
-  revision = 53406;
+  revision = 67848;
   stripPrefix = 0;
-  sha512.run = "76a307c077ebec0ef984e9296018e1b91a51e95db8d1955924a373e82feb5152ce453d1388e706e6b0ca46f3dcc71a8981bf68848a2022cd19e179fc9ecc0bee";
-  sha512.doc = "841821dbf4f8efa07a96dc37d26e21348ef5e1c486ffabbedfe973833d2328b8c5fb32196ae2e0323683d1d20b635242c371262df92ccc0c4bbe126c89263dfe";
-  sha512.source = "b7571a14e100e65748c31ae49ca070c42b3c6d868885f2ee487c76561858aa19744b890eb7bac075c43208ee8d6dd91ef327f8afff2758a1be6c79d23d50f717";
+  sha512.run = "17ca4d98885f30c42c6e5338e838ea2556a2f9dcaaaaa82a4cdc0d82c9a208388f66fec45a87211720b12da193d758d662fefaa8d95fd3246f3403091b4082ef";
+  sha512.doc = "244f143bdb9209482eba9c644a21b65af3a6990b5896ef079aaaac2aa57bfd4c0ae26878cf1f87d3f1744b3dece2aaebfccae4e0ebaa846944b614b76a12a673";
+  sha512.source = "fae9f67a6f34bbb7ebbe06d125a45b6b2fcbb2d631f7b9731bacf2e87c87493b4e0804b9381609147000e412d2ce55e5b0e582de242ef027e0d3ac08dc3ed05b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.34";
+  version = "2.35";
 };
 apa6e = {
   revision = 23350;
@@ -1296,12 +1331,12 @@ arabi = {
   version = "1.1";
 };
 arabi-add = {
-  revision = 37709;
+  revision = 67573;
   stripPrefix = 0;
-  sha512.run = "5db89004e82030185f34c0a38e4ba55fe38fb9fa087c7a25ee7f7df9180734ffde0957eec52f0110655ea273202b6cdf63114e3520cb23db80c48c6c74acb0a0";
-  sha512.doc = "4c44de9d3b46c605a463fd1704e56c5c61806f6e0dcc130251c81d0c555534e167034b6ba2deec1370e502fd006192540ef415aa42987f69025f18642451396e";
+  sha512.run = "8a9742a1499082ec9ecf5082f34b194e572cb94a0d0b6a3b1d6b8a01edfb9b3b53d42e3720b85fc2dc654d06b3641b95d506eac8cb393bb9ef21dc68c70e5adb";
+  sha512.doc = "c11ac1fa2b8dfd619060efa36f81ed0ae6d0e1b976c08894f7115d960458a812496d5ce4f8270350ead90a5a1614a8a61cfb98568a1e28d414fc0c5b370690ac";
   hasRunfiles = true;
-  license = [ "unknown" ];
+  license = [ "lppl13c" ];
   version = "1.0";
 };
 arabic-book = {
@@ -1323,11 +1358,11 @@ arabicfront = {
   version = "1.1";
 };
 arabluatex = {
-  revision = 54512;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "34c30ac3f9382b56c013fc8cd85c8c42ab903739c3feb73d5c1d6531340d2c0deb157b6b88f2a7554c21be413420484a667a0a672f04096a5dc2afe6c82511f2";
-  sha512.doc = "b9153998fe52ac42bed2bce670db355c805c274b71e3a1f18d8794c36bf9143641b01d9b42cb95f0c126659651aa7dff38e69a7a122326b54e719dabb6f7ebe0";
-  sha512.source = "bc4aabaf735415ae31c0b4a44e339ba7dafee4f5f01462a36c2871574fe540847e98e279f971c17f9cc22626f894dcf8ec5a74e4bbe92ec8498a43c6647231f7";
+  sha512.run = "c235430d724495035832ca32fe838ab5d75d48d2d68c6c84965f5fb7e5c65098356513241c82e95b6c6d806328c0272b775c1aca963df02ce2540052d62b312e";
+  sha512.doc = "d625d9d23d73a4c261c2099b77831dd1b60f38211a4802a3651e31f65c5d278c3cc3db8469cacede81c1a105cc6d4f605a5a9ef764b6171e4fcacf515a1080e7";
+  sha512.source = "260d4eda4b79f727bf33327953fd0effe33f12272d293a2fcf6d8a5da8ef918d42220effedf20a29e5d4f39449b461398f15b08dd1b73522666cd7a009ece904";
   hasRunfiles = true;
   license = [ "gpl3Plus" "cc-by-sa-40" ];
   version = "1.20";
@@ -1361,30 +1396,30 @@ aramaic-serto = {
   version = "1.0";
 };
 arara = {
-  revision = 63760;
-  sha512.run = "b30ab2023cea6e606301146c06b34711b4c40b771721724bef178a5df7a1bf3e22ce97675131ee7370acae3b6416d49b28f12d0c02eb7e34885e2609f8dc5ca8";
-  sha512.doc = "0c0b799f6e4f43c6d123f66b6a84e35607b2c10d6241c445376d29a466154634c559cb6282f4e3f66c273342c764b56604e00bc1ee12b4452ef78ab7620aaaf2";
+  revision = 68431;
+  sha512.run = "142cbad66e19afd1190d4ce76962a133b6340a72d6dc5c77b4ff6898223a00bbbf4d4a9f1d089e5256084e6a277314d904790f55e35143a07c217ea2453c2238";
+  sha512.doc = "cbac6e45e0a580887ea8da3fb1273152884590a7b4a3dadf03676e89f9af056eb1f276e74d0445b059382afc6a7239edf8f9dadce549d3a6b55b7aeb244f63f8";
   hasManpages = true;
-  sha512.source = "6cc31f1368d8588d9a7bca3717171c43786ab6ed7a1b3ed159d700324ec42bf588234483a4e56f7322726c30156900086a901f081cfa7010f79cc393a449fe13";
+  sha512.source = "850f8dc8292d391940340db96b5d53efd145924848f575719503f7cbf7c3dd1b87d274fa31cefd9ff3107fd2424c65b47e79abe6fbe3798f5c57f14c7c0960f5";
   hasRunfiles = true;
   scriptExts = [
     "jar"
   ];
   license = [ "bsd3" ];
-  version = "7.0.4";
+  version = "7.1.2";
 };
 arara.binfiles = [
   "arara"
 ];
 archaeologie = {
-  revision = 57090;
+  revision = 68476;
   stripPrefix = 0;
-  sha512.run = "40220a43a1f5775076f75379eb7c6c6eb4f7e9c709b7ff22b0db29868f5ac7e5def3cead10dbcd17e3bad2aa33af7942c10f5968c42494b5ab35dd6886c912db";
-  sha512.doc = "efc68c2bb845f1966aecf6cdb20694778212261d6ba6f0136c87ddd0cd5872d0196c99220c56a9c9dd50ecc32c1a59a4d4630ff3fea9b5d953a0a9ee3aa66dcc";
-  sha512.source = "2f3324c8844c5d04d35e3e4bbafac591c1c33ac2a0ba21d7b4b1231ae7883ddd53fee555ac89d2f2fe27358c80470b414f14fef073f03fc3ed405b96a5df290f";
+  sha512.run = "02768eb18bd866522380974e675eae530afaa9f0c0baf4e4dd6e5c0bcfef3755a54e79d9be2697b4e29cc633ec87c65179561d662cd99406556d3a66940b9199";
+  sha512.doc = "60136a2704265de25c0097e766fb50d89019b01524edebf6986db2c465d8dd2230f5d48ed5fa7b2d0c6f1ba5bc11dff4d2a171667d7743ad3d883e068c318864";
+  sha512.source = "0625c3bb08909e367a908f5f12f9f2e064e6beb251e7e79ccf0ff7fd15639e89040b4a3ee45cf28cd11b14559c1f1660812b78cca6d8dfa02796f9af85290be0";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.4.5";
+  version = "2.5.0";
 };
 archaic = {
   revision = 38005;
@@ -1423,11 +1458,20 @@ arev = {
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
+argumentation = {
+  revision = 69023;
+  stripPrefix = 0;
+  sha512.run = "d18f62c0c6c5cef4f85b854342671ebbc9224475d41488058543e682e41230f61cea4ecb68db767742c30d92ae2af1270ef47624608a3fb93aa6f8031b12648e";
+  sha512.doc = "bd6e12905e35d15064a357a248f4f5dbf5d91e37d0e742be0cd360e7d6079122090f29341acf11584ab563355481aad7edbbdfe1fa6b2455aee2b67e263dbb6a";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.1";
+};
 arimo = {
-  revision = 64548;
+  revision = 68950;
   stripPrefix = 0;
-  sha512.run = "f1b4c1edbe8a6e8864b121ed5411d4ac33158d68acfeab9905c49eaba315b784e0f2472ec8b61bb3241b202345b6151a0702aec4946a1de67125258c8c2edfb6";
-  sha512.doc = "14bc469a9288fbed519c8f0164f11c4d00369ae672d0c69f5c871aa24f54f8d8a4eaa5f189e30b42ada8e6f30dc8bd925b96b66a53461a2069682b89562c56f8";
+  sha512.run = "3c84fc274ebd29dfa65a8db214ef2ea74bb22da21827844be3b5648b7f10cba81a73772ccffe758b19ac16e58a75b1eb578a0ec8e85957f9693858065665a085";
+  sha512.doc = "dc70491f5b2b5a900f3d6f9bd543974b81976907a7c3dd53fd7530e3d0a6d83fc44a61607b27d9644eeca6f6228faa171916e67fc7517c35d466d9c50a186808";
   hasRunfiles = true;
   license = [ "asl20" ];
 };
@@ -1464,14 +1508,14 @@ arphic-ttf = {
   license = [ "free" ];
 };
 arraycols = {
-  revision = 61719;
+  revision = 68277;
   stripPrefix = 0;
-  sha512.run = "3f97d2424091e5690feb3e1e290d1135332ab146019c1b290e8c69ea7f048ecd779dd81c9b3d3f9a0d7c919f1bc9bb949bdccfb3939148a426b336cd22993398";
-  sha512.doc = "bab50fccd4ec8bbcc64684208eb8ad60b17ee55b534f287d0640562bbe1f1e2ef25698ee2fb80baca9e984e79e36fabb8411e6fa330bb33fad680b00ede665e4";
-  sha512.source = "e19bc42fa9a0d2bdd843eed789275f4d5a987adf9061535090f9d56ed182a19bd3950b10730c5cbe640f0261b545cf09212cb771b9a9a44163c6fc052b8c08fd";
+  sha512.run = "faf429613ee1987b92b369dc357f376c1465531cec8f7f78c37099366fa80954930afd62c553760b71a2226b0d245d9ad9664f4e5383803471bcf4f63f419f7a";
+  sha512.doc = "6bff5add83a6eb8f0c697bdfc5da076c5a833e856abf0b023002a50a85dd1a7cc24e0cd042a2fd28c18a37a88ac91f4f09a5c4f2911cbba30026fbc03df06c71";
+  sha512.source = "9fe04362a179851b135af96b0eed0d229d19f2d4623acbbc39dfcef375be7dc682ef08af3fcbe146d7ce738cbe8e7e00e9f72d549966efa674433e3024738ab0";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.2";
+  version = "1.4";
 };
 arrayjobx = {
   revision = 18125;
@@ -1500,6 +1544,16 @@ arsclassica = {
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
+arsenal = {
+  revision = 68191;
+  stripPrefix = 0;
+  sha512.run = "f103fff41a3e21594134b9902064001bb18e0c85985ebc99486378c0929d11eb3c12f00e7e23ed254029bca78adb2061575c48e9406fda890eb732b3cb90f096";
+  sha512.doc = "72295197eca81954e733409239b4cc13ff9ae87f5cf5c402a8d2904edf2e3fb6686fe2a0ea8bbd4d0e2bc0498507c47870ae1ac3cc2d722713ea4b952613a345";
+  sha512.source = "214ebf080bbe11aa5c3fd088b6329746202ae1c46867fc6f1ac23d56ca22b44b147a8e929eb895c86834d6d3117bfc1e447e3759db9b73f4ba14b824a952b00f";
+  hasRunfiles = true;
+  license = [ "ofl" "lppl13c" ];
+  version = "0.2";
+};
 articleingud = {
   revision = 38741;
   stripPrefix = 0;
@@ -1622,22 +1676,22 @@ askmaps = {
   version = "0.2";
 };
 asmeconf = {
-  revision = 65413;
+  revision = 69228;
   stripPrefix = 0;
-  sha512.run = "e2545a50595a8276de018afb6037f9d05a5e39ca9bda61b893ba75c61237702f4cb310df75b8c2daca88a4e46683f475e1ad7a1dac5641100f61d25202e952d3";
-  sha512.doc = "1f8587342100f63b3918ff5f11845f9fb10deb193215abbddf5f08ecff232889bbc28ef0f80287fe66420ce5bafa29917c239540ba1b0c860090564c5b3910f8";
+  sha512.run = "1953dea9ef81dc53b06888b912a67de2427448d9d3b38ddc75ebf3714912ae0092d372f82e107b4bc312c0af032b73e6e056f4e64df29d76d01614ae339e9397";
+  sha512.doc = "fe442954eaa9726fbd7b1a1c58f799fb0c8fb0cff55dc0eeb7930a131c77470aa87db26c3178eda57d1fb3c3953178088a4fbc8d6e8260fdbb884b382c08883a";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "1.34";
+  version = "1.36";
 };
 asmejour = {
-  revision = 65405;
+  revision = 68629;
   stripPrefix = 0;
-  sha512.run = "ea16b3b9d8852248ea87cd9da0ec78dde09c1da8af233a27a837aba266a6dadc3703cef6be5e0b5185cf7581076e4e8d7176d06215c2848f1637bcf24ce68195";
-  sha512.doc = "2c9e630113f8870cc0f78c31194754ef2d572534a599991ad16a301f85970cf8a437b719be6afa79711515d10d089486f56024504fc7af24989edcde4b656c70";
+  sha512.run = "a2c37b69e147b7174335faa13522e00a2decf12f6a0fff45c6074c27299a5f71b80181d81265a1ddc7169e2f7652f60250e94222dcef1423de98ec30576aed62";
+  sha512.doc = "1a788cf31b7ef2a1cbf0a7d439b36ad80c786f4719a6d6138120d4fbf22208fc151300774da5718389fe22e0dea83fc8d9b41f0e96b1bb7426d0feab38b2e4ea";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "1.20";
+  version = "1.21";
 };
 aspectratio = {
   revision = 25243;
@@ -1703,14 +1757,14 @@ asyfig = {
   version = "0.1c";
 };
 asymptote = {
-  revision = 66119;
-  sha512.run = "4f97d0d87d1f29985c83c99629fc52e8e18f6eabf95d77aa888429187b49ed9525661d9c06b46a9b2295b03df412778ede1490fa9cd8ec680c3209a4ca6d0be0";
-  sha512.doc = "940297c3d69de7e01caa09ff44483f7334aba14705bdcdc83661ca9be2210133e094f99a8355b4b88d076355bb4f13f64c21700bff57f452dd5dbc8d2fddb432";
+  revision = 67300;
+  sha512.run = "327acc6f4d21a2babb4d10ce3e888e95027e11ab0466e5e98ef3fc8140f0553cb95e3f961534c614934522e7c995078ceeac10a7a62a64801edcbeb090e54bfa";
+  sha512.doc = "38c4adaaf073eee94398ea11e7b9fe671278dc8f326689500abdc1a5ddd34b5be438de6686f830928e2cf879c1dec6c332e9c7228ebca1fa0c31284593c2c619";
   hasManpages = true;
   hasInfo = true;
   hasRunfiles = true;
   license = [ "lgpl3" ];
-  version = "2.85";
+  version = "2.86";
 };
 asymptote-by-example-zh-cn = {
   revision = 15878;
@@ -1913,22 +1967,22 @@ auto-pst-pdf = {
   version = "0.7";
 };
 auto-pst-pdf-lua = {
-  revision = 54779;
+  revision = 66637;
   stripPrefix = 0;
   deps = [
     "iftex"
   ];
-  sha512.run = "053adb8525158b1c0703333bc9a20d3923468da54db4400f83c8c651820a01a9569542afb5502b56abf7034122fe5baf17ea6d2e7d7dbe53acdc7c2f9b1de68d";
-  sha512.doc = "dc7647af18502d3f7d88cb9dde9a4bc467204a78d6f6ef441d7593aeb2f9776532eddb94350081619986a0dece023c2ece54d3dce554188f5b62056b7a1a96b8";
+  sha512.run = "7d9882f2c80021409602f343e99dca9613f060056614f2fa8445b4f427f53287c4eb95af0a252ee3cddb2d6b47e1ecbc0ee3032dd55c209eb946b686f8037023";
+  sha512.doc = "ab6cc1b954ff26f5d7b44f12cffc7aa2d5ac1aa64e37a68a5952616debeecab0e34dd2bcb6e06a3f49e90d45e9b5f60955d8b62cb8d124ae35625b398e97fd44";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.03";
+  version = "0.03a";
 };
 autoaligne = {
-  revision = 56966;
+  revision = 66655;
   stripPrefix = 0;
-  sha512.run = "25e4d56033596a05c6b9e9bae4380dd5fc27d469cfa63272bb388fb3b38a57d2a980fadad7061c76940adc3d50e2115037b5299cd2f095ba5c2e9f47a88fb8d5";
-  sha512.doc = "ef84201b9cfc06b3c6f9031389bd9b593e5477f92507843689304afa8db67737887773d1d5c0a2be2fc77d922dd183cffa0ca27063cf27cd3d41664f76803a7b";
+  sha512.run = "b590b6f43bf17d54595c3adcc6de0e5c6780efd8ee68efaa5c2990f3e9e79ad6844397d6c7695d3ab66d72d4eb592c1455e4234f7a40efdbf4c788bc45216442";
+  sha512.doc = "d043ed183b3e30d35f7d4e6a5b5f094ae5bddb4e2265294c02c0888cf2e78fceb16b14cabb5b5d759b5397f58da1111d5fa590aab89a59ce13e3e13fb2e3dc91";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.5";
@@ -2009,6 +2063,15 @@ autosp.binfiles = [
   "autosp"
   "tex2aspc"
 ];
+autotype = {
+  revision = 69309;
+  stripPrefix = 0;
+  sha512.run = "f7bbb705f28bd5f546125118c48fcb2e02043ddec76ace5866206a3b047448740db06537d969584197de375bc195a8ac5712eda8bc00633befc102eee7c4e538";
+  sha512.doc = "a64c7184ae642968af2ff85a08634b04d526051f798c16a2d3ac1c42f7a948de11fe5b83ec9d208733a7e2fedb190c5175bd253d811c9a6838a5a3ee45768317";
+  hasRunfiles = true;
+  license = [ "lppl13c" "mit" "free" ];
+  version = "0.5";
+};
 auxhook = {
   revision = 53173;
   stripPrefix = 0;
@@ -2079,14 +2142,14 @@ b1encoding = {
   version = "1.0";
 };
 babel = {
-  revision = 65823;
+  revision = 69343;
   stripPrefix = 0;
-  sha512.run = "ec773d88ce631b47cce6543a6211d14c76568f5fcc0c52e1a4289784816eced7391b64d181abfb514102c304299fcdb72e47e8c197ca06ca2ab59aab62993635";
-  sha512.doc = "c492f6d2da0a55d4de187f578279c9ec4c7dc2570b4c129b3f031f6b0a5475cabd0b528f6d53bae1c395ea875790ec1ab9fac8364d7b618012365ac057a1e0b5";
-  sha512.source = "c2ccfd558da2768009467fdd9bce3f676038c4b405a227a71cf2e49c5f6dbc9524b23806e1915adf8a3d8511b7478964b0e41cd51b22d208356e5b64a2177d8d";
+  sha512.run = "8c4b15316808e7de5c039082ecec99cb1d2ab72909cb5c85899180e55d7d425db4440fe6fa9b9f801345c34d55fcfaefba2296d424187bf6f809ca1dd96245dd";
+  sha512.doc = "5f6a02d13ca3e1104587595edffec7735d84ae5b4686692db04325a1bf3b82a45c08c8fb94d6cc79b0da02778e30f7eb8ff0473fcbb30e260022c647e4a8fdf3";
+  sha512.source = "fab559d1876e220830972bae45ffbc2f25c1ae0c0d16f0ba4b857bac5a6f92316bd45951b2fc4c718f0fe3947d88afa0aeaee813787b23040bfbffaf88018850";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.86";
+  version = "24.1";
 };
 babel-albanian = {
   revision = 57005;
@@ -2249,14 +2312,14 @@ babel-finnish = {
   version = "1.3s";
 };
 babel-french = {
-  revision = 66516;
+  revision = 69205;
   stripPrefix = 0;
-  sha512.run = "6cb9355ae6dc0a1ddd6ccd12be767fab6d8af70d8c4d884b314bca67a20a165b55a49b4feab12ca8387d5fc4b9553cb13c2166a2a60cd4248cb755e512774a96";
-  sha512.doc = "1e5b9a8ac199167fa33ac627acd5501d9f0bb992c3cbe4175d141511830647623797d343bc8190273d09341e36e0171d00579b9fd37b77cbe8badae6399aae35";
-  sha512.source = "257f5fcf47fd7959647294e6ee240b7075410704836fa2308118fee99f3e9802d6c4481685d1998933a01a957aecb9901d9ee9afb0ebfc40e07754479d92306d";
+  sha512.run = "ed7e71eb62c61cdc41c23a0e351d7f34b3b90fc245fd56129325774d64755e1bf42e755a295eb99ff39ad300945c3b32c514eab53a338195854fd9eef2c2c347";
+  sha512.doc = "fb42614164d9231fd23672f9f548eaad2501d416c51c2a08c5aa47085111140f1fb1f3519322d17f1b13601238b6167dac92669af43cee67e0a8fef0934d2030";
+  sha512.source = "8ccfec652d691199d0e6f51be21e6b4f77f49bcfe83c168a072443f7c16f518aac34b3221efbf2bfe1f8e5ac30e6db22b556bf2a4708d232b077aa6c52d190cf";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.5q";
+  version = "3.5r";
 };
 babel-friulan = {
   revision = 39861;
@@ -2298,24 +2361,24 @@ babel-german = {
   version = "2.13";
 };
 babel-greek = {
-  revision = 66347;
+  revision = 68532;
   stripPrefix = 0;
-  sha512.run = "eae0105f5f1a637677387065b8cb941336da2c4440ebeceef26f6c0e25bfc0b92089140d47332da372f31ed0a0b1e1e976092d636f142a21e1d27c61959ca189";
-  sha512.doc = "a76fc17e43dd86da4a05b3eb515167c436cd7c211ddc84f3b7fe37acf42a971684e09ea3af552318bf896b9fb5f5d75a461db6fd598df434e17e63fdcd80abdb";
-  sha512.source = "2d7ab1f4f63f437f4988cc7572ee3eaf9fdafec0fdc9d88cb132ae3daa83bac33a9149a9fb9bd92be7ab6958e4bdd787a23c815771ca073453f7e4baa0e2a6be";
+  sha512.run = "f81c220447f77f207dee02a5611edb3dfe68fb775abe932efc560de9a268570e688b3abe4eb3dcc094ac0c967360d52be02bc85c82daedcf173bcda269065938";
+  sha512.doc = "deb5a889b55a93101ee4c8571dabf00f8f971a6a27c2531c9e71a74e4b972ac1fe3efc6a336a6f0a38bb746316ba38881fcb2b4a90b64fdb5fa1fed51a7d90a0";
+  sha512.source = "aa891867efbcd19359dc6fa93334e43858ec9c4f7b0ae2d26c5d770fa2210fbfa16afe2ee8ca49fa3db1cd6b8680c8f06dc1069d760b65ebfbdcef0e54fc7da8";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.12";
+  version = "1.15";
 };
 babel-hebrew = {
-  revision = 30273;
+  revision = 68016;
   stripPrefix = 0;
-  sha512.run = "4690fc4288ba1d2142fcda24153e741a539ddc4a52d3e502c1c349feb19609c7cef1427751af24b93df191f12d2b7cf2d11423052193df01d848987e66744dab";
-  sha512.doc = "cd4b52bb2d207cb2bcd327e2351bf30d18921c7c4f8a8fa79ce0bf8864d6f6a34e2272fd416828c772abb2df5612b4a78f73f54157b6d69b011c008495b93cd5";
-  sha512.source = "6d380ba803ecb1f6f268ebd2f80da0eca87c7f25d3374ba0a0432f9de6d39632613fb49e108ac9b7d97438b589dc71c37b47927b7387bad8809175355aeabbc6";
+  sha512.run = "7feecb0fecb5ba203e494c9ca8810c7e58df692617c7ef1e15128bc3d2c947fda90267c21b0dcb2743b18fbcc120da2a0f1ca0ba76cb74cb2e53b3039dfb1c5d";
+  sha512.doc = "849c598ce07421613bb7dbdcb1893efe5facd807e5ad54a507d62054119113f349e60186258b7a60bdc695d7fae757ae65d64e7bec68710046a4247e52510523";
+  sha512.source = "cbe6c2798fcd9edf4f98520172cc56725081158d2968f961a6ad59436455bead4553070ba5ff52aee705464d261d0880c032850e51ff1514e631362f64ba0dab";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.3h";
+  version = "2.4a";
 };
 babel-hungarian = {
   revision = 49701;
@@ -2367,14 +2430,14 @@ babel-irish = {
   version = "1.0h";
 };
 babel-italian = {
-  revision = 62890;
+  revision = 69298;
   stripPrefix = 0;
-  sha512.run = "a30e451e39ed4e073e3a188ecd19933b965ffe94aeee3acc9b3443466df1fcf86b7a04ee0c6283bb92b17b0b11a975f9df7ebfdfa3306fbc15f6e2214e30afee";
-  sha512.doc = "4fe9d39aef8a29737aa8a6f945f1efec3a442aa072cb6fc63ba358c372d02a718f10a5d25df58014333c2a6bac9e97dc84e3dad86f8d81d45e4c1216a9eaf0ee";
-  sha512.source = "48a5d7f150658558638d3354398462cb5999a3ff18b2479885a989db816711610b9c2ba9b237d5ea1e11eae66441d8f6d88656f6df73e2b7d49e11959c79ae2f";
+  sha512.run = "39c9a5b40215874e74a86d3f994900e1dc3f5c1d0067b5bec224b5ca997a2bb254b914c9a15888e896e73908be5cba309a8da82fa12d797c12a93037c245256c";
+  sha512.doc = "ef2f87cfb66fff50fccc3ba4eec0f1c778765d49ac2976561f4963d9e12f1b2c486459827a44e66fbb42278fce72111d9aee373c1395f0532fcc42ab5efc5ad2";
+  sha512.source = "8436a5fe438a56e27efc22d979e56dd8f55971c598cf40702b485172448c0e5c959a1d9971f201c9e5e14df1d37815a39d9572c9dadbf6c6c9b0969f3529a3c8";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.4.07";
+  version = "1.5.00";
 };
 babel-japanese = {
   revision = 57733;
@@ -2416,11 +2479,11 @@ babel-latvian = {
   version = "2.0b";
 };
 babel-lithuanian = {
-  revision = 66516;
+  revision = 66513;
   stripPrefix = 0;
-  sha512.run = "18dd55b766a08088c49bc263560f5d3ae9ef0c644a3bc8cb70ef3496ae86bfc15eb4f450de6627ab1bd01365fd2d98230a46f92aa866d7eced55eb2c21e116b1";
-  sha512.doc = "f48446baa2e78cf8e5a730e06f53797b90d04827aebd36d2d66a3dc9c7380abab92b0ffc87d59ba28f4b0d603a77a75ba6f315c90ab3509c067243a05d8681cf";
-  sha512.source = "6fbcd3b900ebafb10f9b83591d28e5d61bce8c954ae064e6e215db77d9ba3a670687f2f133459866a5e12c5be7b6116b5608a83131dfe2e5752b0784e395d101";
+  sha512.run = "83e8aa3c7e8e018f79c848ebd884f0d0a07c87953611342b5a9f25df1241ddd931ede31a03b1670922049948a6f9ebc88676de0a4be9e144a3f99e22fb857fd7";
+  sha512.doc = "76dac9c2b95699a42018ad370afc1236668a37a71707a6c1a8fff1921df9edf30730f71337c1128f64b7448a0bd3f99e432ddbc1219534884e8476a8c7fdf338";
+  sha512.source = "1ad90b302e3e7d415fcf0534642a22fbced05f0cb3ff9218c73175b3bda74d0a7c96b27dd1401e12885233e2236e7be479d651829dcc04906f94f27012a5ee8e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.0";
@@ -2833,13 +2896,13 @@ baskervald = {
   version = "1.016";
 };
 baskervaldx = {
-  revision = 57080;
+  revision = 69273;
   stripPrefix = 0;
-  sha512.run = "42db4e01e127ca3870f6eb692217a7b0c24857599f01314c41ff6f26664e3559c4a938fac1557e799e273b42df2884955df3dd72f8e0b44456b414b8831fc019";
-  sha512.doc = "df3462932654a6fee3afd099a92c5d12b6999003af1c76a3be3ec3f32035b76993b3806c88e670a26c0857bbc699efa64063a4f23c24055ec337481e65019e91";
+  sha512.run = "f78b61573fc99c6696dd9aac4f108f473996c5e67223e721db88f355b2e55a68f2b8a21c7bf994f2ee36a8fa465b55b970d65407b1ecfe1ffd7e00061bb70753";
+  sha512.doc = "8d1b8a3e12b958fe5dee50255c291ebe8ed75e8733a28a5fda7c927a9253e0d94e68b51e81ce8805e3c3855893f53947429fa9684c99925d80176522c72119e9";
   hasRunfiles = true;
   license = [ "gpl2Plus" "lppl13c" ];
-  version = "1.076";
+  version = "1.077";
 };
 baskervillef = {
   revision = 55475;
@@ -2961,7 +3024,7 @@ bclogo = {
   version = "3.1";
 };
 beamer = {
-  revision = 65975;
+  revision = 69316;
   stripPrefix = 0;
   deps = [
     "amscls"
@@ -2976,11 +3039,11 @@ beamer = {
     "translator"
     "xcolor"
   ];
-  sha512.run = "e74d15c057451bcd3aa915ddf17412322dbb71885661f7bd6ca30c0fefaa3451ed7bc519b78099594614bee126ae72c110d035924b8db2e23a9e535408fdee19";
-  sha512.doc = "bbe680442b95b9d953e9e82e439b2885fd9830b335aa8310cd1adcb6493cdfdc67c61fad887a44704bee96ccfb743d8e101a8ace5807babad88e083fed17cffc";
+  sha512.run = "25fd0161673badc509511fe31b4780a68011ac796e12a841ed185ccb5d9eeaa22c519ddbcd2fc0a5cb70ba94a0752b6b5880f86dd499e4c89f1a5b708f3d7fd0";
+  sha512.doc = "8893df96934b3325455557a8a4499113c9d69d563452a01a81107054d99bf4ab67308482a70a777491d208d3e008b60d9c8f76cd560f1fb8af82d97a2a121bc6";
   hasRunfiles = true;
   license = [ "lppl13c" "gpl2Plus" "fdl13Only" ];
-  version = "3.69";
+  version = "3.71";
 };
 beamer-fuberlin = {
   revision = 63161;
@@ -2992,13 +3055,13 @@ beamer-fuberlin = {
   version = "0.02b";
 };
 beamer-rl = {
-  revision = 65725;
+  revision = 69254;
   stripPrefix = 0;
-  sha512.run = "116da52bba8c3e49784d4cdcc50e1326b9e2455741fa1187d51c0757dcbe8ad4e27300e26143413f5e5868cdb845ba044655a263a6a709268ead43f0398425f9";
-  sha512.doc = "2acce2762763518cbe8bc0342c2b742efb685bbc83159a4b3ae9ae254f5bb8326aa0dd83691e4115b9c63ff83822bbabaf461cbe5385aacb4ba7a31782bcd440";
+  sha512.run = "36f3fbabba1319d8019862455e97502d5446f1838db4fe42410d75101f430270df3abdafb61e7fb565040d9aaadc987cf268010aa682fb509cd7303f6f2e6dcf";
+  sha512.doc = "d0add94467afb47bd358ef5a228e314e280b92c8c038f3e6b6f2a28410e8eaa6c984a34b43902e4b6abc2c0246e732be9e9e31065e11cb14cabe5dd34b15e941";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.8";
+  version = "1.9";
 };
 beamer-tut-pt = {
   revision = 15878;
@@ -3102,13 +3165,13 @@ beamerswitch = {
   version = "1.9";
 };
 beamertheme-arguelles = {
-  revision = 66373;
+  revision = 68659;
   stripPrefix = 0;
-  sha512.run = "3f80674087810ba9904fbd6278059010df99d4c3583043efa2a8d09e1bdeb88c1e116c537eb621196a5abda921531ccf406c6d694e4e3773493afc1a05dbe2f8";
-  sha512.doc = "bfe9877c96c8930a3e9c2f36ff09b46e698d2756ae99ca5bacfde4c0b86a30af7320860cdaeaa0f841da228489109f2ca111bb6e5bd6de6a0cdb4c4ec019d75f";
+  sha512.run = "e8b070e76ada96ff6a679c6c7d553d7ff67d4cc3fc792183bf68eee73fd9be3059eda0f0f7fe970655b6debef3af018b15b3a408bd494bdd506bf187d80055a5";
+  sha512.doc = "c9f34943ba6a1233f24be443a56abe9aabd51dfe7c4531ffbe793ddbcdeef637edf87686934b09e78bcf3213d4530165bf28646e86300ce790b94f0ad8fcc7b2";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "2.1.0";
+  version = "2.3.0";
 };
 beamertheme-cuerna = {
   revision = 42161;
@@ -3192,6 +3255,15 @@ beamertheme-pure-minimalistic = {
   license = [ "gpl3Plus" ];
   version = "2.0.0";
 };
+beamertheme-rainbow = {
+  revision = 67542;
+  stripPrefix = 0;
+  sha512.run = "220dd54bd2565263ce7bc48068c96b48a0677f36ad5f3d826561e1d0ca21f5ecfa7ab675005e7aef40e4b9e9f149ee341c0ed82ec8a5a6fcab40785cca97289f";
+  sha512.doc = "bcf12ee63331bec8fd8c5443231109bcf1027d1abb9ce94c919c17fbb8a5248bea503acc25bda67226fcea1e30a2ae7283cfcce6a9b937362086e9123b4a429b";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1";
+};
 beamertheme-saintpetersburg = {
   revision = 45877;
   stripPrefix = 0;
@@ -3219,20 +3291,20 @@ beamertheme-simpleplus = {
   version = "1.0";
 };
 beamertheme-tcolorbox = {
-  revision = 64387;
+  revision = 67000;
   stripPrefix = 0;
-  sha512.run = "9cf46f7998a683675640dc4f6bec5bc873dbe4fa09324ce1e3c32b0f1baf297b6f0ed9f25fa5f346e718e9290d697b535b23da927c5630acbe61e20835faa68b";
-  sha512.doc = "9c779600fd21e28052fd345871ed9541eb7ded8dcda3a63eacfe0de72dbd009f61883b5564ad3168483b2b1d4ca7e138d678c14dc67fbeb4b58785d33c22542d";
+  sha512.run = "bcace2249558b6519dde1d9c80da791e38330de31da26c606d8bb8a780952bc2cd57f93948ba191606bd44c2260819546a367e34f672555db22d0c736a6b959b";
+  sha512.doc = "240a7be55ae035ae4e155efa814639de14a2c5ddc2dec9bfb963df2010026e8cbc7f6c834b6445695dbd7f1e68499e123b505de068fc196ed25a86115c06261e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.5";
+  version = "0.6";
 };
 beamertheme-trigon = {
-  revision = 65974;
+  revision = 65985;
   stripPrefix = 0;
-  sha512.run = "0f8c9af1c1dde891be6d8fb924276c72742a8d45fad9bee7c095c20e62576b65162178f9d6a11fdfe97a86d7ff3501f6b21ce3eb404f29bdb7224fc41428bfe4";
-  sha512.doc = "91c5d076b2814a6d4c0a57b9e2d91419ee50bb57ff38ef1e040d2e227f68a5a68668b35c9a24e3ece8d3936c2bef49786da6bc93e1594ce83ebb314058b670e2";
-  sha512.source = "f770036c49ae0c8e875a02ed2350d6ec9526bd8a576077799b4839a723c26b3961a3c98e2271507e787b5c6a27f0d62ce37e0d062dec4ff1a4d54719b86eb156";
+  sha512.run = "1269b79603c415123a91093bc69cd672aa54518da7e7cef52193804fcede45dc09fe6748f2c0c940a754767963174e768b52873fbac5a520f7076229100ff016";
+  sha512.doc = "83b6946c17d060c299260ff272130938933dbeb9124b1608e8f3bd886b2f63851773181dc1efabe901196b37f7254569a5b5de0de7fd39ff558eb21376ffaa27";
+  sha512.source = "49f9d4cf001b45b29a5c7b59155d72e286092157dfa5c0dfa05e7a20958adefda2a182974508f9a0936acb1d5ce199e21b350e85da7e292525b2aaab60e2c6d3";
   hasRunfiles = true;
   license = [ "cc-by-sa-40" ];
   version = "0.7.0";
@@ -3301,20 +3373,28 @@ bearwear = {
   version = "0.2";
 };
 beaulivre = {
-  revision = 65475;
+  revision = 68376;
   stripPrefix = 0;
   deps = [
     "colorist"
   ];
-  sha512.run = "cfadd2e47adc0f4fbe6eace5ca12f2e4dcd42a5efa681d4e0dc2f269957a582bb463c6230671ba1f4c35bff7299f4764f8f3dbab75d35c54a7e7594f6a9ad68a";
-  sha512.doc = "f72326c7d83bbf6c4ce9cda132efac84e5ea1cce1f4a64842c6bd5b16c8a393e4a8e7fe15b064d49597f9b23a81bfc40bc4c43bc07f30558042d8f0f97cc484f";
+  sha512.run = "edef18ea01309678c4fd177b08cce8c5a59023cb521c9adab9cb88e096c3a4af3c2cbe035360f9310914252a9f0ca71a0bb4a8e220c75ea38fd2dfe8faf0d639";
+  sha512.doc = "8159204651670ac0ffb0d3d4b9121f573e86bdbaa5619ac461393d097f5d2a94dd547e3dfc83b6e8aad0b57dc2913bebaf77d41bd0355ac55ea4c74175a73922";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+};
+beautybook = {
+  revision = 68438;
+  stripPrefix = 0;
+  sha512.run = "68df2cac1064c5636f1df6b5f9d51773278798310e7d36550f2a55c05c8d1480518407a97037d0167fe92fbab2f8d7be73d528681d66f63afe644ef3ede38ca0";
+  sha512.doc = "62eeb012597c27e02b00ac5d7b2b280136986c412baf7113634bf62e0fe82b1fb9e4fdab3ab6a2345517a046fe46bfad6f2031926f07f69609e895800e215ed4";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
 beebe = {
-  revision = 66287;
+  revision = 69012;
   stripPrefix = 0;
-  sha512.run = "3f470175ef075692f753d8d758e8a94ce01ef181610b267ad09e2e50c51d51930caa32f298e27a9f127f74d0bd672c6e5a7453178c30a893a9c535aa8d47a5cc";
+  sha512.run = "46ab5e24904f3a5f9fc3a548a13b78befed28d1d32aad38aa57a619313aeaaabcb5c131e14103c7c9c02b42297bc59e0a096872ecb3342cda92ec5e14e9c8c29";
   hasRunfiles = true;
   license = [ "publicDomain" ];
 };
@@ -3348,11 +3428,11 @@ beilstein = {
   version = "2.1";
 };
 belleek = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "05824940255b84f080261bf4cc2f192a40b6f53fe0620da486106e5904062570ce73035f710fe56405eae6c0e99f03350109f0f784ad524840527a2047b47fb2";
-  sha512.doc = "16bc074238cb02f0d08c1facecf01d4de9994e4f1458f32a0a62616d31e204971af6ee8a64e2e9ad473fb87c98fd03453896c3b1d85505b8f0a46d08b3738189";
-  sha512.source = "617c3011075b005d2c56b093df07edee8f1538e1813d515f0fb71f6b9d3e5d78473630d36e33315f725998891ba043cd301badaed6017b8028e69bc586652b03";
+  sha512.run = "4ae91c01e67fcefd46da99d6bc8379b3829e4e0e88f512f36bfc9743d075090d0c26d0eef11dde5125b344e85ccc3c5a31569f3a1078d00d364ea80120bec30d";
+  sha512.doc = "93266af4f4293639a123f5ba88e2680d87e6d815f49cd7dc6c9322866dfb22308716da1e362699aeded819e7817987938f70cf48c9166e7127836de743e5dd63";
+  sha512.source = "b8547d1b3da8be829b7fe99d0cd7cee8fc6b7158c1799712ea85614534d0b020cfafdc1696a0e5037ad15b215173e1461c64f86a1f52795209272aed9991d107";
   hasRunfiles = true;
   license = [ "publicDomain" ];
 };
@@ -3456,13 +3536,41 @@ bezierplot = {
   version = "1.4";
 };
 bfh-ci = {
-  revision = 66465;
+  revision = 68828;
   stripPrefix = 0;
-  sha512.run = "f17076389ce9b898e20d38768bbbd379c7dfcccbc8f5cee99b155cc68b0133369fad4198ddfd337916d4ee0ec12ca40bb3ee4e7d68cd6fed7b1f2f6a5096323a";
-  sha512.doc = "8efa11a2c8193fee4d10219309f8587b08f18514c966bf2034f62e05cb1581067597412e073d1a2240e62f0ebf7519e0c8aa97ff254ce9a613b23352cf11e994";
+  deps = [
+    "adjustbox"
+    "amsfonts"
+    "amsmath"
+    "anyfontsize"
+    "beamer"
+    "fontawesome"
+    "fontspec"
+    "geometry"
+    "graphics"
+    "handoutwithnotes"
+    "hyperref"
+    "iftex"
+    "koma-script"
+    "l3kernel"
+    "l3packages"
+    "listings"
+    "nunito"
+    "pgf"
+    "qrcode"
+    "sourceserifpro"
+    "tcolorbox"
+    "tools"
+    "translations"
+    "url"
+    "xcolor"
+    "zref"
+  ];
+  sha512.run = "8aacc57f0eb40e83a6331cf86b076b287787672421648df65814214b60e739697d97fea5d8d18f112c27ea60cd2f2b9a26c31fb6074b9c1f1cba4522e96a11af";
+  sha512.doc = "fc7e441fac29da849714c79ed0f68e94059d09c1472b4c56b3f100f0e1af730963e9d0bedeb3bcbb87512ef68535321d6df13370cd9be3d5399cbc05e7f1cee7";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.1.5";
+  version = "2.2.0";
 };
 bgteubner = {
   revision = 54080;
@@ -3503,65 +3611,65 @@ bib-fr = {
   version = "1.5";
 };
 bib2gls = {
-  revision = 65104;
+  revision = 68534;
   deps = [
     "glossaries-extra"
   ];
-  sha512.run = "009e393b3083a3260642cb36dc463c714689d1b32d07885c9d20092e4f7386d05118c452e6f97001120f70558a69aa58d757ae0998cefe10e164bb172e432fbf";
-  sha512.doc = "2a22e662fa0c41581a3c9d9496f97854ea2faa0d01970ab0cc0542048d0ebdcfcbf7ddc7fcf519510d99300eb6634f1c7688874cf02cf6052962d903c5810887";
+  sha512.run = "98fa1d2a2af4c0bcb63aee20725206d015d9aeacae7291739d1b0e2a11acc2a0b447a6da8229bf1f09cbbedc4f5071401ec5f61a4a69e64658ad62e927e6618e";
+  sha512.doc = "6213d39c6029ce142232f077e65173b92b9eeb2c88b4d15431301687d4fcc16dbced3ab4817241a1f252c5e8eafd7f63f5bd71ce7d7dcd277b49bddbe351c93d";
   hasManpages = true;
-  sha512.source = "da69973053fda82589612813834134837cf9680f4257a6336aed08213df0ff4c34dbef3c7edb833c7987549599cc48ae82dec36bac96dda003e3de3d1422bc6d";
+  sha512.source = "b029073dff63dd547fcb5f2359c0449e1d91c9eac243cc45a850fcce917db4fc22646bc45e47f5fee14b75ae67e75b13bf4677e0e76868c5a83e689411de28b4";
   hasRunfiles = true;
   scriptExts = [
     "jar"
   ];
   license = [ "gpl3Plus" ];
-  version = "3.2";
+  version = "3.8";
 };
 bib2gls.binfiles = [
   "bib2gls"
   "convertgls2bib"
 ];
 bibarts = {
-  revision = 64579;
+  revision = 67407;
   stripPrefix = 0;
-  sha512.run = "df6f803918f6beaa20ddf581bb531c6f9cb488a77262dc075a00e2ab5e8aedc107697c17cdc4b0310702db3b565dcba4fea68fee9b9c0a2d6a9109ce3c8d2ef0";
-  sha512.doc = "ec614687a713c8c1542fc8a28aba9bf837eda9c91d63e6236ad021d2eb13d052ab37d078263fc9f25ad3279b7e721cbf39de4cdc94db4c18dd06625e5fe10507";
-  sha512.source = "b4d0e27e0bcbfcc140c6a28a5d0f7b9150ce0c8ae07d7a6e96d7669c3f91da5e41e8d52e53f9927a00cbc534694e45dd787ec6786627cba9d81fb841d0aa10d6";
+  sha512.run = "358492693511d2de25fc7e080c862e1aa6a6ba40655fbf64991092a4a56c76a35f9fa9f8e0035fa042f0341f8fa9f13a5615079a2c9c56af36aaba4f41385865";
+  sha512.doc = "d708263bf3d867e075281e0cdedca007fbcaf8cc333a8c7c0c9a0b79e68bce1c100b263a740e232a5f84861726dda947914a7c4ba52d87315163db9528c2c544";
+  sha512.source = "b1d8043b2f7c49e6bfee9b1b82f361450878f6059cef790f12e9a26279caf25f2bf446b4b70c1882478503586b700e7b2e78a6c631264b1c2498ec493ba20ad3";
   hasRunfiles = true;
   license = [ "gpl1Only" ];
-  version = "2.5";
+  version = "2.6";
 };
 bibcop = {
-  revision = 65816;
+  revision = 69395;
   deps = [
     "iexec"
     "pgfopts"
   ];
-  sha512.run = "a035642f1b1827f0b6b4d15b4115054b9ab3ff49d7d369f3e304cab5964a707b23865b837c6b156b913e33fe8ae5589941e6ff284ee0b62454a9eb8ec77f3442";
-  sha512.doc = "93abe6f0a97138237d7546d132385069f8ff8a638a31cf9be23619b812fa578af808e6f9ce04c06778a4559b1eef98b7d24a0ce5ce6eb5ca9680fc2ddbf7c4b8";
+  sha512.run = "e4520627247c144f8fdaa3f3923f150297714171124f3e76e0d772ef0455d89c8229574a3e9bc8875c6902103465dace4eda81b0e30de3830152f3cd260bc794";
+  sha512.doc = "30ee2abd74da23ece25080c25c9c94bf44a54dea50088fa6a04109a7f67c9ddbd08973679499854cc4a29ed432a110283319cd2f8f53f6aed005a03218d0ab0c";
   hasManpages = true;
-  sha512.source = "42a5b9a9f058afa6a1460a3a7c6f7dc9ded6abbd8915529f8366d2df9c2871727bc766a407d2dbbb6716420da7115af5bc2795b343c974f2bf0e1d673d8e96f3";
+  sha512.source = "e2bfecbc459f92887760ce2862874f05a392970c8d5dc5564a46128564f7da7d8dec4d4fa27ae4381efc79222760d76c74f19f5a6216fc234a377f83402ee0db";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.0.9";
+  version = "0.0.17";
 };
 bibcop.binfiles = [
   "bibcop"
 ];
 biber = {
-  revision = 66456;
-  sha512.run = "09e6751c129a0fe21ed251d191fb0e0e4a1b7896e03b925a024f19eb8c7526b9134e9fd5fef7a02e525dadc589976a8744b249a9486b5367303b6f830e0d3eb2";
-  sha512.doc = "d0ffdc4417cf646c8b8b22af56abc0258987943948e314c194d2d1cd17c2124936d9a8a2e5c6db6da2de3d6c67d36da2b01e5be07ea83e16b06c465cc8a9eb12";
-  sha512.source = "46f654ff68533544bed787de738e270f4c82a57867603831ef9cd1cd3704a2ce3c052509835334ee0e8bc476b13b9521fa71af62777e26c044ecda7923b43e44";
+  revision = 68188;
+  sha512.run = "07222b2bb0aed6b2de71b1e061c878e409205459decf998a7c100ae92dbecd91549a6c5e2e0dabe21f742fdfa7a57704252ec565d9e7ef0bb1d802fc1939edc6";
+  sha512.doc = "a02c41efa4a5fd8ff79c8112dfc22b45e9717aa572021aaf93ede35ae57d91531dddc004497b562c605350dcff1c96441f7613d6c922e882652e9776707022b8";
+  sha512.source = "8fd59f63eaa86ea4d87c8c01458fea16c0e470969f3dd6ac65e20954e8a63e793a58888cdb61f913fcc291fb5d2f3e0205e7e7488946738e27c23f1ac51be9b2";
   license = [ "artistic2" ];
   version = "2.19";
 };
 biber-ms = {
-  revision = 66479;
-  sha512.run = "8a0bc3d5e6d4cf3991ee7b0090d62358e3d691af9e901a1cc91396a0a01cb59ac2e707b941d32d18c35345987180bf60c9fc0ec259dfd9d25fd18dbe216f8bb8";
-  sha512.doc = "5cfd427c1324b83b33a5a5a93c727e9f6551b292d63e5e7659d8bcf2d1dc4c323bb58c40017977b9545930624ce1deb92ced28ac80a5a91df80d207a4f1495c1";
-  sha512.source = "9d68fa2f2a1e28c12b34e21c08211de8582c613c35693ef59bcb7f592a650a043ed81719cad6764952403ce19c435465b990f6701ebd7127c3c8fcb8010b4b9e";
+  revision = 66478;
+  sha512.run = "8e78b381978835ea25e8a973fea35a653f37a23e4ab3f0a83f26808f142e4b2a91ce61ab230f7667b222af249bbbae08b40256cb82fb8ddf39c89b7dd042c3e8";
+  sha512.doc = "82bbadac2732d19b750cbc9ffd76c9a26409837b0e1b9396d405b9a64a2e5e9997fc11c53d8d399f815bc822feb1ba3fe9fcb50c8e9401ef7b2c9790450ab784";
+  sha512.source = "9c15f088c5c97d63b928ef10a8d1f0a628874ad664182b631e5a52407b1a034bea478fdbe1c287ddb703fd9c9d3d84a8bdb47ea09d6de25ad99aa1ef8e227fcd";
   license = [ "artistic2" ];
   version = "4.0-1";
 };
@@ -3593,7 +3701,7 @@ bibhtml = {
   version = "2.0.2";
 };
 biblatex = {
-  revision = 66405;
+  revision = 66403;
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -3602,8 +3710,8 @@ biblatex = {
     "pdftexcmds"
     "url"
   ];
-  sha512.run = "7269a29d39552dc9041644c186917662f874ca70f70240b57b00c5a3de9413634ce8fccb82a04a9fa63f0a884bea6eb8d2ae61b0d8263b237c3a335d7b5aac84";
-  sha512.doc = "bdc1836751a1220539bee8f4a59f2afa072d452ec09cda9b69c8f2c3bd1b6df58d972af73ea7b8ae3cdccb512c5adbe3b74ea32ab7edbf9790ce0d40b5113c26";
+  sha512.run = "e07cd6233021bbe2f3591f866c3b3eeae083574f705da9505f6bcbb7284c243ac7f24440253c4557f0a300e9995188bf5915a42643e63eb80ff9e0fa4ffaff1c";
+  sha512.doc = "f765e31a89e4deaa9578b30aa206d8f26ae7b3545a6575a5a28758263fc45eae6c5d3b5aa1233f3000f731ebed104180cf79fd051b47a79699c89305d626d0ed";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "3.19";
@@ -3636,13 +3744,13 @@ biblatex-anonymous = {
   version = "2.6.2";
 };
 biblatex-apa = {
-  revision = 63719;
+  revision = 66605;
   stripPrefix = 0;
-  sha512.run = "cceda3efc358f1cb2ea6e8c19063e3a2568e1a7569f6d18a10db5db69347a8fce01cf1a2e811af35b8905f096527783f5c62a875978c807f2860eb2e123d0de6";
-  sha512.doc = "cf7ef8e8998b7be34c115d71a8c832724277baf775a03313e5e4bb906be140eb996dde8852d95e46950c9ba9d725cfd08e51177e2e3c133f8e1ea8977f71df16";
+  sha512.run = "d86ea9a83fd5c1f08bab77c12d6f93e241d444c10554918a8aa91ca4f9677531dac291962e354d2fb19668c3e59fa14e256039fc2cae2bc531c2ffaaa2ae3735";
+  sha512.doc = "84f00557b32e8a50a1256d7a39635c77ee6a59c9fca1d36e571df8540afcef5cf0bf8b1dd648a0eaac1c45744d863774da2d0033223b5e3043653f8759b31388";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "9.16";
+  version = "9.17";
 };
 biblatex-apa6 = {
   revision = 56209;
@@ -3762,13 +3870,13 @@ biblatex-cv = {
   version = "0.01";
 };
 biblatex-dw = {
-  revision = 66534;
+  revision = 66579;
   stripPrefix = 0;
-  sha512.run = "e45780eab8c3c19e129193dc83ab34ff7d0ef2636c1c9ed89bc9302fa3763448a701dc4cd9ae2d7ea17c18730b7daed22397a91469c8d50461e660d8486c2f11";
-  sha512.doc = "ab8cb148e87de3e8f9100f60d0dd6da56b0ee3cdc5107c02ee29dd0f14938181b2ca8e2138745f2e68a7107399090b2b0b308708a613a649a89e2683b519482f";
+  sha512.run = "bcfc88a15950bce48844dfdfcaa8cc946d553c9fc31b3820dd52a9f4588c55e253cc593d13b1dda0b38153a21b93a3d9a868398296546f54b5b804c58eebaa1b";
+  sha512.doc = "54699b3f4e89bafa89cec29ed14a0ac32269bd52a68dda7916961b50032fba9ad3acadebb1737d8bdffcfa07f99fd104ad3fe19f0a1f569258fb4ceacefcd1ba";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.7a";
+  version = "1.7b";
 };
 biblatex-enc = {
   revision = 44627;
@@ -3780,13 +3888,13 @@ biblatex-enc = {
   version = "1.0";
 };
 biblatex-ext = {
-  revision = 63638;
+  revision = 66641;
   stripPrefix = 0;
-  sha512.run = "f0ece2929a62260440cfba408a9abad4bf023102bac3b75ba3d024af760b9ef55a1378b6b1ae4e4d37cc56d62694e71481a39c7b6d60b9cb25515df96e6179f9";
-  sha512.doc = "c51a10472697acb229d3cd4484d6d911b4990733824a397854a331c39074e79df8b005b051bd344ffbdc9f0869d9cf63a832a687607763eb56394af5c27b5813";
+  sha512.run = "d39e7a2418beb7b627bb6cb9566dc17553f0f33c6c720a6da760976d6f0333cc15763d79aa2dd09a70d571a3be886d4129896db14616e8e28d426cf41945da8c";
+  sha512.doc = "bfca548e2bc673037efe14a54363787311c05c8518e868f7333d958f45b0a75da7d65caa9dd993ef37408414d27576ecc2cca7eb5d2e5e316f4f2f94c961d8cf";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.16";
+  version = "0.17";
 };
 biblatex-fiwi = {
   revision = 45876;
@@ -3798,31 +3906,31 @@ biblatex-fiwi = {
   version = "1.7";
 };
 biblatex-gb7714-2015 = {
-  revision = 64967;
+  revision = 68240;
   stripPrefix = 0;
-  sha512.run = "ede1745a2cdae712e7cab552e25682540fb03a44884b6d488e4af5a43dfd3ed08aa4f75be3fc6f0d777585081073eee18af7b5f942664c8fce0a3c2752d1effc";
-  sha512.doc = "724b21b108898ba86cb2738ebb9b4db8348624c09078b166c74cfec3b77c29f878d83a709a0cd0b238583def462af45dbb21e822c00908e0bd9a426f46ee2f79";
+  sha512.run = "6bfa18d733590bd1c361a47fef482285dc2357617e69f49edf0d398311ab038fac38d326515b840fbd46630171af004f4d66f1db3b4f77efed836e297c92dc66";
+  sha512.doc = "7aa9cea56196c395805b484e5f003a17215db968ee3e7fdd8aa1ff5976079be542adad8cbb25e0a874a1094f63a17efc4fba5a9ac70d22ac7bef739486ad9a68";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1k";
+  version = "1.1o";
 };
 biblatex-german-legal = {
-  revision = 66465;
+  revision = 66461;
   stripPrefix = 0;
-  sha512.run = "b28eda940fe50d51227a2dc069599766fbb6828b083b2b5220390371c5e640492de6e78250ac81709fa4c22720c1d81532bca2d3e2b20daa8a7633f5fbf50134";
-  sha512.doc = "a5e5ef04ca52c42becc0bd610cdb75519e5c783acfc6dad010d8ffc220e8062155478492601300c192a06553703cad34d1258f88f4133239df2f0ec4ca810e19";
+  sha512.run = "0d447d700791b3e0a50fa98c14cd71c735e1e1196c9d0c23e86114942d2a9d7dfc9f769a6f8ea7aa78903f1c6bf5600dfcd7091250ef65f2a2a5295a796f8fd1";
+  sha512.doc = "8b83f35af4cbc23c2e19dd35d3f798575f1df540bd4f10a9f0f7d732d5de6559cc0ad49df21753920eb659596b5e506e17fbc066fdab27552831d222da1e394d";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "003";
 };
 biblatex-gost = {
-  revision = 59135;
+  revision = 66935;
   stripPrefix = 0;
-  sha512.run = "72da076da250a07f89364ecdc65649ab845f7ec90eac0207af902beb42625c7ef69612d444628a0c9472063ae9485d9518cd6934ce1124d25549a64a0eab91d6";
-  sha512.doc = "4cb101c69ffc07d14d653cbd6bcc33deb797987dcae399535bea5bc14d1149705cbf6b1e21a7fd95d9edfc7c558eaf744e1715157a62fc2e1978476db0af4e75";
+  sha512.run = "8d87595c133fd1b64ea7facda55a1a7a79dbedb93750e0f54abd26e5904d331200349a956eb03a67017015e85e9854e26f6753b5d2be2ef0f3e4d532eb0b7ddf";
+  sha512.doc = "3ee6799d4dd00b4503fd6d7bb041d674c9e61d4ab3c366fe078a9db4a4da154601c13876dec51ba14e3322442e3174cda81212df26d2309e3517a60d06283051";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.22";
+  version = "1.24";
 };
 biblatex-historian = {
   revision = 19787;
@@ -3888,22 +3996,22 @@ biblatex-license = {
   version = "0.1";
 };
 biblatex-lncs = {
-  revision = 65280;
+  revision = 67053;
   stripPrefix = 0;
-  sha512.run = "bd708ad46839042f2113cddb25dc8370c4ec1ca6ac34e08dd472473f56097e29d154cbaeba9a1a5f86c810d288321528c92a1041858e2f6256f4125ef8238930";
-  sha512.doc = "b0f5868bc3018ba7a8d82f11af9965bf592564e578ee459ec747720dcf6fa741103a40f5f0cc3a3394d7514c16c04e0a34fc37940637e2ffdaa8b560d128d735";
+  sha512.run = "b2ab630bfdd41150b0be50d3851c03413ca8c8fbb5756989bf4e0bd8f98480a65eadcb9b11ab879f5cdf3b6c980376ff6ca6507bd26248a9f1b42b9217f656df";
+  sha512.doc = "ec622c2258d96900fa8daeef1aee6216eb933870eb09329cb90b7771b3e8668c88cfd253d4da0889ecb127421061bfa7cfbc8df27ac59eb58f7ae309eebc1f82";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.6";
+  version = "0.7";
 };
 biblatex-lni = {
-  revision = 61719;
+  revision = 68755;
   stripPrefix = 0;
-  sha512.run = "c91f3f8cc6e238602682893ef0ef20af2ac87a518d845e46262f17773f9082c5ed7ffb59329ac4852d8b3d72b3b1364395d3d16aa9ddff52619d9591f2b7257c";
-  sha512.doc = "19bd2d8f8f7539543c876c214731d407def9c193d70ea3eeb7a9869202fa26242674a996934a599004e36bddc62669bc769c6a76af6cec6ca85bf44436c41de0";
+  sha512.run = "f5d636b5cfa0125be2f5f87f41ebd0ce7bb853f7eddb4a7601f72ad42267e6456e2212bcdf5d820db3cd8b2aca058123a8dc2bbc67305cedf331d83b9a007b6f";
+  sha512.doc = "87f37b95865ccc3d66fd514fa038b8c224e1a7df502e6ab59e65a37457f129b1188e510fee0f307296222d40ce241acc307e6e2d2cef7598cc009fb21a9fd7f0";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.5";
+  version = "0.6";
 };
 biblatex-luh-ipw = {
   revision = 32180;
@@ -3915,13 +4023,13 @@ biblatex-luh-ipw = {
   version = "0.3";
 };
 biblatex-manuscripts-philology = {
-  revision = 53344;
+  revision = 66977;
   stripPrefix = 0;
-  sha512.run = "3677e980482bd1beedafd4120d119d2a73c4c7ae9a3ddef7130572fac5d2388ec4144b0ba74d4d8012fd994262c378226c987472d4d66e323e3b8395b5d3259b";
-  sha512.doc = "da435de87f61045d565199034c5ffb1bf818d31c74309648b1cd78cc80dd1b1274cb008a575dae1bcc6b1987973745e3483e829085438821ef1e4a10fbf157d5";
+  sha512.run = "8ac244a6dbdc725b256e5de0389ab4e4bef4f8e1c85d8c173680e66f1ba793679c8388e70e18791c544091a8bc7870459a945c6a5f298a80c530e58d071bf11d";
+  sha512.doc = "eedeb99e8712337165d684c38621a0bd7829d3071fe8df1496d2347c5f0b8150af68b20caaad69c8d3e3f08c75a52ab63df5d16c48863d0ea179f15c0f55a490";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.1.2";
+  version = "2.1.4";
 };
 biblatex-mla = {
   revision = 62138;
@@ -3942,7 +4050,7 @@ biblatex-morenames = {
   version = "1.3.1";
 };
 biblatex-ms = {
-  revision = 66481;
+  revision = 66480;
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -3951,8 +4059,8 @@ biblatex-ms = {
     "pdftexcmds"
     "url"
   ];
-  sha512.run = "5bbf3e0d88a7bb26e141329fd6347736d27236156b999d362d4d23c42260591f01921f5bf269697d273ecf74dc736a79d8e4780f408b867fcc5600ab54f94c48";
-  sha512.doc = "837b364abe2c9c5d496014a099c6cf077ad3135e007b17e1f0cf3afb931223dbbe7b51aaf78719f209d632f9ed3d2f3afdc17188a9e82a4da7f369a4a75826f8";
+  sha512.run = "811bcee998c24f46ca5fb8bef9532148c97233766c30f0022cce7022ce0d5f0b5ee260ef0d7276095dc4ccba3dcf67e90a4cc1abf080951c9bd7cfa4237428d6";
+  sha512.doc = "dd6dcf78d0423578a41b47ab84fee4f398a238ac15e098e09d8cee93d5d08d4af62a72d90fadcd5ddb497cf7a4c4b6017fc721c1de246d0aedc98ccb32bad111";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "4.0-1";
@@ -4013,14 +4121,14 @@ biblatex-opcit-booktitle = {
   version = "1.9.0";
 };
 biblatex-oxref = {
-  revision = 65707;
+  revision = 68950;
   stripPrefix = 0;
-  sha512.run = "c9839c0a69065596b6d36ca61ca23fbe3d3d8d147bf7ecae0db22f24a5db9cbe21ae67563f929868ba39f8cb0c1d8040f4bf20d134aafd26cfa0dadf2cbd9d78";
-  sha512.doc = "f0fc6068778972b96a61414285c3371b77f29aae0ca7e31c225b1ccebf09b659b2ee156278b582a46a14b4ab20255f179c2ba4d269c53be5c85e9a0ceae44429";
-  sha512.source = "636b0c6c97c76ff15214145685d768c20d44cb1b17527cae743265f94b551aefb4610d63838e0f4bbfc34eb39b11b3a06005f9710e2503fcd4c6f6547665d0d0";
+  sha512.run = "4059920c5183f9ed337b9fbc0e56ddaed2bd7e089028729c606981dddd113e1d916f335283608774b56bc9fbda53822e1e2b9ab8d9c3283a05bbda530ff4e234";
+  sha512.doc = "55d8336df5219f430dce34e2138d770557e9d68ede3d15b34a1a1b164d92d58a27664470764c45fb65dc6b5f6e1550e7fdcc9aa5f266027d3543418f7b6d2b07";
+  sha512.source = "df89dae5cdd3a5edf49bd49ecb1226dfa8e9145ca9abfd10a065ea4a5f12e65b4d0dcafc9b4c6067b180029797cebdab7d50f42c8dcb0fdaa21e33fc09963eca";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.0";
+  version = "3.2";
 };
 biblatex-philosophy = {
   revision = 64414;
@@ -4042,13 +4150,13 @@ biblatex-phys = {
   version = "1.1b";
 };
 biblatex-publist = {
-  revision = 66284;
+  revision = 68476;
   stripPrefix = 0;
-  sha512.run = "1fb8c2ac0bd7067609d42335997eba7d4c4ac91b9342cdaaf574865a18695e7471b2d08b0792ee5869f3fcbdc8c2915a993b6b5726d8d0abeb7a2276925d7015";
-  sha512.doc = "4a29986b3bc8b493bf1ceadca8f4ce2d7bf8c625d21f64b3d1c23e833f8d2217c5d38b783cd017c52caa880c4936cb73a5e3bffd7b05b8e5708b4d2a571774bf";
+  sha512.run = "b3a8bc7c370e1dd6f7545e878748ad7afbed934440ea37161f33350b8a277ec4ac4844ffb37273b282352eb543641ae77516d5bdc7c8245b97d2ff946d31dcba";
+  sha512.doc = "d5a3841a106272f32941d5a9f8e2d1544eaa431f60f630cffb1168d3e579412f5d867aff993d1f76fec7d1590248bdfdd5bce93a60f014c15f1275b800b7a1ac";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.2";
+  version = "2.7";
 };
 biblatex-readbbl = {
   revision = 61549;
@@ -4187,10 +4295,10 @@ biblatex-vancouver = {
   version = "0.1";
 };
 biblatex2bibitem = {
-  revision = 61648;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "c5c80c9c9951ed57cbedb64976e96540dcbb7797e7af58e3cd983779863617f8deb4cca3b4223f6de2e1f4bd15940df02f6b87188e937b2b5a79ebcf2b1a068c";
-  sha512.doc = "a44dcfab5daf60da858ad548e306732c7bd3bcd4121f9143f5bbb7150616edae5b42fabe301c7f3fa271bb6fe851276528304c801fa8d7c3aed7c41f5fbde91f";
+  sha512.run = "ff86dc4068b0b3065e19af6447a71396337d9e7e5394777c1c385b714d01f2ce983c45923b460c60784024a8068ad68f05ee8dfd14039b65c2d9d9a61ef584a5";
+  sha512.doc = "21a53b0f4612fc18cb43f12cd6b1d1f72db896d0c55f73928fd11399598c04973595895d7cfafa546507e19cb25811118de9d07a8e9e1e242e22bb8d17e3486a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.2.2";
@@ -4271,12 +4379,12 @@ biblist = {
   license = [ "gpl1Only" ];
 };
 bibtex = {
-  revision = 64491;
+  revision = 66186;
   deps = [
     "kpathsea"
   ];
-  sha512.run = "fadbb6ca18794e52b40a7083db41c5f1d42e47ce93daed7a551bf8e263f8aac8302578f23fe915c3706e4e3603cbdc9cafc55b07c895542a60eb1670ce07d628";
-  sha512.doc = "6e1433e40fd604e391be05b9b68449cb6804488a42aac802d8960407930f99ae4450b77afe1baae4fe9b4d20b48c359472cf6c1e0a67d6f0a4a87cbffaaf1d8c";
+  sha512.run = "568a72b269dbcb0d5c723e346e8118a0ed923273460d9518891616cbf7b174b17cd75acff02f092176d71b6020483de75df20994bfb66c2cd46432c33d5ade3d";
+  sha512.doc = "4f95c010ded89688791e1115ce4e167740b43e9e48d596b2621e6c18b4529479da9441351b463946e7efa1e428cba3d60112c5f7a5e008733a00fc64050723a9";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "knuth" ];
@@ -4286,9 +4394,9 @@ bibtex.binfiles = [
   "bibtex"
 ];
 bibtex8 = {
-  revision = 64491;
-  sha512.run = "ca2af96d3d11d27a4ff01297ca91f5b829f0ebc67ceedd358acb5e89842cd86776864a0d948c85f9364b5542476bfd8e0cdc189853637e77b0b66ef8de453130";
-  sha512.doc = "31de3b7bbef0733347ab71f2c893df1cdc163a0d2ce4d47fc1f49a86e7bef225653cc704f4e6b9f8cdfe245cff5295ea45daf7995e863cdac930984ca64de84e";
+  revision = 66186;
+  sha512.run = "27008a8ccf05b7f48f7668ea171c9d53063fc26c09ac4507a3eaa86eb22b94cbd70ba6c2b7a8d439d7978a3860be37733dcbc17f7cef930d06dc5a45a89c95d5";
+  sha512.doc = "c305fe0afcaab072ee07542b8bae8475ce205744500f81c6de400b2bcd7ac05ff65a025301319f80a668ed35d653105c0ec0ab392c0c893f5d76802a1806bd04";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "gpl1Only" ];
@@ -4298,18 +4406,22 @@ bibtex8.binfiles = [
   "bibtex8"
 ];
 bibtexperllibs = {
-  revision = 57137;
-  stripPrefix = 0;
-  sha512.run = "a2989820b603d7001bdafd85d637d500a1f27640c37ed48990acd5cd49b8c9d0035457f9c55bb79dad5c9397fd5d4f46fc8a10834bb388a0626daf8e8269a2ba";
-  sha512.source = "b4cb508f2e24de447427bc82abf3366f5f2afa0b5a5a827e1b129e8b2819878ea78c2057c771dcdd86e362eaefa942c90e0f7285a8495256a9087667cde2325b";
+  revision = 68910;
+  sha512.run = "54e8413435420357c6e4acb1ab28a6aa602f1a222ed4b3350aea498a3516f48cfec0d04e9951a3ea0117184855e32d891d2c04af98231763eb1c5f7bd1700aa5";
+  sha512.doc = "e2a1f67710cbb6b732f5dc9b39e4ced5150792c06d0455704375cfd6def134dfbe54a8d92dc1dd88896a6d5405e662dceb15f0282e9d82a9d2f857a91a8b4fe0";
+  hasManpages = true;
+  sha512.source = "92cd4a937f3783305396a5705bc7a0d80371a22405865be33e1ff1caef7ec0a479ad58d9d80d45218273dd21541eb3167ac0cffba8ac16ec5d46ada1ea4e6145";
   hasRunfiles = true;
   license = [ "gpl1Only" "artistic1-cl8" "publicDomain" ];
-  version = "1.6";
+  version = "1.9";
 };
+bibtexperllibs.binfiles = [
+  "ltx2unitxt"
+];
 bibtexu = {
-  revision = 64491;
-  sha512.run = "8f629b95c9a12cdaa6be4fca3e6ee0d69f7c54a988ef778737de505446fac17aa9baa6d0bf08ea6dcf33d68202acc9223df91df0cd46696802e7ed238d4ef717";
-  sha512.doc = "18934f3f91e19dddd6940110c4d1a17072a7640a6a56133535f8ad8ff7d3e6d3a3ba7d8b4e82906f65c1de17fea4911ea78ea96c0b9e0b561be488c3da6d8f67";
+  revision = 66186;
+  sha512.run = "fce13fca4fd3d65b04a451365c5df50e4990bb62b0e8f878b712e9062f7d240a33ca6cfdbccd2ad2df0179be1cbaf2421ca32bdb745f3b9d9c67829d4c739916";
+  sha512.doc = "0f200681fd81074a5f23477ff99ac9e08e2d123056544edf7bc5b7b7645c22b74b66404028133037b5e47ffc4ff7c0059a1ed375ed0d3e4d211632c44f37072c";
   hasManpages = true;
   license = [ "gpl1Only" ];
   version = "3.72";
@@ -4317,6 +4429,14 @@ bibtexu = {
 bibtexu.binfiles = [
   "bibtexu"
 ];
+bibtools = {
+  revision = 67386;
+  stripPrefix = 0;
+  sha512.run = "72472e2c51a0b984feae71dd1bacd72880df1438406301219c80f1dc6a8702b0d7c1e2bfad7ffdbd025e58c14a069335d4f5d6f1fe981d5bca259a6eba94bd4b";
+  sha512.source = "3507bf7da29aad37a43cdd1ab2668908e227a2002438fb161c822fbac48be0e6b120070d6866fa553205ed404375d160e3a8b756c0681fb6a3e3b5600ac7a7b1";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+};
 bibtopic = {
   revision = 15878;
   stripPrefix = 0;
@@ -4348,14 +4468,14 @@ bibunits = {
   version = "2.2";
 };
 bidi = {
-  revision = 65572;
+  revision = 67798;
   stripPrefix = 0;
-  sha512.run = "b4d94dc0e539c0c0e4d91586ff9d121fe58af5c4729c603d6eb22f16a19e5edbea722b7576faf2b56a46f6fc68fc3e1cdc3c2f1941bba51a60337f091a248045";
-  sha512.doc = "002f65b1fff0798a2bdb87999910c848d94ce1e03c5dd4e61fd173cde8bdb5e153086616274cc1d97b711ee9a2d0d11b06e11de303d03e38ff577c2f941e1caa";
-  sha512.source = "e43b88ae4423bb1075a432f9034bf51ebe403bf5e5b8c0ab899e49a46257e45228b65ea4b0150542748830c74e3d9cbc59e9df49d75fdaf2fabc0b33b0a59714";
+  sha512.run = "e589f50dbd63df9d711540ad90b53384e52a5a0b353e2ba050657af3273f3dd7b65925101465d89831ea133504701c6d05d01ef959fcaa2570bb1188384c621d";
+  sha512.doc = "09ac7b97d9d1a93b80e8dac120cd6e70932ca9239dc94202449a476979caadd596677a210b27700e3638c3cf0bcecf98c4f903ea228f94545a2cf5cb206abcc8";
+  sha512.source = "1bdd170bb3065027106944aa23b99311482fd90a019a6bd1e87044f03a04f672e0b01a31d4d09e213db7b228718f7e9ad15d77acfcef7412af8ae180935fd77c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "39.7";
+  version = "39.8";
 };
 bidi-atbegshi = {
   revision = 62009;
@@ -4486,10 +4606,10 @@ biocon = {
   license = [ "gpl1Only" ];
 };
 biolett-bst = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "3251e508797afa53db159f156f030f2397f6e5a3f36bfe50254d3abf0ae637c976a293d21bb63bf57f51b5e0a863be69b2aaf751695d311e8353c7765105d236";
-  sha512.doc = "df57edc9a738f7a2e054600dd11a3e6567eccc4b5b00ba9bd7c9b29ec1b8404d92ff25a2310cb9012697bed00adc52587d16bb900aba062dce420343b435fb6f";
+  sha512.run = "35fa3e7a46706c715783b10997888a45cfe6f84b465562f894eb9914915e608f420b631e9d4e7fabe3d3d83424c089288c848ee34cae5cd08d1d778e4ad64155";
+  sha512.doc = "2a839dfad925ca94f26bada0d14fecdd7c096d3c99e903a57e4a1d093b2d1b9cf8770974aa1ac51baa9759c68e2a4fdd6efbc861c5bdebaea4cb523c00662487";
   hasRunfiles = true;
   license = [ "lppl1" ];
 };
@@ -4504,14 +4624,14 @@ bitelist = {
   version = "0.1";
 };
 bithesis = {
-  revision = 66369;
+  revision = 68634;
   stripPrefix = 0;
-  sha512.run = "9fe6b1865bd60fc3a96217e060350556adb5fc55710560f068e2f156ecfe995d2c8ccfad0cb872440b614c1c646f331a71b8e961ec502b6b7bb45af9222232e6";
-  sha512.doc = "3d5b881564ced892e22d0121e06fcca8cb77346ce429b07c527e1ed1d6ee34514b749caa299f78ed1119286d65354bfbec9aab3016a9fbad6f52d6c56fcec470";
-  sha512.source = "445c71e6683e5fc2337fc3d88b491289eca181632e2c76f33eba17c8ea63864ed185a3403f1b218e42dca946f2ca380a95c398ab359a3951d5e660566c921554";
+  sha512.run = "617142849910c69e2986f1c685aa09f29375b83197dc6d964a887b50bc495f9501d578b6b7b3d2a6e78613a34b994a11f1160590e660a65e748c42504866ae1d";
+  sha512.doc = "6d5a915b04a096b1f5a9d9b9ed7bab9ae9e69886c3553778d5db07cbf8d2f0c183f2b86b1df0d2cb752368f192bf5e9252ad4c07071625659dca052c12ddcb25";
+  sha512.source = "8cef46e7e72dcc829ed8c9df27f6411b1b51a4fd3792a3d56479911ceb0e3197179a6e901beb49d4f91acdd5ac400881254c59a8162aaedded260b340cbb422f";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.4.2";
+  version = "3.6.1";
 };
 bitpattern = {
   revision = 39073;
@@ -4536,10 +4656,10 @@ bitset = {
   version = "1.3";
 };
 bitter = {
-  revision = 64541;
+  revision = 67598;
   stripPrefix = 0;
-  sha512.run = "f8916a429ab34f42a8c79314245ab869977a8311531a6ef66f02265812671cb48111ca2de5eeef8a074b5c6f908fc4a742553a865c3e77dd640da13231aaad60";
-  sha512.doc = "a53311b88802cdafe796ae658dd7a1bf72fd5ea0f5eede875e660c8c288b585e1877e0ba65c906a13fb40feb52376132cd97b3a65b097ca65a6d143ed7b32e19";
+  sha512.run = "217870554e509c3bbfb70d3da9e3ccc4fb1013db4508034ace728ff114e31eb9f56511b1e89c702d21cf1b522ae799601a0908ffe70a3856aee29c595a22483e";
+  sha512.doc = "2bff9fef75632fb43c59cba04ea531eba8420c3841a0343cbb1d56995a8c322beff036da61d494112e9c89f82d367ec3bcc9e39ecbe153c99dc012cbc8c15bea";
   hasRunfiles = true;
   license = [ "lppl13c" "ofl" ];
 };
@@ -4617,18 +4737,18 @@ blockdraw_mp = {
   license = [ "lppl13c" ];
 };
 blopentype = {
-  revision = 65441;
+  revision = 69080;
   stripPrefix = 0;
   deps = [
     "gates"
     "texapi"
     "yax"
   ];
-  sha512.run = "a58ba583f2c9cdc9d262f2ae60704164e4aa1ec9b6a1b7f5df97598cb3cef0b85badd62b641e5b388822d8ab84bb993521d9fec08b0be71088ec62f069bdd856";
-  sha512.doc = "521b2c4897aee4e0ba07fb6bfb490e186a90218fd6d5972db83c42278a5212c7aacde54014cd6d2a9e321138e5e098eb14e746d6f114e84ea252c4fa67073353";
+  sha512.run = "6cb45600033a679ed498e59c2045561683edb0193cc330e2650a83cdd37e18daca45db700f5767492800af78f365c6f1b03766d92ec759b3448287c7b378bd63";
+  sha512.doc = "1159bcbc24dd6a860909f0b16911b3a88e3deb2bcc0670b85d31ac82a34b5e991cf73f305c8517a8dee1088eddc3c4cb02d8c5778d897efea254a715e78de294";
   hasRunfiles = true;
   license = [ "lppl13c" "mit" ];
-  version = "0.0.0";
+  version = "0.0.4";
 };
 bloques = {
   revision = 22490;
@@ -4640,14 +4760,14 @@ bloques = {
   version = "1.0";
 };
 blowup = {
-  revision = 64466;
+  revision = 67640;
   stripPrefix = 0;
-  sha512.run = "a516938f57984f320563b6acf3016d5e49d2d4899d0ed9b193b3015df277519444d152d0be8f49801ae259c9de1daf74cfa5f228851160b6a8e11b5707fac99a";
-  sha512.doc = "aa26cab17c65e4b8899ef985ac10cb283711901881e41e2b269d544d3c4f51a7637d94789a1bf88094f5b32ea0344b7d7afb3d97402ab50a2bb2bacc930d7988";
-  sha512.source = "65f1f194ad5673aa0f119d9f39e55b7cebe1d17a5587c42d3fc8b255fbbc9d968d6889b544041434fd8cdbf3acebc64ecefe25af2ba6b9bdbe4102e5d13c8753";
+  sha512.run = "52cb1cbef8c97f265114decec953472b2a8804659d60ce3227aa5904827dacb1cd6156c189a6e75aacb2051d8237298690c6ce6816ce9425fc293c8e32962236";
+  sha512.doc = "c038502451d1952927f9b9e1648fed009452d00a5d9db06429f8968ec453cb7863444ee0e41073dce5c0c4990c2487ebd818ad51bf72d1e7a91257ab76684729";
+  sha512.source = "632342966fb59de8f7ccda1fc7062c691fa2829462c67d4edc7cbfbed3dafe4888979baa60a502793f0db88343c1b8bcbb5e8cf18727e854b4a8443ff06f564a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.1.0";
+  version = "2.2.0";
 };
 blox = {
   revision = 57949;
@@ -4660,10 +4780,10 @@ blox = {
   version = "2.51";
 };
 bmstu = {
-  revision = 65896;
+  revision = 65897;
   stripPrefix = 0;
-  sha512.run = "7a5dfa6bc3c0661cf27fb5faaec603a6b1877478381a7b63a0ada08dceda69e730e1be69a24195a105909a9bdec1d37320da3694ae23bff831de9bd33a6300e8";
-  sha512.doc = "ae4c8893460bfde38fcbc2b1c9130b4da20a9f3ea239b73409d308a032dc648f2b4ea98daf3ed204dc5bd78d48a3e4770c6a9d28a97bcc88d818ca8e056a0ca3";
+  sha512.run = "e8e2af194ab8dc10e88543cdd888438d6dabd37651fcb331df2a2372c863884ee3ff77344d14a79608ef6e87d3b82042497f26045db3007b4cfc85fa33831667";
+  sha512.doc = "da816655e19a91d152a088e92078a9ef2c35f4a7b379d63e353eebb7b4047d459b73e5f53537e9be5a80d56ebe80e1f20db1305fb21fff14fedd518a11c494db";
   hasRunfiles = true;
   license = [ "lppl13c" "free" ];
   version = "2.0.0";
@@ -4688,23 +4808,23 @@ bnumexpr = {
   version = "1.5";
 };
 bodegraph = {
-  revision = 61719;
+  revision = 68785;
   stripPrefix = 0;
-  sha512.run = "abec68060be55077c615c7a4dde1f0a1c59d2b94120a1c5e3f578572b2c23ff814e20344ee767ec7af4c30371e95a5647256f39be11e54fc8d6ad661025887c8";
-  sha512.doc = "463c7fad4432c366c59d1ad9ce029cf1264b4f398021479ac77ba04bdfe2b1e6983553e46c5fac3b248b0df07f2ac9ea07fff7d4c8019b30874316e08f3522c1";
+  sha512.run = "65c14de3d529c5f439ffe83dbeeb6551152bfebcaa4f6ca8f22bb29340f23cd2541fa7934a5c0163f6b9a604d76c7c2bda3ee6ac1ed3fca04367c08e5f580f39";
+  sha512.doc = "e9dc19657f581260a59f141747bee7b15d96352eb4b59a2decf116e1287a980b106bfff220642e4d1828d65201484e657d8f4513faf7998c0ce3938a98484ae1";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.4";
+  version = "1.6";
 };
 bodeplot = {
-  revision = 65074;
+  revision = 69397;
   stripPrefix = 0;
-  sha512.run = "671f6373b4057279d92e7153c561a72d6b28031dedd395d8a35a9b7e82f89be8983f7e8598c85694fa68497d7af1092d6f5f403c0dc9c8fb3e24b3b373a51f9f";
-  sha512.doc = "02dbe19ab0243fed2609c5aadd91dc4a32e5bc8cd36a38244c5ee8e875d68ee5aa8e3c7bd4248c4287ff5fcdbc8d0c81adbbf5168d40e3e03eb44804dacd7109";
-  sha512.source = "c4f2f526cf9f9ed20364b555728664b68763b1ecebbf4c47be80fde5f9dc0af2766f2a9724824442fef362798dc42618268157028ec482dcea3572290ddbbde4";
+  sha512.run = "ce07cd6d21576123e5fcbefe15417f90a3c8bb65344a0700cb017bbcf76a27b2a3938e7d3f13e12a06398f6af739af69d4e09e614f1ca58850f2d74150bedb71";
+  sha512.doc = "478f633335f8fd55c712c37b11f54523c9d51a650d9025bd0f09b4ba77241710a6921fac8caac6ab0c4aeab252ba89886871c3887b327d1abc01771e6e9c5618";
+  sha512.source = "53c0f4825ad3323af7cb59ee07327d628a075e86dc880edffcac25dd0b3891d2f156085764cf0153c4b7bb9549f6e9253d090a4b08c0d12d195e872dbab02686";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1.3";
+  version = "1.1.5";
 };
 bohr = {
   revision = 62977;
@@ -4834,14 +4954,14 @@ bookman = {
   license = [ "gpl1Only" ];
 };
 bookmark = {
-  revision = 56885;
+  revision = 69084;
   stripPrefix = 0;
-  sha512.run = "56d73af9961348a8436beb957b65cd9cb0bf62c9031fa71e5f247a367ecfbbb15763214710c66e057d2806a0dc0ce09b05a163d74a7687c8f0dc340ebdbd2849";
-  sha512.doc = "44491b3165eb356327345f6f7c5b690db6435369e1c58571146982285ef849425935ad03ef1c9bb0e306af740bb6b886b21226093fd083e838da29d09bb005bc";
-  sha512.source = "9fb4abf83e752b4c1301050feaa4d648d67fedbb6ddd9aa1bc253dd9eca76b91ce02c14fed17364d768d170e8b7ec4e991c23c582d121a4e72e4fe62a02f0442";
+  sha512.run = "0a95a2839415393f430eac43a0cac3ac1c4397d68b037167d0e66595e82cda6ef11078bee63855ed1de66191f2f241418705ff819dbe02ac4e3c68ba88eec52d";
+  sha512.doc = "1c6a24efbee2e8734955b40b9908a8f5af95d6d4b8aa330c72ae7dde5c9fa374af6bbe7651f46c87bdc11f69a38b5d81d03152eb10d0eddc334b87276fddf252";
+  sha512.source = "d9087686dad4b3d68e8520888fd1787ab707c0bb196777144865e2a9419112a3e3cd25064ed4c0d0d5a31a195c84d4793d0063e17037c74ce3eff20e03def946";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.29";
+  version = "1.31";
 };
 bookshelf = {
   revision = 55475;
@@ -4982,14 +5102,14 @@ bracketkey = {
   version = "1.0";
 };
 braids = {
-  revision = 64817;
+  revision = 69398;
   stripPrefix = 0;
-  sha512.run = "f22e6cd21211deea82179b351911f9809d420bf5a9c59064a24134b87d8e75e2a7a0268b6e285117b782884a7faf3a9b54ca9a6e2e3f2c5203c45c85984ccae5";
-  sha512.doc = "52922680397d933d9d99fe63004b2874061cdf83aef88e8d3dedbc46c97b270b559affa8b7a5bd515c086aa83f21552c35c161c9450ae57cbef57d96e2c70cd5";
-  sha512.source = "54d308837fa78d4133d88d2d162cf1f80a032b00860adb560ff08bb2ea9b33fe7a8f5ac36e918b281547c44a0c3584efff53d0e5538f36fc03c554ed2b6b26f3";
+  sha512.run = "e92513b484cd34387542fd39684141d6bd24c99ac4e99791498e75e28c814b9647f9762a5803aa127e9c5423dfb93ac9126348d94668bd7e82c82b54af482f34";
+  sha512.doc = "b8a26f24d450b8176a2a6d094e3f0e66faade539266652319c354cc45a824358fbcde416582fa34917de422d0a86f782858247b7d457b50353ec4803b9024f91";
+  sha512.source = "c47edfa15e2d11bb06d984cce5735699f2fa2bcbe5ce09abf7f4220bcb904bbb5a541fd0ba9479d941b909ad9cf4df3374fffae8fe6a90fbbed9e80e26def3f9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.2";
+  version = "2.3";
 };
 braille = {
   revision = 20655;
@@ -5008,14 +5128,14 @@ braket = {
   license = [ "publicDomain" ];
 };
 brandeis-dissertation = {
-  revision = 61215;
+  revision = 67935;
   stripPrefix = 0;
-  sha512.run = "fc8d06b0d5f7e24680e6c08f7ac59b59b19b2232e61175092f63e3d19bd43e080b84777e6305d1ec3a110b367b135a80e2d7bc6e13bbb875855b732fec796bb5";
-  sha512.doc = "219fd04d81a64c85b1bb6d26d2ce1dba07fdb07d1df370e01e7683d7bb29da90dbde18ddb509415ab55454e1b112b7053a6b3f179ba32b362ec19a43433caf4e";
-  sha512.source = "c545f4d71ed630207492f68fc79a054c7a57121335aae12449106a1cc5554631d247b8a5a1cffb03f8288d3b3ceef1f45bad561a1a1ce0da67cceb12d7391f01";
+  sha512.run = "96cabbbfd22e26d8aff3b9c54c5f9bdb9ada8a036af3761171c7ec1384d4429bd69c5004e16e87098e5c6355cd029e08371f41484742618f9090fa2c919bd638";
+  sha512.doc = "23c1a0d8fa47893017e657f60ef9a7ea54e6f587bf164872b4abfc51f04074ecd82d3494b1c78bec76e6e848bcce20c61af0ef7c2e9b24f91f657a678b03eeaf";
+  sha512.source = "b0d4a1712c784aa20e159c9c6827cb61b007826ef445981a196bb5e4c159199b76fb59dcc6ff03dc67b0328eabdaa821b5ed6ba0773c17ef7025b171bd6f746a";
   hasRunfiles = true;
-  license = [ "lppl12" ];
-  version = "3.13";
+  license = [ "lppl13c" ];
+  version = "3.14";
 };
 brandeis-problemset = {
   revision = 50991;
@@ -5027,14 +5147,14 @@ brandeis-problemset = {
   version = "0.5.5";
 };
 brandeis-thesis = {
-  revision = 59832;
+  revision = 68092;
   stripPrefix = 0;
-  sha512.run = "f1fbb296da700ba3cf4c9e6818898624576b9a58803754d77909031e7bf3b207790f4818e247fdabade5927687e8c6a186e887f595f536c1c4a8ba8e1ba03ec7";
-  sha512.doc = "51bfa4fbc6d5900d92b3c7d5530b166dbd653af2017153c5ccd18d9ac49e124178378d1a2ecc867ece7ae758812f5c030dac00d55c46275e79c2bf4e9cf77c78";
-  sha512.source = "b5a5b294470869862855b4e9ddfaa6c7213d91ea69ee99834b5eb2e09c595d12fc5df0742cf52e19af156bf1db29744b9a320ecacb036843f2169891fa42fd41";
+  sha512.run = "8d2c00167dc8c755d5d29f66c36d7d70d4fcb8fc1ca66e5c4008d702b38eee9c8bbb4bf9e7129a69649f57f31b25b532d44f3bb7628421aeff90e89afd9ba2e7";
+  sha512.doc = "61bf51cd01c13bf698b9466573af4f91357ec77a265db2166881c1f01112ce0a17d87b74f5470aff7da42bc39bb77fdac0cf20613e379bc168119ebdafb85d2d";
+  sha512.source = "0cb20a7d0b841a2d206ea4d8d9c0e7077d6b94c841d3bf8372899707e2b63c20d0cd6ea60b451abc6e1e64ec2c69771bd6fd30203e4b994d8b0e6779abaed515";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.2";
+  version = "3.3";
 };
 breakcites = {
   revision = 21014;
@@ -5102,14 +5222,14 @@ bubblesort = {
   version = "1.0";
 };
 buctthesis = {
-  revision = 64004;
+  revision = 67818;
   stripPrefix = 0;
-  sha512.run = "c8988be5f140ee2739c2fc2365d1306ce2f47480d47c85c6f2f7cc525cf5ba5b8683a99bc4d5167f78839852ca800ed07caa98a3498893dad92051ca3ba3f7b8";
-  sha512.doc = "a0f41589d447a81f9fbec183b30e832883a7cffff16ca538c74ccecafd59e41a67e1b3d2ae355eaf8d04c3c6417326606db5ad6752e45f1f031cd7b26ebdb0b0";
-  sha512.source = "b7be46e4266544c18bdd76838a3f2635c6cadcd6aa93879cf977ec37264c9438cb3a1e9b79b5e567d460bde2193038b4f88f6f5446519666b33c170b8c698d12";
+  sha512.run = "7c27a0f982a2727c8ad7dc98052f48ddb73d37ff27b89eb53f8e33338f67fdb99dba2cdbc843cb628ea725fb7ca7d0188ec5f53c6b863c4707e8b174c8b788c2";
+  sha512.doc = "edcf0ac0b5e9ea86df731fee1d2388960b997b7278fac5b88dde6e3820ed3ff488c6ab156dfbca169fb9dd11cf49c5ba5c17516ac2f874bfb3d825426f0fa5ad";
+  sha512.source = "bbb105930a740ffecc9c2f4ebf3a3a206c49c3128b44bc9d96c97ec0715da1fe152bab9ffdbb3a3d8fd3689702bb7091056dcccb4b428d54ad0853f9ede97ada";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.4.1";
+  version = "2.0";
 };
 bullcntr = {
   revision = 15878;
@@ -5172,10 +5292,10 @@ bussproofs-extra = {
   version = "0.4";
 };
 bxbase = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "c60e8977d31a2868fe5ce91a27944a9e27708bda09800828b760accb166413902c57a1999fad09edcfdbd6463e6e5c248a4f1f13de50762a762ccc7de8e31a24";
-  sha512.doc = "97032b46c6bada17d81cc9b167f4f180d1cd9e1fe04b0e73f1bc958f9cc72e678bff482ebf522f01d0e0a27a79b4edda867faab01d139a300e3e1add0fc05b68";
+  sha512.run = "7d1b15d92136126999f976127b43a125a9bd5aacaca5a76aecee94d4f6a6ce6538c449fc82d95a55984b9de802e1e66903078e5d2344db532b9b2e2e94ffdf24";
+  sha512.doc = "162a33a07b6149997b9cf0ed5b1baf55f80f2142c106e07188b27c02f4fad891d95d6366581d958bb730106f5d3777e59a1ba55176a7e7594cdadc77e85d7365";
   hasRunfiles = true;
   license = [ "mit" ];
   version = "1.2a";
@@ -5190,13 +5310,13 @@ bxcalc = {
   version = "1.1";
 };
 bxcjkjatype = {
-  revision = 54080;
+  revision = 67705;
   stripPrefix = 0;
-  sha512.run = "f720106c08ffc3b8f9a2c9279325364d5ae91948d3c61b83423d41a55249cdb205bf330c8f08ce6877a7713e82a67a29f1a71e9ff07f9c1225926a61a858fb5a";
-  sha512.doc = "cecf43857662a4b1126edbacc017a8d06b366ad8c785db520d6b18a293cdf786b8d7bb7d3981355acf9a4d2759c2a58af25a61a9a06d20b431ba3eb50117b560";
+  sha512.run = "72d3a88c117ea971faf8bc836bfe32ddc52e96c1fe1546ceeb8a9b298b7a28fdfc8aa4b0f43bdb3fd27126383b289ad293b2ca6c4ad95873948be0651de4ea18";
+  sha512.doc = "8118935396e03cf72b0efe04d6e436c6d7b3aad3dd1518561ec36d1fcf35a4e29dcdf86dfe554d06f4814694e7528f238b73c0145dce6ebdd5cc9b587db3f86f";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.3";
+  version = "0.5";
 };
 bxdpx-beamer = {
   revision = 41813;
@@ -5235,10 +5355,10 @@ bxenclose = {
   version = "0.2";
 };
 bxghost = {
-  revision = 66158;
+  revision = 66147;
   stripPrefix = 0;
-  sha512.run = "ea52e53228cb79a5f3aa5dea1c85bbe19a4fb1d397d6da113b360b5a6fae384174a5ca79f4f00bca2f011a484e529991c9d7c4856060fe47b9ff1d42edbba20f";
-  sha512.doc = "a158433c89401dc345997e9a29ea0eab432e9ed22f5a150025371ad2d7d038073cf49371415443c7f1dea7d48b1506208461bd6d46d502e4c630385486dde509";
+  sha512.run = "8b5345c2e48c16f296e3533977b2d9a031274764f3580887d2142a12f34e93d4d31bda0a5997823a7bf52891c8707d897afdc365a001348d2ab12d8f947acd0d";
+  sha512.doc = "999e7623526c6ef51b8c6da383e79d9f889d1e45efb52eb127463b94e7790edb124c2ddece303c932134df4daf4189db082c3492fe04e6a829e1dd6d943edc02";
   hasRunfiles = true;
   license = [ "mit" ];
   version = "0.5.1";
@@ -5253,13 +5373,13 @@ bxjaholiday = {
   version = "1.1.1";
 };
 bxjalipsum = {
-  revision = 66033;
+  revision = 67620;
   stripPrefix = 0;
-  sha512.run = "2c591c8a821d993c7ba3632b4794c19d067b7702a8999ebb611becd2c4492c238817a9ad60f4f04d70bc2f69980a2972b18388755c33f60dd74ffef44c3a86b6";
-  sha512.doc = "a1247ad8a66e357de1e67837d4ae916023e6003c29f43d178e25be938c10b43f100a35d944311c49c8099a4199c999f89b0eaf4e97e3229e1151789c3b699963";
+  sha512.run = "a3c635eff092be08bb99f882a18fd477aba3b9b25666defa4cf872806dce666ab8b931cc5b85ee217dfbfd453a066461ba169f830236ad55f75a28a81a157e0b";
+  sha512.doc = "b7f020236e7cf429bb367ab412a6b58746302d2ea0c6d50c3b9af20a86e535196bf3e628c962c98ff0dd3d194d702c7a20cca55b815b88727bf8bcf0a5eb278b";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "1.0";
+  version = "1.0a";
 };
 bxjaprnind = {
   revision = 59641;
@@ -5280,14 +5400,14 @@ bxjatoucs = {
   version = "0.2";
 };
 bxjscls = {
-  revision = 63011;
+  revision = 67657;
   stripPrefix = 0;
-  sha512.run = "23b3ad893f6d3d4ca3e05bc047eca414058974f622ec966c9a6f6f02f34f664e08a1aa8ef1fb64f9665c73ca8cb8b396336c00917b0295c8dc421e6b52bd96d1";
-  sha512.doc = "2c56a1cbcfdf4760b47919b5669a118f79615eccfc66681b1d6eb3c5ff2037f9b9de283558923e28a696059ad2d210c6568e6fc1e7e342b74978100e79494d32";
-  sha512.source = "f76994ec09a8eb2b86ec1a5d13dc8e005fa5210566e28086f1175056f1014276ee799c2cb6f2e38d09f8dee645f86c02f6de12821215a691b7cba4d6cd3449fd";
+  sha512.run = "83829f4785fbe8e283adc7c463bade1828f5bb3b401e0e3e632ca418754e76b8ab68f275e408cc779ee8644f4f90885257ac989e66982efe6b66d77ae2587d6e";
+  sha512.doc = "c5923edd13dee12f95611103de2926c03edad8cbe85259ac345d33ab164012e9cb4011381fd58a49f8a76ec1eb11653b6dc589b3c8a4dff2299b7140547e14f6";
+  sha512.source = "b111a7f4054086062db2f5686552b8b763f7617d5828a74b57462836c09284c7fae6666d2af2d4892b8a7fe2db9198f93ecefa38e1a152cea31c52ad35995583";
   hasRunfiles = true;
   license = [ "bsd2" ];
-  version = "2.7a";
+  version = "2.9";
 };
 bxnewfont = {
   revision = 44173;
@@ -5335,13 +5455,13 @@ bxtexlogo = {
   version = "0.6";
 };
 bxwareki = {
-  revision = 51286;
+  revision = 67594;
   stripPrefix = 0;
-  sha512.run = "73f44924ed35cf95af7d2eae057a48fcdd307741ef9a0a0943638681f9008eac56e8f2b1f57afdf0c3dc789a079e65ab1142cc5e993ecf6b382e8bb127f6ea1e";
-  sha512.doc = "d861ef91292b76b4f248b51d99d062116f49be1f942629d049fff00e20a6e383bed050799a576e14f7daef52dd4f7f1fdd2ce898374191b9c719421ea755d7f0";
+  sha512.run = "6a7b89540c662871ad9799b00a8e17d0cae301366ac6651d9a9e7ba995f6d2de6b2149f6eb5795af0d58c5de454aeb94d0ade0026520a4e54594f93fd4470b3d";
+  sha512.doc = "60c6416a036372f3fbe636dc46106114d2a43ba292f961fe299f765afd9e23c975a7f68f4c48a9c1ef9ea5b9b97224f1d0f1bd1585fb90b5f183a14528351539";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.6";
+  version = "0.7";
 };
 byo-twemojis = {
   revision = 58917;
@@ -5363,14 +5483,14 @@ byrne = {
   version = "0.2.2";
 };
 bytefield = {
-  revision = 60265;
+  revision = 68366;
   stripPrefix = 0;
-  sha512.run = "6f128c419989627e6ba7329932588121f88a63d89761d5cc912b8d53371ee5c80651dd6a3e0f8e9fb16d77ef3818baa65c317b1629b954a45743c993849732d9";
-  sha512.doc = "e7a496c61fde7af9d5ffb96b4dc1c2dfff8dc3883b07ece63007b2987f1ecb5d0d751daa001b0d2c045c9ca5be9ce074d37aefde8981fa88a2c9e91f7c3bdbe7";
-  sha512.source = "e017a2d0ea3b04682a2c5e8c0f1fc76d3d45f25161c00695f134947da31d98fd89967be43785c307893f34dee0f29ecce99c3aa539370463b31093c03b2e78ab";
+  sha512.run = "394c796574674e877a6532900edbe3555b63aaaf62bf2c8bc8dac280c60064d77bda56991ae1c1a208fc8bde4c8e990cfbb05d21605fdd4f934aad0403775f31";
+  sha512.doc = "98e7e38ae0a9337fd9926af76e51b6381436d4e6cc9b05cd1beee2f8b01d460643265c09b53b1058e72cacda1ee60df6adfc210efaee67b2b0cb31e3d2624833";
+  sha512.source = "d878e6325e42c5a7e2695af6ca46d876c56eb4f0bbeb75e560ebac50bac30dcbf6df4b82a1379ff60e713e5f92840150c96fb1b637591863dd9ca1387e9a38ee";
   hasRunfiles = true;
   license = [ "lppl13a" ];
-  version = "2.7";
+  version = "2.8";
 };
 c-pascal = {
   revision = 18337;
@@ -5390,10 +5510,10 @@ c90 = {
   hasRunfiles = true;
 };
 cabin = {
-  revision = 65358;
+  revision = 68373;
   stripPrefix = 0;
-  sha512.run = "5d96c971e8924402048edc533cdc048398fe4bcfcaed87bd0709511056f94d68ba9785599363e59c9e26fcb7bc724bb9481f8e5ea14ef8cef07376922083ceb2";
-  sha512.doc = "dfe85a134cffe5831a318f1b95e3f7d85ed296cafb834273e441af49488ba2c3dd974bd5668f695da1279efefce8c4858eda630f894de7cb0535d629bea74e29";
+  sha512.run = "8227929382396ece0ddac74095387ee0c96d2102fffe5121f89182836792933a6ad66ded538229c5bd12f65fe7518d00a333835c17537761f309db578e81bd3b";
+  sha512.doc = "95353266181cfda03973d68472ad564185abac4d828141e339183f69380f99151e0a3165f099235db54be8a3ee35ffe069512240633972f4b7dbf14ca1e06126";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
 };
@@ -5411,6 +5531,15 @@ cachepic = {
 cachepic.binfiles = [
   "cachepic"
 ];
+cahierprof = {
+  revision = 68148;
+  stripPrefix = 0;
+  sha512.run = "c152dcc24128f0f6e9424012660f2620e385f470d92dc9ed530eb530d11b1fc3aac6e9e3466fea3548d16ac812c89743865ada67a3bd820cd37601f754506939";
+  sha512.doc = "1e203d56ace798bff086a9a3eec3a3f110c5e2c4ec56be637ffc70edca4b28ea8e5bcd8804b087515431460b48ad4863d3c15a1496724e5ad814cac79dc5e7ca";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0";
+};
 caladea = {
   revision = 64549;
   stripPrefix = 0;
@@ -5429,6 +5558,15 @@ calcage = {
   license = [ "lppl13c" ];
   version = "0.90";
 };
+calcfrac = {
+  revision = 68684;
+  stripPrefix = 0;
+  sha512.run = "1545318973205544c136b6bc03ee6838f9496972e43cb4dbda404d2bc389ff41f873513ac0275769685f72c0222998386d2f9abfed686570d98fced592414443";
+  sha512.doc = "d9bc62d0d8f95ef3f34b801eaf612e5506c2c3ff855bac800a6bf3827fc3b1e572390691e04425992604e2d6404844db3fdaba566f98da46d67877a8d077fb10";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.2";
+};
 calctab = {
   revision = 15878;
   stripPrefix = 0;
@@ -5502,13 +5640,13 @@ cals = {
   version = "2.4.2";
 };
 calxxxx-yyyy = {
-  revision = 65426;
+  revision = 69266;
   stripPrefix = 0;
-  sha512.run = "f76d0a8a225582fda0c9b93549de8f091cbe5bb7db4cc20ffe5c5237126162954504f9748c75b8ea90805daa1b0b3bce2bd67fd6a9cea0700653c46206b27c9c";
-  sha512.doc = "418beea5ff9b534d9cce8a4b90ee930c9df6e6c109fb045207899c823deab6e10f284111ff57aa8d5d7eed7a03f6073afeff2eccabe0303f566d560f59c5fc39";
+  sha512.run = "329c4f91442d8115c997bbab09ae77e29bd2a8146d3109328ed9e08a2a4080895618b9a8467d4827c14ef65741b1380771409909f80d0b5fba6f527fbc900411";
+  sha512.doc = "8c3f1a6a168e5891a07d39c7f67270adc521c19cc4be6a302dc779b9bc5284bf4aa7d9b3caab22b5591c0483800ce62f0647bf9e14c83902777aad0070e4193c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "20.23a";
+  version = "20.24a";
 };
 cancel = {
   revision = 32508;
@@ -5566,11 +5704,11 @@ captdef = {
   license = [ "lppl13c" ];
 };
 caption = {
-  revision = 62757;
+  revision = 68425;
   stripPrefix = 0;
-  sha512.run = "55109f93b3dbdb817985c13b4ab55c0effb4122162158e014e7626d3093ee8ad4496374b0a337da27640f22e4ccfced8aff21cc198b932edc95092e67f43c14c";
-  sha512.doc = "bd6435cf073f65ad373aff3970e802751ad3b41d3d8683b4b23a7592a5d8a780c9870ca7a5ffd2c26c4990384c5d97565fa5dea17c162a0b922584b87efba687";
-  sha512.source = "a099da0a5d70e8fa16ebfb9e4b7837979f8ddd7fb30cb23d13e1104c1449fab119c4b7bb9b43f1f5e9bd76888aae4e78db924e8ed386418fc8467f501f4a5656";
+  sha512.run = "21a36ab8ece42716032a15f3c105ba32c5697c4c88fc8b383c66bc6fe7ddd4969e12721e94d79df0817b02b43e498ba5211ef844e320bd91ccd9ae24e6f28fec";
+  sha512.doc = "3a13af008ba73516f8d4be8ccdeda4b18fda2bf9462fed32aca7917efca3e5185f77810900945ed518fef5d81e2629f89cacad5564462f40bc0defe79451a415";
+  sha512.source = "160a286e1145f2669dcd1abd651cf2fd725ceb95c87506d0844e95393be85624fe53b2f549b7006d8470449ee9305aeed2e81d1a7f2c69cd2f38a26aaf4fecb5";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -5629,13 +5767,13 @@ cascade = {
   version = "1.2a";
 };
 cascadia-code = {
-  revision = 57478;
+  revision = 68485;
   stripPrefix = 0;
-  sha512.run = "52364786bb0be4bf001ad0563b9bbd7929f7c4b09299919623a237f631633c9ae57a185515802372251c2dca3261dab41f66420e59e9be7d2912f2c6bd30dc66";
-  sha512.doc = "48120981b674f9dbd5099255f4f430c33bae91bc50f6a2fda3f7e9625886584bfb024eddfc9ca795dedf4174f73d6546e2fbb0f85862b12e6b35bec527b6086c";
+  sha512.run = "3164663a54bc3ffe39aee9cbe9501a3d405fd8879059081ee2f0f66bb523686e25f3a7fdb69e61cb623a17ed21f21b0d6752f8c05b09590672d04315d5d6594a";
+  sha512.doc = "c84b14187b080c744a33319a4ef791be09b4517d8cd0e9ed2dbedfbb37a09785dd6244a4e4dd1cf67cc8f6ff608b6ba8d2299c7074921f6443d6208c702feac7";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
-  version = "0.0.1";
+  version = "0.0.2";
 };
 cascadilla = {
   revision = 25144;
@@ -5705,19 +5843,19 @@ catechis = {
   version = "2.6";
 };
 catoptions = {
-  revision = 35069;
+  revision = 68982;
   stripPrefix = 0;
-  sha512.run = "1169ec654a56230c615f561649ca1fc22716eaee05e5229d1d2320ff73717b708abb98789d7457093e5ab5f2dc67f3e818e58c7e8f32c8f29014e19548f02de1";
-  sha512.doc = "4c35a3fc5829e3492fad27f2635bb4ae62b17b5d012db40fcdc5929ffe0f3917ec76c12a940d5fc6dad2b8d7d9d12042c7f5c2350467ba0777a23c97372cca5c";
+  sha512.run = "d58647cd52548a6ceb0f6a47ea20ba9348e1edd55f5514c5264857d99be1085824c4f75c2f7231ef41a1ff5fd0274fd5e3f5dd1b91241179d1bab417f2ef100f";
+  sha512.doc = "ef09ecf5c1bb066ae733dc1dc3aefc8f6c8521c8596ff8b45d42ce8315fe49773b6c7d41d632eb342ada05d16784faac3cdfce51af9cca4dab7c9157a7947867";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.2.7h";
+  version = "0.2.7i";
 };
 causets = {
-  revision = 66375;
+  revision = 66359;
   stripPrefix = 0;
-  sha512.run = "af547d00813a1e22809f11b465e0a17076895ed6b7c3a51da0a6e14adaee54397f8650e4d1845243f494217e80f5b22726af04fb719353a9cd07a8d98792d3b3";
-  sha512.doc = "add04d39687d5dc1d6ffc37b889cad1dd75aaa515d5af912ceedee3df302495512163e1fd9a8b014ca3615c166a2201d15f3f68b2a507f4f68c3481f0a3af7c5";
+  sha512.run = "961f6affda4b94a2f67e1acfd62a12439faafc436c66320b04c3df11383016375f0bd284836a0618def46e624e7e7a5f46524bfb9c3113575c88d490d117a417";
+  sha512.doc = "241ce316af86e3f764929fa7c601a1533b86f85dacfbf2e81acb487b312c7df9c2a9ef1ddd047a977cc7eabaf4643caeca7f5c07979f9509867f3d522c507873";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.4";
@@ -5858,11 +5996,11 @@ cell = {
   license = [ "publicDomain" ];
 };
 cellprops = {
-  revision = 57599;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "44aa6378b682ec67b547458ffbdd26416c517cbd8df6b021325448696e291e0a8006ec036edcd476f105dc8cf41e556867f8f87fad30da184668050bb2d8d34e";
-  sha512.doc = "187c5708944d275b5d17f616a2b4bbfc76fcaa0dc9d11da2d67769e46b232656f1bab0602ea94b3fcb1665c92500abb7ffe60645ff267da077ea98f35620efb3";
-  sha512.source = "771b6bc32e1e82a62dc1a93c955b01455b14ca5f9fe43d79f29e131487ec695ac50d6106cfe68c5e1e8fdf6d88980b7d7220613a8132472cc8fcd0d9d3b63045";
+  sha512.run = "81b8f2983c9425d7b95d916fc5f1989dc266154d4cea7c48165265076f187c82d256fd98989b750cbe15db64f6fb4a935bc91ae67718b5541ed695ede861c231";
+  sha512.doc = "a88187cd20bd8ab41077d3221dd6f804c310a3f7e53e1e600872a4edc65dfbe1547ca8599c42a9a10d4d61ea89c0a8da2cf4d60680706605048fb728e7f93129";
+  sha512.source = "1cda598a44d2b5c8663927911a291d91dae59d5b0169d34f386910877916a7edd6018549ca36a5c317d33c93096ec77dbdab5528b4fc41864a140aa206112c75";
   hasRunfiles = true;
   license = [ "gpl3Plus" ];
   version = "2.0";
@@ -5887,13 +6025,13 @@ celtic = {
   version = "1.1";
 };
 censor = {
-  revision = 63126;
+  revision = 67293;
   stripPrefix = 0;
-  sha512.run = "d4f70727850c311cff4f7bbfd2962bb9510590791cb3e00a247f6c708477f9b0b7bd35f771e3145ad760f18284b7e8779bf302b55fbba3f25f11ed57ee896306";
-  sha512.doc = "3d1d7f5828ef75c26b8e172c6fbe0d48d15842a11d720574f022684a154c6dc864241a8a320fc4cf42c31ed67eced0bf1c728e321b9d8e4cb08a96811e7f80c1";
+  sha512.run = "9f61a4830737a7ec59797489ce4fef44d5d270d1ef84b4971eda0d91bd9fb6aca0efae6a7a0d056919d090325592e459de7b9182321cf1025251a81ee9127a90";
+  sha512.doc = "3cf23b7cfac9f992890f67fc86f3e53cadef7cbe2725b4a19bab144766c4f1e60a3675685513d062d5ad81b3f13b4b6864c1daf83f76761275aa51b07a130c60";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "4.2";
+  version = "4.3";
 };
 centeredline = {
   revision = 64672;
@@ -5944,14 +6082,14 @@ cfr-lm = {
   version = "1.5";
 };
 changebar = {
-  revision = 63259;
+  revision = 69367;
   stripPrefix = 0;
-  sha512.run = "1d47e3e98e6923fda580a8a34b8fcdcc7aad164306a6380ff8fd9ed77f1256225221f8b15da604303e562471ed6ffdb7109b6b95a397b25b80c48fdc4e565b62";
-  sha512.doc = "f3ece8b350ee00ecb596f0f66ef2ded81b7c507c618d226084d4a4e403441b9183a3686c2c26430654c45f15471092e83864a28cddad3d08e60c656d3af8ebe1";
-  sha512.source = "0615c7d0057e9138ba84e0f622560b7c0823d44021702ba31a77ab1e3bd13c24b8d59b1d96369d5e619d180797f2684c25d497e40a5c253a67eaf399b6cd0763";
+  sha512.run = "2dda64af4a2528e5f81a1dad9002badd1c443d7f1e3cec36b9548254e5b365a641912e720779787cabc6057dca74af42db2e1ec3a9ffe39c3ae5ef7ffe0d8319";
+  sha512.doc = "5e0e2766b5078d1ffe87c36d14961aca842ff7d0ee73aefc6277b730dfcf98ea573c822addb2d6b95cc3981e6f56458a3a209c03848eea48170f7452a6261b96";
+  sha512.source = "ad58dc8f77ac1f4852d47baad9718fab4549d8fc0f856596cd8501329895b532346a299e412e87840de6934151837eee0af0b4ec30200c1bb99f10709901c9d0";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.6d";
+  version = "3.7d";
 };
 changelayout = {
   revision = 16094;
@@ -5982,11 +6120,11 @@ changepage = {
   version = "1.0c";
 };
 changes = {
-  revision = 59950;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "4fe27f5c76d1ae374b1d3f3d75cb7e61a82baff34ea0fbc6c7ea87eede785f83dff23f3f56fed9323b9d364cc2bdc533640552c8b454f7a821a80e830244f97f";
-  sha512.doc = "f35b3e0eb4318a97bc09361be9561a3b195678559f8311fb0d2bab4211f86853b1210e515e02e6312a8d46e52d7534ad9573b9bb3ed5611f1766a55e54d22c3f";
-  sha512.source = "a8ee2f4efa5caad223bd543a0bcad42eed02d2aaa143826ebbb13000d820083ed416cd7399d07c8865301708fcb87febc5d211ae8b0a6a6f08b5b9143d8c430c";
+  sha512.run = "c7c8f65cc8a6f94403a1c85b01eece41561eaaef39b39977d02b146ef8dfa49aeca27345eb96ad5f6ee05d3a6625aa0dec9a34def564fb2b25dceaa528d230f7";
+  sha512.doc = "26796990ee809dd953fc8f5ead93517faa1bdddf3639d9d51fc2f0ab00a620fdc1950ca78a6a77cb58a5977f702a1d93738312451900ffb0a745282e777f7daa";
+  sha512.source = "35fc09ca71c5a7baac4d4bd69ea38f507927ba0c82c2ad7318d11ac22d3e319f70522cedea14f2d36f780bb2c7ea0cb852a111dac3b07273df53291956e9c716";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "4.2.1";
@@ -6048,9 +6186,9 @@ cheatsheet = {
   version = "0.8";
 };
 checkcites = {
-  revision = 64155;
-  sha512.run = "c28a2785348bdc7cf8e30d3339f301a355b6a9e513d143d34f2b2535a69a32f7cf8a8ae9c26b42c6db32d00021a10ca135891a22b0547c219f31c6c9720d8ca5";
-  sha512.doc = "a394ea5f70f48e7dc7c9d75de33bbf788904a5e1d8e3aefb5dd3bfd5207ee512b1a84ab4bc03bddfa15dedf962f330931d9e80593542e5a180fdda8a8aaf87c2";
+  revision = 67201;
+  sha512.run = "f39c3d9dd2190ea9bd08ac323192197042d9a3899de22ca3a3fe05c0eaea0061f07fc3f53ea3c5f8c8b3bbad5ef4be0da7bf218238e660d28283bbf4edd02a31";
+  sha512.doc = "49760eb0be9ec54bb784f1b33ed5b86ce655b91b85e6f9a905342832aa4d4288138b82268a874f7b458ff87c8a94e4fc542dba3491b55a309915b6c3623e5de8";
   hasRunfiles = true;
   scriptExts = [
     "lua"
@@ -6137,13 +6275,13 @@ chemexec = {
   version = "1.0";
 };
 chemfig = {
-  revision = 65901;
+  revision = 69227;
   stripPrefix = 0;
-  sha512.run = "3d7e49943a034ecb25c13015c3c2e05078ccca1cde53ca4aa1496dc46372fc182afa48275b29ab87e6877307a595735329cb5a1aad8db7fa43f8582fa18e8ebc";
-  sha512.doc = "ee26e23a8409cfe2a3e8efb888734f93f4d5b727420fc057b6963e344565ef56c1385fd0fe02f299ea009167ce1de72f448784368cd8fbd4cc45f991863dc564";
+  sha512.run = "1f5908b759c39314eb999b4d1e60ac364888e4d6193673bd387ea838eb9bc257500b0603055b2182cd5be581dc1d674ed4eaee6ec4b0ce225f72ddb77f67ac80";
+  sha512.doc = "1af123c858992787d641eb6f0263f5ed0d819c4264e97191ae8058714039e202bd9bb663e25104775d9362ca005acdb056b3c97c238b1899880fb51665405a13";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.6d";
+  version = "1.66";
 };
 chemformula = {
   revision = 61719;
@@ -6461,13 +6599,13 @@ chordbox = {
   version = "1.0";
 };
 chronology = {
-  revision = 37934;
+  revision = 67973;
   stripPrefix = 0;
-  sha512.run = "6fca0b31511366c1e39f6518bf5c6e10bfb503a8a901d9e1167866a40e2fbb9d2a6e109f48e146bbaaa2c017ac96e82196a5f49a91c6c9f52eee2633fd5c0737";
-  sha512.doc = "ce0417e339724dfd97c227f104d9cd0b697c1cb7a5c586c890c3e938bbdaf5db2984fa83a09d983970c1105751cd012e544807a74bf0a35ecd2074a97d0520a4";
+  sha512.run = "0706b70147c064fed807d750e3619d6f6c9ee9d875de70c8e08720bd0fe86e75fe79a2dc909ea9c76d98e0f6cd864957ee213f58f2753eaab86bbf2866b301e9";
+  sha512.doc = "dacc8fbf5869df257cc03f0bb4b1c33b2ed7e67f2bb7e4fb897038d623b4f3c1c7e308191a2270e661157d3908c142fc6fbaea349740487797f45feaabc9c039";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1.1";
+  version = "2.0";
 };
 chronosys = {
   revision = 26700;
@@ -6497,7 +6635,7 @@ chscite = {
   version = "2.9999";
 };
 churchslavonic = {
-  revision = 42751;
+  revision = 67474;
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -6506,11 +6644,21 @@ churchslavonic = {
     "oberdiek"
     "xcolor"
   ];
-  sha512.run = "6c572235b95bb1f8407addefdefa1d7d3facc09b963f4d65d2be317986eb6523db9a8ff7104f15c526962ea8fbd0e1430b68867bf619cebc9b494f5cc04bfb07";
-  sha512.doc = "90d563afc8248ded0ea4f30ff685e2fd9da8dec7ea92a3d4313040905be883af3f11393a031ec85ad39e9e51d374557e0f1f373a78caf855d2048fc4e0393e37";
+  sha512.run = "6b312822caec9f9d71396b8737010e59521cc59a744c6d2e0633ac26b24ab0ea97ef29472a83b49448e8d82225ccb63926cd91ffdacc523ebf37bfbd2d4cf6b9";
+  sha512.doc = "a56e9927434f6d29db7c1ec20c0c3d20cd24241a9883fff160cba111eb5c11181d5ad1b9ec8cb66dedc649b8c8d25b9cb8670f1a28474174b31cfed380a2327a";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.2.1";
+  version = "0.2.4";
+};
+cidarticle = {
+  revision = 68976;
+  stripPrefix = 0;
+  sha512.run = "1dd802c60fade71ee873cac25440e52b9cfa45293019cba6c22a16a6861eeeea1e15ad4f945dc9eafd95873efc112110b4ec14550f8bf8cdf57bec6fb6e54ade";
+  sha512.doc = "ff0dbf03d9c9f371d90adaf1f5d984e5ca6628d005c1345f4e2fa7c2c4bfe494914667d8afa572a5e3eebe73a7d4e01cfff8e1ec8c213d58f71fe64089872722";
+  sha512.source = "f46c3d5e483cbc9352793a2b8cb6b92ca0a561ea321633d9589a39f8331ded98e183ac331fb100e4e7e0539674e2563aad95c029f29c00e98798462e25228c9a";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.1";
 };
 cinzel = {
   revision = 64550;
@@ -6531,13 +6679,13 @@ circ = {
   version = "1.1";
 };
 circledsteps = {
-  revision = 63255;
+  revision = 67889;
   stripPrefix = 0;
-  sha512.run = "9d6d03eefcf50ccb8f88d5782f00d5201efdcf844c947f45ea92a41d196de70b7917013b061b6eaa9d0322cd44e826b3987576c7483176b7aa956cff2a55a611";
-  sha512.doc = "ca3ff6fd272068aae1935a56f63e32886dd879816114b51835ae4c44db35d97bf048e5808fcf3c6c3206f700736835ceefe7883434a91318d434591d701a4aeb";
+  sha512.run = "41f96e112cba5f15bb36afaccff8852917383269c7ccf8f163972759615d5e5b87c3acbb54e4d14db6572cb0330154e1117f3159d851fcc9d3c5c3efd3c17d88";
+  sha512.doc = "815af1f69253625528fda78b1794eae1ddb5cdce357f5af5db5a68385d7ae90386611335fb8c429de8dc13a908ab5253ca2e99ed019590434ab6d087c2dbcbd4";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.3.1";
+  version = "1.3.3";
 };
 circledtext = {
   revision = 63166;
@@ -6549,25 +6697,34 @@ circledtext = {
   version = "1.1.0";
 };
 circuit-macros = {
-  revision = 66556;
+  revision = 69263;
   stripPrefix = 0;
-  sha512.run = "8879518a4ad41942651c04f4372f354e231ffd121a8c8fe7ea7a517ddd33765910ead0251a8f82b3a0a5d77dbae7c997d01d4fbeaab82fbda112952d1a6a1a24";
-  sha512.doc = "5d8e5af2d8cb8998147510f72dd1a2be31566708c000616989c48593b98f86c8302970345d7d9f1bbb383f4798b66ad624f9e1a365fd072066ca8f3286713b7e";
+  sha512.run = "5bd9c2885a1e8bde8f954d5a4072e00fb7e2b2a1663fa6db5f1346aa5f5022107a01f44175daeb0fa8e84e066c8373de8943b89bed725c03bdf45769dca51ef5";
+  sha512.doc = "784736df91755e22f003719b1821b01a8346ffd72036cef10ed2fb38869beaa449a12f8a5782d48355426ac46268f3d897178e7ad06a2bb21fe00672a9d64280";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "10.2";
+  version = "10.5";
 };
 circuitikz = {
-  revision = 65785;
+  revision = 69077;
   stripPrefix = 0;
-  sha512.run = "c7fb0d07045efd8165ff3e15f1d92dccab8ffb91cf383a9617252386bd2fe49bf570ad74100c81115ac609403546865561f61a64761e728354179da0a19adf26";
-  sha512.doc = "d1c09c6166c3d0a03da892e45613bc15a8176fb7646f0a893a60cfb84bd00a8c9475c4be98067cd1c3b4ce855621053963607ed963eb20300588d4c2657c6416";
+  sha512.run = "82eda82916370e8c76c450d74ffc4a77770a00aa0c65c4b53e46b1d6c2262db83af3290d220be14db657ad80ddca202535428d6e34af5a0e7b6348c01d8fb59b";
+  sha512.doc = "8dbe6c341fa86da01fcb3122531f1dae59abd3e1927d065ea7904294dabdf45746c52fa9b25b8a32a6234984afd8566b914c9e5b7b29a05337fbaecb4321c506";
   hasRunfiles = true;
   license = [ "lppl13c" "gpl1Only" ];
-  version = "1.6.1";
+  version = "1.6.6";
+};
+circularglyphs = {
+  revision = 68476;
+  stripPrefix = 0;
+  sha512.run = "043f30f3b8e7834698e2c70744ebb66f938ff7189c593f54b1d3017b84cd7fe180b5b7685013985f68c31f8e62785804129ba91181053119679ea4f775676933";
+  sha512.doc = "8ebcaacfdafbec747a690b392e872a9ee8e7293070e3200ef583f6f5e660a5ab813a8a426464f024c493e17e956f1192984ca3a58fd7abbfb89fd403fc1e359c";
+  hasRunfiles = true;
+  license = [ "lppl13c" "free" ];
+  version = "0.1.1";
 };
 citation-style-language = {
-  revision = 65357;
+  revision = 68454;
   deps = [
     "filehook"
     "l3kernel"
@@ -6578,15 +6735,15 @@ citation-style-language = {
     "luaxml"
     "url"
   ];
-  sha512.run = "4260ef2c25c7350e01a0bb7b7372a63da723c81a473ecad7346962c49ce35b68d5385863bf3ad742bd4da79720d4d240293f65677e01cdc41993509a5999cd21";
-  sha512.doc = "19c2336b57d8da88dcf22a92e54872a0d9548d5b2f9433ef155534c29f935988056240064ee863fa4a86caaa93dd0e4873725342c698bddabcbc90b771fb8d60";
+  sha512.run = "da914f9a07a02453627546719a1df88d3cc5520bd1530876208b2cbf0acee4536f043bb34228a54afbb86a4fe5ea9fe178102f61828b66b1eecd610cae7c473e";
+  sha512.doc = "3af7adda2f2cf49b178680be6bd72f299d04f515d4f8711f6830227a43292229704dfb990ceee289ef9b46afd1f057d53215dbf226fa99c41a218542dda74a67";
   hasManpages = true;
   hasRunfiles = true;
   scriptExts = [
     "lua"
   ];
   license = [ "mit" "cc-by-sa-30" ];
-  version = "0.3.0";
+  version = "0.4.5";
 };
 citation-style-language.binfiles = [
   "citeproc-lua"
@@ -6619,13 +6776,13 @@ citeref = {
   version = "1.1";
 };
 cje = {
-  revision = 46721;
+  revision = 68656;
   stripPrefix = 0;
-  sha512.run = "cab80d266c2b5f9d4ba9d37cc5490e831e3f773d86c92fcbfab9474864aebbb6123e1ed44877127e84b6e1fe8037f2425259789b9b9597de49e1b24b123992a4";
-  sha512.doc = "47a2d96b6b530be732385617af832ad48c3d6c7a34a7e9e0523c38a03b5116b94588c995afd153c25be6ceea9bc199685fab9eb83636b5fe27525b19a4bc7cec";
+  sha512.run = "764c9429f8000aede2b8dd85fbb2bd7eedf8e6bd2924347b75d2aa51a05b060921da15b1a55d9cc33582e5fe658d89edf8337e02f164a3de033c66bed3c6c2b7";
+  sha512.doc = "791757a59293d7144844cd05ae3346068bef42dee489138e5faacac68b0ed0ec639eb8c60d0fe34e29f37e1238601ae074d43d0e7194f07c1940a0f9411f8f85";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.06";
+  version = "1.07";
 };
 cjhebrew = {
   revision = 43444;
@@ -6667,16 +6824,16 @@ cjk-gs-integrate.binfiles = [
   "cjk-gs-integrate"
 ];
 cjk-ko = {
-  revision = 63561;
+  revision = 67252;
   stripPrefix = 0;
   deps = [
     "cjk"
   ];
-  sha512.run = "be65ef03300b8fccc4012ece68570a86797e36267ea2f531fead77659cf7bf2a315cca1a3e3386f8d1dc09cbb3b44b20dafb3e0e0cbd53bddb1a368c984937b0";
-  sha512.doc = "3ffcae00a4a0dcd175fcf864c3c0c578d7926917216b4a785c0a46074ef013eafe9458ba9010d14f081c63ab4ee0941d0597dace373eb178369de9caa210a16b";
+  sha512.run = "8eb4ca863ffdcab233a353629f40b87264903d2cec2a79088a8f92a705b78e5172228ca46cf4f3ebb78ec5e8bca093917bf191baa7184f805003ea1f3019ea8b";
+  sha512.doc = "75c041a2fbaca6977a96efbe7f5c37729d85c2f0903faafcdd69eb1425037e8a045a394b6c65b8914e0d10c831a63c58bab111491e3670e5cdedbb4a73b2e3d3";
   hasRunfiles = true;
   license = [ "gpl1Only" "lppl13c" "publicDomain" ];
-  version = "2.3";
+  version = "2.4";
 };
 cjkpunct = {
   revision = 41119;
@@ -6720,6 +6877,16 @@ cjkutils.binfiles = [
   "sjislatex"
   "sjispdflatex"
 ];
+cjs-rcs-article = {
+  revision = 69006;
+  stripPrefix = 0;
+  sha512.run = "6f49b9c02aa67036997403d65a9efc60c0cb7bcc29931d93fbb0359624fcbf4b3899e75c1721155b6484d7baafa79a823adf08fa5f1491352d4bd547dee22a58";
+  sha512.doc = "2932d797b3969a5e399c51d2c515c05cf7fccaa88d82d80b99f626dbf2ff7a6e5f7414963696842f1980755b72a06f9e9def3d282f8ff5ca5175ad1ec8d3f1c5";
+  sha512.source = "e3ca39b24e2dee6d611ccf7b0753da2d99a419db6d7e31d5aee231439dfd08da4f4bd9f902fa8c65d16df7fb9560cacf3d76ce111ba2881d267be7964c538649";
+  hasRunfiles = true;
+  license = [ "lppl13c" "cc-by-sa-40" ];
+  version = "1.0";
+};
 clara = {
   revision = 54512;
   stripPrefix = 0;
@@ -6793,6 +6960,16 @@ cleveref = {
   license = [ "lppl12" ];
   version = "0.21.4";
 };
+cleveref-usedon = {
+  revision = 66915;
+  stripPrefix = 0;
+  sha512.run = "6004d6bb5fe8c93d2c48219c1c464ad26ee1ba4b31d15e0ca55b49df9218dc974e863f975e2d4f254c2e41197bb60c4722c126660919fe07d1f0e502f2bb13ea";
+  sha512.doc = "f8e2efa3de278d1ee600f844e0cbd7da73e105003b45f103fc0f1c3aed9df4dc622302cdfcbe77646322e29a0451856816ff9ecd908e1d882f7829f9aee5cf1d";
+  sha512.source = "acc43cbb720d9feb8b4535b60fe613583192b5c6907e00db495cc03432e1bfcbb99eaf99208213e1b29140766f16d2246f6232f3a3929e88d00ec581a39bec1a";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.4.0";
+};
 clicks = {
   revision = 64602;
   stripPrefix = 0;
@@ -6835,11 +7012,11 @@ clock = {
   license = [ "free" ];
 };
 clojure-pamphlet = {
-  revision = 60981;
-  sha512.run = "67047118c74e1d19426d99bd3a716d6076d977156f1e686bbd991d6b1cba464897f662e950c86218910b485300d40a5cb80d8d43868fb7920cc99a6d7f1c5735";
-  sha512.doc = "02ab33398a87a47c76fd34df9eccde47b60b028b3a659294968b35beaead85908d958ccd94b8f706f6f2173c9af3d7f7382c510134dabde4bfab9be20f85998d";
+  revision = 67201;
+  sha512.run = "bfdc173aa0a79905af238766f162f779296fe16e343a0fc4d41e8a47be2021eaff1cb30129db1238c725f633f3c96264ccc9a2cc0fdf0686e04622090d5a598d";
+  sha512.doc = "a8c782042d9c55d234ad5df84d73e0d4abedac2294073146bbb8dc0b01ea40910657d3a3e1bfb324437bc67426f69ccae6eb297b81282f32190e87bb2ba154a8";
   hasManpages = true;
-  sha512.source = "5848f7ace83c5bbf5017f7a760fdc464e848511717f5fcca5e17f95421429a5608c590fcbc1e7a0d49bb5996def552f16515edfbfa5a2673fef962529141e5a2";
+  sha512.source = "8dd7cf59db96f9977f9242475c46a6635bf6cbc5c18bf1f44ee65cd6e308a5d0dafd2951b602fef102632ac2f6fdf707d306fb400b02e657c45a4eaf2a52384c";
   hasRunfiles = true;
   license = [ "gpl3Plus" ];
   version = "1.3";
@@ -6894,15 +7071,16 @@ clrstrip = {
   license = [ "lppl13c" ];
 };
 cluttex = {
-  revision = 60964;
-  sha512.run = "35c8ec3711963131bb50fe67ef95705a1d40a6dfd831a33d863bde16f16e66086e204725154d0deaed13e94fdc28dd59497561673542151c1574f7fe87f516f9";
-  sha512.doc = "c8e395e087f9ca511db96b96dee3de4a51fdfc9374ddaf40703db0980724000f1987298dc8253d0c5a8d7c97e46cc2a8165b7cad6560fa560213cd5ce85205de";
+  revision = 68912;
+  sha512.run = "652ad061ea6dd183b7bb5e0a893f3d1cb1e48e17f93c65e2c9f82eb1261759c369498b2ba36f48acb2a29772707bbc36c2832be1518507970f06f0e527c1fb55";
+  sha512.doc = "5dec8c3c1ecebea760f25d5acdf6371ee67c40b38f64b24d2b47346caaa3a2a20d18578c37e14586fc16aa81a4f50761444f26206b01901913e684e413ecc0ed";
+  hasManpages = true;
   hasRunfiles = true;
   scriptExts = [
     "lua"
   ];
   license = [ "gpl3Plus" ];
-  version = "0.5.1";
+  version = "0.6";
 };
 cluttex.binfiles = [
   "cllualatex"
@@ -6988,10 +7166,10 @@ cmbright = {
   version = "8.1";
 };
 cmcyr = {
-  revision = 60630;
+  revision = 68681;
   stripPrefix = 0;
-  sha512.run = "ecb1662bf6861744fa07126fa9cbcccfc0d53a1a9c1bd6b91a3c5482ccd83ec45b1dc17976d2d6c9cffc1dfb6aeb8ee583d753c427eb367b2c294defda98f519";
-  sha512.doc = "8db204fd976f23f99871dde1523ea0d46c2471ffd55f7bc1dd65e6728bd09be609b659f2044e5650d8f4c89c169569b4a4ab5535e975f3bb824a1faddb8a97a4";
+  sha512.run = "c42006e8d596b231c3ef7f3f7123292a9563f6bb0881a7807625bd05e49a67ffd37d6e0965e6da36cdff816cdbf780e54b79b999ee5d0a18fad315f2724cc839";
+  sha512.doc = "153db17097c5a1e6bbad3e13e7bbfaf13bd8380633f62e9323d2c0514a2649b001c997bad9e7495a88f5cf9c1289f2987d147e22bdca6100e7adc1d88561d443";
   hasRunfiles = true;
   license = [ "publicDomain" ];
 };
@@ -7133,13 +7311,13 @@ cntperchap = {
   version = "0.3";
 };
 cochineal = {
-  revision = 62063;
+  revision = 68904;
   stripPrefix = 0;
-  sha512.run = "9ab8abcb37615f7381132181a991adf35d34d61c81ed5100e02e9d314a0e555669a6488edbf9fd698a239ead8f49221410333705d2074046eb3e467f31ea7196";
-  sha512.doc = "5bf6a83c03d5a87567a42379c7f8462b1f52245fad5b18839532761cf855f45e596b76ea266e361527a6f269b008c6a2515cce2a616f372daaf06e6ddd6efe73";
+  sha512.run = "43b896ccce0842cdc7ceb207932c1f112334b27fa11c8431c6d2561ab0b17ac6f841ef3d9ecdb27e8a7c3976c350edfa115bf927c205a4cb493f66b35eaea357";
+  sha512.doc = "16e0783a4a77d96c96d26bb7d04723dcd5fe882da39a9214b4c84bbcd5581aeba331c0c7994a56d6199385ab54ed5cd47bd9dfaab92dcc44f940c0c2d9afdf4f";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
-  version = "1.077";
+  version = "1.081";
 };
 codeanatomy = {
   revision = 65648;
@@ -7160,6 +7338,15 @@ codebox = {
   license = [ "lppl13c" ];
   version = "1.0.4";
 };
+codedescribe = {
+  revision = 69343;
+  stripPrefix = 0;
+  sha512.run = "9d1176a6934468658a99d00f862ff2554fda33ae7e458409c3dab3df42afcf093f3d28263f8f7b431024df1b67f969ac808806b222ba256d27793a4b1e7a2865";
+  sha512.doc = "2540adbdb84154d3fa96a74e716b3b7051f4687852f873b67a0a0bbe6bf9e932b3bb19eee07b0e4cf7299e3f1d06983b4faeec77182db0e8676f53b2aeaa2776";
+  hasRunfiles = true;
+  license = [ "lppl13c" "gpl1Only" ];
+  version = "1.3";
+};
 codedoc = {
   revision = 17630;
   stripPrefix = 0;
@@ -7225,6 +7412,16 @@ coffeestains = {
   license = [ "publicDomain" ];
   version = "0.5.1";
 };
+collargs = {
+  revision = 69284;
+  stripPrefix = 0;
+  sha512.run = "1807cca3a1e73b42ec1403c272777d5e31c1a6ecc3efe9b61697d6fee7b2b1deb76b9b909846b55a297587e950b42754f68be4cc5ed729c54e310fcd248d2972";
+  sha512.doc = "395931952725fbebb85445d8f465bc57a74d98f2d70b61f67b97f9a3542598bdfb1ddd7203a3bcae87094aded580325c98f77bfcdfa78147b971a9aff18a8cd0";
+  sha512.source = "4ec8b2ed23cae6473c8a5993efa79e426522ba710378598c408e4b33343b1be29c7aee01c2ad1483cad2a91fcc8775844fa598f740c42438d9c830210d31e0ef";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.1.0";
+};
 collcell = {
   revision = 64967;
   stripPrefix = 0;
@@ -7293,7 +7490,7 @@ collection-basic = {
   sha512.run = "4241bc3a3ef21502faa9a2e0b16295126c357fc15813a625306552b40f9da804164abccce642f4ec1e677092f81d61381958b87fcf515120a12f9b7a19055370";
 };
 collection-bibtexextra = {
-  revision = 65257;
+  revision = 67386;
   stripPrefix = 0;
   deps = [
     "aaai-named"
@@ -7382,6 +7579,7 @@ collection-bibtexextra = {
     "biblatex2bibitem"
     "biblist"
     "bibtexperllibs"
+    "bibtools"
     "bibtopic"
     "bibtopicprefix"
     "bibunits"
@@ -7461,10 +7659,10 @@ collection-bibtexextra = {
     "xcite"
     "zootaxa-bst"
   ];
-  sha512.run = "db80edc251a62547b401d922c954a40dc3887b01a59952bf20829b67953e26083c98249dba83157b0e9db4b0b2b2802f5965d9360b332d45fe4d69762ef38c62";
+  sha512.run = "652554e2038407c987a3aaf73f206b228728ec7848c737de8c6267abb0b20054846fcc74400fbf4a802c8efa1dff2d4174e9d4725b41a7816e25c9c8d1cfd848";
 };
 collection-binextra = {
-  revision = 65204;
+  revision = 69128;
   stripPrefix = 0;
   deps = [
     "a2ping"
@@ -7502,6 +7700,7 @@ collection-binextra = {
     "dvipng"
     "dvipos"
     "dvisvgm"
+    "easydtx"
     "findhyph"
     "fragmaster"
     "git-latexdiff"
@@ -7523,7 +7722,6 @@ collection-binextra = {
     "listings-ext"
     "ltxfileinfo"
     "ltximg"
-    "luajittex"
     "make4ht"
     "match_parens"
     "mflua"
@@ -7542,6 +7740,7 @@ collection-binextra = {
     "pkfix-helper"
     "purifyeps"
     "pythontex"
+    "runtexshebang"
     "seetexk"
     "spix"
     "srcredact"
@@ -7549,6 +7748,7 @@ collection-binextra = {
     "synctex"
     "tex4ebook"
     "texaccents"
+    "texblend"
     "texcount"
     "texdef"
     "texdiff"
@@ -7568,60 +7768,46 @@ collection-binextra = {
     "tlcockpit"
     "tpic2pdftex"
     "typeoutfileinfo"
+    "upmendex"
     "web"
     "xindex"
     "xindy"
     "xpdfopen"
   ];
-  sha512.run = "4297ddb3f20775c97c2ac4782060ad2c2da469fb68eda24d98c0c84a07403215aaa4e221b82459300887769e9355cb4425f4fe599d5d8413e38f1be5c7f8fab9";
+  sha512.run = "e397e1e30540ecdbefb7017348dde411b1287fb5c3a395d963747e74bd6e67fa5abd1f5137ea57e5f2eedcff1e89ca8fd1bcdc9aeafc2a969821953343e13620";
 };
 collection-context = {
-  revision = 54074;
+  revision = 69108;
   stripPrefix = 0;
   deps = [
     "collection-basic"
     "context"
-    "context-account"
-    "context-algorithmic"
-    "context-animation"
-    "context-annotation"
-    "context-bnf"
-    "context-chromato"
-    "context-cmscbf"
-    "context-cmttbf"
-    "context-construction-plan"
+    "context-calendar-examples"
+    "context-collating-marks"
     "context-cyrillicnumbers"
-    "context-degrade"
-    "context-fancybreak"
     "context-filter"
-    "context-french"
-    "context-fullpage"
-    "context-gantt"
     "context-gnuplot"
     "context-handlecsv"
-    "context-inifile"
-    "context-layout"
+    "context-legacy"
     "context-letter"
-    "context-lettrine"
     "context-mathsets"
     "context-notes-zh-cn"
-    "context-rst"
-    "context-ruby"
-    "context-simplefonts"
+    "context-pocketdiary"
     "context-simpleslides"
-    "context-title"
+    "context-squares"
+    "context-sudoku"
+    "context-texlive"
     "context-transliterator"
-    "context-typearea"
     "context-typescripts"
     "context-vim"
     "context-visualcounter"
     "jmn"
-    "npp-for-context"
+    "luajittex"
   ];
-  sha512.run = "5bd74e1a434549cf31ce31777e9a32f90baa14148e6658633945508a46dbf6611644c4212b53812bb32a399e850517369e3d89bb0e495c89e6f2a979090ed765";
+  sha512.run = "a8426893d3b9cfbddfffa383dc7898f7abe48271695dc6835abb2cda70ca1998d65eda2acd716a13ef4239c8ca8528c92b2c679510d6785ef38bf554b81a6cd6";
 };
 collection-fontsextra = {
-  revision = 64952;
+  revision = 69278;
   stripPrefix = 0;
   deps = [
     "aboensis"
@@ -7644,6 +7830,7 @@ collection-fontsextra = {
     "archivo"
     "arev"
     "arimo"
+    "arsenal"
     "arvo"
     "asana-math"
     "asapsym"
@@ -7784,6 +7971,7 @@ collection-fontsextra = {
     "frimurer"
     "garamond-libre"
     "garamond-math"
+    "gelasio"
     "genealogy"
     "gentium-tug"
     "gfsartemisia"
@@ -7816,6 +8004,7 @@ collection-fontsextra = {
     "ifsym"
     "imfellenglish"
     "inconsolata"
+    "inconsolata-nerd-font"
     "initials"
     "inriafonts"
     "inter"
@@ -7825,6 +8014,7 @@ collection-fontsextra = {
     "jamtimes"
     "josefin"
     "junicode"
+    "junicodevf"
     "kixfont"
     "kpfonts"
     "kpfonts-otf"
@@ -7858,6 +8048,7 @@ collection-fontsextra = {
     "mdputu"
     "mdsymbol"
     "merriweather"
+    "metsymb"
     "miama"
     "mintspirit"
     "missaali"
@@ -7912,6 +8103,7 @@ collection-fontsextra = {
     "quattrocento"
     "raleway"
     "recycle"
+    "rit-fonts"
     "roboto"
     "romande"
     "rosario"
@@ -7974,7 +8166,7 @@ collection-fontsextra = {
     "yinit-otf"
     "zlmtt"
   ];
-  sha512.run = "e0c3a3142ca8dcdcdc0d7c5328e1624736f20bfe9e3757bad95d0e361b73ecdf3bc53e9d19f42ef5d91b74cbdf4fca1ee62b79f53d4d5a5f8aed47f51553d77e";
+  sha512.run = "1a80dbc68b0a3a248fdc699013f7a23796ac9c6e2ae7e3135878f9d5fd6ee17ec1c809ac906804f1fbb3bc43451ee969d48247d9ab9125b681dbb29209892df2";
 };
 collection-fontsrecommended = {
   revision = 54074;
@@ -8072,7 +8264,7 @@ collection-formatsextra = {
   sha512.run = "6c7f0a1829789edea6a42d45f13f482abc0aa1ecc66b0ba4b70197efff349df75c9a89a98f21537cf6f3751b608fc3ee10ac842613deaf2aa21005374a23bab2";
 };
 collection-games = {
-  revision = 65631;
+  revision = 69159;
   stripPrefix = 0;
   deps = [
     "bartel-chess-fonts"
@@ -8107,9 +8299,12 @@ collection-games = {
     "othello"
     "othelloboard"
     "pas-crosswords"
+    "playcards"
     "psgo"
+    "quizztex"
     "realtranspose"
     "reverxii"
+    "rouequestions"
     "rubik"
     "schwalbe-chess"
     "scrabble"
@@ -8120,14 +8315,17 @@ collection-games = {
     "sudoku"
     "sudokubundle"
     "tangramtikz"
+    "thematicpuzzle"
+    "trivialpursuit"
     "wargame"
+    "wordle"
     "xq"
     "xskak"
   ];
-  sha512.run = "f7508dd7b59f4137260fb3a9c74037513e4722539aa8460dd7f0917f47d42cbd1575077880a4e6af49351600c8b9d316437132113c33737a253e7db3c3c1076a";
+  sha512.run = "29cd464cc85a8632164c26468b441ddc97133e4e5ca291d9939e7c0c22c60c7a02df91d1e3cdf925b803976bd7f089d8c7e2b63cd32fb88f8760f546be921160";
 };
 collection-humanities = {
-  revision = 65216;
+  revision = 68465;
   stripPrefix = 0;
   deps = [
     "adtrees"
@@ -8145,6 +8343,7 @@ collection-humanities = {
     "eledform"
     "eledmac"
     "expex"
+    "expex-glossonly"
     "gb4e"
     "gmverse"
     "jura"
@@ -8160,6 +8359,7 @@ collection-humanities = {
     "liturg"
     "metrix"
     "nnext"
+    "opbible"
     "parallel"
     "parrun"
     "phonrule"
@@ -8184,10 +8384,10 @@ collection-humanities = {
     "verse"
     "xyling"
   ];
-  sha512.run = "d2ae12a0b914be72772dadc60021220990f037f40a2ef4f95038cdd603c80e039f94009910aed38513b4a7938ec99ecf2f035a0dbe221b9e166ccd8aa977c30b";
+  sha512.run = "33b19b29b31671c148900d207f1f9947be502ab215e901afa9c5fe5264bafd004717dc8f6438d1a4b40abfa63c0b94725738b8c8bc117e293676f3db1e25ba6a";
 };
 collection-langarabic = {
-  revision = 59594;
+  revision = 69111;
   stripPrefix = 0;
   deps = [
     "alkalami"
@@ -8207,10 +8407,14 @@ collection-langarabic = {
     "hyphen-arabic"
     "hyphen-farsi"
     "imsproc"
+    "iran-bibtex"
+    "khatalmaqala"
     "kurdishlipsum"
     "lshort-persian"
     "luabidi"
     "na-box"
+    "parsimatn"
+    "parsinevis"
     "persian-bib"
     "quran"
     "sexam"
@@ -8221,7 +8425,7 @@ collection-langarabic = {
     "xepersian-hm"
     "xindy-persian"
   ];
-  sha512.run = "3fdcf41fafd94373254281f3f7ee9f2a2e136cfa1adc1dd38e4b5cd6f90d0364e6a20d3284fcf255f245158352421e28cfb794c673b8b96399a20343ed991fc2";
+  sha512.run = "8cef2ee028669abcc0e964ba01f6287f52c4e2857fa7547036ea00bfa47d83d38c9c126705ba7989cfbc027586315284139ec6131c5ea7701136f1bfd7cdc2cf";
 };
 collection-langchinese = {
   revision = 63995;
@@ -8367,7 +8571,7 @@ collection-langczechslovak = {
   sha512.run = "719c321173ca12660891080dae509080934f72d13a9417b2c40a22add963c7c5a1ee95d3b306f0d6c26b0db97d69979c27fbb15d1690849aa03b06d4b0193a67";
 };
 collection-langenglish = {
-  revision = 65496;
+  revision = 68790;
   stripPrefix = 0;
   deps = [
     "amiweb2c-guide"
@@ -8381,6 +8585,7 @@ collection-langenglish = {
     "comprehensive"
     "dickimaw"
     "docsurvey"
+    "drawing-with-metapost"
     "dtxtut"
     "first-latex-doc"
     "fontinstallationguide"
@@ -8419,6 +8624,7 @@ collection-langenglish = {
     "patgen2-tutorial"
     "pictexsum"
     "plain-doc"
+    "quran-en"
     "short-math-guide"
     "simplified-latex"
     "svg-inkscape"
@@ -8441,10 +8647,10 @@ collection-langenglish = {
     "xetexref"
     "yet-another-guide-latex2e"
   ];
-  sha512.run = "2c2f75491a801f71fe8a4a64d798c40f66dc71dbae32192089757a6881fd14299fe30a95eca65c75a9901c82c033a327f7d9a91080dea51f6679239d6660b2fd";
+  sha512.run = "49f20b883df99755070b68d3eacb29c297e76a05b3151d632c26fcf2864d996e4873bbab27429db915f93995923d5b7e680a3c901b28cac888ffa021bc629b74";
 };
 collection-langeuropean = {
-  revision = 66452;
+  revision = 66432;
   stripPrefix = 0;
   deps = [
     "armtex"
@@ -8518,10 +8724,10 @@ collection-langeuropean = {
     "swebib"
     "turkmen"
   ];
-  sha512.run = "4ba87445f080bbe7446ea2f1e4b8f2abdbf64770831db43ab1b4233f35a12c362e5e43b60706ee2400f1070362b949a40b8147547acc5a8b8429879a3fc64dfe";
+  sha512.run = "5fa87f174fc372c21b80ebe6b097525218da63892bc8445a29c24f2bfb015b0f04c100467f85e6c9e16a27ad26e31f00832d7712ebea7dec8631a730a95a9759";
 };
 collection-langfrench = {
-  revision = 63147;
+  revision = 67951;
   stripPrefix = 0;
   deps = [
     "aeguill"
@@ -8535,7 +8741,9 @@ collection-langfrench = {
     "bib-fr"
     "bibleref-french"
     "booktabs-fr"
+    "cahierprof"
     "collection-basic"
+    "couleurs-fr"
     "droit-fr"
     "e-french"
     "epslatex-fr"
@@ -8555,9 +8763,11 @@ collection-langfrench = {
     "lshort-french"
     "mafr"
     "matapli"
+    "panneauxroute"
     "profcollege"
     "proflabo"
     "proflycee"
+    "profsio"
     "tabvar"
     "tdsfrmath"
     "texlive-fr"
@@ -8569,13 +8779,14 @@ collection-langfrench = {
     "visualfaq-fr"
     "visualtikz"
   ];
-  sha512.run = "baec84c93e0b9313b29f807831da39da40902afdbc2305e193e9d4805c631a1e44695c0bc148e973d9021146cc25da9b22b0130b29fe4ff9834667ec83dff9b6";
+  sha512.run = "83be4aa190b32580ab6334a00785123be5678a95f84589dea2ccc2ce77a6328bf8954f28e683a9614b43a062901a28b3f6b060bd968876094aeab5b1f9aee816";
 };
 collection-langgerman = {
-  revision = 55706;
+  revision = 68711;
   stripPrefix = 0;
   deps = [
     "apalike-german"
+    "autotype"
     "babel-german"
     "bibleref-german"
     "booktabs-de"
@@ -8622,7 +8833,7 @@ collection-langgerman = {
     "umlaute"
     "voss-mathcol"
   ];
-  sha512.run = "19b9f47b68ca6068900c413d8216e13c20d25ab084cdcbd500694a18a10cbaa35ba5681be09392e0b20873788519a436c28c1ea89a728e3f546083ce0883c15c";
+  sha512.run = "3b52fac1e2520302998c3b11bc2f77b34d5bd4cc09f4fa4b9238ece66b0e36e676643f7476846d1b25eb64d31b0dbe87a33ad44669be101f61cf223e70ecb047";
 };
 collection-langgreek = {
   revision = 65038;
@@ -8775,7 +8986,7 @@ collection-langkorean = {
   sha512.run = "2d93df728d34137c8f9a884aa2871a2980e806672006f2c5f0c5f79412d5789c6f94958363cfc9a78b5a97a7d76bbb6cb157b2cb2a8a283f7afdfd838fa24883";
 };
 collection-langother = {
-  revision = 59564;
+  revision = 68719;
   stripPrefix = 0;
   deps = [
     "aalok"
@@ -8800,11 +9011,13 @@ collection-langother = {
     "cjhebrew"
     "collection-basic"
     "ctib"
+    "culmus"
     "ebong"
     "ethiop"
     "ethiop-t1"
     "fc"
     "fonts-tlwg"
+    "hebrew-fonts"
     "hindawi-latex-template"
     "hyphen-afrikaans"
     "hyphen-armenian"
@@ -8827,6 +9040,7 @@ collection-langother = {
     "ntheorem-vn"
     "padauk"
     "quran-bn"
+    "quran-id"
     "quran-ur"
     "sanskrit"
     "sanskrit-t1"
@@ -8839,7 +9053,7 @@ collection-langother = {
     "wnri-latex"
     "xetex-devanagari"
   ];
-  sha512.run = "3db7709c3545df3713dc0a7df73f676f9f34df5fdc157c6a2d6a124a5bbd14f6f5f1f2938092e76be19417f9dd5ff4f84513c84beddafbe5c9747abd7fa597c0";
+  sha512.run = "312be65445c4b862e50fcf4bb8d4413b233eadee8a9ca14ff3cb4eb37549314f37a5d00d22a4b3b2cd461b3b0473a7426a5e7f33ffbaf6dfc0687f1af754cae1";
 };
 collection-langpolish = {
   revision = 54074;
@@ -8868,7 +9082,7 @@ collection-langpolish = {
   sha512.run = "fc0d08f70aeb83869109290e6d1585d513097dcd4e17791752ecd3d26ac202838afb5931f78ceaeeaf72c63b18fe9183edd650c075d03188f24cb2caded178de";
 };
 collection-langportuguese = {
-  revision = 54074;
+  revision = 67125;
   stripPrefix = 0;
   deps = [
     "babel-portuges"
@@ -8882,14 +9096,16 @@ collection-langportuguese = {
     "lshort-portuguese"
     "numberpt"
     "ordinalpt"
+    "ptlatexcommands"
     "xypic-tut-pt"
   ];
-  sha512.run = "16d67d288fb702807b43dcf8da044a45206c27c5cf0d953688fc341966fb166db8cec69b727b1de079b9bf434f024f7338eaf34529510cab7881147d1635b43d";
+  sha512.run = "554f7d7e4828e1122cf3bc6b24c67661046ce2ae646975054f6903f8c2dfd3e63131ada963cd3b5a1ca3128539f039b4d275b9c8caadde1dbe9118d583d47585";
 };
 collection-langspanish = {
-  revision = 54141;
+  revision = 67307;
   stripPrefix = 0;
   deps = [
+    "antique-spanish-units"
     "babel-catalan"
     "babel-galician"
     "babel-spanish"
@@ -8904,10 +9120,10 @@ collection-langspanish = {
     "lshort-spanish"
     "texlive-es"
   ];
-  sha512.run = "88bdc5cefd5519bc80e50e2d808abf32aae8f7c730023afab3babb82ab817dc034c78d42b4143135df187343de7164a8fd94dc95c5ec8909e317a2f5628de15e";
+  sha512.run = "1f3c1cc4d1e28871085092314a58671a2acab47da0a758c0bdff569b0a80697ac3c32e9991a8f77268f86c02e51420e4d999a9eef72a2a7353a3efbc633e25a9";
 };
 collection-latex = {
-  revision = 63515;
+  revision = 69131;
   stripPrefix = 0;
   deps = [
     "ae"
@@ -8959,6 +9175,7 @@ collection-latex = {
     "oberdiek"
     "pagesel"
     "pdfescape"
+    "pdftexcmds"
     "pslatex"
     "psnfss"
     "pspicture"
@@ -8969,10 +9186,10 @@ collection-latex = {
     "uniquecounter"
     "url"
   ];
-  sha512.run = "c73220abd1545907a1d8de37cb534d2c6bd2534f1b55f03c069f39f535c326d4b1852f8415d9876ca52645db939ad7a11c55f550a2096ccd4b8dd8be6a4114d6";
+  sha512.run = "889eae40b82f31c7c4b3a17740399c763dabec7986fcb39261b252afff69a03a16e660b114e358cd72e3fafa14a158849cf03aa2ad4d73a5bee4ca9abc4c24af";
 };
 collection-latexextra = {
-  revision = 66557;
+  revision = 69389;
   stripPrefix = 0;
   deps = [
     "2up"
@@ -8996,6 +9213,7 @@ collection-latexextra = {
     "adjustbox"
     "adrconv"
     "advdate"
+    "affilauthor"
     "akktex"
     "akletter"
     "alchemist"
@@ -9015,6 +9233,7 @@ collection-latexextra = {
     "apptools"
     "arabicfront"
     "arcs"
+    "argumentation"
     "arraycols"
     "arrayjobx"
     "arraysort"
@@ -9061,6 +9280,7 @@ collection-latexextra = {
     "beamertheme-npbt"
     "beamertheme-phnompenh"
     "beamertheme-pure-minimalistic"
+    "beamertheme-rainbow"
     "beamertheme-saintpetersburg"
     "beamertheme-simpledarkblue"
     "beamertheme-simpleplus"
@@ -9074,6 +9294,7 @@ collection-latexextra = {
     "beamerthemenord"
     "bearwear"
     "beaulivre"
+    "beautybook"
     "beton"
     "bewerbung"
     "bez123"
@@ -9167,6 +9388,7 @@ collection-latexextra = {
     "classpack"
     "clefval"
     "cleveref"
+    "cleveref-usedon"
     "clicks"
     "clipboard"
     "clistmap"
@@ -9180,6 +9402,7 @@ collection-latexextra = {
     "cntformats"
     "cntperchap"
     "codebox"
+    "codedescribe"
     "codedoc"
     "codehigh"
     "codepage"
@@ -9229,6 +9452,7 @@ collection-latexextra = {
     "copyedit"
     "copyrightbox"
     "coseoul"
+    "counterz"
     "counttexruns"
     "courseoutline"
     "coursepaper"
@@ -9237,6 +9461,7 @@ collection-latexextra = {
     "cprotectinside"
     "crbox"
     "create-theorem"
+    "creationboites"
     "crefthe"
     "crossreference"
     "crossreftools"
@@ -9248,7 +9473,9 @@ collection-latexextra = {
     "cuisine"
     "currency"
     "currfile"
+    "curriculum-vitae"
     "currvita"
+    "customenvs"
     "cutwin"
     "cv"
     "cv4tw"
@@ -9313,7 +9540,9 @@ collection-latexextra = {
     "dbshow"
     "debate"
     "decimal"
+    "decimalcomma"
     "decorule"
+    "defoldfonts"
     "delimtxt"
     "democodetools"
     "denisbdoc"
@@ -9386,6 +9615,7 @@ collection-latexextra = {
     "embedall"
     "embedfile"
     "embrac"
+    "emo"
     "emptypage"
     "emulateapj"
     "endfloat"
@@ -9434,6 +9664,7 @@ collection-latexextra = {
     "examdesign"
     "example"
     "examplep"
+    "examz"
     "exceltex"
     "excludeonly"
     "exercise"
@@ -9450,6 +9681,7 @@ collection-latexextra = {
     "extract"
     "facsimile"
     "factura"
+    "fail-fast"
     "familytree"
     "fancyhandout"
     "fancylabel"
@@ -9490,8 +9722,10 @@ collection-latexextra = {
     "flexipage"
     "flipbook"
     "flippdf"
+    "floatbytocbasic"
     "floatflt"
     "floatrow"
+    "floatrowbytocbasic"
     "flowfram"
     "fmp"
     "fmtcount"
@@ -9568,6 +9802,7 @@ collection-latexextra = {
     "glossaries-irish"
     "glossaries-italian"
     "glossaries-magyar"
+    "glossaries-norsk"
     "glossaries-nynorsk"
     "glossaries-polish"
     "glossaries-portuges"
@@ -9618,11 +9853,13 @@ collection-latexextra = {
     "hhtensor"
     "hideanswer"
     "highlightlatex"
+    "highlightx"
     "histogr"
     "hitec"
     "hitreport"
     "hletter"
     "hobsub"
+    "homework"
     "hpsdiss"
     "href-ul"
     "hrefhide"
@@ -9670,6 +9907,7 @@ collection-latexextra = {
     "invoice"
     "invoice-class"
     "invoice2"
+    "ipsum"
     "iso"
     "iso10303"
     "isodate"
@@ -9677,12 +9915,14 @@ collection-latexextra = {
     "isonums"
     "isopt"
     "isorot"
+    "isosafety"
     "isotope"
     "issuulinks"
-    "iwhdp"
+    "iwonamath"
     "jlabels"
     "jmsdelim"
     "jobname-suffix"
+    "joinbox"
     "jslectureplanner"
     "jumplines"
     "jvlisting"
@@ -9703,6 +9943,7 @@ collection-latexextra = {
     "koma-script-sfs"
     "komacv"
     "komacv-rg"
+    "korigamik"
     "ktv-texdata"
     "l3build"
     "labbook"
@@ -9715,11 +9956,13 @@ collection-latexextra = {
     "latex-amsmath-dev"
     "latex-base-dev"
     "latex-bin-dev"
+    "latex-context-ppchtex"
     "latex-firstaid-dev"
     "latex-graphics-dev"
     "latex-lab-dev"
     "latex-tools-dev"
     "latex-uni8"
+    "latex2pydata"
     "latexcolors"
     "latexdemo"
     "latexgit"
@@ -9752,11 +9995,14 @@ collection-latexextra = {
     "listlbls"
     "listliketab"
     "listofsymbols"
+    "litesolution"
+    "litetable"
     "lkproof"
     "lmake"
     "locality"
     "logbox"
     "logical-markup-utils"
+    "logoetalab"
     "logpap"
     "longfbox"
     "longfigure"
@@ -9863,6 +10109,7 @@ collection-latexextra = {
     "moresize"
     "moreverb"
     "morewrites"
+    "movement-arrows"
     "movie15"
     "mparhack"
     "mpostinl"
@@ -9916,10 +10163,12 @@ collection-latexextra = {
     "nolbreaks"
     "nomencl"
     "nomentbl"
+    "non-decimal-units"
     "nonfloat"
     "nonumonpart"
     "nopageno"
     "normalcolor"
+    "notebeamer"
     "notes"
     "notespages"
     "notestex"
@@ -9984,6 +10233,7 @@ collection-latexextra = {
     "pbox"
     "pbsheet"
     "pdf14"
+    "pdfannotations"
     "pdfcol"
     "pdfcolmk"
     "pdfcomment"
@@ -9994,6 +10244,7 @@ collection-latexextra = {
     "pdfpc"
     "pdfpc-movie"
     "pdfprivacy"
+    "pdfrender"
     "pdfreview"
     "pdfscreen"
     "pdfslide"
@@ -10045,6 +10296,7 @@ collection-latexextra = {
     "preview"
     "printlen"
     "probsoln"
+    "profmaquette"
     "program"
     "progress"
     "progressbar"
@@ -10061,6 +10313,7 @@ collection-latexextra = {
     "pygmentex"
     "python"
     "pythonimmediate"
+    "q-and-a"
     "qcm"
     "qstest"
     "qsymbols"
@@ -10096,17 +10349,20 @@ collection-latexextra = {
     "repltext"
     "rescansync"
     "resmes"
+    "responsive"
     "returntogrid"
     "rgltxdoc"
     "rjlparshap"
     "rlepsf"
     "rmpage"
+    "robust-externalize"
     "robustcommand"
     "robustindex"
     "romanbar"
     "romanbarpagenumber"
     "romanneg"
     "romannum"
+    "rorlink"
     "rotfloat"
     "rotpages"
     "roundbox"
@@ -10132,6 +10388,7 @@ collection-latexextra = {
     "scrambledenvs"
     "scrlayer-fancyhdr"
     "scrlttr2copy"
+    "scrwfile"
     "sdaps"
     "sdrt"
     "secdot"
@@ -10152,6 +10409,7 @@ collection-latexextra = {
     "sepfootnotes"
     "seqsplit"
     "sesstime"
+    "setspaceenhanced"
     "sf298"
     "sffms"
     "sfmath"
@@ -10172,6 +10430,7 @@ collection-latexextra = {
     "sidenotesplus"
     "silence"
     "sillypage"
+    "sim-os-menus"
     "simplecd"
     "simplecv"
     "simpleinvoice"
@@ -10209,6 +10468,7 @@ collection-latexextra = {
     "stack"
     "stackengine"
     "standalone"
+    "starray"
     "stdclsdv"
     "stdpage"
     "stealcaps"
@@ -10228,7 +10488,6 @@ collection-latexextra = {
     "subfigure"
     "subfiles"
     "subfloat"
-    "substitutefont"
     "substr"
     "supertabular"
     "suppose"
@@ -10248,7 +10507,6 @@ collection-latexextra = {
     "tableaux"
     "tablefootnote"
     "tableof"
-    "tablestyles"
     "tablists"
     "tabls"
     "tablvar"
@@ -10265,6 +10523,7 @@ collection-latexextra = {
     "tagpdf"
     "talk"
     "tamefloats"
+    "tangocolors"
     "tasks"
     "tcldoc"
     "tcolorbox"
@@ -10333,6 +10592,7 @@ collection-latexextra = {
     "truncate"
     "tucv"
     "turnthepage"
+    "tutodoc"
     "twoinone"
     "twoup"
     "txgreeks"
@@ -10349,11 +10609,14 @@ collection-latexextra = {
     "underoverlap"
     "undolabl"
     "uni-titlepage"
+    "unicode-math-input"
     "unicodefonttable"
+    "unifront"
     "unisc"
     "unitconv"
     "units"
     "unravel"
+    "updatemarks"
     "upmethodology"
     "upquote"
     "uri"
@@ -10373,6 +10636,7 @@ collection-latexextra = {
     "verbdef"
     "verbments"
     "verifiche"
+    "verifycommand"
     "version"
     "versions"
     "versonotes"
@@ -10421,6 +10685,7 @@ collection-latexextra = {
     "xifthen"
     "xint"
     "xkcdcolors"
+    "xkeymask"
     "xltabular"
     "xmpincl"
     "xnewcommand"
@@ -10453,10 +10718,10 @@ collection-latexextra = {
     "zwgetfdate"
     "zwpagelayout"
   ];
-  sha512.run = "ff0de06445cf602f2a3d7b2c759e5214c5ca2ee00bc596416eb201d23bec87f5d3af6acd2cb42b2860ac1e0486a8682a628e67958afbc472c73d5b692549985b";
+  sha512.run = "9241966245fa9c875e458a781779f1ab00b615cfee8e5b4a591bd2fe71ed0ef148f7ed40559e7a54c6a46c63305838bb2e46634a2f434d550e80366af2f329a1";
 };
 collection-latexrecommended = {
-  revision = 65512;
+  revision = 69131;
   stripPrefix = 0;
   deps = [
     "anysize"
@@ -10510,7 +10775,6 @@ collection-latexrecommended = {
     "pdflscape"
     "pdfmanagement-testphase"
     "pdfpages"
-    "pdftexcmds"
     "polyglossia"
     "psfrag"
     "ragged2e"
@@ -10533,13 +10797,14 @@ collection-latexrecommended = {
     "xltxtra"
     "xunicode"
   ];
-  sha512.run = "952fe1be5136c0fded29381fe58935dedfe2c0f338f38d280c2a69bb718e2b93520f6f328f98d98a9161bbf106bda77cbddc4277e401a4f33e480dd3a7316483";
+  sha512.run = "586232e420ea3c53c4c9532252681a8ef20185348deba9e1f37c1e0231203a8d4955dc27c067ab1491ffbaa8f267a34d09cb6c48536f871da3fba8ae15c1f910";
 };
 collection-luatex = {
-  revision = 65791;
+  revision = 69404;
   stripPrefix = 0;
   deps = [
     "addliga"
+    "addtoluatexpath"
     "auto-pst-pdf-lua"
     "barracuda"
     "bezierplot"
@@ -10556,6 +10821,7 @@ collection-luatex = {
     "emoji"
     "emojicite"
     "enigma"
+    "gitinfo-lua"
     "innerscript"
     "interpreter"
     "kanaparser"
@@ -10563,6 +10829,8 @@ collection-luatex = {
     "linebreaker"
     "lparse"
     "lt3luabridge"
+    "lua-placeholders"
+    "lua-tinyyaml"
     "lua-typo"
     "lua-uca"
     "lua-ul"
@@ -10576,13 +10844,12 @@ collection-luatex = {
     "luacolor"
     "luacomplex"
     "luagcd"
+    "luahttp"
     "luahyphenrules"
     "luaimageembed"
     "luaindex"
     "luainputenc"
-    "luaintro"
     "luakeys"
-    "lualatex-doc"
     "lualatex-math"
     "lualatex-truncate"
     "lualibs"
@@ -10594,6 +10861,7 @@ collection-luatex = {
     "luaoptions"
     "luaotfload"
     "luapackageloader"
+    "luaplot"
     "luaprogtable"
     "luaquotes"
     "luarandom"
@@ -10618,6 +10886,7 @@ collection-luatex = {
     "pdfarticle"
     "pdfextra"
     "penlight"
+    "penlightplus"
     "piton"
     "placeat"
     "plantuml"
@@ -10629,16 +10898,18 @@ collection-luatex = {
     "spacekern"
     "spelling"
     "stricttex"
+    "sympycalc"
+    "texfindpkg"
     "truthtable"
     "tsvtemplate"
     "typewriter"
     "uninormalize"
     "yamlvars"
   ];
-  sha512.run = "49f722cd1dfa2aed5c47b61ac393c1ba2c4c9156090fe05a2e079185c6d619ca020d08ac2c4644fac2a8ebd3aa4ca95481e500bba83e39ad260c4d4b7cfce628";
+  sha512.run = "d03b9242340be7be8c32e87c2773bb8aecd4a6b7e1594fe755d9955f111dad4863e497bd3f374140c162b84c6c90379ff86c930267ab5c6d26c3cd0e3968c745";
 };
 collection-mathscience = {
-  revision = 65753;
+  revision = 69267;
   stripPrefix = 0;
   deps = [
     "12many"
@@ -10733,11 +11004,13 @@ collection-mathscience = {
     "extpfeil"
     "faktor"
     "fascicules"
+    "fitch"
     "fixdif"
     "fixmath"
     "fnspe"
     "formal-grammar"
     "fouridx"
+    "freealign"
     "functan"
     "galois"
     "gastex"
@@ -10749,6 +11022,7 @@ collection-mathscience = {
     "gu"
     "helmholtz-ellis-ji-notation"
     "hep"
+    "hep-graphic"
     "hep-reference"
     "hepnames"
     "hepparticles"
@@ -10759,6 +11033,7 @@ collection-mathscience = {
     "interval"
     "ionumbers"
     "isomath"
+    "isphysicalmath"
     "jkmath"
     "jupynotex"
     "karnaugh"
@@ -10772,6 +11047,7 @@ collection-mathscience = {
     "lpform"
     "lplfitch"
     "lstbayes"
+    "luanumint"
     "mathcommand"
     "mathcomp"
     "mathfixs"
@@ -10817,6 +11093,7 @@ collection-mathscience = {
     "physunits"
     "pinoutikz"
     "pm-isomath"
+    "pmdraw"
     "polexpr"
     "prftree"
     "principia"
@@ -10827,6 +11104,8 @@ collection-mathscience = {
     "pseudocode"
     "pythonhighlight"
     "qsharp"
+    "quickreaction"
+    "quiver"
     "rank-2-roots"
     "rbt-mathnotes"
     "rec-thy"
@@ -10861,6 +11140,7 @@ collection-mathscience = {
     "statmath"
     "steinmetz"
     "stmaryrd"
+    "string-diagrams"
     "structmech"
     "struktex"
     "substances"
@@ -10892,10 +11172,10 @@ collection-mathscience = {
     "ytableau"
     "zx-calculus"
   ];
-  sha512.run = "0d15380e672b11509f8ff78ae57cdf5f75b862522d9287e5577a33bdad5901ad85646d4d4c573653b3f838ef9469b86218a98bdfc5ab97e00c618eceaa1e34c3";
+  sha512.run = "bc4ca79e6057d48ac00b5f271d8e776fa1ee2080749a3e5761e13bfe0b3acaa08ff797b653ddb61bc9d168b28f4f29f234e64b51724773d0ac51cea7efa6ab9e";
 };
 collection-metapost = {
-  revision = 64878;
+  revision = 67071;
   stripPrefix = 0;
   deps = [
     "automata"
@@ -10918,6 +11198,7 @@ collection-metapost = {
     "gmp"
     "hatching"
     "hershey-mp"
+    "huffman"
     "latexmp"
     "mcf2graph"
     "metago"
@@ -10932,6 +11213,7 @@ collection-metapost = {
     "mp3d"
     "mparrows"
     "mpattern"
+    "mpchess"
     "mpcolornames"
     "mpgraphics"
     "mptrees"
@@ -10946,7 +11228,7 @@ collection-metapost = {
     "textpath"
     "threeddice"
   ];
-  sha512.run = "c17510f676b4aec1887893083e00438be77d879e44e52aedeb040ae1eb593d1d688fefc8eaa48939db0f83e8d1743cea3030490e73d8c3d65689b3e4db21f016";
+  sha512.run = "c0bf45f69b1b11ef6e59e6dfa0bd690fcae8b1b06097eb99f06e7ffa954f1ebebf296f3245e6922d716688353e22b691092f8e6349b1f02b3234b49a3bfaf969";
 };
 collection-music = {
   revision = 65862;
@@ -10992,7 +11274,7 @@ collection-music = {
   sha512.run = "951e172129275fa2cb7ccea6bf23f27484503533ebee4c3bef7d2f4ddda5940c15713b104a584704a0b9ec710e2ae363b6ec130747a6e169a7c461e509714a77";
 };
 collection-pictures = {
-  revision = 66377;
+  revision = 69409;
   stripPrefix = 0;
   deps = [
     "adigraph"
@@ -11020,8 +11302,10 @@ collection-pictures = {
     "chemfig"
     "circuit-macros"
     "circuitikz"
+    "circularglyphs"
     "coffeestains"
     "collection-basic"
+    "coloredbelts"
     "combinedgraphics"
     "curve"
     "curve2e"
@@ -11039,6 +11323,7 @@ collection-pictures = {
     "dynkin-diagrams"
     "ecgdraw"
     "eepic"
+    "egpeirce"
     "ellipse"
     "endofproofwd"
     "epspdf"
@@ -11046,6 +11331,7 @@ collection-pictures = {
     "esk"
     "euflag"
     "fast-diagram"
+    "fenetrecas"
     "fig4latex"
     "figchild"
     "figput"
@@ -11083,6 +11369,7 @@ collection-pictures = {
     "maker"
     "makeshape"
     "mathspic"
+    "memoize"
     "mercatormap"
     "milsymb"
     "miniplot"
@@ -11093,8 +11380,8 @@ collection-pictures = {
     "nndraw"
     "numericplots"
     "outilsgeomtikz"
+    "papiergurvan"
     "pb-diagram"
-    "penrose"
     "petri-nets"
     "pgf"
     "pgf-blur"
@@ -11106,6 +11393,7 @@ collection-pictures = {
     "pgf-umlcd"
     "pgf-umlsd"
     "pgfgantt"
+    "pgfkeysearch"
     "pgfkeyx"
     "pgfmolbio"
     "pgfmorepages"
@@ -11120,7 +11408,9 @@ collection-pictures = {
     "pixelart"
     "pixelarttikz"
     "pmgraph"
+    "polyhedra"
     "postage"
+    "postit"
     "prerex"
     "productbox"
     "ptolemaicastronomy"
@@ -11176,8 +11466,10 @@ collection-pictures = {
     "tikz-mirror-lens"
     "tikz-nef"
     "tikz-network"
+    "tikz-nfold"
     "tikz-opm"
     "tikz-optics"
+    "tikz-osci"
     "tikz-page"
     "tikz-palattice"
     "tikz-planets"
@@ -11188,8 +11480,11 @@ collection-pictures = {
     "tikz-timing"
     "tikz-trackschematic"
     "tikz-truchet"
+    "tikz2d-fr"
+    "tikz3d-fr"
     "tikzbricks"
     "tikzcodeblocks"
+    "tikzdotncross"
     "tikzducks"
     "tikzfill"
     "tikzinclude"
@@ -11203,16 +11498,21 @@ collection-pictures = {
     "tikzpfeile"
     "tikzpingus"
     "tikzposter"
+    "tikzquads"
+    "tikzquests"
     "tikzscale"
     "tikzsymbols"
     "tikztosvg"
     "tikzviolinplots"
     "tile-graphic"
+    "tilings"
     "timing-diagrams"
     "tipfr"
     "tkz-base"
     "tkz-berge"
+    "tkz-bernoulli"
     "tkz-doc"
+    "tkz-elements"
     "tkz-euclide"
     "tkz-fct"
     "tkz-graph"
@@ -11226,30 +11526,35 @@ collection-pictures = {
     "twemojis"
     "tzplot"
     "utfsym"
+    "vectorlogos"
     "venndiagram"
     "visualpstricks"
     "wheelchart"
+    "wordcloud"
     "worldflags"
     "xistercian"
     "xpicture"
     "xypic"
   ];
-  sha512.run = "1bf5daeffd4e3df80a028af026bb39789ce9e2174b7d0d7018b0285bd5f55eb84adf45f456282daa29ed924ad9f67949301fc9c6bd0f0696634c15a1020a8eed";
+  sha512.run = "1549c2635af7f0f8f2e06ccfc383a840b859b2f191351f3c42cc3ec9d7ddb8bee9be89e67139f8968e638aafc5630d9c30b4148fba5ee1d5eef1b41f0d879cbd";
 };
 collection-plaingeneric = {
-  revision = 65622;
+  revision = 68675;
   stripPrefix = 0;
   deps = [
     "abbr"
     "abstyles"
+    "advice"
     "apnum"
     "autoaligne"
     "barr"
     "bitelist"
     "borceux"
     "c-pascal"
+    "calcfrac"
     "catcodes"
     "chronosys"
+    "collargs"
     "collection-basic"
     "colorsep"
     "compare"
@@ -11264,6 +11569,7 @@ collection-plaingeneric = {
     "epigram"
     "epsf"
     "epsf-dvipdfmx"
+    "etoolbox-generic"
     "expex-acro"
     "expkv-bundle"
     "fenixpar"
@@ -11297,6 +11603,7 @@ collection-plaingeneric = {
     "metatex"
     "midnight"
     "mkpattern"
+    "mlawriter"
     "modulus"
     "multido"
     "namedef"
@@ -11351,7 +11658,7 @@ collection-plaingeneric = {
     "yax"
     "zztex"
   ];
-  sha512.run = "848081f23c64b1dd159add9a4756c0fe1f7176727b9665835a1eb1c1ed5765e119f71ce23ce750b87a33ed091be944316f35b3db70ea89ef56801aba04d06b4d";
+  sha512.run = "e162b0e32f52ea7ca60d5241ad6f653b29d2601eb05734ca0970224894e1acf3c21b1c160fdea652b8616f19cce5e812d5ba78ef10aa3cce784a90aebea960ef";
 };
 collection-pstricks = {
   revision = 65367;
@@ -11475,7 +11782,7 @@ collection-pstricks = {
   sha512.run = "508276fe37018f3d9773fc7cda0cb37edcdd28e9cf8ab54ed5be16b07c2066de4626a561bbe387c7bba0fb82d4102be406efd721a4b5dc90110b8560083d2b07";
 };
 collection-publishers = {
-  revision = 66335;
+  revision = 69033;
   stripPrefix = 0;
   deps = [
     "aastex"
@@ -11525,7 +11832,9 @@ collection-publishers = {
     "chem-journal"
     "chifoot"
     "chs-physics-report"
+    "cidarticle"
     "cje"
+    "cjs-rcs-article"
     "classicthesis"
     "cleanthesis"
     "cmpj"
@@ -11542,6 +11851,7 @@ collection-publishers = {
     "elbioimp"
     "els-cas-templates"
     "elsarticle"
+    "elteiktdk"
     "elteikthesis"
     "emisa"
     "erdc"
@@ -11566,6 +11876,7 @@ collection-publishers = {
     "har2nat"
     "hecthese"
     "hep-paper"
+    "heria"
     "hfutexam"
     "hfutthesis"
     "hithesis"
@@ -11589,6 +11900,7 @@ collection-publishers = {
     "jmlr"
     "jnuexam"
     "jourcl"
+    "jourrr"
     "jpsj"
     "jwjournal"
     "kdgdocs"
@@ -11609,6 +11921,7 @@ collection-publishers = {
     "matc3mem"
     "mcmthesis"
     "mentis"
+    "mitthesis"
     "mlacls"
     "mluexercise"
     "mnras"
@@ -11637,6 +11950,7 @@ collection-publishers = {
     "nwejm"
     "onrannual"
     "opteng"
+    "oststud"
     "oup-authoring-template"
     "philosophersimprint"
     "pittetd"
@@ -11678,6 +11992,7 @@ collection-publishers = {
     "sr-vorl"
     "srdp-mathematik"
     "stellenbosch"
+    "stellenbosch-2"
     "suftesi"
     "sugconf"
     "tabriz-thesis"
@@ -11709,6 +12024,7 @@ collection-publishers = {
     "ucalgmthesis"
     "ucbthesis"
     "ucdavisthesis"
+    "ucph-revy"
     "ucsmonograph"
     "ucthesis"
     "udes-genie-these"
@@ -11756,7 +12072,7 @@ collection-publishers = {
     "yb-book"
     "york-thesis"
   ];
-  sha512.run = "1d14f37712edc04d5000091f2d8fc04bc4929e057bfaffafc2002df21cdf1e1d8c4a9d25ca9e0d3a295416f06a8b59ae8554dc5c01272d3d066dcd5ad899d0b2";
+  sha512.run = "3bef1e82951ac3624c88c3f42e7d9dfdb4aaef71648852a0df777276139a1fa121f640420d5977a5eae99a590a53eb96854dc97b6637bbebf76e63a7c1248228";
 };
 collection-texworks = {
   revision = 54074;
@@ -11768,9 +12084,9 @@ collection-texworks = {
   sha512.run = "b1f38877115fb6efc9b63a5591c399b799f3a258e342d5e198b74b582628461ad67ea7c1ab76e5ae83a3e8e538c62ac3e7c5b3d3f1d29c093331843067cfec57";
 };
 collection-wintools = {
-  revision = 54074;
+  revision = 65952;
   stripPrefix = 0;
-  sha512.run = "9bf4c58094748424c1b60a3731d9cb2b1ad1d24764469072da693de26a4e4e857df3bcab6d4c2b5ae7454a69f9730fc596fd156b46b7704eafb1421f6936d66a";
+  sha512.run = "8af5c376990a7ed062588a0eb8695455936a92376b94f157d75a22f976f62017999aee8aeb692a07f98a64f05ac98bf4aba79c5f75688c54ad2196807471dc1b";
 };
 collection-xetex = {
   revision = 64951;
@@ -11861,6 +12177,15 @@ colordoc = {
   hasRunfiles = true;
   license = [ "lppl1" ];
 };
+coloredbelts = {
+  revision = 68747;
+  stripPrefix = 0;
+  sha512.run = "0c2ccc4f77c74e551361b6c479759d10db1ab96bd293926e3fb60c1888e073094c4aed403b147744711b5210c9fc8e0cdb431ef8b778cbd12fefb4f691faab85";
+  sha512.doc = "dbe9cd28b3bdac4b51d080edae7a983900fb2f9c583d7e19d0137d551222d23138862e9acb43de98c2f321d4abee3dbc2e43961f66227a5cf2c639545586ecfe";
+  hasRunfiles = true;
+  license = [ "lppl13c" "cc-by-sa-30" ];
+  version = "0.1.0";
+};
 colorframed = {
   revision = 64551;
   stripPrefix = 0;
@@ -11889,13 +12214,13 @@ coloring = {
   version = "0.2";
 };
 colorist = {
-  revision = 66450;
+  revision = 68440;
   stripPrefix = 0;
   deps = [
     "projlib"
   ];
-  sha512.run = "53024afd887ad7bcc94e86db7ba7468003cf5f78608e5fecd1bb685a01fb536465efc6b8dcb1b8d970de710a4fe4410ef374a9912165800aac321aa971a5c358";
-  sha512.doc = "4fdca0796938abdbb773fcd2d689b493c5c6f31100c1ddaad61ad7729b19121e42370de951c953f2734d3ee07eb7c3408b868068692658518679f192cc7f606a";
+  sha512.run = "c3a49d415ec1133adfae9b8c5d8059dd0c41d2cc9637a0905494820a514dd6e466a1d114e8d26b7cc8b5a2b197f331a146b2f3dd6a5a4d478f2a71b62dba3f7c";
+  sha512.doc = "6f5abb6dfc10b4e4b952746f84caa489c06e84d0d9dfa7ce9a2cd1de29f19dc028ab4a42cb233310540d70b8862a797420aa9f383d05c3b672574b8a4870078a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -11944,11 +12269,11 @@ colortbl = {
   version = "1.0f";
 };
 colorwav = {
-  revision = 15878;
+  revision = 67012;
   stripPrefix = 0;
-  sha512.run = "618f813c9e009a671069a151bc6d438a42b2c589b255685d91dbbbd162e6a106164d626cd772bdb3e6538a1b010ae178dd7e1519195b6b1fee10ce6e46253b6c";
-  sha512.doc = "e042c10fcd4d2760383352ace13b2d3600682a01c900220913c79a950fb1597a59a82483429557aa7598e1cd1eea52b73dd23367139fb741ea48ee9c84c4c572";
-  sha512.source = "96ff1933d48bbe938de3635588d9a9c682ac387415d5a7c316e310ed0931e7fa0adf44185d8232d753a1532653b6bb5c0f6c402903bdab654333694f7c293215";
+  sha512.run = "1f0ec92974581f7a1d5d36993eaef84d46019a345f1ca9979d0508b5dde7226cdb38e102dce02d404a4d28f8c408cb53cb0b3bc819905935fc9cd323abada305";
+  sha512.doc = "c9d23542ccc17980837bd49012889a8e11fb87f76bdd3c5ea9650177ebe527533cb5ac3631895f2455b094ffb4c6bfa973fddf9f071c80bc52c3c824b1fce471";
+  sha512.source = "d41960edb1e83edb50be56a6eb43025cfabd5fc3a83ae068daba59276e9b5995f25804311398ff6874038587165b6c236dc983247f52399ab55e156417bf7adb";
   hasRunfiles = true;
   license = [ "lgpl2" ];
   version = "1.0";
@@ -12085,13 +12410,13 @@ commonunicode = {
   version = "1.0.0";
 };
 commutative-diagrams = {
-  revision = 55526;
+  revision = 68044;
   stripPrefix = 0;
-  sha512.run = "ff7cd8401eb54f14bd013db9a62e2540a8015e51ad573cb76683b19c2cf2fed0a2081be87c5c81238664ab441f6d17eedc896e41fa0700dcd70b088d08e6ec8a";
-  sha512.doc = "3709730425aafd1fd9aed5b4cbb1b80bf70ed474c792f0ad6f35d4ae6ad64624db64bda7a02656b226c13ea93159d2811356eb75f8b2756328f0ecea2289f738";
+  sha512.run = "896235dcfbe5fc65302f5473b8821a2943ba3bce0c5b410aca855f48fd2ee6dd1b39667be7413aab027e0b36b3cad9735cf6b8406077b0c833f025fe41a83d04";
+  sha512.doc = "49de0a9e52308dcf0b5ee7ca5b18df49efb3822ab2a46024e787979abf6cd682b180a461868c565b79607b301ef5bb65e9493bd27d9cbbdbe4d71472708fc01d";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "1.0.1";
+  version = "1.1.0";
 };
 compactbib = {
   revision = 15878;
@@ -12134,12 +12459,12 @@ components = {
   license = [ "gpl1Only" ];
 };
 comprehensive = {
-  revision = 59099;
+  revision = 69282;
   stripPrefix = 0;
-  sha512.run = "9c414012e570fac3a3aee90cc7b6983d6791dcdcda0709722dc5354068815b2407fd4ed9196b8e961164698597324b9da8ff85b741eca86a4962701e0ce40d1a";
-  sha512.doc = "24c7c0fdda00f5f5dd7c66c383d95a4fd99b41c5470482d1e53e8f061796cab5955b8043f80a2a57c9f045765ff1d10f0c7b48b10705a2677b80b67d01dafa96";
+  sha512.run = "3a95484c972a27245694364364b16545069e677eba8e84bb1e3d743ec37ef4427dcdac4ea507df41d90c155bcac48b346ec3e0e985c5d447fce05be5a9a8e418";
+  sha512.doc = "0534af854d41a22af152ecc0eed7f0d835525d4508dc8cf7eed131a88958ec2024d35d80002a77fc09a2df4ea428514edfa751f889c1b90740344bf5025f4b59";
   license = [ "lppl13c" ];
-  version = "14.0";
+  version = "15.0";
 };
 computational-complexity = {
   revision = 44847;
@@ -12178,13 +12503,13 @@ concmath-fonts = {
   license = [ "lppl13c" ];
 };
 concmath-otf = {
-  revision = 65683;
+  revision = 69005;
   stripPrefix = 0;
-  sha512.run = "efbd04812e5c617adb4caac1de59caf11eabedb2f145dc069e49c572d14f4dacaadb0de112235c29b5f12f3c54a2d4f66a4e5e7a6928dd178be9b127d5ef550e";
-  sha512.doc = "3ec3b3a39f21895413fc05e1fa54a3896b2fe6b32fb390a5ff9691a54c0fa39f2a532da58edfba4f2c34b020495b8c673d107e28abb7fb6d86e6246188567374";
+  sha512.run = "3ad91e982f5a46ffde4a24c2c16233b671c4ce55f78afeba4a538e9437171a5936cdbcac56dcac357c17a188940150f70b475e37b4eb5f2416c9c00a970fd87d";
+  sha512.doc = "7ca90916cab639721f678b33d341c9ce253923ec4ef78d5a1246c9f79979aba9674579f2e8eeeca6b6fd2c0de3d70e3d44b8be572e5f738cafc408337432baf2";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
-  version = "0.25";
+  version = "0.61";
 };
 concprog = {
   revision = 18791;
@@ -12242,174 +12567,50 @@ conteq = {
   version = "0.1.1";
 };
 context = {
-  revision = 58167;
+  revision = 69131;
   deps = [
     "amsfonts"
+    "context-texlive"
     "lm"
     "lm-math"
+    "luajittex"
     "luatex"
     "manfnt-font"
-    "metapost"
     "mflogo-font"
-    "mptopdf"
-    "pdftex"
     "stmaryrd"
-    "xetex"
   ];
-  formats = [
-    {
-      name = "cont-en";
-      engine = "pdftex";
-      patterns = [ "cont-usr.tex" ];
-      options = "-8bit *cont-en.mkii";
-    }
-    {
-      name = "cont-en";
-      engine = "xetex";
-      patterns = [ "cont-usr.tex" ];
-      options = "-8bit *cont-en.mkii";
-    }
-    {
-      name = "cont-fr";
-      enabled = false;
-      engine = "pdftex";
-      patterns = [ "cont-usr.tex" ];
-      options = "-8bit *cont-fr.mkii";
-      fmttriggers = [ "context" ];
-    }
-    {
-      name = "cont-it";
-      enabled = false;
-      engine = "pdftex";
-      patterns = [ "cont-usr.tex" ];
-      options = "-8bit *cont-it.mkii";
-      fmttriggers = [ "context" ];
-    }
-    {
-      name = "cont-nl";
-      enabled = false;
-      engine = "pdftex";
-      patterns = [ "cont-usr.tex" ];
-      options = "-8bit *cont-nl.mkii";
-      fmttriggers = [ "context" ];
-    }
-    {
-      name = "cont-ro";
-      enabled = false;
-      engine = "pdftex";
-      patterns = [ "cont-usr.tex" ];
-      options = "-8bit *cont-ro.mkii";
-      fmttriggers = [ "context" ];
-    }
-  ];
-  sha512.run = "61fcc778837ecff88bb0e80e39e2acb3ee64e2c26e4069f7634e5dc6c74dc93caab78e4b0088ed58f494d6dcd3a5084bc55cd471baaeb292dc208cf2a241bf69";
-  sha512.doc = "ee4458cd6d45a41652ae24b3b82bea5cfa2d8b9c14cf4ba1357f9f07d6572f8ba83e350b74659c471ebf5068f33f5c5762a11669ab2a4f5adb3db41f392956dd";
+  postactionScript = "tlpkg/tlpostcode/cont-cache.sh   filew32=tlpkg/tlpostcode/cont-cache.cmd";
+  sha512.run = "5dc3ab5f5747a0d69684ad61ed86f508411357abeb52e01d1cba256024c370309d2f4ccad1076d1337eb35f7b10f8bb31f5a51219c4f8ad4795ddf4617b158d8";
+  sha512.doc = "7c440d9924d68a4abcd9e404b3516ff696ff215c44f2bc81542bcafb69b92bc73b4ee173c5e90dc2de7405b754fb1c452e76b7b71fe623c72d794dc0b966bff1";
   hasManpages = true;
   hasRunfiles = true;
+  hasTlpkg = true;
   scriptExts = [
     "lua"
-    "rb"
   ];
   license = [ "free" ];
 };
-context-account = {
-  revision = 47085;
+context-calendar-examples = {
+  revision = 66947;
   stripPrefix = 0;
   deps = [
     "context"
   ];
-  sha512.run = "755ddb4c62a496873d5362df01307163c79d2a6c3fabce6ea01b442c16dad2f23d72909df71dd44eb4fbbf5c57366e20eb49bfce240807c2e2a9a52cbd76680a";
-  sha512.doc = "b19f6d0330e5da99a961304f8c022609dedb2dc3a8cc4607cb9b2ca7eda38f9c8b972316bb9fac92cc36166e1c0822afaebda2c5e2d87db1e1efd2781f51956e";
+  sha512.run = "aae09b844ae244839f82088ffbad9c777355696023fa95c24221b6ae0e4ac6dfce6a4d70efe9f09d5e5dc89e6e7a17d98282a77b90697ee6a3496ed0568734b4";
+  sha512.doc = "62a63d54d0388a027cb6afa58141a6fc303fde6cc0f989348fe29fd10e825a03d86ff682f480723b223b606e296591cf03092c886cf13cde03463ff8012caca1";
   hasRunfiles = true;
   license = [ "publicDomain" ];
 };
-context-algorithmic = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "72d4bbfe723b4012f8701c2786f96009bbed3c6b4bd2129f7153306f172e72218920e222f97ee6d5ee4b863e9e915fc38dd92b0c42066385fde35c5c3d0cc42a";
-  sha512.doc = "19ba676dc7822bc0a6583d6e9e031f3780977835c10d901e1ae02fca781719a0e015ac79cfc35c908a8de40a19614fcd17a35c604c9311b50972d0706d6f07e1";
-  hasRunfiles = true;
-  license = [ "gpl1Only" ];
-};
-context-animation = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "19691ca3325b3f72154ac8439e616a128b5f3ba8c9447bb1e92979e175daa902cd756853a2b6e6a34a84fbe96e02771a0c6ef27ed5bbb7eac94f62dd72d571f1";
-  sha512.doc = "a06227508c2dc343598fc6878e2b17b56341f5dd86a473957318eb94ecc6e150adaedf7346ffb931eda184651efd00d8f60e36ec6ea50e9ac94e2ed096058293";
-  hasRunfiles = true;
-  license = [ "gpl3" ];
-};
-context-annotation = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "bb66132ed1e4f146c407bb3b2852c451b82d3d06de1dc25ddec6e692d17f4d994d1a67cfd7ff711dc2de7a4ce7259b1768d6efcfb58856321d5ea5b15271cd34";
-  sha512.doc = "4491012c8172beb64478b2de5557ed8f97701cfcb3996a8a5ff9990048d79ddce8cc2796dbf4c08812bc8963c0d318f9d79d2d4c2d14bc372f06dbc28e012c3d";
-  hasRunfiles = true;
-  license = [ "gpl1Only" ];
-};
-context-bnf = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "53e5d3d7c977aab648bb024942263a8aed5da6314506825ace02556db890ea23400c6de714ddf6380235c942dfc02e127736579b6be1c5b0b0ecc65d25fb0d6b";
-  sha512.doc = "d7ab60c2f8571ce2e2e96b82c1f97b140c5750324efb73275062a8d301d530279a3f9c19f6a6feebd6d7c72727d94f469d9aad05ad67cde5dbd3de9f695dad31";
-  hasRunfiles = true;
-  license = [ "gpl1Only" ];
-};
-context-chromato = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "52e11c6953e7c2e2f9a3a20b8885fd12f5abef32d32da5ae5415b0321d37ac5ff8ff5bece3d522e1f785470cef542568cd56abd509d26671da9298c3d0ba27cc";
-  sha512.doc = "5c7c7f03050b0a17dadf23a09dced356a036c6b95ca76aeb0fda583dbc490d82222de64299c121224efaccc78b62364a1bc56daf020c177865c29e343529f040";
-  hasRunfiles = true;
-  license = [ "gpl1Only" ];
-};
-context-cmscbf = {
-  revision = 47085;
+context-collating-marks = {
+  revision = 68696;
   stripPrefix = 0;
   deps = [
     "context"
   ];
-  sha512.run = "cb0e5849ac3168a4ecdd1545edd029a1622ecf1c46d29eec97b28a66f65305e6b4d3a9c83e24d78e1596c8009ad5c9a0e25fa7e09448c3e0ea492e62bc933ea8";
-  sha512.doc = "8f45989c08f09381ccbf2942a08c0b13792917a18d5b2e92fb45c7ac2f4b4538f5ffd633da0348e12835c03a6f79b0ea7044f1ebea5770365a83d2d097a56df4";
+  sha512.run = "dec8338854260467eb5d6542d4561e38a87183290e53e75c3fa188fc8f537a466ce4a5974f4f5644b9f2e62591cd4e8860f8e2b314c8918ae45e90e00c61ba4d";
+  sha512.doc = "6a5d88d6091e95025e7a4f12a6e831e5bf462156afa06c7b49d35086f9b555ed8fc1ed9cde970146106f3efc29b70bf0699c1b5eadcf970c1f8978c46ad590bc";
   hasRunfiles = true;
-  license = [ "gpl1Only" ];
-};
-context-cmttbf = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "e3bc048c09bfdf114efa25077fa4e6a6c20b4d0e2ba337cefa0a8a82348fd3376f82cae0c85b029b863b7a5db9d9552b4fc5f5487d5ed5f6d88484181ea98ced";
-  sha512.doc = "2b55367f236330a07120229902405213a495de2ba455f333bc23e1c1abbe0f0a4be16ee95415f613d41572916722e3d023a71698f74e5e37f34a8de4fdca6e47";
-  hasRunfiles = true;
-  license = [ "gpl1Only" ];
-};
-context-construction-plan = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "b292f8e271fcac88eaedc376257ae16a401a6c31009eaa3d4faeefba25c33d034f57d30ba4638e85b76ffd0d24ef4d541dfbceb1bc0b5c806a8412d239a32146";
-  sha512.doc = "605e09bedb9e2ad1e98a621c0a4842f28592c93507c3da31f8c6437e95e63a47e795b38fa0263d7fa81fa3b8838f21d2426c8705f8e17ac1d827923cf5e88784";
-  hasRunfiles = true;
-  license = [ "gpl1Only" ];
+  license = [ "publicDomain" ];
 };
 context-cyrillicnumbers = {
   revision = 47085;
@@ -12422,28 +12623,6 @@ context-cyrillicnumbers = {
   hasRunfiles = true;
   license = [ "bsd3" ];
 };
-context-degrade = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "b2df5bbee492b7137180bfe7b0b826f4149b8231b78cb839ac9716f02b622e5b3a0eb5964e12625650a224ae463714bb7cafbecae6061a6e3120022d2f545d52";
-  sha512.doc = "8f24fd70547ecfcbb163df2e3e4450525f0e56583b6984f61fb04559142bd838287e79c9b9d8cdef2c26a882688074b5010615e6d818a11f2f5812d88e31cd82";
-  hasRunfiles = true;
-  license = [ "gpl1Only" ];
-};
-context-fancybreak = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "1e8e51de47c67a3287dfa4386f9c09b4dfaa494d9b59fe8d117a3a1b65a5041add24c36227f2d2d7fb3bf2ec34d6a5a8b6658d275b63f55793d05dea08722b10";
-  sha512.doc = "6082670766d63da902d2a53f2a6ee89fcdce942fd73439fea8326ef3117e6a5483b86d9d4271d2f3d9546a5fe44277721cd15510a9da392db36356b44ae2f36d";
-  hasRunfiles = true;
-  license = [ "gpl1Only" ];
-};
 context-filter = {
   revision = 62070;
   stripPrefix = 0;
@@ -12455,40 +12634,6 @@ context-filter = {
   hasRunfiles = true;
   license = [ "bsd2" ];
 };
-context-french = {
-  revision = 54215;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "aed7a7f91e909e8b9b7efc5e0b45c67d5ed3e084c5019e1ddd68d8e9e969c0579b1dbbe4e25d74ca22b256324358ed34f3f54a92e2fb3a012a6aa43797e8aaa7";
-  sha512.doc = "926a054d12f59d45dbe538eaed4087ed2c9f3321f1051c7006fe651af95d2275788030ee9371ffd39a7f7f8a4022776c19721323ab82871f061dca365c081728";
-  hasRunfiles = true;
-  license = [ "gpl1Only" ];
-};
-context-fullpage = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "280a16b47e04f3099a2f960435bf1c22ec623553303e339df4d06135b768cee6565e20a0c4e0c080d8c6f621a32d862ba6203daacdbf9ecd03b62829dd0014fd";
-  sha512.doc = "1d4ff98bae26e0d6ec1ce1ca58fac82f8592158f8635eeac737546873f1f468b2ad7a82b9f8956b770fdc0c01443a9327c509265cdecb90d83dca15462cfa23b";
-  hasRunfiles = true;
-  license = [ "gpl1Only" ];
-};
-context-gantt = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-    "hatching"
-  ];
-  sha512.run = "e0c61179f4ecdf93c13dbfe19f59487fbce55e1a0dece76ac025a88a452e7168c5e3b84e53c01bcae4cc412993be36eb554dc5f7299fc1205f4070aa07a834cf";
-  sha512.doc = "a5cc76238f8377dc8d06869bf23a1367c880b57ba62ab8c8331886cbed145427e2819ba92965924fc7a78579d28b7c1cf331acf7f199cf72672ccb64962c9367";
-  hasRunfiles = true;
-  license = [ "publicDomain" ];
-};
 context-gnuplot = {
   revision = 47085;
   stripPrefix = 0;
@@ -12501,38 +12646,49 @@ context-gnuplot = {
   license = [ "gpl1Only" ];
 };
 context-handlecsv = {
-  revision = 51306;
+  revision = 69186;
   stripPrefix = 0;
   deps = [
     "context"
   ];
-  sha512.run = "10f862b7152e0efe2a8444fcf847ade2aad2c1499e146b94643a7e08a438359c2f7d1927e7e9773f3dd14475fb4535d17fb4f29ff053e7a29c9463f40c6e5598";
-  sha512.doc = "39330dfaf22a83181086343ac9ea7d64025fbe779e55161b33e5a9a9802e0928bb1c16941aeb307da641835aefdfe2e431becbc0cfe40ad8bb33a3816b9b177b";
+  sha512.run = "7142f762e76a00a0ed7821ba67f09daa9900977dd643ab5249668d385896e87aff71b0dfe268389599ca75a22618638f4d873965bcba94f7fb4ec684d46986fc";
+  sha512.doc = "bf2a7b6498743fa148653e8634099f7597dc8a383f88e15a0605c6cc45247bc0521a1e57c879bf4212e22345f7482f734c741bfac739df1977f1f140b6be6928";
   hasRunfiles = true;
   license = [ "gpl3" ];
 };
-context-inifile = {
-  revision = 47085;
-  stripPrefix = 0;
+context-legacy = {
+  revision = 69173;
   deps = [
     "context"
+    "metapost"
+    "mptopdf"
+    "pdftex"
+    "xetex"
   ];
-  sha512.run = "9dd9b61cd2b5700b0e2b6e59bf4040de9431820c659f121c2681e454ddb4b34454270eac6c442836c90f8a1819761ce0d7659684a1f0c8876fec1f947a0b16f7";
-  sha512.doc = "9635bc80ae7222c6a38004ad5f985004634b7db9596e03a23123ad71bbf177639bb1b028bdfe79d51b75c1c429c327f65c2b5e0720723d8bcdf63f4939312850";
-  hasRunfiles = true;
-  license = [ "gpl1Only" ];
-};
-context-layout = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
+  formats = [
+    {
+      name = "cont-en";
+      engine = "pdftex";
+      options = "-8bit *cont-en.mkii";
+    }
+    {
+      name = "cont-en";
+      engine = "xetex";
+      options = "-8bit *cont-en.mkii";
+    }
   ];
-  sha512.run = "6cad00783d0bc91000ca0e0c8350fe2a2e99f7fefccd375d5bb2f1a144fc04a59f83122dcd490fc0596b1dc9fd0c0a779bfa35932362927ed50ed8df39ec359e";
-  sha512.doc = "4ecf7bfe5fbc78453cc116cf7a657f4b6ac7fc21ca7dd6da5beb0ea1af0c1fd48d6a74ab516213f49d1e29cb8bd47fbcc94145157472e3ea22b291f494fc3d1f";
+  sha512.run = "79783a6096e3bbe21eff5967fa3ed4edffc573567bd027a59c40fbd1f5e3cfc7d0c213ddc9fabcdecd596bcbc9946cf4255edc4237f0148c89dbae7744f3f508";
+  sha512.doc = "6fbf5f1194771c9dc4a19b49aa343656bdcad3620e14a68a0bf9d05cad8f8c813f717b66b12526c2f11a87d4ded75e1cab56d3e72ca1cabe81c9818aa11399a7";
+  hasManpages = true;
   hasRunfiles = true;
-  license = [ "gpl1Only" ];
+  scriptExts = [
+    "rb"
+  ];
 };
+context-legacy.binfiles = [
+  "texexec"
+  "texmfstart"
+];
 context-letter = {
   revision = 60787;
   stripPrefix = 0;
@@ -12544,17 +12700,6 @@ context-letter = {
   hasRunfiles = true;
   license = [ "gpl1Only" ];
 };
-context-lettrine = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "79e4e246a7bb0a300db53425e2769a3ef61bc0249ce57840c0b9037805e86eadbd1ef4ab8a110fd806584393feef00f498418732cfd53922aed6df67c561e535";
-  sha512.doc = "ab32697b6c309b1099b809c33182ffc48bb3019c8d520269cbb616b61e8f20678cc2cf4e7e971e06cadb22ffcee0d502deedf21aa95d8d372d1840e4fb4a6591";
-  hasRunfiles = true;
-  license = [ "publicDomain" ];
-};
 context-mathsets = {
   revision = 47085;
   stripPrefix = 0;
@@ -12567,69 +12712,64 @@ context-mathsets = {
   license = [ "free" ];
 };
 context-notes-zh-cn = {
-  revision = 23171;
+  revision = 66725;
   stripPrefix = 0;
   deps = [
     "context"
   ];
-  sha512.run = "a05cd68d609fb9427ca07f64ba1b9ad85762464a3294653c8a790c0a6a41d6af43aab72a1eb7ef0d56a299db2f54af5666dbe974f9fdac014f624350c8bfe50a";
-  sha512.doc = "4261b8aeb5b3cbebde2890af1b7039c6f557ce36f4979228f40f9e5e99b19aa5c457ed6842f4501f4dc32f51f58d9fcd0764028b9d5c74fd07d41c8c866220a1";
-  license = [ "gpl1Only" ];
+  sha512.run = "46be6b5f9f86d6da5514f0ae0cd77aa9beab67572699f9779f3a6cd461a8600336103eaf71d6e6d99fd7ac300a3e5fedcd6e378d349cf648c9aa5a8be2aaa5b5";
+  sha512.doc = "a49b1c85508128e0a2e9ae0218e3622f7479da528f51380c1e109bf877f401531689e8119cab3bde6a91e507f0bd7f16e334cb3affaba7fae5927cc23b17a207";
+  license = [ "gpl3" ];
 };
-context-rst = {
-  revision = 47085;
+context-pocketdiary = {
+  revision = 66953;
   stripPrefix = 0;
   deps = [
     "context"
   ];
-  sha512.run = "f93173c1b27afe538d670c791048f495fa3f236cf75511d43b33172d140ac47fa3b5f11c674db5d515733b8ef9cfa7ac2d3c46b78b624768ee95a21884dae904";
-  sha512.doc = "536f63f9fa02e37c38f445974dab1f75b38abf0769379ee1735001972db71be10d51a1782e850ddd75d73f2a6f1375cf043684c0fae1a88b20a1650248870f9a";
+  sha512.run = "fd90eca9b9642a16aa203984165302b111d4058ed970aab3867018f48d16884fe543d3067a0ad2fc2c0e2684924ef11e9788a7deacb20ad06d7451dc5b19383b";
+  sha512.doc = "a78ed374f6a7ad63a93aef4c9cb2ecc0937c2e3df821c543f49a3ad762ed6949a7d1c4c5a03c7cf54eeb0b9ad891a18c5d10b97a42bbb840c74fef2bf8f14cfb";
   hasRunfiles = true;
-  license = [ "free" ];
+  license = [ "publicDomain" ];
 };
-context-ruby = {
-  revision = 47085;
+context-simpleslides = {
+  revision = 67070;
   stripPrefix = 0;
   deps = [
     "context"
   ];
-  sha512.run = "e219c6da61585d88f8e899278d1c85f0903ed32b6c7368cdb6076697230a0e79f5f88f53dd98514394fa09e7580c1c6b7c167d81c010107f3399dffb18b13d95";
-  sha512.doc = "179e501b428bd87a49830a68236008ea6e962b80e79ab45a0e75a7b86a7fc11025ac38ad463c459c6d290aa5ac8627da5849d1fd8f7502ea7d97696b53ed2647";
+  sha512.run = "083b1f0b70a74a3648501314fa993632534f476376fb80eb4444b0273866bf4a4d562e4bfffbd14ed79be0020361ab6cc5c40fde1f99544b76d6f33939781f19";
+  sha512.doc = "e7a410ec0d99f945dae91c041b396875a6350aa06333f5a5d2d7aa4c6bb62f926ec53a27a1c95a724ce7b320ddef11d6550b0b92a34c00ac63c7c0da96a35928";
   hasRunfiles = true;
-  license = [ "publicDomain" ];
+  license = [ "gpl1Only" ];
 };
-context-simplefonts = {
-  revision = 47085;
+context-squares = {
+  revision = 68545;
   stripPrefix = 0;
   deps = [
     "context"
   ];
-  sha512.run = "7c817f4a25a8883ce052c9657a3d6117042e8538fadc8d67b4b0194abd69238045c09d365e90e555d5b04d83a1ef82039ca9631aec00eb1f80b56fbefa729cd3";
-  sha512.doc = "238babc7694bf85c81e3079b5d72feabc9c9eeea4f3b625a57ecb133d70ac745334ca0426097dccfe53e3ffe108ac0859be4da7625bb6b683abec1101367ac06";
+  sha512.run = "1f84f3131d67e831b31eaeb60939e467031fc080b32bb4c0d52439c1dd7ec7fe5768d2f2bb1f6dcdb25b1b1e4f9455aa83d5dcb3a0d1954aac41a79b0cb0dfae";
+  sha512.doc = "e55bcb462d1aa0aed9563d01dd53f9062f8463d7cd06a42720f3930656edd0fd818f891e43c622b753200ac2ed32f45d21900208f69999b35474f6e7789a7b5e";
   hasRunfiles = true;
-  license = [ "gpl1Only" ];
+  license = [ "mit" ];
 };
-context-simpleslides = {
-  revision = 63903;
+context-sudoku = {
+  revision = 67289;
   stripPrefix = 0;
   deps = [
     "context"
   ];
-  sha512.run = "2db8348769d60d38266ad3798264864a0453b38c769db02ddaee072e795596fd48cc201caa5023d980c1a748c41a30e4c560ece68def59deb3c467bec2e60f64";
-  sha512.doc = "532a9a142b30c8fe2ff3431d24988ef96e5da63276cd0084fe8b69b3e9cb572a0beab8d7ee4291d00a4b1d725f3d23ed47632811fde7e2aca41998c5d44a0481";
+  sha512.run = "b33ece74cc5578c4dca8df816715d7106b674fdc653d149992cf637b11799a21eb03708c0efcc79da9d4658c5f8a801c6bb32dc681f43f3d4b3900dfa588ca99";
+  sha512.doc = "e7f9b6c0ae6bad729074ffb2e4e1673336954adb9013ee6525e87715f3d22720efbe1f7e2cb6b695e01940a4d7f58489889612749ea2f4dbcba3ac6faaa741c4";
   hasRunfiles = true;
-  license = [ "gpl1Only" ];
+  license = [ "mit" ];
 };
-context-title = {
-  revision = 47085;
+context-texlive = {
+  revision = 66924;
   stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "bc7d6cbd373cb6d6214489ed97117929ba381626c854a0a5a950bfa44c06214991d7a90290793c825c96e6d22ba1f6807054d4553d1d3980d9d9bc0e6dabafda";
-  sha512.doc = "3b910eeca8c8a442939873e082a4025523472b267ed3268e63cbf5fbe0821c9db8d8d183058d139aa02233dfdb6be7e23fb9df360a490f7d551875c59753c7c0";
+  sha512.run = "64abf080ecfd9cf68f2ef12123ca6ee976d6fe3cb8382d34b32f424a1bfcf9165142bab2c1a9a1f394e1ed4bd53aaf2875363e7f357eae48ba00ddfc894e5d1f";
   hasRunfiles = true;
-  license = [ "gpl1Only" ];
 };
 context-transliterator = {
   revision = 61127;
@@ -12642,17 +12782,6 @@ context-transliterator = {
   hasRunfiles = true;
   license = [ "bsd3" ];
 };
-context-typearea = {
-  revision = 47085;
-  stripPrefix = 0;
-  deps = [
-    "context"
-  ];
-  sha512.run = "c4a2f2317b146b31102273e9b616d403d4ee836a61fae96bd9315670b0bdd5f9d94ecde00b53d2ea5f7073773bd8af5c322b07c3b05bf7ad5262a9f0e0b623a1";
-  sha512.doc = "7171bc5c5e82b3897f75421e745e876c2aea84e9e9cb74badd6dedc75666b8f9ddb8b6d11c523ea64be6b57dca4f84555827afa32a0c90f6df1c31b68b1f6395";
-  hasRunfiles = true;
-  license = [ "gpl1Only" ];
-};
 context-typescripts = {
   revision = 60422;
   stripPrefix = 0;
@@ -12690,12 +12819,13 @@ context-visualcounter = {
 };
 context.binfiles = [
   "context"
+  "context.lua"
   "contextjit"
+  "luametatex"
   "luatools"
   "mtxrun"
+  "mtxrun.lua"
   "mtxrunjit"
-  "texexec"
-  "texmfstart"
 ];
 continue = {
   revision = 49449;
@@ -12718,11 +12848,11 @@ contour = {
   version = "2.14";
 };
 contracard = {
-  revision = 50217;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "07c77a1e864c012a88be95a98ef662f5642fd63e84801a994be702f5ae2d62100b02e109ba6c775f2c8d11d75627fdef48acdbd55bdb4735896fd945edc4fdc6";
-  sha512.doc = "984acf51897209c3bc3fe4760088a6b9cbae613acf51c5f8c848dae3a3d13e5e8171fc62db25dcea267cadaf9f2ba81d221085ae90a7da1fb5e6d0dd8e243f10";
-  sha512.source = "6a0f0536861da9f012b5600fc1c635a9f9124c25b4a5d9544ca00fbc3770760c0d1de77587452d33c254abec3bee6fd923e31f2bd34581c467f15d1d658a9cae";
+  sha512.run = "eb705425aa67034ddbf4390165a5f6a9690c67d34371a720298843d1c7292655bcb59a56364bdb510608d48b6590931abd68216fdcdcd8be90eddfbc339ce28b";
+  sha512.doc = "046a38d7a11edaa8f67648996c31e481cd818b79afb1f971afe459b7adf0bb3d4f5cb0afc3903177bfc0b9b0678336a837002f8db486916afc24445a875c3285";
+  sha512.source = "67bf64418fde78f9ea7288f47efaf50970f133325860f0283ed2842f58394417b4e8ec8f0180cde60c9bb74cd1c797aa6f89afe3fd033676681807cd25d5cebc";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "2.0.0";
@@ -12781,40 +12911,40 @@ cookingsymbols = {
   version = "1.1";
 };
 cool = {
-  revision = 15878;
+  revision = 67013;
   stripPrefix = 0;
-  sha512.run = "ec5b1612484852897856b58bde90aabc3e8c051f6a14674f2bf3a121993ce074214c3d61c7d074dae54e227c759630cff71793ac1ff433b048f3a15f90038c0f";
-  sha512.doc = "bf27e08a04f02f58ffb04ae0fa7b26860ab4129d3de3e2ab20d244a99c96b112a7a3dc10d064a364e38a80c1087ea8c693e7e7538a36975b6914f75418a82547";
-  sha512.source = "1f5b16c0e1d4598ec4f4c5981e079537b0142f92b514d1f3dad567b2a71b02f9be0b3441087d7a973750f308f691270e750d75f669784fa3c787e6bc919d7e68";
+  sha512.run = "4ee983b7b07d20c9fe7568ebb6be60ecc56f85cc4ae4013870c53370df99d69bc0537c3889790324baa1f1a8afab2da56763b590457c49866d219b1540effe98";
+  sha512.doc = "06d182b5415ed25be80c827206759708daddfaa6bf7a3aae59c1639c3c09523a7b421abdd9d2a8db1297e161e439b777d3d1d8c07e52dddc1c071ce1c5a9fe47";
+  sha512.source = "c305695f6694cfb4b08462591aabd64adef27001d0c84ba905b0d4f07b7095905cda414e7e477ae962f5ecf6cdcee60d0a432e4eea924bf2fad0770411131912";
   hasRunfiles = true;
   license = [ "lgpl2" ];
   version = "1.35";
 };
 coolfn = {
-  revision = 66234;
+  revision = 69007;
   stripPrefix = 0;
-  sha512.run = "7cec637033598a8d91b5e284fed608a0369314ee2971de64bcb02e5f7b72702958da8b81e64ced9894ef8bb27286f2b1547550d6b11ad43f6111ca8459cdc3d7";
-  sha512.doc = "e35e455eb1be787777629bd1333c9130f4fa272ef808ce67c9b7c18eee93ad059794588763f81779a4ffe1cdb8cd1cb283f65ce05732e5d03f4fc5e7b2c1a74a";
+  sha512.run = "b92b231bee56a8589e079a1175569a8d8b92bd0e4730e87882cd8415bf301d466c381eaa0540104abfa5e9ed2d159b3349e3dbfc34e6b1c10e52e255946b3067";
+  sha512.doc = "f3f6c06eaff8ce132e5bbdc25fa244b6aefd388a467bdf78c9c5459d6bbcaff185ef0a485957e8b864ce167b0be3a994d73cbed788754da308dea2af5d9beaae";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1.0";
+  version = "1.2.2";
 };
 coollist = {
-  revision = 63523;
+  revision = 67048;
   stripPrefix = 0;
-  sha512.run = "f9c220204782a1b61deb6e049b10bb81b5417383e1dd9b7e9b0ec827da48f06e3167f0dc2453d46f3f54923fc2200c2cc714f2f3725f6f41602f8dc493503855";
-  sha512.doc = "09d1780a5738f82ff8d1820c015447855b8a930e63f3d0bb3e8e428a3bc6f6239f185fb6f9d7d45af2d9af5ba283fc0fafee7fd9bc88dacf654dfeee46dc375f";
-  sha512.source = "beb55ae83841be57a743a39c49c83028a0207b8d307e717f91381d3157139748abac33f300683dbcdb683353ad2d8798dbc416d450ba950d9245e45ff87be89f";
+  sha512.run = "7336f6e9a05311295d1ada4598d4b5506ef64ea1c245d30c2f30e079b5da66f08b029d98a74dec769b60da7ac05822f377c485bc0a7a25fcb3aec9e2f499d3a3";
+  sha512.doc = "5f27ec17d4544bb4ac9891e088b6d921901504c46a52a65638d5caa0fb7ad4df55c00ff2ad7569b6b7f97919b9a139f433044f849ca4bd559c77e147e5878d50";
+  sha512.source = "c0a8e06bae7ea5e3a2dfba01e014c7bd0ffa22306bc1827e1eab717317b23df8d20ca344ba182c7c44a596f3c7471aeab03ed93221cca658a0e451578bad6761";
   hasRunfiles = true;
   license = [ "lgpl2" ];
   version = "1.4";
 };
 coolstr = {
-  revision = 15878;
+  revision = 67015;
   stripPrefix = 0;
-  sha512.run = "d4fe8de308d6dd9711f1d877fd1d5ad32f36a4d6cb17480571d88f4b63f9441fb1db217629ddafb25e774bb6d43d148742f9e823e1d43f497a9799b869f90b62";
-  sha512.doc = "63c833be3ab646ce509e5082af3d135d81224c7b586f6998e5fc7410f2ed0e52abb05adfb49d78bae721889fc522395b53810e3ee627184de83dddb198cd3083";
-  sha512.source = "69ba696387583767b4c4d0b196c2b37000da16198242ea1ba4e2208fce6dab8eddb2bd40093eb092fe62b3be82aacab4b11ee35e2f94422eb07e0ad489709930";
+  sha512.run = "272c0ad1071f394c9cf96c38ce85800aeed55eacba29dc86c5887b86a63b717d8f83fd83afb5ff813df780691a7a2deff6d466e521eeca14ad3e3d09f07ab0db";
+  sha512.doc = "5f4baf28b3a5d2b83ab51037c60454def4c1ebb74a408add0459fbc7766fe828e32af9c02ba898592272b067b23715e3986ca4f561a1a89d58a57c7de6d70bd3";
+  sha512.source = "56e15bc77c6bbc2523162db8a86d1b3bf86e97a59fec15e27da736b964d02e27e7838690befce0f493a9363b946f710676c76e1ddc0c048f5cf40e41d29c1c0b";
   hasRunfiles = true;
   license = [ "lgpl2" ];
   version = "2.2";
@@ -12913,6 +13043,25 @@ coseoul = {
   license = [ "lppl13c" ];
   version = "1.1";
 };
+couleurs-fr = {
+  revision = 67901;
+  stripPrefix = 0;
+  sha512.run = "d3d1abad334d50129f77b35ebd6fa244feb84e347e64cd98f3e3413c556b1848a198e4679e266f838d947244756fc19071b1bb0816c73b887b2deb4fe061adcf";
+  sha512.doc = "8e88f3947d0dcebab82a60bf9886350762f57da2c2b3c739e2e3896afea70a2088ce325cfe6373d6a351b57fc2f0b0bb7f0f4c9716a094d86e1997744890c92c";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.2";
+};
+counterz = {
+  revision = 67335;
+  stripPrefix = 0;
+  sha512.run = "5fcc21ea49e222cbb205998172ca4184f4daa3efcf92c48278b3e7c5bce6669594b02f5fe54af76f94ee19ba63b9701e66d24c2ce85262748c1fd2c9b6e18b3a";
+  sha512.doc = "a5ccf25501d1275161e9aa53f076fea2480cd5edbb83e4133c9cf8e400b840fde78f69bf038e5778c6b8535fea3e654c11eb1ac82545a90fe952530bfdbb607b";
+  sha512.source = "920d054c6a3bc41504db850407d8553b1e108af85ab1a94fd2a6bb71e8f6f7f02abd11908a8d73430cf27c9f9f8e46014a53b8afdb80dd360e4e1cd12f8bb090";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.1.1";
+};
 countriesofeurope = {
   revision = 54512;
   stripPrefix = 0;
@@ -12984,13 +13133,13 @@ coverpage = {
   version = "1.01";
 };
 covington = {
-  revision = 64241;
+  revision = 69091;
   stripPrefix = 0;
-  sha512.run = "36c48b3d496464d6aa2d4debbd50e9794fd608a19b6c3f443ccd726dbf105ed3ac6da5af89947ddf509489fb3835c5ae630075d149ba8866f51fe43ef1c3de33";
-  sha512.doc = "b20a69084adc6f2a4801672069f6f445e3d15f52fce3e32c707abdc4545a4c0115c0819648dbfaf1ac0562250377372d66e354fd28d2977b065c222e33d1019f";
+  sha512.run = "c70d4926d45c93ffecff4d8f32923ac99a1b354e51dfc21eed8f3e3172e5c29875d5ef7a2509dbd6150f22bec337efceb7cd42717798144d1d1046e4332d00d0";
+  sha512.doc = "cee67a2bcd26ef106d35fadf02145b74e7c9b67c2bd2ff46a4a7afc262d020d43b168fefc2d086688c4087469e9d68a9f0ae79c83dc018ecce70233a0459f9fb";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.8";
+  version = "2.14";
 };
 cprotect = {
   revision = 21209;
@@ -13040,22 +13189,30 @@ crbox = {
   version = "0.1";
 };
 create-theorem = {
-  revision = 64104;
+  revision = 67712;
   stripPrefix = 0;
   deps = [
     "crefthe"
   ];
-  sha512.run = "dcb4f947d6d0fed303d53c19e29049070b1c3ca47fb0d78c0c1c3455f6de59ea2aa98640ac88549bb8f00f1b5cd4320a84f92f98d08a0ee788eb47417a86486d";
-  sha512.doc = "4c84bebff2a93f8326fb8ce795a9fe2193194f70d49b5448b51d25a98378336bc931a60d762dc12bcfb2fffc362663391347a4b89e69336fb47efd23dcae4499";
+  sha512.run = "4e33efc66887fda4505c7036444c7afbebd96594bcd326b8cdb149fb4a429f3cf05f87d6315dd6c207d5f55a9951ec6632ed63aa6f2d4320ac7fbee53d744680";
+  sha512.doc = "ee71cddaf790679dbc46044e5262f3b5db098f1b57291719bbba68b9e905e5daa20127d1a124b6f1e3d898fa081a3e7003f607ad0bc4191f5f63fca837ab2c7d";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+};
+creationboites = {
+  revision = 68087;
+  stripPrefix = 0;
+  sha512.run = "5aaa071101c52bbd95c83b2e523ab664a2d52109fd5ebdf71da07d3af997d93cc2550736fe18dfac05348d92cbb02749f03a052954a0807fd3d2140efb322588";
+  sha512.doc = "42e8ce40f037b18e82899b570e8102835a437a5283193f1e799876039a856f86adb1afe52f5b07bc6151644e9b174dcfbd96f6148e2610a0a32cb400832f3ebf";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2022-08-08a";
+  version = "0.1.0";
 };
 crefthe = {
-  revision = 64498;
+  revision = 68813;
   stripPrefix = 0;
-  sha512.run = "00e42796dfb4a48ffcf1750562842e0bee1f3216929d05729b9930134bc55521e4e9b9a3840dde0d615539c2206088a1e554dcad41ebaa83a0c3822e66893aa5";
-  sha512.doc = "b9ce19968dd09744ee594b40c0ad4478675c2530679183e3de0e79e344a106c244ad9201c61cad42f60e24f97b61490b2f103b8ffc591d4fd1388dcd4dcbcf5e";
+  sha512.run = "4222df8d84b006df3641dd2fd976440401b83c40e9ef0b126be8ba9b459eadc084cda58798db596e5ceabcf4b4f0c821bcdd5b05be5a3ec9e3f65d98b4c6da3b";
+  sha512.doc = "48b2636dd969403d3f0511c8b959985da32243d5763d6d2837f57981ae2f548b2e92956c3fcc9349290e7b705ea8144ab2af9b74a5538ebae967693e82e6085c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -13086,10 +13243,10 @@ crop = {
   version = "1.10.2";
 };
 crossrefenum = {
-  revision = 66032;
+  revision = 66014;
   stripPrefix = 0;
-  sha512.run = "35b59fce84e356e5f72d91bea2de582b75fdbfebe1573e3e23321743a203b258ce186bf274dffa3ce09bec034d8a52b2a7275c4452ea63162f71898bd1ca9ea9";
-  sha512.doc = "77675af4bcc279317792089faa1571c5f2a7f9b20872ba0a919850f1316ac17e4110d57266555b3d2bc8804ebd9d393e7245e62023445791d6af9cd2d248b9ef";
+  sha512.run = "ec85888801dd66c0e1b22a257be19eb141b922975a7dfeff90ba146232a6d8b9a7b76e338b68548ae228a1317af0208072c06cd10ddebbada93b11b72907c817";
+  sha512.doc = "c5d847af7f8c2d753563d5f393cd3de2936de96ebf1e653b7e0b9f72da75f3481ce1a783329f74ccf8e5f160eae81e045c663775dac916c431edafb1677b5860";
   hasRunfiles = true;
   license = [ "gpl3Plus" "fdl13Only" ];
   version = "1.0.2";
@@ -13210,7 +13367,8 @@ csbulletin = {
   license = [ "lppl13c" ];
 };
 cslatex = {
-  revision = 62387;
+  revision = 67494;
+  stripPrefix = 0;
   deps = [
     "atbegshi"
     "atveryend"
@@ -13230,29 +13388,25 @@ cslatex = {
     {
       name = "cslatex";
       engine = "pdftex";
+      enabled = false;
       options = "-etex cslatex.ini";
       fmttriggers = [ "atbegshi" "atveryend" "cm" "csplain" "everyshi" "firstaid" "hyphen-base" "l3kernel" "l3packages" "latex-fonts" "latex" "unicode-data" ];
     }
     {
       name = "pdfcslatex";
       engine = "pdftex";
+      enabled = false;
       options = "-etex cslatex.ini";
       fmttriggers = [ "atbegshi" "atveryend" "cm" "csplain" "everyshi" "firstaid" "hyphen-base" "l3kernel" "l3packages" "latex-fonts" "latex" "unicode-data" "tex-ini-files" ];
     }
   ];
-  sha512.run = "a65516275b53ce0e2487193b537759da447137898915f577c66893d6408c664b7cb830941dac2e80b2922c1597719cc879f66d3378216bfa2dc190e1bf502675";
-  sha512.doc = "d1be033b7355bb3431193a9a39bdd1e269c7f3a97333c2b753ffdf795ad45a366893267a13472463805ed428760de680aae3377b25ef39bf5522a0186f80f899";
-  hasManpages = true;
-  sha512.source = "def618478c9d3b500aafdf47ea5e9432412b9ae5029417b85fe38f2c506d691cc001b9c4492bceb7ff276a15612bf17b13dc2fecd2158ad940e97c6ca2d03bb7";
+  sha512.run = "a5ea5d33fcf2573f772541cf03cb660fbc4d32d4d1e145fabc07781f5f664369f0bce9e8434f403beebb3a6c17c2da43d7727fecf6944db1bc9d36796e8470da";
+  sha512.source = "8ea942f9cf3b9939311ae29bc4badbb2a67c6f4f2e03a4745142a0b570aeb0e668dfc47dea278f960e6a11231856464370507379cdbd77588720a16ff5e25d17";
   hasRunfiles = true;
   license = [ "gpl1Only" ];
 };
-cslatex.binfiles = [
-  "cslatex"
-  "pdfcslatex"
-];
 csplain = {
-  revision = 62771;
+  revision = 67934;
   deps = [
     "cm"
     "cs"
@@ -13261,9 +13415,11 @@ csplain = {
     "hyphen-base"
     "luatex"
     "luatex85"
+    "pdftex"
     "plain"
     "tex"
     "tex-ini-files"
+    "xetex"
   ];
   formats = [
     {
@@ -13297,7 +13453,7 @@ csplain = {
       fmttriggers = [ "cm" "cs" "hyphen-base" "plain" ];
     }
   ];
-  sha512.run = "c4dbe1721fc2281cba7e426f6c75d35671cfeddf77a947f147a33c651090bc90528583445736bc2933c2d3986424e1b3ac4984e93cfae5f0ad1cfe41902f63cb";
+  sha512.run = "5c0d9f12254d2b61a9ab34cb447dcdda56b032c5d4fcd1b4ee2ec2f3999e5b5317e067c7e03814598add15ecd56449ace1bd1a67b6d87bcc6adc2122bf7b5083";
   hasRunfiles = true;
   license = [ "free" ];
   version = "Mar._2022";
@@ -13363,13 +13519,13 @@ csvmerge = {
   version = "1.0";
 };
 csvsimple = {
-  revision = 64450;
+  revision = 68566;
   stripPrefix = 0;
-  sha512.run = "5c17b0055230159d8e37ab77738d7f177578fa4061dbf5fca0071da4dadcc929946fddee11bbfb32c2109adffe8e33bad74ee0f343b467ab695a85face9ca516";
-  sha512.doc = "9d63055aecb4f5939799b03691c6620c5b07b7b8b785a00a84d2c937409f675223aab97e68ceedbdf21b0193a05fcf3763971ca3c9e016933f2c55b5a2c8f8ef";
+  sha512.run = "e98878933f2f4a7b5b41325f11deea34db380bfe7ae581cb7e78a738ce599ea7b325ae77d48af7a58705ec4e7b668751b371ddb0396a44e28b1af57ab21cb87b";
+  sha512.doc = "7d0a19509538818153357c485984abfe88b9a7e3c865a2184594155a9643dea61755a510e264a38d170f660fe502b9a37a0c353565d2518ccf621cd69ef3030c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.3.2";
+  version = "2.5.0";
 };
 ctable = {
   revision = 38672;
@@ -13412,13 +13568,13 @@ ctan_chk = {
   version = "1.0";
 };
 ctanbib = {
-  revision = 66069;
-  sha512.run = "5cb965c9b387d5c733204663f5f6496e4ff8033ece3f6063513bb8890516e8e96b4d307ce830ac51f15796ac467e3db0e27eea668f14b4da8b3446623b6767fa";
-  sha512.doc = "e161bc466807c7697cb7232874c0d7daf14d82677d25a081085dce91461826d2aace842f599cd27cc0f6491d31028d3253e8d9dbf237f9e97444dda80490e5ba";
+  revision = 68650;
+  sha512.run = "1d89c7bab95472d993c6e685880d513f9cd4ac57af87c7656bfb8423b2e5c9c1ede851da01e638558edb37e85caca3080293a7df9b0ad9e87b2aee84a6680a52";
+  sha512.doc = "760b98e3c4d7b07e2f15d7e2b1705f10eb697f5e7f2aa03de97a3ce347d7495f3595d9ed0518c0aa5d38d2eb0b20c3a889e6e66416587a4d15b89a9965986d04";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.2b";
+  version = "0.2d";
 };
 ctanbib.binfiles = [
   "ctanbib"
@@ -13447,7 +13603,7 @@ ctanupload.binfiles = [
   "ctanupload"
 ];
 ctex = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
   deps = [
     "adobemapping"
@@ -13488,9 +13644,9 @@ ctex = {
     "zhmetrics-uptex"
     "zhnumber"
   ];
-  sha512.run = "d118a114f1f4df64f66d3a747042e3fd2409d96322e3d6118d5326bad22eec9fcf957e9e0c89a2a3589f24eaa0f10e96580e3b80b2490ef4c372014503d0a5d2";
-  sha512.doc = "c2917675879646b56dcc3709e87194b862c6ae1a2cb3a58691bc587f4c72d520abefebeee256460d797eef1c7f9aebbd20c7c54c4276583b2be89dfda6166599";
-  sha512.source = "64c1af74f09b3aa1d859a5c37c88d92c22e72e25cb9f7fedda8941b4ffcd92c7eb18ac36c9f3927b70ac5d27a8145d9eaf1dc5953cb489b6155f0a097cf3b9a4";
+  sha512.run = "43954ec2acfd2a0e37acb55c3bc7496a9959abeb60787a4daa742cfccc3bfe5b88542d341552aa9bfef6b4224c79a14c5a5e9a7221cc0ecf83d22c9e6ce6a48b";
+  sha512.doc = "475eb846b55672b23769af8757c7532b30d3d13d6667fcd71b8783ab291dd3a39fef6d255080745d4d609276f9074896fae7e674e8abeccad7c5984db5f88636";
+  sha512.source = "59df412a321a4ad75e1b948dd12d250a844c042c9a7c5ef24f0108591fbb087ec6949b537788f070d496b9ead0e8b8de120b37f6977dd536bf10ac353d5da6c2";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "2.5.10";
@@ -13512,12 +13668,12 @@ ctib = {
   license = [ "gpl1Only" ];
 };
 ctie = {
-  revision = 62387;
+  revision = 66186;
   deps = [
     "kpathsea"
   ];
-  sha512.run = "c1c69127e1157c15086beb269e1925feaf63eebbc45baec018ce97196a2fc42638bb3107a4c1d065e98a08e490d238d2bffe1827f27f9015ffa5be88be53d6bf";
-  sha512.doc = "494a3e6569a77b434f66a56f1fa44d4651dc23e7cdcacb101043ed55cc6e32551f148e67976b67b88507da2fe05a0b006c810fb737f9364d47cb010438c7b39e";
+  sha512.run = "0180080c48fea7b717ff0ad27e060ad4564841fe2929b8db919aa0402886a00e0fa40f1398ef82bbf9e983343c9f9f6c797606045d55ed07e572e006588c7353";
+  sha512.doc = "178a88260131781b6678ee63b1b35ecc0734525309b99c0d5bd4498127970bd67e30c23072392b6678186532a845c7e27188b1902b5dca52180720bc98fe3dd6";
   hasManpages = true;
   license = [ "gpl1Only" ];
   version = "1.1";
@@ -13535,6 +13691,16 @@ cuisine = {
   license = [ "lppl13c" ];
   version = "0.7";
 };
+culmus = {
+  revision = 68495;
+  stripPrefix = 0;
+  sha512.run = "4f6f370a13ce2cdea9a1dd32bb1e2243000f4cd566f1a7698c641b9ad4793b3c1148fb914dd748e37b5e7bd6802144d4e1b9fd4c536df58bcb4863ad4f9cd2dd";
+  sha512.doc = "4c1217f0cd27bcd56c11006b7b3749e661aba567798b2e397a21b3b0df39a35acb6355836d4eac4fd619509b09b57c7e39a97068343b6e28005944ebf0430adc";
+  sha512.source = "2dc2e6bd71ee949208625fc259cecc6a0ffdd0701416c5775cc32855a2bbf8a533238e07d4fa08c090ed3ff627613c27f0cddeb2c86eda1b320cbc68e236a6a0";
+  hasRunfiles = true;
+  license = [ "lppl13c" "gpl2" ];
+  version = "1.1";
+};
 cuprum = {
   revision = 49909;
   stripPrefix = 0;
@@ -13563,6 +13729,15 @@ currfile = {
   license = [ "lppl13c" ];
   version = "0.8";
 };
+curriculum-vitae = {
+  revision = 68211;
+  stripPrefix = 0;
+  sha512.run = "a650807bb2a12df8460ff4b450af6bb7122a8629aa72d5e180e196ed3f904ab70e04fe0ae79474649d22534a0a7cf0342f4a1ff953355b8003e9d8eea0016d10";
+  sha512.doc = "5c07bdfa540b65a6df224bea38b5865e44f08ce042e4b465be83f580a08976236442d7bb96573ea8c5b089aeff8f02e2a9b556997a24a73d264a557e775f8d3e";
+  hasRunfiles = true;
+  license = [ "asl20" ];
+  version = "1.0";
+};
 currvita = {
   revision = 15878;
   stripPrefix = 0;
@@ -13590,14 +13765,14 @@ curve = {
   version = "1.16";
 };
 curve2e = {
-  revision = 65469;
+  revision = 67599;
   stripPrefix = 0;
-  sha512.run = "0d2e5e851136e73d205cd87fdd22eb2d4513c4f8d1f510c1adefc6a278c9c47e148ca6c45d7cbedfc5e51543f06301f7960bdc704fd4da3dbc2bcbbd68e506e3";
-  sha512.doc = "d7c0dad1800cc12ab3908036a8f59d87a37c6a2218a6fd6b0280019f98d34908b080499abebb1976ecf16957d9290cadebc93c90c766d467b6452f6a8b7c8743";
-  sha512.source = "4767deede52b6c3a31168f37a41a8f127ad6de0208b6aa42ca00ec7ed2cdcddc0317de2920ccdd5f1896b6b007ebeabcbd5aaf8211f798584ff64f960f63e5da";
+  sha512.run = "36b8d1ebbc07ea1cb78b85fe2c327a4c932ef0a88881ef9185654cda6865ea5ca017aeb33334f603fad74fa0245a531f50e2016c912da4355cb552ee5e069f97";
+  sha512.doc = "d28134fe19310084b6ffee13bea26b7dd131789a124041cbecb500e070bb134db98d4cf01d7d970781ad1823327f363fe886be9615d3458ca6763fbd7039f0db";
+  sha512.source = "7a9207da9be81c2dd9de00adf25f81adc2bec671e4fe281904410e964670968103a4e556806a287e830aa9aba908c353606884079f3509a66975dd9411d2c886";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.2.22";
+  version = "2.3.1";
 };
 curves = {
   revision = 45255;
@@ -13629,6 +13804,15 @@ customdice = {
   license = [ "cc-by-sa-40" ];
   version = "1.1";
 };
+customenvs = {
+  revision = 68637;
+  stripPrefix = 0;
+  sha512.run = "d58a216909f8bf7c425f0836c05842ca918b03b928a57ab06223a82fa588a3bd3d515f6beb5ed27330d5566192a234a08385ac387563db8ad171b928749b488c";
+  sha512.doc = "d807f71f40367888621fefb52ff3fbba1d5b301b670710461b0feb79eb61171ec6208de41ea15ab39c14650734f2ba6a2c5f89182f27072c87c9564fa462544a";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.1";
+};
 cutwin = {
   revision = 60901;
   stripPrefix = 0;
@@ -13667,9 +13851,9 @@ cvss = {
   version = "1.1.0";
 };
 cweb = {
-  revision = 65081;
-  sha512.run = "a3c7600debbae6ee9af48efc27cb69eb84fb338985ddcbaceffd969e18673d0943d080a3c9fd83a3edda8b93a0d70e2b4bcced158c903477c29620decc1587f0";
-  sha512.doc = "6f0ced7413dd513cdbde98a2c9e4f3841e8469084938e921a186b0f0a571ed859548921e710deb1c1634063068807aba15209cb0d07f891564d42dc751784e45";
+  revision = 68702;
+  sha512.run = "4c7a5bc2e7f347e29b625db12e9aa53c872e97c38adb08feba1fd8498aca39a2a83ba3707725757860353294541bcb29585e262404687f6f4939b8512c362765";
+  sha512.doc = "27ce2eb4a74a662eda15e5f72c1543b739c3b2eb918a07421781fcf62f0a4f1ae18c99ec836409175835ce56f3f3087e8b6bcf4deaf4f2282ecf9a2fc713a14d";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "knuth" ];
@@ -14072,11 +14256,11 @@ datetime2-galician = {
   version = "1.0";
 };
 datetime2-german = {
-  revision = 53125;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "a27345e07164419862e2aa50a46252ffa05ccc1f3aa36cf530544642faee34a7670cb2d9279245b657bd5cfb5f9282eb537a94acfe56017bd855948a0b0d1ae7";
-  sha512.doc = "70c3d14708a87ea3e7f81ce3fa26420daa123f214a1bbdee17a8d1a33c437be51602a5857081ddc82998526e5424e4899dc795d1fc7462519ff35cfe8b63df9a";
-  sha512.source = "04f88422f1134325f6c9dae292c8c6e10ea61da4c5159afb04774a776277f35130a5d7dd90d58e368df3db20a29d472e4c8c1ef2527d17cfe77ef1f46bb7dcdf";
+  sha512.run = "1c020ab84d3c6f5b5dfa8170d9be8344c6a63bc3a7f462b29697fbb892eb4061a502801177bf21408f3a6eb68fafb8b77711c125d23e662ce1510f75117c1d03";
+  sha512.doc = "f050add5492691986f50007fcc48fc36a0a19e6a23303062c5a865be753e0c56f4f5f955efc22c4c838fbf9af79f91e0f488e00027f4bed045af483ce06cd24c";
+  sha512.source = "f131874dc61bc52d040dd25ce684782d50c0519c03294f23f9c6b717a8f574751e8f2df18de0b74bb3a9026718b6beb299435af6c990e4e2d7c891e831fae7d5";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "3.0";
@@ -14245,11 +14429,11 @@ datetime2-scottish = {
   version = "1.1";
 };
 datetime2-serbian = {
-  revision = 52893;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "ebcdbb32af1743e9dc2b46b6730664c48a26ac4d15c4e9936c9df883a718fb52e8800f29285295e7521a02130471bdc10f8227b5dbbbeaf6481355d7025a8dd4";
-  sha512.doc = "c56761130dc00406a27356a8b38f4c82f233dab32fa6f19d58626139ecd7e12fe3c736edc676db52176c5918800b4f0a47362fcb9b3ef265ec3beebd641c1b15";
-  sha512.source = "a7d421d3e090bfdcdd0fc5f734a45cf32d8849e1c27ddb2de3f829c5488d99220797400c8039deef2fb76c3ede96059519dad3d54412f2c780ca5b9bca39f043";
+  sha512.run = "55ddf54bb1ba9cca7836ef0ec082d98d9d280b92e1d2d108c3a4d11b5c5d89f43098215eff675e8ff5b42bd8f446c6361a98f544f2d4bcb4ae684f69597eecb2";
+  sha512.doc = "b3b25cef5afc1481617cc3edbbe0aac242b1dacfdfdb9bbd30fa9d2c0f963605ead09bb9a91b016d0739b848cafce18ab17d3fd0750e589faeda0c434b4ac73e";
+  sha512.source = "c36f353d307bc2a49844dcc53837ab6ff2cb17a10973419ccd848c752f0eb53b369d4f0e123e3992f96d5fcde30f204e830093d6421f3544be693a9369c43129";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "2.1.0";
@@ -14354,14 +14538,14 @@ dbshow = {
   version = "1.5";
 };
 dccpaper = {
-  revision = 61763;
+  revision = 67890;
   stripPrefix = 0;
-  sha512.run = "98648e229632afa6503388edbf7418b2f92fb46351bdedf7d678132be91b3740927ce4c17ccb2ddbee6e24cfc0810b415c013cb61aa81db986efb5daef311aed";
-  sha512.doc = "e9809887d68592513d5d9992add687dc7fe82e7570fcbc46cf582f66152c94d5f9729735f0f5714245421556b470fcf0f6cb0129017fd79df20e96fc0f4548e2";
-  sha512.source = "da0843ea5f46a187b0d454b5a421699865086af684512a2202aded1e50c240e1345130753fff0a779794d5897f32be793006802c59a7aa741a0f53b4ac002f91";
+  sha512.run = "16a507603bffd0fd0e305c9e2d21927f0788dcff750ab276349919cc2e1036b41f57696e088ab5596bd714f890ea68ece629980dc613581d5c90f586f7e4117c";
+  sha512.doc = "7793786d0c34ab72954fe189bbae96a388f61f789b845b42d7fb062bab3858643e8ee730d11a5d4209fb0d728220e7ea89bceb3684118978dd8119aedf167a89";
+  sha512.source = "bf4bb7b3ed2cae28c3f3d15758a48fcea3e737872b27af3ded1cda51f5b1c84ac200116fa7019972c65aa2a4966885582956bdbb717b6b427ab42f2f7b7fb00a";
   hasRunfiles = true;
   license = [ "lppl13c" "cc-by-40" ];
-  version = "2.3";
+  version = "2.4";
 };
 dcpic = {
   revision = 30206;
@@ -14382,9 +14566,9 @@ ddphonism = {
   version = "0.2";
 };
 de-macro = {
-  revision = 61719;
-  sha512.run = "8952325be56b193440dd24f0e6847ed1a9bea4cf8aed86afc7b7ff0a0f6d61130320834e679d55a020d8114d555733a92e645eea8fa1d3afabeb8cac5ef097ea";
-  sha512.doc = "079dfa97d55a2989e300856e7877591bd041b239454a0a0f72ed20e329fe2f9ebbbff22497eec1b622e2679316242a845eacab5716e01e74c5c810fb357c1636";
+  revision = 66746;
+  sha512.run = "6847ee60de3e70db18f402744ce0edf926fa2ba1ccd64faaa9844aeca85809efdab740d99f1ddcaddb74fa54c70d0c2dc0a7e8d15575e574ce8d451e0b6248e4";
+  sha512.doc = "21065d2ebaee0a2c82e5d41ae6a5ddb071623f9e405262de404557053c2f402f9166e7c3c939ec57e3d3a1842397143c16bfee9d219eb84ef613b74474538052";
   hasRunfiles = true;
   license = [ "free" ];
   version = "1.4.1";
@@ -14419,6 +14603,16 @@ decimal = {
   hasRunfiles = true;
   license = [ "lppl1" ];
 };
+decimalcomma = {
+  revision = 69251;
+  stripPrefix = 0;
+  sha512.run = "78d257b6a3b65c44e9cff04093896240c7a9401af04b028fa79bf29dc436a18d163049d34a9a7c92c193ce07085aa877e69399f79da22696da800f72de20eb37";
+  sha512.doc = "21f1a61e45fe9d83f4ca7d01375c832b230485035f39277e18a3062da98f7d0bc63aa1703258c7fbbb6330dfde15153ed9bab60afe62db9bca4250033a12fb0d";
+  sha512.source = "56906bcdf0d1ed82de86cb39994682705b5e19504a97d2deabf34ccba239c499ca3b613e013c04c2726155b49a7971b9ad450d248acbeb5bddcdf4c4c7e8d687";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.4";
+};
 decision-table = {
   revision = 60673;
   stripPrefix = 0;
@@ -14439,6 +14633,16 @@ decorule = {
   license = [ "lppl13c" ];
   version = "0.7";
 };
+defoldfonts = {
+  revision = 68234;
+  stripPrefix = 0;
+  sha512.run = "f6823da220c00ffd688d0b25d06109f0f3a7ab606d535631d9197a26b02388b11e4dedf41829c94ca4a414cbc1cee81c425d006e7567116b243272fa8d8659fd";
+  sha512.doc = "d799609d039e98e2b737fcff5bef277359818838a8cc1489dab934d6b890ce480b7d6e935a84562662e8f130873d1a2dc777e08b229b7d5c0b431b8fde5d6978";
+  sha512.source = "5bc0c27101fac6b15e8e792bb4436c4f5ada6684bdcc254eae8466ef07ed7896957544186c09ab43d8ed278efcf44f07c40c9ce5c194fff081bd46a6e628704c";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0";
+};
 dehyph = {
   revision = 48599;
   stripPrefix = 0;
@@ -14447,15 +14651,15 @@ dehyph = {
   license = [ "lppl1" ];
 };
 dehyph-exptl = {
-  revision = 66401;
+  revision = 66390;
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
     "hyphen-base"
   ];
   hasHyphens = true;
-  sha512.run = "278e3c30cd1f107075fec4cc4d9301e97a19500398d2c4e87cc9df43479db5abca70cd3fe9bde3c3ff7545d0674bfda799dcd4211137a54cca22851ef1f31ffa";
-  sha512.doc = "f4eaa2fec9f9df21cac411f000e9a797a12f264b335daeb4f8a00f2f43d903948f6ad52bc544acc1e5ea383c948979f5505bfddf97ce7a6a2ed7732d046ef5cf";
+  sha512.run = "2dd98977dc31445cd981dda46f289a93b4340406801db929c21e8d08300b17745cda637f6b40ccbd2a02a0ebafa980fd9c1591b8f7beffe3fa029bf8c82d2eee";
+  sha512.doc = "c28f49469c8a2bad8fbe34ca1a0df6441649edb96c19d9482fd2140068447d86716911534cff181fddcf784c8e80a20eb1c952b2b9c323df7725b46d950c7b4c";
   hasRunfiles = true;
   license = [ "mit" "lppl13c" ];
   version = "0.9";
@@ -14526,28 +14730,28 @@ democodetools = {
   version = "1.0.1beta";
 };
 denisbdoc = {
-  revision = 63589;
+  revision = 66137;
   stripPrefix = 0;
-  sha512.run = "e079ce92fc827ae1bc836dbae68c0f1cac81a68c2935258f8246e39bd46bcd06bb1b56e577c6514e262d7dc9f3351d1e783643a303f52d8d66995b6875e3dde3";
-  sha512.doc = "c64805de12c81f388ff5d1011f11c7ec01e7e906eac12d1dcf794bea37dc7c16c56cb94f0f8db8f734a0cd027659ebfda57737572cfd6e7ae732b8181ffef4ef";
-  sha512.source = "487ce4614e1ee0c519126bb5873ce0de39bec63e89c72cdbdbe6e557fcc345191baebb299cac7b4a5ef42b4d96d905764f9067ed88cf8c717d7bbbbee13a672f";
+  sha512.run = "43bbcb7f73c1ba704fef0754a4d79c99b45c99c7ff3b06f70db1c0c922734f9c3bc973841b6c1ffe6879324f935e936ab396aeb2d2fce1bce029b6b0379882d0";
+  sha512.doc = "4a0572e776d2b00d088bdcf5e65c94c15d644182a5ab8284a6b16e9ca795ad95ab89448954dfe5aeaacb986a012da0f1abccde7df35f4619a6ad5dc633facf96";
+  sha512.source = "f173f64219c4ab4194cbfb091273311da6963f09995fb2d751302c356613bee2bd4a874a35dbe1e99b995a5d50d9803025e8861947dedf77fa990a5f601f646f";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.9.4";
 };
 derivative = {
-  revision = 63850;
+  revision = 68787;
   stripPrefix = 0;
-  sha512.run = "67e5c2a148105051ca882b70d2f3f9c63a06e2f34bb72b84b13bf225a7583bcf919c525890071e3ffe3bbaa0bbc616b8fc62ba050d1c910fceb161131a6fb3a9";
-  sha512.doc = "8e2986eda21c8688feaa0f659bd79a8f8f2931381f0dad7fbd055dbf98d8e8fb7c1724df8d2d081ae0ec45781c7eab10edf01535076d28830fef9aff5d4452f4";
+  sha512.run = "64a219eb707e54c1c57715243e4bb5c676d495eec5c0095887f33f30591b7e90a7278ce6401c649f1902ded58c9fc890a23f0611dc8780e9a7bb6bd55a728083";
+  sha512.doc = "3f660b6b8c0c1da3d7434f3a0ecf19c51a8618ad660ac4a6518ca67a4bbdb788b36a457a6f52c544618e814a3bf2b73a5c84590125f3e1d55cd95bda01f6b9e8";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.2";
+  version = "1.31";
 };
 detex = {
-  revision = 62387;
-  sha512.run = "27c94ef578afaf7fa3ca232f4a4a0e5167c69cf24a2c005c1d5a06830332b6a4aca8d0eb4450026d498e371d5c142bb71cd41de199b77f5963d88d612208e0ad";
-  sha512.doc = "f3339f5d93f073bdc2b6052f38c314a1f4284c60a5adc7813ee2cf7d5f609ce8c68b60cb2a0fc9571e26796ba2fc2660da137120751fb465ed723a800aac2cc8";
+  revision = 66186;
+  sha512.run = "e258d80d1509831132c4f70df81b8e93cfc9d92ee74c5d39e7f35bd4f71a3eb93fe3594afbd5ab0e33cf0b6f45c816506e32ca8f41427f3c3fe661f3086100d1";
+  sha512.doc = "3d5a3b371e007bda61441460479a208062fd0d477d1fc9ab9a6764c1969fd383acec9e336e8d0b16aab5606444f5d87335320e010657cf088e9caeb18d6dddf5";
   hasManpages = true;
   license = [ "free" ];
 };
@@ -14655,13 +14859,13 @@ dictsym = {
   license = [ "lppl13c" ];
 };
 diffcoeff = {
-  revision = 65676;
+  revision = 68838;
   stripPrefix = 0;
-  sha512.run = "3f6e304dbe15deee61f6a54f8d9c69a06bf1ef48e9a0583179bbf5afbaec8364fb3a974f47ab6d6f350c6ea7083095854109e1d4555e2395781e40774ce46f67";
-  sha512.doc = "c742e1e8679f3ebf58f2a189acb695af893231c922f5659d9c586f5c684020f30368cf41def55dc1537b25eb05a8b4d8de771d19129dc15df64cdab7b3986ca6";
+  sha512.run = "a40e95018d471504d5d0cfa2d6ed3c43bb7d4a749a97200b2ed682905d6b448cbb51b80d27d772673b747fdfa3c9b02515ffb32ee9e44efc67445bc4c8cba3ba";
+  sha512.doc = "65646cb4ad22f5755be51c5c8e1ff907803d9d3817b76da8146d81b7b42ea4c9af07710d55d861795a2e7f25f0adbf4f0c55bdce208a563c3ad34d32992c17ec";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "5.2";
+  version = "5.4";
 };
 digestif = {
   revision = 65223;
@@ -14848,14 +15052,14 @@ docbytex = {
   license = [ "free" ];
 };
 doclicense = {
-  revision = 63340;
+  revision = 68441;
   stripPrefix = 0;
-  sha512.run = "c46f4b7368ee52f68eae743fc4184c18a5ce4038976d0e4b810e4395f90c6651283cb345eee59de994973f0fdc93fda983438ff9690058065904cadc58aec8fa";
-  sha512.doc = "ae39c96a61f534f6a66e902d273816e55b48f1d12a2256a3c1fc2dbf0e6027543771ebd722fd4b6b575b7d632cbb3dcf56c58513694672de298d528527ec8c89";
-  sha512.source = "fab1662738be1aa2aeab240725df64a325a6cd17e77054e19432008914ccd380495aa9eb75b8b3ab72b5388bb0b0237fe23f17ce5976a05ac31e098381f49fdf";
+  sha512.run = "f312fe38842267c1a35ab506354717a0ffc3d4b2684769965b7b94ca5fd6b137d0b13fdc98943b1fe0f635bd673c331ccc53faf5667b75d1192d786972008dc3";
+  sha512.doc = "162af038ac645790412ea0e07771c39bbc3706ee3ccd6b8a496b166e7ef51e7802a225b00f1cceb0bdb0c8661ab51a79d4eb40a52c0348f1565fc83dc7efed9f";
+  sha512.source = "2002418b83eb7117195e60a6f0211a395febe6455b210068db7fe1d99738820ba111e14fd6f61bf53020a78ce1bb7d0bd12b57294cf5081d37d5002dcf641253";
   hasRunfiles = true;
   license = [ "cc0" "lppl13c" ];
-  version = "3.2.0";
+  version = "3.3.0";
 };
 docmfp = {
   revision = 15878;
@@ -14878,7 +15082,7 @@ docmute = {
   version = "1.4";
 };
 docshots = {
-  revision = 65141;
+  revision = 69410;
   stripPrefix = 0;
   deps = [
     "fancyvrb"
@@ -14887,18 +15091,18 @@ docshots = {
     "pgf"
     "pgf-blur"
   ];
-  sha512.run = "1d4ce9b3bd39d12bc4fc2630c3f9116e7030d623700e951fa99e5bd25fcb2965765d5bf32a709eb9ea2ebd39382ef1ef33205ddd24c6cd5e9b75136de0ff18c2";
-  sha512.doc = "7ab3122caf188621a0f5045b9d8dff1361b6577c6e80d6f6bf20a9e81703e7060936162356e4c34c44bea6f8611ae8819eafd8abf745a28346ce3d8b065596f8";
-  sha512.source = "1913dbf266953cd42e9a840e140b00fc785f12f610d0e5c84f70a1eb3bef06b8a4cd5c612c682a8c6ab2fb8ff355fe416cbbe70ef366e123f13419bcaaa1abbc";
+  sha512.run = "b25c70def3ad4e85aaa6f229362a7d4ca3b2cf20fc86c8682d3ddc36738868d3ba3f481634d0a9acf8366af102ba3a27b325f3282724f392e8e3d312abb60814";
+  sha512.doc = "81adc089c9572519c09a0e1472cf2aef9a52a51c84992c8a46fdf74bb81aa432417f58836eea621173c60ef9ef2367348643d161f661580d030c206fd88f478d";
+  sha512.source = "f7e7609765907f9ae15f000ab50afc4546660e01266431050fb16b59bb760ff154ca2efda4187452511c8cb4c47f253ac401225e33e261028ee5df2bbbf0687a";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.4.0";
+  version = "0.4.2";
 };
 docsurvey = {
-  revision = 61447;
+  revision = 69343;
   stripPrefix = 0;
-  sha512.run = "bfb93b2510b2b2e334e63468dbb4a4860d4a2166c36b5ce5ff706007a2af605ffb1b5b64c567fe1a3bc46a4fe420fef4020ce6bdc16a4a6d3396ef00dc69d076";
-  sha512.doc = "5f91a58cd18315c612860bcfcac7b85ffd402b02dfe669e6fae1efbbac5eaec683b3a286231f9db1cfe5ba967be67f08b1319dea72263f7bbcc84cfd913ffc1a";
+  sha512.run = "06d5844c96ba47de92459a20594f0f575e0ca2fb6471f7079274ff752a1ac631f0f0d2f4f76f01fd5b8fa8036fca57557b37fe8490571b49b46fca06ade0a4ed";
+  sha512.doc = "fbd223b5af17fd7e09d43f00d103ddd3e5730eee7fd86cb25a8d4568f00f0155a6aefa28d3addd507bc261ff57e99256f40b232781256744ff9634292b35fa87";
   license = [ "lppl13c" ];
 };
 doctools = {
@@ -15159,6 +15363,13 @@ dratex = {
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
+drawing-with-metapost = {
+  revision = 66846;
+  stripPrefix = 0;
+  sha512.run = "9e9deb95f1ca68c4f7b2a1e82bbc213da68e60bea65510e18dfa12528dbf65b20d06769c766009a1db49b9b7a649598f64a513957a4874f6c657ea0c1bc99901";
+  sha512.doc = "9d3ac79b2d4165a3e7fe1675826db2190b7bbdeaf8b14460a618ae909e29dcd9796aff70af98bae5307f67945434ab3a304d955ed5d56e17ea94a67f83f2ef09";
+  license = [ "opubl" ];
+};
 drawmatrix = {
   revision = 44471;
   stripPrefix = 0;
@@ -15224,13 +15435,13 @@ drv = {
   version = "0.97";
 };
 dsptricks = {
-  revision = 34724;
+  revision = 68753;
   stripPrefix = 0;
-  sha512.run = "282c1c1aa51c70a77b0b63190ee875668dab9fc2303e2a84ff0d79a7c9f78a2534e4752a32c093e72eda7e98aea220923f9d1703b5c94214f9590962187de194";
-  sha512.doc = "c45da3740ed14540cada0c75a98c19f5e3cd2b32811a4f1906e11c45a40e0e8d31bd706ff4afb18073690e4e285b7b44b858f53f33f050702526dbe0fc88f8b8";
+  sha512.run = "f51353329034141f52c38563f79de526b7b47de3435e14dcbf91f658a0f64a7b23075e8cef98d0f948ab54b57681c7d9fcec417b59871ff908c00e12d1711b6e";
+  sha512.doc = "0cfcb4e1094284ae954da49c1212bb793831861b57316f48fa93e20e92c8d35e1ee8e02bb1be8ecb52442dd80e3f0f921d024bdc8797a843ea0fcaad29759d01";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0";
+  version = "1.1";
 };
 dsserif = {
   revision = 60898;
@@ -15243,22 +15454,22 @@ dsserif = {
   version = "1.031";
 };
 dtk = {
-  revision = 65315;
+  revision = 68849;
   stripPrefix = 0;
-  sha512.run = "6ddebf4d05d5eed8d2569c19a113b2653d11689db9aa8b702c8445473dc102685ee0da967af3d44763e4514dfd2c7a3b9309223abff10da2aa37a9b5d9d58095";
-  sha512.doc = "debb6a9fda42df78143b6515e5efd189bba4be426aa71c3a653b51b02e0f40ead12267d6fa54b0e495bc30775427de98a0d1375d52d6013fb6e8acc526043675";
+  sha512.run = "fef5d494604434e725a79e2dc8165cc25bb01953e31bd64046af11ea6513314afc879c86dfb8aff814e25ea3d6eb3a64a4896c0e5992a87c44af3444eb1439c5";
+  sha512.doc = "5ef9df97097a35a4598ee8fd0fd5a506510479195a8dbb9c4bd221324b091f1d62da62a4f7ef8e422fc4a01ac494384882d24d102d1b7cd4b59d72f821e415a4";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.08n";
+  version = "2.10b";
 };
 dtk-bibliography = {
-  revision = 65444;
+  revision = 69155;
   stripPrefix = 0;
-  sha512.run = "417e5bbe812750ba4832939af9c9ed8bc6595049985554c53e49bf48a9cd66aae575cdfa3c49b6593a2116bc6aff44c771a17c91a2d233ba8550ab862db1ec97";
-  sha512.doc = "b48549663c4478a20339ad9c54a2d458b1472f231ae90a13a9cd35c0ff6ac6596ea8246ee97838bd462828a346082675294f843aa16f44f31d48b1ce2df16f5d";
+  sha512.run = "57a04ffa623863f4413aaf8c78d1d9e6e2e3eac1ae71fae768cfc103680b0191306175a5534fabed4ac33381b9d1b0b2884ec9180d4fb92c8db8c095689bcbf6";
+  sha512.doc = "c43357d8f3b490840ca62f7f495d53bf13a187362d7caef89caaafcc2196b64b88ab093ba86d55e209ee3fc5d1c3ded0b2db6b1fdbf70a74d87233f1e54c703a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2022-04";
+  version = "2023-04";
 };
 dtl = {
   revision = 62387;
@@ -15273,14 +15484,14 @@ dtl.binfiles = [
   "dv2dt"
 ];
 dtxdescribe = {
-  revision = 65445;
+  revision = 69348;
   stripPrefix = 0;
-  sha512.run = "cfae5c15bef8b3d75d31f970c47ccc63cb261820d4d19e55c48de6e13e0133e50d60713e2e691856b0fd803834190bd76fd13e47094b0e8f7a74901f882093dc";
-  sha512.doc = "6390904b004eec6a9293b31b8467bebd4910702c26a270de573ff9bd404715d27d6bf12ce7f039a213ff545ca2667fe6a568df967b79f8d9142c58d87ed708d6";
-  sha512.source = "88d81f7d55bf3e5bac2811b7f7f9c00f68de32f307e0fd7c6d2e4d6537caf46fc60f4d14b0c5fd46b94155d2884b48a8222ca4c86fa05dd316952c78e836ed93";
+  sha512.run = "1fb81c09edb0bea837328d7518f1d1aa8f810aba84c78a08e1047aa3bebcc79e4a61a587f4453ef5875efe0019ace6f8303ed78fcb74b378eed6d153590b7d1a";
+  sha512.doc = "6ee725f86a622df46e1191f15d42fcfc2cd19440d837df9146a1e751a7e1770db406be647c7e30572341db5ac7da8fde24685be385830bd8527b5fdf6d74f483";
+  sha512.source = "13ebb0a68a33e646f2b2ef3b6f2fb92127c94ffe8123ed53bcebe95c9a13e1bfb167d0bb457ba1235de95c353ce2fbdcf396aa4af21eed2a9072ba5e42501a96";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.07";
+  version = "1.08";
 };
 dtxgallery = {
   revision = 49504;
@@ -15384,9 +15595,9 @@ dvgloss = {
   version = "0.1";
 };
 dvi2tty = {
-  revision = 62387;
-  sha512.run = "1dd9556f0b16e6111c1d93ec18fcc850a92b94298587ebda093d27d2abfb0e2adfb30afa64f8cb2d6e651711f4818ff8a6e8d85007c30e0130278ce1ed6fcaa3";
-  sha512.doc = "396fefcb10e6f44b841ed0afb6604d9ffede1ec9f4bb180ddbe09cf3d2f9eb3989658d8976e3e3d446c186933f22d5579cc2ead2047fa56dc066b2aa65bb3670";
+  revision = 66186;
+  sha512.run = "1051c3448703fdd6395d78b0d8b7658197da6114fb7455b31502bad5c2eda24fd4eba2ceaba1f65d106f981bbc60caf9f3bd0db29403e898b293514d086bf91d";
+  sha512.doc = "3ee736f5fbf91472008a5c8613c0e629a9f76f61fee4c4491b67045ddaad7aa2f89a22937b172e058b072ae1a013478fdf5a9f68dd2e225e8a8e77c8e3b3a289";
   hasManpages = true;
   license = [ "gpl2" ];
   version = "6.0.0";
@@ -15396,9 +15607,9 @@ dvi2tty.binfiles = [
   "dvi2tty"
 ];
 dviasm = {
-  revision = 64430;
-  sha512.run = "bfdc888c7a69d103d9c4548ca0465223a4e16be51a5c36f4c7a9d1064a553f60e6fb5d197a6be72e2be076c5012d7d3c7f871e217777d0be0c0e4669c1602a6c";
-  sha512.doc = "c1be5541992450e6519c1768ea21d342c5e41fb4da6547828c89c79bd8abf77634ae76c3e5c06b608172234d117f5d5839600031dc4fb0cbbaa493d0bb1154ac";
+  revision = 68043;
+  sha512.run = "aa75c4d37cce8087658b66f8559cd31add027eaaf9b4fe4075f42f1bb4cbd30e57ca1125c8ae42852d17d51709b6c368bacc7146f16dc4f0d2ceb56b327dd824";
+  sha512.doc = "116a7b02005ced75ae3e712de7d66513ce7d6d3ae9ee4e6e94b347d6000b27bb58d4fc1cf76cec7f19fd7cdd316f42c02e8ad7b8e0f0ccf88d405e17ef2ff155";
   hasManpages = true;
   hasRunfiles = true;
   scriptExts = [
@@ -15410,9 +15621,9 @@ dviasm.binfiles = [
   "dviasm"
 ];
 dvicopy = {
-  revision = 62387;
-  sha512.run = "9932e2c5c2c3c0ddf4c874b81441d8ca740b851da75644bfe20d0a4bde8d8bd062829423680bc95b6b53c83ed05bcd3148330d273c1cd1c3ab93dc95ca2265ea";
-  sha512.doc = "e081e3971664c8322568481d87b5723bce54320c796f928dfd1f20f7e65eddaa2d9dad65ff2775ac6d5cccbc36a1ac72e3f33198c20008698fdbcad713638dd5";
+  revision = 66186;
+  sha512.run = "60f44492a3d1af9686de3118af37f1d054068527f50765e21773f76ec406b4ec0f419d6298dab6b5d33e2fb740bd740f2037f711e8993bf9d3ab8f611bebb2d0";
+  sha512.doc = "40dd53fe878937846f003d3b72b7d474c13ad07156e78679501d01c020380a3fcc450aee7a72c0155a950429c258b8fab253a7ce3043d58d88300d0c1037da56";
   hasManpages = true;
   license = [ "gpl1Only" ];
   version = "1.5";
@@ -15421,9 +15632,9 @@ dvicopy.binfiles = [
   "dvicopy"
 ];
 dvidvi = {
-  revision = 52851;
-  sha512.run = "d4589c7c034308547b4970104f6396ef24a15be22e034ac2f4f04a1004915c8d477e64e2c4b61927f43313b90b063602a4bcd45afb1bc33ee395e0b7caef202b";
-  sha512.doc = "865f4e96bc8ff13005350800014ede4c95671db1c45f35e37b153637c23834d34054e3aac1b6033c6a219f9f123563b1d0cc3093c901f67dba7e33e65ba81646";
+  revision = 65952;
+  sha512.run = "81c58f4e1352a8e5133de1ad86b6b37c47f9b0d29307354001693ebc4975c30808e349c73a477283a16df4219fd5702b733ecb5abe2043aff1d1b537b7fa6a3c";
+  sha512.doc = "b571021445b822e9824782ab35a0743ca23f69b809354dea6676c58209a451be5bf595641fbcb461211e6dec15e765bbfaf8164c0ce1ed4204ea72a2073ecb92";
   hasManpages = true;
   license = [ "free" ];
 };
@@ -15451,9 +15662,9 @@ dviinfox.binfiles = [
   "dviinfox"
 ];
 dviljk = {
-  revision = 52851;
-  sha512.run = "7f0fff6f850f22788981370dfe9759f8d1ac803f75e6355c582eca83ca3940f64e3c32c32881234e25d8bda59e47a4f236751c9464dc41f93c67c16cc55082ef";
-  sha512.doc = "82d28f1adfc368582a5b1d05e2e73ba99bd05d51f9daa972f5ca753905341ee1d61b9e15d402b3017bfdd78bd64c7c222794bbf76073517f96ea1b9d7a58cea6";
+  revision = 66186;
+  sha512.run = "0d34e837c0f67ac43dd8ef5bfb9a11d2821188ef8259f41b0cf9454bfa6641f956c21d63fe15fbd68dd59f89c1da820cab4ec5c4579fc0255a771c47010821cc";
+  sha512.doc = "4b5815d766a41eb74125269e297eb6f7d1626d68b3f2cf9d6c4f8734721e3c71b63e84e729c39fef41320e4f728888796e421bb5c7ea5ffe76cd549400d18d37";
   hasManpages = true;
   license = [ "gpl1Only" ];
 };
@@ -15466,9 +15677,9 @@ dviljk.binfiles = [
   "dvilj6"
 ];
 dviout-util = {
-  revision = 52851;
-  sha512.run = "a9445602ac5a3663920f8c7d428e833b0451c3e80203be57cc6fbdda5db5f7c89da75cf58e74d56c4ab9cd817fc9f080a056ebd045828a0d5b034108cda61bc5";
-  sha512.doc = "61f86a23314334d7faa4f1ae0760aea6c5e5f77754a6a9b1d5952f09e3e15d3dead73a9f72ccfe9b9d7a022654f8d2e1e6e3051dc12bff574b6f053cdbc9b598";
+  revision = 66186;
+  sha512.run = "684f5efd93c0c12a07b753f169f44e764b01e4994faa86df8361ce38c15675a0601f61bdfc9702508f66273ac8c69250db65fa0d10d3c544fb78fcc824d4ff3f";
+  sha512.doc = "d10e8c9343f9065499e2c06b5eecce4047730875ccee29d6a09d1608e2334f7310282cff765c88c7da8ed8a52816910c79f3fad58d118f047d04b4bb7ebf44ca";
   hasManpages = true;
 };
 dviout-util.binfiles = [
@@ -15476,13 +15687,13 @@ dviout-util.binfiles = [
   "dvispc"
 ];
 dvipdfmx = {
-  revision = 61101;
+  revision = 69127;
   deps = [
     "glyphlist"
   ];
   postactionScript = "tlpkg/tlpostcode/dvipdfmx.pl";
-  sha512.run = "6dd78f4b5cabb51c3bd9988fa46bf90a5a79b3d3293257a4c563a8a76a5a03eb167ce3ec0d4ce6ed05412a551eb201f2379a50a97ac5355ebe833f7b34cee4b4";
-  sha512.doc = "00dce9b36eefd1788bbe455b2e5104efd9afc8bd891aeafb2cd9bdee406eeb25ab520e42e614e9d2363eb6a7273232bc3c4805bacd82a22099c5ffc438e852cb";
+  sha512.run = "75703f600365c90379c5d009e00d35d2e514a76b2556c96c84fc2a717287441af419a26fc9ef087d111f2e77c7180f6371ca2ec33b66052ab63ca3d11f48e788";
+  sha512.doc = "d2fb71e116470d2d629613401f448ad9aa8cfdfa9ada68ed324061e4ac614efc4fd2c4ea2542c8fae32f476b92aafbabe4a5be648f28f16708c43958d7aa99fd";
   hasManpages = true;
   hasRunfiles = true;
   hasTlpkg = true;
@@ -15497,9 +15708,9 @@ dvipdfmx.binfiles = [
   "xdvipdfmx"
 ];
 dvipng = {
-  revision = 62517;
-  sha512.run = "d24be610a63a9df22ebe6f53891519ab77900611d1159dec5e97b27160f3552b4cbce42b575a036125d2b15910a72cb5e3793a3409c5d0f4b1df0c2433e828f8";
-  sha512.doc = "976ff6c9628fe85adca2287f04d76f2c1605f243e28b4d32cb1ef9a90d30dcae0d202e6d5156914c204fd42b0a66460755a89f7dbdeb9ec1ccf6010cfe8daf78";
+  revision = 66203;
+  sha512.run = "a1693423389d56570a3fa1ac1eb45bffdef5fa9bf26d738adae1ac2361fc9aa7985d4ed0908b5f8aa49e2425da9821989a61a3ac925ac4432c9caa49f66a95dc";
+  sha512.doc = "a4473f728047cdf06743520a5cd4c79d7aa41818c44291abf4781f04b87822b03fe5db9f42d489d7542ca259070f71a3f255507f3dc8fbe772e30da8cc88722e";
   hasManpages = true;
   hasInfo = true;
   license = [ "lgpl3" ];
@@ -15510,18 +15721,18 @@ dvipng.binfiles = [
   "dvipng"
 ];
 dvipos = {
-  revision = 52851;
-  sha512.run = "152cc45942bb1d241008ea0924f1e96e2329d6fd4228be42dc6dcb9eb28081bcb3d80e407e9fdf0560e93d095fd07351cf073f14d4a4c25eb984613fd9189826";
-  sha512.doc = "2bf3fd5bbd7b6e1fb8a263dd0e3deef358bead727df5de280342376225fd7366ff470b9c2fca8f763890d1047fe2c7a5b138ade1b5fcab383c8113e10f245199";
+  revision = 66186;
+  sha512.run = "9e949fb402facda9c30fa2f388b80f2cfc530670b33cbd78559e4449fa6004c5d4082e4fb895ea397a334a333e5d5ae1a4f66fde3885f0a9eb28c9d9ebbecd0a";
+  sha512.doc = "254a1db41636608a133e7807a8d4ea8ddd99ac646f35b66a43205ac7fdaf4a15c21eafbb85e23a182506e509895776d1fcbe63b3b8a7f197d577c6405ece5c44";
   hasManpages = true;
 };
 dvipos.binfiles = [
   "dvipos"
 ];
 dvips = {
-  revision = 62387;
-  sha512.run = "a680a4685d3cbb429ad9dada0d48098f7755253ad1d7c808731f0f4fb4c37971cb937a9fa68bcecd892de93cc35a8086b742c86338460585c2912f36d00ade67";
-  sha512.doc = "a6acb780a45663fb21976622d7b6c3ea8d4adf1fe405ee97cd7c4cf09fa49b59069ba72b2aa14b53d3ba631b37c5cbd979929adaa274a0bec8b1272d85e1cd43";
+  revision = 66203;
+  sha512.run = "fbaf1dd979ceed4f7146d8aebc31ba7d770a8389b4ac214086db5951c485a2a3e3a62b2772394c8053444dfb8de0d22b3501c2ee3ee1e4e7493a1df5a34cc275";
+  sha512.doc = "ac2518c20c26dcda42df79be79ed24e2c021af2084ede43f51a5589b1023c9c94a307bd0a4742880e2c89d7620b2889f3a675e30a449d699d15db98922b0da71";
   hasManpages = true;
   hasInfo = true;
   hasRunfiles = true;
@@ -15540,12 +15751,12 @@ dvipsconfig = {
   version = "1.6";
 };
 dvisvgm = {
-  revision = 66534;
-  sha512.run = "503ca116be0a87f2606c9e898a591dedaa7a078713e30673eae5dc748fa4c4f13ce8c81852c959e84c3c45766daa565222db59a66315b0238e716e762e19eb31";
-  sha512.doc = "faa5efd79a8cf665cc502825ea185e1abe8ce5e466b5bf485f90fc2a21a1df564ce7f9c91e6db42e67acbe78bbeb683dd9a94231044503c8082f68c33d9f8ec0";
+  revision = 68950;
+  sha512.run = "cab242a5b7fec4713015b2d3b57f36256ca9b10d606f4a11803d7c2beda9486a1839e69cf58248078d08a89a6e4513d0d4629901c828a1d154cc30f1f7059797";
+  sha512.doc = "fbd752b03b37d62e00e041104e547b1e862908f3ae74bcdffd17cb7bb74c6de3998ce8beaa32726f42aa31dfc1e4f9e85601a39b62f10d8c7381816d3c4c44db";
   hasManpages = true;
   license = [ "gpl3Plus" ];
-  version = "3.0.4";
+  version = "3.1.2";
 };
 dvisvgm.binfiles = [
   "dvisvgm"
@@ -15570,20 +15781,20 @@ dynblocks = {
   version = "0.2b";
 };
 dynkin-diagrams = {
-  revision = 58758;
+  revision = 67267;
   stripPrefix = 0;
-  sha512.run = "d415f924c580e97ec653f4bb76f911acf4a800f48a078d95d070aa5583dca46b52c1008a882b255d4728dacee8ef59acebde6dd84c05d4c1d9443c4db835bb52";
-  sha512.doc = "b31e83f3901040e27bc61c82cf687e5b98fe8b7c5b245506485fe9df7b14d9a65633bfeec30ade8168faa7262fef69a54b8848f473c02aed02c81182d2efe5c0";
+  sha512.run = "4c7d15e3e04cc562e1f4a401546223af6e53f47f8edcaab6e82bb84246bb6c72b1acc15437402b161a123d11c21ac350d01b33ef7c8d8b7bab6c8dcb9baf7723";
+  sha512.doc = "94d9a69e3603664d9f81da2887dfdcdb70d9318ecc13c0232da64cf23e6d6dbcd072807035771c519d58283ac40f306901db8699061305b3c97a3f7ee42ecf65";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.1415926535897932";
+  version = "3.1415926535897932384";
 };
 dyntree = {
-  revision = 15878;
+  revision = 67016;
   stripPrefix = 0;
-  sha512.run = "8f8d568cc708e62ae1217188acf3deef05d7bbacf1da04f38c1f5b08d4b2bd0ee465021c923ed314ed284dd2234dce5079b7918c12d3bab72ad5f91749bdfe4c";
-  sha512.doc = "fde82bf8b97840014737734fb57eec7c37b34ca0d5eeb1a66c27dab16d4a5f1c4a7f7c10fb9c8bb98f3ef56a15645da0ab66cdcb658f69ea32eb84625b25023a";
-  sha512.source = "57d76ba3ff2e85a18fad69126a87b02fecf6f994de63af530831d63a0405abbcfad5ff7b33ff0f13c257b85bea73788e72a4347337c7355a25b85c5e762c25dd";
+  sha512.run = "e8591951639020398e8f6bd892bd2d43217871fae4e94ecb09bc6005f1857858edb5b3b9330c5d08e8490598fd2f3d45bba4d99a9b33de464d0c5e6478399689";
+  sha512.doc = "c2b2368a88648efe795a633f00ac826fff3b53029f557a4c5eb7dadbe882f560c768754adbbac09347b6bf44ee3bf77ec4b5ad57e9d5726e2c51519e0d02814c";
+  sha512.source = "8df01c048b52cad5fa5862b16d16672eda36158936af1bd8254ef6b9574ecf84263f5f70a466f2846e653e1565e2f57f297c4b05c281c16ec72a4fd1e1eb8f25";
   hasRunfiles = true;
   license = [ "lgpl2" ];
   version = "1.0";
@@ -15641,15 +15852,27 @@ easy-todo = {
   license = [ "asl20" ];
 };
 easybook = {
-  revision = 64976;
+  revision = 69411;
   stripPrefix = 0;
-  sha512.run = "3dc7b87455bd9258ae67ef30d2abd098a3f86c931c7e572d0660c43a1b5832d4d3580066cb315afaed026a25c6edd49344598427d4540087d91d43e3e202e1e6";
-  sha512.doc = "008b2c7b9dc5b4b9733d93e7880591da70ba7a3b146fc954b3ad07b2586a1594e901829e33ad33557794670adf9a5a1ed3035a158ea41a7d217f613cd57a6856";
-  sha512.source = "43fdaa65f4371b73b2171d3c6ed8f583a39f224fbe456a2d9c492454e7f6b3c8adb9ff98588d8b859d981fc14fb5eef02ec8827d57225b393b977647d2070a49";
+  sha512.run = "384ca42bbf351ddcde2675f202c4fc8d8413b074415d55f80858e982d8cc487583b00618b8a9a0fa084305b0bc425438c5859a18e8b2127d7cc58976049148cb";
+  sha512.doc = "8a9ec5d3147540f5ebebc7c85a2c1413a86d96d5961d7dadf9f24179bdf546f7645dc157a7f1b3ec12daefe243dafec828380532e867958733fa554baea45dcf";
+  sha512.source = "aef472cd48badc742213b17cfad43b5c5b59b4bc185548a3332a733542301f6cb6f9de10b60d6b7d860f6e2e62c43b9338a14eb5683456563e38377d84bc08dd";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.71D";
+  version = "2024G";
 };
+easydtx = {
+  revision = 68514;
+  sha512.run = "f3297c900999197a5acbd73b931bffb21cc989296777b4884d62792d283490e46b06282ae5ce0cf3b0411690432dfa442a4f00c693f4d6677b9ced6037234914";
+  sha512.doc = "2f9fe3dd6b2ee2d326a05de9f38966f26ea5baa154c3d7fdecea4af944dd041858b9e66f593b1a246bc6a3fe7d44d64fe1ddcb72e2495917bf8f4ad38b6531c5";
+  hasManpages = true;
+  hasRunfiles = true;
+  license = [ "gpl3Plus" ];
+  version = "0.1.0";
+};
+easydtx.binfiles = [
+  "edtx2dtx"
+];
 easyfig = {
   revision = 64967;
   stripPrefix = 0;
@@ -15716,10 +15939,10 @@ ebezier = {
   version = "4";
 };
 ebgaramond = {
-  revision = 64343;
+  revision = 66604;
   stripPrefix = 0;
-  sha512.run = "13bfbc47037107eb093f5272cfb2018b1fd69bc374d8b1753ed2eb2565bc5d90960449cdb2dc2455231e590ff301e10b296140bef88189d1254eafa86e505e2d";
-  sha512.doc = "f5195c8ec803aba0dc52690f63dfc497ae5196fca7720e39181ae364826b417eb772926e7b859607e2b8408c25feef63c9f9ff17e5ccb575861dd6ce40aa8522";
+  sha512.run = "4a676d0016c5b3c4e513dca01e7e2f1b5bfbc061e111935380af4937bdfe2493927b226b28972c060ee0c09e7c27c6bf828ea09151eec0b8df67530f62e30aac";
+  sha512.doc = "82713ea36e1eeb1d2673a049d9ffcae97627406571e6e8e47fa6a6853511beb5a5eeef8a63fbe88e6c79539b1fbde880d0b2779f6f01f20eb7b1c7fc716104bc";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
 };
@@ -15733,9 +15956,9 @@ ebgaramond-maths = {
   version = "1.2";
 };
 ebong = {
-  revision = 55475;
-  sha512.run = "2553e46f91021de4fc9eda99ff45f8efe9b20b0663912b4339b22247d1bf7125f9be398661fe24fa2e3fae6a220025d47b05f4680601f7b4842d1111a6128d8c";
-  sha512.doc = "22d20c89883c6cbb95f3fbc3da3f4c5526c9c22b15ec35828bb03a1edf068573de0b35187a893c8356b50fd59c93ce4231f02ac4f15de4071e6ced73b9e44a57";
+  revision = 67933;
+  sha512.run = "c38185b31613af4d6b27ffb5442cd404c1eb05669605a2140db85ae3074a3a7739c3e375e3cc16736f9c2889224f33f685d503b3908f4009fa308be7737aa499";
+  sha512.doc = "a3337ca9bfe756672a66554b88feb59a49f66ecd7d1aec3702d74f29bc53ac1052394bda679a4cb4aa7509c5eb712938ed943a28c6f56a749c926b8d566eecf2";
   hasRunfiles = true;
   scriptExts = [
     "py"
@@ -15839,13 +16062,13 @@ ecobiblatex = {
   version = "1.0";
 };
 econ-bst = {
-  revision = 61499;
+  revision = 68761;
   stripPrefix = 0;
-  sha512.run = "f236b3a15da35eb09e878d56f6d7c4cd632b71f262b9c470c3c64dd96aa43d305a44400d93786b8bc7f3a59773812c4ea03d6e8901cd1e7e469aa36e948bfa26";
-  sha512.doc = "60761364032deb253bb69aaa13fc10d6e8ec2747fc6af77285cb5fd53f250465d1e461110ae221050fba8150a5b1b5db9d4879689df00a33f9c8106e3e385f4a";
+  sha512.run = "e46ee69626bcf1fbb051d66572e1335496bf7981023540707cd267624798d4b4e75022cd85e0bfee05a227cb20b65c3b70053a4262b662269f905ee89569d2f8";
+  sha512.doc = "dfda5046d25922e563df6deb93a9d4402f75c883a8b449f70430c7ab7465e8d8cc392b585e5aead7fe499ed9143d5928bb556ad7ab4c563d54be11270cf8cdb7";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.1.1";
+  version = "3.2";
 };
 econlipsum = {
   revision = 58390;
@@ -15988,6 +16211,15 @@ egameps = {
   license = [ "lppl13c" ];
   version = "1.1";
 };
+egpeirce = {
+  revision = 66924;
+  stripPrefix = 0;
+  sha512.run = "fb91855cd9264b72df852d4adc5d369b26efc5305c032120013d6cb18e99a94c8123cc7c9a4cad86ef3144609f0a34f3645597c91aabaf165a51b903b24c9d11";
+  sha512.doc = "c78830f07e8e3caf99f51b53783112fbc7b6ada78ecc284a53e90c532331ce9e4430540e5cffed679b447b9e23cd5bb25c4d437d07a127e65e142322cabd65fa";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0.0";
+};
 egplot = {
   revision = 20617;
   stripPrefix = 0;
@@ -16033,13 +16265,13 @@ eijkhout = {
   license = [ "free" ];
 };
 einfart = {
-  revision = 65475;
+  revision = 68376;
   stripPrefix = 0;
   deps = [
     "minimalist"
   ];
-  sha512.run = "b9a38014bc6169a750e4880048792f8c4d2e1904528207214254bbdbdd3cf140c1e3bb6bc8974001c32edc5f93c5a9a07b7d839d578cabd9d4ba3f5e5ce4c374";
-  sha512.doc = "30d509c34925f252d55e47255c7deff36d1b922545599fa35fdc227a4a5dc5588649486d10d083a4602dbcc99a1fe953ea66d46aa6b566399334b33b45ff57df";
+  sha512.run = "bdd96c338f02a27d430db81f665dba86c112266577b2b62c0009637324b5560dcc48b30c3f88a45217ba8a094c342b8ccebce54941c61eb0d28c37e966d9e861";
+  sha512.doc = "8727d905963cfb0955216f8d42c7a27404db7ea188e008f654e130359fbde9b33adedd0e9c723ff4fbca49e2ffbae3f457aae3e5864715223c80ac55ab19bca9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -16199,14 +16431,23 @@ elsarticle = {
   license = [ "lppl12" ];
   version = "3.3";
 };
+elteiktdk = {
+  revision = 66821;
+  stripPrefix = 0;
+  sha512.run = "01ad0912bd93cb849013665046de7ec3773d90860b92c98201a7b075799cf6adcaad6f820abe95520e848f088c85b71afa78e49067da8a1abdea093de4476935";
+  sha512.doc = "5d0fef08a196fd796fcd3ea74f5385b83b361c8e7f1bc2bb4a5f663a5d5a86820b7bea137790a973152e5f475008423ddc55f18613da3bc48be211bb79e3dc9a";
+  hasRunfiles = true;
+  license = [ "mit" ];
+  version = "2.0";
+};
 elteikthesis = {
-  revision = 63186;
+  revision = 66820;
   stripPrefix = 0;
-  sha512.run = "0cac3096da5ad422ddd6a9ecd72234036ef5f73279f614ea971fda8141e745e15170c9667153a11cc87e5d79d929786566561d6b2cd4d135e3dca808077ae2e0";
-  sha512.doc = "4f8b437db0b5842ddeaf409fc480fc52580d78b9274fece82e762d40279e39aa8b8424e9c80103a88abfaa72f3136b07044ac121e5a466b27e5e7331bf6bd7c0";
+  sha512.run = "e533636f732fead1525c3264f96f69e19074728955772c92c381dedc42e0ed5b14bbdccfe5f9663a8a54a530f52d0c8e2fea556778751214cd626372004872cf";
+  sha512.doc = "a3f8102e22a12d0a970e881d3937cde9a4f71550132067ef844fd72e35c6210dd6feef56d236837a2183fa5d749287dc3c4db4cad00dd4c09cbe47fd431a7571";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "2.3";
+  version = "2.3.1";
 };
 eltex = {
   revision = 15878;
@@ -16293,6 +16534,16 @@ emisa = {
   license = [ "lppl13c" ];
   version = "2.3.0";
 };
+emo = {
+  revision = 66944;
+  stripPrefix = 0;
+  sha512.run = "633c92dde16b5170d5ea27fbb5e72e865300abf27054cd167652ebe598b90a8788d129c950e5a230f75201648b25aaacfb6b47aa44e994d05549c31a82600da5";
+  sha512.doc = "e60b38c75c23bb4ec5d453d76fd2c815abe712d1c602eac6897eb1ec9b51f1d6a964fd5aae5c7ecf17956eb9d39104708e887b0efab0830b72b9ad37c8c79af2";
+  sha512.source = "79cdc96d441c82b4f59b6f2bec0fb82b047d1b9540b0f29946c2d41f355118e3a9cdad2da2463ea4c9a0e26ca832a98db5b88f4445baf6ac41abff8b443ad1d5";
+  hasRunfiles = true;
+  license = [ "lppl13c" "asl20" "free" "ofl" ];
+  version = "0.4";
+};
 emoji = {
   revision = 59961;
   stripPrefix = 0;
@@ -16516,8 +16767,7 @@ envlab = {
   version = "1.2";
 };
 eolang = {
-  revision = 66283;
-  stripPrefix = 0;
+  revision = 69391;
   deps = [
     "amsfonts"
     "amsmath"
@@ -16527,13 +16777,17 @@ eolang = {
     "pgfopts"
     "stmaryrd"
   ];
-  sha512.run = "992fa67344e812c7eeea80ce93f1bc7327bb0eb1782e65fbc8a31b2dbab33059532a2ee6445ee5768e15cf5ee7945123d5e3eaa527e72dbeb1a2a16afc2ecabd";
-  sha512.doc = "62a7b5a9a922649a035ffbad8dff10e2e1b97e3a3ebaf94b222142d94b9d20106d492b1fc1a2f349de1fa782b3bac1aee5a9ad3d563f51fbbf46d8037a81e07c";
-  sha512.source = "652e1a38b1639805a4c980585c8424cf3f501e9a22fbaf52738b21b8363741d013474158f8866334e335aa839c519070595d318421cf29f4b60756e11dea58d6";
+  sha512.run = "10c7dc6dd0b824fb2ab22318b6ecadb592abb552b4a6fa58fb89612add290928b625f9f6d6ac3bd5b1202662545e51bbe0d8b154025135f92c7999341876b976";
+  sha512.doc = "6802a32f5abf01bdf32bdb7299e82ae2740e8323bc1ce0fb6dd5d38c87146ac52abd4fda69bf28dfb8a10ed09223d4c3f8d320510131c5a81f5262f2e81af9fc";
+  hasManpages = true;
+  sha512.source = "97ab60d5e21fdac9aca815b6acacc31fc534474fe6037256e9b18ce4cae3830ad39257f593a95ebaf35018109286140c46769990f60f659aaa78490bfe717cfc";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.12.1";
+  version = "0.18.0";
 };
+eolang.binfiles = [
+  "eolang"
+];
 epigrafica = {
   revision = 17210;
   stripPrefix = 0;
@@ -16667,9 +16921,9 @@ epslatex-fr = {
   license = [ "gpl1Only" ];
 };
 epspdf = {
-  revision = 66119;
-  sha512.run = "f155834a9636991c8ae752f61f70bdf22ab3172270c85aebb05462cf26e44f6e81fb83842c8515bfa54e632a3beab8bb91cccf2b5eef459d77738443c77df56d";
-  sha512.doc = "5d06f8a4ef295e0fac8cd1dc73ff98e266dcf4394ed76223c92d20758fa8195ef5bea9bde49b1a247acfdf67aa7717092f978b55fc4fbc8665922487d57985d6";
+  revision = 66115;
+  sha512.run = "3dc467713b1d90b96a8fd3903effe209fe15be82463a1ef4693e29e7d145220936bed0e75dd3824a1e520f778ab9b96fe29389037e14690352db136e642f6a2c";
+  sha512.doc = "ee5687a3add6773e127a1e83c91683b5c6ea5e37dd98ec5f5558a32015d292c31f1a456c985ee5d2e4201c0a47324dbac4a7129529236438676f587985bca64a";
   hasInfo = true;
   hasRunfiles = true;
   scriptExts = [
@@ -16693,13 +16947,13 @@ epspdfconversion = {
   version = "0.61";
 };
 epstopdf = {
-  revision = 66465;
-  sha512.run = "7640431f06879ebf5f557ec298f57dbedfa8f19d332cd05302bc09b69a0eb676f89597fab7f2d7d6358d023bcd3888e6007944f3cf66a07c6a852fe5b064c800";
-  sha512.doc = "eb66e71ad2ef95d603f48bc70a997fe17579e57c9e0114dc33dfa30207f3babc28989f59f8cab2299ec03d1b3665cecf53e3e07750539906d4a2c374c3424d49";
+  revision = 68301;
+  sha512.run = "fcba30848cb2a5bfb12cf89e1ee6d54bb89e7516789738e1fc7d9b1d47c403ff6ef1d679c9fed214669e8d06fc5e76eec2af0ef513d2649cd1d44b535287455b";
+  sha512.doc = "9d9068ce64a2e14ad72de11c6a608bf9379240c0fab77a7bd29fbf2774515c5eff12b375a592d3ad6c8accb06021309768c3965284d18b89fb0a57487e2dba06";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "free" ];
-  version = "2.31";
+  version = "2.33";
 };
 epstopdf-pkg = {
   revision = 53546;
@@ -16817,13 +17071,13 @@ erewhon = {
   version = "1.12";
 };
 erewhon-math = {
-  revision = 65684;
+  revision = 68990;
   stripPrefix = 0;
-  sha512.run = "b836d20c767218c485853f4f83516bfebe97d54adf37f031fd5ca04813b5cbdf40ca7586bb0725d7c893475fbf849d8183fd5f22ef9bfbd5a4f22642e27e2f88";
-  sha512.doc = "8247747d74e7ead936ab648358f6c52a539777828fb9fb157bfe22cca3191f467709a4a6264a3d3c55a0731292ec010bcf71acdb542e95998fe8f521d4364bbb";
+  sha512.run = "30e5463f57ce8562c94cd6ed302c9b9bf5624d34a6f5b2374d691afc097edcaca779d45d1f6a22747c2c8d920f6f45d9c6f5f8a3d09123b27188ba84c52caa18";
+  sha512.doc = "193b4ff5e877b3f8abde9e81abe208ff1545e77e81b7d78a4d19a858e4722177ac8fe0453bcef672c348c7703fe1c53891e4a520348d11debb43102fd2450864";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
-  version = "0.56";
+  version = "0.64";
 };
 errata = {
   revision = 42428;
@@ -16854,13 +17108,13 @@ es-tex-faq = {
   version = "1.97";
 };
 esami = {
-  revision = 61596;
+  revision = 67707;
   stripPrefix = 0;
-  sha512.run = "2e0c1bd441ccb4376d1dda69f32cff55bf4d043315dd2c004bf6bebacdc510ddc9a1347bcadbfb96dea7be94b6d59ee050746afb04f50196dd7c99937b7e8505";
-  sha512.doc = "6bc50f4083cc401278a526c44a76e5a9569d0cbb7280d38270e95676fa359c08a25779709576c1532ec9296457d970d2abd82eeb78b2ac4923caad9559da77ed";
+  sha512.run = "e5e2656b1f1dcb224652ada214871004828ac04c2ad316250e4ce1ae54f509df5607248eadcb018308ad2eb14ea761224962b751c7998b935540b4de516d4e1c";
+  sha512.doc = "7eda39cb0372f0f500b05196d526a215efddc58aadd1ee6c66504f73129936fbffc65d80183662de665b6fd54d4a9eeb5bdb2c7d5e11ff645c712ca6d712fc18";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.7";
+  version = "2.8";
 };
 esdiff = {
   revision = 21385;
@@ -16940,14 +17194,14 @@ eskdx = {
   version = "0.98";
 };
 eso-pic = {
-  revision = 56658;
+  revision = 67001;
   stripPrefix = 0;
-  sha512.run = "d4020b6d7f1ed44ecfc11938d604595e48dc32a24e2e67742016fbc2022f19ab63c759ec03030d7d3a996cc00f7a08ce8cb1354d0e9234f116080d732e4dc5e8";
-  sha512.doc = "96fcdb612c8473fffe672a6c443c120b2cc8dafec5b43de132cd8f758d85bb504ea14285af121921afbaafea7c6df99e32f6c50101d1d76900b1aeba38c3010a";
-  sha512.source = "86655acc2d9d11084dea3791a171b01e18715cce77b2300220764eba88d4a049a2a6bef6ff7bc1b90fdf337379be065a2d998aa32e42a0dd04b21f0293d1c14b";
+  sha512.run = "ee2a5c75fb02f94feabff9107d8e183cb3ce2dc7d38f8c82b2748a67718286a824e839443a9cf00edc142148271c83ae08017f2d5b8e6bc01faf50455187e75e";
+  sha512.doc = "ed03cbb8e57d28abbf3260c4a97c10833c89a603e219882920ed95fc2eab404c461a9c89b21772757a37245783c3ee10743f7ed248d4915d04a0619508469095";
+  sha512.source = "988e2f00cec99ab76b95bbb1a64a47bd11a3bc258bf04fb26db8825f381922d6d4db5f4059e09d9969c6a00926a8f6b4b235be82027368812fce493f5f16854b";
   hasRunfiles = true;
   license = [ "lppl12" ];
-  version = "3.0a";
+  version = "3.0c";
 };
 esrelation = {
   revision = 37236;
@@ -16998,13 +17252,13 @@ etaremune = {
   version = "1.2";
 };
 etbb = {
-  revision = 61872;
+  revision = 69098;
   stripPrefix = 0;
-  sha512.run = "986a063266a6081571e9a9db60674f1cc795f15b32eaa954214b4620b29cb43043b6ba6cdc9cb02f20f809a65939dcfb157590bfcf867d999299ae34520f9f8b";
-  sha512.doc = "1278c7281a247416f4439b9f034d2acab7bd03e47c63038d8a4ac12793968e2508cf562940d0a0b510abc9ceec3517dcfb277cc365c9d3998797237610936613";
+  sha512.run = "e034a9a750043f459b8682229bf01c08b341b4494fd6fc6669e1065652ae9154e0eef74038f1e5f16c2d57390ebfa70056198d563f3e454ee3e4806971a707d5";
+  sha512.doc = "cc4ebfcb831cdd9f02c93248d5083b81a69c59163fec85d469a17841607affb51310858b022ea819055c6bdade821d330599c97838ab9f92de7b8fa4d8f8f0a8";
   hasRunfiles = true;
   license = [ "mit" "lppl13c" ];
-  version = "1.056";
+  version = "1.057";
 };
 etdipa = {
   revision = 36354;
@@ -17015,10 +17269,10 @@ etdipa = {
   version = "2.6";
 };
 etex = {
-  revision = 56291;
+  revision = 66203;
   stripPrefix = 0;
-  sha512.run = "662338c145e84577ee49bd7d1941ade688d07ab8382faec25d6f45891953554e85ab4d531164e58db97071a7950c31b36f9eec8700ad4b43dffef30217f0fd89";
-  sha512.doc = "d7c7cb6c0a8c2056be906761c7f0173c7ec28aa4e910d9546aa75aea79f8a2aedef06d708710135d3f557586990fefd73086b4f11b8b7642a1cbaedde91b1b8b";
+  sha512.run = "419c85187d6832c9624c70936b3ad879987f665e54bf1fb9a7ddeb1096d09677693987b187e8d60691235d721a1b995fbda36351ce754b9c6a2a44bd015c0ac3";
+  sha512.doc = "ae5b1f4d0b7746e294697567da95a400ada069223e497d4ff906d13e4515e879d85532675886ef0d14564604163659c3d6715ff00ff29fa06fd876eed9cf60b6";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "knuth" ];
@@ -17081,14 +17335,14 @@ etl = {
   version = "0.3";
 };
 etoc = {
-  revision = 66351;
+  revision = 69343;
   stripPrefix = 0;
-  sha512.run = "09d7dfaff6ef2ecb45d65603fcfab0e4fa7810a91d8b27faf313167b763979dbe6ef14ab8fe75c22f978ad5e4ec32240eefe58ed13a85a7c186b5183de7163df";
-  sha512.doc = "046215c38ee4006e519d23ea58feca30b00fb3961f713ac49e0b5743af775d4379c9642d019a0e537874902ad6f0a101d5152365ec5d283a2411ea9a024d1161";
-  sha512.source = "3885e247d5872070c6197e3875e716d9c6bcec91656348ec06678c5def05f02add7440ae253df1ec940cb5205e7bc6eba398ac4b1b312b0da7a7b7f705b2ae80";
+  sha512.run = "ee9e46861d53c0cf3f0807f55a78b2e9c24ed6d5b37037b87f162a297421548561728dbe268927e7155a16da256e61b24c74ee9b1c18addbca937b8c85ce21e9";
+  sha512.doc = "693a6589f33a93e9086342d093b8801235d9e7d8e1729400e4e1069d0bd9457bf8b96c0a946110f12e2cf6ae646dfea81fcb9a795724558f73e53bb87b300957";
+  sha512.source = "0311468458efe4ba2b12bb0917dcc4bc763a1f7e1e6f2621843358afea9edc5a96373f5beb74224df33be1276b36cf53f7d45fd7183574acc38057b31c51f01a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.2";
+  version = "1.2d";
 };
 etoolbox = {
   revision = 56554;
@@ -17107,6 +17361,15 @@ etoolbox-de = {
   license = [ "lppl13c" ];
   version = "1";
 };
+etoolbox-generic = {
+  revision = 68513;
+  stripPrefix = 0;
+  sha512.run = "12bb7835b59a33026a0acff3c8f8204bf9b159fa84538332ebd7e4ce7116f3ab0dcdfda075555e595c050dcf96525a67f13ab33757df5e55e21b62c3d08488cf";
+  sha512.doc = "f877ad6a682abe82d84bbd1e9bd2870d80d5b79a63ef150f0eb4cc9abe0cf07c485b59d55281709027d705843bb7da33cff2eac6d382885ba806068a3a651c7a";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "2.5k";
+};
 etsvthor = {
   revision = 48186;
   stripPrefix = 0;
@@ -17117,14 +17380,14 @@ etsvthor = {
   version = "1.0";
 };
 euclideangeometry = {
-  revision = 60697;
+  revision = 67608;
   stripPrefix = 0;
-  sha512.run = "cbb755602a75397494bf745c62ef1a1f9bb0e0a1635a20e9afb839a0e02c7b2041aa1b8364c8f8c17ca5be1d296831a8444f67d74ab8ce415583d7ddf81f9de4";
-  sha512.doc = "2507ea02223d4da14b79e3343f765f65259efe3b6a2558348cf1d2514d0ced1e1e631b84d9dd0b178b3faba455f5bb292b6d16fc9fa9f21e0599d272eaca7f1d";
-  sha512.source = "db799a444094b0e0f708cfa7c4d5ec0cc52a1652254bd28be4e8b8e8325d6aad3ff6bde84d0378ad43abe9d008515205def78657ea7b196aa23010cec46d8f23";
+  sha512.run = "8aaf01108b5d96000d909e3d041a7e9c00cfa85043b25fcf4029238f2570330b2402a2faa4f63f80ed84d5dbd3c12cd4690668714ca1bd75c14673b2828619e4";
+  sha512.doc = "21d80f3152ecf31c62d203b77ec42c183e2a6058faa173163fe456d521e89cc514f83b0ad60684f2b29c7952428670afccda79372bbea1727d797dc78de04bf0";
+  sha512.source = "e48b5ced844b3ad25f11c6afc93fbf5bde4693d9977106ab175c369bfda583c0725aa77185458a88d2e38797b31ff074a48999774ee9ab8cc76480684a815f77";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.2.1";
+  version = "0.2.2";
 };
 euenc = {
   revision = 19795;
@@ -17167,13 +17430,13 @@ euler = {
   version = "2.5";
 };
 euler-math = {
-  revision = 65685;
+  revision = 68991;
   stripPrefix = 0;
-  sha512.run = "912d06b33ec56da0103fe7a13ba2f3e95b602842d83caf6d4fee6a55fd47f7134f70b7bf7b07736f531836378a9dd60eedd7a0297de19388b0f6ea997a140464";
-  sha512.doc = "c197e59cbd9035e915649f99605f9165c7eac55143a96b942e43a718d7237aae14db3db3afcff0b05d39651a3d81a544259d2d435ccc8895be9e831e29e18c36";
+  sha512.run = "b248ed589be13fa10210052b13c6386f4544e5cce4327902a3e2ab3b5c2a58a611393c1ecad4f72a1d4a4302b7677ff483a42173645ab3462109f9c25fbadd8f";
+  sha512.doc = "620cbbd6eac6adf53bf9ba95bafaeeffcce2f34d6a94d45a4869b328c237a3ae59f18d05c518861d56859f3f31edf16f191f28fd122ad4c456fb5301c68be96e";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
-  version = "0.31";
+  version = "0.51";
 };
 eulerpx = {
   revision = 63967;
@@ -17245,13 +17508,14 @@ euxm = {
   hasRunfiles = true;
 };
 evangelion-jfm = {
-  revision = 65824;
+  revision = 68059;
   stripPrefix = 0;
-  sha512.run = "8f65c7a0bb9731cfa5294015fef8936a83e5cec017162997aac76cbaba1ca215189402f3c8387fc55b569395f6c7b8289a6bdbd7cde235d89484722ea257a2dc";
-  sha512.doc = "2d2d92b7189c69ce30b5ca00900a135fdacff50fb9bc5ef61adb879bf744ea52b3985f948b8c8582169acf577034790436ab606f947c943b2fd5ddadc495bf13";
+  sha512.run = "5839d7899e8dd8a5fcae792fe40e234fcfeeca9a19bec8d2e8ec7be0217a73fbd58066f6d094e37b36ab9501d53eafed7f3220ee1ebb37ce767c8dd3868708f8";
+  sha512.doc = "65447d983cd4a2b112966f8bc9de7f9a7eb2c8f38a9266db5a416219ae8b817f82f62fdc79bddcb2bfe3a67c84c6097975f178bce664e7ac23e2f29363c3df7c";
+  sha512.source = "8f31d019c8db0d9c817e5579ee9e3a31b936e91d0270eccb52ee6bfa544d5aedf8d0bb0d4af5a7aaaf3366d338ee0cc47647e211738d956857f57f28770e08bd";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "1.0.0_b";
+  version = "1.0.5_b";
 };
 everyhook = {
   revision = 35675;
@@ -17294,13 +17558,13 @@ everyshi = {
   version = "4.00";
 };
 exam = {
-  revision = 64134;
+  revision = 67600;
   stripPrefix = 0;
-  sha512.run = "cb32b9df4d85c1073d5fb7304bcbb2266f8f63006417bfcce81c8ecc6d401a31a5fd3c9fa3031014576f80cc4f82b99b398418c20353db6bf6f74de025eca4e9";
-  sha512.doc = "a916fc60c847df4f2e275a36f1d298da8da8fc3f248b2f1b9c06f184611d2e52ce5b417c7d9e8dec319c382ce9cda76000c7482d6ea68b204e214899133a7793";
+  sha512.run = "99621f442f2a36e661f98e2722776e2e9dc394abc39cd20d45bb6bcff3ed362a942dc79d386ebf45efe053fc6abe2524d95fc85c4c766d241385970fa00e5f65";
+  sha512.doc = "abcc7ead3c7d4847537476969bb708f61430940e7572e078e26baaeb6f2493309dcb996bac0796870825d4badb7bcabc81fc49aa7f4e71c0c816fd7e1ec875a3";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.7";
+  version = "2.704";
 };
 exam-lite = {
   revision = 65754;
@@ -17330,13 +17594,13 @@ exam-randomizechoices = {
   version = "0.2";
 };
 exam-zh = {
-  revision = 64434;
+  revision = 67505;
   stripPrefix = 0;
-  sha512.run = "72932cbe9de89515f1c50a37c7b027ad3bb99c7495712b145f4e642e99ee732ce5663604175db2966baaa04104e7112881640dde766102ae8b05809ca7d47397";
-  sha512.doc = "26c307026e5bc483d3e978a1e0e75ad5954bdab7f85ee4932df2b201f7d207dfe43658e544ed8d8d89aa0a76df8f6ec6e8d9ede0ec39b956f33ebae9fb66e9c5";
+  sha512.run = "06aad5aaab885a208b6fe999b595799c2ebf99998f1e341a52f244daf0e4e2bf323f27b4888996755ac64738a70468bbba94cdec94ff8b76998299ea468dfc87";
+  sha512.doc = "076c183310db5094b07c1e9e642a4dfa3e3ce9639a53d0b62bf83377e8ab62bf4b232a0d3446afcf828e9ed0f81be14d3ff95963254c07d2bf0a5ca8f2818891";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1.20";
+  version = "0.1.27";
 };
 examdesign = {
   revision = 15878;
@@ -17364,6 +17628,16 @@ examplep = {
   license = [ "gpl1Only" ];
   version = "0.04";
 };
+examz = {
+  revision = 67303;
+  stripPrefix = 0;
+  sha512.run = "7394aaadd38993f44b63409c28517af05f9875840d094fa4467e8bfcbf1be4af41327683264ad81107f2f84f024fd683a62fe32c04d9f61ee0532b100fec93f5";
+  sha512.doc = "400eb0b85928fdb12e1afc58036f6cefadc301ae4a3e659d1cd1f2fe122231729cafbab7a05910cb47d969839041ea240df26e510b43a6728e2d1794271442e9";
+  sha512.source = "df30d1ca746c4c4efaef640884ea93eb3d97288addc5571db4ae76454ec26e2b57df5e401314b9628454774c8d29b4e69b2a2e6391c30da2c29a7b7330e670ea";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0.0";
+};
 exceltex = {
   revision = 26313;
   sha512.run = "ef8495b4ef6937af022951044652ea1fb1dcd3f65961408e84a52f9053db8f4fde6703f18833ee9cd002bc058f01813ddf765f575200211563d6e16a956d3613";
@@ -17423,14 +17697,14 @@ exercises = {
   version = "1.1";
 };
 exesheet = {
-  revision = 65577;
+  revision = 69252;
   stripPrefix = 0;
-  sha512.run = "955667020291c3ca7417689606734e0d7cf0b8720e704271e46a2e466d8d48c37dee7a675a3dcf2b52b90b87901a5f65294664499b11fee94f0ed2689402bc25";
-  sha512.doc = "e792d34696ad92f186977672ae7bfdf80fab06c53c30e572359ec6402e1f0190484af52af4525f3414bed81d8ab57bccb3cf28066ff5c57a27ff3404ae0d098c";
-  sha512.source = "de1b8dc1f333dc693b240139d3379fc57f5fead1cc90b3a3bb96bec1a5e19a7519df5bd30b15ff9f1458e651dd36193e100e327e19eca8848af4dc8a0f1191cf";
+  sha512.run = "c659dfcfb0519983d4b45bfd409a155b1fec79332466108f7dc7535b5141baa8c1f48feb7929849e02077d76df15b245b60f6840c1ecc3c4d253aaf218af7422";
+  sha512.doc = "3e10ac55ce9878fe68cb5b34223b8c45f5a8edda7d527efd0cfa2c40cd8fe32582c507aa03b50afd0c7a28a251786ac5cee4a9612789243993db2cc656c77780";
+  sha512.source = "fe8d5b47bce3c0336ac7c0edbfc0d27580712d72b108f612dac4cb0957782b8d202244c84a205fc1731b667ec4986df8338cda346ddfae33f19aac03fb83516e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.0";
+  version = "2.5";
 };
 exframe = {
   revision = 53911;
@@ -17472,14 +17746,23 @@ expex = {
   version = "5.1b";
 };
 expex-acro = {
-  revision = 63319;
+  revision = 68046;
   stripPrefix = 0;
-  sha512.run = "e009e9b354c3882416ec28c65d0a4ed48e269ba72ab30c56882eec49fa3a56d3423b0622b6e0af67695dc6069a5e292af4caade54f176e0d84c60b1e9b669e59";
-  sha512.doc = "c77aae7ef02df11f7a2958bdc7b2b437709d0072005549bdd09c25e11c6cf6eb9761dba6566daa479c1d395c1f8255ed5120fc11fdbef9fe948632391bfdd1dc";
-  sha512.source = "329e569dc128341b896fe43b3ff7354fe86c97157318841fb1e30b39962d70caf27451f68e1b956a6a8851310843c0071d70fecb423adac7071a7d124843707f";
+  sha512.run = "303eec6a2ff399771eb33ecaeaf85fa4a95dcd6bfcaf2a99d702dd148c90b99dcb6ec292170406e497839d5c64ca1a5a6faa20e6cd64a497eae7900b2f28f098";
+  sha512.doc = "cb24be981f9ef838be718f44f2b69ee03f81bdd0c6bb49ffe632214f3b6029293d92bd492f59b0c34bc39aeb506204f747a6e02064a9f222cd01053fa1ebe98e";
+  sha512.source = "c07114ec326345002f5a4379125516083452e7bc38ce949280a850095d260d8545fc1a3672206163dd43985a48a1e249038daf401359be8383c889a01397982c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.0.2";
+  version = "0.0.3";
+};
+expex-glossonly = {
+  revision = 68860;
+  stripPrefix = 0;
+  sha512.run = "e7d00f33d6a63e27524b9ea2fd7cfdf5f55bbcf3a0190a6967fefa11b4cfde4990dbda74da0ebe14e6fa76e8e0e4b5084ba352e39dff46f8e2028aadd6dda26b";
+  sha512.doc = "7ff5b9dfada3ef37c0ddc28a472a33a816d52b7b9b265291c640527e6b8974ca21d5867f7e271856a920589062eab5563b29c919a7df66b51af93af5e12fed5c";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.8";
 };
 expkv-bundle = {
   revision = 65623;
@@ -17519,23 +17802,23 @@ expressg = {
   version = "1.5";
 };
 exsheets = {
-  revision = 52227;
+  revision = 67300;
   stripPrefix = 0;
-  sha512.run = "c1263842d06916762306b0ead03cfec31535f40d41a0abe504366d0a762850f683b10563d47d149e89ddd75c18c3da7687a19b0a5bbe2b628acac1ed891a8285";
-  sha512.doc = "fbb9dc0826789f6c19734b0b50925d035f3b55a5402dce6ced4cf6881c032d784d5f219b222170961a5e1563b2dd8a5c64e7bcdd434ca61dec94a857451250a8";
+  sha512.run = "475b2508bedfef0f537b02dde56e489ec464ab500e1b6b63e7d8accaf9d5c17e8973d9aee8d370494115592febe684262fbad239fabe5a314c5d89e781506377";
+  sha512.doc = "8a00471bef6ab06927fc7c3a4c33e32a2f6de376cb238fa3e06e3e5a44c98b2ed413f74e60bb207c99c6e64f934bcb406d898bdaa0bd6d9c70b3b5133f4e8178";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.21k";
 };
 exsol = {
-  revision = 48977;
+  revision = 69343;
   stripPrefix = 0;
-  sha512.run = "ef7e031334a27a522f54c5ba5adee0fbfdb4cfefca6e8c1d4f67c8bc542c82bab6ee89d35f8ba8e65ed0b17107fd164c00ed416c64160991b59693f5b567b502";
-  sha512.doc = "b6c5dd47fba5d14560a2d2341f1d17b17eda0ce16a6198ec589f47143ab46fa71808aa6a40a43613cf906542ed9df7d164fb2c7fe5785bf414076934932c63b5";
-  sha512.source = "1fa45d6d526e94e0574d15396a6d191d6b00bba30ef996aa999bf2b77a5426263f1e0a94303c07ff139bf44b0a07f419c19ac1c854c32b02e4c43c397c8a85a3";
+  sha512.run = "b29f3f9e3ba9d4b98b5db23876e69cce17740923419bc2999c742bd24ecf8f6434bc6226bf4f0bbbd17de79b45653b97ea85866b76892f07d696b0ab5b6afb46";
+  sha512.doc = "8be8c7e37139dabc5095c1c77f21a55e60666067ffaed66448db31a3cdf1ef2c21cfa4cd8e4021ecdb6586f1a7b0ece40ebd79f485f878fb25249e1094b7b316";
+  sha512.source = "d48acde6262a2eb4fcb2de2f0e3da5f7b0c33418d896235b2ec656df5fa946872c8cd4b266b8801fea5f9a30bae24154ab663358013e450736742604742578d8";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.4";
+  version = "1.6";
 };
 extarrows = {
   revision = 54400;
@@ -17605,24 +17888,34 @@ factura = {
   version = "4.32";
 };
 facture = {
-  revision = 43865;
+  revision = 67538;
   stripPrefix = 0;
-  sha512.run = "6657931eb2c0a134c53cd9271109552d4b8848247198fee9aa8d9010ff2faa4909416484dec8809d7ddc58b4202f9e2a97c5b97279e5432a1e928f91d7cde71a";
-  sha512.doc = "a96e30b15f1fa827fa4dafd3594e8b98ee8c17c23056926d82243955971225d5a4bdf41a1a2a5b19049619c2eabc1b8529db70adce17bc126c0e1e3be7ecb2df";
-  sha512.source = "2612d792d95e3e22727e3e7ac4c4932e1f25c3788ebf6b4eb1be76727c52694a65c378f13ce917f9cec3975468f79f7a6d62adf4f125c57e6b644076d22e7bce";
+  sha512.run = "30ed6e76f8801f61eeea27679c8c23c050c7d17c334eabe0a00984b1117f046314e59c2c52225ca7d38eb71b93efa57dd563fd582eed500fdf238fac9540b606";
+  sha512.doc = "c84aeae53d8324b9e4f1d386dbbc8774d1b9266ca5c8b893a7280bdbc2578dc9e2ca9975874f4d0cbfc5dc10455cac322d9642534b0fc1384a6d7d192a816d51";
+  sha512.source = "5d2f865404607f25af2c0704d83b88a359ed5601a970c6798eaca104a2b61bf45745e271c9f19a6b41977cef1119e6981f986a20e05a07ba6053b24c5fcc4832";
   hasRunfiles = true;
   license = [ "cc-by-sa-20" ];
-  version = "1.2.2";
+  version = "1.3";
 };
 facture-belge-simple-sans-tva = {
-  revision = 49004;
+  revision = 67573;
   stripPrefix = 0;
-  sha512.run = "90d1ed96793b0463f14fffcef020ae58673df10bf511756387eb38bb2659ae3e362f52d898996410447bb5304f3950325fdaa25841ac4351b4584da951da2b4e";
-  sha512.doc = "f111fd7a81812aa0d65c4143751bf0bc331f8de248876f81c5517301d8a9743cf2e091de6180e3ec1d74a646ec539b65f0f1d8068ad1eb5e6638cbb783b4f420";
+  sha512.run = "b37887eff90040c6705396b81ecf753289974f1fc5e7e348db2f0414ed7f1afdc0179814a6c89f0843f310b6afb56e8a3680c787fcdec886dceb49ac5f25be9a";
+  sha512.doc = "5d5bd334d970ea18e5e041e629893fa42c391a3de0652516efa258b8919429d1d6fe7b43cc4bb104d762e5a5770fe3fe8ead51c61c40ebaabe25e3d15311bf0c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "2.1";
 };
+fail-fast = {
+  revision = 67543;
+  stripPrefix = 0;
+  sha512.run = "dbe4eed6fd1b3bd3c2d48ab4590043c2bf95871350bc1b56f47bb4dc27ef3010097741920ce0a935aaa03fe9e2e8de49db7906dace3be314fca49e816c7451b3";
+  sha512.doc = "6c5bcd8329cd21f13a1e0074ef4c4b5bc474babd663d444d9ce48d23ac775dfaaa7cefec393a6ce2bf81ca67c1429c65dbd41511162030b80fd1445c9aa5b541";
+  sha512.source = "0703b26d3675c57d5d81de357fdf1b50133dbb2a07710338a243dff8b04370f2af0d1c216d1b1751e1e281436427635a6bb5b226e0f35085f9dfaf9378bc6777";
+  hasRunfiles = true;
+  license = [ "mit" ];
+  version = "0.0.2";
+};
 faktor = {
   revision = 15878;
   stripPrefix = 0;
@@ -17746,23 +18039,23 @@ fancytabs = {
   version = "1.9";
 };
 fancytooltips = {
-  revision = 56291;
+  revision = 68931;
   stripPrefix = 0;
-  sha512.run = "79ac95184f6890ed405919d064fee444a3b00dffa8f76724c302133cc8b4f4c40648e0bee607702cc9faea6aec3e2f8c34d1e2011abe6e6c6444b9076e5f42f3";
-  sha512.doc = "c5a73dc14138cf5f13494a3844e9bda29368dc129e6445bd3f1a7b1cfb60498c44d7527a673d51dea1d81b4a2db438078a406f76ed1597b6836015c588c79270";
-  sha512.source = "6bccdd73454b8a2ede4c1895e5b7019d136af0e79b72417a223d24d004807d02c51fdc3187ddfd8555233882e3a15862db9e3ec7753a349241b25227f8e223aa";
+  sha512.run = "b24e747d4ad811002cf742f6c74855a85b69745661de1cd1d4bcf41ec18ff62d34b39adf56393f79214a1cd4e54f72c54796b00d573e29414825b8c1a3cff317";
+  sha512.doc = "4d567cc367e19727815efd49392ed0455dd47d9416d6c1a4cf846eb017b3b3cb0c8060fb0fdae0a93cd05a156422f5ece0ba15e54bf3fef9b2aa8ad6a7c4166b";
+  sha512.source = "96485cec2bf6d02338699203cf0afb06a43156a66c7c55153bcb158256bc816550b2a0dd7a20cebc8bdffa84c1e40d1652b9a829746880203b49e80dd0297c47";
   hasRunfiles = true;
   license = [ "lppl12" ];
   version = "1.8";
 };
 fancyvrb = {
-  revision = 65585;
+  revision = 68772;
   stripPrefix = 0;
-  sha512.run = "d0233f179706c41c418134d3ccb42efe6234662373834a18e3ab0d80acb5c77327fa95d52cab0172c92217f3c9ae6b974087fae87bf5be3eb82a624a8ec60146";
-  sha512.doc = "0b9f84e92c1dd9939b2bf7654afe4d379647ce933f33cddcd512601de9599cef5d58aec5c5bb3ec24f0eb7b3218bbe41c8c8433bd21d6c612191b1cfe4e32c58";
+  sha512.run = "1288adbf30e9bb084d242dab84450a60b0a9f342b20600518ea324b01223f61996576b4713b476c3cda41963047880a16a4e54cc773a0508cca1c14ea8230c2b";
+  sha512.doc = "b0fd885f1d5a1711d422f1f5340d954d6f217dfa69fbf2674e0523e335681b39270579d2e66e1cdc5246dff251725d7181f983b900899b80a927399b00f1f34e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "4.5a";
+  version = "4.5b";
 };
 fandol = {
   revision = 37889;
@@ -17812,13 +18105,13 @@ fbithesis = {
   version = "1.2m";
 };
 fbox = {
-  revision = 62126;
+  revision = 69041;
   stripPrefix = 0;
-  sha512.run = "8f4786fd15b1f6f2bf64a00e9367cd346716edef54298bc3334046166a067815112eb85a6277d7165ad5e4e830b1cd1ae149c907842df46196f6d33c2ba6534a";
-  sha512.doc = "e52d356422df18f8e29243b5323cf888c5d0b6f89c3c822613b577509d8dff44bd4d4e1ebd5f7b6c72abbbc782f362ed9162803b572a2d995482db86153678bf";
+  sha512.run = "705a0f1f6d5009f0ac2fa1059f3029ef7bf7e8fdab6e85bddba822eb50dfcc049f94b7ff43afc97234d44f42505e1cd4e6caac1f22178949dcaea0a60e572281";
+  sha512.doc = "19a61ddc64c3c5108ec05089e988a07f0e10d772bed810898bf82046922eab58a389c3816b15055b5c2e8a4d1392305a351802eaf3f1e72799c9c192eb8c1484";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.06";
+  version = "0.07";
 };
 fbs = {
   revision = 15878;
@@ -17856,14 +18149,14 @@ fcltxdoc = {
   version = "1.0";
 };
 fcolumn = {
-  revision = 61855;
+  revision = 67729;
   stripPrefix = 0;
-  sha512.run = "17820804588458b805a65eee92f4fff31a73b7285f85546e0006ca6ee374706bc4df9f78eb044d8b79ea26b27b16f3ae38f035d8843906efc0043e1754f6ed3d";
-  sha512.doc = "d7822b79097ec0d58468dbf46e0b2651f97e763c3212102def2c247ff3088dab4088afe2c4aa5d97bd6360b24e38da6e872fd25f9928724f151c03769ce2c219";
-  sha512.source = "f3d27931c2586d48fd34fe59b5277c67a3e1a6e25f486a1c3226385b3ada23c655cfbd25b26470ca84b80cd7d9c1d9b72172a0b11e1e0f35899cd3a3608f42ac";
+  sha512.run = "0edaa6ad0c01a2cf9cc06c65fec3bc13b85be893d7fcf4a92b0c8760d1999e5c3b90975e44c586ef104b020eaa0a18cfc4476b3abb243c5f2862941864113bd2";
+  sha512.doc = "9be3c50f25522c3fafb52432b74f6ab755afc02df04da84383ebb466bd9424c716082d3d6ff176d32c03c9097b6e39c6f54e70cd8218784492d2ebe37de0ebd8";
+  sha512.source = "e122343109c0367d3f22bfc2b3775ae10545a01d18908cd227422060ba3c685e35beae26c6892479e03c3a4f774e2f9edfcfd60d6cba0880a4279e610de1050a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.4.1";
+  version = "1.4.2";
 };
 fdsymbol = {
   revision = 61719;
@@ -17876,14 +18169,14 @@ fdsymbol = {
   version = "0.8";
 };
 fduthesis = {
-  revision = 66197;
+  revision = 67231;
   stripPrefix = 0;
-  sha512.run = "2b6ffb0ab9bbd4ede0867bc007d69a3172e7a4207132aede29b4235adcb15d30f914f3a9e64be2c205c9eb5bc7bd8a0cfdda514c34f104d3c9c4a71e7e4369da";
-  sha512.doc = "5ff7d5bb938a06b9b23a59be62b7c89d7be8b633dd43242c1ddb6aae7bfc4922da3d236ef0e09f9287e56218064c9fbb283a61b6eb4b251d38c14ef81ac9a36e";
-  sha512.source = "b5da699a284bfd9ab3641434f257653c3cfb5cc110f627260f209925143387430ca1481dfbb05c362647926c38c6f25cd26b51aa5f9c9b5b6424fe4375955288";
+  sha512.run = "e495c127884aecc1856b99705c262882b390f9e800dca59c2fa1200ae584a424ef4ce7752a9bb5dd7aad9a94c4a685af557163f2b07327e80f5b99153532d915";
+  sha512.doc = "31a91fa609f3ef8631d6ed57526e932d5c110e4d84cc78862d1bf4c682f8de97c080a1e2d82e60842b731e33505b99dd2a85ae899705ebc45de44e526358703b";
+  sha512.source = "d2cee0822ae532782bf30e1cd8b07b65a4c7ec3cc29901b10a25d81c4cbc224a9724a6ab2a1e7bcd8ebdb05f6936176d95783198f6bef20dbefd4e80ffbd7349";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.9";
+  version = "0.9a";
 };
 featpost = {
   revision = 35346;
@@ -17904,6 +18197,15 @@ fei = {
   license = [ "lppl13c" ];
   version = "4.10.4";
 };
+fenetrecas = {
+  revision = 68779;
+  stripPrefix = 0;
+  sha512.run = "6337deecbd49a9ef9d19ab31cdd705cb49bb127ff451d9f3790a3ef8fa95ee7b65f52d49d22b1698d039fe268fcc178c07f30dd66ba7aaff69e883594e6956c1";
+  sha512.doc = "8fda8eeac400f810e3839f5197c53b808594c2536b1d4a5c7c96c788b8faec40a4efe403b065519d20f09cc1d14fe80e9e060d2b8e4a396cc9c1ad34dd16fc42";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.4";
+};
 fenixpar = {
   revision = 24730;
   stripPrefix = 0;
@@ -17982,7 +18284,7 @@ feynmp-auto = {
   version = "1.1";
 };
 ffcode = {
-  revision = 65170;
+  revision = 69383;
   stripPrefix = 0;
   deps = [
     "environ"
@@ -17992,12 +18294,12 @@ ffcode = {
     "tcolorbox"
     "xkeyval"
   ];
-  sha512.run = "e76c0605b8a074d1827a73a3ba4e9fae40ade590b01e90ee10593c4484e0a534cebb556bf49389fa03355424910cc349b73fbae2827153fc717be69d38d007e0";
-  sha512.doc = "c5302e1113f5d1a05517c4877efd710bc6931bac62157001ea540f0b40388c95202dd457fb1362f8b30dc313a48d9742fcd5c6c6a7e5f3404755a3eafa01041a";
-  sha512.source = "2863c642dddba771bc4507ed2f0e4a3c4ff12ab4291fb397a2e0f8859776bbba7442a85fefe87d655d0c6236b5e40878ba29cfa19f71870f6932f38247657f5f";
+  sha512.run = "c71ca2c5aaee2d7c14384fdb9655d08e92aec6b721ef906dc8524bf2833ae7893497ba67840935c97b76ebac9318a3c321af7030573a9a57c384c11dd1862faf";
+  sha512.doc = "9239c853483203eb42b1069ac1135b360af07161426c77bcf8684626b19aec169af9a2cdfe9caa7cc75ec322b191ad4ddad9b21daeb546dbe5541d66615abb12";
+  sha512.source = "a52bdf256577148636f06a391d35a0a9c59dd73b91f33b43f3f9f0a796f4995140c5563f4644a1f99cd015adbc260b67785a5c50c3af649c45a69495fd8e7af9";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.8.0";
+  version = "0.9.1";
 };
 ffslides = {
   revision = 38895;
@@ -18008,11 +18310,11 @@ ffslides = {
   license = [ "lppl13c" ];
 };
 fge = {
-  revision = 37628;
+  revision = 68353;
   stripPrefix = 0;
-  sha512.run = "0336a91c06bf658c1bf139d716952ac2ad420e307fb8b525e53cd4a488e0cff536c89ff06ceb8788d1e54b96a9fe4b24d94beb6913c1be8683e359a4d00dc4f6";
-  sha512.doc = "4f18f7bc1c8000664753e6f0615f7dd1d0f71bf51aeee6860fc2181536f6f1fc37b21e83b0c5b6c151e1012a02ec97d3d5ff6d132a5f6986e94bd173f40f994c";
-  sha512.source = "4eebdfffd7fbfeb7539543719df1e50564df6ba815f37a503fc98420cfca5c6c2a0a0a0f732656bc288009e9bd0fd1ad7fb0a4625748496575179c3a7015e7bd";
+  sha512.run = "0f97109ffa1daa97d4ad496c2e948a123a9fb04393e668c9c3b1a14131f6ed7a21ac9056c6f3766e3ab2d3a2caa2baeb67c4b59d6c6489299090976d697e10f8";
+  sha512.doc = "8505aadb706e79e6e1d0faec203de577cf76acef5360ed7c29febc2239d2719a717a59e9d4f8fbf5d2eefe67be1ec3cc1ebbf9be47930750582df29bef2fa9fe";
+  sha512.source = "c1d966e094ce4a61c6250717731a20c3db0a0e438b5d8acf1b5332cd05a2f6dfde1d0e99bd02ef5ee725c1242da9ef183f680a03bb7f10d7ed50d0ce4c2bb1ae";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.25";
@@ -18110,14 +18412,14 @@ figsize = {
   version = "0.1";
 };
 filecontents = {
-  revision = 52142;
+  revision = 66740;
   stripPrefix = 0;
-  sha512.run = "b40bf2e4eea194783dded4f00dc24f1cea26a854e96b57995b69354a70c1e7ba9ef0e64542c2b524ad59d9b12fb1accf93ee28b4c7e735279c0bbeb915b6c991";
-  sha512.doc = "0ebf1990c005dbf92b7ef73ccae0cf1ad47ca896f0805a5a8291a15c6764e2259ae03fe14d9c713484ea258764b706881051b4001589715bc36ee17ce5bdee23";
-  sha512.source = "e0238c49fcdda4a6d5ced2e52a7f5113996fed3bf7d8d2143d499870b06a1d8381a2b0796c2708570e554c1ffbd7f12c6c69b52980b1e2b7b91b2e8d2112e42a";
+  sha512.run = "bc51c03ea84130753cf4c6a6e6efe39403bc48a47b4c40f177d3ae17808c63a346a2b361ef61b0e0421094b6b64e20a972c6bcad305228ce0991818a62344296";
+  sha512.doc = "15f34d023a498c733810ddb4b04c1672507d97d731a579246fcfc3f29afcb47da73429807c4fff018708ddbac76851ab8357dc274cb6c2506cd37d075d2dbb44";
+  sha512.source = "8b93ff5a1cce54150c67bc607e67a40788dd0af08bd55163380756ce6979f3862b4cf1d70888b7b4ddd7accf078a387bf8540cb97af491b4d67bce31600fb8f0";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.5";
+  version = "1.5a";
 };
 filecontentsdef = {
   revision = 52208;
@@ -18225,13 +18527,16 @@ firamath = {
   version = "0.3.4";
 };
 firamath-otf = {
-  revision = 65561;
+  revision = 68233;
   stripPrefix = 0;
-  sha512.run = "32e5eb8a0343b189afea8763a24b74b41adee9b1d5d21aa7e184eef2b402e88023145eb29aac3c7fccd56d6fd0fcffc06c77f937fc28ef69852ee87b1fa1650a";
-  sha512.doc = "fc3b91faa9acffc0f104faa90925f6907107dca2b6c1a5800285b00bf734e85f2463fe262d2ad4f123608017abea64052463eaed6ddee11230b1462261377072";
+  deps = [
+    "firamath"
+  ];
+  sha512.run = "6c713fe81dd006707b987930e8c8835c21122607d9488ce997bd9b76cbe85bb91fe7017f4282fa91c11ab41827ce70de62d0baccc78a543d56b0d873ad153c12";
+  sha512.doc = "39c2eab4cf1dc638194d81effa1b442b87e96b1ebb2efc72d0ce26041bb04fc3cee8f44b939f904b07cc0332708d8ae8cd7a1f41087d363888306c0f0583274d";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.03a";
+  version = "0.03b";
 };
 first-latex-doc = {
   revision = 15878;
@@ -18241,21 +18546,21 @@ first-latex-doc = {
   license = [ "publicDomain" ];
 };
 firstaid = {
-  revision = 64892;
+  revision = 68720;
   stripPrefix = 0;
-  sha512.run = "52a53933022700a5713b750c3ca34afda096592da577febc7442807290a8e04da79affe217a0e10cf8ee483779e771b6f610a88b45df52822ea54acd3a45b4c7";
-  sha512.doc = "da564e169ae9169b828c76f1c7299dcc44fd2588d776f8fde039429c4f9a5e18ac133c6aab61076b2a58705d31f07f63f0734e66edf5c229c6d2bfeb64eda76b";
-  sha512.source = "eb776d9961f9969a780dec2c1a1eee6f9900fd66458acf4c60f84eed94d0dc0bdf5441a2c343d0052cab9fbe8d4f643d010970c908aaa0c8041fd285cf1f87f3";
+  sha512.run = "0d15794f22485c3cb922b0d1108c33f1dc3dad9bf8db46278deb8079bb966ca0f3cc1c5454d82e43f604354b578c9da465a34440670b365fab4f7bab32809603";
+  sha512.doc = "6ee8e2e67d8029551e8224a4548b425188ca85298e5cfc90f9f1b95579223c840a80aad4d4a56e36f8d0c336778cf62c8b025d3f4df215d94a310beac14b1181";
+  sha512.source = "2c091df08953ae216e713567d1af4f0dbfbe25c4d593ddda22791d353002cce85829d3a8b404d0a1a441f67264b778c3137842388159f3f551fed249e3ac711e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0u";
+  version = "1.1b";
 };
 fistrum = {
-  revision = 66263;
+  revision = 66461;
   stripPrefix = 0;
-  sha512.run = "06d0fe179e16f80a19d9dee4a62a1d4b0f64f6b02c6f5969fbf3cc461a93f123727a8d4838bd6893c0d49c3de6ff2d3897fe3099fbae9f8eb078e97cae3a5adb";
-  sha512.doc = "e751c6fa119c0b1f2e74ba30b157c18f9cfae5ffa27ce43548f2e98e5d163dc71fd3bd658f46cffbec225c48960ec093d3eb1b0793cdec339edbb98a34002b38";
-  sha512.source = "45c088d042e2cca6cc9bc029ffc83506acbf136be9253ba9f01325072f8a1cb4941f68cdc30f62d6b7af2b0068f6cc1e0e8c76bd4200706437aff732ea2d1cc4";
+  sha512.run = "7e0a92affb0fbe23b9d08e525f6e2878e3bfc10133fc95b41bbdeebca5c02c988b2c4033e50969212b5889dda4f9e2f043dd65688ea33d81b5bd138d49af5777";
+  sha512.doc = "15b50530a68fbb2b330aa972640fd85207dedc0b0e640f830940cd712a16fb001e60b59c22ff81890ed810a7aba9f1e150deb3f91ad1fc4bf52680d9d1735342";
+  sha512.source = "88fcdc104594951933fee790a45efde2cfe3665673b2589bd4f2972f15e8dc1f91b85c5e04dde3866688fc2b76d2692caa2f4dfd3353ca9416002126be408cda";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.1";
@@ -18270,6 +18575,15 @@ fitbox = {
   license = [ "lppl13c" ];
   version = "1.02";
 };
+fitch = {
+  revision = 69160;
+  stripPrefix = 0;
+  sha512.run = "ec44706fa5f5fc258666e343569f695db0d26f6628aac1ac6eaae12377f23138c49ce29d03dc5b08cb1f5427cb5ad612cbbf9aad5a9270f4b31f43679023e73a";
+  sha512.doc = "3a32fa5657e0042588c82ffd7d32f11dfc8e9d29ba268700092d26d32d24afdb3baa1f02b8ca4e248a19413aba0421d991809cac5db0d5d38aba8389b43709b0";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0";
+};
 fithesis = {
   revision = 64135;
   stripPrefix = 0;
@@ -18301,14 +18615,14 @@ fixcmex = {
   version = "1.1";
 };
 fixdif = {
-  revision = 66031;
+  revision = 66606;
   stripPrefix = 0;
-  sha512.run = "e0a4f2b75e80d0378bd65c623f2a43f8bed314ebcf4a4d2aea45a724896e107a1b6cfce4c34caa3b0bc4580613681c7189cd32fe63ef611227d57b512f20ef92";
-  sha512.doc = "47a0f695e145e9c33ba7ef733f2776d61941062179bcc0a416fc9368b5d3d7e8bbd6c00fc20ff23ba70c28e1ebc6d5118ccfcf3a798c5d40702b30a13bea86fd";
-  sha512.source = "a8fe5b80e8e99125859e253e7f7cc2af5af75ba131acace90e885f7a1fffbdd253b750263913e6fa5fd081ff70c8aa3983aff75127f227c83589f3aa3fb47534";
+  sha512.run = "655c9733d727189d7b2aaef2b629e67cf5c7401ec2a8ffd179fb450cdf1746a40571e0b8be56f4202e31d752c35c7255fe01cf0b36917c582f24415e8e842273";
+  sha512.doc = "e17648e54c68ebea15be76a8cf1406fd42858bca77be938efeedd72bcc8fe92ff016427ef815dcb590b8f900ce0efd87d9bb96f37afc8d79bcafcdb1e5d23bca";
+  sha512.source = "4c96dd12535cbc852d4d24623295d1d7236f8f4773e5dece09ffa99f7fe8bf24efbba89dedfa069e32af53b1d88afa109a5e1075aa368ed6331fb462c57d80f5";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.0b";
+  version = "2.1";
 };
 fixfoot = {
   revision = 17131;
@@ -18451,14 +18765,14 @@ flashmovie = {
   version = "0.4";
 };
 flexipage = {
-  revision = 64572;
+  revision = 66614;
   stripPrefix = 0;
-  sha512.run = "729d90296c3a84fa003f5c237dde47e3ba3417254bb408c279f135a37b701b70dc02ca4bbc0ba39165415c5cd759f273a639a796b683b1d21f0ab3127f45c1f6";
-  sha512.doc = "537ac79dddd97d4212083016b44f1db9461c4e4d337e226015ccd57101b5cf0f6519315f108715019fa09d06d24ec0700b542b57be08063719b31ebf2173667e";
-  sha512.source = "89a47b7afce5f17e8e9a5277b49f28d113e92995d5a35f6a000ec7718fccb2bb5351a71e55cb3cf96cb639b22cbbd99e6383b6a65d6291736529d8f5c2b7b65d";
+  sha512.run = "1e16b1722a4c4349879c4556338c9d72eb4fe8364d0e19e0237b3a269b85ef19bd68d4334e190b7e0cae6e3ab1551381bc2e46fbb265ce36e839a967fb114220";
+  sha512.doc = "5670616faa6646b68d3b3b2724f5e324cd1ef3595a0da3b8615d364f908f684f98d641754b71498cb2b61853192859dcf602a2925cab145292b1cc7a21f99766";
+  sha512.source = "72458fc100c39b56a6f5ce173fa1149997fec0e4b7040f9a6ff2a2f671e27a33a4cd326eefa48bb81ec53bd53147bc4065d677fc1aebd9620da1d869336b495b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.01";
+  version = "1.02";
 };
 flipbook = {
   revision = 25584;
@@ -18489,6 +18803,16 @@ float = {
   license = [ "lppl13c" ];
   version = "1.3d";
 };
+floatbytocbasic = {
+  revision = 67945;
+  stripPrefix = 0;
+  sha512.run = "01f45baf2f0713a229bf6b6d59e02c8a05f0478331c3c6c7ca7dae050db94d7497a87acccda1cd7c022b79b54ef5088f6af181429e60154ac8e1ada081062dfc";
+  sha512.doc = "0d6f29221ddb39019a9c6d308f77200279144efa9de35d5fcad8518de9ecdaf840179887282840cf7b31e7eb286f0fa41bec93e8a1f3682873adb791a467e22d";
+  sha512.source = "4b3c146a6e9960f77532bf2fc23cf686a092f00da541a0c0fc1243a3bb623b16e19de8e9bd1e792a9134cc1dd3d429fce17ce372da03f0abf3176ee4b722cf69";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0";
+};
 floatflt = {
   revision = 25540;
   stripPrefix = 0;
@@ -18509,6 +18833,16 @@ floatrow = {
   license = [ "lppl13c" ];
   version = "0.3b";
 };
+floatrowbytocbasic = {
+  revision = 67946;
+  stripPrefix = 0;
+  sha512.run = "3554c3cd560d5203b650bd32fa39aa4372f935bcbc757d1ff93fbde3fcf1a395bac4676e7029ec58fd79ce0089595858707880e35fdc98a65615fa27a555ea3e";
+  sha512.doc = "1ee0174dff4209c1bcc3764c89ede858174e1aea624a0032c0af8bf61c1cb4082517ee2713fff0f5a5687ae4d63ec67c04f4a14eb5479edab183d0487241c37a";
+  sha512.source = "126754a11d2a5f47d2406bfdea43ee33371ed1eb8f6b94bcc48b71fcedab4f468e3d0fbbdd7f0229780a70b5d337aa3e443046346b1c53e968a585c6d44c1c66";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0";
+};
 flowchart = {
   revision = 36572;
   stripPrefix = 0;
@@ -18568,14 +18902,14 @@ fn2end = {
   version = "1.1";
 };
 fnbreak = {
-  revision = 25003;
+  revision = 66615;
   stripPrefix = 0;
-  sha512.run = "794e427d66efeb15920062e86b4a405e36604703f350c4e20f2c237b358eaf08aa22cc923c7995a7db22c117b48555fb92b136edbc94100af8e2046d49eb1fc4";
-  sha512.doc = "0e8778265258304ec1cae1f2d21902ffd6f99af18527b86af064209da7f4c84e8ca6bdcb359000e3f0e9aa75819db1b375f8ae9f0a825291ee03398b6bf345bb";
-  sha512.source = "05b2586aacca96367889e328115780eaf25ae6af3179c71701c35fad2d98aab79730d23a67e165248793c58a9988442bb54bb653697fb81f1832bce847ec8b3c";
+  sha512.run = "15d3ba5ef30d8ebc23be3f0c412f7457960a7032f3c78ccdeba6342852a3b7db699b8792b6f981659268fb28c74e5cd93bfabde2b584f7eade98e6b422127d9e";
+  sha512.doc = "44837191d22ac8185b7748fbf32769a1d2299b92a313da918e6a03d78f56206e76d73990cfb1f94d956835f369adb4008df4da117a20984afc48289b1291fa4d";
+  sha512.source = "7ebefbbe46d0c4db1244ef699e454c0b393285a489bc20b0fd78bdd5da0ddd00982f063c25dbe78c4aa1661402a6ca8ea492774e9aeb5aed3d7fbd460ae2f58f";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.30";
+  version = "1.40";
 };
 fncychap = {
   revision = 20710;
@@ -18778,9 +19112,9 @@ fontname = {
   license = [ "gpl1Only" ];
 };
 fontools = {
-  revision = 65706;
-  sha512.run = "a4cd3009c98502534f3c54d40fb22d788bcdfd474ba6bfc1b7010aa4d3471f468cd54a5d5c292d5afe685f9e4d99c023b8f78f302792dd1b381418042d96f47c";
-  sha512.doc = "0506f6e9d0e0ae4fe4bb15303e2abde50a076899e4330a7d68f875abeaacff999cbab779bb368da5c717370e7cf885333c1479d6e795da4e387edd4656c30933";
+  revision = 69241;
+  sha512.run = "5144f4a0636b49e63bf04f518b6c416623e2228615e33169839547cbaca574bed78777ab20f4db7e5820c1acd401b756896b39998c43f21f93de6cf8f987f6ab";
+  sha512.doc = "bcb3ab7f49e817ef5b6f710bbc227309f28396c6f4233e39e94163663f10db3daaa41b6db93a9ae85a26599dfce352a0c132a36b0c047ecf8f5269f428af4f6c";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "gpl2" ];
@@ -18791,13 +19125,13 @@ fontools.binfiles = [
   "ot2kpx"
 ];
 fonts-churchslavonic = {
-  revision = 56350;
+  revision = 67473;
   stripPrefix = 0;
-  sha512.run = "308101704643f3a028b4d58cbfb021ec05640370542e83faa6c0070fcf60c168f789a3a7f5ea50e6d2568faa2660f224488f188ea6fa30f649e8e013ce7a4025";
-  sha512.doc = "856d1112c5929b361f5c3543455ac0f2ac1b8887bae8b7ce6e94540b1673ed815cb73aa08ab50617213c20bbc6fce86e84bf0a3bcb6521940c077e7c7a6a8469";
+  sha512.run = "a6e3759ee4fa9cb50a8b7bb55f162ddf6644c3d2ab61da514ae902c99868f34e3de67f1207ac003f98a872b1b1daafada441e888efe2f0482ddc6b9132374c03";
+  sha512.doc = "9fcc08b521d9706c3775d33ed7391553e855ef43a49ef1c6cc92ecc1f21677909eaf5c5d231fe86f232d3a092e3f913012d8d96f35b3344e0a774c4e5c8f1476";
   hasRunfiles = true;
   license = [ "ofl" ];
-  version = "2.2";
+  version = "2.3";
 };
 fonts-tlwg = {
   revision = 60817;
@@ -18810,13 +19144,13 @@ fonts-tlwg = {
   version = "0.7.3";
 };
 fontsetup = {
-  revision = 65439;
+  revision = 69390;
   stripPrefix = 0;
-  sha512.run = "9eac00c84f22ba0409f49d9eb730050d8dde8e9468f7d55ffecd6ccca750aff171082638e52fa6c3e260a203e85c09a64900816d8cf7fcf025b655dcb738f62d";
-  sha512.doc = "bfecb544a2ef7ac57b14ea9fea554e39d3b9549520b1dfa76d2ab1f983eff931ad98da0b970922b262ebc01b148bc3b8d7dd4d89e4ef7c03430ea6707add7ad8";
+  sha512.run = "f291077a88db97fdb486cc14ab24fa9b2cc1b00808f8d691c3313b302715897188a9d16dec192d477b4fc19bd22bf2b9e0cd92bc1a11b079ee5a88382bb38ad3";
+  sha512.doc = "9318253e03673a6ec79d33afb2632a81354fdf0f29fc429814dc3f00326275479d8bfebdc58bf71456c38a77ba22afb1be29b2daa408c7c3e4b1e149fa7e958a";
   hasRunfiles = true;
   license = [ "gpl3" ];
-  version = "1.4";
+  version = "2.1.0";
 };
 fontsize = {
   revision = 60161;
@@ -18857,9 +19191,9 @@ fonttable = {
   version = "1.6c";
 };
 fontware = {
-  revision = 62387;
-  sha512.run = "6103b16df1b465b08ebec98236b04a858ab1db6f7721c324d6776d5367c4a7ea5642869fff828147860b3858569abd4658174d03c3f23317c5ed28b53cf8cd75";
-  sha512.doc = "c4caeb1ed2e50915e4ae76fe7b5fb53a4a7c55b9184e5a6c83a6912fa3d37f47627863bf76ca92578441d87055c82204bc09a3a8a96568edeef25e80c4cdac25";
+  revision = 66186;
+  sha512.run = "7cec7df72b76ed64b864401c809b48e51f69338c7cb3ed05ac4ea69899a077983763c728543f99130f18afdd2a03c955d848066a239c97547ab0240d87c97d7e";
+  sha512.doc = "ccd22e262e5fa2cccd5da0ff016447d2df04aefcdd6960f226762667ea2e81b4afd406ea9f822b74d07c8f93cbe70ef90cfcc4040cae2820cf5ace94ce8d1113";
   hasManpages = true;
   license = [ "knuth" ];
 };
@@ -18888,14 +19222,14 @@ footbib = {
   version = "2.0.7";
 };
 footmisc = {
-  revision = 62524;
+  revision = 67556;
   stripPrefix = 0;
-  sha512.run = "85a082bfa68f0ab8d9cc252d04521b45bac8a3c4d005920c1806515efdea6668b3df3b57f51780b8d4bf4cd7d4e06751f41087b76da3b0dc9d916f3716cdc522";
-  sha512.doc = "5c3e00ea325942affe2c68b6855207801b0155b79b1f33cdf3c2dc5d65f17bc94b6fb94e09c1ad8c823035232dc305d9131ae89bb726685354adb2a23117987d";
-  sha512.source = "526a64c71dd03b67dd0df1d735573bd51db7c6929aa1626c61fda42b7619ebad8b6127c2db8e08fdfc79f54e8c113080001fe6141f1412b0cf8b175c11a32972";
+  sha512.run = "814aa0a1add20812ca241280a408c1bba21920c2751f171a67532aaf6e4dafd786578701a7f431a0295a139052c8c7c37f46c7e4df35e6fd14f468a5c7181b75";
+  sha512.doc = "4a257a2b7620bc8660785ab5d8c8f167ba044e2bf8fc6b340b8645c549f9d4c528d9fec9110671f1dd757892c6193681bc845b57a7ab722423c8184a276f8043";
+  sha512.source = "514acb8de22592d5211c97ad8a82659374e574c4ed972604443036381875d33d2e5956788fd9f9577ca1feda59290209f5165568dd00dd0f059dc43fba4efe14";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "6.0d";
+  version = "6.0f";
 };
 footmisx = {
   revision = 42621;
@@ -18927,11 +19261,11 @@ footnotehyper = {
   version = "1.1e";
 };
 footnoterange = {
-  revision = 66156;
+  revision = 66149;
   stripPrefix = 0;
-  sha512.run = "f62bcf48415528645d20d9be9ee1a185ce4a27224509c26ea94efec3541e3f3e1e69bfc6b4ac8e7e4d15248dab32e9cfb072dc81c25c60a8179c6ad60eafef25";
-  sha512.doc = "5c69a9077656b3cc81a3dc564bc5049a5783ab0d276fe6b71291f43a99cb94ed199edfba3b56eb20cac698c9a44d812f4b101858f43a1698180bd63175e2c9d1";
-  sha512.source = "b5b2db4c757707283c345bd67a27c1d3def510205d38470f7b4ec08343c6f7faa5b3ef0b2ff7d67d0e3a9d7d55e0db3a4fe04d48e85f375c3a7ec1cb76d8177e";
+  sha512.run = "b2c20e7b528219e0eee9ca32da40982670d3fa88938a58251e1ce6aca26b831d9ffdd89752ac19b78bc148c11c265374d2f679e7e3f54cff0ba445acc4025922";
+  sha512.doc = "bf5b704bb39a8d369093feecd02da251eb45790381605495960dabb9a4ef099f9118dc7a791c9d9db74eb19739628638a8c003256a42890d64ed821ebf2b8c12";
+  sha512.source = "22665f8b1e912c325a0ba7b8b05ca7da54f54b92e8f7700d045a837e98a544c651c479dff88937615ea1d13a25ae3f6d6f3a5a60c1c7402c8a892dae0fa0a62e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.1a";
@@ -18992,11 +19326,11 @@ forest-quickstart = {
   license = [ "fdl13Only" ];
 };
 forloop = {
-  revision = 15878;
+  revision = 67017;
   stripPrefix = 0;
-  sha512.run = "a9cfda31fc63d24737a5b422e9fc7072bd1f75c0926cb45d26ea3cdb7cfb50b3f74d7602964a08f13d216f3fb3798acd21f04bdcfe85a3e3652052b9f2cbc9cb";
-  sha512.doc = "49bb7031207902366fbd0924a025c692ba015af134ca38c90c43e8efe7a9522ee4db4cb9b071dd00681251ad07b4587cd49eb9e09bc77f1ad5632838fac686d6";
-  sha512.source = "f41a62a677f37a57c96a398d48cee84d213ccc23fbffe7f2da6c09e8f58d8b9524d3b53717b9657004e7de0083f43960c0ebd54de3696994d8e946d8044399e4";
+  sha512.run = "e4cf4d9fdf01b753b40d4fb2c5edac94756ccf60a7e0b1bf0da8b5b0c433eff5669858fcc35096967f9a53e6a365880e6677956ebb86764cd68ba3093fa4be91";
+  sha512.doc = "7315a8e90a83bbb73cb82525fec32c750d97f62fadcf1cd1faa816aeb2c54b5183c8fe659a19f213764979d495d7774df7aab7c950fa9886c6911e526712f0ff";
+  sha512.source = "fe9aa2c7836a17debbfc392b44bcccb09de5b978224b2ec81e17daa07eef3eaf508206f1d54cc9dc7897122ceffb9d1b8d5957c26f2b4bcaed4ee93ebe3436df";
   hasRunfiles = true;
   license = [ "lgpl2" ];
   version = "3.0";
@@ -19012,13 +19346,13 @@ formal-grammar = {
   version = "1.2";
 };
 formation-latex-ul = {
-  revision = 56714;
+  revision = 68791;
   stripPrefix = 0;
-  sha512.run = "30e38c93cf692aea977479159780ffa797535c938fbb0551c86979f61f459d571cf78526a5ddd435b22e850e45fd6fb33ccd6a8308a170bff034ab3d29c63318";
-  sha512.doc = "3f8744fb5c3554a256a3585cfc8f0339bbe91ff94b959fc02f2afd25466333ca54003b1183ba7e770f49e296807367ba33f809424921fd437f9773cc5aaeaf6c";
-  sha512.source = "52d36951555b74a8091efe64f5bb6790917fc3346a79d660f1f7c45793512efc86c935d13bcc88f0dae714223ea5af3a02b32b062880f117009bb99727fd8dbf";
+  sha512.run = "c1bd5690cd7aac8a9cf1b608b19d620c898474e80667594750e6ad5935fedc56f6e4352573cb3700476ecb627195fb137c8404d3701c30ba457960d9f832e42d";
+  sha512.doc = "747ad5d71a58ecec9b83c7a81e36df065b2b374c0ee4deda2a797165eb1a883e270d57b9951b61b3310feb397dfc00d81eb38a0904c2c8f187aa04d8929a2681";
+  sha512.source = "a1925f332e6a20fdd2e4926138ddc88fd5b56213a44d67a5f8d812b3ef10f1d619fc8bb47758d74c5c9fbf34837023c44394637f848359b98c446f98cf8da62f";
   license = [ "cc-by-40" ];
-  version = "2020.10";
+  version = "2023.11";
 };
 formlett = {
   revision = 21480;
@@ -19141,13 +19475,14 @@ framed = {
   version = "0.96";
 };
 francais-bst = {
-  revision = 38922;
+  revision = 68686;
   stripPrefix = 0;
-  sha512.run = "b271711badae8883426ffa2783a2f942c9d37303fb4cfa8b4a2ec2f8999dd150060dae6689bef17d2120cc7489896ffa497ccb1f7f693d5db9a8ca5ef6747f21";
-  sha512.doc = "b3a53111f7fcfe972c0722e8600b3115b6e1a93631568d9bdb1f824b8185d4c78fbb135c4593856e3766404fc8e4c005daaf017e5c1552dc452c57e943832e14";
+  sha512.run = "0a8216e8553b123c82d773637bea5ac61a618116974786b485f16eda33896f404458d755730ee12ef8971cea2a8a4e67ecc697a0c99ad59c04e3bdb2e3dd0e51";
+  sha512.doc = "5a58a8b2afbf99c2a4b1eef26d7dbc16b345ba5c1cb3cee50d9434b577d73145e0d15d2977fb2947bd2263d725b68f01c728ea028f5c9192f76831a94e2ec23a";
+  sha512.source = "a0b490a291775ca178efefa8a432e8be6de8a2794018d2fea5c38ac8ed1df2b3d15cddea6421217ee5cf84056252b2de2d584664de376dd28ee8704619cbe314";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "2.0";
 };
 frankenstein = {
   revision = 15878;
@@ -19175,6 +19510,15 @@ frederika2016 = {
   license = [ "ofl" ];
   version = "1.000_2016_initial_release";
 };
+freealign = {
+  revision = 69267;
+  stripPrefix = 0;
+  sha512.run = "ca74fc018fe0162cbc403c32efa1101edc215bdfcb9e5432c8d395cdad4f26550df6447b7cef9ffb103863052886b608c89ea5ad56a8a909822e7fc49f3241b2";
+  sha512.doc = "ea7ea3cf64373fb06372d4452d3b66654813f52e221fd1a002c5b95c63604d0aa3b3a21ca6dc70e406b51e18628bd6ce55a74b1e2562b9140811f4d860cef91d";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "2024A";
+};
 frege = {
   revision = 27417;
   stripPrefix = 0;
@@ -19185,14 +19529,14 @@ frege = {
   version = "1.3";
 };
 frenchmath = {
-  revision = 66477;
+  revision = 69211;
   stripPrefix = 0;
-  sha512.run = "8ab615a8b88c4b09bc2f3a2485d5f07a8ff140abd4cfaf64e3239944cfdcdc123879fcb6146331aa27a17f7a102251dc5f20538302cba72e2ce2b40714af8629";
-  sha512.doc = "a112495f232ec33ddd9f8c942892036029b6ebc3ed18e9a416188ab29907e0455051949a593ddd94efb96f97b71027197e9e3b8288c46c09b3c82fa7c3e80eca";
-  sha512.source = "b881d4858903b8d401fe4ab0e4819d657a2da0fe90df238e19f80d5b7eb250fe79e82f7a16b3f0107c902c4d2cc9b5717a733e922ad1a7d10d20287341584e65";
+  sha512.run = "d9ade8b4e036beb17c2aed0903531fe7fd29de51d1848504803ee3c9be83c4cddac2e33adfbcc94124fcc1f7913520a0da633c499d9bb4c4146796a1789ec369";
+  sha512.doc = "3348e8014b3468afb30be0a9ed36bf6684963d1aa7cd325be8050a03c668221272bc009b0883b0ebf66cbd18eeeddf5ff0d1ffa416f24e3c362fe44cc0530c7c";
+  sha512.source = "223cd3352eee8ee65b48d599677433b7fcbc4bfd7faa5f1c0a99c62806fecb9a3d3f2381907708fcc090637658fc67c43537b16d264bda60a10382985846dc4e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.6";
+  version = "2.7";
 };
 frimurer = {
   revision = 56704;
@@ -19223,11 +19567,11 @@ frontespizio = {
   version = "1.4a";
 };
 froufrou = {
-  revision = 59103;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "33efee00b38590de9510689730fa45f1123b5df05fae66fbdb4ffa740e8495309e75c75dba1c7d4d3b58ab7cc1a85d899654a27cc31f3b5eb983f512b5641db8";
-  sha512.doc = "4b19469842e5dd7e0b852e531d2f99159acef4b8eb0cbaf3c03a510673a95896abdc2f80209ce164f71acca58c476d593a30449fcc05ae52851f78f76d6000bc";
-  sha512.source = "4e06412734c22e9035b311771412e4221cadd00c693f13d78ca221b1e07e895f09cac9ec97c56be02aad4fdf7e7f6aee3e04585856b773e455efc499ad04d763";
+  sha512.run = "06c13998e051544b8fad8c65dad787b670beed1ec177262d3076b77d805423196b1b9092c0c2acf383450ebfefc4e670406dd7ab4413217c492759335a2d8310";
+  sha512.doc = "fd49cc43d8479aa952b68b42bdc58a1e6256048027eed2d50ee80d2312f375956d6936f91b7a1d0d6ea2cdf5414b09f987e4bbd0f7ba279ecaccd8cfc9f6dd48";
+  sha512.source = "bab0baff37c117b842d341045b3bc01ca9722f92c5b0b18c8e777dcbd06a8e6bb8a13432f44b561ef5857a8f8538e2ef47a9bc5a1f012addaa2accc1cffe971a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.4.0";
@@ -19344,14 +19688,14 @@ fundus-sueterlin = {
   version = "1.2";
 };
 fvextra = {
-  revision = 65158;
+  revision = 69001;
   stripPrefix = 0;
-  sha512.run = "bf54ec110ca65a8c8b984c5599633a1d9be7769c77f532cbeafe0117a3fd9bff560a68e2650921023f3575d46c5a1311331342a7fceccd71bb2e971f044efb20";
-  sha512.doc = "e20f248fb4bd31df6d6ab4268933fbca4c3aee80d63467a5cd12de13ae314c8316a3a6b6f2a7425c7db2ab92203277f88deb3462c4af66bdf4fc5d49d31a164d";
-  sha512.source = "c464715162526f03f13b1f958fed34d5e00a776e715fa6cf3b2d4339006f77a28070472b8b18fc1121b3cf7fc38a2a12d67fe9292a6e9fe5067f734fc53d3e52";
+  sha512.run = "42c77e74ff16a7aee9f79f8a6f08309742c1168138ccec2a085baad525422119bff6c10ee323e29aa45509789af188eead92379c5bd0d30c5e4a9ae557a0d991";
+  sha512.doc = "27ee96621793f4da2cf719c49edeb3cb272fee6b31b13cfd86653ceb027c84dfaa1885b82510de22e0ca1e365ed783b745190809482a9f20796617e3fbc059c2";
+  sha512.source = "49252913e7683100f1f12c5bf85420b6de4832d68af740fd8bc0f7fd1a18aa9e39005f6217c89c4a532aa72250bf0dbfa6de7f5991dc48fd6fc8b91e84606a5b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.5";
+  version = "1.6.1";
 };
 fwlw = {
   revision = 29803;
@@ -19401,14 +19745,14 @@ gamebook = {
   version = "1.0";
 };
 gamebooklib = {
-  revision = 63424;
+  revision = 67772;
   stripPrefix = 0;
-  sha512.run = "84c24df164a2f74e790a5ee64e3041510e7f9fc1f64e82a4004d8cf2db8c9c34f1853ac43741b5be08b98e44e9f3269e09019a114578036c7182bbf2a03e2e84";
-  sha512.doc = "7584a7ad39a267f71a84111c17ee8b59393672a69dcd128004a368045a2f9540f1eb21a62b596be7dff29551ef6411fb53f9b0857ef841734cc26bf8acfe34b3";
-  sha512.source = "9e00870190f03892ebc2c8115b4ba46e88244b3824d732d4dce6b767c0b5fb479ef5f009a3c8b02f58278c140e399c3bc7b501048d94acc7e69647f679c438df";
+  sha512.run = "b100e95290634e0697bc420259b287650c8bc436a950749c8f60955b4bb1f622f692730640c8b882400d7f1ac7a9cd847cfeacbd5310a5bd57f3925f21766159";
+  sha512.doc = "f34592d3d47f5cff749fc0bc44b4de233a13bb962674cb22e06dbabadfedfc303049c73b18cc0807e0f1827ab583732a0019345991b3bedd6daa1f3e84c40108";
+  sha512.source = "0c97580b9451a154838e8e32a67f3dd2af36d1a9e3a464d0912a0ec2e6a1338f617855ff49b199cdea21dabb2678b1e99c58dbe2a3ba5c976eebbdd87edd5a20";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.3";
+  version = "1.4";
 };
 gammas = {
   revision = 56403;
@@ -19473,11 +19817,11 @@ gates = {
   version = "0.2";
 };
 gatherenum = {
-  revision = 52209;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "f0a0897ca3b306341a8af5121d09b31d9169a90e073f3d2babc2b4a32b72d33b4f7ded73f2455e5b6e7454188112440cdff97c4332f3396c948ace8b2944598d";
-  sha512.doc = "9e6e1c322aa19a1c3ccaa622cf8657dd314dccc0fedeb7056e182bfc648fa21b06b67e8d1bf2d529fbf84652a0d6eec9d5a4ffeea1003dcfd2cd195ba628c6f5";
-  sha512.source = "5696c57b7a05132487fa04c16a577531886e8e443aef06e2b3b6418f74d2d971160cb1d95df43ae29c81ebde9459f8611bdea151895f8390e03d5ff2193fb318";
+  sha512.run = "c700375b321db078bc99492ba42c03855a80db6c1661590dba6763d52c65ec7c86a9889a38956a5015b78416d8c7a296efd764d1eaa758891cd8c7f7d4cef8b4";
+  sha512.doc = "a1f184ec862cb4d343b4dbb8014faee217a61e1f72418a8472a2a46b6731af4e3e767755f4f367631f40199aafd449aaee9bf409e9358822ed6006eed495d4ad";
+  sha512.source = "378a9b33f0b370fdcf8b068e8cb58def5b9c66b7cae4a72cd02d4fee61edb060bac43fd30180c5709b2e7367861430bbad0ebc812fae9520fe72382ead5b0354";
   hasRunfiles = true;
   license = [ "gpl3Plus" ];
   version = "1.8";
@@ -19549,6 +19893,14 @@ gckanbun = {
   license = [ "mit" ];
   version = "1.2";
 };
+gelasio = {
+  revision = 66805;
+  stripPrefix = 0;
+  sha512.run = "d5ef910eee7b3e26a180c88ae104da77becb4bed3a955938486d6763c2a0dc51e71ab6f9351304894d5e531fab714cf75f6a0cc421d074b3ac86931698582274";
+  sha512.doc = "aa49c6e0bebb4c097b78ba11781f7027b783c6280a5fa0e3077f9c1eb20f6b372b3910f5c78b0103afa2429938a94b277bdcacd210afb8bad2bac92f5022ed8a";
+  hasRunfiles = true;
+  license = [ "ofl" "lppl13c" ];
+};
 gender = {
   revision = 36464;
   stripPrefix = 0;
@@ -19577,10 +19929,10 @@ genealogy = {
   license = [ "lppl13c" ];
 };
 genealogytree = {
-  revision = 66516;
+  revision = 66513;
   stripPrefix = 0;
-  sha512.run = "cbe9d30d487524519153d1cbe8394f9659b8ca35e933fe1f48d22a16ae4b74038c2faa08e0e0ca12b54dbe7e4ba9174960e1d76c13b90a724d7e050590beedde";
-  sha512.doc = "03d9be99bbf1029b6747ada38714c50b805d18c2026856025f9b218cfe1ddf83bf5f412bc88270045b5a9709d724f0e745d1445a4e200dc2f3925f5e70760711";
+  sha512.run = "603091897c07e0d6643482ee754aa9f0a49ba4e71e3a426c35404f46c6f6fc43a6d24f721023706cf0c03b152ad3153a8322b440a89ee6542edbb8aa71a384f1";
+  sha512.doc = "88757eb6be6ade83a5125da7bb7bd0abb3d56367a330607fdea9b05929c8caaa4fad0be79863006e9048daa66aa0ce7ddddd1a2100ae9dfcfc835456c08453f4";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "2.3.0";
@@ -19799,10 +20151,10 @@ gfscomplutum = {
   version = "1.0";
 };
 gfsdidot = {
-  revision = 54080;
+  revision = 69112;
   stripPrefix = 0;
-  sha512.run = "1f85b632dd3ff67144a83f9804d4408a4a39647303ede905d5ebd5386ac519ed73ed65cab6cd07242c72fdbea94650eaf25b6b4e7a09aef1c71be62f399c4248";
-  sha512.doc = "7ba7a00cf878c99c8daf855c0124d4027d7404739515079b2c0b2d7e38abb508a1b7e05beb2ee5036bf25d2b2a5c2377e4f397042b6bdf22376ab4a9a5e115c5";
+  sha512.run = "436a8cb4ea88663ff3358d6991fce9364f197027797903eb1b5c74ec0a857059579f0a58597ca6427c1651bf89440d7b7c8965e79fc668ecf444dbcc9f7ed4a3";
+  sha512.doc = "29b49271f62496e6537e84301b361d372b24cf208365d97f3ac1d6d5b82fae84ff82954ad45e87201eee0df9dfc58f3486049e219480d20add06e9eef934f17e";
   hasRunfiles = true;
   license = [ "free" ];
 };
@@ -19946,6 +20298,15 @@ gitinfo = {
   license = [ "lppl13c" ];
   version = "1.0";
 };
+gitinfo-lua = {
+  revision = 68808;
+  stripPrefix = 0;
+  sha512.run = "797d0a601440a08d5e1f2bc24ff275965e1412d545ab4ed88d8f174154d38da0f7c18afd10546d7f8e1bb0b98d395c9a9a36fae79cae671360124f07516b530c";
+  sha512.doc = "8724e388bfb545f5ffeca862094c9a5bee2d5635e1beec0e7d4f744c46b03ea63ce293a6a193ebcda5d53b6b54d3c96ebfeef6b5f15a1439d6ae6d4dc01ec31d";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0.0";
+};
 gitinfo2 = {
   revision = 38913;
   stripPrefix = 0;
@@ -20020,7 +20381,7 @@ gloss-occitan = {
   version = "0.1";
 };
 glossaries = {
-  revision = 64919;
+  revision = 68437;
   deps = [
     "amsmath"
     "datatool"
@@ -20030,16 +20391,16 @@ glossaries = {
     "xfor"
     "xkeyval"
   ];
-  sha512.run = "a805158d4c2741c4efc707bfe417032903630d3f235c7431a3767e47592d8b9be2d64f6a14f21a0c7a3f4b37cbcba90d501c0ab1a551fe16357745960f362a1b";
-  sha512.doc = "24e43bacdaf3d3680b49460849f2d4eb652f2e2103558edecff0cb78d261d0275e5f416c7fe83857fbe09f7016643849ee5f030e4b3db167f469960d7791489b";
+  sha512.run = "bb81a95a1e379ec87b569d94ebf08f83823f825a70138a3770a3d1236424b976a98cd1265e7d68771460e6e96827761d697ddf0dbe48872c802414236e0065ba";
+  sha512.doc = "d11140ef1a6933170e59d497c57723e62d7ba7abadcbd9d3ee91e50171101d3e0740b0853da803bc7b9f56f86d7fc6cfedbe985e5e341cb775e850ee7c8ccd40";
   hasManpages = true;
-  sha512.source = "5240de5d2c942ec2eba38e76073f230265ce74dda641622acc8aad4c5856c1e8a749d01829ac39fc4b83479d9d24346270507c0f4bc5b957b7f4f3d07c4e898e";
+  sha512.source = "01ebc5d8d91a666a2693a039305103a98de9b2c7a958a40be04275e948664b3c5dd4818e4bb686a3a2a681b0ee38360a43fa795ac4537f8d083a2637ccd3df72";
   hasRunfiles = true;
   scriptExts = [
     "lua"
   ];
   license = [ "lppl13c" ];
-  version = "4.52";
+  version = "4.53";
 };
 glossaries-danish = {
   revision = 35665;
@@ -20082,14 +20443,14 @@ glossaries-estonian = {
   version = "1.0";
 };
 glossaries-extra = {
-  revision = 64973;
+  revision = 68409;
   stripPrefix = 0;
-  sha512.run = "e7e28773e9a8608dc86715e7ec984f8c49439b0a2ef22805fcf555feb44871a25e4fdcaccda1ec2e758d1cd28cb10ec89a9502899794412d678b7262058ab58f";
-  sha512.doc = "d8de64c98fa04db207d890f7ad2b52ec6eb8fddf61daf16b17a5b4520dd4436ce647a34cac6abc04091573af17e07c00cc3af473dbbc82d89e181cf680696427";
-  sha512.source = "09427bee8f2e23f471b84689d7ef04b04e6444fee8735e187af80bebe1027a0de11888e18646f6c07ddbf81b760d05de898169d3e2ed968ffbd35e9fb46c1f95";
+  sha512.run = "65f5a9e3aea0c8f419c530a9b989b0296830347cd0f1ad4deb0d879ac82970d546be4a907f90c917e35b7197dfa6b16fa6f1b4318a2b7aae74bbe924580fd0dc";
+  sha512.doc = "f90103cdaae2e6ba00cfdc82865a4beeab9f76d364579396b8710d81a14a71cbbd6168a307889664b0a289a34f9f7f9c1c69f449b09e90669184a0159c8aaf90";
+  sha512.source = "3eaf0e0f29949277c66928fb0952cba6e568d700c118e32e7045628da340bfa12aad6b1b6c794c9dd79d73bdd7e0e120a4ba2418e7390115a611696520e39488";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.50";
+  version = "1.53";
 };
 glossaries-finnish = {
   revision = 54080;
@@ -20151,12 +20512,22 @@ glossaries-magyar = {
   license = [ "lppl13c" ];
   version = "1.0";
 };
+glossaries-norsk = {
+  revision = 67141;
+  stripPrefix = 0;
+  sha512.run = "8e718082194eabed6a4448b89a703a3b63873286899df02824cb4582dd7fea0cf0c1496aff95139b8a4f0770d6d49c5257ca3db14b3581eb529f2a7e95858308";
+  sha512.doc = "fac57f6cecf17f22de50fd360e4069d2c0eb8dc3283e00ef1a46d86827a411e15e3a2228db08165b158d384448aaf6beeeeacace05390c428bbfba3bff553ae8";
+  sha512.source = "f90b767ec7d7a3ba384198942ca6502e33f6885cdf9cebfb00299e7909c10d70a4b5cab58dfd7b0a39f366b667a1ae0c1d3cc89ed91db415625ea0b2b0367fb3";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0";
+};
 glossaries-nynorsk = {
-  revision = 55189;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "8f94d41ee925f91b8646a9e01caa008a56757a46da5a642cc0142d0bee5fbc192eaed4ef914c93a40840606f569c5f20dab5c3d6a5fae26f64e981d12f868832";
-  sha512.doc = "aae437c721582343ee9395881479cf3d0c0b7d26ad6642311a63f0ed1e0aaf03a48e456f3e21d530dfef012a9f68f346827fe1ac5e7a509e1370bb60abc39e41";
-  sha512.source = "29a038a405cecd5232b3e015ee9e431e206f61691404309a9f7b47333f5d892ba629c9545a99e1a20a360ca0b3a72acca85ecd1f333e8615b856baf680d206c2";
+  sha512.run = "eab5020321d14af5af78a3449dd2b99333bec3e56014b00c5c7a1a4410c26ab715ee8d3631c5a19b4356af61ee1904650704c623b7d36f783424409481424dd2";
+  sha512.doc = "e123e0024f750a28fb3778ca6e4880c070524837dcca5bdb628d0b32fa647c8b2a5595a76d436567caabbe88d309a1711d81d5bef1c33542206bd3c8e56f3e22";
+  sha512.source = "ac2286ac8a06a40d0d15d5e4200c14d1c242ebb35c5e9d0c9a0138cbafcbde4f220798082dad3b521b33cdde9c569403fbf23066104daf1ffefb28078a9e0fb9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.0";
@@ -20287,11 +20658,11 @@ gmverse = {
   version = "0.73";
 };
 gnu-freefont = {
-  revision = 29349;
+  revision = 68624;
   stripPrefix = 0;
-  sha512.run = "c8ced8afc3b1b9108e5a4a82db54a9a28ac6ba5f4f379062b0d9d8b9724716ca98234a345c06c7d809b1ce609f817f0a9acba1ef8e94ecbf8f1301fd3bc9d248";
-  sha512.doc = "3b7adbdabaf996fe8e0cff7e1192cb7f5984103398b22af6f859500a0041a0ce2ac0c70bc3f17abb7294ba80e34baa5cc77639500fa03f1a2c1c93548aa2a816";
-  sha512.source = "df7be02fdf1e4559f701b67183237f95c7b6c1b9b22f3b65688bc84d96f97964755397e4cf9039229ecec8b5810d65042ff2d7c101ef7cabbb126e6e9c93b3c5";
+  sha512.run = "8889c49137ab983c2744a6ec26dab4c1cdf2de3e6809c620b5f2fed51d3025bdc018a9d85b93b85235053d6c0f672f8cb1c074e64b8cd971d53dba3535d212a7";
+  sha512.doc = "232e8d0be31f77adbb62383da35e1e37d7b952cc2e6157d6eeb4cbb7d5e1dc0794d9fb3185e68073c5cb2980a3d5a6c447f878ea8cd45c7e2b806afdab21f8b5";
+  sha512.source = "b81ca0245e9a7b1bdfb0745ade7cd9da0734a407dd8c5cf3859a7fa269b949f38a3ca18341b6ff0e1c3d99ca04282ed6dd9fe2923901a06506fc9bd6b677006e";
   hasRunfiles = true;
   license = [ "gpl3" ];
 };
@@ -20428,14 +20799,14 @@ grant = {
   version = "0.0.5";
 };
 graph35 = {
-  revision = 65138;
+  revision = 66772;
   stripPrefix = 0;
-  sha512.run = "c1846cf4e04e62641adb6b9a5cf9cdb6552fe8480ae167cdea44b8cd7959745ab54b269d083d927120240129572bc7c492b73ba1126e2afdce80192c0cf8e218";
-  sha512.doc = "f32a46b9fd564e45f4988a565aa331bf4971a0b2a5057a5cbb65fddd762060a7e7dc86925e8df3d7a931d881466efdcb3ea936b950181573dd7630d9c129adc8";
-  sha512.source = "685e0307a44705b0272ff8f2a61d90768a05fcea33cc913e8645f1d5a4768078133a645fe73b0571d87ba0000b4b13810190eacf60bc552dbb6c43bd46f06406";
+  sha512.run = "6449e4a42b8de0556d9ab46b3c5f4e0da94fe015b289877e1e9a5ca6f5e84d2f0d621e8f02bf4cf3959807f830f2671124e725147fa033d25444eb14048fd77e";
+  sha512.doc = "bbab6b3a5a8ddf69de43815fe54a29ea376839f0dc8e1af47cfcdc55cbeb6ec93005c1c137fe717b8b5c81ca5ac87e0d2d7b0f181608fa1d7714ac2aa37f1e3f";
+  sha512.source = "f058197a060da4bb7525398bf51f76b595464cf2253fbd8135d20e0e9b66d12def451eb687c229a96a7f2f79afcd66b768a4db37d448824ff9597eeb3a7ae903";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1.3";
+  version = "0.1.4";
 };
 graphbox = {
   revision = 46360;
@@ -20448,15 +20819,15 @@ graphbox = {
   version = "1.1";
 };
 graphics = {
-  revision = 64892;
+  revision = 66204;
   stripPrefix = 0;
   deps = [
     "graphics-cfg"
     "graphics-def"
   ];
-  sha512.run = "e123ddcd0af8ddd37519076b86a443ff74af4da4a960446708c344a2fe75b700a4700db71414cfe06470532ef863926e5e45b9292f81dfed07f60323543e92cf";
-  sha512.doc = "9ff56bfcb46f79ea455797e6582a04ce4e8539b395c988382359cdc7eff81544861b85f3b9303acf12a3f05b66aa52311d776cf3d12404b976068369f3947e08";
-  sha512.source = "a23d65d454559f6f84f3a810357d31153bec5d44c8ccbf142b1ed14eeebda7cb7c385de9b5da7ce225db169f05e6d155263a097421c84af6e845b1acdbe36902";
+  sha512.run = "cd36d380c8315829f3bf711dd970d5460f00e19961671714dbdf5928c2e842d33438221ee1fd9e45061a2adabb7f75eb34209914229eca872f2bb7fe7b346a16";
+  sha512.doc = "b2a23c52e19eb8f6eeb53951f5fee9015f6d0ebeeb8a97f1bf4db217498ddb27b62d028b3554be3e5ec3b866d1d4bcce6bc805761e981c718f123f6688ba153c";
+  sha512.source = "45f998e3729e81f50cf7c064d1a3926c18007069b4a89b478e87a6f97f3e6820eb5d58be6025f374b05d9c443c8a101918ebff84de512366f5415e041356a848";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -20477,10 +20848,10 @@ graphics-def = {
   license = [ "lppl13c" ];
 };
 graphics-pln = {
-  revision = 65187;
+  revision = 68760;
   stripPrefix = 0;
-  sha512.run = "968848e9ed432c21594670df42354badca67c38967a716aebe3af678b4904d295f908365532db6937f76fdd4a5195cae2f85093e96641bb49c5f4323797e9aa5";
-  sha512.doc = "25628fb24b2817d8bf64a919c2bd29ee3b7fb618e5d3eccf7ec4d177de772f1a580d2cc5bddfe1e69792d88804f28e9e8bbc8471085d5ede1e95f78663fb5615";
+  sha512.run = "33c1b9a4db0c564df07360c17ea89a7cabd557b21e2703e68532388f7b977a2f99f12c6d7002e9297b8e35259a42fb713fa0d2c49e6c9a347845755186437c24";
+  sha512.doc = "27600b6127990a06a75ad8aea49a86b8f16b68ed306ca3ec54762124af02ddd1859adb714eb0dadcacc652578427d230d37416cf3326f567239dfa4b9d8b53e8";
   hasRunfiles = true;
   license = [ "lppl1" ];
 };
@@ -20553,22 +20924,22 @@ grayhints = {
   license = [ "lppl12" ];
 };
 greek-fontenc = {
-  revision = 66516;
+  revision = 68877;
   stripPrefix = 0;
-  sha512.run = "fb8c1a71409b90286cfc0bc9be6049fad47416611c1f02a760121f4a585a8a9b8da5c18d06b111a51cedea38165466a3f583a4fe456e8d3b6a3c150d76eef0d3";
-  sha512.doc = "a83257b0205cf4cde35c460b5b06acddc29d7f70a8ac46d8ada195a033ddfbe7385d35cab07fb0bd0c61d627d0c4956babc16041b6ad569e6bff14eacc004eae";
+  sha512.run = "24aded84aee9dbe4674a019fb3ffbe0d48fb51d88908e532cbfbafbebd8dda63ac6d2d47c907d32063bd57c3c9d90d51b1e8f1f59ee4fecb451f20002d4a1115";
+  sha512.doc = "67f22594152f543a1b59e91a49168b92d6e9870f0c362a69746c6d3ac9fa4918980df4708bf1a6697fedcfd519153b9a29d92114b6567a2ec03e65210eba3d7a";
   hasRunfiles = true;
-  license = [ "lppl13c" ];
-  version = "2.2.1";
+  license = [ "lppl13c" "bsd2" ];
+  version = "2.6";
 };
 greek-inputenc = {
-  revision = 66309;
+  revision = 66634;
   stripPrefix = 0;
-  sha512.run = "a4846b187b1831399bc4210656aedf232d58e8d96841cf615ae1b5918aef79b27e1bdc695b98cbac6cae8a5a36f9043febfe83101e291d154b2c7561da17a56a";
-  sha512.doc = "9658b09102198d7ae3d58fdeef89c55d88a393a2d8bcc14df82b42a97ba6cfa1a8ef5136042bf09f04284dcfa76d7ce9171b47c5d3a09b2f6015135edb3ee8cb";
+  sha512.run = "47dbf3388943440918879234037ddb08a8ea7f2851945273af2a01b032484e849af3898860f1daced148b770c4146701a987afe3ba3b8b66dd030bce36c4006d";
+  sha512.doc = "2f85fc72c0415b48fd74ebe9d19e5ce86440c57c08038e96a2d99673143f2848bc347e95f7beab7753d0921414fc635aa9b4f98eafc91fabf64155a55a407bee";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.8.2";
+  version = "1.9";
 };
 greekdates = {
   revision = 15878;
@@ -20747,14 +21118,14 @@ gsftopk.binfiles = [
   "gsftopk"
 ];
 gtl = {
-  revision = 49527;
+  revision = 69297;
   stripPrefix = 0;
-  sha512.run = "cd1c08d092b11423d77a87a5fd7cf4f62290aebcfd6a99b12dca957e075d0b26cc3c482b45e5083916bee3bb6aff91940df375ca4b1dbcbd9fc37a31d8709aeb";
-  sha512.doc = "2f41bb930e46a95d5c7acb07153e5d874724ac009b2741f6f2e62a9b56165b5e2cf06cf8c89cd9c1fc42a1a93babf6761d0a48b418ddc0a0f5d38e9c2f31f175";
-  sha512.source = "5b5d004fbd3dafa14102774a3bf57867df1cf9463630a7912d49303aa9daa2c147733badeee3f628c0d7c2c9b8081131ac39f195f6dfe97d659a945702b7eae2";
+  sha512.run = "18cac75f4370c759fb74079c6647553f5d91a8aaab946c46a54c40b8ed757e3c14fbb2f2f5b375e691c8599a7f7d3ca4ebc5a748f18ad35e507305a5e5d8f73d";
+  sha512.doc = "ca1fd56abaf08f10fc6c830b51d799a71ba00c11d94e48619f6ac44f151920e8e53df450c23426a860266d5c6347b7c24c9373d152be80c2ba5023836df6f89f";
+  sha512.source = "e1ca28c2729e2a4b10ba53cb3f18a657ea1ac7cc0b3eae8b7d13b70ee510008b90d900eea9f5f48ec8b0541638e76ae73e533493ab5b1b0de020d3ad39b95561";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.5";
+  version = "0.6";
 };
 gtrcrd = {
   revision = 32484;
@@ -21012,23 +21383,23 @@ har2nat = {
   version = "1.0";
 };
 haranoaji = {
-  revision = 66119;
+  revision = 68501;
   postactionScript = "tlpkg/tlpostcode/haranoaji-tlpost.pl";
-  sha512.run = "96100a78ab4292a4dc656fb70e2973f75ece3964f3a0d85d9f9153b7052ea90c14f074b195d31e46465dc52ea0516541a16981239abf552861dbca16fac3ab1d";
-  sha512.doc = "bb4161c95b760c9c103f086c134d7f7528dafd92f82623dd95322ea644b86c35e2baef05170c3c67a7f1c4905dc8a5fd40108db1c65074b558eec69f0e3c6910";
+  sha512.run = "2ff313007fb9b93503ed6d703c976f639d878ccc706060e0a26ab8a21ffe1d4669aca9df9fb001c886a1b1f7a0e140403253aaa5ef76a6e91d327c504fc251f3";
+  sha512.doc = "1c294bbfbbcc6abbbcb0cdf6ea29335d2b1b039545c1dccfe60e8ae4f1883d2564a5924bec22b0dc817e4eef0009108df348d7af788afee1dba4f1b7f1ae30d0";
   hasRunfiles = true;
   hasTlpkg = true;
   license = [ "ofl" ];
-  version = "20230223";
+  version = "20231009";
 };
 haranoaji-extra = {
-  revision = 66119;
+  revision = 68500;
   stripPrefix = 0;
-  sha512.run = "f12b9c3865fbd8c94e6138ab44b8a9ae35b66b3d0e0ad7d07f4ea3c468b84458d335543bce6e1b9c7daa5be622c9a0fea92c585f779a69ed01e952cda619bbd8";
-  sha512.doc = "881a80dfc5646a9e872acf0db968a40f5e151aed459d29045f4e01c714fc7cdb7d51012862ec8a81bb40c81b5c9600a007729a473fdb61dd12c18fa6c41f7394";
+  sha512.run = "79b1d71d80bc73681f1d1d48679c2f4586834d7dcaebceadfcc17ba49fd6c41849cae77a88ae4e45f7b2f535352a27aeb91089cdfd5a75b0af88024988617422";
+  sha512.doc = "3331b5113f2f8634ddbf4e280aa7e7b8f82a2ecb494b29d2a1587ab338130340084b1f70402e70fe2c0039ce57a4665030581323c703ed504caebac823a712a1";
   hasRunfiles = true;
   license = [ "ofl" ];
-  version = "20230223";
+  version = "20231009";
 };
 hardwrap = {
   revision = 21396;
@@ -21139,15 +21510,25 @@ he-she = {
   license = [ "lppl13c" ];
   version = "1.3";
 };
+hebrew-fonts = {
+  revision = 68038;
+  stripPrefix = 0;
+  sha512.run = "5c27626c22275c42c25737d35af3c39a98a921037f6b9165a3222e168dd2c679e75e6854f88713681bdaa8eb8961bf58cff3b34c207bd1775ffea474b3524ffd";
+  sha512.doc = "bc7f81a0f09b544bee91bd387504f5a764e7a6df207f3255f5ba25b1fe654532b14e2c7ea9d1d2804db875b05e210b11058eecf7c15fd1fa7a7b516e2bb20207";
+  sha512.source = "21203d9e15eb6d3533c7a50c5fadf2cae403dbda8316a57d2a7e834ccbbcedd483f11fdbe12d1ab72ef9039e195f31e57eee1e0df8548da052bb030576557eb2";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.3";
+};
 hecthese = {
-  revision = 60455;
+  revision = 68584;
   stripPrefix = 0;
-  sha512.run = "c7956496814a25dbcd42c7f0034e32cb40746da09e8a7d527b1b5cdc4d557971b55117ad35b60db18e21bd2433f13d3850fdf9e2364184c0dd9e7a248be2896b";
-  sha512.doc = "680b2cc373f0b7bb265ff01f3d07fff56c07e5c789a7528a2257b2e4282da510874611a4754c5b65d88ded8b8b32ad1343706dd1d77e8a4594c7291fa5b201d5";
-  sha512.source = "fd4318bb47d45336d5010544f0e048a8b23d1a2f33cb0c7c24d54fcca59c20ae62887285dbb128f234170dc0cd057e96793b8012274ff400e2f63da0821dd309";
+  sha512.run = "ca64dc8ca2265ea038ac3c2250c4ead4aedcfda74ee28077db2b9f4019f2ea304ed02e7349ad0a191012d2c903a1ed21b879459c048b29827ea3478115c935b0";
+  sha512.doc = "28e1e4940bad5a6f76160f42adbf3f5f793cc9a7cd869dfee2389229335c09036044d79d3e14f179d5e8bf32304c04fd23ff997a116338c4a3500906fa6bd1c0";
+  sha512.source = "348f79081082f3b1c6362b2bc7a59b7d55947955a482bc5f323119ce3a47158ac07f44c2a95aaeaa3a3c9f2d99f322f3a163b90bc7522d613d55311973639ee4";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.5";
+  version = "2.0";
 };
 helmholtz-ellis-ji-notation = {
   revision = 55213;
@@ -21176,104 +21557,114 @@ hep = {
   version = "1.0";
 };
 hep-acronym = {
-  revision = 64890;
+  revision = 67632;
   stripPrefix = 0;
-  sha512.run = "2a63980d54f5b00bd495ef5c44ebb32d9a75723ce79b9af131cf65da4d114eb3812581a2c305126d4c166c78bda21e164eda1fd127c3d3f0514a4e5f34cf3621";
-  sha512.doc = "ee7828b183307f94e5b77f44d228af390432ed51e5a75e96408c187139f08f9c7f19cbf80e1c752ab38b55ecdca9b0ea99c6a1043ae1eeb03ab0998398091100";
-  sha512.source = "7cd7b4619e13cfd97058dc7ad57d3c24ad7de4b39c7ae606c98c6a8c1be67cb0f370df17ad2325f62bd585abd4e98836f33e9201a876f90a5812b8c937dc1827";
+  sha512.run = "3eeaf8ba9215868df3ad2d8eee5ed17aee0f91c5404b8c93a7ab378ff6d928660853f8dbbab4cc52421f0d902936983a8cb34badd675453d2fc30344de19fb1c";
+  sha512.doc = "a17c6f61a44253d6f9db070392b146f0fa297c080f04577f30e190a2742e344c22b3d70a58d3609eea6d981e843bded2a1a01b3fda356c822b1f60ef7ed05271";
+  sha512.source = "83b2899d05ac7f8b2e1525e76327303a135860a358c08dcfc6f9d1c66e79c1d743f77a625b225c477a39c07a091d282ea2869fa9f5189ae4e3007e7e792fefb3";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "1.2";
 };
 hep-bibliography = {
-  revision = 64888;
+  revision = 67632;
   stripPrefix = 0;
-  sha512.run = "205a5614ab353eff09732cd428b3ee5aa8ea6ae107b7d2c5b988a86eb218c06f70532d0ba6f4dd124e560e7407a2f3fa5832f04ca53094b55c26b043effd5a13";
-  sha512.doc = "24e38cb835bbf1849c56a6635c7680e86cbb3b48c9c06442c4bc431837a88c739e38cfecf86d8c9c35864485c92bb00248d261bd0dd794e6fac94f80d23d7b7e";
-  sha512.source = "0ae3ab366a1d11ce3076cc96cba73a5526a81bc7c429a1e9f81d122a9d35b016b83d54b7cac5a06916d2a46e183ccc3ff759e163140299ae4e280146efb075ea";
+  sha512.run = "8fa9f0a0f19f7dcadc88e727c461af05f3c0723d2eef1c4c7cc91fa0b507a6cc20f0414c82f7bc3ef12932ea54e8fd9c7c402fb2041032e23ee14c6dafc3a467";
+  sha512.doc = "388fed1b3b5b9de09ae4b1cb73de2f618f99293e1b3a4cba5ffaa2d5ae611e454688bea2ce01780ad844380e2de56e62c38013677bbc3a9194d0831de4cc97bc";
+  sha512.source = "5e82014ec9abfc9ff19d01c929d7475f6bbc38d0e77b9888f884862f17c1332a868153315af6d13c023e8f94b3d8b567e73d610ebc17c2df799692c603d5b509";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "1.2";
 };
 hep-float = {
-  revision = 64904;
+  revision = 67632;
   stripPrefix = 0;
-  sha512.run = "418e6f0f1811b0c5604b397dbea4c79b1f9996ac87304eb8785def44d23c16a5ad9497d66b04fc342a3d10ac6a0c9bc35c5c222894e24bbc8a49c5fc9fa32ae9";
-  sha512.doc = "e26b9d807922a614adee0e03c39300ff77b3f52cdac2e351fdf9343a6e24f0077d14eeb650baf1c416a78712080b71bfbf64853a94af6e96f67c4a4a84244440";
-  sha512.source = "c28a1b88639321188acd863fe75e8a8be63c03021eaf503cf5a0541a0674065b64df88e1dd89da5827388a862c56fd5762b6672288b72b5fa5271f9dfa1f32dd";
+  sha512.run = "ccfbce04c651a478a811b2148141090fffbdb3851a05b9d3fa7683943fde9e6579eb75693c4b2834741b6cf02a5b381d1f80bcec5d44783e71605e445840145a";
+  sha512.doc = "11c922d42d6793dffab0cf82f228f554510dc089956030c9c5e76b0a17e4d96ce2ae4d95533f0f704be1d4054f35884901a61ec851fa73f68b06c87b93f18821";
+  sha512.source = "c896cd60a4b8b4bf2bd46425dc615a55132fda57b42ad536807bba8cfafb65feef34cdacd4efc2b90de2b30bd859d6695b4f670d5f507786c48d19b8d0dea842";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "1.2";
 };
 hep-font = {
-  revision = 64900;
+  revision = 67632;
   stripPrefix = 0;
-  sha512.run = "57a5d12114bc9dc36367a9086e4ac5aa6bd3b84edcf48d724284a1b04237b95adf7b15bfe5b0e6aad35b38a759d4cd4cf3da62b8bcb31660602a3c2ef08f30d4";
-  sha512.doc = "a0dd46bbe862a9e9fa8c6c69dbc393f58d0a5cceecce6281ebdf2da87b78aedee1f57439cf28aaa0194d35b54e735b9d55154c6879e882e5ca4308cf7b31437d";
-  sha512.source = "a6e6118562ada743d6c11e733c781f4b40690e9d203cc05fee3c039598d147940d544b8be06f88bd9bfde792d593daabf947e705e63f127080fc63c7695f4f41";
+  sha512.run = "a70b15ded3774985b31a78ae5d05572922133d3fb59abcb482677ccefb6767726b902b62007e9d0e14950ca9e9f133c8677d6c2d352e0f529a3909b5f6da867a";
+  sha512.doc = "97a4c20933260eb24a935ed7a780a6e0a49f8b305872a33de5fe6df439ead0e555b909b04bd559016451bbf5cdc3494a3854d257b1804bc022a8925166103877";
+  sha512.source = "d85c106c458ebb002830f7f0cae13996f203bbc3377c66bc2776b7c501e6c2bea26530955b250eb5dd96fe4b6a18af18c9b616ca49096b9133d0041782e2ebbd";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "1.2";
+};
+hep-graphic = {
+  revision = 67641;
+  stripPrefix = 0;
+  sha512.run = "59dc1363cdcbe8376b5d5de1a2220c9d70c7022d1d943f657ff226a9ec1bafc302b30255983c090656d293c0995095dc325e1cafed113ff43ea74d2a85add741";
+  sha512.doc = "9398029fe703f385decf3ed9295cf64501a9ad7efc3c50bddf1ac261e780dbe5a4ad9fe5f1871c2a8f081909741ec11a93b2b399b89c841cb9b661d812f326b2";
+  sha512.source = "fcd58e2b778eb16b6b0cc9d36d44f233b9f2e40a243dc8792f37b8159c4ec3b9500df418465ee2c809bffb24d919d8295dc83b661553ab413390b0b5cf32b9c6";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.2";
 };
 hep-math = {
-  revision = 64905;
+  revision = 67632;
   stripPrefix = 0;
-  sha512.run = "5066944fb9c113e38e1055eb668709bb69f654871918c74fb784cc91138c45e06b26e55a2b14ae69c35757d181c46ecc87b2684128663765371eb5d3cf46747e";
-  sha512.doc = "98f0a956d9e3015e4db038ab9cbdad943303d9bce072367b3e819a6f3054226a2dba26825bed6520782227bf1e2f39ee81b90f3dc1a7de73ba1db4524ad91451";
-  sha512.source = "4c4b0975bbc75be8adbb1b2d020da2dcb98c6dfbd4fbf8ee40770510206d24c89e0132140f0376a5055222f5bf8ae7ad46cd6aafa6b6d622e64024d29560f1a9";
+  sha512.run = "4446d255ec62b12b2eec1958696c10f4d55d83e3ccf30590f40d146d1305db3a351894c73d03baf6327834d0cee4592491c0a3a57bcfa7f95af0e172fef3148d";
+  sha512.doc = "5110d1cd03ca6b925ba6872932cb53c99068399a5329d7368189229103e13f79296bf6b97b2097ab800823eae6dd14ac408fe404d309c37b1e6e9a20c6543ba5";
+  sha512.source = "d853885d8f6910843558fa4854b51719e3d4917a324096e5dc38cbd7b701e8e250dea3a86fb803637268f36858760c2ac82ee147cd982df0b1516b93cd92150a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "1.2";
 };
 hep-math-font = {
-  revision = 64901;
+  revision = 67632;
   stripPrefix = 0;
-  sha512.run = "ec36fb9e13fc57148bba67e0735879c203e3e955cad88c6d8150c5f77d9204c6a6cf9c95bb76811ca8fd4ef950c49c7f28961772d03c96d14e37e9bb67766215";
-  sha512.doc = "b3fccd40b8133b29f22bf3841e65f7b48ba93e88ce241fdfe33a7a57b2f2fed7f2f5a9833df3634f17efc115fad130fb7c6ca8ada63dab03bc89487c0e6bbbae";
-  sha512.source = "d4bf264ebc8fc2c4f33878b3af6e44eaba50c3de3b5ada106f66d5ec9a51bca9d48be44026e62a12f54ec5ea016e3980918a32ef5261238f4f99e3958cbcdc46";
+  sha512.run = "0bf2ac1f414216568cfe4247f1c1c9187fbc8133831ebe7a55b2c2d3d30555db36b0c0c1edc2e8bdb799a34b20650990d26c1cc838c5a3a31c55bd9160ab1efb";
+  sha512.doc = "eac39c9916a87efd036b9f680ee9b774584845d1a3451b192857d5db72cafb1eae5ce580f1225fc6afdffe80e136f69ed2447f87986cdd3afb34adc9f9d9a49a";
+  sha512.source = "ff88e396d084bd47256015530ed0d9b6a2f29f67a0a88db018fa6c1efe5d949449a8ecb339e4ad438ebaec4f57792b8cd83496ccab23ca64e383e28ac3929cba";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "1.2";
 };
 hep-paper = {
-  revision = 64917;
+  revision = 67632;
   stripPrefix = 0;
-  sha512.run = "16cca3b6d0e74a01cdf0904211c41e74c7a9d85837a9b6c37876cb41a787d94d51efaa8a33af0c2ffad33805eff6d91c8d1556abf5d96855da10752086352529";
-  sha512.doc = "f3d63bd7e422e7db8eaf9b2b61a177f09ba27e6f3e61beefa70d30022b680171321d969c65ed5105c1752da22d684e3e24e72a815ae145f8a314d3df252beb44";
-  sha512.source = "b70767a81d62d1db480b26f2ac5398d5db691ab538111b4954fa59be55f258d2a1dbc1d50103e4c0ad57779d2f10cd0a5ea3b73202d1ea737325c9ac078c2d9c";
+  sha512.run = "2cb6988dccd76f121a7aa39de3246559caedc0cc697a25382f7edf6cab36af32b03db915898f6073b31cd459e8dabb3da3acd387bd0c027e44d40af917613c76";
+  sha512.doc = "dcb2f4aff93c609edae00fa44c285cc6f5d5bed76026c8d5f3f722deee19dc197a28dad7372f2b44466036d6e8aa0e576457e07f953d36953219175224fc6818";
+  sha512.source = "ca7865f2f8ce574fec8d7b3a9faf77ae3899d75a2c2bc7200b8d355b89149cd88e0fbba66d5060f5b5cb567aa6a355d5ba45d34863f7fbd5749b4073e6114437";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.1";
+  version = "2.2";
 };
 hep-reference = {
-  revision = 64853;
+  revision = 67632;
   stripPrefix = 0;
-  sha512.run = "1a422d571817be0264385beae73effb4ac674f2e05396289373c0d0792f591c39ebc2bac21d9e6def0e18dc389b7af9f604b6aebba133053894b2874a8dc113d";
-  sha512.doc = "8952bc87e4a3cb1780ce51ea402b3dbe924b5e6adc9d05c9c0b75bb2e391c8fb4b07bab0f3419dc9f21bd4e9527eca5b56f6c10ef5a6e41d6c964e15cf9a5a0c";
-  sha512.source = "3a76caf01215ec123f930e0812674e67753727d3ef2adfcba12f0df9a0291739ec9493aa1b0536f749e976463b8c8ee90add1682109d44794c79e83967564b44";
+  sha512.run = "9cc4b4b63f41b28fa95fa6a81e47b5028c8ed0bdd03670c6d239bbcc09922265dc69b443ab2b1a4032cbf966a5202ff6e8b1a8c61afc2072e6628d11e071391e";
+  sha512.doc = "588d2c5a2990b44d64598cf698cc1d6e04e92991e5319167e412692d62ee54de5c6053e4e10ce719f470ed08c028d03f9dd301afb65be4f5370742fe621a80b3";
+  sha512.source = "84ca10f669a9541f7c51609b72d2caee0bee956489b4b9efeacd356548ea573457bc5cfed865b3806b1175d0d6b3b47793283589eda435b065668395a01a255a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "1.2";
 };
 hep-text = {
-  revision = 64906;
+  revision = 67632;
   stripPrefix = 0;
-  sha512.run = "6355b807fbb0f5657ae14f0ab03864536a47cb5b1ba477cd6f0df6541602ee32dcfbb5837ac24297ec1f67cb044d53d27f202ba747f81c7cb9313769129ca760";
-  sha512.doc = "4b4d2319195f42dacc6b35787b54625e0db00119db9ae42c280b070aced46adf9fd5349ea8ae6bbe2e287b6f2abb40832087a3970d62b2f88d9b3bce72b9894e";
-  sha512.source = "9f0a4db06f3cb9858132e9f06530c779c698cdffd53993eb75f48a4c9b7c503b45b8f589934742609770ed659f8a0b307d59c20b7f5d0afad2ca65959aa39e8f";
+  sha512.run = "bbbf90b0e85a9b962267f42a2ced125448f8aa85bb93e347214164167a151e663f647b754e4b55faf42041ede7b6e90b6a073290056e00814ed25bf554eb20b7";
+  sha512.doc = "5c914c5b3bbda70d93fb340b863c656d67a480eb3f59c51f05fda65396d408ecc26229992bf4a0161fbbfe0801e8807381ffe7fa3a502ca68b56f5a3afc88caa";
+  sha512.source = "0052e0357e20251faab93ac645cec196a504881db615869e18073124671005a5c942e791705f2460f55bbc8bf4aa4906b74ff6cacc7174c59aaec6106afb5291";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "1.2";
 };
 hep-title = {
-  revision = 64907;
+  revision = 67632;
   stripPrefix = 0;
-  sha512.run = "534e6cc0062806de3756d5593657bd481866813541fac8b5ca31655f03ef4f00c02a98eb366160a0e7621821d6636b1d4ecd33933ae57e31268001753e9c1b22";
-  sha512.doc = "c94a7eefa02a942fb0b751a197ed2d52d7b7f4a390e7609e8c122f08de59b83a421b4150e867d93881aa1bcab45ee345c76e2b23b566b0774658c0d08cfd799e";
-  sha512.source = "5f4d1d073c8fcff302dd1a454837e80d6a9b821cd0b25eb0487992c3d8c474348a42644ea5c3a7da414985b0fbc78f083e565e798a42a27a0308f88c8f153475";
+  sha512.run = "6da28ecfebbb06469fc666978d8674e81b60ce019e0f9a730bafab928d95af4d92bb8783275bc261a43cc61efcb14cfdd4973fa9f52b92f33d70890983d89e53";
+  sha512.doc = "3841dc3378d6f8fff0783815f68d75581dc5623961799a034410de2e37224fbf0b1d9ea6b0b65b9b5c339cad565520960d51f7077f7c785807e9afb5acf83d3c";
+  sha512.source = "40f64530f2328fafe8163d4bf0ce2eaa7ff34f3d1661dda967bf14593af9270e33c8e3eaadd79b7d9b70e065a8876afddeaba059c64a7b0759f1cffe3bf565b4";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "1.2";
 };
 hepnames = {
   revision = 35722;
@@ -21320,13 +21711,23 @@ here = {
   license = [ "publicDomain" ];
 };
 hereapplies = {
-  revision = 65251;
+  revision = 68638;
   stripPrefix = 0;
-  sha512.run = "b89cf4ffd5299939b681a91acb6e06c6185bbca2077677aa551e3d5ae2463f823293fced819f242cee8806000009a47baaf5375aa4487568ad229a81208eee6e";
-  sha512.doc = "e55430f11a776d57c0ff022d11317986d454fcd1101a6df73afcb4c4b7f3782d1383a198d024e56ccf3950187017590e81128ca5a7e91247ae2e90271a4cd91d";
+  sha512.run = "b796f6f276bd9cdea0f469482c96aa42956417c544647df201a8dfecfc5041b726a1ea1084a51b392b6f71b3172961689cce0cc7be63c146ba7edc3dc8bcac35";
+  sha512.doc = "185798c65981f2d09b5c49ac3bfcca8763ca929399a9f534316ee8345f5550a437be10dd39bc886febc5d9de4156c0642c125ca2a033d129479c9cf98bc885c6";
   hasRunfiles = true;
   license = [ "gpl3Plus" ];
-  version = "1.0.1";
+  version = "1.0.2";
+};
+heria = {
+  revision = 69058;
+  stripPrefix = 0;
+  sha512.run = "2ddbf4e07a47f72b402087046e4778d7d655af7243465bb7ca4ec10c3c15b72c49d8c6343e4ece780ac4aa1e2007e3fff4f8eb395673952d8050e7b6803b275c";
+  sha512.doc = "08e4a34df324d61089a7632b2b8d2b41ff4df47fe633803c1c246525b86ec25ec40f6b56182432488a3cf4d1d90b36038773104d2c78a809b12d04f7a9a23bfe";
+  sha512.source = "307a67c4095b52687fd978da3a1aa90b4cfb484d5f00876c86bad6c7103d926cda269ea081781b08a4b3cc2990e6570f60590b2b431f6a3f9c4d5c58d43016fe";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "3.2.1.0";
 };
 heros-otf = {
   revision = 64695;
@@ -21403,13 +21804,13 @@ hfoldsty = {
   version = "1.15";
 };
 hfutexam = {
-  revision = 66555;
+  revision = 68829;
   stripPrefix = 0;
-  sha512.run = "990b88861c8e7c3701fde44ed4aee85c097ce158917dadfef8bd603adf07af6df3b4dcfd32c423629cf62b5de62e2862ace266d4941d028f73a55d07f4c69d90";
-  sha512.doc = "0a4643a0ee0288855069c8998f26abf4751c0a3f5df4c797e6b0673bfc9a743549b6119fc22606451edf9ddc2ae58560b3a93ba46739fc6376cc6c0fece59a5e";
+  sha512.run = "4ebc270b01ed4f0e9d1aa501cb16cc0594c209cb77423b3b83b43600cb1080fbbfa8ecd9d2512e460d7215260a3045f1f33f469762e8a7321ace472d69e0a43b";
+  sha512.doc = "bc70bcca6f0dc432fe6fbf1c92ae8a364a93a8e94d65cbd22939ee2313bd5d82e2446e60b6dc0f8a4b88e49f5cb2b3fef9ea5502e5362860eff10a8123645c40";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.7";
+  version = "1.9";
 };
 hfutthesis = {
   revision = 64025;
@@ -21447,6 +21848,15 @@ highlightlatex = {
   hasRunfiles = true;
   license = [ "mit" ];
 };
+highlightx = {
+  revision = 68756;
+  stripPrefix = 0;
+  sha512.run = "64919a37471b4ed0520cfcf8685a67ba2f9f84a278b9dc7524a484876e95072906cc5a7d40bd8c751ea2d4ec65633e589274e0b729f43625b46f91928a50b3e3";
+  sha512.doc = "ff1b00aacdf83fcc54021520bc447184ebf29498d2b5ea66b3c3266560066bc1b05d7f9edf61eee810100531c76db4c65814cb1d6c3051dd1e3d4911e41c145c";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.5";
+};
 hindawi-latex-template = {
   revision = 57757;
   stripPrefix = 0;
@@ -21493,7 +21903,7 @@ hitec = {
   version = "0.0beta";
 };
 hitex = {
-  revision = 65130;
+  revision = 66924;
   deps = [
     "atbegshi"
     "atveryend"
@@ -21516,7 +21926,6 @@ hitex = {
   formats = [
     {
       name = "hilatex";
-      enabled = false;
       engine = "hitex";
       patterns = [ "language.dat" ];
       options = "-etex -ltx hilatex.ini";
@@ -21530,8 +21939,8 @@ hitex = {
       fmttriggers = [ "cm" "hyphen-base" "etex" "knuth-lib" "plain" ];
     }
   ];
-  sha512.run = "5a88c0f4d7bddc0161ce24bbe17884a93469f9ffb56ea6a2dcd3045cb97e5c9d09941e44e365483bc5126e1c9c6970ad151e19573d93b1472534333a507f1c63";
-  sha512.doc = "3016748caa430c75689e27459c002abc8f68d4aa1c2d0be04b1f82981c44f7a3fd748f900aab5e4c37b16a56f884d5c0cf7d42323288c74cb51b72c19e0b08aa";
+  sha512.run = "b831998a078c61be41f376c73a63d2996ebbb128aa90dcc9f21e1e80d2e834d6628d150d9e98819defb4b38fcfd9e1ddd0239fd0ddea19d0086c7187d3d80a7b";
+  sha512.doc = "f278d0d4a4b37e4489ba46ee3325a9af5bd7205359b55f30a3de10de36182c754974e0b7a0f506ac233280ee395bfdb5a8f7f5c3ee1cbcb0c30480338968e0f9";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "x11" ];
@@ -21610,14 +22019,14 @@ hmtrump = {
   version = "1.2a";
 };
 hobby = {
-  revision = 44474;
+  revision = 68137;
   stripPrefix = 0;
-  sha512.run = "669c768dffa4e88d831d0a03a7e518fb2c101cd0af9ca1e15e6527ccbe78a13485145bedd4ef45cbaefcc94e4bead303acb89a0d0f50c6fc3a7ab312717febad";
-  sha512.doc = "7c8a353078be8b94195558d1d7a319173b4480a616c8725b99357ed3a086565c238b944b9b3baa719b354dcff9476aa7c7ffb055565df546054e662370d5d808";
-  sha512.source = "216ff34f42c28fd3e2303ff5032a299668881fbe51e8c8957547dd7953b2296e984a449cc09b79268b968ec8fcb8b774453a26e88156f5b7bbc6cb78a57de7e7";
+  sha512.run = "0caaaf772dc325e70594f909f1a58740224195aa7af7ef86571e7a97e1245cea5ad6a704415a3275719fadaf74ec55605e66af55dbbdff4c524f529e121035ad";
+  sha512.doc = "3e418503ef48dd0be479f17171d8c6767c77da95d43a2f31a374cbb6ed47c5129e2baa64ca15128240856790ea92acd2b090364384c29954266d2b9ec6aed362";
+  sha512.source = "5978e0c2f5c30145a9a5562661004a50cbb5054ea98907c25690bfd1c55f13190d74283ef79e7995d6f63d2d1516919062fe746b989227a4e95fe091ff5c9acd";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.8";
+  version = "1.12";
 };
 hobete = {
   revision = 27036;
@@ -21645,6 +22054,18 @@ hologo = {
   license = [ "lppl13c" ];
   version = "1.15";
 };
+homework = {
+  revision = 68773;
+  stripPrefix = 0;
+  deps = [
+    "einfart"
+  ];
+  sha512.run = "4b74d0a93d720252e38f7b8452cd781f37de2e17343b5003ef729f1b1d2b50978ca4a22c83fe0e5e941b92ec9cc31ba4301b322e3c4e2bbf18f96d8d14c0ca81";
+  sha512.doc = "e1c29c37dbdbfb968409a9bbc8c64573dbbbe477add7a3c938162a8189cd0689ceee8c2913b59a2cae21099cb0f0ef4db8fe7b23bb802d884ec20af61896907e";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "2023-10-15a";
+};
 hook-pre-commit-pkg = {
   revision = 41378;
   stripPrefix = 0;
@@ -21684,25 +22105,25 @@ hpsdiss = {
   version = "1.0";
 };
 href-ul = {
-  revision = 64880;
+  revision = 69359;
   stripPrefix = 0;
   deps = [
     "hyperref"
     "ulem"
   ];
-  sha512.run = "fd3ddb8d494b5b6a80bddf3e28747cb872452d8bf56e0e59cdbd19e811a235683ac0aff7e92e358f7b9f352cfc2b6c03f2263248cc13e147e4dad649fb331381";
-  sha512.doc = "9318e6fd357b9705e95db7600dea3b3b1fe2e7bcb0dffec4bf92b5375a8d7feaaf1574188bfeaefa71f05f6aa3728b51d9c7c72908cc66945a3bc8d5391583d9";
-  sha512.source = "cea37410dbfd8094c4028b96f03d8ac631a32f349098ad5acdbdd484a789d2da58a21f65745d647e05075226d8ad3e1c2217850a312afe522206e900c0b00eed";
+  sha512.run = "e8e5d7767c93d0f30a7cadadfb2c7644078b590e46fa073db9251426f961dbec4abbd0dfcf6db6056f9a03342a01d706e19da027f64a01adcfa584a9b1becd2e";
+  sha512.doc = "56babcea1003db2bc7456ccc77e004814d9dbb7711289e2a0af89548ef2e6b146f027ab7d0503628c7e61ba25691b1b2c7d5a24253e0fb08a30256cfde0c1e5a";
+  sha512.source = "eb842f9a9b01a36dd033f2079f0f4508eacad634c89c33e6c2607e78c6016fa441cecffe82fdab65c27870af5b3eedd4e0af45a9db224cd7c60c43a24b1b0d93";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.3.0";
+  version = "0.4.0";
 };
 hrefhide = {
-  revision = 66196;
+  revision = 66189;
   stripPrefix = 0;
-  sha512.run = "a6bcf0a61258769debb09ae41bdfa850137508a4bdae5e44f68a203f9a764fa762beced247aad29e6b643687cb7ba7e554349e96de7a5a428d54486579836a30";
-  sha512.doc = "fbeb8187af9501df6c6263d769f85ff08282c29e6af7648a7b9e4ab35877eb8d3d0d3369e18b9c4ee9a6b37c989394d275f68b68e6ec2aee1486bf45d7b118ed";
-  sha512.source = "55a3e5298a4625fe1612b8fab60e171557e56422a6f70076eb02abecca275d6b3237a62e09442355a9eed75df4e727db07b2075a5b75f6def09038455485c27e";
+  sha512.run = "f62671bc667f8a0eccf2d63b06b55e5483a7f5d1f97e4a1f829c898fe947adf048c21cac10b659160d6ee51f0ad4a48a3998a1e820e387881b6df390ce9bbd0f";
+  sha512.doc = "0ade5f947160493a66f8772d6980db65d0c52ef03b1c12cc2841ae40eeebaddb8b0af50a8c28b010cfe7689dd1bfaa136b80c419fe26ecad302699e754f372b0";
+  sha512.source = "51373bd9570c5df5ff388e9174875db7144e5868a0da8d5d27a9f4c332dc37c97436d1ebedb60c18b47a1e6befa07e5703fb1d6d5d5f872d46f3bc3e2ef71b84";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.1a";
@@ -21718,53 +22139,65 @@ hrlatex = {
   version = "0.23";
 };
 hu-berlin-bundle = {
-  revision = 57580;
+  revision = 67128;
   stripPrefix = 0;
-  sha512.run = "78944145098920198c331c54572acea4238fb4344e2ef7b8a53f587b4d1754a0b6b677d7d6ff15ee4edf19b8ecaa08e1728abe00a4a9f0c0300e8b5b11ceff82";
-  sha512.doc = "47cef7dab327828865e2cfdd50873d6b50bd370caeba4b107390895c99a0badfbf7a3778e1f6f2a850ed213e95f1f6a52e0f0ff3fc2f1f1beaebd3c177b82cb9";
-  sha512.source = "08f7fabd4df92fe01790f6cb843ed912dae1e554a15c4cc54d13121a3f61797ee292086de8312a7df50171e385c2b531141a1bbe93bda482eeb936e6eacd4dcc";
+  sha512.run = "57b3122fb063e5f930e5d94aaa94dd00fccbe865570c345abbb6252c42d3f67ed7f2dd163d9474452142ada7691783b7b4e0aaa8a23fcf6320c4bbc581e5391d";
+  sha512.doc = "91483639fbbe4b073eb299b0153eb57383dc59c7d669bfc07e275bf445b22f2eff35a7abd632388d701eb23eb833561d9ad4d865f3e8d7495bf44c74be8dd12e";
+  sha512.source = "eaea8de8f9ff48ee7cc3d1d91819cfad340f9f8aa2b666bc23fd28489c585b4344a946cfca6334620acbefa2602f90050476c5da56552088b1c1ddd3c483af0f";
   hasRunfiles = true;
   license = [ "lppl13c" "gpl2" "bsd3" ];
-  version = "1.1.1";
+  version = "1.1.2";
 };
 huawei = {
-  revision = 65264;
+  revision = 68336;
   stripPrefix = 0;
   deps = [
+    "anyfontsize"
     "biblatex"
-    "cjk"
+    "caption"
+    "catchfile"
+    "changepage"
     "currfile"
     "datetime"
     "enumitem"
+    "environ"
     "fancyhdr"
+    "ffcode"
+    "filehook"
+    "fmtcount"
+    "fontsize"
     "footmisc"
     "geometry"
-    "graphics"
     "hyperref"
-    "l3packages"
     "lastpage"
     "libertine"
+    "listings"
+    "listingsutf8"
     "makecell"
     "microtype"
-    "minted"
+    "pagecolor"
     "paralist"
+    "pdfcol"
     "pgf"
+    "pgfopts"
+    "ragged2e"
     "setspace"
     "svg"
     "tcolorbox"
     "textpos"
+    "tikzfill"
     "titling"
-    "tools"
-    "ulem"
+    "transparent"
+    "trimspaces"
     "wrapfig"
     "xcolor"
   ];
-  sha512.run = "d181f45f8211714674697a8e2e203b3169cb1be998687f315418dca664cb09533b5e3b5f7b1cda0db628401d263d7ca816c2ce1c29da48f1550ea9100d9e2523";
-  sha512.doc = "3b4112d8b5389ab26034ff126744aa4299cbc5f42630a00a7e7b4245e4355ed0abe42718100439af3cb5b1642db4567b6d16e69ffe852cae0c5c9aa20e8cd7f9";
-  sha512.source = "93271d9361e0cbf9fff9890f2617c96a381b631332041a576309a28af77150afc1da99f7596d3b89d0685584115cdbfd46d1b5fa7706b7ae4af88984e8fae8ab";
+  sha512.run = "97c8608c51635abcca6daca84e911d680967aea81ee4984a835245be32ddb4b97345e2714761e0399d3378a08619044e17e53a9bd935e44953372815f16d50fe";
+  sha512.doc = "e327912bf029cdfbaf1857534f8e5174d9bb26d5d1a2a271b3b0a8bd4bab1bdbcb8372b6f76f7c75d058f731baa483d58033f9c5ed82252e6210de4946c93128";
+  sha512.source = "f1f27f5baa2af8de2613aaeba69ac8562c6f7791ced01871c86c4dce3f25c14105003f8d636b3df3c3d8c04d81dfee4fab57150d80e58540db02d3d909dbaea0";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.15.0";
+  version = "0.18.2";
 };
 huaz = {
   revision = 64723;
@@ -21775,6 +22208,15 @@ huaz = {
   license = [ "lppl13c" ];
   version = "1.0";
 };
+huffman = {
+  revision = 67071;
+  stripPrefix = 0;
+  sha512.run = "0d78c3874045ce45d703f443817d9b20b5baca0e3b713bc5f09e18a64102af3d349ebb5b7051a5152eaf06c8d9cd01c3a00b5a3c0f5b4db12f566b5f5356c991";
+  sha512.doc = "3c1651e5cb8b527e1c55aaf682003c1639c91efd9bcaa4fa51779fac572550195979c0baf2bb4738f8b5e2628b6deb4af6109938ce70e4238696ca35f7e4ea34";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1";
+};
 hulipsum = {
   revision = 56848;
   stripPrefix = 0;
@@ -21805,22 +22247,22 @@ hvarabic = {
   version = "0.02";
 };
 hvextern = {
-  revision = 65670;
+  revision = 69064;
   stripPrefix = 0;
-  sha512.run = "2a0b0771f99c83fd3e33aa0da43afc51ec32ff3eed45ece76eadbe3c4eedf7ddaec16d4ba32f8829cd16e61af93f5b9be83686262174f07ca863f5d183b5520b";
-  sha512.doc = "0dfcd19c671a4e6100df0b89113d517abbc803e411a347059c44652106b7990b7371b96a6bde85ada1420f2029eeb5d614fae5b44b3c2dc7cb9191d55341cae7";
+  sha512.run = "c9effc6265c66681233309eeb19707f0ea1acb670934283c88f9fbecc4d91c07601c8cb84a06bc7d9895494ef8efb5fca1c00f658ce8baf7489a6c875d8f28ec";
+  sha512.doc = "f7a6dda6ea0d327d8596e68a5880a3ed0d4811d1f89743aca9219e9c26d6f8746a3ef569af464b81410b002047c53cad2b9dfdf783a0515d4ad3c3d322d4483f";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.33";
+  version = "0.38";
 };
 hvfloat = {
-  revision = 65671;
+  revision = 68586;
   stripPrefix = 0;
-  sha512.run = "9189c7cdffe77ca6ea69288641453fb057512079dbf59a112de18d6a496a487e928a4ccdcf9ae4b69433ee73b03ab07e4ea6ebe5f881619b57b24be3ee787f11";
-  sha512.doc = "1dcfe143a1b525763a2c4e1c5f9761002cbbf46259eac4d18d8e95033af86f92c9a9d1106070f696500db89feefec6717c934ec310d463cb4161a3497df9d548";
+  sha512.run = "21124f93545ffc5a025e24a09f50457aa16b8936044c4a510a626c812ccb13cc028e6ef6cd89fb64064c39b328ed47d227d40986cab75d6efb54c734774c3cf8";
+  sha512.doc = "737fd24c8fe61f2af825ba28b71a16c2e094a50835543c8fea6b317cefecda94602afdb70c8df24a671a1e9af219350acaa368295072fba1193de8db566eca40";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.45";
+  version = "2.47";
 };
 hvindex = {
   revision = 46051;
@@ -21832,13 +22274,13 @@ hvindex = {
   version = "0.04";
 };
 hvlogos = {
-  revision = 63261;
+  revision = 68568;
   stripPrefix = 0;
-  sha512.run = "655f8db151a5fbd05b096d288a6fe93cd89de9df3741a68eb5ffd221276d3ed633ca1f17507177c8bec2485ece386d117f11a363f87483763a941a155015ab3a";
-  sha512.doc = "459e93a38de9d5dd600d02eaef7ea512ef57127a683bfa8831c159ab68bf6f86bfc4a659aba98adc59f2c5ac7e26984db5f84e8c9933b4a49b30633ad46ee45a";
+  sha512.run = "1d1c1a5944950a71046b764a76c7cdc05f6e48b08681932504009299e9d78bcc3a03c57bde36df6614faa0efd8f6af84388a02ecf225bd95e596cae0cbb69d66";
+  sha512.doc = "55b3bc2c71c8f110e39efe31469573879b65058675dd5324af9075f2b9f1d64fdc8a2121a963f88e67bea8156dfb5ca4a4c972bb70ae90b358bff209fc5a4695";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.09";
+  version = "0.10";
 };
 hvpygmentex = {
   revision = 62405;
@@ -21850,13 +22292,13 @@ hvpygmentex = {
   version = "0.01";
 };
 hvqrurl = {
-  revision = 59256;
+  revision = 68693;
   stripPrefix = 0;
-  sha512.run = "472da0c72999f672cc6d21e35e9adc7c25d1202b8f4eb4a75f9498ae8cca5ea7aca7102dece9943e2070002390a3ced018d12358523d52cb2a32c6e6b9012126";
-  sha512.doc = "0c7de4ea0173e754cdcea91b56681c4681c05d591f3176a0e7973c5b1f9d819a737d6ab14052a94a8dc48919dc2b98c7337274770a115d598667852cb118f69b";
+  sha512.run = "b9a1e88f38b18744fa66d490fe6398bbfda8d0a81a9fa37edb5735325351f5f10f28a7452d8a2d60470afe7faf878c58b59220a8c20ed1744c2be16e8f94db60";
+  sha512.doc = "ae54369788c2ae94dec99c13c57d2c6c42852670d067c97dc8f108dbf910d5a2cb212576629322ba791e56e655b14fe561ba28bc120b07cc9365312dc2bdebdb";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.02";
+  version = "0.03";
 };
 hwemoji = {
   revision = 65001;
@@ -21887,14 +22329,14 @@ hypdestopt = {
   version = "2.7";
 };
 hypdoc = {
-  revision = 65678;
+  revision = 68661;
   stripPrefix = 0;
-  sha512.run = "216c3adfa731d4c18b7072d3fd812065195bd06b849cc2b669650a24d51b93cd5c4dd8b9dbfb5874e90d2b928e32a675d5bafed1f5543b826041374f2d4885dd";
-  sha512.doc = "8ef2afe4f1e69aa9934d80363d206a852444396a7067e99ee9ea33c5ab8648e94997631e657f6eca0d9d65e4c14132d46eac7d639ea5f8ba558e83d17c39a2f4";
-  sha512.source = "a68d3134f4c96ee6edcd3da623fc37b475c5ec7d599e363b2d5bb14bfb74d4906b7831d595cd1e547534e773a0348cd4cd11252f7ebdb64c7ed11ad0a5e2ab9a";
+  sha512.run = "bdd5a75f53b714976f54f0fea68093d79dc0d781a708dabbd3cb90e49d77f282ee15cbf8c1082cd5746bbe6b701e58e71bde38141db56cab5042d7556771d286";
+  sha512.doc = "cece39375981cc4adb60b20387ca441404a69c734f686cbe51df759b3025833814e9ec09aa4b720359cce4c4ae14b12cc03ff38954c3fb12ef268304a60f9dfd";
+  sha512.source = "3bf5a01f6ce3ec8cacc04fdd4d3b83d9cbdced6dc75120991e031a56a3dc4e5958c367f009c4f5fbbdabb02d0d7b391fb8fbbcdc2c4d5f68b9c0cf8d68259d1f";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.18";
+  version = "1.19";
 };
 hypdvips = {
   revision = 53197;
@@ -21935,7 +22377,7 @@ hypernat = {
   version = "1.0b";
 };
 hyperref = {
-  revision = 65758;
+  revision = 68972;
   stripPrefix = 0;
   deps = [
     "atbegshi"
@@ -21956,22 +22398,22 @@ hyperref = {
     "url"
     "zapfding"
   ];
-  sha512.run = "c30dfac04cd90487740189dca7bf596c43e6313b1382296b0f5cc4337e6504906cdb247870eb15af1fc1f8b9417dac2872ca82ec490b6e065f8148c35ecdcb21";
-  sha512.doc = "b54fa3cf90ad69d0aa0ac409b1372b438a1b07818d102b01e597f956d9a380fb9e99acbab14a4d87c30b5fd4343536c40b39eb4ff43e1f5a0704f31d38063f38";
-  sha512.source = "3d1637fb8d0149214d308a4c0030f70719a27ce0c0c3cee9c061d54e8607fce12257b08d2b992c6f8de9012615e91e0ae10713d18fa16e9c6dff554257490457";
+  sha512.run = "e7daa9af79ef0ee5bb1ed13d8b7001a995d15fc5a839e4d102db7e5d7ad1e76ebc2f7c939b17d554d06789c225bf134177987743c58070e553a6e25a7cba96fc";
+  sha512.doc = "17e70d3008012178b1210bbdcd3abd3c39510dba1037753b2b4324b1f3ab832e0a6a634dce31d32950d1935fcefbc756ac1b7afc86b8f27f9bbee8cfe7768e7f";
+  sha512.source = "0cd806c9e404c93a96da335c8e26ab66476edc29f3f33a68e09ff290dbb3b69705443bbf8db5f7cdc85b702417b5e59f7e89514cb346aa0693c9ff65bcbf882f";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "7.00v";
+  version = "7.01g";
 };
 hyperxmp = {
-  revision = 65979;
-  sha512.run = "b2520a486ed2451f20b3414b29ccd209c427bfce22d248ba8e9e7b1f0c13e276b35853ed28b5d578e60d7234a1f6755f00023cc3f4bad968e0f22019aa547007";
-  sha512.doc = "ce7269f6c014def7c967fd8782c3ba2e6bcbb2540e9dfaeccc63917d865ea0cc131c28ad2fcd7aff507b560d1dd7f05d4c3ee2cb9e483ba8f6f64e0bbc0dc619";
+  revision = 68251;
+  sha512.run = "79dfcb70b4df1be8ada345507f0cece0b36c38f57c1b5e92fa008af3ceb5209c5df10d9144a24af4473a2f640d2adb59054cd9985f762b9b6cf7db45ed99c4cf";
+  sha512.doc = "b56e9ef7beb7502ba2e952267fddeb3a26597e9e5193ed66369dc3c78f5a08d34b5fca0685cab8f6ec67e12167a1aca309a18b85073b8e9c497641cf062be6b1";
   hasManpages = true;
-  sha512.source = "c97193eda5c7e02f743ccb0dbc7915c6cff7c29facbc1e098b70987aa3a9b35123fd71bdc1d0b5fbf2f0d249dd48a6ace45b73c82351e1b4cf874420aea74871";
+  sha512.source = "02ca43c9809c347a6db12e0a8ffb2ec96db3b27d4c89ceea10091235c6b411de38d76f976a08d139bad0b0efa0b181e2e2fe5e2edd8cdf41ac5043fcc8758bbe";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "5.11";
+  version = "5.12";
 };
 hyperxmp.binfiles = [
   "hyperxmp-add-bytecount"
@@ -22030,9 +22472,9 @@ hyphen-armenian = {
   hasRunfiles = true;
 };
 hyphen-base = {
-  revision = 66418;
+  revision = 68321;
   stripPrefix = 0;
-  sha512.run = "63175fccf11584b6a67d8d3fbeec242a7e087bbcdab44792fd811f023fddee8576fabd4e006897e2ee8b3aa4546a82577825ddcf9ed0e1a15115b48b79120e0a";
+  sha512.run = "d3f2749cc6946702ff0d51c1d823531bc92b77c1106aec252c84cc8649aa56048556c90e9792f1b0749bba0b86b7c34aa2b04fe2946d1226315dbc73add36913";
   hasRunfiles = true;
 };
 hyphen-basque = {
@@ -22712,22 +23154,22 @@ hyplain = {
   version = "1.0";
 };
 ibarra = {
-  revision = 64567;
+  revision = 66892;
   stripPrefix = 0;
-  sha512.run = "1e837bc577e185fc2e79abdb3e353939eab98e824369096e536afa03f4030d0e4789080c2e51a49cc4451a4c6d7ddaf59c9def438f7a033ecf981320121c6e8f";
-  sha512.doc = "c48b49d4d0d63948c17a8116fa691e0e75b3d659e40c983082bad98b8fc21ff75f8e87ec4ce1048b0d03bbe12597e4a3d720054ff6d367c5c3ec14452fcec4c3";
+  sha512.run = "7de51f4d206481dadbd4409a0c98dafb36a415e75053b78f40349edfd8b122e9449e749967eada07507ada1f6f22658c02b0a4993e39c2b0e97334076072d6a8";
+  sha512.doc = "318a4bb5d2fd012c783053f457023604d53cdb2b02739ef8a1780f1856d5a63713774568cfa7a230f8ca1eb4711fa65f99d5a99b5c4e9235fb1b449751bc50b0";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
 };
 ibrackets = {
-  revision = 65383;
+  revision = 67736;
   stripPrefix = 0;
-  sha512.run = "96f5a6ee84810035bdba234e23a6b87dafbff602cde6d1f435be1c291e741779133e335d7a8ea7e1a16288348357b16200a7a98751a7a4bed9de2c4fb28dcdee";
-  sha512.doc = "06ae490ac0d5f49c7a2c9f7f2c4a52922717b2f0375162c8a83750cf7f5525eca3e69b1e89a41204b971a85ceed0779ff27ed557192464d0763ce9c0892ece2d";
-  sha512.source = "2ab5897bfbd438ddfc8dbcd32b13e57f32617617529590b5089494bc5533376eef99e68e23a7f695ae5c1cd86c9c654ab40477f104ee64b63ee92c5dd24331fc";
+  sha512.run = "fee99798386a5a6b9b8ff2ae9d2eecc5f4dc835b825795400777780f567ade13d789e81de3e841a54653226098ec602fa91839ec86f25ac0ce2033b31508b4e6";
+  sha512.doc = "1d6bd5b4a22a44f03006c1fee3d94ad2760042ac98835d1ab043905595f435b583ba2b65fb6f0f881234085f028f492a283a5593d9a8316eec6fab541fc3c6a6";
+  sha512.source = "766f93cb337190246b6a446407c8ed75b1ff35edf61cae443798d1f049639bf277951d59b5d8ee7f953be848f81a74b991856d328910e9237206f47a1b4a3a1d";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "1.2";
 };
 ibycus-babel = {
   revision = 15878;
@@ -22749,11 +23191,11 @@ ibygrk = {
   version = "4.5";
 };
 icite = {
-  revision = 54512;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "cee4e7f2fd3a007c79966520058ae3db836fca0d9b03dc264d2889ac399bfc7db58e11f3d65de4eae8fa378a774908d36e789441fc244b54c86886fe568cd2d2";
-  sha512.doc = "09c862c89133912f7ed714678b3e1d041e529f4c8123e0241e1d0f531bcdd3036f9307ec8a34cc1f25df8cb38b5a8b5213f4a486204b21e5481f65ca1949db33";
-  sha512.source = "068a63ac822952f6a14eb12362cb94f4f8ef3ed877ef7e40f55e0a234a1736c6fa60276ba80c793c15562889a1cf20caec6baf67daa5e20a3c46cee2c10f6474";
+  sha512.run = "23f4f25a72f77cca2585bd390ad1828e04a70b73fba0a86f0622e29b6bfee596a9a3172a8e8b2531c3bac60f8e4d840301d200ff4a4ec20d5332de62766020a3";
+  sha512.doc = "a84ba9a33de8ceffb8c92b0555daa1a39fb822a272af2192513ce0c03ffd7c97a413a5916f3f5745a1b36b8e5aafdb081ee301d613d645e66e0f2ba2b7484a0c";
+  sha512.source = "227acf7dd54f4ae1e23c753bc9c8a0ad82e275eac2d406cf6147d986d5e93ba2483cb7f9abe3e31d347218d853e6a8bcd4d015b7b9b3afeab901a1a40461924a";
   hasRunfiles = true;
   license = [ "gpl3Plus" "cc-by-sa-40" ];
   version = "1.3a";
@@ -22842,18 +23284,17 @@ ietfbibs = {
   version = "1.0.0";
 };
 iexec = {
-  revision = 64908;
+  revision = 69230;
   stripPrefix = 0;
   deps = [
-    "tools"
     "xkeyval"
   ];
-  sha512.run = "7e6c55383a22d2b47858e02b0d7023a7d130a089c550c0d4aa387035374ba6e0266b35a2f825e4d0bc4fb084bab42686df610f8f6f9007ff155bf7c150383cb1";
-  sha512.doc = "2b55ea3e886043af3e137be5e23388d1d0311e64f695b3774d85be2305e5ea8389a4139e4b3c84989187d66066ffadeccb0d8b70a5347ecfc6dfef750d28b2ba";
-  sha512.source = "d4f8b3b253189de2e303c00c5c8e42cd539eaf7eb0cd20feff54473086056fff2e6f8be3bebc071a261c68adffa55f198505dc81df4d095f3ab2dc6932b8e7a1";
+  sha512.run = "21da64806f48487ec6756ec48aff60eca9406e94177419398af3970fd3638062a06d1da12655551889ce64cdca9ddaed7a8953eff35b23b6f005358586df9eac";
+  sha512.doc = "ff9c90d8a14d72ab3f03cdbe177dfc58ac8cd2fb217bd2a827ff9d14716afc95d35a647b6fc1bef77a1268175f64edab81cfd8d54b35a4a332543c3950beeea2";
+  sha512.source = "deccfbf6b069d9a4542944fe229a01ab85c845d3c84e38daa1c11c86d3dc0db4ace5e3c45497873323ba7c3033870c3bcb2de16ae3f7873ff738247e51b99af9";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.11.4";
+  version = "0.13.0";
 };
 ifallfalse = {
   revision = 60027;
@@ -22925,13 +23366,13 @@ ifplatform = {
   version = "0.4a";
 };
 ifptex = {
-  revision = 62982;
+  revision = 66803;
   stripPrefix = 0;
-  sha512.run = "54f4e4a1077a5f394811a4b0b08818fb17060496c7915c85dc69b55d2adcc7793f4047069b1bd067229bdd945c2e2a35f19b59d048cf242d489ab652813f5cf0";
-  sha512.doc = "7e30eb1014032cd8c322ffeab692f1abb325f1890e66b1136da1e88ccfa24aa80b003f785dd899ebe7951123bb7661b6f44ff382a7b296abfac129ea55eca226";
+  sha512.run = "9b0588af312fc3627687703f030f40ae421d9949d696891e9a60aca3c7582f0a534099685e8b8d5535df0d2f9dcd452f4219092d70c285d0fa65af6d140b7afa";
+  sha512.doc = "a65a583b033509fc0a41fb65c6ec17357c0e095cf09d6f5d2b9b1f8e5fa323f368cd381941e8850bc1fe81a213dd2bbcc3d9877c08d50a5a78efedca05a7897e";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "2.2";
+  version = "2.2c";
 };
 ifsym = {
   revision = 24868;
@@ -23130,6 +23571,16 @@ inconsolata = {
   license = [ "ofl" "asl20" "lppl13c" ];
   version = "1.121";
 };
+inconsolata-nerd-font = {
+  revision = 69061;
+  stripPrefix = 0;
+  sha512.run = "dc202282d55ad63ffbf39fe7b36edbe42391fefd1c1cb0fe2410d01c562fe8024ac007ba235999c5e369a0d80763fdf80815d2beeb7dadba0f39d027fea507f7";
+  sha512.doc = "00fa8ab8a508a3bac281ab2d7f63fbabfb6958770d308184e0fda7924383dc22a3b36d5f4dff701cda63e847cca819d38b45a0d51f634e1f503d5964fa60d9e5";
+  sha512.source = "867f875d6b1211fbc8d223df7f00030d28ed13336c639f83251fc3b930e75f61d12daf93cf46943a9b2a3db883cd2e9c8b759f19f85562fb589ffbe2f01ea344";
+  hasRunfiles = true;
+  license = [ "ofl" "lppl13c" ];
+  version = "0.4";
+};
 index = {
   revision = 24099;
   stripPrefix = 0;
@@ -23141,14 +23592,14 @@ index = {
   version = "4.1beta";
 };
 indextools = {
-  revision = 38931;
+  revision = 68555;
   stripPrefix = 0;
-  sha512.run = "69bb7007041b46a25e9f6bb12d8212a4dd4eaa9dfd00fc033edd94de153e8941cc4de8a06d74516220ade56f2f5800f83a96ea2c02d766939cf70aa3822da63b";
-  sha512.doc = "9290dc53a68dcc191d39bc0d1e760bd4cb8db50d7cf70771e60686ba2b1a7923b408f21e777453a6f2ec9ec372ac30faa3ffa2cc6bf7d2bc82b2526327d732a7";
-  sha512.source = "2d6d1a6009351911a3dfe204ab81ce8b54abfba885525a98557f56ad22ba6a319d35d36ea6f868d3abe9d788628d9f635dec8a657827ae3b772dae972a11c53c";
+  sha512.run = "decb4d3e7a2504f0f08f5e907eabcd961d1900cfce98e79cf8d7745868564eace7f3fd1217de69d615f9267630c71f9289a0519dd9f3b8603be6544ce6d1cad9";
+  sha512.doc = "d2b1ed9f2d79bab4dc9b69b09eafc3657c2f60002d53703ec01e7cfdd29e8e9ad4027fa46563d50ea89bc2e63fa7b6c71ce2e37caa5e37838b6cde2f99ed97d3";
+  sha512.source = "2d4d637e3cd9e6dba00104c0ae58021211cf8b10d8d44bcb9c3d9af1d0680e4539187947f6c685acb8ec194e8e60c447e6dbd02cdb6b8915c8abaaf8b991b39b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.5.1";
+  version = "1.7.0";
 };
 infwarerr = {
   revision = 53023;
@@ -23214,14 +23665,14 @@ inlinelabel = {
   version = "1.2.1";
 };
 innerscript = {
-  revision = 57672;
+  revision = 68776;
   stripPrefix = 0;
-  sha512.run = "0ab2851bf450b502e1f04f8c529a2cee149ce5ffb1a091b6870189f01398ec1aaa7c26e5bcfb4ec6e156cbf3e273a4c4677dac7c6c93078d5eadbd478add7d00";
-  sha512.doc = "52684da615ec9caa76e144966be1c3f3152cbf757822b5b2a277c7f40a847bba20d03f1349770a6955daade85f97bbb03572710af39ba6874cf3ff0c422405c3";
-  sha512.source = "b5396a9f73446721e7e8d2283cb10046242e31c9ed77800b3a9e3d825a57f2e81ef06a27ca67b2bee2e88b281329b5f05e230de70982ed937d698cc4b766dfee";
+  sha512.run = "7b647763f5a535f45a7741c3264fb59e2223837a9c99617aab870b624122783e25d1ce2f48e14fa5c1f01b660e5372eefbad3df51c52cb414ba675b8bea18e51";
+  sha512.doc = "406d30155e73e13eb51967e3902e1fd2d76a92aa29323306a8769f9b4900323d288d1620a2a85ff76062e1a7b610bdddc06b113e15cd1479cbcb1bbb25b4c79a";
+  sha512.source = "caf662052e89c10a1f6da8f671aa3e30eb4738a68b095146339f9c0cd95cfdeaebee30869b5c7c92bcff6ebfbfe526ad6ab032d26bae93e671707dbcf3835218";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "1.2";
 };
 inputenx = {
   revision = 52986;
@@ -23272,12 +23723,12 @@ insbox = {
   version = "2.2";
 };
 install-latex-guide-zh-cn = {
-  revision = 65434;
+  revision = 69264;
   stripPrefix = 0;
-  sha512.run = "a091341f588222b1a4301eff95afffe8d89c11818790e9a82a3a3f1e7d75601d9ae2c3ede562449938a32f29ec61efebff97467a5fae5140849d737895335d74";
-  sha512.doc = "2fe37d8e3ba7d4b36e2e8936ba30112422d5ddeacc13861fa47727e17a35466f395b06648b67a9eb54f59ee111a1c8324a8ec41f5cdcaa7396b8867a4636d4b4";
+  sha512.run = "f93859b38da5da139942105175bb9c4f399934777fc04a7d267b45d7fd42cb792de40217221c6e0fee7db3b62ec3592ad0744f0f1a7bff52864e8762d58e216a";
+  sha512.doc = "13042cd81cae222dab8ca8966702a28938f7f4b4a734905d64dba2bd819e610108078f0f81b3999b28a63dcb015bcb7941b177be9cab243fc9d01b6808ddf587";
   license = [ "lppl13c" ];
-  version = "2023.1.1";
+  version = "2024.1.1";
 };
 installfont = {
   revision = 31205;
@@ -23301,10 +23752,10 @@ intcalc = {
   version = "1.3";
 };
 inter = {
-  revision = 58892;
+  revision = 68966;
   stripPrefix = 0;
-  sha512.run = "fc423429252eeb8878fc9c423c1c51f9d24781b262d0b4e08d10e397a13985507916d50d3f3fd2164f7fea2c5b45e35da415699e6ed424957c9b337b5e349cfb";
-  sha512.doc = "aef65d0830399dd9fbdda59f130cb5a5847796d591baaafe74e621115061f04dfc55c6d68d1954251d5d6b63b6e7b88eb16c50842a6f5b045f4a643498fb9c2c";
+  sha512.run = "3e2799fdcbb3648912d99ae0fee49b3e34098204e742ffd8bac5fda212f3e452606124e5503f99a52f7f647b54c31858256e7e1dcee4a566f3ca8e9d5aab5eb8";
+  sha512.doc = "64260a91b781bc0ca36a73e1b44ffc34847b26b977a950cefa27649d7382e9cb9d34f70f982831912489d86e343d4abfc81ae0d91302d3276aaa5c8567c3ba42";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
 };
@@ -23399,11 +23850,20 @@ invoice-class = {
   version = "1.0";
 };
 invoice2 = {
-  revision = 46364;
+  revision = 67327;
   stripPrefix = 0;
-  sha512.run = "a790c180fedcf407b999e018cd96b1a0440b07f98c403e9c9e780863f2ecac4f4559ffb88f6a3e4f6080c89745d8a99e5ca6ee98299c7529972edebe68e00eaa";
-  sha512.doc = "fc4baede264c6fd1ec94338829c6973c79c04f21284532194196063b3499becf2bbc2933644ca8b870608e8879315f724b173bbbd26548d24e1649929feed7d3";
-  sha512.source = "cf014bdc2debe9e400d940232eb434b1354ba7f1a093c7389c5b1d332dd2c270e7e3c1f07d65ffe9fd5d2d088e59b3e846e2fc2598eb7297189d6c772b2b16ee";
+  deps = [
+    "booktabs"
+    "l3kernel"
+    "l3packages"
+    "siunitx"
+    "tools"
+    "translations"
+    "xcolor"
+  ];
+  sha512.run = "7ef03f3c3a5c23774c0f3a495f949d5761f28a5d6316be7bc2a7b4039612fbab3f4aca9d29b6881a04948b9be2f0e6f7199d4ab8a41362e2d848f2ae8a090c30";
+  sha512.doc = "9621a018752d18d9a5dd069e48a3baf3fa2f11c378304573a5bd9b9bc37ddd79366732f0b47f3acc878cdb68e04374db8371a1f7efec6ec6fca251a6c2b95025";
+  sha512.source = "eb17a9ad06f67433b749e798783676212ca16dd78ab9a2029335c923235110e9c8bd8fb0654fc47417c60cd263d868789d8f86fb075cadcbd19fcd6142872121";
   hasRunfiles = true;
   license = [ "gpl3Plus" ];
 };
@@ -23452,6 +23912,24 @@ ipaex-type1 = {
   license = [ "free" ];
   version = "0.5";
 };
+ipsum = {
+  revision = 68861;
+  stripPrefix = 0;
+  sha512.run = "72ba4708735350c0b1c6521d3ba09ca0477b203328c1452033755da7eca159b82e50ca0950f2eaba7cac41c1f27cfb28951716887e2736d9e69f29f91acd29cc";
+  sha512.doc = "b53fd7756b3ac604583d95f6cf9b90d322ebee9e6a1f085607de710a2bfe3257d29394cc816f1817b0cb499a550202a0dd1578c9e7e04152e8aa132fea05bd3e";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.2";
+};
+iran-bibtex = {
+  revision = 69347;
+  stripPrefix = 0;
+  sha512.run = "0dd643474cdec8c5d15ce28dcad815978d9e3a76d0327cffeff021ff6811ba2313e44a5f21a4ed23a1bbf09433c479e551ad0a49c0d074d38a777df66daefa9a";
+  sha512.doc = "51f903f7ee725dc2ffe58d594e64bebe5639e5efcabcde15206ec5e9583f8d4771fd2b457f8a79b2fe691fcf77d03854d1f5cb291d0b33fb7f2d5272a17a18bd";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.4.0";
+};
 is-bst = {
   revision = 52623;
   stripPrefix = 0;
@@ -23546,6 +24024,16 @@ isorot = {
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
+isosafety = {
+  revision = 68801;
+  stripPrefix = 0;
+  sha512.run = "4f3997e5ab414bea29e986e1edd7b1436f82bd22b32e4047814d48058a57aa7ba042c88808784ddf5dff3926a1ec366f374e5e275df8e16e8d8a9b9c07982ac1";
+  sha512.doc = "905fcdc25540ca0db66cc8fd6057bb71ded0016180b4efbcb5855e9ece8213d2091f387201ab44a2827fc4bb897f8cd9209b570b9bc23ab5c4b4293f5848c1d5";
+  sha512.source = "38427c445a9a816c674a01e3ce85b1a30b6ccf06f7097e82bceaddf72e7d178bac1873e57061d76c37cd3b73abd783b1d35b16648f43485b3d80cb7ce5158278";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.1";
+};
 isotope = {
   revision = 23711;
   stripPrefix = 0;
@@ -23556,6 +24044,16 @@ isotope = {
   license = [ "lppl13c" ];
   version = "0.3";
 };
+isphysicalmath = {
+  revision = 69343;
+  stripPrefix = 0;
+  sha512.run = "5329b97930fbe9cc13c275132a32cfe4293bc23b2c1911089aaaa80baeb0437606c73503b4430574e88da61615d0649fea6f5666a5609a79ac5ca37cc90294a5";
+  sha512.doc = "f044b6cbdcb63a5e66b6dfd396393a99d605a219ede55317c759c28c3890a7c79ff6c0feb1de8f6517350d15a6422dc54426b7b5169ea1865024e5a335fe5517";
+  sha512.source = "d68bb0b9753303e844476ec27156dc22ba7f3c4456a26870edb080709efb88a2485f2b41bd3c15a89d7d665f22acbd206c951d0f817742d352f6997621188734";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.1.0";
+};
 issuulinks = {
   revision = 25742;
   stripPrefix = 0;
@@ -23585,15 +24083,6 @@ itnumpar = {
   license = [ "lppl13c" ];
   version = "1.0";
 };
-iwhdp = {
-  revision = 37552;
-  stripPrefix = 0;
-  sha512.run = "7153fd75ec63a6abbb4d2bbda8a5eb150f4b202b72baec8361a810d28aac5690f76e4099ff3a616a44077337ace469d6a111d4e42ad8d68428144b7fdee58575";
-  sha512.doc = "f75a9d0ea4b69de5a82659e18a0ea04544c93b056c52efac534e16490a5ac78b329d700f2ed7b3e8564a72331489106bb7e735c44b3e24ff943c6ec0b89eaef2";
-  hasRunfiles = true;
-  license = [ "lppl13c" ];
-  version = "0.50";
-};
 iwona = {
   revision = 19611;
   stripPrefix = 0;
@@ -23603,6 +24092,16 @@ iwona = {
   license = [ "gfl" ];
   version = "0.995b";
 };
+iwonamath = {
+  revision = 68144;
+  stripPrefix = 0;
+  sha512.run = "e0b87b6815ffbec37a52e0ecd1d31daacd46c222abb71566ab3476cbc2ec28128f5977367715bf1eac439f978d750b6ce7e7bee589de7a1f18bf70ab8ce166ab";
+  sha512.doc = "81fb0f9b7b738994a4af09a8dda8b580f4d59a92f790f8b285c2b1a252e672786296472847a6d4d8ce804a757248dec04e02894d1550cf0791863d25d22f35d5";
+  sha512.source = "b7aa315eb74b6fdbfdd75dc176ede1841406efb9bf5ba584fe090123f3e93b1f7db9719a321833d2486b0e5e7a0a214a4b91a8c1afb2443e126ebcf96bea5b70";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0";
+};
 jablantile = {
   revision = 16364;
   stripPrefix = 0;
@@ -23621,7 +24120,7 @@ jacow = {
   version = "2.7";
 };
 jadetex = {
-  revision = 63654;
+  revision = 67493;
   deps = [
     "amsfonts"
     "atbegshi"
@@ -23635,7 +24134,7 @@ jadetex = {
     "cyrillic"
     "dehyph"
     "ec"
-    "etexcmds"
+    "etoolbox"
     "everyshi"
     "fancyhdr"
     "firstaid"
@@ -23688,20 +24187,20 @@ jadetex = {
       engine = "pdftex";
       patterns = [ "language.dat" ];
       options = "*jadetex.ini";
-      fmttriggers = [ "atbegshi" "atveryend" "babel" "cm" "everyshi" "firstaid" "hyphen-base" "l3backend" "l3kernel" "l3packages" "latex" "latex-fonts" "tex-ini-files" "unicode-data" "amsfonts" "auxhook" "bigintcalc" "bitset" "colortbl" "cyrillic" "dehyph" "ec" "etexcmds" "fancyhdr" "gettitlestring" "graphics" "graphics-cfg" "graphics-def" "hycolor" "hyperref" "hyph-utf8" "iftex" "infwarerr" "intcalc" "kvdefinekeys" "kvoptions" "kvsetkeys" "latex" "latexconfig" "letltxmacro" "ltxcmds" "marvosym" "passivetex" "pdfescape" "pdftexcmds" "psnfss" "refcount" "rerunfilecheck" "stmaryrd" "symbol" "tipa" "tools" "ulem" "uniquecounter" "url" "wasysym" "zapfding" ];
+      fmttriggers = [ "atbegshi" "atveryend" "babel" "cm" "everyshi" "firstaid" "hyphen-base" "l3backend" "l3kernel" "l3packages" "latex" "latex-fonts" "tex-ini-files" "unicode-data" "amsfonts" "auxhook" "bigintcalc" "bitset" "colortbl" "cyrillic" "dehyph" "ec" "etoolbox" "fancyhdr" "gettitlestring" "graphics" "graphics-cfg" "graphics-def" "hycolor" "hyperref" "hyph-utf8" "iftex" "infwarerr" "intcalc" "kvdefinekeys" "kvoptions" "kvsetkeys" "latex" "latexconfig" "letltxmacro" "ltxcmds" "marvosym" "passivetex" "pdfescape" "pdftexcmds" "psnfss" "refcount" "rerunfilecheck" "stmaryrd" "symbol" "tipa" "tools" "ulem" "uniquecounter" "url" "wasysym" "zapfding" ];
     }
     {
       name = "pdfjadetex";
       engine = "pdftex";
       patterns = [ "language.dat" ];
       options = "*pdfjadetex.ini";
-      fmttriggers = [ "atbegshi" "atveryend" "babel" "cm" "everyshi" "firstaid" "hyphen-base" "l3backend" "l3kernel" "l3packages" "latex" "latex-fonts" "tex-ini-files" "unicode-data" "amsfonts" "auxhook" "bigintcalc" "bitset" "colortbl" "cyrillic" "dehyph" "ec" "etexcmds" "fancyhdr" "gettitlestring" "graphics" "graphics-cfg" "graphics-def" "hycolor" "hyperref" "hyph-utf8" "iftex" "infwarerr" "intcalc" "kvdefinekeys" "kvoptions" "kvsetkeys" "latex" "latexconfig" "letltxmacro" "ltxcmds" "marvosym" "passivetex" "pdfescape" "pdftexcmds" "psnfss" "refcount" "rerunfilecheck" "stmaryrd" "symbol" "tipa" "tools" "ulem" "uniquecounter" "url" "wasysym" "zapfding" ];
+      fmttriggers = [ "atbegshi" "atveryend" "babel" "cm" "everyshi" "firstaid" "hyphen-base" "l3backend" "l3kernel" "l3packages" "latex" "latex-fonts" "tex-ini-files" "unicode-data" "amsfonts" "auxhook" "bigintcalc" "bitset" "colortbl" "cyrillic" "dehyph" "ec" "etoolbox" "fancyhdr" "gettitlestring" "graphics" "graphics-cfg" "graphics-def" "hycolor" "hyperref" "hyph-utf8" "iftex" "infwarerr" "intcalc" "kvdefinekeys" "kvoptions" "kvsetkeys" "latex" "latexconfig" "letltxmacro" "ltxcmds" "marvosym" "passivetex" "pdfescape" "pdftexcmds" "psnfss" "refcount" "rerunfilecheck" "stmaryrd" "symbol" "tipa" "tools" "ulem" "uniquecounter" "url" "wasysym" "zapfding" ];
     }
   ];
-  sha512.run = "75b9c8be4f87b51798826f5ea070ff9877e8bfa2fbee5112972e9e0fc81a76dcb7081c2fe9eed645f53a38dd85443dfdb394004b2970c2ff5a91b32dc1cab909";
-  sha512.doc = "f70f85a12d730fc9dfb29da57a6f95239c10aa8ba7b9453ae884cae81399609fb99ccac3bfbc41f0c5f360ef80bd3f78b2f8479a826412bf573e9c5336d7e8ca";
+  sha512.run = "f169a494d7544e5218dc280937add40b1b0782ee5aeb5d1cebb4aa905bb72334c6caaf628ba04c3b5ebec984a5dd0c78c3c2f194ddbf121f63c5be4adcdb58a3";
+  sha512.doc = "670f0e517d81bb70b54b375e9cd240ac8a6ab9143fb529445c6622d445240a690908d043e583c7bf1be139ecb9a69dae77db74ca9755aac0a604a3eb342cc4a9";
   hasManpages = true;
-  sha512.source = "180798c7f61cfd56cef3b98f25dec39b4062b636297e60bfdf96c925f295a256e19fd25bdb8f18794db31d586234cf7c4d22989cd901d51bdaf6c3b8002e73ae";
+  sha512.source = "d05f8460b8f9b21233c92da7a5d64a898c4a4b5eae5dd8f15751d4de00b7ec48dc6ea0ccf43f43929295fbc83a5cc342dae9d7ba14034cf198d40de3cab247a9";
   hasRunfiles = true;
   license = [ "free" ];
   version = "3.13";
@@ -23729,11 +24228,11 @@ japanese-mathformulas = {
   version = "1.0.2";
 };
 japanese-otf = {
-  revision = 66102;
+  revision = 68492;
   stripPrefix = 0;
-  sha512.run = "e83d7c9ec784f25607d86c0afad9e89ccba68528ca37ec0fdee12bed5c97fb4fb7e2b3f1e63bb0f3818811eaf52a8b61cee8c7f9e853f6aec6d23dfccfd94a18";
-  sha512.doc = "f2ccccd9de5908567bbd2ad458288d16f245ac01d9bb29a1b5439e4f427262e6aebaeacbdd6ada4e63c0f59c5f35df1d9c5b90b0067c557a1e4695befd382855";
-  sha512.source = "981b75c8708cf0596ce397043776d9e469e504d0ce33d093409de735ace8e583bedfa94244abb92c7e251eed63e9f1c8c5131298f7a4d998d2e1d195f463cfc9";
+  sha512.run = "30821d9e8a8de886fcd6ac64801771ee7ff48c7523e38946a8127579bf53d7ed730867d78573dfdcdc88017743929064eed1d4a5b474328ee2cfa7f889905026";
+  sha512.doc = "80fec029e80a451eb9f53efc6e69935f9ee42063784a5f92784a595dab76532837062da90f3c3ccf8fea4e14b3cfcd339ba4e5fc539257c11e7726cb70ad2cc0";
+  sha512.source = "c5ee59b3741e19c96f151483ab5444f3fc41dd498ef8a8a34f87dd087439d29b614fe3d9597d1a29e65bcafa47b570bbe119fbe6d705436fbf1dcbf9a6b76576";
   hasRunfiles = true;
   license = [ "bsd3" ];
 };
@@ -23746,13 +24245,13 @@ jbact = {
   version = "1.30";
 };
 jeuxcartes = {
-  revision = 66195;
+  revision = 68266;
   stripPrefix = 0;
-  sha512.run = "903c67e8167f31a44783cd9673264d5417134f9201fa3490812e2805f52c41a36fda21ae7ad276b9075891cac0e6211fe360b38c9928b1cf0388a0315af47f9b";
-  sha512.doc = "82946707a25ba6115739be14202c0b5e9f0369a6ab28f74571d756e6d526c9af87d3efaeb10b9cd01680609f07e68df7830854995ad66c3a1856161f8ed2b95f";
+  sha512.run = "ad90719dd34791c88a5300d33ad7d633e650b3de6d61f493cf9069c39429f57ffbbde7aca1d2356a9cf6486701511fb7805049ed6a53ccbf49daa7a3dc5ab4e3";
+  sha512.doc = "9c918a0cb97ac3b82a88fd104a2e084404b83b2c04acac44e5f566774a3c01d8c91b0a73b49325ab6d7d366c5849e69a60c28a9686049c009bc249cc9b04c7a0";
   hasRunfiles = true;
   license = [ "lppl13c" "lgpl21" "publicDomain" "cc-by-sa-40" "publicDomain" "mit" ];
-  version = "0.2.3";
+  version = "0.2.8";
 };
 jfmutil = {
   revision = 60987;
@@ -23775,10 +24274,10 @@ jieeetran = {
   version = "0.19";
 };
 jigsaw = {
-  revision = 66036;
+  revision = 66009;
   stripPrefix = 0;
-  sha512.run = "1a40058ca0fffde5ab279969ad9a8ddbb84087fa03ed313f2ec027ad8cfacb60cf98251bf3c7bd09e8330d22d7b19fa29750039617450233bc53c83e42b89ce3";
-  sha512.doc = "a959a74f857ba77a33973f03a91c69286b9af2da0de594ee42e8192a5a698e0ec5b3ece1d145ab308ff67216c5ab9e4b593dcd6f2ccbc922c696aa1b32f8ac8c";
+  sha512.run = "3ad1aab51b4fbd99efc6bbfabf716cfd27e4af71674b094053f4866e38ab4c6c3f8d1884bfc4e4f7cf0fef11abfc488cafdb696238c5af1440255151b1b2ca77";
+  sha512.doc = "92d04e7497c19471f8aaa5344a1cc3824e18691daffab637a1822f900468269367244c984e4420efc94014cfc849ebfa4fd0db6e5b37cb1e89aa5493bdbbdb87";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.4";
@@ -23809,19 +24308,19 @@ jlabels = {
   license = [ "lppl13c" ];
 };
 jlreq = {
-  revision = 66374;
+  revision = 67400;
   stripPrefix = 0;
-  sha512.run = "d70b447ecaf3ed68a2df105928e5786c4425f1bcd8b3d5bd8096671b7e261e54dc276b6fe6417a51bf79efc5ab6ccc19c8862fe7a8f5ed94ca58074f76af6cc2";
-  sha512.doc = "2bc9c67b7b41e6204669a2d2a9cfff2fe3613473a02c8b4c4475ac7f7da1cf4b7f5dca85ca175c2de0cbdeb9b128f4e2b27b97d0b6c63ae5342fdabf5b052a5a";
-  sha512.source = "5597ad2a849889242bdc697a2ae2a27b01cd41797f7b42640b127030c9f1156d7f7abe6dad4973efec459d5200db4f0518d1e0d22fff0843c1094443c80481e9";
+  sha512.run = "7421f665a77b88d942d145dd63d0ea92c3f2c24815c564ea4eb13828bd9bc45cac1362dca4ae2e69a3f53fa9b79e4a495f87656bd560c951b407c34fab69a266";
+  sha512.doc = "2c3cf0af124dd6d92d41bd89a25884983c691c4a9a2a72c33754eda92244f37ccb310aa330f8b55d7a18c45d4bfdbeba60358d0e5b95bf7ffa3ce588f6a68b4d";
+  sha512.source = "0f455dad9f954f8e8d84bfda0fe704b0cf6a384f6c0a215299d9529d10950340071fbbee98f88a9f12a9863d3979246533a47e5a6e7fcdb71dbfc3c165079d74";
   hasRunfiles = true;
   license = [ "bsd2" ];
 };
 jlreq-deluxe = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "2b775106af23d7756ce113ef06e05145612075566338e2880b7af5b4dc65ea9c57b74665238f4c8a3e80faa300068f5a2be53c7d89a9a7e83b6e0dac4e450da6";
-  sha512.doc = "feb125c080513d03a67e89d64eeea9faee01f2d72db5cc3a710b09792c2af330bb6a811067ba5f819eeda10776801d91b4ee931468e732bc7ebf673dbdad4ee6";
+  sha512.run = "318b01471bcd2e7a15d5e58fe922d341c9daddc3ed9f3565c85bd221dba2d5d38635d60b848aa37760b3ecfd4d007d202d69b6694eacd41c885eed34ce77c34a";
+  sha512.doc = "ce096d4d8461d1fef3e4c9d24efd8f7a402085ed03852ac2b293467400e2c000633cc852d4a0ccc2b0903c9e3a682770a4edf632183758b9753e6a1c553ecab7";
   hasRunfiles = true;
   license = [ "mit" ];
   version = "0.4.1";
@@ -23870,13 +24369,13 @@ jneurosci = {
   version = "1.00";
 };
 jnuexam = {
-  revision = 56867;
+  revision = 69161;
   stripPrefix = 0;
-  sha512.run = "36aa8858e22affb522332de4ef06a2760c5f4ecf24858fcad34655e0062cb319dc27a34ae1648fc89ebbdb2d3d79f8630d4d3663956022ec345a31cad58a5d1a";
-  sha512.doc = "e80d4db8fd0f094589ab88ef2afb01f17be611ef07b0b6fe827e8940227c5c47fce7841881dad4ce2805c0098f41eb27da5491cd50825cc70b5aa2c5bf4b1926";
+  sha512.run = "f09ea4e82d630111a770568a3ffa3de9b862bff33cfe40eeffb69e6997fd2893bf58eb626d557f310d77a13dd97d6369cb7ac3d1f87601dd3b8b2aa4dbc5fbca";
+  sha512.doc = "828fab98b92a094ba2f42e9dbafa2bd4ff6de6e7fcd242871a5e2b6d3ed2fffd54f3bc9ecce7e24e050f47aa264cc5f8d0684355340bcea00817e824e909543a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0";
+  version = "2.1";
 };
 jobname-suffix = {
   revision = 64797;
@@ -23887,6 +24386,15 @@ jobname-suffix = {
   license = [ "lppl13c" ];
   version = "1.0";
 };
+joinbox = {
+  revision = 68003;
+  stripPrefix = 0;
+  sha512.run = "c7ef7c28e11a64f060b37e1e17fbe54a80e1c5050bde043e77c42385037974a462598b66c3ab48a9d3317a6ce55a0af3a434465657e0a42d5568a127779c765d";
+  sha512.doc = "ed665aeb55d066887e536ad545199809216a2eb84d9d81fd81e40798c7a69c5d14a191a73a8c2ee9fdcc6d36a8d206d07fbd72d427172eb9a182bbb3b4751cf1";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0.2";
+};
 josefin = {
   revision = 64569;
   stripPrefix = 0;
@@ -23903,6 +24411,14 @@ jourcl = {
   hasRunfiles = true;
   license = [ "cc-by-sa-40" ];
 };
+jourrr = {
+  revision = 68556;
+  stripPrefix = 0;
+  sha512.run = "cbd5484b622c865b7c42f8ce54a76e54a5cbde6045701cd8fbba54d17c8abc510c79125e7d335c3509cb9c674ce233005f9fcac703fa95f3297239c00c3be682";
+  sha512.doc = "395fadb1bcc91eb1c3090f57d783b0b2deff507d22a4221258dd826d635ba382c4c4d00c0d341402374ba4bb037e39cb23efa2bb323652d73b0940ea89eb9f7b";
+  hasRunfiles = true;
+  license = [ "cc-by-sa-40" ];
+};
 jpneduenumerate = {
   revision = 63893;
   stripPrefix = 0;
@@ -23922,10 +24438,10 @@ jpnedumathsymbols = {
   version = "1.1";
 };
 jpsj = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "ef3fe1333e50b9032021941a5ec965e2704f324e8d354f583f70a521e6595ca8edf9742a1cfce3da6fd9fae733f38f270149769b8b74b50fc9ef2d28bc5349e4";
-  sha512.doc = "6fa1b64cdd25ffecb5a6eb4a163ed9b77e5ee3d01743346b32f636d8d455943edc69df7f602ebf27d4caf30461d2fc1e4c9e3c635dbe51b49d07b6a883f63ded";
+  sha512.run = "de1383f7c52d4a43b0ecd2677314a88181e2702ae487b0ce3140b3048c1820bd504b6743002733e2da3e45553aaf911fe2c6ff552f77e706cbcd300570a34c03";
+  sha512.doc = "65c25cd1540664e4e529be67851e5198761cffd6eea495d1f60963dd9deb911ebe8426391fc456f08bb6f640040790fbe7d7702b21f7ddcfca5d246c02791764";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.2.2";
@@ -23939,11 +24455,11 @@ js-misc = {
   license = [ "publicDomain" ];
 };
 jsclasses = {
-  revision = 66100;
+  revision = 66093;
   stripPrefix = 0;
-  sha512.run = "ef3f39a09c29b9a94acef7041e4c9c16d6b301c926162ef85f7ec8c3f6bfa48f6d86a9a9e2c3246430d94d49bd58a36c37912599a3454dbfaec40ffdfc8b078b";
-  sha512.doc = "9cbd3abb0eb49259c2d008096fcd76e722bae7c14af820adb296c503d6eb3de280c456e16bb40e2795203dee470ce2c598bbeea4584ee1cb2ea3cbc6eb0e7590";
-  sha512.source = "714527b297551957f27c8b33b441caf600e48783183c53ef88b038c5ed97dd2ffc0a9964a68bd4086ade1ae52a23bcdb06b51ce93e43c32fb83de43f38dc71bd";
+  sha512.run = "aeba8c75d3af2077763da1846e09b6d51ce0f5935cc4e8a09fb6c747d9321161996423ce620d04c15cfe3a4f9af3ea36f90ccbded6fa03dcc088c5e71be74295";
+  sha512.doc = "0ce0175fc4a3ea36154c329961d7604bb06431b586dc1bc928afd5b2ada528bb79349a833504ccc93525addde80818210cfa2a1803ecb319032bc8eda034f18c";
+  sha512.source = "4b8e605a8f9d3de33b9deef3dd58ae2984881f9716b0a9647fd794a3c97549e50ffe3f2556bb4b4ebc5938ce3516abda9445d4ddff21882b53ccfd9276b37e02";
   hasRunfiles = true;
   license = [ "bsd3" ];
 };
@@ -23966,13 +24482,22 @@ jumplines = {
   version = "0.2";
 };
 junicode = {
-  revision = 61719;
+  revision = 69355;
   stripPrefix = 0;
-  sha512.run = "dd565975fe8ce096d575c0237caae274c0c3efb0a7b3b3fc3cc561636536ea71d62f20e73e549711580a1792e69fa794677d88ebbb7cbad28bd6c82a53797167";
-  sha512.doc = "120772bc43e50cd12e936fe0903d6b91202c2379f073750372d30ffa0abde39cc5f6092089e289fac97ef95b955e2785c07030496f601b805193138414bcc271";
+  sha512.run = "e368f15bb9adcf7ed15527e4e381424896590866cdb9a214b7f8310e9fd0c660ff5abe442a2206aa88f4032665f40fbdc21b33eba910ff1b299c5940eba82982";
+  sha512.doc = "937127e4089bf632b62dc1a218645b1c2903a700183e9d9e7456b16a47b089846509d5d3f89424417a19dd540badabdc6a8a6024826e5cfbad97c19ae9f4bdd4";
   hasRunfiles = true;
-  license = [ "ofl" ];
-  version = "1.0.2";
+  license = [ "ofl" "lppl13c" ];
+  version = "2.206";
+};
+junicodevf = {
+  revision = 69374;
+  stripPrefix = 0;
+  sha512.run = "1c227ce22bb32e8799cabfb943fcd38a4ccc6c07aa7d9dc9708c9bc84352c4a660cbf8c6d31249e47825b961f67a0d7da59349c827a97eada6a37a327091973e";
+  sha512.doc = "c96e5c1887f39a2151bf697353b84d9049ca3686a61568f1d99b68596d1b7f6363810962652813403881754ac412240a9d557a7053803172ba45a8c7c7057c13";
+  hasRunfiles = true;
+  license = [ "ofl" "lppl13c" ];
+  version = "2.206";
 };
 jupynotex = {
   revision = 56715;
@@ -24042,13 +24567,13 @@ jvlisting = {
   version = "0.7";
 };
 jwjournal = {
-  revision = 65480;
+  revision = 69162;
   stripPrefix = 0;
   deps = [
     "einfart"
   ];
-  sha512.run = "0f322a3af5cb47d88a2cc9ec275433e5c13e7a39bb0d1b3dd9513cbf9cf745774a676e7cb5734cc0eab330f78d973742b98287710538eccc5720c5903f534778";
-  sha512.doc = "df9e6f8b942a4d35842e18417d8624c91f4f08fcd8749b2c99513eb51b00c63517fa54c7389166bb78e0296927feba04339ae6a61de9da4281bacc5c60effe36";
+  sha512.run = "9778eb2f8a5999584afdb07b9604691d9ed1253a8a2bdedf569a10e892e876288a74c525bab2e0d26f8ed851d94f81e4a3625a54f1246cb0428a24308546d502";
+  sha512.doc = "dde16cc247d095b61e09b62039f081afa1855778b7d804e6e5692213c25a14c2746204a730f7934a531142f5b9151dc183b20f1d2aa14429d448cc5d4e543996";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -24081,14 +24606,14 @@ kanbun = {
   version = "1.2";
 };
 kantlipsum = {
-  revision = 51727;
+  revision = 68983;
   stripPrefix = 0;
-  sha512.run = "7aac4684e6d08b46319b711a824dbe33446674f63fe301e366543553e6fc4c41aa1eb9aabfc9d11710014c9347ac559dfa1882478f6ec5d9edb39c5dc42cda8d";
-  sha512.doc = "bb96e91c7562c34c56c7170e246eb71c353d67d649cbbaee5904f6bd82b905b93e79baeee536a3d8eb8b9f08296591a8d0fe621883914f4af676f78c6f244523";
-  sha512.source = "aeebdbaa22e0e2b369a18bf7243d714b872115ac9f0154438d37aa0719e3623ce27d31068d90bb60b301322b30c18bf34d4ad312355a65c8e00043653f696b54";
+  sha512.run = "bc863e42abe6397617c588c85936eec4dec5fd9578b26cdfaa80e25abd29ae814a009952f246a4920a3da43e0842a9b113d0c73eb7514b72a9c5a16193f914bb";
+  sha512.doc = "97f15c38fff7c30d99313be71a6908f5391bb15a3e363fd00bf6a6563a2abdca2d98969d5299ba644d33917b48da41985c5ea6d9238e2e8a7fbd285262bcb8d5";
+  sha512.source = "873c0b66e7d83fc93d916d4599e96ff8ce8cd045ad2220914cd4161e15e8f357676b86a35dccdca927c03abbe224f604dca187eb58cd3bc42ba78ed70b9130d4";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.8a";
+  version = "0.8c";
 };
 karnaugh = {
   revision = 21338;
@@ -24128,12 +24653,12 @@ kastrup = {
   license = [ "free" ];
 };
 kaytannollista-latexia = {
-  revision = 65461;
+  revision = 69265;
   stripPrefix = 0;
-  sha512.run = "dd0c2543cb40e8b1f36f29f2be3675874ce4a51538cf54584af0393e74a0acb9674a40433256d8629ceb68acb4d2d8641e97c5f19a3a0709843837a1279a10cb";
-  sha512.doc = "35056d4df46d7a935d600ee6e670a3a3221524c8e4ed1ac6da638c0fe645bd6b2786dbc2d512558c65e6675f0c5e7ca27dd3dd83eca81ca8a1d4d8cc1a18dfca";
+  sha512.run = "c91cf44906a6e377138a04048a3b9885ad10df3ceef268ee3c8d467e4697fa8af1cc5f077b0ae5e2d6049abdd0dfce35a2f83d0ee46e06a1759397a657c28ca8";
+  sha512.doc = "8ef1f9e57e05911d443123bd4393c9bf99b715a4dcab570b361e7798f714228b2782dff0705fa91e660eb2e767709b36de677b7d96c103ce674875b26d47af35";
   license = [ "cc-by-sa-40" ];
-  version = "2023";
+  version = "2024";
 };
 kblocks = {
   revision = 57617;
@@ -24221,14 +24746,14 @@ keycommand = {
   version = "3.1415";
 };
 keyfloat = {
-  revision = 65446;
+  revision = 69399;
   stripPrefix = 0;
-  sha512.run = "aeb72770dda420e3694b98ba4d9071e814b0fea850ca6876769c44ad4b7fb1b3873db0e2eddebfbc85b11603f301826dc5d04c9aa5d9e250c807d3ffa795de79";
-  sha512.doc = "19a7aa10ea4916fdfbbddd9e843db4b312a2bd5a24192fd980b34bdf5669dfe3dc5553089bb3fbd7a892167a9fa21a0424c7461a881fe2ab16f353b9c0216376";
-  sha512.source = "f0d8d54049cb79aa54d52b6c669104e6c9928e863d70df6dd434f6842bfee3bd653c4249732feb11237c5db88010d4ef0bae7f1238b19ffb807e33d4bfeb0573";
+  sha512.run = "b3bbbe74c5db4eeb1a74d49e0fe9608df347921caa0814faca8eb62cad674fc3977c7af1cd58849fe6abab5a1231b4ac3999d5af7aceb7655f12d883e41148bd";
+  sha512.doc = "43771371d9f81311e29be4b7ad2b1876299d6ff4ea740e9cd759a01701665bb6bd37983828238e13141e39c253b6d3d92b566fc97ba2944d7967cf55e492913a";
+  sha512.source = "89f10c6c68e6941de535abfc4e86a0e019a1bcbd2cf10f0fa542adc208f5ee8c1c7884f679d87186c2103b4b1f69b36b50e3c73512fd9209db1be4f5c87f05c9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.08";
+  version = "2.09";
 };
 keyindex = {
   revision = 50828;
@@ -24297,6 +24822,15 @@ kfupm-math-exam = {
   license = [ "mit" ];
   version = "0.1.0";
 };
+khatalmaqala = {
+  revision = 68280;
+  stripPrefix = 0;
+  sha512.run = "78481f7d494a7c1d9312e3c11a700e43b007660aaaf28f74a3aae4966b2387088bb891cc8e73bd431ad992395f7b66a10b9b326d2262509fdac3e153473d37dd";
+  sha512.doc = "ec0f8ec3213a009899134fbf2389f9f33e2747175bf94246c0e035c424728251c0e16a3391e598007b83262353db66acc87431f6856dc1df6e784d5f40b4a2a0";
+  hasRunfiles = true;
+  license = [ "ofl" ];
+  version = "1.0.2";
+};
 kinematikz = {
   revision = 61392;
   stripPrefix = 0;
@@ -24365,12 +24899,12 @@ knuth-errata = {
   license = [ "knuth" ];
 };
 knuth-hint = {
-  revision = 62971;
+  revision = 67373;
   stripPrefix = 0;
-  sha512.run = "0fee38074b4f7abb32f021259951072ee662ab96bcf7127e14e0e3fa68fa981a533a9112a56eaa7a71da48805737abdf3db3d41acc012300217082068e72c10a";
-  sha512.doc = "0cefe2852a97aa680989280e7e2349dce4355f5442ca34334b585596eae9923537a5acada9fca5e90eb4ff10a817df58f6bac35c5944b407cf3d6cb87cc745d9";
+  sha512.run = "ffe5a785191fe8506f59557546b3bce29a236ed5e23a6766941b37dd134bd00ff1ec5dad0278d837bfe2cf8a0e69e5ab5921daa320184ee259580c9b41d92ede";
+  sha512.doc = "5b47b3cbf6164bce8cf6903702b5a6ed93fcd13def2de2e6b30e3c8e758fdf076a1c14f1bc452768c9841d967e932a6597ff0a1a7c9140ce2100036fa04f031b";
   license = [ "publicDomain" "knuth" ];
-  version = "1.0";
+  version = "2.1";
 };
 knuth-lib = {
   revision = 57963;
@@ -24387,12 +24921,12 @@ knuth-local = {
   license = [ "publicDomain" ];
 };
 knuth-pdf = {
-  revision = 62969;
+  revision = 67332;
   stripPrefix = 0;
-  sha512.run = "4dbe29f3f595973beb13764e3e8514834a3c5b371a8cb74effedc11e9ec62c72e64e68a314f26bb1cddc491f58bdf01015bd9c3fff4e566d9e5e28a6f5ca52bf";
-  sha512.doc = "4bb68abdd5183201848e4000f921f7ee6095480341877f9cb050c923dbb930c962c78854db477d8a7df64a613693d7dc406186b4682a47371975a4c4eaff66fa";
+  sha512.run = "ab6e1db43370a551700c4ad8ca9e3787a7be7a06da2a72fd4cb0faa7091fefa1847d143bdf9c8d603ad7d307495ad34faca4e5ef054fa011d0137ba90f888a5d";
+  sha512.doc = "0f16994ee8e64478d01f7b0f2c54c55369b5f661abe7f4db347cb2b7d146c4efbf337e20fd7eba1cce497d8cfa5058bbf4c013073028c364678334c524aea155";
   license = [ "publicDomain" ];
-  version = "2.0";
+  version = "2.1";
 };
 koma-moderncvclassic = {
   revision = 25025;
@@ -24404,15 +24938,15 @@ koma-moderncvclassic = {
   version = "0.5";
 };
 koma-script = {
-  revision = 64685;
+  revision = 67573;
   stripPrefix = 0;
   deps = [
     "footmisc"
   ];
-  sha512.run = "2fe2a07d56107390a191c016c29f7bf77700647b7996957a3802aa89b9b7eacc4cefe1c444b6faa688a147a8b0d9c5d80fca511dc2454a15ada6ddaf6aa3ccb2";
+  sha512.run = "0ad55b5765ec907f39bbb8bba7deee4a131d76c81a0e7bd7379031c5a8771d47c121df5a55699706c886063a12bdf338e5b47b6a6784f0a23a72891a07b322b9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.38";
+  version = "3.41";
 };
 koma-script-examples = {
   revision = 63833;
@@ -24450,15 +24984,24 @@ komacv-rg = {
   license = [ "lppl12" ];
   version = "0.9.2";
 };
+korigamik = {
+  revision = 68204;
+  stripPrefix = 0;
+  sha512.run = "8218a2e5d09cc572c3e3bcba6d49ad9ef9be5016cbf2f3bb57c7f649fc638f718f5d91c09c3d9013ac182e651b0c53b65c7a118a021eda68a53a1e8641a0a8ee";
+  sha512.doc = "291a1153ed32bce9c7b845a40b4de3f63715f2179765021c1ac3f678bf1594a0abe405824099826eeeae30a90a5fd773e6e5aa91fe66a08ed47c91f371fdb6cc";
+  hasRunfiles = true;
+  license = [ "gpl3Plus" ];
+  version = "1.0";
+};
 kotex-oblivoir = {
-  revision = 66516;
+  revision = 66513;
   stripPrefix = 0;
   deps = [
     "kotex-utf"
     "memoir"
   ];
-  sha512.run = "29d7c6a98c086b7e3b9b857151250bc9e5e1e28b52f5215b61a0b30fe96278d0571a117d245a40e141e7724641a4d5e9439ca960b6888c07f2d8347b67ccae05";
-  sha512.doc = "8ac08af766c6c4b021aef5d9ea7f179f444163b954fc26eeef502e7dd1a99e44952efe91b5129084a1b2606345c854c367875601d6a59655c5e79c189e6ad376";
+  sha512.run = "ec9022c6f1fb3d888e7624f4ed311327d9f0b9b569f7eaa078d03c275027edbb4cbcf5785d155ec9cc7c68ea1f93f5d527cc769a12609c361250d5bcaf0d9d42";
+  sha512.doc = "28d6c7c2ba61c06258020dce099ae1ba339ff1a6c0a1c9b350512914fda062d3cc612cdb4410cb3ccefdef0f0700c6f724a35e1f8c5a0fcfdfe16c090322b59d";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "3.2.1";
@@ -24501,9 +25044,9 @@ kotex-utils.binfiles = [
   "ttf2kotexfont"
 ];
 kpathsea = {
-  revision = 65309;
-  sha512.run = "8a9f0dd49470bec5ba0f963a0385bea45141d6b805682bd65e95291b02158b9d2cedd5bd43592de7c447fe87f04efa00e4d1aa191a490147adcb57ec3922b5db";
-  sha512.doc = "51500943de0184fd9794dbf6af80aed2fc7bbaf2a7949facb1840ad0e32344d217aa4d58ee76e3934aec891858f789b3847b9027cb2bd75e5962be98ddd9d02f";
+  revision = 69121;
+  sha512.run = "08b2ebc546de9615927f9933937c81a5fbae702e20e389055c62f13b70ce81a87995dcf402d8b94d0025eea80f9fbc1500270b615fe3f26f1e9c12a245dbd1d4";
+  sha512.doc = "17687e289d912120a0dc0b79829145521dcb660fee024f249153235bb2591936bedae9370ff20d8eb137d54d40d73d2854e4312651eff8a6763bf70040e0bf47";
   hasManpages = true;
   hasInfo = true;
   hasRunfiles = true;
@@ -24525,13 +25068,13 @@ kpfonts = {
   version = "3.35";
 };
 kpfonts-otf = {
-  revision = 65560;
+  revision = 68970;
   stripPrefix = 0;
-  sha512.run = "f78d001ca2fff4367338e5b8bfc2adc933daac36168bfa88523cf03379ddf2da12d3c1d92bb3feaeab2eb4fe090aef691ba76c93b5aeb53d4a766fd2366a3556";
-  sha512.doc = "61be2d97b486e1dc330f3e0e16ca1b33c674afad63ddc711996d8126d9157851a2158f0c31e96d1bfb8d968ee5ca73f066714645af8374c6bffe3f8c5442daa3";
+  sha512.run = "d2519e9ea6aa8cb660d2fdd69e6e686c17c6111eeeb313dd163dc3dfc4ea90dab4abf41661541a461c6b7536062cc6d30f8bc802c2c86850b88b19e64b5c827b";
+  sha512.doc = "ad75e243de2644d48130c75923953368ffa09144f7b8e67738e2cc2e065026fbf1762251fef84ff89762f40a86ae1f1f6cb92b4a09924036fa73a004921acdb6";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
-  version = "0.48";
+  version = "0.61";
 };
 ksfh_nat = {
   revision = 24825;
@@ -24598,16 +25141,16 @@ kvdefinekeys = {
   version = "1.6";
 };
 kvmap = {
-  revision = 56361;
+  revision = 67201;
   stripPrefix = 0;
   deps = [
     "amsmath"
     "l3experimental"
     "pgf"
   ];
-  sha512.run = "54a107c866519e6ce6cb69bd8c13ae085813c4adf235592e32cbfb2bd7eb8039ff8e1fe165f43892367a28ac0984874581424e733b1d3722796204df96d840f3";
-  sha512.doc = "41fb3957c91e3127b5d7c78fe2114cb4fe6c8167e6f7f2bbf3a5b7c0fdb12c0ac79e47d84fad54c4b6a3165114c333c575eea01d5c0c886c19b21643ab0fb03f";
-  sha512.source = "5dae9b0972acc7c95b148fb13d9008b27591aa9ff9065c1c43dc799c5096f89a8b6b2da97b17bb5e544b1a10702cf247d9cecaa39d9790993996276741c0d792";
+  sha512.run = "ea3659bf10ca08945ade08c52b4eba46fa01e28443bffd672a1614f917fe71f68a63d98568e23266d7becf6f6a4fed48f2d2367256a39e956bd2f1d40aff6f71";
+  sha512.doc = "96f3738d31a6d9fe8f8f8624448749fea3aa2d6edac1442eecd70d570954692eb9e1756c1b4f4cb02a8dc17cde37ea0012824fccc5b567250c8ab6715150c796";
+  sha512.source = "24103e29f4268d4ced68d5d1bb342c0e0155fe56e1ca07caadeda841795e44b0b246d2cc39a97f8c683a9ba71160ac774bcd194177352d6e29c079921c43c5b9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.3.5";
@@ -24681,23 +25224,23 @@ l2tabu-spanish = {
   version = "1.1";
 };
 l3backend = {
-  revision = 65573;
+  revision = 69310;
   stripPrefix = 0;
-  sha512.run = "adeed96dee5075c022752def063e1602dcc59d30ff032d3da5d51fdc57fd21c881eff95bfb9c027c8edd683a1e33030c72d3dac03fc62d7f2c32f782618ef6ba";
-  sha512.doc = "9b2dbdd99c36f9003dca7d28d578fbdc12d40fdf861c04dc579f9b81ab3dba4c7ba05143ff0b024b422c4d70c068ebecbc76ce1e03edb233e248dae3d5962d74";
-  sha512.source = "fcdc5cd944e68405fed8fcb4e97d5c855de67b00e352f99fe810e5bb61cda8ac0b1c25e7e07596ddc8528177b1277bbf1deecd370a31235edc94e8a0b2235ab8";
+  sha512.run = "06481bcaf4082b3f187a855eedc32abae8423ad5020911ba1ab10bf937c767f98ea8eb10f6a83dc41af126facf72bf4a52c9ac61b9a1d2b9065c4a20f86b617b";
+  sha512.doc = "637728bdbdeccd2ec5ced361941b7e9cb560b53dc2ed95755d7a4da45d22004923c034e1aa55b9ca13c2b8d7980f99deead19774120a296339402fd71c9c7948";
+  sha512.source = "16ec201e41de548e9d6b65dba8a778a30a88729c186c18079e50dab46b310f8313847ce5e4402dd71a01dcde8a0e8a74ce96336403ef53adf8283a5491e33223";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
 l3build = {
-  revision = 66476;
+  revision = 69360;
   deps = [
     "luatex"
   ];
-  sha512.run = "448eb99216ab32847ca682083ec700ef04851f3a680b67b6e2abcb7eb5e0b1d705260776f23073e5e8c43ff0dac9bfe343a6d271aaa5b99392c0603538f23bac";
-  sha512.doc = "a1b2a775a1b12937afe34c4843aa6374f6e2bfe3e29004bb2b05f16d81f440921503c6373f7a44f5c72fa1185c7d0e7d06a7a2c5113986fc6b35d66b4b6d6f49";
+  sha512.run = "d69d48f9720187457d38db15492d2852990fea748a6ef505f244469185862d9c167e82422056839e7dfb22ad1a89d123711ee7c756197d1fe393d4526470d51c";
+  sha512.doc = "8d53dcc007176451d00d0d78a965b8f88d6bd1096ee340da14198573704304f1c9eb87de466a824871345c2e7043445631d7eadb6916e5cd13172e089912efef";
   hasManpages = true;
-  sha512.source = "35f6b8a5c72b5e4d7e019ec7d4954fef929f3958dc0667f554728034c28f2aab63df3c82f5d2101502906534ee02f51a6fbc1e88b49f8da8c017355c9cd7fdb2";
+  sha512.source = "8f53fd6835cfcbc22bf88be42afe97f92d007b89d2c9dfd745cbc23037a94b77a0a7261837bb77901cba7f52748c904bc0e009f253f68aa52aa8347728c2c7d5";
   hasRunfiles = true;
   scriptExts = [
     "lua"
@@ -24708,38 +25251,38 @@ l3build.binfiles = [
   "l3build"
 ];
 l3experimental = {
-  revision = 65621;
+  revision = 69310;
   stripPrefix = 0;
   deps = [
     "l3kernel"
   ];
-  sha512.run = "1074091d77bc323d108e27cb08592c895fae20f4cb563734dd69701f1a4ac215575af9425db9eec98e420317325adad434c21dbed50063036715b95d67050c90";
-  sha512.doc = "8b954e90f323646a289de57aa6c1a01c25a948b42d70d439c9921437b01fa489a01c08e50bf0601ee4fa12b32f8b60c64af82cf6a4ac9cd8cefb6ef4b4a22c70";
-  sha512.source = "aa5352e2c74e191baf954acdcbd22aef14a3c7aefef3acef6dbfabf206ed30d3102c29448f4401aa89c820172fb5b892a3af537f4ec605fb0b8e159b61131cbc";
+  sha512.run = "2e32434ce1c2e485e879e87cd1becb8374d54ec818b321b17d85d0586382351407c3ba0b246431dbbeb16994f525f5ecbd127465e7bb52ac96e7333d3dbf50f1";
+  sha512.doc = "6834b31fbaa7546a7bdc066134d85cc310609c3966905ec654b86cc590d26a55939e760ca5334b7ccb612c27836a9e3d876ad95a3d15f6fad4bb4bb6269faac3";
+  sha512.source = "e278373263b43924aab0e45c7e0a8fed54e907d5756022253b9a70121d0b2c978030e774fd52e72d240b5c15a05fe2c4c926d5cb84277ae9cf40021b80c9fd81";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
 l3kernel = {
-  revision = 66099;
+  revision = 69310;
   stripPrefix = 0;
   deps = [
     "l3backend"
   ];
-  sha512.run = "820486c9e558687307d46b7014a8465c1c64fc7ab6826ad1af3905e43923a2ccc1ab9f49eb788ef789ac066555c459d025d6e20053d3e193ac7472b2c2ae309f";
-  sha512.doc = "0bce2a717b743fcf28063fa5f3f67dad352060bebfce10d4dc82d3c2b691d63d3511a8f216099f8f3ef46b47d02f567cbe9aafb7451052282ae7b0abe1a1bb49";
-  sha512.source = "6b5e60555640e0f568013e28ede3c8b914f22bb623554361a4cc68140b393234ba6cdbe0defb95e81858c0f8dbee43eaaa0e7d863a5794453f3a810c3cafb45e";
+  sha512.run = "254ca061eef5d18c856c4fb2ef00240fbf1f85b7459739b92787a99ef2c36054ce2eda2629ce92305e0e6c8b73f85074c691595d88a0ad035594307d60b2d5fd";
+  sha512.doc = "71265e9c6834c69c2945810a7aec93d7c5118b5ace790d9aebe846f86dbf62652d19d5fea2979a0701c0ff6a2c2c5bedf55a20a19cc8d5944cbd7eece3061d65";
+  sha512.source = "e2416ae4337acfd241fbd1f8b5a2d2a60c0a3838933404ac48e36c7711d6418efec041a5d8be58383a49ad0f6f3e38d8a522a0bbf9c4b589b4bfe46c9d174b6c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
 l3packages = {
-  revision = 65722;
+  revision = 68507;
   stripPrefix = 0;
   deps = [
     "l3kernel"
   ];
-  sha512.run = "39204e9cd356a5202dddad329cefa5bb47d11e6553609fbcf79a878c524b8f67e868e027015e304fb626d5bb953a69743390174f20f489302682e08a512c26f0";
-  sha512.doc = "3ece8153e345f4678cf5e4c05200033a64fc7e0d9e80d42ad8f32604f8b78a888ab86a98a8c68144855773d96650698af82af3be77fc7523d7cb9ec36a9c5d9a";
-  sha512.source = "8a113832ec4aab128ef471c496a86bde774c9b86f77beef04b8eed03ee8c78c57004786d4606a67e5bfdccdfd41fcf7875fc96f2e03e59b6f0884cf5e03a6644";
+  sha512.run = "aaf755351982e89531305e3f7a037db69e15b1b1eabb4140cb7a3a0a4db7c9604222cf0b9622d05b7637da310634f4ca1f00ab5941f51f152eb46b77165e4c92";
+  sha512.doc = "05231cdbc1f9bf3ad9775893099c46705f155a15e3ce9c4e8fb3d92422a3bd3dce9d05cd89e6f45c1d2afcf4c3dd469995e8d156e045d95b2788a4712ad5f094";
+  sha512.source = "642810f1d5eb19059e0d5541b3cf98c6e7412c1cd3194d469eedf9df5d53ba8c1d0f3ecd382df18637408648d252c3c52bb6e730391049626d8dc5076bb3b7e7";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -24772,14 +25315,14 @@ labels4easylist = {
   version = "1.0";
 };
 labelschanged = {
-  revision = 46040;
+  revision = 69400;
   stripPrefix = 0;
-  sha512.run = "e9cbb45a636fa75c9b9c8d8400fd9a0cf0ef2a46f998d650631e9874907daa7b4deeb4c99d1610eefc343436d164ace717b32cb1d0c45e860e64d69e4c827a07";
-  sha512.doc = "130c0e5f27f0de161949fca202f73bce3486e9346a48584ce1b8636c16367eb3398b36f0145e37531d64933698c201132ba90ca3b5d5b011978d0fad0cc5ad63";
-  sha512.source = "59c1cd3371e97542f6f1cd8fcd14b3cadfabffbecad635bcea33eb535e45ba8b174e9e392e135c799afec08c195b867477255d1336c281a1e9dffe7c1c457cd3";
+  sha512.run = "9d40f477089880f8e0c61f95af1e94848dbac11a8ea5ee3a0c0c33a5883a8aba4c0471d2e23319667aa0dbf0699599372c8267588247809f316304e868ebaaf5";
+  sha512.doc = "ca1f6dd7d4be5c9b130a17c75cfe927e354ffd5756bd893ef99c2f67dfef69a585e139d9d3b44e0828cf0928197bfcc8a909e5a32ca386380ca2a203a8ad0fee";
+  sha512.source = "e3e5187658e31d0391910a1d4610cdb5572ddf13006423aa673475e165b04bcca56f6d324f0b383a6e7faf0a3263e68f5727c39eef38e903ee2950981c5b290c";
   hasRunfiles = true;
   license = [ "publicDomain" ];
-  version = "1.0";
+  version = "1.01";
 };
 labyrinth = {
   revision = 33454;
@@ -24791,9 +25334,9 @@ labyrinth = {
   version = "1.0";
 };
 lacheck = {
-  revision = 54070;
-  sha512.run = "30241d13ac35054017c6240ad066ae84b11c26757fa895ffdc1444b0825e50a2a89864ca85d710882be4105127c4df203ad4a403504a6c309b796c9b9ee5b589";
-  sha512.doc = "a1ef923bfe1c3496651052b4a8b6978665b75f43b7dbeb254fb61657050427aedc8415218f988a7e727849dd0001b67ed023ecd252bac2445b0965a58800187c";
+  revision = 66186;
+  sha512.run = "5a27d940fe59c61539d053bc6602bf37df1f538679eaf34d0e8b3ec3aed74ff619e4843ae2769aeafd10074328e9e27255376bc9e809d373d3913995a2a95b87";
+  sha512.doc = "cf4355d56985f9335270e4280d10602299fadfd01605e83edb4e8b89cf0d91b3e8ca671257a9599d5f5578e7a85140d390edd40c3b109f77bb9fca5ba47ca517";
   hasManpages = true;
   license = [ "gpl1Only" ];
 };
@@ -24843,14 +25386,14 @@ langcode = {
   version = "0.2";
 };
 langnames = {
-  revision = 65502;
+  revision = 69101;
   stripPrefix = 0;
-  sha512.run = "34942812d0c0a59d9e0515e58dc6517a3e4b9fcbf75a338925f2913287d712b9975aa2c48a5f65d2453d5d2b5798f506e8b5bbcb6351ab92cd7a77a07804e94a";
-  sha512.doc = "0f3d6dc9fcff40e3bbf8d9217629b5c587dd5cca03efa840611d907bc2859f88515e9f4a052fe229d9fbdd3aa2c2d5905a5cfe818b09897688f3e528d12c0267";
-  sha512.source = "0777e5a79ac5dd94ac8a9c7191f877408c5d00de252ee95015e8b8918fc94dd29877f10ee110c082df2309d4c0f057fee6a5c50568259d8f93ef7f55b5b5609e";
+  sha512.run = "16d4b14025e142be2c0d21509041d99ee2eb9b4b765abfa3102cf79759c79e79f43191f8ba1fcea3d8c7269bdeb6feb0a9efafb1f1ea195b58ed97a307386bdf";
+  sha512.doc = "0cc3548f9a640e3c6756298ff609bc5458f30fe096fb8557881356624dcfc6f81068af21731df3c5635381ef98c9b30c1f297213b8489e2bab8840c78f723ed8";
+  sha512.source = "dba944b6330ed6ec883ae6bc0fddb724b74d5ea31d703cd89e85e9cf91642d9edcfdc4710e812bbf658774611bb29764fa8e2a3e1df678e70aab6fa160cad50b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.1";
+  version = "3.0.0";
 };
 langsci = {
   revision = 65793;
@@ -24861,11 +25404,11 @@ langsci = {
   license = [ "lppl13c" ];
 };
 langsci-avm = {
-  revision = 66030;
+  revision = 66016;
   stripPrefix = 0;
-  sha512.run = "8ad343adc02963f16994f9e2aaef7cd1f65335493779f78b2074b9fd633cdc1503a1f0132af5f883bf922c7ac3bfc0e31af498dc374fb2bb6b1a863f94bf1a76";
-  sha512.doc = "fe54e7fc550904ae835d49bc628a99361cbe08b979607992dc134157e466a7afdde35a01e2664a0f7f8ef822f00b1a6726aedbee49c2597f19d8b8ada8903591";
-  sha512.source = "d6f6e468c729715295c1f4f9d9a784cc5924a2a535c108bdbabd2e4dfefe6458a2ddf66883dfe91db8b68e8dfb72d77b3fbc05d2d07c2b22cdfc079ad2f519bb";
+  sha512.run = "00cb724f7783d4f6d088f38bd60c816afe8c117b338bf3ae320e4b8118416f025b535989a48262d13d210087560ae01d850f2562f3d75db38210fcb6c012ab38";
+  sha512.doc = "618e957df349847fd4828b07ad44e9a8247bcaba893704379471afbf9348c310da92fde003bbbe963b3249ba532982483ad7eb53950a5f39b27f9c17058f7bd0";
+  sha512.source = "bd2a2411ad9e5d418f33b3c758bcc7f572aff8be2a8b757c247bf099d246f4b658602cdda97e12de0e784259e13b3e4840b5789baf35606ebfc3baf2629bea10";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.3.0";
@@ -24890,17 +25433,17 @@ lastpackage = {
   version = "0.1";
 };
 lastpage = {
-  revision = 66465;
+  revision = 68557;
   stripPrefix = 0;
-  sha512.run = "481f889f29cd7111d4696ba5a5d7547bf76270bc269a55f039d6c14ac43ec5168f8876288c22aa1282d74db32c39f52250aed23b904a1a6244af0e4061df8a9d";
-  sha512.doc = "86282d58c1d12cb32a73005bc17eaeb2c92bc378981a9a0225bae3e9689324aa0f3b705aae774eab1b1a7ed262965a241f336ef58a69bf395bc8d09fffa4cbc0";
-  sha512.source = "82cd6613a3d12677d8303983a42cb55dbead822c6b001d7c2a76effb59a2ef5c9bd9898652eee0aea9213d2ef16739bfed520329c356974800c4893863f15569";
+  sha512.run = "058f7b1e73340b5290beb22054c1bc0b97cd64a3051e90a4359ac7916ba033ce0817e6a1139a8b6b301bc0f68176bd882e8bdc7a7b59a719f0d090dc7cd76242";
+  sha512.doc = "e72576d702e2e76242c18d645351568f4adaa468b5946fca30c9ca7b9d2c36a703ad91df3b898089499c0127aeeef79e904652f35ab6bf98f5126ec6c387baa2";
+  sha512.source = "3b0f6326e815812644493e1a0ff422520e9e555f87f93d1c3f31a3b4a1250254ff0f4161e36785cdefb09833c9a3ae93e005cb4d5a4c3157372f79e00e23a779";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.0a";
+  version = "2.0e";
 };
 latex = {
-  revision = 65161;
+  revision = 68720;
   stripPrefix = 0;
   deps = [
     "latex-fonts"
@@ -24908,35 +25451,35 @@ latex = {
     "luatex"
     "pdftex"
   ];
-  sha512.run = "de95ba089738862d57b1139a21da57a8263cbe9ff81a7ab43608ce23fde57b4630057a95c99ecb7be712bc864e0c07a56429019d7aa9f63c01f47a995d5d567d";
-  sha512.doc = "68ecd2a5c85afe7b39402db416bb7ad0f8e5662c77d77c0839a470f3f70da65377560fbcb5a6952e997da70868533f29a4b7c65d3f7dd63db13aa95ee7159b23";
-  sha512.source = "59d3d31147fc8a31c6348c2a5f371cd4dc69d2367f9ced0c62150c5d14ead49b4e195c328ad4791638e61b93f69143c0c93bbed5551b31e4de1284a4aa7b6d73";
+  sha512.run = "5db84e105289993a7b03358f17af52568fc826c677368aec4c9326c1ca974961de01833b038aae6b95101a05dbd60f6714756d866e1a144c30199a0bd661e30c";
+  sha512.doc = "53f76796c526b4357b48df1443baedf5af5304da87b21ed2ee6619184c9daec33c8fd7a059f92c0dc037c1b19c3bedf804e907c8031385b1f62d199c7af67e2b";
+  sha512.source = "c6c5244599aa46ee18f66dfbb59e59411625cdb75333bd84a461f3c03b3f4d0400e3d6100b1f511107d779f0adc7dc1ae50952c1315ed587b95432dd3b659a0c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2022-11-01_PL1";
+  version = "2023-06-01_PL1";
 };
 latex-amsmath-dev = {
-  revision = 64899;
+  revision = 68730;
   stripPrefix = 0;
-  sha512.run = "54d16b5357800dfdeed39ea71e5c98bbe8ff88c4f01bf9781be181d47854110bd5e9f50a70b512963e4034d5b984e5ab898f61412b3d5b183c3799a908512e64";
-  sha512.doc = "e1d3a8c5f15962c3727dab5d9cf6aff999e817e56ec950b3a49adc762318a895cbfe411e27795957831b18f8b19ade00b40ea9c72e0e112ed41540556eb179f0";
-  sha512.source = "2d1cb38cf290f4fbcf7cd32f2befbb399a4f92a89396ce312f4274f05ceb72b702c0908b1f7877fcc346e4c78499af1028edbb6723b57d3ca4a31ea30d68fb76";
+  sha512.run = "e36a09409559a415c14fcd5e5aa8afdf268ac8b099814a1eb6fec88aeaef17ed2bfc1649b1859d8f5d4c90b25af520028c184a01866e9cc25bfd5ad7e945f84a";
+  sha512.doc = "609a298efbf504274793777b78af7db57b3e161ca8a49abb2cf9b095162a93c2eb0b796f24183d512f4ad30375401a56c6e238b1c18e61038b51bdf3513542a2";
+  sha512.source = "abd63e1e75b661b4301e90ec60015073e42f2686f2e639e2c264047c3d6f071c10cb933049baeea3b49734ffa0596253be65644d8ad54253443e8ba42d09d30a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2023-05-01_pre-release_0";
+  version = "2024-06-01_pre-release_0";
 };
 latex-base-dev = {
-  revision = 66516;
+  revision = 68730;
   stripPrefix = 0;
-  sha512.run = "894c02aa5d251588d11d4598bce8a824b443e3f00ea6a894f8df0810c2cf2becc06cfa823cd18a0fc9f508415e852e0e7b5558d7738ae33bffd9592980ffaa95";
-  sha512.doc = "9602fb4c57701bf649796964675a7835de5525b876e9e2dfe76a8db9e09bc5dc239380c1bee4e80a514f02b1a0172d13dd8474c54ecf8b855924b6b65555b0cd";
-  sha512.source = "ab535b52c57dc9bedaacf5b4dc54e31e4338f87f31e855f28a6161407cd381507dd8c1638a4aa850cdf67e5bac746ad77f7b119243e07d06a95da95d4bd31204";
+  sha512.run = "88a5f4610e396128575a96bc20091a0bc66295aab4febe52a46e89e8bc1b4396ab33dda9bb3b94a643645b82c676e6e1fcf37544435ff2852af0417f97f24f52";
+  sha512.doc = "10214331abeb528bc4e594f9141c99c21cde74729652a7d4a3bce71e401493904377bbf49c1778e35461689f0b2eba9e59c9b52ea484c8ac1bf79413963124a1";
+  sha512.source = "c601183a89eb0d5fcacd7f40bcc867d668067228fcdc17ff5dd5dce57623a6ad21c51d0f5be8b5e99003e4eb683ed4cee33a201fee52c88f1f2a4d873d901197";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2023-06-01_pre-release_2";
+  version = "2024-06-01_pre-release_0";
 };
 latex-bin = {
-  revision = 62387;
+  revision = 66186;
   deps = [
     "atbegshi"
     "atveryend"
@@ -24992,12 +25535,12 @@ latex-bin = {
       fmttriggers = [ "atbegshi" "atveryend" "babel" "cm" "everyshi" "firstaid" "hyphen-base" "l3backend" "l3kernel" "l3packages" "latex" "latex-fonts" "tex-ini-files" "unicode-data" "latex" "dehyph" "hyph-utf8" "latexconfig" ];
     }
   ];
-  sha512.run = "91b6749a7fc520500812c203a1acb0701e7984e5e309eaf0c4815bc7ea0b507f3eeaaae3a6ad715ee53f018b8e38c695c4ff9567f26222cd2c52ba24e1a03c1f";
-  sha512.doc = "30f9001ed8236f01555f8a21ff8286ea409d75583876f8ba795e1a819dea14cb3f2b3dff31e0258cf5deb75ae2fd9201e33260ef1f32c2ce53fb86bfa4e59f83";
+  sha512.run = "4067db41ccc58892a4683c2ce5e15784e9aeebea88a9d9302dffc36fedf48f51c469bb1e99035ebafc58aa0a8a442c12b06457898a71e492ce778e58122a6a62";
+  sha512.doc = "763c7e3df586a275b2a756b591c96ae98ca1a2b5f0c694e9b502d55e7c4a0ad1d40b15ff4987e2be6a06f2f11afe99a4f7fcace22c45877dc54741383a55df25";
   hasManpages = true;
 };
 latex-bin-dev = {
-  revision = 62387;
+  revision = 66186;
   deps = [
     "atbegshi"
     "atveryend"
@@ -25055,8 +25598,8 @@ latex-bin-dev = {
       fmttriggers = [ "atbegshi" "atveryend" "babel" "cm" "everyshi" "firstaid" "hyphen-base" "l3backend" "l3kernel" "l3packages" "latex" "latex-fonts" "tex-ini-files" "unicode-data" "latex-base-dev" "latex-firstaid-dev" "dehyph" "hyph-utf8" "latexconfig" "pdftex" ];
     }
   ];
-  sha512.run = "dade40731ce41c6a0304cb7472255f2d6c8b1fed45b619282aa747b3ebbdfd707da18947f06c8896d72605b324ffa58c3c7195bd90629531ef1fb54a91f1310c";
-  sha512.doc = "7434698038dd90f10c51743e238cfcf0d85da2067d458f399e557b855c7ae6fd4e013ef4272e710eb9695d3e4f8757acae95c41a9e704a393202aafc11218754";
+  sha512.run = "56988a74dc1969af32a87890a930eae5d1c41cc7d78d84d5293836c139885e1bca3103304d0083583e0a9d9ad1ebd76b11f86df67887de6ebec7b36137755075";
+  sha512.doc = "2166531c752eb0295b643f0e20f518011d2c3063a9a5de5e7e913b2cdf8efcb382a9460ef95a711420e9a9f49fc2ac77a538361c4cdc7d730af5acb43f15f2ab";
   hasManpages = true;
 };
 latex-bin-dev.binfiles = [
@@ -25078,11 +25621,19 @@ latex-brochure = {
   sha512.doc = "f057b86b61ee1f50430cdb83a56c27896e052047bbc93c4f09884b7d76f16f73cb1b570341faa2b8c771c0d42bb4d6450b8715c921fe866a57727eb4ffdd329a";
   license = [ "lppl13c" ];
 };
+latex-context-ppchtex = {
+  revision = 66687;
+  stripPrefix = 0;
+  sha512.run = "6ab0e6d04cbf49cc78ed8f45d65837055d73f55ceea9014e5178bb30f7a322137856d187b7e0808f08df48408b57635537bd8dbbb1157d1508728aa2bf7e1190";
+  sha512.doc = "130b525dbf4172306b9bf6b74defccbaa17ab1871d044ce693ba2c0ebf568adce98eacc6cebae94bca425c7b8cb7bd2860747768a03380018a9abd33175786c9";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+};
 latex-course = {
-  revision = 25505;
+  revision = 68681;
   stripPrefix = 0;
-  sha512.run = "9af9e8a2ff7663ba89538a93e45e27098451be4ccb9380b0deb002a9a42613467184b5a4d38ff8222c7ec5e3c722128222976aade12000c447ff7f8ab42c0656";
-  sha512.doc = "772ecca6e71a9af7c31b9c5fd48cce88a7dd880a98b0885e9e5084247f64049234a8d123fe985e247ae706f1d0da1f58bae9e62082defe1acf9345bc252b03b7";
+  sha512.run = "533e270cadcee8dd7510368c596272d9e877c753f76246f11d8b3db6a3eed96319284c15a872d1fcbdb0557c7a267eae4beb9cd2d618f98759456357fc2b6087";
+  sha512.doc = "56f0cdd7a50b396657d60d3d10586e0472e18f3b66005df08746fd93cd481742bec1f1e820248185f9b25d6b58251dd8a4715231272324a5208e25335ede85e9";
   license = [ "gpl1Only" ];
   version = "2";
 };
@@ -25094,14 +25645,14 @@ latex-doc-ptr = {
   license = [ "publicDomain" ];
 };
 latex-firstaid-dev = {
-  revision = 65181;
+  revision = 68730;
   stripPrefix = 0;
-  sha512.run = "f9305a21c399fac15258a607d12b889ca860eba3673b8b4d91a6470a078f6b23288588dd6d22e9255629060696702d2d22163d6669cede8c83762b286ad22cf8";
-  sha512.doc = "fe6a3cc24a4aebca09d4c20336016847a177b352d9ad402bc675f0bb67231dafd38f6208e003f6ce39bc7bb451e600c5f1457cc3723bb1f4d7bc7aedaa751ed4";
-  sha512.source = "b7a1c866724208e2f702e9e7678876e8607e9063686b2cbb81b5bc97bfc84584207156cbf8c0b0470b5f8c2eb6227d8474c17ca52a582ad6e957ca20c3d18b8d";
+  sha512.run = "837b36861d1c5c42107ebfca9de78df1e4426b2466c001532ff3717743babecb8f574c5b431cc821f27a8cf20e88fa7e6dda5633fa8fac28084007183621ac08";
+  sha512.doc = "2f0676b179ec977da7d91135d2e9330bc37a67eba038754998445c49523d1630c34360bb857c108ab47a185a409d3924039d7b03f3b420d74c52fc98606ff408";
+  sha512.source = "c783d78612a76b55f49828ccd3f719ad94ab3a2a3d8b936e2049322c0c5fa773b8db76bc1a8d471d443bf3bc0d7897df7db628866287b64ee281764ae258f839";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0w";
+  version = "1.1b";
 };
 latex-fonts = {
   revision = 28888;
@@ -25139,36 +25690,36 @@ latex-graphics-companion = {
   license = [ "lppl13c" ];
 };
 latex-graphics-dev = {
-  revision = 64899;
+  revision = 68730;
   stripPrefix = 0;
   deps = [
     "graphics-cfg"
   ];
-  sha512.run = "33e2d6ed2e3076219a0438b8d8461110e7edf3a9b0534455d2fc43837a3766d12bdc8d912414bf88bdbd9b10a54a5b8b2045ff3a3cef42ed7cdc49a2d8664d5a";
-  sha512.doc = "ab0be817107e89a4d87c8e5ce68d20ec06eba0ae37ccf79d2dae1e916fc9ae8e2b1c7f7d9701daeffa5bfb931a881d63cfd188393e075c943d91fccf3eb1753c";
-  sha512.source = "cb5f6a80b7178dfd1074235d5e1c7a3a2830d4c7eb037cf9e5d51a2770ed85140be7648e288cd5d67f64955212b29d8dc37fe359c0b7a27fc065cdecdc198de7";
+  sha512.run = "a6357498f8bb7b6e47dc78f22163955e6f207df84a5270bec98d003ff7c0c31d82a13f3ca8e6d1242721bbeee6d5c8bc4e6bf744708fda9a3e5e9ebe30eaf9bb";
+  sha512.doc = "0edf4d8f6b4d48df6e5f46ea5836a30f7608701a0470fdb713333b4e17c0348bbbde8df2e9dbfafb8bae924eb70c34e351aabe4a0e460821790adfa0ee52e384";
+  sha512.source = "f2d2b4e1c67d5159c14426df49065edd0605a1db88ee0c2d72d582edab070c6f8f11bb517f969893761c0c22935df69e5b9dc6d981e0f6136326277e1e2be927";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2023-05-01_pre-release_0";
+  version = "2024-06-01_pre-release_0";
 };
 latex-lab = {
-  revision = 64892;
+  revision = 68720;
   stripPrefix = 0;
-  sha512.run = "90c94e15ff9131c03891c3671ffe77c3c87fbb2cf28437a4e7e9e2eb366cd74dba85e04fa0ed7d7d25b9ec39d60397a6e6a31b9a5c05e9d8fa1a6a8775a7f4cd";
-  sha512.doc = "efa0da9d1f8744283802966defb8e79d2830a390c13eb310f4b9e67cdb18f1f46c05df0f2ffe5093d2ae1d6a4d3ad869437d4913e121b1d2435c3618aa6833bf";
-  sha512.source = "a1f8b5699ca88f7ca9f0576ce1a1f4b5404cea616361dd2e73cfbce60f09a9d2bbfb365c293adec116a768ca27b36e99b49a0f9a6cd86b817cb1b3b58d308e19";
+  sha512.run = "ede4176b7ca60193acd644f572db5d1611a6940027f7641ca755634401b19e20eca65915d57e6a0859e465e818d6854ca98dc16106782bee0f817d776c056a10";
+  sha512.doc = "eda6ca871645fd6fe60424329e4c4d8d9817039d9cc30bd6f710c30675a3e8f0b7f7523b081b871e9e5abbf62a0ce0e22854aa443684818771ce2022f4887e7e";
+  sha512.source = "acc092bf6cc685cf8c9d5a0cd5af47022c3936ff0e509a3743ae22ab888daffd0c1b7b657c5a1e1019232c4047e89626963ec1784b406ad16d3dd3f10f6e19b7";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
 latex-lab-dev = {
-  revision = 66516;
+  revision = 68730;
   stripPrefix = 0;
-  sha512.run = "1832e440ed5b6d6f1dd2a9e143095b68062593bd15ace928d9dd74f2e0aae90cc285c4313651dafcfa21d4a897cc2784f0eaf1e43d82bed2c6d28ccd863fe609";
-  sha512.doc = "e08b6311af8aded0f6e3f2bd6ab13459057692adf17351166aee16b88490a70e970bf22b981700a0b1952e46c0c8028fb622ba0575fa9d872f5d74f10764d8f6";
-  sha512.source = "551dfbb6613ce4f268948ec7e432bca20d4e4cc2ba5c50f4c10e4c3192d5f9837b26a05268b559b593b6141a41529b014a2d545965dd71adce5fc1cd5f758ee5";
+  sha512.run = "59718166fdb95ce7a0323aa201477775d469f091eb47866b81449bff506e6523cdeef0609f9b0a68ff0150e1f08010f1bc00b447e4f7a30b254ee5db0b7494f5";
+  sha512.doc = "42de975fc56df75072e120baffc5a70f4525d80c82ad1e3de60e23527443d8ecc90b0219b42e1c52abad0318c19b27792f46b83e22cf471e5a49ffec2f8e61b1";
+  sha512.source = "5eee782feb451b2b454d08272df09c94184fc3f7f58564eb11fb7e927f4b9a23d3bc0daca31914f9c96b53ff55642458f35a4851f0373a699abfdb168be93bba";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2023-06-01_pre-release_2";
+  version = "2024-06-01_pre-release_0";
 };
 latex-make = {
   revision = 60874;
@@ -25219,14 +25770,14 @@ latex-refsheet = {
   version = "1.2";
 };
 latex-tools-dev = {
-  revision = 64899;
+  revision = 68730;
   stripPrefix = 0;
-  sha512.run = "04be02d57a30975443b1f56512a066775d4f9531c63f4466e728e6575e7edad0677c5bf7f492c5b9dd2938359b392789845e0df6d4e69d53da465dad7d6783ff";
-  sha512.doc = "f784daabae6e1986c0c79115e7600849af75061a314e3410d7521b1e8ea5920d1e382a15c9b18bb6f7d5a585b40a4a835f59e8a1fa6ad62f5f16a5fb6e037e42";
-  sha512.source = "4f2a940c3cd04762ffac656929c1b01a74feb4a4edbc8387ad2cb673aa2af5e8ce1b3f804c7f46053cc2e38416ee5cd8739e59eb19b8af9796b68651e1f08665";
+  sha512.run = "b7ac20a167585e18b7f249612223508380b04e162f10123e6a1fcde1df07fa72bee42bd46cc4cb20043552f981455a4036357b7c5f4c41b2dfa9cdfb8f4dd5d3";
+  sha512.doc = "2711c79b5ca59c7f399b0645f4b3d4620b3cfec3b76b3f26882d42c50ae9bedb46fc59a9483c067e8a667a4e089be42fe8e87daa708ee19e8ae0e945038f1f23";
+  sha512.source = "adea89208290f95ed0b970027c0eb70b6f7300fd4e171a18f88e6c174e0f184ee880a2cb04f8697b2ac55df45484787289a792578933857fb6d70864c0ae57f9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2023-05-01_pre-release_0";
+  version = "2024-06-01_pre-release_0";
 };
 latex-uni8 = {
   revision = 49729;
@@ -25246,12 +25797,12 @@ latex-veryshortguide = {
   version = "0.7";
 };
 latex-via-exemplos = {
-  revision = 63374;
+  revision = 68627;
   stripPrefix = 0;
-  sha512.run = "e10e8c0ddc02b4c99a382d7839118c454b4b3ecd931a880e2c8d4cd69999349dc2088a221976acc91f78d7ddef9bc1ec92d345eb26a499b46ad676c2401faf5d";
-  sha512.doc = "6065f5e9997d39f38fa3759ad4ed19c42914019b582aeb9aa6baa359eead9ff3ff5c6fcb690702337fe4ed7a4dad87d0b7a04d96e5f54a647efa8829b807b004";
+  sha512.run = "d98f99d1da5b8192cfd824829ec31f09f3178b0682885e5f497203c6f3f73bedc0a4f0a766ccde2f4f8a0e68b231f4d1213b3586fd1093588f3a9312716f072d";
+  sha512.doc = "605dba889bfa1ad23b2990b2f0f40db42947b718cd272d8f61243818d40ad9a552fb61f87ff4e3844e580d3acaaa9842c2484c62c5c5dfb4450755db3fb02758";
   license = [ "gpl2Plus" ];
-  version = "0.5.8";
+  version = "0.5.10";
 };
 latex-web-companion = {
   revision = 29349;
@@ -25311,6 +25862,16 @@ latex2nemeth = {
 latex2nemeth.binfiles = [
   "latex2nemeth"
 ];
+latex2pydata = {
+  revision = 68919;
+  stripPrefix = 0;
+  sha512.run = "7da5e33f287bac42a378bf33073ec6a982dff7000097fdb865844299efeb9e7a1647ae49bd3332b036755dd4da6be34fbb197c8148d2c2af5c60b7580d0420d1";
+  sha512.doc = "8d78f4bfe6ddd1742baaa792842ab9ada5cdf4e1eeb3fb3496780e3a31120406d56be4be7cbbade5815f72cab57b76a5218e3bd86ef4593d1fc75fa2196e7212";
+  sha512.source = "fe7111c44158c400af7d0feda67e2bc8a1cc313ab8bca7c101ed75e57ca1a00fe434232ad4c5b78a19fad388d8a8cfa0af6cd53c7f84b809209d7bf955f8e05c";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1";
+};
 latex4musicians = {
   revision = 49759;
   stripPrefix = 0;
@@ -25320,12 +25881,12 @@ latex4musicians = {
   version = "1.0.1";
 };
 latex4wp = {
-  revision = 35999;
+  revision = 68096;
   stripPrefix = 0;
-  sha512.run = "64ce122ac380c4f2c06d3afe2cf1aa2af2dd6d29fc451ced9df05206c97dc0343e6867d770d9b4e1c0425ea41ef89cb2d0a003d43cddf82ea19a7b33d383b7ca";
-  sha512.doc = "e8f22deb966044c87e7414d828ae3d8bfabfda40bdebb4b26b712692020c785ad8688595cced27ea5993c8b8f34f7fbe0cc86180d2ff8bfcc44cc009fd52e936";
+  sha512.run = "0111de0987679fe40b14a4ad0dfa098fef36acf15e099f932e75121c26bdadc2e493c77b1d5b4208e662f2e5893955cfad639bf018d48aa5e7a7c77e5d009c6c";
+  sha512.doc = "eae8e0b5e4fe28311508b09b4b8b03ac31469e32772427c5d016bf43d48e458fea06f9dcf9ed696e1eaaea7bfd6b0ef4661d8b84c2bdedec44ca35c782079bf9";
   license = [ "fdl13Only" ];
-  version = "1.0.10";
+  version = "1.2";
 };
 latex4wp-it = {
   revision = 36000;
@@ -25396,9 +25957,9 @@ latexcolors = {
   version = "0.1a";
 };
 latexconfig = {
-  revision = 53525;
+  revision = 68923;
   stripPrefix = 0;
-  sha512.run = "2d98dafa5c2b90321ca8600171ba22cc7eff73a23d6d88073c477bcb84de37369ddf682163b7a9dc26ce77fb2b1c174a4f810b66a34b29646ad988a9965d9bb6";
+  sha512.run = "22e233cad5742691da573249b3f9cd4ea0c6ccf4e31a757837d710ca863e0cccd089106e523e40fb541255f3795d963273ccdf70211f19ff3caecb30d7fefcbe";
   hasRunfiles = true;
 };
 latexcourse-rug = {
@@ -25410,14 +25971,14 @@ latexcourse-rug = {
   version = "1.1";
 };
 latexdemo = {
-  revision = 55265;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "c93e3d39dd042ddbb32661b3972d153ea3905726fd0961a4162223fee274cea0c95f0978233c4619e00a043189e9d2f2c285767e33890e30ed118f099ef9a5ae";
-  sha512.doc = "442a42c51eab80a28152a53f62b792108002e912dbb0e9ff6afd41237cdf2e954c57c46b0ddc382c0ff0877ddf9747e22cb7c7ac5fabb79080cdd657a1c1422a";
-  sha512.source = "2bfdb3740b0118a362e890257a4f38271d6ac24a4b8712edb5a646eeb8ee14787d913d7d8a171ab9a849667899cad3b2089a9eec2fc7c21bfa21e91d900c9527";
+  sha512.run = "e8444a7362e06fe225e9033fb4fd69a5dbdae2e6b18ff50b860e327890cedb5ccc92a2aa977d5349346dcbc0da91644729d292e08cd9651e096362df43f1b5fa";
+  sha512.doc = "b704b4f266b2106d6a48dd5fca3af644ffb750c7a183d0ceb31db06c98802faff451d4a224289203174f086c7ac46bb83b5296115fc2bb0241b213ebf631115f";
+  sha512.source = "cd9ccedf50931754ebd4f3a9cdf5df651be802fd31622a7efa945d41e3d2d4325827dc12983f17761caec0458a02d69eabb717c9ee0a80973b4f055d8bc1b7e3";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1";
+  version = "0.2";
 };
 latexdiff = {
   revision = 64980;
@@ -25464,24 +26025,24 @@ latexgit = {
   license = [ "gpl3" ];
 };
 latexindent = {
-  revision = 65940;
-  sha512.run = "67b0909afd4abb1f44a83af8d6b907ea63ea2ea4ffed4f5a92935a0612d255c819338f1accf656a9127f41c6c55f7669262e70c7c81f7b954b60d504308c8167";
-  sha512.doc = "989e20858583d043d6cc050ce05028ec16bd7295fe9b126a2cfe780f20bd361d154cb24056484a70ad719305fff0ff3852e482347cbeb8434f2ee3d4d57be762";
+  revision = 69269;
+  sha512.run = "32b0e8cf8433c6c5df601268b9be7d752322fab5fa120e1ee9b8335ba5ab5d48d874bad26756fba2b9da19ce3ce582824af7a859ec1e7f57a8b2e3ea66c6d631";
+  sha512.doc = "f843748868107e46e97840d2ef8699d3234760cceb467730370484459a254db7c36869ed0eaeda66e95791d7bb20d576ffbea39e72da44036cbed0dc86799742";
   hasRunfiles = true;
   license = [ "gpl3" ];
-  version = "3.20.3";
+  version = "3.23.5";
 };
 latexindent.binfiles = [
   "latexindent"
 ];
 latexmk = {
-  revision = 65485;
-  sha512.run = "c00227344e815dd558173662022045e2d6d2bf626235aa2b12e637da5ecfe069b4bf74d243eda7d33d0fb9d7c98e67fc33b2a6735d87bae17f22f5e81b1f2710";
-  sha512.doc = "4daa3f455c7396aaff4c7ad0322787621fb91f247cf8da95dd65aebc4d09f114ef226b65c701807b6f4d66777026be2d65ff10745d96832658139f33b315069b";
+  revision = 69373;
+  sha512.run = "04cb04d6d286f317c7a9e3a7b2c38e1cb9b89e9570d59082173dda7eed8283f49166691113409c5197d5d8da7f319dde9248a445dbefdde97cb1b940a3dbfb9a";
+  sha512.doc = "0d57a68fdea7492a0776e7efaa4269ef45050a52ab40a596381e8d73ff978d9e25459675fe3aac6efba536197f7682a86eb8435c1250957f40a0ac8ac3e9b007";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "gpl2" ];
-  version = "4.79";
+  version = "4.82a";
 };
 latexmk.binfiles = [
   "latexmk"
@@ -25496,9 +26057,9 @@ latexmp = {
   version = "1.2.1";
 };
 latexpand = {
-  revision = 66229;
-  sha512.run = "60b6e87b06229abb8e88f4a94a99146b20b2613ddcf74d81d7991fb7fa30f15ae0011d66b191c77d329cf28ded682be9542e37bedf7771f47a884685dc1238a3";
-  sha512.doc = "1f028cec23d8dbdeb098b7025c38159da5a883fd03712a7ebb85bf794744442cacfcf6452bb171a47aeb2fce82f5e4b5837d99413ee515e565b37440338f3747";
+  revision = 66226;
+  sha512.run = "e5b63c9aa31f3b5885b1a61503998ce949021b448199538ac385d3fe687156ce6669cd3610a7c3387592d968b0707f7122f35fd50402616470e34bb49f341bf4";
+  sha512.doc = "c06bbb57bc006aebb644fc4a8edc1f89e10617c67bb77193bd2f4dc3eb7b04b55fb1f239d7d6979f9b385134f3b1e584d9f10521efe704292b7e64865f78d156";
   hasRunfiles = true;
   license = [ "bsd3" ];
   version = "1.7.2";
@@ -25646,13 +26207,13 @@ leaflet = {
   version = "2.1a";
 };
 lebhart = {
-  revision = 65475;
+  revision = 68376;
   stripPrefix = 0;
   deps = [
     "colorist"
   ];
-  sha512.run = "9633bac627299b169929f63a2ce5f4e2595bbf58afbc3b6a4bf4bc2ee605242caa8825f0a22ed91b26ba38cd3ba76da527282bc0a8c30a2ffb41bf2ba10589d6";
-  sha512.doc = "5d99e3c77bc95606cc92443d68e119cca9cc6fddd5c0c6bafaa3bf6bb7a647fdadca3ce363847804fef6da247344ca8037f28227dcaa7cccd45368018eeff09e";
+  sha512.run = "6537a527caa6b82b1cdcec7150d90cbd7bab93adf1b9ab96f59c4772118d17d21c969ccff449c67905a2ffabf616ac1783c62ffe25208d52779544e84c5352c8";
+  sha512.doc = "eec7a0d7e647797829023fb6d0fc55e8d35ff986a0e614b4522deaf632799053b3580e8888bb77974205f9e566cc14f04d8b60af3238c5ef65f59e0599d079a4";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -25731,14 +26292,14 @@ lengthconvert = {
   version = "1.0a";
 };
 letgut = {
-  revision = 65548;
+  revision = 67192;
   stripPrefix = 0;
-  sha512.run = "848b1c2df001f47239ddb87286baaad56e81b9069d9496bcb6ab7cbedf362f2bfe04dfbc313db4b7bcf4d4b9095a5dc591a0455bba7d815a4b8d58b7308d4277";
-  sha512.doc = "c5ee6f66c2fbc13c85a239f74713b2e9aa7bb0b0d7bfc7c65f118ff5f5dc3561dfe4c1907f1e51bca11eb747491af8639559e1cb0dcf49730371a746813843c1";
-  sha512.source = "a64b94d669315e968fdcdcd43a71d0c3f85767d2c83d121a3997c113f114a867ebc5cc5bbb406234b5d63c21c294030cd48491a3199c1a992cb0ad2cbea17dd3";
+  sha512.run = "0dcc57dd2e77f28a2df931e99186dc3ba4327073b222f8948632051f4e6d45383c8ef6de64443dc9855e6c9ec49f72fc0594a236445bdd135c50ec3aadee20ea";
+  sha512.doc = "e7fe29f8a7027e84cff04c0a70f077044ec07cad59873e33e6407a88f793c35fbd767a2a3aa43103a8bbca8d851ab9ba07576e8f318902fc0dda411540a312a3";
+  sha512.source = "c0d9c7145d89796d95cab9049a34efb634c0963867cbd60aad85e2f7df2b1f7ad356389c362dff239dd6ef8c7297ca5a232ab5364a4eac0c75aa8c6b92744d32";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.9.6";
+  version = "0.9.7";
 };
 letltxmacro = {
   revision = 53022;
@@ -25776,14 +26337,14 @@ lettre = {
   version = "3.002";
 };
 lettrine = {
-  revision = 64511;
+  revision = 67923;
   stripPrefix = 0;
-  sha512.run = "a0e2e8b47998ea8cb75f42a8b5b91ac9d44130846e772b6d345e857b2fbf132185047de7886ab772c57a791865887b173287d387b5ff7f5e515ea5c37813c16d";
-  sha512.doc = "4b1a85198e653f366dfcee1caecb80d620584dfb5cd19f7b4fe98e8c3a0b07cb1bcea8762fb37e7e4eeb32bdfe658a348d9f30c602d6491afec77a7c9ff12ad3";
-  sha512.source = "dda2d295fcf87d46c794f84ac1b1c03c95ee5f324d951a6179b7cdb8af5c1c54d676bbc8ed0ef9dbad0ec8ccc45953094f1a0522935d6e671ec4e2e4f28f0eae";
+  sha512.run = "a87d35b6e4259d6177b30b1e8b99fa03ee76e4bf7c2ab281dd5064ca663b60f0932b66bd388fba64f1bb394e295692dcf43b570cf716c1f14265494dd70a6298";
+  sha512.doc = "af6034d748fac6e88c6494b17382435fa865fadd833fb87cf84f2ba4983d0b5e466e9dcbdefae165f521303edfb2f2dd9602a661cf79c74684b046a50dee4506";
+  sha512.source = "932416c613f72b7c979393749d89c5ed57541eae31829b221707d10cf2f14c2b7d44824dc34d13bd15211a58a72a44a7e6b1d3550977508e7b89180226f91e75";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.30";
+  version = "2.52";
 };
 levy = {
   revision = 21750;
@@ -25888,7 +26449,7 @@ lhelp = {
   version = "2.0";
 };
 libertine = {
-  revision = 64359;
+  revision = 68981;
   stripPrefix = 0;
   deps = [
     "fontaxes"
@@ -25896,8 +26457,8 @@ libertine = {
     "mweights"
     "xkeyval"
   ];
-  sha512.run = "7b95b6612f5b46298cddf459184f11752a4b050110bd1d0271e43e364aa5da58c9e27d3b72119b76e863a19ab0987ea408d749ecf18ff40da1ab8a585e31c7cf";
-  sha512.doc = "c33beec53a939a5b9f672e0c5a7aea7a3b3047e4f1f1e68b7d4d64cd03a7f73da2bbce2a4c56199f71519d4c364a3e0ccddf8f93f24dc9eb1fd3896fd035ec77";
+  sha512.run = "5c1dfc8bac01acd0e6e0d3412c08ee8672f01ebe1c7e22f36f313541139bea13d8967e53f5959a04b31d08c0ba88334b30c3e909eef310567b07ead39edafd3f";
+  sha512.doc = "54963a7cf440750aba83feb1a55d1de26ea6995716049d22d3f0ff742364db4c4ddc366d2937d022a3a8ed9951a114367a6ae1bef74c0a655b47007d38c2422f";
   hasRunfiles = true;
   license = [ "gpl1Only" "ofl" "lppl13c" ];
   version = "5.3.0";
@@ -25930,30 +26491,30 @@ libertinus-fonts = {
   version = "7.040";
 };
 libertinus-otf = {
-  revision = 60023;
+  revision = 68333;
   stripPrefix = 0;
-  sha512.run = "1aee669aaa55ff11c2de760f65597542736b64a4ae52b8d73aa967c92a178ae7013ce06e701d9a3bf3de0e5987abec4d29401480dd4bb845a64c0047ddf66c84";
-  sha512.doc = "6c21d100b5ef1bbb8e892c0a0da0cabfe11404b7e1e4606ec04b25bd0a0d22547b1e80f1398573f62a34b4e951cda01466d0d8828cd10e78e8ed008aafecb416";
+  sha512.run = "74e8f653e1bfd28b11932b0a5e524e823dbc1759566a3a6fd3d74b854f40df7a78b5dd3845e2b8e217fe9608cdb116d1216a3139e21d4498bccf62b8d8e42742";
+  sha512.doc = "e708bc00e33f6cbdb1b21b1f62e968896f373301b8a3662fa32016c30bf913831d14258b9e1ceef3da39fc468dfabe0f9e4ff6f8b0e4357fe15bcd80c7e859bc";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.29";
+  version = "0.32";
 };
 libertinus-type1 = {
-  revision = 64958;
+  revision = 67450;
   stripPrefix = 0;
-  sha512.run = "7133d2b3572861d7d3ab20063aa7330aec926ab1586d6616bef18cb8078ed66cdafd205993c20b459421f5b5ac8ac7e4e059beb5216b028564154ce3b3acf00a";
-  sha512.doc = "c01f69729235bdda491ef66f1bcbf5fe39a1edebe0c817ec35ae9aa4f393338b24cfee27823b90fbc1994a32b5e7ddb5a097a9fbfb35b3412346a84028c908c7";
+  sha512.run = "6c84de57b1778ec35d9f56b00e577f9f8c1293132cedba43e657f4425e9bf01ab4243fe6ffb872aeb99b446019539a640d29c88cf29cc86d649d2a00f77952f7";
+  sha512.doc = "c656af53b98735bec8c63c3e56160da943379f4b908f553a27cd1c82111b201eb15c1f1eb1b6ff89fee281c27ea36d6fffc5592b75722cd561c8770ef2d3f6a6";
   hasRunfiles = true;
   license = [ "gpl2" "ofl" "lppl13c" ];
 };
 libertinust1math = {
-  revision = 61751;
+  revision = 69062;
   stripPrefix = 0;
-  sha512.run = "444d23e7bff1a6c1b3c368730a589a033c211f9fafb1032b3852e55ade7cde260f1662ab7266291136919558d9c2995986655f0302c38a677afd4dd2f74d5376";
-  sha512.doc = "d3bbc0ef7e507affc60a6a76c4f33e42b42f5b9742098b5e967d6581f79d9fd68231cb7f67ff97b7d5cd8a47a023885306439125419375537412024d5bbd9f88";
+  sha512.run = "9a44af1c4f96453aa69c83658c9474838efcf1020c9301d12577a403371d2b3127fefb57baa0bd5fa5ef737e842abd4f9c368761ee38f6285aeb5a2dd88ad1af";
+  sha512.doc = "14c87d5e0d19d818152bf1a5dd7533eb651d5b477f3e42d42277fc4040a263114fc2006000af25884c7dfc64de0936d950fcacdf7fc55e4d09c2d756400c34f3";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
-  version = "2.0.2";
+  version = "2.0.3";
 };
 libgreek = {
   revision = 65004;
@@ -26035,9 +26596,9 @@ liftarm = {
   version = "2.0";
 };
 light-latex-make = {
-  revision = 66474;
-  sha512.run = "e069afa8933cf7389014409342159462d2f04fed07cb9857bbaa828ae7752e89a2c21bf9814cee4d0a7763045986761f41cd92fd0bdf1b697815a37212832a16";
-  sha512.doc = "53b2edb93b66c7addbbb4c8bb98ad7a9da4ca38ad33ccd8d5df38281bcb86ab6ea16aeb3babc3d0d18f8e355d5c678caf82f7bf3eaebd927a669e04274e4d5ab";
+  revision = 66473;
+  sha512.run = "1ede05b31d3b7acdd0f38b19e83b4258f05ddb184343dd36a46f142adca9f4081631d687411a1370be880dba5e3c6ad3f1c21108232e8b8f4fd03fdc1f3ad60e";
+  sha512.doc = "f5bb10465cf3dd983f59b101f6c631e202ce655282319c773cd0d83c0a9a8a3b9cee7790ef1f803b0c68215b553a2668d861a51dd9ec35b2dfe4b07ef0cf3a08";
   hasManpages = true;
   hasRunfiles = true;
   scriptExts = [
@@ -26050,13 +26611,13 @@ light-latex-make.binfiles = [
   "llmk"
 ];
 ligtype = {
-  revision = 63577;
+  revision = 67601;
   stripPrefix = 0;
-  sha512.run = "d28a77d7cdf47f3def3218507d384168766a2a497326560cda325303dad8dce90a5d823486fe0cbad8d254890332a30470349a113a955acf97d1cd780ecffff4";
-  sha512.doc = "96c466142a9cb4c983650404ff8c803c4e8218862607ab2da95f3dd2bee2fb42dcb6a5dcf4c0f69924296ad468f3b2d0ac2ea7d7b3779721e3fc95ac4fb0317f";
+  sha512.run = "f75a730290acd024eff3ebad6965fbea0e3388c98e0b6f325183758a7771de4b165810e7cfe05c43b12fb0cfcf71c51665c082bab82e44772ad0e0fb4b21c0ba";
+  sha512.doc = "dee12f5e8abdff666582edde442085e8c937b39fcc5ad37759f0cfb683cdeafb63afce7a051573db307d2c416eca46bd9bf626f0cc3cd44bc6e1379c428d2e09";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1b";
+  version = "0.3";
 };
 lilyglyphs = {
   revision = 56473;
@@ -26105,13 +26666,13 @@ lineara = {
   license = [ "lppl13c" ];
 };
 linebreaker = {
-  revision = 66465;
+  revision = 66639;
   stripPrefix = 0;
-  sha512.run = "013d648a48d9e970ac1514c8c3443be99d55ea252bbd817955bdbd800a4e9cb92cd44d8b8ece0564c43c9f20b0f7766d06f16f6a30ca6516c6efc89be0df4767";
-  sha512.doc = "c839ddc727b1397c6cc07171a01c6877f6a5da526095149239abd314317178ebd8d4ff9f35a7418177d80338bcc149800b1e68d2e552763a0f0781d67dd91733";
+  sha512.run = "282c1687acd1843f43d281804ef4860967c069b38c415cb015c0694ddc9d78e03a5f3456a8331d3aec341d856474fe95a2f4fd92b786c2834d65cfaaf4b9198b";
+  sha512.doc = "d39b7d5ec0712e3e26ef76f9e1177f6de5413dce21b143e791d79c8980be640c785448fdc8fffe48fa5ebdd9d2d594518b73e8db21cb16cb99a8d9377ce8f9ba";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1b";
+  version = "0.1c";
 };
 linegoal = {
   revision = 21523;
@@ -26124,13 +26685,13 @@ linegoal = {
   version = "2.9";
 };
 lineno = {
-  revision = 65586;
+  revision = 67171;
   stripPrefix = 0;
-  sha512.run = "c1a1ed8480634176c2b375550ddac8d50581d3d3bbd93c98ac9ede07b6289937462d99d35b59cad9bd11f64f14fbefd10043027443c7a8d8e65d370e9bd44dbc";
-  sha512.doc = "9bd671d949d10e3b5170ac3b2afaa9cd42639ccbe152e34a1717d881a200da290c63a7edf7832f88cbd53be700fb7e668582002e1da9f0bf934cfd5991887629";
+  sha512.run = "7171da9917c0218a0c55c43126ecfe07b9e55e9633b673c89ae18f08897bb1634cc8412cc3051ebf6640afc228e246f1e5549ddea45261a6ddee01d158f3b9e6";
+  sha512.doc = "ab4aacda9d0f4a9a2aefdf37b23067ad27eaf40500fd92f7a4c619f9c012a40ac0c69fae32c425d6c12d2b89e6d6c2ad9585fd75b2af8447c9f7d333473add73";
   hasRunfiles = true;
   license = [ "lppl13a" ];
-  version = "5.1";
+  version = "5.3";
 };
 ling-macros = {
   revision = 42268;
@@ -26216,11 +26777,11 @@ listing = {
   version = "1.2";
 };
 listings = {
-  revision = 66233;
+  revision = 68476;
   stripPrefix = 0;
-  sha512.run = "47e219c8499ce2928125319d53e996ff51bc3c7ff2356f631fcaca5e3329914309b929aeb11cf222a9024b82a9348f187f4a8119c7d8c5688d85b147dc4ce2ce";
-  sha512.doc = "1b0fde220877fe45313ea5083d986223006226a63a23c2463643eb7f5b66b8df6f66d8fc54d4990eb7fcf87babddc62af7bd21ea3d57e73cdf171742c127ae8c";
-  sha512.source = "0bd38d23ecb65ced94f18360c96323916b86ce9b503fe547dc7b490dbd37379bb1744b2f1b56288cd39a1513fdc264d7bdd33862e1a29be747b825e7fd77d7df";
+  sha512.run = "7bea53ea00e877b33586378c32236f2269f6dad6169101f7164293617bf9d5ca43745e2a549a993a899b4ddc45254b3b032e112576c57b7ea7653a2e743fdb4b";
+  sha512.doc = "d62e73a7df88b7e07c53367e07a6867e26145ad1f4fbed0f8cd0836c10e234695c9b3d97eadd9700547e33f3ecd793367be7dd97ca4d46bb0cdfbd07490c61f4";
+  sha512.source = "1a89476029706617cfab1319a65e6e8353455ac63fef8155e2e347c34c2b60ca6f2b264113a2c4ced52c0872a66efe8d4f53b67274d7a94f2a1b51de7cf198f4";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.9";
@@ -26248,14 +26809,14 @@ listingsutf8 = {
   version = "1.5";
 };
 listlbls = {
-  revision = 34893;
+  revision = 67215;
   stripPrefix = 0;
-  sha512.run = "b5c2e7e168b07aa288c911dbf5c1fa8b56d2a73d38babf0140b77bbf783334f2da42b2bfa8d951e166f7184345cea26a908d12ff4a07ef89b85a7d7772d645e1";
-  sha512.doc = "225837c7a5c80b5a01739c20011f4b4c76b0cdeaf26e3f8f44fcafee3e439a104c6eb1a47660a788b96a3cd63f3e19d1384ecada059380773850c7a4109d3269";
-  sha512.source = "3b35fa88f640d4f2a13f0cc888a7ab7bb09052ab080454d398f0edc27caa11728152e24bf5184d54aeb1bc86e599aa8a4bbfff6a6efd790e11277f99da2f27e6";
+  sha512.run = "bb0391bd671c306bb34abc336f74e203141fb0b2ae131dc36820e24716ddb5b7a1bfe9650baa5ba4cb4078e6f9d097a9a464aba1022b36f76c3257e25e583979";
+  sha512.doc = "773bb3996ee16ca65ef8a91e42e6d1641d42ae50de7fbe4b8324ad9e70d326d0fbca85e245d48bfea137a65f33ffc6e81add6208d239992012ac1851ca12d4a8";
+  sha512.source = "441fa4a8ac0e618a997078368794800f57e25545134533b81121718bcec912c1c367b193bf7cb3756102ffad4f75497e63c9cef611319aa478fee955c9cea780";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.03";
+  version = "1.04";
 };
 listliketab = {
   revision = 15878;
@@ -26267,10 +26828,10 @@ listliketab = {
   license = [ "lppl13c" ];
 };
 listofitems = {
-  revision = 51923;
+  revision = 66655;
   stripPrefix = 0;
-  sha512.run = "9cdbbac3442d2b6cf45659a77dbbf7c1db2252af3c656d277f8c9c1f8cfd98879efb7e6a9957481cd6e892d8f3df1c8ef46c7992b45c6c461dfe936018600917";
-  sha512.doc = "e7c3df40b9657dab386eaf54f08018e3d390a1de96a47c5c4f63759c11aa38b243301287940131297ad107e4a63fddad5bd9ca5982b211febda7bf5a6a8d40de";
+  sha512.run = "f108d1a5c1330afae1c6a3cfa12fb3d345bcde5617245a9ca736ddac9427b4375f926d11f706d91d87f8b5b55f6f0257922e2068712e969c55b6e5b7436043b9";
+  sha512.doc = "b9264957510f892b5aeacd299df184e93881083e3256754c2f89c4f76adad5abf9f23ba4e56b013ea7e98158f8437797a6ce9d5287e5b76199aa4bc0b8cca188";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.63";
@@ -26285,11 +26846,29 @@ listofsymbols = {
   license = [ "lppl13c" ];
   version = "0.2";
 };
+litesolution = {
+  revision = 69115;
+  stripPrefix = 0;
+  sha512.run = "5a1ed66916daa7babfd009615584bd6065895848283f46d8f95d2fad69bffd6bfd59c8acb991ef7357100a63e7798c44aca3725ce0e89650adac13ea9e21428d";
+  sha512.doc = "aa750b1a4fd7040b946275239d5ce49848ea031188c1703161de300dddd6f502c31ee7f7a4655b26253b76054e6b487ddd56a9157684010d3b006900e94d6374";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.2a";
+};
+litetable = {
+  revision = 68782;
+  stripPrefix = 0;
+  sha512.run = "2cd3dc7c4025bd9fc36ae8c47d54ff8db1d237c754234ecc13ccbe8d6456c7035a2e99961ad161be4c9da3fe2aa03f9e0e714ea2174c64d2e152af1e036df055";
+  sha512.doc = "249729d269cd9d9cead6ec7bef4731549d18cb3b01bd60197bf0d7374042d70e73767d3273bd149fd0e96534494be9ace640586375797f4b907b67d76019e11d";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "2.1a";
+};
 lithuanian = {
-  revision = 66465;
+  revision = 66461;
   stripPrefix = 0;
-  sha512.run = "86fd543339a902b21d2ec045aa3c0844aca91c14223b03b5cbfe7d612f40dafdd275941ffcfd37d77df5e83abeb36af0a64f6f78de4c3b3fb21129d76a9230ee";
-  sha512.doc = "d26f2732a5da9c320ce359de1b9263969b4ba8b2fa155e01014d12348b916c16e38e6ac0a94ade037a6756e07c0cd03b17686d7073b4dfcac1e9befeac43c1b2";
+  sha512.run = "c2cd1b54daf74e78e6087159fa827ece77f2dc835eda81e03fce861581e812536292f3f0b70b8bb77107c0a4032d12006e870303156a3f3c7cb653020ed9b97c";
+  sha512.doc = "ae7a5e3bea2bd62a0cdbbfbde7e0d9e06554fa4b3bb825b45febed42556fa101fd2e6c611ad9fc1cc87ed5c92540977780fde47ae78a89dd37b70f89c94b5e8d";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -26313,13 +26892,13 @@ lkproof = {
   version = "3.1";
 };
 llncs = {
-  revision = 64299;
+  revision = 68731;
   stripPrefix = 0;
-  sha512.run = "76371faeebdde62b5444dadd7c08b5fd6fcfbc9fb57dfb5a29ad63760bcd692115e206458adfd13e2f16ac24713e128e7905194ecca369568b662c78aa6cea48";
-  sha512.doc = "63b67674403e67e7f019fdfa09f3859bd1a6da5cdb93bf68321a441c9fda1db026ff64e0a3a15dad1f7b27b4fe8f7f4a086eccff88a282133d825dcdd6d11d25";
+  sha512.run = "11a2d47630302815578f0ced6483e1bc680bbc7030f17239d5c896de64ebe67a55626a73a88ed2044b7e2c2414ba8cb6ecdb2fe921493817acaef52634ec90cf";
+  sha512.doc = "a73bba73deb5af86726323f9065bcd31406e3091d5a1fcf77b5ef0ee7a7843a6df729fe31f7642e30ba9a9e9acd2782491607ec3d7d67679507f4b124a9a888b";
   hasRunfiles = true;
   license = [ "cc-by-40" ];
-  version = "2.22";
+  version = "2.23";
 };
 llncsconf = {
   revision = 63136;
@@ -26331,19 +26910,19 @@ llncsconf = {
   version = "1.2.0";
 };
 lm = {
-  revision = 61719;
+  revision = 67718;
   stripPrefix = 0;
-  sha512.run = "07448def04c2dc6805d7077b7a65b4e353c99d22d802c56ef7e147ce6a209e9b2303752b5d56763ccd44b9cccf700207e48c246b141e63deb4d1895347d6d307";
-  sha512.doc = "d628f4ad7288eb378df86b4593738c0f755ec6a08a762b38d7fda95b2cee163acd81fdebec7bba693380bcf3d2b2510281f349fa17ac3da1fbe9ec40106a728e";
+  sha512.run = "9e05642ab07ebe05c13d5fa98f3212527aa66a9d049f8eade506cbd9f0652315363a01ae20a9df873055e5283bba7574d51251c7dd86e56ebc37055b92379421";
+  sha512.doc = "d15569c1f55553b068b8d3a73efdbdb74137d02fdda5db5d57f29203dcd92dea7746b73a3f30293b2932f046e60697ea015b83d2587cde2783300fa41967c5b0";
   hasRunfiles = true;
   license = [ "gfl" ];
   version = "2.005";
 };
 lm-math = {
-  revision = 36915;
+  revision = 67718;
   stripPrefix = 0;
-  sha512.run = "f2424f917e13aa9805f6738ceed376d6063713dd4c58a5953b5456da4ba81eaba3f0f97963ecf36ead4f68b1311c4c9e30f064002ab8bbf0f5ed3a67db3ead4a";
-  sha512.doc = "262a99ab29fd22976334eabaed77d3326e87b63014d9e640ef8ea31b14382b273a6435f3059aa235c50f9f829ec28adf754763e17a945265495e9a54e7ee53fa";
+  sha512.run = "2fad475b347824d564525de51ed5bd1cc7ab2fc27fd826a00e86ebabd7d85afce2f7a4c85d9620c9b66d14ea0c813a269a13843a0b27eb7d0ca3e294114aad26";
+  sha512.doc = "fb1800349628229dd522d4dffa182ffd2bc9411803f5b349c88f4046d81117d050a3b681e3021a514a6ada5bc49b648b8dda8b553f9294f6d4fc317db0cd5990";
   hasRunfiles = true;
   license = [ "gfl" ];
   version = "1.959";
@@ -26359,14 +26938,14 @@ lmake = {
   version = "1.0";
 };
 lni = {
-  revision = 58061;
+  revision = 69361;
   stripPrefix = 0;
-  sha512.run = "5b9de3838172a042473eb03ccc26cfa701c027c33db9c943d4efaa00b22854c67b17e43d20ae8fcb2960444e817c05860a67aea50ed7047cd7a4f90b059f59c3";
-  sha512.doc = "87ad80c4a70772177ddc7cfe9b90c0fcfe3d7bdfd583cde52837b8fcfc85aa1fd21fa11ea562fa7169adc7ae954185696c4fa8bf655916e149f57a95bae4627e";
-  sha512.source = "be7bf7271556755196f8921c0d261f308dfc20e0df81261015c4001c53b537948d1328ee33a856c13e22dce7ac6056904f2b2989073f95ea5d61d226ac7977f0";
+  sha512.run = "5b091deac5f045af63d4351abfe70e28343ee46fa9e9c62d2cec409b0453b1c391a07abb743be24c8d01f8e5063964574ee684beb7b91126da55fc8e0663a831";
+  sha512.doc = "da89225db988132af56a8f6be0330e5ea761d1a8da1237c966c3b30f91c776e7e2c118e8aacc843c23f58d3f514c5e0cc6c2d06a689c886be90f8d309215095a";
+  sha512.source = "e02d92d0878fe98ce533ad9fcf058325c7d82f9548cc3211d34ba0d9d83e515c41cc77f588455d589b50ebc41358ecafe0c84e501ac60a402f8d548a1fe87671";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.7";
+  version = "1.8.1";
 };
 lobster2 = {
   revision = 64442;
@@ -26440,6 +27019,15 @@ logix = {
   license = [ "ofl" "lppl13c" ];
   version = "1.13";
 };
+logoetalab = {
+  revision = 68916;
+  stripPrefix = 0;
+  sha512.run = "1b3f01a1acc23b17e30185b3bf2b4e965d047bffc7d87649a40e52e4fc9de36518e82335055c66f221cf10b7c6a1cfdf9f51641f5ea945aa0f7d7efd76780fac";
+  sha512.doc = "93e17e5c624aa8a6f826294fc33de8a66731020696525821f4e14a5bfe0f3033cb6ae21abef41d408e627a6ca8d6e12ddfc7aa30d02152e6aadef3fb88fe92ce";
+  hasRunfiles = true;
+  license = [ "lppl13c" "cc-by-20" ];
+  version = "0.1.1";
+};
 logpap = {
   revision = 15878;
   stripPrefix = 0;
@@ -26463,10 +27051,11 @@ logreq = {
   version = "1.0";
 };
 lollipop = {
-  revision = 45678;
+  revision = 67930;
   deps = [
     "cm"
     "hyphen-base"
+    "tex"
   ];
   formats = [
     {
@@ -26476,8 +27065,8 @@ lollipop = {
       fmttriggers = [ "cm" "hyphen-base" ];
     }
   ];
-  sha512.run = "81557b83acfa4ad42dfa6fb1a65ea42bc33885da444ee23bc3c67a899df7b3ac2c19a1607305b5ec10b503980365c5d29ac3598339fc186a05417ea5bca60a78";
-  sha512.doc = "206dee2be733e3ac04b5b259862b60fb3641fc44ea182da601ca54a010ff8e42f254dd01c03be7bcdd2a6258110c567a596ee82b4eb74d04ca8ed70e50cd6a86";
+  sha512.run = "8449ee38e28bca1974e9a144f7ae1ade40cf4ddb9da2cf35779712202c372a29d2c1bf394122452e217c08cba8d89cd76ee4e019a0b356fd9274069f8a63d8ed";
+  sha512.doc = "d8f9791b32ace40f0e936733cc5bc9d5954e7f0b013c0eb81e1b212a00635e674639dc4ce70858dffc1d8b0a15e6fb7ddfc7460f9196a832918252060e43db3f";
   hasRunfiles = true;
   license = [ "gpl3" ];
   version = "1.07";
@@ -26486,13 +27075,13 @@ lollipop.binfiles = [
   "lollipop"
 ];
 longdivision = {
-  revision = 59979;
+  revision = 68609;
   stripPrefix = 0;
-  sha512.run = "d489df0f5ad27cd8755d8387ac4b5ec0f0091e9d27611a7f4810e145dbafdd95cc4c14f6cbdd9843e1e4251fb0d31cd3332657c50d1fac4d17eeed1183aa8aa5";
-  sha512.doc = "dd45e2dd888c7bafe5311cb8a541c0eb7c31661da9d69223f69852b022092501f936d9823395c5b7fc7f914233ad4cea32b2803730f976e687bc7a9bc7c74069";
+  sha512.run = "2f1f1e6a6b93266a1c6e1c3fbc33e4f9719b6ed06390d2e277e811f429f0b71c3e3133e2e406b837c109672b725bab29534a8e9c9b380128cba6901d5082c53b";
+  sha512.doc = "8314b4fd0802dc541d640a706b0bdc3b10f909365372ad9432c49e533f95103643c1171038b7f346b9f92688d27338e81fd5c803070d99f10a61adf690ee6389";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.2.1";
+  version = "1.2.2";
 };
 longfbox = {
   revision = 39028;
@@ -26604,12 +27193,12 @@ lshort-bulgarian = {
   license = [ "publicDomain" ];
 };
 lshort-chinese = {
-  revision = 61100;
+  revision = 67025;
   stripPrefix = 0;
-  sha512.run = "5e87a1c613e57157c77a9401cda424ba0544b1cfd1611e0f763b837ebd172947365a04f8734b2e7d41f84df9ca28500034b3b8f96dbc4d2f8bee59c1f0813938";
-  sha512.doc = "ea00f428f8e93067a876de16cc7f8fe09f46398a209f4ec7664f83f605e674558703f05cb4ebb655a29affb3af26615731a284894d37778a5f7fad531fe2bad1";
+  sha512.run = "6d6ac34f79c3d5447c1bbd7f2c87071a92867bd770fd023bc4d6fb48500d27f1b1a8706a727b0d0a7b47eaa9a639c6b5a691b7d21a5e178eb79131cb4bd75b6c";
+  sha512.doc = "c220f086c2e0c9bd52ba3ee1eddd2afcb0aaed1c4fc4b9ebf854ce57b4720df7ab3c5475f3164cf740b3020c14c5682e1798e43c8ad9e39eba596a24b04644d3";
   license = [ "fdl13Only" ];
-  version = "6.03";
+  version = "6.04";
 };
 lshort-czech = {
   revision = 55643;
@@ -26735,10 +27324,10 @@ lshort-slovak = {
   license = [ "lppl13c" ];
 };
 lshort-slovenian = {
-  revision = 55643;
+  revision = 68204;
   stripPrefix = 0;
-  sha512.run = "689ca4286149002f840e2ae82d7d9c8eaadb3471db16d935ef82c37e25560200ecd2fb95bb6fba61a1deb1fe481549073893df59cdd37ff9aab3c55679028492";
-  sha512.doc = "13cafc10d15f89945f020743c10d2bc44b226cfc9c7217be32b8c2affed12602cf024295c75a929478beb3fe763eacdcd47bf80615826472b85cb4db7454ee8f";
+  sha512.run = "b053e42404063ed3275363c361ec85de69dd92281070f0c88afc860cf2ac07b3fef1a98598ceff52308e36c9f2b5e6c406df591481533b80fb0258ae20f32ca4";
+  sha512.doc = "851951cd5822f257ecd23d73901d833ba6067d3860002a4dd4449f23d5e7a50fa97ed579f5cbab8bc9494801055ef8f23f6f3249d9f6843a28f7da1b4f15409b";
   license = [ "gpl1Only" ];
   version = "4.20";
 };
@@ -26830,14 +27419,14 @@ lt3luabridge = {
   version = "2.0.2";
 };
 lt3rawobjects = {
-  revision = 65230;
+  revision = 66619;
   stripPrefix = 0;
-  sha512.run = "633da20bc0242a755041721c3e1672160cf41d924ff33ddb511debeb5c1961c0a83a07d2c7571305a7aeab4f623ff2047c8d0587a2f1b94ee2c7820d2c3116c9";
-  sha512.doc = "f84e47dae753654366955666f855087ed43d2efbf9b159dadb581c84eadac1f21422c593bf1fb428f47f176fc248c0e75f86d72c998253a7ffd14713536115dd";
-  sha512.source = "1412f86829fa26064343fb4c8ece1b29033c16db564621f2fef854077b00dd590873ffeeb002f419dfee7a815de8b63a39c256a2f9822b80b1f013dc29454ced";
+  sha512.run = "05b70d22b56925542bd3f2ce832b1ed71759cf41f8ccce3d892c5bc6e17fb8ebfe8843a82d0aab6b6e88f38e84819b25bd18344683d182fdcfebcf81a47d27fd";
+  sha512.doc = "3aacb576ebf0233692b81daa231ae8a93b392d07a261011e41dd4eac34e295f288f9fe7ca1abc208534393bec1e290362b32ce0906d4c97fe56a598c49e6f135";
+  sha512.source = "2e09660f1a59fce87af33d5fd80a59a83ba856233db4032bec88ba8b6f5a8a6306de7416289c51043f8a947dc2481ed90cfecae095425144b865d7a1095cde92";
   hasRunfiles = true;
   license = [ "gpl3Plus" ];
-  version = "2.2";
+  version = "2.3";
 };
 ltablex = {
   revision = 34923;
@@ -26868,14 +27457,14 @@ ltb2bib = {
   version = "0.01";
 };
 ltxcmds = {
-  revision = 56421;
+  revision = 69032;
   stripPrefix = 0;
-  sha512.run = "052303cd90b960cc5a9bf89c8938af95d8959ba6bdc603b4d53b68666b443b620417c9ec4ac65867b04eae8cb0a88940f905eac78d2c3718ce7a40ea249c9f94";
-  sha512.doc = "d82f046eee3892b5a241f78b44910c801b14583cf7f9a693f861ab04d9b05e0cd7639d8f85eaf46f95d2d325688fd1ba3c76421c6ceec5969046db497b0d698f";
-  sha512.source = "55f04ec6375c0b38b9e9d78fb658378c0e35c9d72127495e824376b1d54155138c65f6bfa804f7795b3a4514fbf1c5a7505e7500f51decb9b4d7c65b47d2909b";
+  sha512.run = "9d9a9835f4547200b160b42c07e918fb8b2cdf9eba91c30647c6fb1c74cb6f9ba60ab40bed63514ecbf334d527148b31fb1ec90af60075d19e28d10d675ded68";
+  sha512.doc = "21be07f4f98531621f90b7ed23c06fa4b39fafa12a83c45784b83b5f9728817657b5c2ac2c09e4988ce0c6df0918a7c93d29d7ab89159cca5ce5fc9e0eb017dd";
+  sha512.source = "becad978f8b2303a44057f165cdc6d22ddec03e58a26a0d6350bfbaf6d681ba43b105b65492c5be2382ee1e4f814129f86abc2ce376d2d42ddb0fdbdd2671d01";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.25";
+  version = "1.26";
 };
 ltxdockit = {
   revision = 21869;
@@ -26980,15 +27569,33 @@ lua-physical = {
   license = [ "mit" ];
   version = "1.0.5";
 };
+lua-placeholders = {
+  revision = 69404;
+  stripPrefix = 0;
+  sha512.run = "11d13babb26aefb2782ed7e84444ba645bc808a3283bc0e927cea84db95e9b06895df23a4ad830e2c4a401426a151a7acdf8eac43faa3ba69dbe434349d7867f";
+  sha512.doc = "88b9e069384f0c86ec3f86c21c985c37d199a9dc1962bb8d829b28a34a8ce7cfbc46ab57358070ed2ae71fc9d9c92b2090a69ff0c48053dba54586274caf7737";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.0";
+};
+lua-tinyyaml = {
+  revision = 66776;
+  stripPrefix = 0;
+  sha512.run = "3144093c160dd1bbfcef7c0d56a3ff2a6354ed2c5ad30a4201706dea66fb8cb19b4be71087c078c4e36d163e6a785827c378303bfd700c086a7ea6b9d7eb2135";
+  sha512.doc = "1b0932800ff6fbad87c2a87e68e433d46de5a0c2543c8fb0c7b7b6f60749db98d9863ad4debdcd508bf1a613d32c8a8fa5d7e23f177517e4f7735f2c3b63c616";
+  hasRunfiles = true;
+  license = [ "mit" ];
+  version = "0.4.3";
+};
 lua-typo = {
-  revision = 66516;
+  revision = 69403;
   stripPrefix = 0;
-  sha512.run = "8303e8b0134b1155dc08b3f9f717721326cca56595f6a5aa354400019b808d9b7fae9acd1307849174ee5513e152dee8e25ec9668b2ad2fdfbecace2a07bff90";
-  sha512.doc = "9d3acf9e93d2e114663fafd0b4ddcfe5a8d43c2bdbfc0a220e31ebfbbefcd2333ab56d75f8ade6adc7d2e8680db3e518d3e09f6f4352b4d722e609511f696957";
-  sha512.source = "02b6e83f7f445a06b7d6b91e59fdd5d388b8014875ebe0d4ea55adfee985b571cd61bc8711fc8d8f0763009c3a5d4ce445f86b595542725b18e50b6916add88f";
+  sha512.run = "177b89a930ed061d18e25bafc230b402976e25ebc88d09a0a42c70b5848fdf5b7964fa69160c3456a02f207dce39363c9fbf603c928cd50b373be6ba8a2c8ab3";
+  sha512.doc = "60a9e3560c35583377d4629ee4885ad5e8bf52773927c9d3e2b06a2385196303df704bbcc6245a2e0fc93c396b4a6252309180af270d9bd13fada543c9f3b7b1";
+  sha512.source = "65eac5cf5c4af2eebbc7d6412cf6ba17a4de37c6c47caf7667e047edc6697a0e93f9f3a334f3ace081127654b6337ebbe5db767d1de2eb48a275c22c0617ca08";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.65";
+  version = "0.86";
 };
 lua-uca = {
   revision = 61023;
@@ -27059,22 +27666,22 @@ luabibentry = {
   version = "0.1a";
 };
 luabidi = {
-  revision = 54512;
+  revision = 68432;
   stripPrefix = 0;
-  sha512.run = "917d0d96748f2b70d368a2719bf6fdfaada3d24e2e60c97b6d412ba2cdd991a920d86a94d19136e075605095c19331e1dd37c3a059a9e8f772479ff5ab53550d";
-  sha512.doc = "92345c9f8e50eefccba39f294841a7eaff7d0328ef445106dd436ff10a994a8a9ec027c9400f8b4b1f873ba1fbd92565e21b1cf2c73d40d3468ce27ca7ae128d";
+  sha512.run = "10a304c8844ad7b8f5e1832d59e678599f503c1eda38e1a1e29438abf6304fc44d8d4235e1308d661fa0879494c1779b7110853305b645ff1d2d35cf575bf07f";
+  sha512.doc = "8276f91aa767b9c066bf6271f57a929aa21c7ff19a49db5db2e4eb68bae7613a13473cc23b7f5e60232148b46ff33bb86366320d730ba67918e2b009e5f22463";
   hasRunfiles = true;
   license = [ "lppl13c" "mit" ];
-  version = "0.5";
+  version = "0.6";
 };
 luacas = {
-  revision = 65042;
+  revision = 67247;
   stripPrefix = 0;
-  sha512.run = "1d7a3ba1e7fa0085893569e8f4ee5c175376edb7c3575f6892d969a4b64bf566c50d3b86088df6bcc7e8bae9c8ae91889f19a28e3112cfa57cc7919fb85e95d2";
-  sha512.doc = "82e2392a227366661a09fc54c5657efe12d0bb5d9bc8ed5209b013b7d2825f5c3516df4c77d864c9cb05574a2380612215d9ec2b70b4e0df7c44b307922657cf";
+  sha512.run = "21a488b33ef09db0e0fc2c479564cb15f1f2afb4c790ed8e64baa9b10ec1ad3a36486261218959f8c7951bc06d234f0516bed5d31201adc8d573c7490658764b";
+  sha512.doc = "45f583d602c6afd13cd32d4049d4305d23ff8b47866a9d95b873e7533d3a46d2e357afda82819dedd450e95e3300aa34a4abfece9e0b90c22d6b2c3dc8cdc701";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0.1";
+  version = "1.0.2";
 };
 luacensor = {
   revision = 62167;
@@ -27096,50 +27703,50 @@ luacode = {
   version = "1.2a";
 };
 luacolor = {
-  revision = 57829;
+  revision = 67987;
   stripPrefix = 0;
-  sha512.run = "39252eb36291bf6023e8ab24e7f4cbca10caa9d89204e8e80a5962b08e66c6ba5b588e98d17f9b13be3a52fb5c392499ebb73ded2e43a4ce7ccad4cf30a24302";
-  sha512.doc = "4aeb524631531e6d18decde7b01acae4aaaee8f80392da87a2e7fadec9d353749b2d1dc65573ce2f184c24494ba340589fb83203ffcd49271e05dcbb79a1fd19";
-  sha512.source = "93d7f9ac094612760c7cbaa1b591dee5f31f8278f462808a484311e2ba6dd6a20671e7431e7f22985a7f77e23436eefe02484026820d4b125a7a1b4b9d6becbc";
+  sha512.run = "142376345f25de68236e56fd334d8f24af90f510abc0d2314049bb03142df76988cd5451e22cf98df4443348f7686bbf9c269e311d5036cf8ae621200ae585ba";
+  sha512.doc = "d6654c3ac1ca1c18cc60cea463cc3b4b4ed902ba6c29521883079123b9906f089ed25e2268e7a1f92800d9b1158225b50c0b019ea28c68b846e73bcb350dee6a";
+  sha512.source = "8b29907f0e0d865704e5de710ac2dd37607330d66a4282ff1f4673306be40ce366a0c2eccdf4dd25c3592e804cd6fa1e2a35044c494c4a3c73e64bd0c264d102";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.17";
+  version = "1.18";
 };
 luacomplex = {
-  revision = 65833;
+  revision = 68883;
   stripPrefix = 0;
-  sha512.run = "621f7f8955c309b31f19a94cfff7632591f5b67b60cdeb1ddccb1076855a49c0e9030fd7abcb21cb7c3c474d3d418e8f08e6d1d4a74fa18f96307bdf8ab96094";
-  sha512.doc = "abcc97af487f24e2fa0636a3bfb069419eb29071e2060c7712c22c5a4dafc97b082e72b27f3e390a74564d1950b1f7158bee90151399ec6c5175513a9c9eb706";
+  sha512.run = "dcbb87d1c5776f20aeebf0748d348ab748e98fdc95427404f252f55fd1df9dc607aace2f6b4bfa086016eec7c4bae295979773d3a70d20a9e32da47974911949";
+  sha512.doc = "a892f4360b52ab22dcb282c5bd6e538af83836d40e7467453ad345e2d272363efdef83b29b76864dbccaba1ad3589f2a3a47d20415842f727212d3923191b052";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.2";
+  version = "1.4";
 };
 luafindfont = {
-  revision = 64936;
-  sha512.run = "a73bfe0aa1b6a907224cc98f2d5f6344249f79010ad5552c66286eb7c103d5c69851a452cb6eebf39ebd5b6e8e64062efb125bea1c6586ef5117f994a97244bd";
-  sha512.doc = "e7196d9a2e69b5a6d5582d7ddc00ac480b16228b424cb9d568ef1ff6fbef48e5926776d5f22fa0eb5c4b09b6b29a283416206f64cf324356b35d66228bbbd3ea";
+  revision = 67468;
+  sha512.run = "0d02fd925b33616d3f23df0609ea6fc1595b830cff8a712f6f93414cf80b51b2b1dde2b29e71084aad89377084b606ee7eeebcc2b5e8342b74fab23d8c97aa82";
+  sha512.doc = "fd16f72bba665cffaad3102d6573117300c7df4ea7b4a3104be3de7c26c9f127fccdb54e373cf47220df2652fd405c6dd3f956d2278ec9339e70ea390333af75";
   hasManpages = true;
   hasRunfiles = true;
   scriptExts = [
     "lua"
   ];
   license = [ "lppl13c" ];
-  version = "0.11";
+  version = "0.13";
 };
 luafindfont.binfiles = [
   "luafindfont"
 ];
 luagcd = {
-  revision = 65396;
+  revision = 68893;
   stripPrefix = 0;
-  sha512.run = "16252382a588687de53735fc215e4a4b6a0036818af5a07ad1df8acb2fa63534079528082c3bf3da57c093ef994a2ee7e8d61224347ede8c5f01697b0de62e30";
-  sha512.doc = "42a5d3732c3aba5e3bb2e80274aaeb33ac99e52b9a65ce4918a8dadc6972f2818a4acfa495d271c4deb64121e57c721481ea92a7b91062a7bc28ef8cdb9b7acb";
+  sha512.run = "d9b770680bc147b45c3bcd984f58335d4e4d53f97ffecf85eb1c017a1c61ef6ddc06ae3230740769e199dcf674aeb92b5ebc10cb29863bcc4f67caaf9a41d15d";
+  sha512.doc = "98905c9e829d1d96a44b25236a1181d5b96b75ca8a05293b185b9f372067cbf35d3db2d0e3343aacfdf840981bcd2af19e089b4a1ca7ae79a7a52b70c6828862";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0";
+  version = "1.1";
 };
 luahbtex = {
-  revision = 62387;
+  revision = 66186;
   deps = [
     "cm"
     "etex"
@@ -27160,13 +27767,22 @@ luahbtex = {
       fmttriggers = [ "cm" "etex" "hyphen-base" "knuth-lib" "plain" "tex-ini-files" "unicode-data" "hyph-utf8" "luatex" ];
     }
   ];
-  sha512.run = "daafa6e417e7c366dde221488b91708f8c1302cf6db849b91a82bd74619f0b91e16430680aabeb27e43d1469262c9f799cd0bd6547635ac6ad54ef8e2dae5703";
-  sha512.doc = "5d2915af80990896181a70c24dd3c51748fbaa6f3f9b96b67b1b40bc8ab36d39293e8f76c0f3dabdaffb252423eec61375b6f5aa859a1310236f7d39d6f2fcf3";
+  sha512.run = "30b1fcd361cff27688c65ecffbcffc65053696200abfccd543a14253b53a35de2af53b37f7ed1580510a8c63293d2d002cf4d9fd2d44f86678e2ecb09f02e4b8";
+  sha512.doc = "3016c12de8386af715932819701a6da1b106c504a7d13ba9bb5a04999737709f474b50c08311c1d4c23b5532ba7c1546cb0585e5375babbcd2091adf52d05664";
   hasManpages = true;
 };
 luahbtex.binfiles = [
   "luahbtex"
 ];
+luahttp = {
+  revision = 67348;
+  stripPrefix = 0;
+  sha512.run = "ec1ce2020efcfa3288c70d79756fd221a2cbcfc873b4f7f77d23bb18ce16764873c30a6d24a36dfd86af5ffbd8563c0c9e863cbeb78b8487725fac7f6c153bc9";
+  sha512.doc = "cd4f2a818a31b8f9df2dd83590d8cbcb01cb6b06309a7a001711f990250d31232680ef2f10b252704eab611cc20c78cca51331db00f17eabad40ea88a8d2860c";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0.1";
+};
 luahyphenrules = {
   revision = 56200;
   stripPrefix = 0;
@@ -27205,16 +27821,8 @@ luainputenc = {
   license = [ "publicDomain" ];
   version = "0.973";
 };
-luaintro = {
-  revision = 35490;
-  stripPrefix = 0;
-  sha512.run = "2585639b6a7b93019f8fe4dd353332dabbbfb5663b84b1c92df397e940392a1b3bb2ddcec203bbb1b0f4244ac26b62f9745fdf50cb7512f96e5c12af8c08335b";
-  sha512.doc = "47de79cdc637810757b7879956cf758a77cde95e77060ce74829b438d13b58e23cbc8e9b328d0850b44fd8de8da90fa9fda206ff0e206918f1bccdf5d71d2c38";
-  license = [ "lppl13c" ];
-  version = "0.03";
-};
 luajittex = {
-  revision = 62774;
+  revision = 66186;
   deps = [
     "cm"
     "etex"
@@ -27242,8 +27850,8 @@ luajittex = {
       fmttriggers = [ "cm" "etex" "hyphen-base" "knuth-lib" "plain" "tex-ini-files" "unicode-data" "hyph-utf8" "luatex" ];
     }
   ];
-  sha512.run = "f7503044bf237ca6d6e33a3a067bba0d73dfecfee7e77b5ebd4f3d6417dd24f7aa263cb08e7ffb86708574ecda31d5c7d89b42d2ad2179119393b99129f8077d";
-  sha512.doc = "3924029e274913999cf54e2f3a4d3ef85dbfbb4ee93a629b8eeb77c796557c3086eb447fa74d2d7a6f33a17f433f38ceb033f7e1633e240bbb135b4239b588f7";
+  sha512.run = "21313a5786f2bea08ce55db3a7beedabaf66f3331bd0eac1f8f3d7b926f68e103b14b1a5beaa271c37b60fc56735cc180e424f91db62f6e740530a65495d8e82";
+  sha512.doc = "7637835fae934f4fb1aea954270281a986733d0e0592204346edc290f2cd7d5200ee2fa0d9e15a27be8221c3c990a8c3d4654e314f96441a65c197d3bd259129";
   hasManpages = true;
 };
 luajittex.binfiles = [
@@ -27261,14 +27869,6 @@ luakeys = {
   license = [ "lppl13c" ];
   version = "0.13.0";
 };
-lualatex-doc = {
-  revision = 30473;
-  stripPrefix = 0;
-  sha512.run = "a1d98422b13a26aa844213df2929629889ed6bfe3fa16c27f6376f00f038a50dd32c5128a27ecdd872d3fce8372fb93ec603c0c92edb8692325f1e76fca685d1";
-  sha512.doc = "0756a0183d0b7b302f24cd16a8957915a69a3db3fe4a8a4fc301e246a0563f9fe81ce2af667b7bcfa45717b605be163cc5fd4c170d8584028f2ee7b2120390c6";
-  sha512.source = "a18a7644b50ad608dbb2bbfc15f2672fe7b9a48505c3224dcb46aa97b2d57b5a007c928dd5b76518c8963970bb1b8b56bed8e5c374ba5cb18a9521528dfdd58f";
-  license = [ "fdl13Only" ];
-};
 lualatex-doc-de = {
   revision = 30474;
   stripPrefix = 0;
@@ -27292,33 +27892,33 @@ lualatex-math = {
   version = "1.12";
 };
 lualatex-truncate = {
-  revision = 48469;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "f4de38427798b565aacdb127152cd7ac8a42b441c555f742f5bf90480f7cdf8e182745a5882a9c8e0645c529d27647a056f26b7493dadb13216972794e617341";
-  sha512.doc = "704b34da4b8ab787c53f2af21fd17a29d6c8e1d42024de2ff0e65d434a502b47022fa2a506e149b67ee5cb542f2f4835babda315b1dded598f63dca353aa78b1";
-  sha512.source = "bffd59b8b5a7d02f40f4ff2f4d028aa98ae26b3d9d9cb432f531211fbcf65d18814653fed07b68e4d34f65d514f7aacfe6bd5aea956a12f7fac2e088841ca02d";
+  sha512.run = "e896a6e065b5dcc49c24f8492f640f5ebc06c4f1ac8bbb57e8f76768ec20b14a016f2f801a5c5c855d03f72808b5844011aef7ac377a38a388cd843120b4edc7";
+  sha512.doc = "242cabec009e94adb1582874f959b10871531b433679c2f66ba9f82af02150d78b8acb8b486a182c5e41f2d0b7fee9a7294ab2d8977c9a6f0c021fde8678a4a8";
+  sha512.source = "fbe5c95820b8f94773f8f7e33b554e05a5d8ab2178472a6a6c27a24e08dc7dceb3bc1483999b3b13db389b46ba6f5be1532927adfd1623f0ec003da2a96e5793";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.1";
 };
 lualibs = {
-  revision = 64615;
+  revision = 67994;
   stripPrefix = 0;
-  sha512.run = "4c58257198d93adf140d83adc043da409e84195ec37123c9738930702efade88c85faa83173591f1862bb5db0ec3da6bd70bc01479d605365a9fc200ecbc204c";
-  sha512.doc = "274eae19e558c1c6b0516154a4848353746b7329bd18599c6d801ad60f8849c1275418744942baf7e25a8d6360d21fce37a931c777aa2df9bd34a8887cedd15b";
-  sha512.source = "b0c4f3ebfa83c976d96452a0d33f903344ccc8df1f2c7a5237fe05f8d8b99ed44f737707e24c1847b520a8c93989308214c6f06e211e2893b7b96c841b1c8ab4";
+  sha512.run = "4387311fb78a29d63959114e401a2b97a8743a50c76a22163e0d14f15cd7b51a50f4be7a19232b32fa4152eac71c73fbeebcb8e38fee3bfc997aaea37bef78bf";
+  sha512.doc = "a4c878209934b2b044688dc77b4b467ae4e106adfb5f728f398d7adaa279ba612883ae22f30e667a79a22d633a507b689525356ff24daf12c50bc84dfa798ca5";
+  sha512.source = "98fb3af23ec41561f0ffb12461ec2977472f4182b49a37c0365c16bc3d52ce61c382e6ca172ef92638cc0496d5e3073e4c96b13acf390e783f1bf46d34226d2d";
   hasRunfiles = true;
   license = [ "gpl2" ];
-  version = "2.75";
+  version = "2.76";
 };
 lualinalg = {
-  revision = 65834;
+  revision = 68918;
   stripPrefix = 0;
-  sha512.run = "18ff75c7153af357e5913b01cd4d9ba8fd5e4225fb503f63dea5d9d8af6b0f13189371d04dc8ced3bfa91d9e25af479391e13ea3f1f4cf30485f51536867cc17";
-  sha512.doc = "eb07f1a76292facef0a93d4d407da76e18c4638ef5a51f44fa71dc7a7e3ee3e368f82bb780b67820547457ec3eaae1b6327c166705966a65f71395cfad4958ef";
+  sha512.run = "91c466d51adeee70e9504deb30a623c41d4fd6b461e76f4a6dba2529ffb3e879ac9bd706845b00354418d6a600b3c774029000b3495ebb4711b152e274b87d0a";
+  sha512.doc = "21d4a285713b962e17ae2f83be803abb77813bb6fceb085787fba35f2a1956b88cb199e057c1f49d15ded68c3fa186a5af0dc5bb1ba99db07dc557c3a2da1a44";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.2";
+  version = "1.9";
 };
 luamathalign = {
   revision = 63226;
@@ -27331,13 +27931,13 @@ luamathalign = {
   version = "0.3";
 };
 luamaths = {
-  revision = 65400;
+  revision = 68883;
   stripPrefix = 0;
-  sha512.run = "825e0a28dbf1dbc09aa430b25fbac824de2bc2af14ed9d23970e3b1b8178548c11c9822b5c45b1035250e147a5cd1d0288f825f270bbf377c8f6e786c51f8b0d";
-  sha512.doc = "effa366dd57fd545b4f18112ba6798e1320fecb09fb6300873a9b48c318ebe7c07d5af8b5a14ddf6926d24c0ba0a1caded6c0c368113a159c5d73633464796d6";
+  sha512.run = "1c5a53bd44f062a4531bf4099c0dc1e76a47f5475901bac7f1fccea0005f9704df257044b76063d51158beb0d66d18e41ed6a4873388f0e531b1ff21ee1042e7";
+  sha512.doc = "0846e5ece550ec73aa65b07993faab7151efb100f6e5cbba8a4e73b595b012f031435ecae7d1100690395bc973fc82b617a0463bd3388e38081ad32b8d16d78c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0";
+  version = "1.6";
 };
 luamesh = {
   revision = 63875;
@@ -27349,23 +27949,32 @@ luamesh = {
   version = "0.7";
 };
 luamodulartables = {
-  revision = 65485;
+  revision = 68893;
   stripPrefix = 0;
-  sha512.run = "017f903e35bd6800a89dcb086ac592c30e0bb48078ba50dc4822f8ee949d1995523a6c02eed77ab98beef7c0d08368a252d2c6a629fb27f035c8cd8d4a749b2b";
-  sha512.doc = "380eaa526a3144823b0cd438b13094376ecbb009f11c7e6e90303005b71889b30a1d2e08fb85218913f530ec163b01fb193e4866f6133c16de3501299db86544";
+  sha512.run = "0b390717c538a8c44cc7e8214908149c3705d5cb453d7776015eed27638ed0c0d16ea0b5be5abf2b6bec6e410b849f35796f574923303ebc883c75f7221f7634";
+  sha512.doc = "dba85f4e58f7a7d8f1f81d0051a0305cdf51e7bd1ad4220cebed513871c6a3d816d9a6048cdce352f48527da2b04700b94210eedce5104af289dd0508fc72f63";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0";
+  version = "1.1";
 };
 luamplib = {
-  revision = 61587;
+  revision = 69069;
   stripPrefix = 0;
-  sha512.run = "daa0a03eca57570f485d2b7decf564eb9f6614a5799d93b798310c20ecb2f055b6dd469c87fbafc1722cb931dc387eada416bb83d609d76a9cfc8c482298edc8";
-  sha512.doc = "13b6b7322faf3fda798049bada6d1737f30cb2ce7841ea858ac798fa3f63818ae6661a4e050e4dca336dab37ba9292fa19446a9e1d07a86509c0856793716975";
-  sha512.source = "097a263699067a731409704d7de358c85f4509bfc6426dccd2b193b85430413c441a2c5dc011da613e1e673e6670f7d7ed847e59c58c74d6caae66b7b3c2a29d";
+  sha512.run = "8e6238c9fb806ced90d5c4e88aa84e4ad1ad39631296a90bd6656b600b1ac4f34d4e09789fb2bdbe92946ccda22668003c78b03497b3717402d5163d9de5e734";
+  sha512.doc = "e2dc6fd89743860159a529ae81c284c6965c4cf9eb3376bebe9d4027148e2726c7be24a42ddce36a43e55e76f7646f90da1f124fcfcbc22cf6a36324eda78aa8";
+  sha512.source = "51eb46b66368bc894ec1848fc357b859a68e56a88b700e5a7bc37b8baf1a2b379ea877e39f6b8024c8ca8037f62c6c06281c8213f49eb724b1c82dbf2bc46067";
   hasRunfiles = true;
   license = [ "gpl2" ];
-  version = "2.23.0";
+  version = "2.25.2";
+};
+luanumint = {
+  revision = 68918;
+  stripPrefix = 0;
+  sha512.run = "f34fdf0308fe4c9aa36d59e11862958ee1824761e5aa8ee62e6df81b335ec8dacb203a64ce5e26395ab612583126093dcddbc42dbeb927c90bd3bec73c1b5485";
+  sha512.doc = "e8718322381688bc306871de22d585ad50128f45d25ec6864034a42cc661e78c510dbfffee46ab5a6da0e3018f1cf3d35974d9e4cf27e4208e9a8186aa03e656";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.2";
 };
 luaoptions = {
   revision = 64870;
@@ -27377,23 +27986,23 @@ luaoptions = {
   version = "0.8";
 };
 luaotfload = {
-  revision = 64616;
+  revision = 68143;
   deps = [
     "lm"
     "lua-alt-getopt"
     "lua-uni-algos"
     "lualibs"
   ];
-  sha512.run = "70f27796fdfe61e0337239a2962052eb2896478358fca0f271287db06a1d2de2f83cd7394d0ec6c281e9a5779ec396e2993f53b8b045ed7a09cb17f100a4a477";
-  sha512.doc = "9e1c223ec2589f32640aefd2692d031b8ba324da30a814eea98768443eeb76d92d2700c320e6f96006e54635d31a655cae0a27c76931e7640748889ead4fbfb4";
+  sha512.run = "7781db14c45e5e2d5cba50e91e9eb356260e4cf1e55f45b6f584164f1be0a4b31818be7fe3e08cb51e8ed43fde49c0a3ddcecb860848f8bf02096a60e45a58f6";
+  sha512.doc = "a929c941695de38ee029d60564346581153bf233db5ea873dbd8f84d1922df2621e7d9a5aad3ad6423392798c5007342f0a886249eb85d3c598b06bf8e271348";
   hasManpages = true;
-  sha512.source = "3ed04272b887f434bfe2dd166974889318597e22c57109647946f2b255efca2fb6d1ecc1f02485a1bf387e77956c64a9f42c4af237b29f9fc7a38400d8cfbef1";
+  sha512.source = "62c77656a4ab2bb93e8403ebe197418914644d99384f74bd8b78c75c255537bfd947a32aafe3f92e576b0e2596eac3308e2d837b41604ad1725e145882916799";
   hasRunfiles = true;
   scriptExts = [
     "lua"
   ];
   license = [ "gpl2" ];
-  version = "3.23";
+  version = "3.26";
 };
 luaotfload.binfiles = [
   "luaotfload-tool"
@@ -27410,6 +28019,15 @@ luapackageloader = {
   license = [ "lppl13c" ];
   version = "0.2";
 };
+luaplot = {
+  revision = 68918;
+  stripPrefix = 0;
+  sha512.run = "99bb803fa2eb46b33e2f3d7bfb1b307dd268df91d392f8fe7bce5e45db65fb8b1de66d8d62f0bb2912fbb5521a73ea60b6627fee3fad23262fb92485a7858c80";
+  sha512.doc = "b34d3b67d1603fbb940856d9da2eb4ee57afd87923c2a1c4541d5d9325cfd597bb47b2ecdc829b2ce4eb3bfb35eb9b968e0cdba2cb9d557d12ccbca959506f53";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.5";
+};
 luaprogtable = {
   revision = 56113;
   stripPrefix = 0;
@@ -27420,13 +28038,13 @@ luaprogtable = {
   version = "1.0";
 };
 luapstricks = {
-  revision = 65900;
+  revision = 67207;
   stripPrefix = 0;
-  sha512.run = "aa7611f76648e31c5fa9a62edd005303d00a30568ca9c67aa4b6ce08b4ea36ee72fa29782ac805bfa51182514388c14b80a70031e99c747af408dfeaa170c298";
-  sha512.doc = "370f3bf3b7940cbf15b76c000e95b1e8d72d6339b8139333a4dfba64c8b78332d461c17969b3147956ea3677cc7cc61a13e850b4bb4f7917215fb23d31eedbd9";
+  sha512.run = "742b75749754c3370c64c50bc8138474f0181b4777875227cccf749851aa0d42cb490cddbd72a9624b931fe99f02e2727fea4e54d36b1d46cb084c666dca445e";
+  sha512.doc = "634cd9587c4fd9c6fc558bf9369b191e0901b58d75d871815592f3e6959bb103d32026cd9ed48ce448a497833c30916d39b92cbb85c6544b41b7341277dc6820";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.8";
+  version = "0.10";
 };
 luaquotes = {
   revision = 65652;
@@ -27438,22 +28056,22 @@ luaquotes = {
   version = "1.4.0";
 };
 luarandom = {
-  revision = 49419;
+  revision = 68847;
   stripPrefix = 0;
-  sha512.run = "54019dd968b2cf3b6ab9a3777e609789c04a0d369b1ae938df152ded3bf54607140fe6265b81ca2a75f458e9b8144000f0bf2e9d77fb00aa923f7ce9569c423f";
-  sha512.doc = "f7fa30cd6668674cfee8116bdacd3c457fe6e1a3ef4a1c0da603db2fbaae77d187bfc5b4867aea0410a906238769d7138672b89b51eccc9fc4d110a079784092";
+  sha512.run = "1b5f4f420fe5acd552e7ff34459184319337a586b19f3b53111940fa648b09924f03ce7ce4da7463cbc894e65ef87647ada660922ab252b560dfe99295255097";
+  sha512.doc = "4be8b8d72bdd6d4eb33999d662e06a60c8971d5a990b649e37c990dcc6f708856ee61a59ad1dddb6c083eab09e809ddfb65a1730a8e76bb6aadb1a240c809a26";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.01";
+  version = "0.02";
 };
 luaset = {
-  revision = 65376;
+  revision = 68883;
   stripPrefix = 0;
-  sha512.run = "5c228ea6854943859d389f3de4386834544c0bf67b62d36078d599d69af286f14263f0feec48eace283e9374caf89bfd67adfc3a98fc1cfbb87d618cc9ddb62b";
-  sha512.doc = "0bbe3457ecf5c872052fa215e4505840a80e026a02baf07ed0394b044784c0c37c00afdcd0fa25f610986f465276c160a9a892a45092e5065818011137c70d89";
+  sha512.run = "97617f8c763ec968750949f5050ae8682b179caf6433ca036c820017c4ef73aad3f96a1f8071be490c029db25afc6b85c45310ffbddcf3c8ed7b4b5547cc6e58";
+  sha512.doc = "546beb759fe4f6e6a6a9814eb46935a3d1245bc2a48878c8391738e92e79c7df2148e564b2eff0cdc60281b6f071d8fad2edbf171d7c1130b1068aad11aa5a19";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0";
+  version = "1.1";
 };
 luasseq = {
   revision = 65511;
@@ -27465,7 +28083,7 @@ luasseq = {
   license = [ "lppl13c" ];
 };
 luatex = {
-  revision = 65866;
+  revision = 69182;
   deps = [
     "cm"
     "etex"
@@ -27492,8 +28110,8 @@ luatex = {
       fmttriggers = [ "cm" "etex" "hyphen-base" "knuth-lib" "plain" "tex-ini-files" "unicode-data" "hyph-utf8" ];
     }
   ];
-  sha512.run = "3bac06a5349e13d48ffebee9e78e271d8ea64d0e1b55df018ee1fab2533fbde3d9e9f99b64c3dbd3026c24b61bf6b867684489a73202cfdeb620558522c53b7f";
-  sha512.doc = "ed7298a561425d7e5776ac6555716b2b57f0d16584a871de94c5c341f0d8023bbb341b2deb78dc313e9aaff18659b49f24c41063a5719a43b67e5b074fc0d3b5";
+  sha512.run = "5ddb75ca2e358bea261363cc19d39a37a9e467f9cbf4f8006f036a96fea61cb00f86c4000c09d7dd07f71f9b9a01ec165ddefb862aa84f0bc3da6a387ca1f42b";
+  sha512.doc = "36a5dfb6b7ca09adad807d2fa74df854363107eb3fb514977e3ed8c69eeb1181a19a55a49eb8c001a3532601c0a222a3ae9d130827caa19864df03705af7271c";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "gpl2Plus" ];
@@ -27528,26 +28146,26 @@ luatexbase = {
   version = "1.3";
 };
 luatexja = {
-  revision = 65790;
+  revision = 69245;
   stripPrefix = 0;
   deps = [
     "luatexbase"
   ];
-  sha512.run = "aefbb04f83fcb47060bf540343d48adbad8c06fcadf23a75efa2a0d41149b75ab4dc0eaaba9ee910e6eadbebbf33beec47d751f8c188c4ecbb5adb149e80607e";
-  sha512.doc = "b4dee5a78aa3bc50989bd0ec78eb5cc281104023bc972303a9cdfc3a936e640eb4f1673c033289143fca77faa0fcff06e91097087a21a5ceac49fc6b2125a28d";
-  sha512.source = "3d912d72ae0f9aba3b6cefe21ef74ff8934c6954bd2b5ccee96c66a6038b5b336927d567fcf4fef1594660e6facb8cda739499fff2d187a270b15698c49c036e";
+  sha512.run = "359e6852a954aaf5a0aa99881dab189e6d878e5ee4083487d93315652cfb5cbbd010d6dcc74c946ea231073122604f35966744f9e7870dcd1321277fe93074b9";
+  sha512.doc = "d41556bac7106df19d9fb64c4093b9151e90ad237a72bb38d941d4fe1604c834800a7edc8d2bbeb7c82662c24fb2b2e1d8cd69a86ff76b2843daad90ac8f55ce";
+  sha512.source = "41f17265aa58ceb2bdd9b13e95f73552185654f459498337d34631e1fff3fd51f3fcdc06a2d426b466f0e21dcdc3fb81d1e4f031214b2e4c93582d04984aa66c";
   hasRunfiles = true;
   license = [ "bsd3" ];
-  version = "20230211.0";
+  version = "20231230.0";
 };
 luatexko = {
-  revision = 64893;
+  revision = 68243;
   stripPrefix = 0;
-  sha512.run = "1d1d9b828dfa55a6460bc71ee6b61cc434d8df0e0749878e84c2939c2bcccadaccd3f6b9c2146eae10bbad495da2375093084e60c9b5277c0b8542b4588b3f8c";
-  sha512.doc = "a516a7fa5536e3de9b6fcd54c2e9c28a078849bb0ea6d1344d54cf27131a9c82f96559ea031043715a6b54f04d49d5bf42da80c5c44beeddf1a3a5f6e3902e42";
+  sha512.run = "7815d0d6caada77e5d72c410a299de6349a81f635cf9f2ae5b61a73e5619808b8997de70a35a0a6e8cfa1250d413645a9f90f398582e061c92138dbca97d4117";
+  sha512.doc = "cd1d68f9fa8d5bc5491f4a58f465ea8ddc4a0c500f7c24c2034c75f33ad31d869d2d63d836ea6699b02b04b69406290e7f98eef1294ce8be0f9358f9b207c9ad";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.5";
+  version = "3.6";
 };
 luatextra = {
   revision = 20747;
@@ -27570,22 +28188,22 @@ luatodonotes = {
   version = "0.5";
 };
 luatruthtable = {
-  revision = 64508;
+  revision = 68893;
   stripPrefix = 0;
-  sha512.run = "250c01ceab5b63b60fa468e7bdf03e69cd902e0c13ed0b5a426685cf6f370d30d31881f23184c1cac8e75b380f0211357e7febc2de1e490bb2ec1ef1e5dd05dc";
-  sha512.doc = "4c93afcdb76b38ef2e4bb9bc39e4cf5c9d30d3a98b8cbcc8e6259d6587cc8ae2ad489c170a3dacf49f026ff3e90f522e2e7ebc86c5d05eb783bfb35e6d8c75c4";
+  sha512.run = "3f239ac9d477c456881921140345415d2bc9f0db00c9180bdfac2120c86669f2a52fe8dc92752535b2dacbbab626e51ef614da7fc10a93ad90a2322dd1821343";
+  sha512.doc = "5e17243dfe5343e211991a9e7b73d8b2d454042bea5cd15fe5bdf257344b4953d9a3e3ed9c2bfa66263c32c53a93be233715f2d524bf78c682a57b67332744fa";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1";
+  version = "1.3";
 };
 luavlna = {
-  revision = 64142;
+  revision = 67442;
   stripPrefix = 0;
-  sha512.run = "58c16981ec1515c74a2ffd7632f16d0fb28b9fe32e6e954b49be602c721110e3537a66059b149a4d5c9b652ee717ee1c736ea03d2e4df3803c1b6c4465c50bf1";
-  sha512.doc = "a8d808e891ee8eb4958061912d0cd7b8c89da3d352ae984b08c92f56ae1222209132e8612172392787bc27e2e62a8a487e48fe1c728c545d8afef5fb7f23747e";
+  sha512.run = "012bdbcca4062a2f551b28dbbd781c885fbb557f5c1258157db01fff7141c8380341f53a9e58c3f844c022af64a748299efb703de5e37f05acaa0d385b8ab8ed";
+  sha512.doc = "a785d65816ff637c4c08f6a0ce95e5a65c4121885f6af32b3e68574845adc10886685451cf3fb68cff05b4ab29c792b3c02f793d912e86ace55f2602af6d63e6";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1j";
+  version = "0.1l";
 };
 luaxml = {
   revision = 60709;
@@ -27597,24 +28215,24 @@ luaxml = {
   version = "0.1q";
 };
 lutabulartools = {
-  revision = 65153;
+  revision = 67714;
   stripPrefix = 0;
-  sha512.run = "fdc4a042872d42e1b951a2732982f5c9c5b1014a322f23a4d68fb3b5aa6c647dd881b779f37566d10c48154c3d570697efdf336fe3da09b2a3a776911edfda51";
-  sha512.doc = "7a2aa7272072c26a7063934cc2015eeaa002f1bb1ceae4f3ceb99ca10d6e67be816de6492a84b6185f9b61e3ed5e06c00b9319e9a75ae20cc455d9732856bc38";
+  sha512.run = "eeb781b572beed01f5a787a4d0351289c90751ff49a289952a150e3aa013b10f4b0f69fea546709ce9c6ee077a08a551ac9e03d192c1064205eb2af6e907be1d";
+  sha512.doc = "9595cf869f480951f9d0d142abb05548e4f71d8af6d62c4ff0626ad9d9019d63b91333bfc8ba1f6948c9075d62fb7b7956658079fd17ea5e86f920eb7c6ed49b";
   hasRunfiles = true;
   license = [ "mit" ];
 };
 lwarp = {
-  revision = 66260;
-  sha512.run = "c0ce55fc1250ea08b05369c4eefc5d79e8f71cdf7a33cb8923622fbbb63730ef0f59031759aab58e0f9acc98c49e274a14a962653ac33ad2dac81f44fbe4e9f3";
-  sha512.doc = "4e25b1cd6286c5ad70153993a0660db10e43bdae2099a66544fda73a6820404351352df5ba6889634d3b000257408cdc15945130a496a58ed52260734308cd57";
-  sha512.source = "756b877b4bd41fea4f11dbb8951ec232ca6b97a3ed5ff197467ab38150cac04c788dfc5b390506d611fc47e749cb78c03fb3db73e191f380b2eed1cc00534426";
+  revision = 69384;
+  sha512.run = "c1c5bfa2f3131daa3c5c39e162e4eec6a1b640b5ce5f122d44cec5a1e732c97ffec2b0376766750a2c6367ef821acf3418323888d01121645cf7e5051a6d643a";
+  sha512.doc = "20796dd6f885a966391b45e0db71d2c065afb89f87e92074de72fd7db6c02741bec9281f6c2db4ce6b5564d66f74361a30dd1d0dba6352747d41a4d161895410";
+  sha512.source = "50266206d154e4490fc43258518d1848024a83d8fc9237758dce1d2ab2737d82d6f398daf2b04c8cd091b5f38f6e4a8f0bb7bbfaa3f60ad5a1be6b4fc18624c5";
   hasRunfiles = true;
   scriptExts = [
     "lua"
   ];
   license = [ "lppl13c" ];
-  version = "0.911";
+  version = "0.914";
 };
 lwarp.binfiles = [
   "lwarpmk"
@@ -27638,13 +28256,13 @@ ly1 = {
   license = [ "lppl13c" ];
 };
 lyluatex = {
-  revision = 66280;
+  revision = 66880;
   stripPrefix = 0;
-  sha512.run = "98ed2a64f3cbf78688094917fc455220c9e75c45e17694271babbea79f2aff3b6c5b6cc5d1a645d6b48b64db049ec2b7b25ecddee1fa861beeda3590aca9b2a4";
-  sha512.doc = "7a16e8e6ed2d4c8912f7dc93de1abdb8a0357d2c698414d42a44185872d818593c6c0ef32dd7be766ca9720c5377248c7d617898091add90f01534427009aeb7";
+  sha512.run = "8d8491e9760f7464cc420b2b457f61c6f9e8e08b7de11dd9194f39330bb193b534f5ae3ea981317e4b2bce536149ca002f532f98bba5e0d8cfee5450c6b9b171";
+  sha512.doc = "96d99f944aed67d9e59714deaba08a5b41cd8d63f7c8a38151b2d7952817d5096517d1c643246dac8bb3616efa9c44180264794b90175aecef9362d32a83bf3b";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "1.1.3";
+  version = "1.1.5";
 };
 m-tx = {
   revision = 64182;
@@ -27768,12 +28386,12 @@ mailmerge = {
   version = "1.0";
 };
 make4ht = {
-  revision = 66131;
+  revision = 66130;
   deps = [
     "tex4ht"
   ];
-  sha512.run = "c6da836e4cd40bb987d2e15b3cbcc2a650284fc0bbc0c5220ac9b5e03b3ba9177986e013b68e401a951cb7982cd0a359d3ae2819c1ff516b4c6e88dacfe728c9";
-  sha512.doc = "9a802d3a26656f066457d07118bea52c0859d77bd02c6599e572538c54461f577d6ceed5845ef339811bbbf36560c69528cc76b29550e209f021163a2f57c639";
+  sha512.run = "9eddfced4137652653744256bd4ef342a1b5462a2bbe1852c7fc264b08646b0757d24ae2d12711c66905f810a8f0749ae7f6d7f32983d3aa96fad63e9e104a00";
+  sha512.doc = "2552e84307b92538639481b64690b2d4853f03e795b11daa61f88a1a15896f24982dcd563c181497a287744eabc5a4c3e18a2a705bbfcd9099383b1858a02081";
   hasRunfiles = true;
   scriptExts = [
     "lua"
@@ -27929,14 +28547,14 @@ makeshape = {
   version = "2.1";
 };
 mandi = {
-  revision = 61764;
+  revision = 68950;
   stripPrefix = 0;
-  sha512.run = "9bac7973ac229756b5263ee0e8a8a4381bf64400a1ee58b0abafa6765e1cea6dae0b660243e1dfa87a8072f1caf1851c11c88db81dae1b231ec6def9f965991a";
-  sha512.doc = "4debcb2b892563755cd0779db9c1784f7feba4d0e35118cdb00569bc4eaddf23423f1236f0cf28adb1c399e220b5f348ef898b0e7f1c59e031891056b9148fdb";
-  sha512.source = "1cf1912cd6db652bd927378970a1740153906f0c14e92da47a428c564c04f66f3496be8f639fcf3f0f0caab48fff0909ae72dd81085f2bd8a92d5ae08fce07a0";
+  sha512.run = "dca65d864b92b561058a5fd8e703ad2faf4c1201231efc0168992cf469d0919ed1aa45d42fb2744bdd11247d85d9582c25862495f77ba835eeb3663911e86d41";
+  sha512.doc = "c88d265e450e87a59fcb23a7a3a94ea979dedf12b58c7f0b6b2ad78e43f43d86b7bef2e59b89a3724ff02957a62ab92daf80df278eb8f8533ee359aeff580426";
+  sha512.source = "e7f588b777fe28c8c1768f13bac4e09fa9b5747a0ab97cf350cf8b0ff61cfe0826df19bf2a8da03e6d23f8cdecd1335897197272fd899703ce158bfb473a8fb5";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.1.0";
+  version = "3.2.1";
 };
 manfnt = {
   revision = 54684;
@@ -28021,24 +28639,23 @@ marginfix = {
   version = "1.2";
 };
 marginnote = {
-  revision = 48383;
+  revision = 68204;
   stripPrefix = 0;
-  sha512.run = "db05524c613df90a75c6545dbd19bccb955d0b3c2c0312686e21ed42e4802d47105726b0e092d178bf484f1585331bf71c604c2d9f039065872e218357d0d07e";
-  sha512.doc = "a9d6a3d7f8de332a5f77d086d552caaf91e5ab4a71288548d6d7ac3318cde208d948a668ac554d2a8f510f984dc9943bcfd0e07a70a2ee00c9bdadd3e148f550";
-  sha512.source = "fccae0e44e24059f6ff2cb61b2d52d69ece44287b4183733b37b157ff700f6f251d86d4344c3a10c1417155d6e16ff4105a77ce01a2468e5ba160ca79e25b064";
+  sha512.run = "6643a77d01d59bc371d301e738b59957bd63cfa0fc98a554f853d1599392ceb5e88663651563445633df704bbc3ef74510ebd6150c44911314225259982f114b";
+  sha512.doc = "18882e317048606324338ff765cd11e972c3dedcdbfe2407a3f9643b3efe6a7d173561726d4221618ac510a447cec7b1aa13a46ca45a091ac76e601c55c551e7";
+  sha512.source = "edcdc3acba09440dd7d1594a1813fd205447c672e0bb73e3b968ac6e211365c488d3ce0287b7df5e198a75e12d3301248e39674be831387cdd06636e97d76138";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.4b";
 };
 markdown = {
-  revision = 66261;
+  revision = 66954;
   stripPrefix = 0;
-  sha512.run = "dd4d0a36ee144a419aca266003376a252bbc1f2fe9d1128db54478ebfa6f126f6f9b46032f914f7d9373774561da6c40b1d4bc301aa2944ce56adfaa3616d088";
-  sha512.doc = "655631fe5856d385434492fccfe9656a90c63d77fe9d0497fe6272fa513170df211a3b14c6d3b51e18374407f6f38635afac860d49cfe81a6e85a4f5c888c6e3";
-  sha512.source = "435d0cddf335654746b1b4e95d972fc559c072ff23609c6e6e9c34423226985578d42b22a1daea2181643f23ec8e7797947106116d27b3c78317098e103742fd";
+  sha512.run = "b638546ded5356e9f271cfc28055f6ecc307e72178097dd54c0cd81bf3208058507d902bec0555185b9548cfcf7fddd7d5906d959644d9aa8945b20b8c816dd9";
+  sha512.doc = "7ed883ce22b404fae91e6e946b7786f64ee28e14b624f46b4aca9af1cbd3969d674f0c82cfdd1161c7df5a34d60ed8627c4428e13d317035079bdea0e7f7cf0c";
+  sha512.source = "986ce93ea94fe9afdce6555b90e88231261f2263cff2be734edee32b5c1ac005967e40ce323cc629d16616f9370f4958491f4fe7b0641ab024dabab0cfe4ed0b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.21.0-0-gee15b88";
+  version = "2.23.0-0-g0b22f91";
 };
 marvosym = {
   revision = 29349;
@@ -28080,12 +28697,13 @@ matc3mem = {
   version = "1.1";
 };
 match_parens = {
-  revision = 36270;
-  sha512.run = "1e03e279e977af436a8f5d5c3d30f046f46f1a31a0fd3de6d8ab458a64f0634b5f3ef8a338954971a898a1c68128f60c6eabd7ca231df9f3ca8ed12e55967dad";
-  sha512.doc = "60428bc16f65fe820e267852c9d85a5f862c6800ac9c2aae0915a48819da381b2a311fdd3d08096d4aab7311ef86c1c89fabff3d88caf419dacbef515f4dd39a";
+  revision = 66681;
+  sha512.run = "ed3286292a5480d73db2d3e231663c37eac6a17a50d4bc37131bb5d5627d445560c1bd47a3ea05dd4d9439ad97c275a05542c5664ea0460e2c596eda75aa56ac";
+  sha512.doc = "8ff55ae4caaa0ec44f2c44c21d08e977467e6a1a1471f0d361c428a2fd552907a3bff6a88a4f7fa40f3fac7f5ee0a62b2471d5966430b533ef5dac554d919a99";
+  hasManpages = true;
   hasRunfiles = true;
   license = [ "gpl1Only" ];
-  version = "1.43";
+  version = "1.44";
 };
 match_parens.binfiles = [
   "match_parens"
@@ -28126,14 +28744,14 @@ mathalpha = {
   version = "1.143";
 };
 mathastext = {
-  revision = 64930;
+  revision = 69237;
   stripPrefix = 0;
-  sha512.run = "28288f54a92726e0b5d741fbc78c1e6f87d9892b28bef5c2aa7285762bd265048c801f55e8590b18de43be82fd353f23d18e55a8d9491ed446c058373f736bda";
-  sha512.doc = "758c42dfbc5950d37804e9c5cf1f6b6cadf1c838c1687a7cc4f9a0e0193e75f6630e0568767953a45f73bc04b22332ab62adff9f4262f106e9a341cba6207dd6";
-  sha512.source = "b184975082833620ce3af3aed8fbfbfd616648753abb0a82dbc602a1077455a024ab916daface8eddf54f9dc1d1ce7727a8959ec7990305ca48f7864915fca94";
+  sha512.run = "057e16f2b729c1e6fd6857da04ae30b2d2bb42bf185cfba01dfd2753303e6d2668e5c48362799ecff40318bf709c348818f0529f6f8971f9cf6f66cb1960f03f";
+  sha512.doc = "632a36650d095b8a9f49ecfac9fbfb896ee29f18e81adece341026291fa945e361ea2f4678bde9b31166f2d7b0d7224c8be856184871e85b31d5e7613f950785";
+  sha512.source = "7c9499486765d4b59320a67e057d3550e46d1434a730ba06d288b869468203e89b9b73b7c96b4904def75e6193fc4e0f79e814e9cd3acfd088c6da9b6dd4b856";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.3y";
+  version = "1.3zb";
 };
 mathcommand = {
   revision = 59512;
@@ -28204,14 +28822,14 @@ mathfixs = {
   version = "1.01";
 };
 mathfont = {
-  revision = 65205;
+  revision = 68241;
   stripPrefix = 0;
-  sha512.run = "92f3ab48fb76f9cc09d0de10cc485783fcaef69cbc8dc8932fa1d006ca946a3b2ad0a3d6ad404e8cc66ae920632810832825ec11ea9c6e77263d86a904d78634";
-  sha512.doc = "6b769ddb7b70ddfcc5dc8ce8b87617a08a6cc3e76b05f9cbb468d4dff9046cf81c258601bb81d3b2253e88e29315de24787d4ad7262ac996a80efdfa2544d07e";
-  sha512.source = "762ac9d2686c3dad154dd5ef0725635739203d2ba99315bd7f04c429e2d5f9bbcbb42e21e76e1c4aef7c8e5b83587089ec232a0d5e903d1c54faa4ef5185f4f1";
+  sha512.run = "9ebe3acb43ebd09a537b99eee5047d2abf28a019017ebb434684864104892093e4451ff3ecd0393c4f56d4f94efb16cdefaa58b073b517e7dd01adc04f5f9a69";
+  sha512.doc = "304bdf738ca94eb7c5ae708ecf0400cce1af9c09f05056b3718bc0ea5352e1d06a2a1cc3c037c8569bb26d33268e14ab660e627da0d9df075af1b36f6bf718bf";
+  sha512.source = "771062f0f60be1c0d3a300ce74ca9ca00a56b6042e3980da47590116c08f39c8b4f0bdb756e41654481615fa1896f53963abd0c322817c57cb78247505abde9b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.2a";
+  version = "2.3";
 };
 mathlig = {
   revision = 54244;
@@ -28376,12 +28994,12 @@ mcexam = {
   version = "0.5";
 };
 mcf2graph = {
-  revision = 65666;
+  revision = 69281;
   stripPrefix = 0;
-  sha512.run = "35567c70e718f97974419280f8e68e4226203f1100e450896198ca7cdc8e6b006a1b428f44c2379bfafeb8fcd884845b1dd7c2e54b2a3f9317af054ed7902b06";
-  sha512.doc = "1b8a718afe98fd358cf4fd74acd7e2a1bedd8852adb80efca97e3dac598a5fb6deaa977ba19c137ba086ecef9a50af1408d7bd16924c8137f76909cabc1efb7b";
+  sha512.run = "b399097f1b7805603d156a450530ad33cca0d8ce28c2a977db584b2a0b2722bab87d6122a7ce27fc7066e24f4c24a5e832d66e1e90abfc88dfc388b6b4ad8f38";
+  sha512.doc = "8169812299146fa937a323bb573201c04ff6a42e1b090bb87fe24d213fbf8b1f21f0ecf40ecae157b26e15f56c00fddad9e09c9ec2e7fd901f92341214615488";
   license = [ "mit" ];
-  version = "4.92";
+  version = "5.10";
 };
 mcite = {
   revision = 18173;
@@ -28523,14 +29141,14 @@ memexsupp = {
   version = "0.1";
 };
 memoir = {
-  revision = 65040;
+  revision = 68004;
   stripPrefix = 0;
-  sha512.run = "925a0aa087b4cbe6e0f3815a067a65bc551bd4a1adcc19ade2e4293c3d7e9d6957684feb5140aab1d6f93c7a815a68f3256f86764fe4e57b4428f02df88d6ac1";
-  sha512.doc = "5b80fe697420ebceaf793e80aaa3e8779c8408ae3b0aacd63552e6d23ba8f8b132e670821efd1c2244f3a8792899f59e8b85941ad5b9981780cbe4a6d17942a3";
-  sha512.source = "7b2eefb8c2d148acf89e2e63bb055550f39ac9eb9aa8d99b803b2aac58756d6e11c0cdc9e30e3bdf8246ce1790cbf5da63223c99cb8f94f1ac8dbf3f91d7bcae";
+  sha512.run = "b55265c3beb272c274514931d18107d5ff50691cf442df5e21ce229c8ba88f44a5a3e56cf85ff9d89d2df705878367a31739ab0da3a9bf486b9e5a54e6cfab15";
+  sha512.doc = "4660576ef6f6ba7cda1b3d7591fd6ea768d94861b15965107e80b9231070e6581b0428a4bf11956ec07d3ccd55a3cdd6ddd5630a72e082aec4fc896576833a48";
+  sha512.source = "d817a6ec1253a686d1dc77c529565fac3ed1134932290ced8615d82f8505f29bc11ea352781268c4a729fd4aff2f744708890cf264f68c8828a2f2c6e034fe78";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.7.19";
+  version = "3.8.1";
 };
 memoirchapterstyles = {
   revision = 59766;
@@ -28540,6 +29158,25 @@ memoirchapterstyles = {
   license = [ "lppl13c" ];
   version = "1.7e";
 };
+memoize = {
+  revision = 69285;
+  sha512.run = "1464aad053b69b821e1c99c72a6e448a231a554c1f04d31550fe29401698705fca9c97149435655269d3128885601d4917c7954be2990905360cde1de73db477";
+  sha512.doc = "d210344a90649cdd67b118aca5096db266fede551b7170de088eec4a40b765b9a66b890824092329f76969ebab71dfe6faa3a55ba46bd8b5af9d092cf4fb4aa1";
+  hasManpages = true;
+  sha512.source = "68ac9d4a8af74c5d4922da8d8f2c89518bf855d8d578d0df1d9fd798f242c0a339a0e76d10b913a178c0c4195ffbd2e1aab7d3927ba4ea6133fb5e45ce4f9eef";
+  hasRunfiles = true;
+  scriptExts = [
+    "py"
+  ];
+  license = [ "lppl13c" ];
+  version = "1.1.0";
+};
+memoize.binfiles = [
+  "memoize-clean.pl"
+  "memoize-clean.py"
+  "memoize-extract.pl"
+  "memoize-extract.py"
+];
 memory = {
   revision = 30452;
   stripPrefix = 0;
@@ -28634,17 +29271,17 @@ merriweather = {
   license = [ "ofl" "lppl13c" ];
 };
 messagepassing = {
-  revision = 63116;
+  revision = 69123;
   stripPrefix = 0;
-  sha512.run = "31586e42be48650fd7b7057a4cdb54b7f6851c35e450cfb436dbf12d23617821c5c6e2f66a8abf2e181521c55d64fb9ad93cb195cf0d01559d6405ccc34af26d";
-  sha512.doc = "ac1b2ce7ca296eec4768d191547af66e3233d3ed34e68e746e870a894757df1de82b3bed6ed510fd0dbc8e5e9194e2ee024860112408b8e6b29e2bf230209a57";
-  sha512.source = "7931c0b26a779915f94531bb0b3af6fb31b35cc2401e3dc539b673e15bcc21131d88102b3b6f77d8a27d70eabc897a6fbf99dcffe8adc02f6a82673c0c29a69a";
+  sha512.run = "8a2243bb9b788a4dbb1caf14368fdd4df3919d9d407b65f2d4f49af16a341a030bd9114f86078623760dc3ee5db060060c58c6f675f4e8bdbc3c1c7c9b7a1d3e";
+  sha512.doc = "c26c14eccc615a306b8ebe1a5c80a09249d5ba8668a34e2f7141b034df70634a277ad94078f2f50e51e53c514340571f9cb766232c3e2dc0ef5dc28336ec4e4d";
+  sha512.source = "6ed92b15d4f17613ba540069b4d5f4bae5b7ce2850594377ecebeed76b92c61f672da8f95628d46db87dc9b44ef7dc9c8561736bcc9500d1951f523dd43d7378";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0";
+  version = "1.2";
 };
 metafont = {
-  revision = 62387;
+  revision = 66186;
   deps = [
     "kpathsea"
     "modes"
@@ -28657,8 +29294,8 @@ metafont = {
       fmttriggers = [ "modes" ];
     }
   ];
-  sha512.run = "4e287680b7b14497133165a45ed668dd326e587a305475d90f4b545aa1973a0e6001fef2e3a9afa5fd2f343497d109f4670fcc0f4c0263b20624dbbad1f21bd3";
-  sha512.doc = "07e574fce34949b71ea0b156c394db80bdd9c9a3018afbdadf786fa431674b6fd0c2f79e8f9a72c872b17b2dbedb755c0ce3def552740a99e63d65e28fc3d2b0";
+  sha512.run = "2ba715c32631b3ce24aba65e7e1df90a7beabc52b855f5e81cd383f94399e439a344f8a8a21f38648d34d546ca8f1890a74922836557cae5cd05ac945013d71e";
+  sha512.doc = "48b1def32bfba5ab1123712fe41d69f979e33a77456801c21f030de8a39b37fcae179db44a517d7b194d7e6e6eb93d770e179ca49db9014cd433c86ef91b07d0";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "knuth" ];
@@ -28696,14 +29333,14 @@ metalogo = {
   version = "0.12";
 };
 metalogox = {
-  revision = 65448;
+  revision = 69401;
   stripPrefix = 0;
-  sha512.run = "14de5e149673db96124b7c3542ccfa253a193e6ea00320665ca6cd024fb055d9bc5e6de770f63d5f7123a85ecb604eaa76e6637f7450b08ce4835fa7a097bb6b";
-  sha512.doc = "0ade0e0562ec5deb0e30e442c3909c27a18a78a9bf6fbe21589cd4d8a615be0c59f27bcab76f6cec6d897c26522c2e5442a9684eeebcfd5ec45a790ba8011165";
-  sha512.source = "6b4de632d4ee28b93f92c270da26badb00eacc425761a3a0a3ee0c296af44f0d152f04f2ed5521729725e1a223d20943a4a7a2d73e1c03e31fe316b5ddfefc11";
+  sha512.run = "4b91892cccf068c85d774b9d545c07c004a7c6badf89114b5d8cc5818090fb7fa87b3dfd6a7d1162c22939f633bdfb318a670092f70540910d257ccfb6a39a09";
+  sha512.doc = "6da27bf652e239ac7d307a0e5bfd01183ddacdfad38fe1b97d4cf6c084daf9bc43f54cda651b92a5c6693c16f9f6c2a61f821f64c5d1362f8db3f6a808ae722d";
+  sha512.source = "1887d1004349bd5b586f7d02bba1e2668e6d0534317e59c12915af847d478dd5022f5dc91f952032582feea48c0e01034dbf34c949ea08c699056e0c5d500fc0";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.01";
+  version = "1.02";
 };
 metanorma = {
   revision = 55010;
@@ -28733,12 +29370,12 @@ metaplot = {
   version = "0.91";
 };
 metapost = {
-  revision = 62387;
+  revision = 66815;
   deps = [
     "kpathsea"
   ];
-  sha512.run = "d807a22bd0f3358d1986a477834c19b2fce636e4ea96f52f745220a165726505849ac4a1048bd4be49cf9e42e098a55df2a4c9b4d267dddbe2fb093ba3029d6d";
-  sha512.doc = "384730c3f784bb026bb29ee69dc95d179c53636c405e1a037477269e9a3a95d8c296729d7bb54037ca4a76e5ef00eff4876c4538203e400db8c4f0850c48b259";
+  sha512.run = "fb50b9d45a36cbe11d07fe2d0a1307bf257132e195825a2007894d5accb33ae1d10e0ca6d6a27405e79d3c439fca4dc1df00f21814eb530ac3707ca516bb9a0a";
+  sha512.doc = "6b10e2a6183e6c7b9515ebfa0186b13d48bd87fb25cb69b010ac82b885fbb1f88f31340f7161e34f61cfa7478d50ebad6e82eddb14d8c746ef1bd4c480fe4b58";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "lgpl2" ];
@@ -28830,6 +29467,16 @@ metrix = {
   license = [ "lppl13c" ];
   version = "1.5";
 };
+metsymb = {
+  revision = 68175;
+  stripPrefix = 0;
+  sha512.run = "02864640550428b4869f0682d5571f463d21089f85e4e03336890cd7d37d08b9ec89b9bdc7b09b0f3ff5ea8bd612acfc2974655439fdcc5b617846d5f3d1c2a4";
+  sha512.doc = "a3afc302c345de9e00f89f6e0781d4763d4ca5461f498e2cedcd0ee0494483db9cf7cd0ceb68823e7b1806caebc85a22751d5d4ce3b8041968036c8b2514e5d7";
+  sha512.source = "29ccd5eb8915077ca09b568c7fd1924d61243266dc2fdfebba00691bb35a0dd908f2311caee865a044a78a9e485f78a4b91065c8d17f08b13420bdcf1b64a05f";
+  hasRunfiles = true;
+  license = [ "bsd3" ];
+  version = "1.2.0";
+};
 mex = {
   revision = 58661;
   deps = [
@@ -28988,9 +29635,9 @@ mftinc = {
   version = "1.0a";
 };
 mfware = {
-  revision = 62387;
-  sha512.run = "4ed72f1fdd64298b0ae67af00c3ba64bc6ee0a4851ab09c674adf5824972ef183d2913f5bda7d0756be403cbb14817e67913274e350bed81201fbf7af5b2ec97";
-  sha512.doc = "a4715a988208eb7ae2b252fa9e6d9e7dcd55cf86cd66d55d42d13cfe9acbfea8dee03ce0312944ed5075f7b6a48aaa25a7134831b7798c60af13cfc648955951";
+  revision = 66186;
+  sha512.run = "f14b1f8876f8a4f2ba8954459c2a3739e0537d800fc1fde11aaaaa61400c18b9419edd3c7884ecac499da3efbd5219244c06ccab1efe17674b5458b464abd3ea";
+  sha512.doc = "ec469dc655be20598ae40cdccd8360252cb216039cfcdfaab5f45d0276fee272a463f19db7f98f6d35b3e6930098536fe8eb4a453161646aa0ed33dd3f8773db";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "publicDomain" ];
@@ -29059,11 +29706,11 @@ miama = {
   version = "1.1";
 };
 microtype = {
-  revision = 66590;
+  revision = 66587;
   stripPrefix = 0;
-  sha512.run = "2190b285430f6bd8d69dda7098938cb55cc797014d6db63796109a6f3782a6eee16bcee06e8e9e40888803fc963d2f978e750d6c24dc4c10e938a1a0a43fc449";
-  sha512.doc = "375e41bd0e78ff145996e08f9d3470cd730aa81aa9c8fdfbbf78ab230401a17ad423d11bea35a4fbc7cb8d09eab81d75c57681c72ffe8894b14fe69763fdb8d2";
-  sha512.source = "b126076793ffa4aa6e935a623937709180b24d6b42843107bb42f56caee3ef525dbf8d714561f521bae8809809e180f8428f6782162962d0e2bf0246c787488e";
+  sha512.run = "c80e6bb2c13432ecae2be22622e3bbfe82342ca138f61870cb8f3c2d7ec93f431bee5ae0a9619d4ad6a842b0752ecb73131452d6ac5c5fba7732ad4d5c979fa6";
+  sha512.doc = "6f7eb5d18fc2864c0bff52f7af82b3284766cef64d2ba8f4aa9f2f6d26af3e47e3be9d486f29e646e92ca597cc1129dacb5d1c03dbe155503ae046e4badbecf7";
+  sha512.source = "77d5f0e22a97ac0291e891df206618460a2672fc36c79a91db2b5212092d65acb0e1cbe0ecf82e0a31704baef207a48f817b5fa65abc4d6e6c031acdd85ed602";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "3.1a";
@@ -29113,13 +29760,13 @@ milog = {
   version = "1.0";
 };
 milsymb = {
-  revision = 54361;
+  revision = 66697;
   stripPrefix = 0;
-  sha512.run = "51dbdca0783519a3f7cd5ce78cd3c8e0b36c79d24781015a71e1c26a3d9a98e549f50d6d8c6044be0fd32642a3cf91e4a80009dc237b6eb5dcb1c4ac055d0732";
-  sha512.doc = "cad4940b3bd462401ddd31b7125924e4b25b02d46dc360e7e4f3f027ec9bd905ea7c1a1cbb26f7a40a247aaa45e0b685d8fb4aa4caf01fed6d0a0c9c1c032471";
+  sha512.run = "fdd01cd6a9a5b27ceb741ba689a82f1e695132d78b59c818fcf2e3ce63526109173b978246b1b556e355237ce456b6f632effd555c27b3096ecc1cd5f5bd22ed";
+  sha512.doc = "7baa8152b3968047e66990eeeb94b601a0667a7db598a4403930328f6fa18595c46979772b8b496dd7b076e99e19969d22c8a3f4f19d3b82f01bd84bfa920db7";
   hasRunfiles = true;
   license = [ "cc-by-sa-40" ];
-  version = "1.02";
+  version = "1.03";
 };
 mindflow = {
   revision = 65236;
@@ -29161,13 +29808,13 @@ minifp = {
   version = "0.96";
 };
 minim = {
-  revision = 66396;
+  revision = 69352;
   stripPrefix = 0;
-  sha512.run = "7d32f1c11023c9ed7d45e5364fab3a104e689343d67687a232dc8d74b3a1cb4da38fc794debb463b6c2136a6cd125077b22c624f3f1de5118cf6159fede98080";
-  sha512.doc = "368f8950497e3ee5509a977c3958d1d1ecb29bb4f6250a0d723714b2524616ab57c1005359ed418850ad5fec3507afed0454a44e22e4776b085e36ab054c9ba5";
+  sha512.run = "ec7106c1cba50c73a9b2384fea848fb76a07f8a693ca0affd10cf7b9710e871cecdf2001be45453f76f572dcaa869b613b0ee07d7cf2ac2e38cfa662171904aa";
+  sha512.doc = "fbab9a3a46b1a569f48de82e8311d0775829750341bbca8d747de135a71c808d930149c86560fac29f5713cad2f11fcffaeedf15083439ac25ffc1fd2e78126a";
   hasRunfiles = true;
   license = [ "free" ];
-  version = "2023-1.2";
+  version = "2024-1.4";
 };
 minim-hatching = {
   revision = 62395;
@@ -29179,49 +29826,49 @@ minim-hatching = {
   version = "2022-1.1";
 };
 minim-math = {
-  revision = 66396;
+  revision = 69352;
   stripPrefix = 0;
-  sha512.run = "e3591e9a4009c0e30df7c413b67b62af4360e02dc4ebd1cc88f962a636fe48777bec5da664717c60ff3466250545ec98ac59af4760813e824e1f2247a11504fd";
-  sha512.doc = "dda1e6c916ec4d239a3d3eb8ac026b693f8fc023181a441848b7dfe187cf38300ad5ad8ff28ecb510a3ff0b8015bd632744f5be9d72d78241a0696e11af2f07b";
+  sha512.run = "b733b6fb53b450bcb4afd2265f65e64b6087d08d385a746ea78720efedc4d1aa14bf6fba21fcfdbef7a331d1c657674caace33f9a213d34d0b56604a4d0067ff";
+  sha512.doc = "d3754968215fdee2a31db13934c22a06998f93a11b80ba46e30231176e1583a8df86dcc8ed91b582a8b6f1427d9bf121f0f43cf297edb3e4a79250b9d703cb76";
   hasRunfiles = true;
   license = [ "free" ];
-  version = "2023-1.2";
+  version = "2024-1.4";
 };
 minim-mp = {
-  revision = 66396;
+  revision = 69352;
   stripPrefix = 0;
-  sha512.run = "4281f14c632bbc9e628291473818a05c68bee90bec08e43d04de2379f4813588112aa96c1fa39a8aa75c84459c5a2d7b1eac68d0f629c7b55628cbed6c682b1d";
-  sha512.doc = "2cf551a6c59c9ed36b9ca4b22a057efeff5adaaf0b162d83c51ea043cd0ceda02cdf5e5becc526904ce897376679e863e8f66a80221ee860e97733ec39bea4a5";
+  sha512.run = "117b829b8c037674b896f88d224795bcb4fbc0871dfaccd2dc56d9167549e88a1dc8e3808ddf773efd392a924569b3cd5fe3ab9468ba068dae76ca632a99ef88";
+  sha512.doc = "977a6f61e9e149caed9a61f7595cd3b488e0d536cfc7d00d4c4ad5a6b4f2bce003fda88309cee6a13d9f1781bcc7035fb3fee04bd2adedf9fb31f0572680f9b9";
   hasRunfiles = true;
   license = [ "free" ];
-  version = "2023-1.2";
+  version = "2024-1.4";
 };
 minim-pdf = {
-  revision = 66396;
+  revision = 69352;
   stripPrefix = 0;
-  sha512.run = "8406724dff3fe85dd8dd982ef20063582ca883f4571953e99511e1fea5db7930e7e3012052a0c3201e37c31be2282d7977d3ae38d8a6c71c6391f71605cd25c4";
-  sha512.doc = "e733e10099d2e040a571e0ae9fecb35d56661984403f7fadbd6ea0ef1e000d742a45e9eda96ca913d416c5c0e400e3d0fa723301fcdf9ce17d8ce9e95fb51ad5";
+  sha512.run = "959a7e6faef8a4f22c0a8822e73178430721d0aef57fb9c5f5e5bd588e8bd5588eec31a3ea1b0d4a851afcd0ae393cb4917f976e5698b1614cc407428a9c9998";
+  sha512.doc = "1768a50f0cbe45a980579042021670533932da3b832d2cb619638311ac7866a3d39cfc9dca862c842464be47799eb98835584e86c8b04f820247481ad86ab5ee";
   hasRunfiles = true;
   license = [ "free" ];
-  version = "2023-1.2";
+  version = "2024-1.4";
 };
 minim-xmp = {
-  revision = 66396;
+  revision = 69352;
   stripPrefix = 0;
-  sha512.run = "bc70e2e2fd329896e48954d6035f93a0b8ec029487372313fd8d3517cbddf21135f329489bd179cd68c97bcf4a4eb8fc9be5ef4a95b8644df8ec7dc09784b44d";
-  sha512.doc = "2eb847e45880e23d4412fdbbb8908510ff2f72dbba6cb37b5448dad57c078560e3deebc775b0e8dfef6114f179ad81875ddeec8dd02f59a938ae478f439061d6";
+  sha512.run = "4df50df08721b8c6cbc2314a36f08776766164c57fffa387d4804afae2fc1f35deb386f2c01e81da8a18b535c7103b7e07ffc51b37d4c621d8c5ac5248f4d960";
+  sha512.doc = "a6c524225e0e9c5ffe620950474ea7f0f16780d555e354a14885d81066228d350a14399a78cda455677fd116e752f3637e73ff3e9aa342ff4036363805d736cf";
   hasRunfiles = true;
   license = [ "free" ];
-  version = "2023-1.2";
+  version = "2024-1.3";
 };
 minimalist = {
-  revision = 66447;
+  revision = 68552;
   stripPrefix = 0;
   deps = [
     "projlib"
   ];
-  sha512.run = "421b6bcf329e94900e278e4db931d96744bc843b6b0088369753a9e34800162d28560fb293004aedb4f1e4af703b63540f1d84cf9999a6fd6a3fe2ba1e9bc15d";
-  sha512.doc = "77d097fbf3e0dcd4c078dde948e60d7a6fe10040fb4b2cd0ba6190ed4b7f971d509dcc29ee55d4d13aa493f9d9f0a53667430235790830301b7cebaaf0ccefb3";
+  sha512.run = "ea2e03654429ff56c274ecd4af620ad97734a2bdeb4dd63f13834a3d01f1d2c86b55d46005bb3181bf5305d5705a34aaf4c84cb7fdd46d90e27939912e3bacc7";
+  sha512.doc = "57f20e5e8fe46c61f181b52ac87c55d2e6e3b928308b347167e7973ee1068a7cf1cc6b8db048ec6ba5f983d1c8b0aaf4ecd405749938607e812ab7c11580fcf8";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -29262,12 +29909,11 @@ minorrevision = {
   version = "1.1";
 };
 minted = {
-  revision = 65252;
+  revision = 69163;
   stripPrefix = 0;
   deps = [
     "catchfile"
     "etoolbox"
-    "fancyvrb"
     "float"
     "framed"
     "fvextra"
@@ -29275,18 +29921,18 @@ minted = {
     "ifplatform"
     "kvoptions"
     "lineno"
+    "newfloat"
     "pdftexcmds"
     "tools"
-    "upquote"
     "xcolor"
     "xstring"
   ];
-  sha512.run = "faf543c7f48371cca2a4af7d1e4e1e9b16c13673908417ec982d773dac561ab9e467f79bed230f5c0e359fc82c5cfff1f83e18cb6261279943d1e5a2f117ea2f";
-  sha512.doc = "41640837e53d5b9cdce55a8f29707fe4f654da19813efbc1770df39b8f00aabdf600032dd504a8cebe23b4ef91e226014a94e031c52d0458f0684c5a53bd276a";
-  sha512.source = "384af78dba5447f7169804597afba5b42f8860cabe691e2490d90248ed798880d11471e8cad7ede8a4b1dbaf7b9684dea05ae54719c7637b8f5b6d953fd0ba98";
+  sha512.run = "d9bf72028b4aeb2febd7e2ee8f44297f047b5eab76fca8265a56dbcde4d921946bce15af5a89bc110b8ba25d234925172822e045670cd9795f13e38cd0e90f18";
+  sha512.doc = "6ddf64e40d3d28ca2bedd8a8a9789f1839c63a96f5aee3f71155722876f8ddf0634c2022ae4c02e1e9336a76dc8477994654d20e9d5949f2054017fcd09a9146";
+  sha512.source = "2cab20988a7fae52fdeacfca9e0f30fb1d471ea1a93f7f76c6812f9c6d15e5c4949aac1a904341be30387ea1030c67100cb696a861b114bdf8b7d348c9d1a808";
   hasRunfiles = true;
-  license = [ "lppl13c" ];
-  version = "2.7";
+  license = [ "lppl13c" "bsd3" ];
+  version = "2.9";
 };
 mintspirit = {
   revision = 64461;
@@ -29307,14 +29953,14 @@ minutes = {
   version = "1.8f";
 };
 mismath = {
-  revision = 66400;
+  revision = 69169;
   stripPrefix = 0;
-  sha512.run = "0f6ffc40645b440526eb5376cb1933dc174d0605b18fbcb97d73160d927d4fcdc69777a88ac306a313f0f89246b37db4a830bff13c52d48ceceb06a6f160bea6";
-  sha512.doc = "3d258a890bca6cab25f8014e743ffe304a4570cdc3cee7b64ee0f3ae34c991d71466a5e9a61d8c9506cc45f43863aa44014ccab6ddd772bf3f2c5aa5ab17cf27";
-  sha512.source = "df100ef82fa338df877721e2a5e91da5159b16f46020c4c74e375183052c44f4a971c91850c4c8d022a4681cdb27c90a198c11bff18baf32da5b394356843f95";
+  sha512.run = "0c85c7301c3409a56b99163c0269810daf36894c261c0eb62a78d333760e10375f0daade5e06090b3571d424b4b504f4ce14b61063a6518e5aa8f355aaa559ac";
+  sha512.doc = "e5693af9be3fe8496b213ff988c851388e1b7f28942ad1734d527c70f905d82d2110f55f3da9425af2a15584196bd83888021b4e6817c6b7717adda5a47ea545";
+  sha512.source = "b2bfb0bc801dd99a54366f71f28971019717d351a3020de5afca1eb4c2ae7f0e6825d343735a860db460f3c345970992eb19491ab486a66aaebe26f9cba9633e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.7";
+  version = "2.9";
 };
 missaali = {
   revision = 61719;
@@ -29325,6 +29971,15 @@ missaali = {
   license = [ "ofl" "lppl13c" ];
   version = "2.0";
 };
+mitthesis = {
+  revision = 68732;
+  stripPrefix = 0;
+  sha512.run = "7f7fb74329217ceaba1cb55e8dc6d52216327991f397b01b7603d8a797ad214bb0f62c51e237a14e388ba5110d558716436218a511647336115b9653c61fa801";
+  sha512.doc = "315fe938373d4fca5cb740067855cf38b52c00b49926baf2a61613ed5353bb81e4b156bc43ee3c67dd8414d5cb9f9fc1b36a215d67b04e57ce4ad4967456a021";
+  hasRunfiles = true;
+  license = [ "mit" ];
+  version = "1.11";
+};
 mkgrkindex = {
   revision = 26313;
   sha512.run = "bbb0b306f30b4fe898f5d5bfdcb1eaa4d2d88a95cfa1ea0da51957aad1de028928562c930180f6c0a7d66b5cdfd804d52afbd229e7ca43173477a229cefff192";
@@ -29378,15 +30033,24 @@ mla-paper = {
   license = [ "lppl13c" ];
 };
 mlacls = {
-  revision = 60508;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "44bb40283c118c638c3cd1b6b7595b6922225ff99dbce4b35c5579377c983c860e275bb7ddd76ce666d1907f59ec6e3dde78491764d4712addd3e5441b4832ec";
-  sha512.doc = "926a815427e1f66fc67357e962a7ccef39de82b082e045041b8c44d9ea444005b176ae7251b39763e03ebfc7babff0313f4b3f450e76cea5c4e21efc2171be96";
-  sha512.source = "884fc51a22c9e3fc996516c49e250bb08b4d5f5f7c19ff6830b45640d62578d3328b4d5179f750eec2d8086eebe96284d7347f223778674e9250625c36d1dc6a";
+  sha512.run = "7d0ccccd52f39b97f5448674dd961dd230b93799f71871bab7d5cce5b77e60788029795436765b6678b4b9e89f9f370ace2a43c99a9c185c216335e7ddaaf5b3";
+  sha512.doc = "c4ed81865684aaa5d15679ce667d41604a2f9d7431b06a258ec2d8f5f0f22aeacea5f944e39faca856cc84139b730d33f407147deb07f7ac5da70fb82341153f";
+  sha512.source = "c8a602a2ab7dbe1c0ecef7a1d4288eea10b0d8e5bfc15319d31c2f417a6ea2190576c986088b8da8aaff317ffaa0f0f41d0025e8e16a02503f2d96a91835382d";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.0";
 };
+mlawriter = {
+  revision = 67558;
+  stripPrefix = 0;
+  sha512.run = "67e9de777a464cf7ecdff6c821ff31d73f31f5f69cc5e6800d740ed6df296b5fc3a584b34e60be025f91b96a609e392198b67d386b60fd24deefb11746ecd439";
+  sha512.doc = "7d05bea21e44c771cf86e94b03ff2960419fa99e44adb1e7cc9a2398eb0647d0a177ffb9e2b8bbc74775946e2b438c51b8dacdea916311c967a02c34dfd1a2fe";
+  hasRunfiles = true;
+  license = [ "cc0" ];
+  version = "1.1.0";
+};
 mleftright = {
   revision = 53021;
   stripPrefix = 0;
@@ -29494,13 +30158,13 @@ mnotes = {
   version = "0.9";
 };
 mnras = {
-  revision = 55729;
+  revision = 68878;
   stripPrefix = 0;
-  sha512.run = "dc964c48272c36f81e1370ac3df6fb3b4e873294f69a565ba240a7c61a5f78fa6b493beae8e78c1ed469c4f34c325af3e53739f1aab5a68e9af356fe6945fdbc";
-  sha512.doc = "5a6f55ad7e0cdf270856a5efdb6891e2da00d813b2a4279e323dca188d3b3ee43f89ed3fc44452583d45ad83b7c63cf2470371c7975aa068d2595740d31163cb";
+  sha512.run = "cb8e7cdcef07bead94509ab42af1e3d6a966b7266b75473f5a6107d2fe7f3f4c2f732c9544072def55d923883b5ad495a166cb128bf67e10211919be9f4fdda3";
+  sha512.doc = "be0eaacc684772a599ef62a782d73b41e0e9963cc9ab0624805cac56af8b8f8dc529405588c687a018ffe888b643902ddfbd0f833cb7cb67a3053bd5c34e373e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.1";
+  version = "3.2";
 };
 mnsymbol = {
   revision = 18651;
@@ -29513,10 +30177,10 @@ mnsymbol = {
   version = "1.4";
 };
 modeles-factures-belges-assocs = {
-  revision = 50010;
+  revision = 67840;
   stripPrefix = 0;
-  sha512.run = "870cd893fbb3bd36d9af8a35487fb47f9afeee75c6093fe3fe9167c4db4f0365499e0fd87b4b3debb0212076d1248902014fa374df3fca79108965bf0c3bb07b";
-  sha512.doc = "f879904a96322990beafd7e444040b11fb9d69e93d73df5e5a159d70fd8e033d9a137e1bb4c54e4bbc4f8e5b04151336bed77aab0b46fcbeb531b346855df920";
+  sha512.run = "0b0e546eef6640b70dbb07bbe6401983fd0547357dad47a854b4c87119727d79f5ef54789394ebd5923474d2ad95e59a55d9340cf84811b5f2d5a94e406e8c7f";
+  sha512.doc = "0bee390919ce8ce6082c2373f639db7de1029d0830d4cf9f1c807ef044e0ba27c8f0e4dd37677df63c03b64ad00b27825cd703973776377f844324846a908edd";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.0.1";
@@ -29562,13 +30226,13 @@ moderntimeline = {
   version = "0.11";
 };
 modes = {
-  revision = 61719;
+  revision = 69113;
   stripPrefix = 0;
-  sha512.run = "86931543910145093d3141fd40512ef6c1a99901a757d178d8ba592761c25638383f9511f4937af657c414642341c05ad6278d871e5d397117e03cf86706a9ac";
-  sha512.doc = "4ba301dce255d22c23cd732e6c1b1e887a96918d594a06f8386563b0ca46fce015c0cdf17aecb2fb13211360a7db24843ec99664b048a53ed0ac76a1a4188c76";
+  sha512.run = "71e00fa0f1c3cdf01a6d49567df15b5a9119005ea63a2411680afdd0b423fe0f66a13f01579a379883969cbaee5535a4d338a9659196d4c95404b2cccc321cee";
+  sha512.doc = "32135a28343fdf1de2ff2cc25ae78920729c34f777ae6b147ff85f80953eb7610bad5e1a8919d6d873ad45fcc9b51cc9152e9e2fc566d47a57f7df4e6f63f5b6";
   hasRunfiles = true;
   license = [ "publicDomain" ];
-  version = "4.2";
+  version = "4.3";
 };
 modiagram = {
   revision = 56886;
@@ -29718,11 +30382,11 @@ moreverb = {
   version = "2.3a";
 };
 morewrites = {
-  revision = 49531;
+  revision = 69306;
   stripPrefix = 0;
-  sha512.run = "fb1f515fa834c422f628464467411a51c8c9a99f353ab297ca0ac0b63d65a7f2e05ec3e6a649fa35260a6bedb91dedda594654e83e94a28baa62764a38d9ca8c";
-  sha512.doc = "9f4bad59ec0f024d24956481d2f70baa56748c9deb000979490c001cd671dd07fc3712eca1917713775d6b879169050786b22a76e2ce1d8d57a99cd76487d167";
-  sha512.source = "21a6606687ac53e218408cc5790c1b93c9db3cef7b1f17fbfe574ee2f1a1c48e5c21a00d7b4f44f6fc1b98bd77af032be97c1cf48571bc439ee20fa6367d3bf1";
+  sha512.run = "9618e04c51865b275ab262d0e95806a7fbbffb4f6063b87644f3111760c591be6b3f8684fe72b5fdf0ea3dd6e034f88d5fef0f9c378e31bf44617727a76b98d5";
+  sha512.doc = "389828d2a8fdbd9f9b5f20f3c71654f4d23e9d23e5af8d98904b35bb8d8d939f4641bf74d43e3035ff73310f0324f21a47d56cf6065af1d04d96f34418ba1157";
+  sha512.source = "2794f2571cc3158f92453a229d088f24002ba893758f521da13b1229c67de24573752c07f03a894605704dfa19a73791903055582fc1729814a350c09b0735fa";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -29735,6 +30399,15 @@ morisawa = {
   hasRunfiles = true;
   license = [ "bsd3" ];
 };
+movement-arrows = {
+  revision = 67270;
+  stripPrefix = 0;
+  sha512.run = "42adce39a6f06212f5d6c3c235ad79772064d8b0588e3f79b34ba7f3a8530e08857e5a1612051ce6c58e419b0ea4f1a6012b19d8e37ae20ccb1a20c11f9894d8";
+  sha512.doc = "d1f1856297ccfbcd42d05524d633857ce548fe5b5c5fc84d76239a2cd62989015ea62f2fdcb509e918e47cc176002fc5467c7d721942f674eb4cb405dbec1be7";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "2.0";
+};
 movie15 = {
   revision = 26473;
   stripPrefix = 0;
@@ -29779,6 +30452,15 @@ mpattern = {
   hasRunfiles = true;
   license = [ "publicDomain" ];
 };
+mpchess = {
+  revision = 67704;
+  stripPrefix = 0;
+  sha512.run = "b65838b9b3177b069a2e8e4141fdb9ae68ac1dc9378c9fe7534fd23556d93ace29ba1ed9deaeb53fd54d709b77ecd98d9d0fc79dfc8e77b8eec899d4a332bc3f";
+  sha512.doc = "c859e9f5df0d24bd1eb59dfd39dc97cd1ba6e713b33e37d17128388928071e2da8f41180da333fea34ee6215585208de193a381205fd866142f341e1856485d2";
+  hasRunfiles = true;
+  license = [ "lppl13c" "gpl2Plus" ];
+  version = "0.7";
+};
 mpcolornames = {
   revision = 23252;
   stripPrefix = 0;
@@ -29826,8 +30508,9 @@ mpostinl = {
   version = "1.5";
 };
 mptopdf = {
-  revision = 65471;
+  revision = 69363;
   deps = [
+    "pdftex"
     "plain"
   ];
   formats = [
@@ -29838,8 +30521,8 @@ mptopdf = {
       fmttriggers = [ "plain" ];
     }
   ];
-  sha512.run = "1d488a0254f5fc2197d3e8e66de4b0c38abefd477cedac511098612e7200ba90f9d81715273e5e24b731638b91d69ec4b86f0ef1b65ebbd115e9d09c6f2772ab";
-  sha512.doc = "ad89851e9f944f18ce1226d6c753a14aad0abe9012b4fc97d5328005e2f758a351db1ddd5ea590694396cab8852b6f77adc5ac77bf1de5277ab224d9470e513e";
+  sha512.run = "680851a49d124cf0e2ff0c7626dbb5c5e48358ab08c94906cfe019fa2066dd3b47c763c7985a101d44ef6a6bfab3b3f72c88bbc1ad0eca0258b8f6467ffc0ede";
+  sha512.doc = "46b4dbe5a903601078da34238dc449ad932dbc44fdbb6df33b53554fbbe8d47307ba99e971ab197e468a8689d731f989c02097ca2b8ab07c575ec05e2866e81a";
   hasManpages = true;
   hasRunfiles = true;
 };
@@ -29847,13 +30530,13 @@ mptopdf.binfiles = [
   "mptopdf"
 ];
 mptrees = {
-  revision = 60929;
+  revision = 66952;
   stripPrefix = 0;
-  sha512.run = "8eb172f4051125fbe7d812520455e3a37888508754abe8abd539e84a1105575c32c2dbc850dc562a2dfab34811614e527cfa089c9de738b6ac7211f923c61929";
-  sha512.doc = "2e7c3837ce93b67bd1604451792cc54842bec27b3ebb6c56b2a9b9d702c3fa999ecb3a2836076c39adb30dabf833a507974e9dfaf19c9166bbcd3428487cf0a8";
+  sha512.run = "a3579aac7bff11c77416bf19447a429a3f56695bfc105f1218ae8f7d531adf0333ed73ff1fe93bab8af2ef590d6157ffa3c363bc306d3e81eb0d78766aa7871a";
+  sha512.doc = "cbf0e2660c7e98697d2441ae8a40d69e9855ad1eeb1acb3b6e140557caae3d0f09619aa24a0c0f5b2c44e133cc7595ebdd6e7ee4e8809f92ecd759f0a12fdcaa";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "21.11";
+  version = "23.04";
 };
 ms = {
   revision = 57473;
@@ -29865,10 +30548,10 @@ ms = {
   license = [ "lppl13c" ];
 };
 msc = {
-  revision = 63291;
+  revision = 67718;
   stripPrefix = 0;
-  sha512.run = "7693c105f3a896e842796c0119fbcc692a1d495f394de5e2cbb9df7164b4735723504980e1ca53b76aa152a2b779c06f535542143512882f411eea40814a9d5d";
-  sha512.doc = "9f8b33812702f2d9307e7f1a20c091f05da4c03220abbe8d15f3e2a3ad9871fd0806fe45f29557a71953da3c57a3f0a08d21e93570a99542b9d3ea605398e63b";
+  sha512.run = "103ff1fd368f97920f5403691ccb5fafb34c6a291db5d76a83d56f64d1ec452386cb844dfea7462fcec573d86b05fb183034ae8968d7127f4bf425aebac1f087";
+  sha512.doc = "e336c0969d2f39c06baab3f7573109e11f76acf47767f0653996ea772bc5fc4ac801154c5fa0df2eeaf999699aa0d61c1e7d223b44248fba72dccc8bc1b86663";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "2.00";
@@ -29892,13 +30575,13 @@ mslapa = {
   license = [ "free" ];
 };
 msu-thesis = {
-  revision = 65462;
+  revision = 68480;
   stripPrefix = 0;
-  sha512.run = "918bfbcc2bec35581fc50bdd6e7ef10e5b8fd3f47d9eec896b5a0d18aaf5a953da0e46b20d0d19e03fd2a979a950e34f6956af85b19db2a6de74d1f9d91575d4";
-  sha512.doc = "a58f8c2103da08dbd04ee8310ae349d88fbe86a7126a0dc6bdcf44d2c91c7bb2aa453ea3830d737fb21c99de888453d83e24ba108a8f0fc17f2ec5aaede1d7ea";
+  sha512.run = "a25f539ee6eb50450a603b25d6639918118a8882df16fdbe71dee49f09045480b80514994079f291120d6f3132753a90cfe3a7eb5e366a6c8b15b6674735fa85";
+  sha512.doc = "da32f1f22664d0bf05561a4d99977b942c95167a2e325928fc05714bf59a9f8aaec302f278685d0fae90b8511d246a156936101f6a12fe76a31d7aaef5dd762b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "4.0b";
+  version = "4.1h";
 };
 mtgreek = {
   revision = 17967;
@@ -29931,14 +30614,14 @@ mugsthesis = {
   version = "1.1";
 };
 muling = {
-  revision = 61719;
+  revision = 66741;
   stripPrefix = 0;
-  sha512.run = "2f6521255e8e0ac777130f0e108ccacb5a81f74264e6d7b830514e292f9733ec47dac9e3a618143fd9dee224ca60ebcf85a74d4c14104cb21e65d2b4d4c59908";
-  sha512.doc = "8ef724f07c630e1fe6511d0b8846f4729084fab1ece44489b0fa4cb40dc506cb2f666bc84b9a020103bfb98206d3c3f44ac78203a86d160f1b4e7f55e2f2f77d";
-  sha512.source = "9aa6c144a54359d48e9eb7f0425e88f7e790ecb2c6342ee86b92d43608b3ee595f1f2b17c3e2ec66f2f19e921004ba5068c8fa45fef598c0cda51336d608f89b";
+  sha512.run = "5a955e229ffe00e276c4ee4590473ba9d137d668c63294735ecefb031f2a01b310723dd2a5cf37b4c9613793df39146d08c01e2109ca37fe1d9136903cd6aaa2";
+  sha512.doc = "9eea5504062340098751c51d99433f91e95bfe74b93f584e08d3c6d1ae516f6d8a18e8495d10a90a4c5f751f44854758a3a8779d56ae158397f35419218aa01d";
+  sha512.source = "fd0a41543e4d20ece031b9d2143a6f4196010141dac7c3525d7dfdea17e93ce1c6602e78c00d4d310a9ceadce2d9042140b8b53deaa95d665b3fc043042505ad";
   hasRunfiles = true;
-  license = [ "lppl13c" ];
-  version = "0.3";
+  license = [ "gpl3Plus" "fdl13Only" ];
+  version = "0.5";
 };
 multenum = {
   revision = 21775;
@@ -30114,10 +30797,10 @@ musical = {
   version = "3.1";
 };
 musicography = {
-  revision = 66119;
+  revision = 68220;
   stripPrefix = 0;
-  sha512.run = "16a582cb9c03444e7acac7bbe851d2e070b8d474cbfbd71a2cc79a9cc937311100b341e39f0b1cd99fe983e88cab002c78e265e8150fb0434f98c326b76ed7b4";
-  sha512.doc = "e3ef9d669eafbe00b62931062b32617ea22070c5738fd31e24e3378c1e1ed6e76cf8497ef5384ffc1b8d8eb42b005abc21e6b3d8f9a12943936631654b551151";
+  sha512.run = "310c10402a269d7bf44a811b841be8a8058ef8eefdfa4440fa64ac27983fe1212134e4a616b3979ffa4f63c8ee86a7ccc5568d49c195dc1683b326a501cd83fe";
+  sha512.doc = "52dc06ba9b0394c0ea66fc02094174b45733002a3a492784b1e67670614caf57a162d5ab74cd51bbe6d884fbf0f04458d6eeafa2faf637ccfde4fbbfa435cb7f";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -30140,17 +30823,17 @@ musixguit = {
   version = "1.2.2";
 };
 musixtex = {
-  revision = 65519;
-  sha512.run = "85ff6dae443655c320990517debd59c2d3b3cf79ae795fd27836704af1ead716da34521e254a201ee8cad90ba0b5d1c559157567adf3e7142aa5446e91af0147";
-  sha512.doc = "cae619ff0b16f557537ce3d28fd8df938d9297aeb37ed47713934e3a6ee41e4d8007e4e798b03221df6e958db93e2a765b9854576381eaacc924433e4efaa362";
+  revision = 68484;
+  sha512.run = "37701c422b8994231a3ca707c3d8eedbdffd4df89e6258f93c6f9778bd2b37d1c0ee9e94c75f81c5d5fe015b085cc3eff35fee6ec96a5fe28577403802b54373";
+  sha512.doc = "211c386eb30cdaaf24264cde5eb0e07e23a2ad66335d783e64ca08c58e3f04b9cdd954713d3426252e74f63f38399afa42571d44d9f95734d54004b14548104c";
   hasManpages = true;
-  sha512.source = "e81c23471fa26ef887aa5e16eefd562c5f133619557e734c7b36de2dcb9b1746c04263e7f3c300ccd90e85cdbfb4146496448a31909403631510645d28e39608";
+  sha512.source = "f5997350c5131164aac7fd785181e22a6e9912762b455cf04fe4371e67faee9ffa25969171bacef14684b6066053c2d8bab5f5d6b467966855614a6af13e8dc8";
   hasRunfiles = true;
   scriptExts = [
     "lua"
   ];
   license = [ "gpl2Plus" ];
-  version = "1.36";
+  version = "1.37";
 };
 musixtex-fonts = {
   revision = 65517;
@@ -30310,19 +30993,19 @@ nag = {
   version = "0.7";
 };
 naive-ebnf = {
-  revision = 66029;
+  revision = 67892;
   stripPrefix = 0;
   deps = [
     "filecontentsdef"
     "l3kernel"
     "pgfopts"
   ];
-  sha512.run = "cfa82893728524f15e26758cfd25b42cce7499ad48fb5362899cbcd8717e57e3f8a18d680d5f4493b66e9de910b3c16b251ba23a11401b83da03f88a8d15940b";
-  sha512.doc = "42abbbe4b5746b2ad4ad3b49ea6bfaa35741702735078d48759e8da95ed207318fbe5d1e12fec46b0d6b934c63b43a094a733f34e70dd27405937da9b0f96b9d";
-  sha512.source = "fa1601c7f9a79371b757342cb8bbca14f29de401f3944e3c7d393cd120413bc2fa38296220d5cb56cf6f63797dc4f8374b2c5396df33b6503bf801e17be423b0";
+  sha512.run = "52780f4292abba6d621638637f8c3d11a3a39d4e26c3e7a10e077f4369624ed0f1fead7aa781d9d0017b000618bf08ade1bddb78e9d773c3abd9c6124ba00068";
+  sha512.doc = "f2abf68012f902440e17235fd49c55c4776d79c3e7db46d18e203b47160a427545201170c6644a18d33874a90c6770d83fae576da68befde87da17606ed577e6";
+  sha512.source = "a149e3c6ca7f22ed9b9d7a03c0d5bb941af809b6145967bfbc63ff96aec966eeb5e657cc0bc099c7727af6c2ebffaeb6f45474104c2c7c1462295ea115ad0d87";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.0.5";
+  version = "0.0.15";
 };
 nameauth = {
   revision = 65738;
@@ -30562,13 +31245,13 @@ newcommand = {
   version = "2.0";
 };
 newcomputermodern = {
-  revision = 66338;
+  revision = 69379;
   stripPrefix = 0;
-  sha512.run = "e5e31361c266052bf765ee41371b548f6c85a857e0cd10f2cac2ea00e90c1e47da745f3dd2efdaa8614dbc4e09b65e4b174e82141eb27385c166ee67d1e52aab";
-  sha512.doc = "065b5d4344015754875b31b55b3ed2b1c6c891a38a5db40390a2136af390285d0b422c9843959501d7e1c68b9d76ae21792ebba11edebee4c2b69b2cc209c5b6";
+  sha512.run = "140226a635763be7a407910980664b38323dc3634980452fe9eb4395194e7bdc0144715f13d79b9f108630aebd393073135328c98fa34310e3b8d4150e2a5fea";
+  sha512.doc = "dd8cc0f43cd3a1d19a6666ce39d0d4024f8ce1ea8c51c0809878f8b886b286558d78f91cfe962b7cfa0e83c8abdde5912c4913c9c67be5d2b5ae81c274803fde";
   hasRunfiles = true;
   license = [ "gfl" ];
-  version = "4.4";
+  version = "5.1";
 };
 newenviron = {
   revision = 29331;
@@ -30590,14 +31273,14 @@ newfile = {
   version = "1.0c";
 };
 newfloat = {
-  revision = 52906;
+  revision = 68434;
   stripPrefix = 0;
-  sha512.run = "2cd4d1e5097bd6b9abd25621fe64590e67f8933a5292f83277dd546cb949c6193af04e16a72e61c3023293f6471ed41e9b46c23dd4c6c19428c7875cf0279aa8";
-  sha512.doc = "4a9b942a072ac5da1e92f6ecd63ff16cda41195403794c8a111140d4d6af43947875828d497f7824bdcfd41ca03ece22469ed5e0fbec0cdd84c56471678cd469";
-  sha512.source = "311c22bfb91719a8358f5feb89f3ada35de942703009cb47d5489b2800f9eb149a285cd6ac99186f94cf8d82ec6b9f582dc9922cde9afe515c10e483044f0d98";
+  sha512.run = "6b7ec618044ee10c16722460fccf4e3b71092ed5fc902b0aff431c7407d50e97bc27a2e9bf4c561df50da7d605a3a1ea95c20f47727111e7077e338f0c0e483e";
+  sha512.doc = "e3faedb4cdb78304c738a4437fa503f7870c81c13eb82652ebf5a5ccb2befa1180683a5704b16891715c60445eac214cf8e6fb01f1d9675954d45e1a7535d659";
+  sha512.source = "150ef59ef64c4378dda85cf5472947575bf78ede8c080ebc9f2ad37ef8928c1d59c50c5772cf48683330bce60ce633e2295493c7bd65b658e3538628cbbbfd37";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1l";
+  version = "1.2";
 };
 newlfm = {
   revision = 15878;
@@ -30610,23 +31293,24 @@ newlfm = {
   version = "9.4";
 };
 newpax = {
-  revision = 64415;
+  revision = 68762;
   stripPrefix = 0;
-  sha512.run = "0a7cd4311e9e77517e320d1ce1d3a8747e1f13a00a0fe98c72dd394047d56fe7cac81bb4a5562ff057d9052dae85201e8d783e21a3d55425580ec713e303ece9";
-  sha512.doc = "1f0148baddf2d0c65456cfd5b1c8204f23574b7a3bc8d394f68cc63e0b397dd8517466f90a5fa5dbf3079c787a6955df44a52b330b67153a771b05543dc34d92";
-  sha512.source = "2469863c13b6b2db2d8f03929d52b7d92527e8194e91a90234ab10c588ecc0926155ac65ee297859fdc2cc96022ee4d34da675e2fa094181f77c0edf33830029";
+  sha512.run = "88888718c7ddd02cd3fa3286ee63d7d527d836f0df15250d9ddde12be475275bd7517f4a0562f30d738d4a007d61c4a417a7f03c8fb628b3fc981e7a6f643ba0";
+  sha512.doc = "7edcf5fc73e0b28d92b8f11f42e47bec9a6b2327cc23a146fcc65143a30aba16d839579d94de7001b5937fcb241e977d9933e44fd5947da06907dbe4c327e70c";
+  sha512.source = "00ebef49ba9b5bd4ddc4c6889d0d9479fe8d1921f94170c51a2c5583f4d59f2bf533db3348e2b595758f377d4e6c504ec6b9c582c5fcc8c4468d782e68416bc9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.53";
+  version = "0.55";
 };
 newpx = {
-  revision = 61806;
+  revision = 69380;
   stripPrefix = 0;
-  sha512.run = "19a2ae1d832d48a082d3cc693914ff93475a3d4526347fa49dd35a7afa56c65f98ff54ca49f9f1674732922e36bc6e66d8b368e0bc924270af9b4ffe04347cfa";
-  sha512.doc = "ed38d727e5d8af16730df66860fbf2dc0701d9ef850fd2d77dbeaaebb38e826fd435f9a78e3771f7498c2fdce25efaf59909340e330da84ae831b880ee7393b3";
+  sha512.run = "46edf929749a4104f4fc141453930e4475a3ac298396ccf50250a6c4091ad58b19887883172cdcf5f5b67acb28f084529ef3c344ab3fff38ebfd53cb79334532";
+  sha512.doc = "39c54fe8bd66f529cdb89b1ef92bd6bb323d393d7e85307441d8f0310b2cfc2cc59d49c0b8560c8dee3da23af13240d619de1eb1c6525750caad3ec148fd7d40";
+  sha512.source = "bd679fa72822162ff3cdc14c67d8be7a3d91ad18e6222ec90dab7fa7878d8e593cc1f884ae3ccdab8bb52d437f351baf39afe30e320b4e2e998c51ee729cbde3";
   hasRunfiles = true;
-  license = [ "lppl13c" "ofl" ];
-  version = "1.505";
+  license = [ "lppl13c" "gfl" ];
+  version = "1.535";
 };
 newsletr = {
   revision = 15878;
@@ -30647,25 +31331,25 @@ newspaper = {
   version = "1.0";
 };
 newtx = {
-  revision = 62369;
+  revision = 69381;
   stripPrefix = 0;
   deps = [
     "kastrup"
   ];
-  sha512.run = "07c63e655ebb6381bb7eaa4f0f1a35054894ee6db55992cb8fadc04a2dc62470767a12661a8cc697c8d15df40861835463ff7a0bad449f9fb86b59093642b89c";
-  sha512.doc = "e615ce1c1a9478358af27885cd9c0b8d7ad152a3fb437ab705bf682d5849bd705a248de2d879ea9b4de0833984c15b0ad59c4da7da88c9e12d21fff9e4fd9efa";
+  sha512.run = "116c8192b67b93a6dcac6fd296141b5b5bba89b41c94cb15ee5644ef9c9b3647dfcb9703a002c9433b8badbbd117cad8fd0565090ae7ee097cb65d7e06b0ae60";
+  sha512.doc = "6ac40ed19b45a5a99fb854469605242cc1efa098563a9653bbebe994e79767b465d182f0bef6a03961756fa8670677deb033a8d6ad747e54cf04c62634fd0388";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.71";
+  version = "1.737";
 };
 newtxsf = {
-  revision = 59227;
+  revision = 67051;
   stripPrefix = 0;
-  sha512.run = "c7665696fe28a62a2dda826b706bcefb0d468b575232c1e04a69c58a843631e631098b4feb7b93fe8bf1c443e376fa8d8dcdb17346dd188d89b9fa525dcac33e";
-  sha512.doc = "98ca9aead749cf70e54acc6414d82d027160ba9d730747a38d0e55479dd4439d198cfd4093e22636e9eca58aaafba6818bb3d3583e41f4a46e0f44b1e10cc424";
+  sha512.run = "a85dbbbba3bcd0bb4732d327c5b70acd89ef59d6d22495cf4a4fadc3751af04f27b09dfc77613fa32ed3270417d31cc876e5d72b6868b9a7454302c961dc96f8";
+  sha512.doc = "d09946c13c3ae08339933fd965a1740eaa660413067878e44ed5bb8a249dd23c76acdfa01101a8ffa11eeae3f277a40394023c0d40142908498a1be0d95abbc6";
   hasRunfiles = true;
-  license = [ "ofl" ];
-  version = "1.054";
+  license = [ "ofl" "lppl13c" ];
+  version = "1.055";
 };
 newtxtt = {
   revision = 54512;
@@ -30743,22 +31427,22 @@ niceframe = {
   version = "1.1c";
 };
 niceframe-type1 = {
-  revision = 44671;
+  revision = 68091;
   stripPrefix = 0;
-  sha512.run = "c99757f9907622958267f042f0ee0aec8dc6317839fba05309116f9151e476e37f24dde00e6de59fb0204beb9383eae039c0fabb089d6349d6f6031e8df196f0";
-  sha512.doc = "5ab28cf7091ba993d7b4ac9f5caf2d563c60e63a3ce8975bae105f460e2dadbc963efd17b7ec5ddeeb8a35bea1b05a007590d3f6f9d5cf5dba0495e5b0ee8ad8";
+  sha512.run = "b43c19a164d9d6eeadd11072f07d29d00763863724a5b5168ef8640b2411fa4c02c4955e769b23a39e06db8d02d168ac7b2a987e1ab8a9dbe4c19063b8f4bbac";
+  sha512.doc = "9f30b52e177fd2fe5bb3ef1f23a16b29a80f049cf33d8ade3dbfb187663e4a8872a18bef0fec1531cabe610839ba21b118623db244b52ab16418a7ad4dfb3d67";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
 nicematrix = {
-  revision = 66465;
+  revision = 69275;
   stripPrefix = 0;
-  sha512.run = "a0dfc9243c15cf42af0b74d6a83f48e427d0f0897732857071b62e1f267d534cc5be434ca4f0cebd5fafdc0db4646e0c63fe01ab2f0944a0619f663d5a3f8bc2";
-  sha512.doc = "a2a78ef8fa041da42e049a7f0044e385c6df994655e47d9821331ceaa48e6737770c9745dde9da64a23fc5f70571e0c49b71db2882590155281a7e6d3fb6019a";
-  sha512.source = "8a0a945961d6691733e60255a431fc5e3aebc0c0ddb49f1b2d76c226ab719ced77c48c47ff3c93e3866aa0847beeaf98dce56453f6cee4c3eea087b9902f39d2";
+  sha512.run = "12bfe8ede8cb01f61a5437a3d91cfa225540699d67327ab40df051967f75e7af7ff34aaf6ed63c5067d7318c491581b39c41430f9d40d0f383f85090e2769c31";
+  sha512.doc = "71d57a75b4c5e58a3bf15879c4eed9b24bef9065b73e93d482ffff35160d06fd8d2ca723b0d9f784e572878a21efbbee34ef9277c94e283b7f69826aa5985128";
+  sha512.source = "7515731fd6794b3f154cc2937e8ca147a8f147fa2fcdba1bc15aab56dd436374eb405b6784fdfddd6183ec4264691c26fd0e4266365e96eefadf90893fedd3e8";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "6.16";
+  version = "6.26c";
 };
 nicetext = {
   revision = 38914;
@@ -30847,14 +31531,14 @@ njustthesis = {
   version = "0.0.1";
 };
 njuthesis = {
-  revision = 65546;
+  revision = 69051;
   stripPrefix = 0;
-  sha512.run = "169c4f42c03104b2edcb20abcfff38fa8160c3d5058149c43d9773d52375c0152d3d99271ad49f2aebe995fabe30238407463e76e7b1d399482bb43b600ff0e6";
-  sha512.doc = "c68890f2269c0e353cfec67cf822285b365875dccfac9664877ccde0c084860f6888f3657a7780ae775b564784f55c25e95e1deebd23f29f00df3eb2dc9d438e";
-  sha512.source = "ca35eddab7239b1cc1ec60ee42a497dcdbc68451eab8dfa83965bcd4cfdb223e84f0b47bffd560781e2115a0217c52b9ebfe746f1d3357857dc88f83aefb1d2f";
+  sha512.run = "da5a4d00161d7904d58d745df89dcb1270eab27c291866300fb5a7293db2a078777c9fd234a3972d75d5d6208acda160921a603b45d72f4c235dfa09f2421038";
+  sha512.doc = "12f094efb1a86dc3ced366f3f5a2cc7ef5042ed109e30c3d4130f7de9b514a437029eceae67786e7af1159c0ecee1ea1298efca7a02eb8d9c85253c0acdb43ac";
+  sha512.source = "078e7e50803f934601b30042b871cca6a0bee5d66fcc1275c227aca20cbf5e098bee5ef95b728a2d4b6fc0f7e5a27e0042b385c07d8b4e6f8df71ceec0c67f47";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1.2";
+  version = "1.3.2";
 };
 njuvisual = {
   revision = 65261;
@@ -30886,13 +31570,13 @@ nl-interval = {
   version = "1.0";
 };
 nlctdoc = {
-  revision = 64708;
+  revision = 68448;
   stripPrefix = 0;
-  sha512.run = "5bc67c3ce81a7a3dd49d0b54019c261f6ab874cd6aa68d135a4deb935417f724d57b6cec08bab3e2575876d3d74ce661fc5a23da61f2f82ab29bc6653754d514";
-  sha512.doc = "007b51b5d7d2edab1e773265ab41649f0ea22c259b607d53441991a79fd7c066746004dc95a8ef6bb8b2de9b7e5754dbb2fc96cb2a4dfccd213b6fa34e39ddca";
+  sha512.run = "ef7f443bab4a6608b506ff65bd885965c23607aa5a93a721a021e741eb85a757de021eec7b8b247c9b5a41cad3f3f06a90ce44c143bfbe6ab79ec253eba06264";
+  sha512.doc = "e887bbbc705456c084c26b1bd02677a185e7c7ac615b9711821233e6ee3a62de91c4cfdd3bbc353b0775b9fb99dc42e3447d7ef51492f4abf0c519ff1af42af6";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.08";
+  version = "1.10";
 };
 nmbib = {
   revision = 37984;
@@ -30934,14 +31618,14 @@ noconflict = {
   version = "1.0";
 };
 nodetree = {
-  revision = 65298;
+  revision = 68244;
   stripPrefix = 0;
-  sha512.run = "27e55a80726d0d2dc3767e59c520ef4dce465605abe8e2ed3062a6eac485e5db30945da9c5c5b3d2199c1df3bfa0faa6f92c8adae91c51b70512f8590b1594be";
-  sha512.doc = "6c4b80986f62d974cc0458679643fe2721d2db439ae0cb94b737546ddd558e2a5ba3746abac697519b326b5df28ab8d5af43fa0db49720feb3d07bfa6daf4878";
-  sha512.source = "311c88f5e5da3f3b0a539a8e2ddefb4b7442ab3f0d560eecd04353098c273bd24ce2852fd3dd232195fd48c3f3e7049ad66e40fe2b4c7c858b7bef1f64e90a1e";
+  sha512.run = "8c451fff46fda636b2b1284d8751e070bc47526d7dc94acceddd49e8eea3f951526c1680f330042e51f61752795b4c8ebaa490cd93a736747e1bc554126bf7f0";
+  sha512.doc = "3e69dd9f6ef63f3ca1ed8c071510a5b6946037d9ed76449fd14c16ce0892ca50031ec594f6bca7423d3669270b4e2821311a53b852f906ecbd22035dbf9c2858";
+  sha512.source = "ded67b13d69785d978a4662fc62cf0c76b63bb931b94ca2407b9b8021857cb1d6609b466ab9f552d11765f7b612386e9fdf0fec02e2a77a5cef459ecc4324b35";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.2.1";
+  version = "2.3.0";
 };
 noindentafter = {
   revision = 59195;
@@ -30992,6 +31676,14 @@ nomentbl = {
   license = [ "lppl13c" ];
   version = "0.4";
 };
+non-decimal-units = {
+  revision = 68504;
+  stripPrefix = 0;
+  sha512.run = "5ccc76f7aaca5aefe92e14a686a6847a1df8b00afd04fa96d11dff75951f729920f5564244ed06b74b67e2a81532111fc54adc719a59d6a9d1ac4d6fbeaae9d2";
+  sha512.doc = "e200b68474a0202d8018d943382bd76830f411b95373fd6e43715b343ed0214f08b529b1bec92a4b4fa4c8a1ff8accac8994ca7e342e7edcc5ead511b2769e21";
+  hasRunfiles = true;
+  license = [ "cc-by-sa-40" ];
+};
 nonfloat = {
   revision = 17598;
   stripPrefix = 0;
@@ -31041,14 +31733,23 @@ normalcolor = {
   version = "r11";
 };
 nostarch = {
-  revision = 15878;
+  revision = 67683;
   stripPrefix = 0;
-  sha512.run = "45992ab970abe997f3b01c9dae5e15303db81878b085f45fea4ba07209160ff0307550e9ecca9b67e0d01712831b6541def54382170d43db4dd547f2969f9fb9";
-  sha512.doc = "94efe6a2b41a47b559b4b7c9e04dda1f32d0c6f5da79b51d994fda1af58b4e1cc7e808f9465f7874be6b67231383c38543fb3e98706c32da32d73a4ae07da9fe";
-  sha512.source = "1d46d17f9f43981c89bffdc5e2167342e6168423068b4d02c180fa18fc4243ece749ebab18c5b47be0184e76034378a7ee6ea09aca3c782184f389c6639df38f";
+  sha512.run = "3646dcc196a2b0fc4389d8c7ddbce263126ec88f33749e7b290bdd5ef1800cc8142c35fd87635c7df2b0768c3be03a25bf4e3b84162119c859f278d70bfd4fa4";
+  sha512.doc = "279cacf2c378e30468748f3e92ae30d3085fa93bc38b43e7a2b423d06de056fbb2135f9aa5d243fadf504c60628b1048dbfa4f8c9e60fee2f844247f093bd7b4";
+  sha512.source = "1fde1f24f5d0f009025f1391b360ebb1e4eeda6fc571c6e41bfbd4620b7dfbe739e60b660fc034f3d2f0e1e5a101b1e8c5c8f187e5a3f38c9734f35dd6742bbc";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.3";
+  version = "2.4";
+};
+notebeamer = {
+  revision = 68871;
+  stripPrefix = 0;
+  sha512.run = "87870abd8c42303024df10a6339f6973e83e61fbbffd8851526683ad672810929b1e2f2fb2c9ade58a155b063fa39932122c6e21c652df1a4f7ad60f64c5ab7f";
+  sha512.doc = "d9b9bdeff61fac3e6bea8aea4611cd46cc08362cc104bb30e4a67638ddb9d45c91059606d016be559c4926b0450bbef3962eb75d6d6c1fc14f262ef3acac2510";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "2.3a";
 };
 notes = {
   revision = 42428;
@@ -31122,22 +31823,22 @@ notoccite = {
   license = [ "publicDomain" ];
 };
 notomath = {
-  revision = 58726;
+  revision = 68014;
   stripPrefix = 0;
-  sha512.run = "87ea63d518f58926be25b144f1a76442873e991207feca20d32d5615c2a52cbc9df9547c081d220603cfe26e4e02f565de60d510d63dcd8179b2249ae2f764a9";
-  sha512.doc = "fcbcf7df38116022d439d6eb3b98e7e8979d934011bff5d7241e2490e83f4ae19168a4aff1cf4aa887c7aee90ecd82980679d21e53fd8780f5aa13c3b2681857";
+  sha512.run = "908ef695e1eeeeee1bbff53956b1d890fc9327cf985602877abc26aa787bbb7a09c18d592c2f5b2d1840aa91e0c1c0b071b8af0d576c5110eba5f62cc1f3184e";
+  sha512.doc = "708eab7029720af202b7af3d45becbdcd8c8fe6def7327b70f3c67bdbbe6c17c53c1e42912f4dedde1f805f7d7009a75e7d8279f7e3a6faf091ca6990cd4f5ca";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
-  version = "1.02";
+  version = "1.03";
 };
 novel = {
-  revision = 65848;
+  revision = 68807;
   stripPrefix = 0;
-  sha512.run = "1b35a599c2328edcba93e37dbb30e19c3e2211688a5c3525cf7da350113955bc421cb33239679f08cf9ab55a4858fed68ef5ca2731de3cdb1fb4d32adb975ef8";
-  sha512.doc = "5ee87a76cb3de38b44c707799d3d72405b3602a98026e96664eb08bffc30641e45d9802355a91a6fc8a4bd8aa0319597d111efd9968094bdd3718472bbd3be28";
+  sha512.run = "2debc0cd636e6d0fce34f841e46e25fb3fade7e601a43d6ccddacbdb475079e5cb07e83efb47c941cdda243bfa89da2b9215971d9012850c4cf0c780f8b0db6c";
+  sha512.doc = "851436d9fe782e654da5bfc8ed7f55cb63c3dfb2911fd4b0a01e9ef1e6d92044b1c44c471d99046c28e35d68010120c2cbc2101b379a9cc0584e0f18cf7e1644";
   hasRunfiles = true;
   license = [ "lppl13c" "ofl" ];
-  version = "1.80";
+  version = "1.83";
 };
 nowidow = {
   revision = 24066;
@@ -31158,14 +31859,6 @@ nox = {
   license = [ "lppl13c" ];
   version = "1.0";
 };
-npp-for-context = {
-  revision = 51389;
-  stripPrefix = 0;
-  sha512.run = "6d5da8b6e2f2bb6b514d43e8b72157a81285b6c15cbe74891a94f21a09a313813ebcf9e3a0a12847875f13d5599436ada4e5febb694c0a480931dd62a23035c6";
-  sha512.doc = "b3bddb0b9254ef9755628097ccb24ccbe86c25d3cba7a120c5d55da98a19061b716df1590a39323f57a8a698c5aafb5ecbe8b27d6505f2ba4acdf1ccdbcf82cd";
-  license = [ "noinfo" ];
-  version = "0.98";
-};
 nrc = {
   revision = 29027;
   stripPrefix = 0;
@@ -31250,31 +31943,31 @@ numberpt = {
   version = "1.0";
 };
 numerica = {
-  revision = 61283;
+  revision = 68021;
   stripPrefix = 0;
-  sha512.run = "9fec18e27d78b81ced365ebbe20ea49aca99c4aadd7b21cc630cede843ef3c191824556ebdb9988c125603760a68e56b8f9b4d0f37d662178af29e9f8182c0a5";
-  sha512.doc = "76b65febc8b91f2e4c18dc1b93e3eeb33d70caccbab60f3d34b3eb36e253b4d2a1d97213220d40d662c1e53bee2f2845784793214724c65b4dc19af288b9f49c";
+  sha512.run = "56dea9cc66c348affa62820c78bd92b793f6ca18c4581bdec25e4579ebea16bef934e1243fb18f35bb3ac62e1499dcf441099932c05f016f5edc32fe85a564b7";
+  sha512.doc = "321c27897e1d1fd615cd8e1d122cc6c0271e5dbe72c7179ad2dcd0e06c6084bfb1e0a6a244b55cc41bbd8658f5ff9fbcc0962e950564a3fe3fbd7d179f0317f6";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.0.0";
+  version = "3.0.0";
 };
 numerica-plus = {
-  revision = 61289;
+  revision = 68019;
   stripPrefix = 0;
-  sha512.run = "821e5f200b50097f245802fe7fc272a609988e5c8cee98c07ec1bd562d79bea17b8688cb5886febbd596904498aecee5794845deb83ef25a36c60afcbe8026c8";
-  sha512.doc = "f680560ebe7777ccc0e9f04dd209eee90c478c3d5bae3b32f829ab889997c31d9c5f9efe3a57450304aafcebfff09edb02481a596315e7f233b47fe328c6f3c8";
+  sha512.run = "803e50eefdeedbfdf610f4084eb8574246a3f0c56e647a1105df410254fe7d965faadb397690aa8df08e488c5462af2404293f7deae6f8ae5810bb34488f29fb";
+  sha512.doc = "aa8be0b87a737a956c5f69b84a9760ed76de6d0c4a6c27bbdf0a08e9d3cafef977c4a0c22f7d2ec088c278e8333cf85e7d84a8054ce8a7fcacac6cb8a0e2a5e8";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.0.0";
+  version = "3.0.0";
 };
 numerica-tables = {
-  revision = 61288;
+  revision = 68193;
   stripPrefix = 0;
-  sha512.run = "d06b2e85dcba39b2dff338f02ead71149330a711570d4c14ea4c2ca1f6c95d1bd8465967cfdb0e57b0a4b2b8cafff4f56ff585a1b2b2272f225e44958cbd316b";
-  sha512.doc = "9585b95c14bfde30d5de6acf47c0f23328c1b986c075b6842f5a6878eb15761c59843806c649bd548faa90cc46ba93d7ecc021ca699f5eeb8644a3d314e5d737";
+  sha512.run = "1244ae95394a7e28ff9281d1eb4f81de88a7e83e7dc880ad6c185591b2aeb3fb826113f83881811e19385aad5dceecb79d99fcab53f6d313b63b31235228643a";
+  sha512.doc = "f926645cf5f512dc655e46f6fdeb54b5c12050d66e9408690e0980843a291d2056a51915a44f2fbef6564f85344eea46ecbbf1859d79443952e989e6b8ad5e07";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.0.0";
+  version = "3.1.0";
 };
 numericplots = {
   revision = 31729;
@@ -31330,14 +32023,14 @@ nunito = {
   version = "0.0.1";
 };
 nwafuthesis = {
-  revision = 63438;
+  revision = 66895;
   stripPrefix = 0;
-  sha512.run = "fb446200dd57be37bca4e526506124bcfe3c35c3af452cbe542bf3f5e7c56f3108d5482131641a9bb8b379c4aa713152fdc13ee9f1aedb6a97c545328c0f04a1";
-  sha512.doc = "009615c925755952d8a26a8d51f6d8d066b644a9168e241b339a137e56365bb17452016c8befe3fa3dbdccf6ae68daea3f29b99ae8d8c8e50e8028570620da2f";
-  sha512.source = "d2544ff7f20410b3f84459776d5f5b29c0b0b88e3cd9a1da6f3280f6e536996ca04c15cfb831c859b2c7a95d9bc8c93ca45b4a5fd3967d9c5b4d49969b9e7c06";
+  sha512.run = "f3bbd684f063f59ea0fc53df99ac0e84f3106651d6ce5cd48d58cbcc7cfc205a9330db5d4c7988a213563d6fb215a1c6d90c240396894ded1b7ccef0ea4253c8";
+  sha512.doc = "4a5395c215dd135488bec466dd4fb210402bdca2e54deb727264b02bd621bdf16ea60b4c16c86497b016f30f2dc5c291d0d432bbd99beea84d59533d29c2557d";
+  sha512.source = "d6188d94c3c35c2fc63efbbc37263a3f0c584974de022978671701e8e0d25d26b11e3dc92edb594ffadab231e754745b35498f09d9f95e00a114f09f790d103f";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.15";
+  version = "1.25";
 };
 nwejm = {
   revision = 64462;
@@ -31350,7 +32043,7 @@ nwejm = {
   version = "1.0.5";
 };
 oberdiek = {
-  revision = 65521;
+  revision = 69038;
   stripPrefix = 0;
   deps = [
     "auxhook"
@@ -31361,9 +32054,9 @@ oberdiek = {
     "kvoptions"
     "pdftexcmds"
   ];
-  sha512.run = "a07473833a8eb833fa1b149ae6f913219c48ad9ecf9671196774d9b0ea7ac06ef110e3ca18a2a53d7a875ca803aff6e07cf435ef1e6d2020a353df97c0cb7046";
-  sha512.doc = "73a422dd8009d191a24790f5f68b9ae2a5046f3e42e3c360faabb3f7c7581afdf9bf2b20da8609e8d3513135ee1de98329cd4fb1713fce23c5a03fac28c976b9";
-  sha512.source = "ef0eeceef6d0f4d1cc804350fae483d464678397e9832e3bb17214dcff3f789bd930af2e9784bac89a53a39a107a76f88682a93a6323f4dfc18fdcbd1df98f8e";
+  sha512.run = "d8c75685ac77c9b8f3259952cead1d5d46dc7bc556044daeecccbe1229da7566c0a31dda776356a6bddd0b710b8e8e3e84612c3ea9e9691bb486e154d9e121be";
+  sha512.doc = "728d95ced0404da11e4dffbde075eb02803a09d5c89fc34b6ffe78e47c78837c105a85827adaf8974d2edc84ddf1e7eb0ff20846a2712d152011b2198bcbf18d";
+  sha512.source = "726481c21c3bda68ab4050c8dca78cfef2a9e7fdd6f8ee21540fc1dcd629383e21db06588cfd836915a58e4c8da7fa7762f4e65bb01da8d0ba94e874c1d04742";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -31447,10 +32140,10 @@ ocr-latex = {
   license = [ "gpl1Only" ];
 };
 octave = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "bd2876b39a108a398c0b449f4cfe67e52709a4c51be6e9506244e82323735274a748d5e40e6c6f109143e64b0b260d1a2eed350d5ad6db0d09e9d53a307fe285";
-  sha512.doc = "9ba7181b2c8d21f6c478600f702de184ae0fdb7f624fd6501f57fcded9164ee57ab1fb653ee533bae55e552e0a56ff232e1606372cddf26f8f904b7d9e9fd190";
+  sha512.run = "03db52eae29898d00b407af64fbc8aca35cd5c6165c3f7c890dce1f8218df65c3df447801d8c68d29af67f62de3057feff203de7486f192d9e7e6a59d4f28e02";
+  sha512.doc = "13cf74923401dfd58978c2365e27aa394aecf01849543cb6f65a52b3344902c546599c350927950f63e3faf1b81667e9329b9c18aca6cbb87327046f0d695988";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -31465,13 +32158,13 @@ octavo = {
   version = "1.2";
 };
 odsfile = {
-  revision = 65268;
+  revision = 68204;
   stripPrefix = 0;
-  sha512.run = "a7c6acb170dc5ad3e592972685f20c425de4a3751749722c72c90b93a7db47321e0b55a0136f27954c43449c2d9bc55077bcc87f92a8c423b6f1592bbcf7e027";
-  sha512.doc = "660ee30c7f9a0987e39e6a02dd1be48af9c90853b99b4f50b5beb262b3995c5ea1c37da90ee61252a62b9292e6f42cf92a74b8d02ee594b500b70dcd5bb164aa";
+  sha512.run = "0c663510fd84f116cb2cf12c41a59faec219b774fddec215ade16b9299db1e445e46deb565c4b0acad18ad2b0ac3c5f54c9b8d7b2ea3fa3bfd43cf86716969dc";
+  sha512.doc = "e76be0163772f0bb905cfc4987dd2d1083decc706e521647217b7ecb09214c29bb1118867bbe8d20bd2aabb1648bbfb3ac12ba072c38ab7242d3b1a86df5f6ba";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.7";
+  version = "0.8";
 };
 ofs = {
   revision = 16991;
@@ -31517,13 +32210,13 @@ oldlatin = {
   version = "1.00";
 };
 oldstandard = {
-  revision = 64464;
+  revision = 69185;
   stripPrefix = 0;
-  sha512.run = "0ebe36c3284f888448a07bc3cdb14717e73ab41e808b9ef6451065fa0c7fc6827746362a6a5453265d4b5a1108fe27d95d41cc51e20eae4bd625087b14dbac41";
-  sha512.doc = "b685cc4cd397ec413b5ce8aaed4f0a9aa1b1f213a1d57747233a8914fd868fd1d7fa50a199379430ec214106b5ab35bc1c86ef9d53d4628e2810a412c98d99f0";
+  sha512.run = "4c82d222ba84192cd6ed43e368938f31c0d481400f7c643defed74c5c39d38400515a69d4a6c76ad14d41cf64ed263e14e78ed7431f53d8c64fd9dc1c20e7bf6";
+  sha512.doc = "c2e55b9f48d145e4a7f7e976ea9cf46d1d7563bf56624aa5fdb1fb78f54f8386dc4eb7520d981be239e77823f96336e8a753bb623d286a3eed24308c6f59e5d8";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" "gpl1Only" ];
-  version = "2.6";
+  version = "2.7a";
 };
 oldstyle = {
   revision = 15878;
@@ -31553,9 +32246,9 @@ omega = {
   license = [ "gpl1Only" ];
 };
 omegaware = {
-  revision = 62517;
-  sha512.run = "08c491924b039476930473310611a6d2c0b5af7d0f2253a28558081cca254e6aa080727dc90456b4a011732353ca027569d7b8d8ab3ecdfb011ccc9f80e9ba68";
-  sha512.doc = "6d8331109f114612d637234164e9d3d8ade9e23bba200c1ef8bbd585ff4c3e9d7f58df3ddd021990ab26a5024001fd94f7fdb3e1e329e4f91dac069fc1f6ba32";
+  revision = 66186;
+  sha512.run = "9978e66b66e988d49f3dea44b947585e5ec4fd61f204ee06a56a9d32df721c1bd66ab32a05c3d36ca92e740aaec2b478261f3eaf8c48c0cb30fbf9bbb410d804";
+  sha512.doc = "e3312826fc6f2bb7fb8f116f7d73f4f113e2b4fda8acdce29668ffc324bdc90f26dfe21becccea36e53f22707067c19116fa2942fb4165aed3d7c28da88992ce";
   hasManpages = true;
   license = [ "gpl1Only" ];
 };
@@ -31575,14 +32268,14 @@ omegaware.binfiles = [
   "wovf2ovp"
 ];
 onedown = {
-  revision = 59010;
+  revision = 69067;
   stripPrefix = 0;
-  sha512.run = "67110331d1df4b6f454ab23e6af1fa9904689e9a90f3a62652fd81db9fc990aeb527fdf7d4c5bb04064ddc93181f45334a06214c8acf9930497994e2ad0e8002";
-  sha512.doc = "06f00f302cb363411756ba0dd17d9a431aa4736bca2c61b2237b466e12a4fe8bd8cf9494ad5626766ca2112ce629aa8fb8409fc19c2ff3f83e4aee088390031c";
-  sha512.source = "d7b3eb5dd5192af22735acf5af450ad0d714dddd434d66bff3a40151953ae1098cf8c27dc620f167bed2c3fbba13f86f62724312161bc321b71fb4f14d605fc1";
+  sha512.run = "bc62aac04466286d07ffaf65b31c4d7ecdc6f4194f99192700774a213ca52861b0296c3f9864c187a83926696ad3a3a139ae7c00be2167b970159a7605fb4570";
+  sha512.doc = "4fedacde595f96c2bd8babf38d4aae73b3bd9f73572547ed5b93e98c16dec50e89651c42aa4d90046464c765aa2f4d5f32d8aeb6ec5de2bb30f6599e53314e81";
+  sha512.source = "aaa8de7cb8444749e1e7671406229d222c36b35f2bb676208c22ce8708a4e1cdc791ae99abad9b55fd877cf97573006c41c5aa2fabc573df589d059924f64626";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.6";
+  version = "1.7";
 };
 onlyamsmath = {
   revision = 42927;
@@ -31603,6 +32296,15 @@ onrannual = {
   license = [ "lppl13c" ];
   version = "1.1";
 };
+opbible = {
+  revision = 68465;
+  stripPrefix = 0;
+  sha512.run = "8a4fe7d1241a1f1f431a666f0d6fecaf330cccfe19c2047d2e244b06838310dd106d2ff8dcd029301cbdbb0f2627e46a4f4c37b9a81104eb695d62f78d835ccd";
+  sha512.doc = "691b79162654071d39ebfa448203bec2c7dfec8091e781f44d7a48d4c16b884459bbdc4230626999349c6822b17ac5f6f4aba1a8dbd6c7e2a1d6127132faa2e9";
+  hasRunfiles = true;
+  license = [ "gpl1Only" ];
+  version = "0.31";
+};
 opcit = {
   revision = 15878;
   stripPrefix = 0;
@@ -31614,10 +32316,10 @@ opcit = {
   version = "1.1";
 };
 opencolor = {
-  revision = 66372;
+  revision = 66363;
   stripPrefix = 0;
-  sha512.run = "dd2765b31c111fb3c254e372c2ec59b65ea578859ae9b51a0da2c69950436d170173c66ba7bd2c51ae00c4b6afdba8fc35f48639485610bd358bea30d5efd4f4";
-  sha512.doc = "fc563574c13ba82dc3e39d137da510037b568b755d67b7046121e342c47d90e4519301dcbe6e8e52e6188854cac432e54d3bd4adf04ce6f3c2ee142bd1dc073a";
+  sha512.run = "b6b9368a3167db0f71fdd4cf9c369f43be2934060b79bbb2b477d8a247456a7f69932bb92bf8bb8c1e1b5e7721383079947fc40e1a5d7bc6f84a2e3fe9e02646";
+  sha512.doc = "ff198447e40d71f447688b5fb28385d9fe34265e520496f7d77acf7947569dbd6cc7a98802bb353648dc50979c4be889cef1417f2d15f98bc3ebf95e4a843963";
   hasRunfiles = true;
   license = [ "mit" ];
   version = "1.0.1";
@@ -31650,7 +32352,7 @@ opteng = {
   version = "1.0";
 };
 optex = {
-  revision = 66516;
+  revision = 68873;
   deps = [
     "amsfonts"
     "cm"
@@ -31671,12 +32373,12 @@ optex = {
       fmttriggers = [ "amsfonts" "cm" "ec" "hyphen-base" "lm" "rsfs" "unicode-data" ];
     }
   ];
-  sha512.run = "6bf9c1fa24209cc10b624d630010c18225a7034e9f146f557b5ae7e522260094767a4e81c1b8b4d9b01a3acf560a4fd8991796b386e01483e6908b7357efaa6f";
-  sha512.doc = "31dc2e58e6aa17460f2cd26001fd94e0e11b0b9522a3d0c182ca9048909c0262d97f6fc25baa74af6ff82bda8798d9df49374bfba1787852186c5c7b8d2a3a68";
+  sha512.run = "65cc4c05b41cf41a1346bf567f4c14183f11d5a6c14ed6ff79e301ae54523eb8a90eea8f94173b9817ac45c14d5e0f5748be252db6a247a5627b129949f4604e";
+  sha512.doc = "38d20d669bf1d8ce18f50e1824550e5333ead4cf8773aa074e31fa331878cbb7bfed1cf7dcd29e598698dd5fc9855197cf5e2b970b2549c2b79c6d78eeebefe0";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "publicDomain" ];
-  version = "1.11";
+  version = "1.13";
 };
 optex.binfiles = [
   "optex"
@@ -31721,14 +32423,14 @@ options = {
   version = "1.0";
 };
 orcidlink = {
-  revision = 59560;
+  revision = 69253;
   stripPrefix = 0;
-  sha512.run = "ba51e034e90800c402b559fd636acc38a96f0913c552e506e26457d5c690299c7860bf9a1fc911eb2d4e734c90f775e814b8bac52a492ad7743a47f3e89efc5f";
-  sha512.doc = "c20f8e77d3c5866f414f0dcc47d84fa3328492a003a81be1ac3aa69f9ebc2bfff7198be5656192ba7bc4330ca7b773c6d319ec389bd0ad9821ebd6159b7d0b97";
-  sha512.source = "485492dfc8256d97fd747196bb142eb178283eee98aed5edea689543075fe0992e9c25fa522c9fadd48c9b631ffb31c8600c82be598678b03e78c4e5643b8cb2";
+  sha512.run = "fc1b4a63ce470c910737593ac877b58dec0e77de2a258fe7943b156a31c5f224389f5be5cecfc9d3098cac690a627cea41993d7c47b4510762b3e5c04f63db2a";
+  sha512.doc = "ddbea7f5c36f26e329c8e58c4d8ab3ba6aa2371a564505bf1a1a80a2f89dacfaeba706ac99940da6a742df262a25acce0f7b812817cc4db99793ad11e06cf6cc";
+  sha512.source = "93e268f12d314647f19ab92910eddcc68811e4db66a6c57bae504525469e24e3e30752cdfadb44d36ea866719765c76d89ac8011e0e50f4ce6f930c476c2e4c8";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0.4";
+  version = "1.0.5";
 };
 ordinalpt = {
   revision = 15878;
@@ -31766,6 +32468,16 @@ oscola = {
   license = [ "lppl13c" ];
   version = "1.7";
 };
+oststud = {
+  revision = 67217;
+  stripPrefix = 0;
+  sha512.run = "9ffd86c1fddc4667f6d02a9ad91ce0a3e562147dbb8453c474ad5595a77df8ae77a4defca5f6fdec2ea837e37ab23128be1b00d4ec15f20cb0bbc2e591fdf0e6";
+  sha512.doc = "700021abdba0ba3484a0f11600564ffd372bd998f889da1cfa26ff505395844b958468675eae6465af4010e417a56df45c2226d6543d1bb6f2331099e08d9ac6";
+  sha512.source = "5a35d201ffaa677d464e0dd8f2f5a474099505d341ead2e00970be39523199a2e3ddec73da19e7ec329a53cdedad495640dd1385fd6e5d005dca9a5027ee8f90";
+  hasRunfiles = true;
+  license = [ "cc-by-sa-40" ];
+  version = "0.4";
+};
 oswald = {
   revision = 60784;
   stripPrefix = 0;
@@ -31775,10 +32487,10 @@ oswald = {
   license = [ "ofl" "lppl13c" ];
 };
 ot-tableau = {
-  revision = 59318;
+  revision = 67813;
   stripPrefix = 0;
-  sha512.run = "0a9c219d69f6eec4d9fbf8937e0cdde60b34cf38ce154332147ccc172b0ce90932ee08c7a85a68d4e5163461352745a5c0abdc6b8bdc187be5fce5b121f45c75";
-  sha512.doc = "8345d881600cf9f4d73cd2a23d12ff32f11a4d3a66b61262b0eae7dd3bc9039e20b187a6a9e45e9b15729015fb76b0e4e3e76c011e47688df09f4a848e508c4c";
+  sha512.run = "57ee595a08f2a30174215056300ed4f8ca496976ef7d0f80627b32d45bff7af85e8a33d8d37decd61883ab3cc61f74ce411687c260d2a427c96014d3defe9758";
+  sha512.doc = "45bcff2db460c23e543434ec46b8a168498ccf1fc1ac977f72f3022ac7ec02a874eda98a3bb6814edd22d86915b354fac5105efd1bcdb8eb979837edcada699b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -31833,13 +32545,13 @@ outerhbox = {
   version = "1.2";
 };
 outilsgeomtikz = {
-  revision = 66465;
+  revision = 69124;
   stripPrefix = 0;
-  sha512.run = "b85975fa408dbb46dc8117fb21ab7362b2015f528a01a98a70297eb84420b717811f49f58270a6bc1fb87e744c30350332b3e1cd3284296addb0de8c3884b001";
-  sha512.doc = "39b97b238d339513a2644b2d2720d67cec5ae017b5020a9fcce50e4289fcbb7c4144a8a2d8509869e67869ee2fa3da89ad4927a576d110cfc4e71c14236278cc";
+  sha512.run = "ff64c7a149bd0d890896936c1f5c818cc6f9c34a50b6f0312134dd47819b45df36a769ddd5b4db903c441217062bbbd44da086fd0bfd863ba8bbbbf6f96a764b";
+  sha512.doc = "0cebb1b166aa5b6628eb9aa88788beec5da60d7b25b9d110465ed25b130bbba2636209e151a9633171bc016e0953b5f27780ffa02ca4bb2f0dadc902e998141e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1.1";
+  version = "0.1.5";
 };
 outline = {
   revision = 18360;
@@ -31905,14 +32617,14 @@ overlock = {
   license = [ "ofl" ];
 };
 overpic = {
-  revision = 53889;
+  revision = 69343;
   stripPrefix = 0;
-  sha512.run = "f6946c04fb1bd17f8708698671c17037688198996cbfac9b358169d1cfbaed9835b1b05b7779f3b4545c3b7de1d0ccd5148757b3cf125983ab0cdb8d895c5e69";
-  sha512.doc = "39a93d00bc5646095c1e104927655e61a6fc337ceca8c336cfd40c39a63c02b18a440ca4c9557537d3ddb991e0ba4aac9f9ea821c7cce3f447359fd9f0203dd3";
-  sha512.source = "9cc367d8b54a2c01d694602cfb8b0d0ff9e9d2117fd1e20a34ac80b9a1007f44b670eb17a55af7b073385ab4ec9511e76cca508ec108e22ec6f5891c0d32477e";
+  sha512.run = "6663af049c657a947c3894157eb21c38f8f240250894ee1c8e34e3ae7cfaec294670dcb053d36fbb7749c383b8e9645d25f583670401c7cacc232eb64996dcd1";
+  sha512.doc = "005e2aabb66cb7904544463274add08f9680a38cb608c9d8976e4c8cae114658278d2fb3dae55af989c21825dc9d71b4a28202eb68566ab462d1a4bda76ad54c";
+  sha512.source = "3d0e1d66a6ae6835eaa1e5342a448895d6cc6ca5b0f9a300113b2c43d276ec9e1785c41700895f4fcfa19d4fd3098e476dbdd320eccab3c2facc855a85f63870";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.3";
+  version = "2.1";
 };
 pacioli = {
   revision = 24947;
@@ -31943,14 +32655,14 @@ padcount = {
   version = "1.0";
 };
 pagecolor = {
-  revision = 65843;
+  revision = 66885;
   stripPrefix = 0;
-  sha512.run = "126ed61dfaed5f680d4055c6a19c4a1842f7b5d49e09e280f2dfa36886211881ea1b94197f20268aea6f0d4a3237366eb8b6eaf22e46934b59c4462ffbccc264";
-  sha512.doc = "963f381fb9968d613c5a1ef805342111c423dfbbb7700761085eada847aa526170342c7751e5f20d5784fdb4361b1e4631f875843dd7559fa435372a74987bf2";
-  sha512.source = "f693f0b418ecc9a7bd70e33f5ec497d4cf91cb5baa1f6aed92e11b94bd05185bad6c5362d1c3fb227aa7f533e7c69db082eab9ed7f59d49115e56400f11cf97f";
+  sha512.run = "7cd71dac6790eaf48afb107310961bbe37f04199b70316009f6e62c064c23f0bc7e4601765fdc03c98b1a39c35f9f53a7b83023e5f29ec0a273d7130b13802e2";
+  sha512.doc = "ff3cad39418f1a6a1b4e31788d79eb83d33cf7d04fcc8f5ad4703b60db1a581ab2de158f0b4d24d42c13fd2ddd6c85ad4eb3f9f4db09927ee2c97eb7d4e4a063";
+  sha512.source = "4fa8f8d617bf8cb1d8a2399ddc88ee37778f1a7de904385351fdad3c4267c1d27e8b6157a206ee0b434991da0a508c42afd71fcc4cea81477e44849c15f81384";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.2b";
+  version = "1.2c";
 };
 pagecont = {
   revision = 15878;
@@ -31973,13 +32685,13 @@ pagegrid = {
   version = "1.6";
 };
 pagelayout = {
-  revision = 66399;
-  sha512.run = "062652a39fb6aed7efcc700f4a47a94d2d7307be4c79a700ddbd7a40247eb3dfb0373611469a6e624f8d24e355dca539ad822d7b41d81cad6475ceaba06ab2c1";
-  sha512.doc = "4f2d2790ea9ac43457b07b510eb95d91c5f17b36cf65953ae4de4fd0f483fdf7dcfe9f76c4e186ba3d55fe48c396d220a5a6e05b3306444dc16ed0339ce70abe";
+  revision = 69188;
+  sha512.run = "0eeb34fae976625ba534e1f1a5165d56cc04a91827d8951e1c8cd125703bc35b455033522fabf2d62d024e4ff8242cf6301a513898907aa54f05ce43a684cd35";
+  sha512.doc = "efb086ad732d35c6415c4bba8770c658fd5486573c42f310c56d3de667f9bc3527297a348fdfac2593965ef6ba5e65f56f6e2c19b8163edd68d9ffb5f40a17e8";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0.4";
+  version = "1.0.5";
 };
 pagelayout.binfiles = [
   "pagelayoutapi"
@@ -32051,15 +32763,24 @@ palette = {
   version = "1.1.0";
 };
 pangram = {
-  revision = 66305;
+  revision = 66300;
   stripPrefix = 0;
-  sha512.run = "6416585df4c53b96d43098c5cd1b7652ebd671f0e23bdd0a3a35f4adabc74fdceb5612c9268072bcd825eb612d9b6e9d160b9fc20f66c56733b273ed72297fc7";
-  sha512.doc = "2f9e562cfd2acfc429216e481af0527665d244d011a548ded1c92d08d20fa8c42fa62020dccf67c5af3b3dc1f6ca79b5f856d5ee13afcc19935096dc0dec4d18";
-  sha512.source = "f4612d1f8f58dd8cff8143ce59f4976038d075b771860ea8b11210933862413f2f48977c02ca89f56e168ff64448cf414a0442fdd9c10a4507059eb2d8b94022";
+  sha512.run = "1a74fb3bb7d1a4c9dfdb594bcbfef7b716affa55bbc7010fed6937708f9ca0d9f644c2d56a557737b56c1b8386de90a4b4df699aa50631c1e94f1e4e3c9d3465";
+  sha512.doc = "eb031dfabc359fecf7316cfac1d799f8377b38d2e86922a52e2409214f9dc251d1ec5c5ea439ce2830ed21ac9a02925f442e0930f845b849b7ef662c30a70955";
+  sha512.source = "8d5a945567245da7bdf69db5cdaa72d693054828d948700210e8a71c3f1178e7c690c7fb912275cbb1b3700f812482aaac896875ebbfcc33d3b9531f37b6cf89";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.0c";
 };
+panneauxroute = {
+  revision = 67951;
+  stripPrefix = 0;
+  sha512.run = "d904edbcc40640e89e3399a5e00310174bc9317a1ac87da86ad15dfb2ec24757b21cc9ec1d9e562547b6637bc63fb1d58bc5373d4b84f4b53c0194c001a2ae59";
+  sha512.doc = "b0fc8b96588dbe692eebec332da0cd3fbea74090b566a9afddad30b6028d3592e95f729d7d8f6f198c14e2cbe63e821715ddd2678bd4a58865c5a159d8d8ce4b";
+  hasRunfiles = true;
+  license = [ "lppl13c" "cc-by-sa-30" ];
+  version = "0.1.0";
+};
 paper = {
   revision = 34521;
   stripPrefix = 0;
@@ -32080,14 +32801,14 @@ papercdcase = {
   license = [ "lppl13c" ];
 };
 papermas = {
-  revision = 23667;
+  revision = 66835;
   stripPrefix = 0;
-  sha512.run = "b5ef2975638a8eb48e7aa9fee72024eaf5695ee3133a35a4326461de03e04b750ac90e0874de232176435e0855807aaa074e6555f3368fee55fcaf61e6abb552";
-  sha512.doc = "2d0a43fd05efe6c96a7852f35c560b77b9461e005432f972a9896184831fb81f72946956f3aefd115ca0f5fbbf684ab615d50a7ab98a5e09a190b72a08e56793";
-  sha512.source = "2db3f6acb382f73ac6d220a4ec378026673ab16d54cb02a93926d30eeb8d5377d5329869cdfb3563915bb93253d64a3741a3498e197958e93929e8651f33cb02";
+  sha512.run = "a9c2fed35bcabf0e3feb98fede1f66f0c60dbe6a40b50c3818cf88821712ae4ef789fb5a080113f31cca4851767e4b607c623454f06a8dfbe1542bc3897dd7ea";
+  sha512.doc = "2837d42a830f3a4517b7a0bddd9271264643198be3b1d805e471a62c9c87df81944a088b448829c26e05868cbb5f6a12480a6faa9a8c5d3f56e0c52c38c8cb75";
+  sha512.source = "b64f9a1940169e858a51f94eb03ab1843398deeee001fd63bc97ca0a24d385d8f8d6b65a4195fcfe52fe76493c78506a7e68c1e32be1d669b16087a741122ee4";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0h";
+  version = "1.1a";
 };
 papertex = {
   revision = 19230;
@@ -32099,6 +32820,15 @@ papertex = {
   license = [ "lppl13c" ];
   version = "1.2b";
 };
+papiergurvan = {
+  revision = 68239;
+  stripPrefix = 0;
+  sha512.run = "0f79f739273caf08126817ac44fa0c02bef9fc2e2bdad32eee12d1e377bca14618b426bc71f4f9cf734a5e63c319ac019de2c7959d25a0e31f594aedf1ec6d98";
+  sha512.doc = "c9b4f46772ca50c8ca89d7d3d35719d8b2a7dd7ffc9d09a39569500047640404d1d3937ebbd4b3380a4e13cf56fc2f722d444f71afe464df332a69dfcc6049e0";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.0";
+};
 paracol = {
   revision = 49560;
   stripPrefix = 0;
@@ -32137,10 +32867,10 @@ parallel = {
   license = [ "lppl13c" ];
 };
 paratype = {
-  revision = 32859;
+  revision = 68624;
   stripPrefix = 0;
-  sha512.run = "f7c3089b516e40d9d5534a1d25ba104623f37c3d2b77b6545b07034114644025873c0317f4a0bd5b54c6471853f5e4c7847176b42a6bdae29a6efea555fd7ae7";
-  sha512.doc = "5d11fcd66eb57909bdc56416f53c060cd248731cea02bbeee232d10cbcd2e10753a66ad7347212337b6b110e94a82970f98b1486ce21a6ce61fffa50135a6b6f";
+  sha512.run = "b6f50e5c3063357e04e94a9454cc34b17e522c54effe14696d3d81e6de1f4732953b608c0c0d13965dde5c9c95e125d967afc888ecc9396001c1deb89e9b70ef";
+  sha512.doc = "ba91b90030c703dc35a77b9a51a23d90e5cd6f0a6490f74e151023248b05a6a0ea5bcf188e3c8e69611b9b7d5f72b4569538a9da02193ca737e94e744c83c107";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -32191,6 +32921,24 @@ parselines = {
   license = [ "lppl13c" ];
   version = "1.4";
 };
+parsimatn = {
+  revision = 69090;
+  stripPrefix = 0;
+  sha512.run = "73bb90c41be56b880b11114110a69cc206640ad97a2193a9557447ca8c901bba3485a971e31b6888b671b938a24d8bc880b532b5638a4a726fbe7978b1417bc7";
+  sha512.doc = "c2e6b53ae9e2c8c949ea843654eb9d1545907a539af43f0b6f1728d78f7b0fed3ed1f92b8650aef85c0cb34e9cc91ab9ab8e1e7e4c406f9a9bf0f02ade10c243";
+  hasRunfiles = true;
+  license = [ "ofl" ];
+  version = "2.1a";
+};
+parsinevis = {
+  revision = 68395;
+  stripPrefix = 0;
+  sha512.run = "bb783a5c4d45e32cf5298d5407b3fcc98d64cb0f5c66a5f45a564acd3fc90faa6006d5d649597fb293aff746cef1be3d1304a7ec223e1fa604f7eed4fd705746";
+  sha512.doc = "4509dd23bf7baeee99ced80e0b1d225dc2d616c992f44e5ed5fca7a75bd71dbb97081ca04b96477d26897f6481c929f469bc2483fb0483485406a90962ffd6a4";
+  hasRunfiles = true;
+  license = [ "ofl" ];
+  version = "2.1";
+};
 parskip = {
   revision = 58358;
   stripPrefix = 0;
@@ -32229,13 +32977,13 @@ pas-cv = {
   version = "2.01";
 };
 pas-tableur = {
-  revision = 39542;
+  revision = 66860;
   stripPrefix = 0;
-  sha512.run = "61fc474406d55ce0fa4b2edfb41f4ac9b2585e448c2b2b76452a29f2a03eec9ea1658cca2fec4fd0f1b8576919698a6d3ceeed650b773783af47685f33c969fa";
-  sha512.doc = "a498726006eb5b3c7352a776c47e215fedfa7005d529fbdf071946ec736818e6836591670c7342e84d2886718d2faeb44824256f2aca744bf97d157e00f71174";
+  sha512.run = "3457ffc6633ecd2eddccd0070a1ea5458d5126c1a42684991229c7eb8ec7e64db31fd809623b930cf4bb39c928cea2bd6ee2eb5ade840ba9ad36cc28b8d307b7";
+  sha512.doc = "495b121c5860a96603a060e925173a7d197d0d22e13ab26857de5f7453f061847620b44b95c6494dc8e1f8108e58d987cec5728507cda2b61e40173c1b6d6a95";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.01";
+  version = "2.05";
 };
 pascaltriangle = {
   revision = 61774;
@@ -32271,12 +33019,12 @@ patchcmd = {
   version = "1.05";
 };
 patgen = {
-  revision = 62387;
+  revision = 66186;
   deps = [
     "kpathsea"
   ];
-  sha512.run = "e4b04bdc28d75de619307567716d2c29b41286a82cdafd6eca45df36baf67588cee94c4c320abadee4e3103fac8b33ba9367114875e56f198665388fc93e341d";
-  sha512.doc = "dcf16fddb0085e8a8984047ff9e500c8b7fdd7d6b24b4f6154f464e05fe137b807c13d910881fda96e617cf80780ed1e75ccfe0fda2477b1d9b95990baf5f279";
+  sha512.run = "f37ecebfd74a30b2f4fcba5db893b31e7672f2d91d2be7f003bf625512dd54be056a23165ba8b1f5ed2165595405220df20dbd711e63a3be9901424aaf1fb0de";
+  sha512.doc = "c7bf5af0965cb675a82ee13c6ec467f88395438d07d59379f4850a36c783cfd6661d6fa6493e67bf39e78be615e3148cda9452003b5e9f5d5ceb1fbd305d4ee6";
   hasManpages = true;
   license = [ "publicDomain" ];
   version = "2.4";
@@ -32345,28 +33093,28 @@ pb-diagram = {
   version = "5.0";
 };
 pbalance = {
-  revision = 64002;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "15d9a54d38158e1c3b48dc9d420b081efd011fc282775e68e83f758be4c3d1c40efdcca57f4ab29a9d206b09457afec0ca7bb0580e4bd337e0814a04d814b423";
-  sha512.doc = "1e0f25b42dc5928269cbb2aa56ebb7b1bf4cc58ffac0c36db6bc8ada8c7cd09641a95b4daf5f248a9156cb3d95d3c3ef48a5410f1eef6437ce4878e0113c6aac";
-  sha512.source = "6489e6563c2f1265b841027b38720ccf55d2a9acd601e03a1173c2c6fe8de57bf1c7778239472d7265529a7c51bfe3f21c5dfd19f863b9b80ace3f6b68d211a1";
+  sha512.run = "3b9579669a9bf79892e433eb5ad7203254fa99615398e9ec58d1438d4b57fb94a5fc0dd14867b6ac18a874af3c4faa1d072a9009086b125a18ed21de144fd40c";
+  sha512.doc = "d02220c268923d141faa2a4249d50c8fc9f119e1703475f1ba979903a79df79b6ce48b70e113c0193a9b953f935446486e7d926ff52ac1eaf5f2c193638f9a87";
+  sha512.source = "141d99a8fcb9ba830c6df2b74fdb00dc8aa22781c6da19785c9b6b04ad7717b8f8e04315d5f9ec7ba2939f469d6728fa845c1ba9e6da1bf3cc0a8aeac0291fa8";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.4.0";
 };
 pbibtex-base = {
-  revision = 61914;
+  revision = 66085;
   stripPrefix = 0;
-  sha512.run = "dcef21019daca2ec8a2a649f58f3e648cc580c6d46fdb1c7a315fd66fe6e9075dfac8d12dfe901be0487272419cb10257007b8e34a0a6d11d93f6b5f67b5f988";
-  sha512.doc = "897d18ba8ed56a44541dab0d07c0f1fff059e08ae02165b1205e439bb3b0b61484a2008a8a463690f9fbc628fbd462d271643957715a32a712e35cb9dda3bfd4";
+  sha512.run = "6be03a9f18741e16104d620effc7c0669e12ccde1aaa7d4332ada2fee95ceb1a6b30db4df41386995367b565b437174c0d4cae6e330c8181ee47095fb9bd5a5d";
+  sha512.doc = "69a7e564464d8b1c31474ca37b5e9fadeb4c2d4f4d25dad5f884317b226c6b7f8f467cd1809e1330cb64fe2006f1ab397cf4f163e469a14fb8de5b778dc70c08";
   hasRunfiles = true;
   license = [ "bsd3" ];
 };
 pbibtex-manual = {
-  revision = 62913;
+  revision = 66181;
   stripPrefix = 0;
-  sha512.run = "afee2e70ddbf92910e08425ac6caec1ed8ed55ed8e1e4d183bdf15072de18516193c97af05af316b567ddc81aa78fdc1e8d1e376adf6913edd961205e05b7330";
-  sha512.doc = "318cfa9e0540149de336e021b2ea928bd68b1ef633f58a5dacd85cc51e62f835c46b27160ed2cb444f68b82c3e859eb464064213013ed57e43fdf3f6e2863ecb";
+  sha512.run = "ca4690e0ce37561dcb877d17310f498b5b528cf6892beb075b4ed87f1a4432957c2ac56ad29f66da1452794c587f2d9343fdf7715c670ac7c3f7880f620f698e";
+  sha512.doc = "152ac93c6e1bf07d90434581a8891f293527d4ff93f7d439e7e15c99d53b0cf43872c9f8a6935fe314614b9c3fe3cbe7bb3dfdbba486dc7248fffc60742f37a0";
   license = [ "bsd3" ];
 };
 pbox = {
@@ -32408,6 +33156,15 @@ pdf14 = {
   license = [ "lppl13c" ];
   version = "0.1";
 };
+pdfannotations = {
+  revision = 68958;
+  stripPrefix = 0;
+  sha512.run = "22bf69647c957f3235fe1be6d90cb75e66188722e3308f80724dcccd9766a470fad09d0b6510fdf7d7e012d595726b5053ca727ca813a2771cd601f8761c97e6";
+  sha512.doc = "900b6383a998afb3593c6e588220341f73d3a03ea81e3bd4f71369b889ebf722dc921da4607342f7e35fa22e62b6f11a22af1c3e8d64acfad9ebc13ff1c5e66d";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "3.1";
+};
 pdfarticle = {
   revision = 51127;
   stripPrefix = 0;
@@ -32478,12 +33235,12 @@ pdfcprot = {
   version = "1.7a";
 };
 pdfcrop = {
-  revision = 55435;
-  sha512.run = "ba611ee2a516fb031a7f3c93f563b2aaa2e50d4ef95433a5d83ee46191c2a6001fdd4ef25f33166c0e3f9791e85c200e452684974d54d34e8d651a7254f6652c";
-  sha512.doc = "786fe00793f62e09f225ca0decdd53ad3b2ce03a133a2ae4ba20db9d40352863dc6a8728e005aecfcaec06072e8a0ef454d1f7fbe90bfc5997cfc65c6ab97170";
+  revision = 66862;
+  sha512.run = "d2f33ad228c2cadc78cc8f16bae747ff1aaf98094a5dbf16462bdac0957f14aa32636b3ee0e16603e7e3caacfbd0d76526502911cacab29dc0a3d85c46a36e44";
+  sha512.doc = "0e3eb0d735d146c98bd9a34170afdfe73fc987b4d4a7102fa220e4d6e7bbdc185cd0d3bc219ffb7fa14c6fc1a971225ed24335e4ec9fd2ab9d3923dfb2f15137";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.40";
+  version = "1.42";
 };
 pdfcrop.binfiles = [
   "pdfcrop"
@@ -32509,13 +33266,13 @@ pdfextra = {
   version = "0.3";
 };
 pdfjam = {
-  revision = 56991;
-  sha512.run = "1b1084859a811861e60e27186d67d267d3740152331f50fdbe67ce7226a76b4db24d79b674e6511d2f3de9a711da3369c565d781614f5d0c1a8021bc1ac18827";
-  sha512.doc = "a29c09a2e843188135265aaec690e09cd08fe29076a0378b308ec0e48aa7936ba0edfa7d6ad3ac808ec334bb5c2793a32d8ef625f4ad9b3fea40d4db567cae56";
+  revision = 68597;
+  sha512.run = "ce5f86bc1091795bd749d79b348d5f2e5e9e012925222552c9b9431100d1608a20356fb6379c15cfcbc76096e65b2fac6725ecaa485952a28408191db2c46652";
+  sha512.doc = "c72b039c93eb3ae542351117de5d52eaec2bb7a191092ff8547947b11e9d1a6a921010d211a1366f71846121576cd6ac105d3002f95ebd3fd4aaa8106855ba5e";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "gpl2Plus" ];
-  version = "3.03";
+  version = "3.10";
 };
 pdfjam.binfiles = [
   "pdfjam"
@@ -32542,14 +33299,14 @@ pdflscape = {
   version = "0.13";
 };
 pdfmanagement-testphase = {
-  revision = 66534;
+  revision = 69078;
   stripPrefix = 0;
-  sha512.run = "917ec60e918fcf8f23fe44eec39d9f31e8edecf2421b3b2c4c4e015691d13d568a33b4290d0db6318362c51bd67cd64b329c3f6c8a755c35609a02b908d15be0";
-  sha512.doc = "b4359b695dbc834aebf827b91b8042f9cd57a3f1ae67459e2ad1dce882fcfb1d9042a781f24faaa13bdd7bf1547cfe693cfa422960fc1ce90d09138de2e11da4";
-  sha512.source = "08783e1c58f595dc5efc13ba4660de5dce1660615ca51b3e5404daaf99f2fa17c5c2e34cfc4d9954a320358bc770eb005a6d9127132a4e0add5ed189dce49e7e";
+  sha512.run = "f0065e66e3d94a483ca1e3dc3c7a1f78a1f2f8b038b45781e1f7011939e65814737c60cd606d291f153bbc633ddb15fa7f2b53414f857bf9ce5791a211f0bc07";
+  sha512.doc = "5b83c8d73ab6a81d1f32a35c762cf13b7b8c0efabde94735a3c45716ee470abb3d370f8d329e8785685f777ac812774d5b16de3d53991489d83e219b264b665e";
+  sha512.source = "cded0f375bdf26cbf999fb435c6b3eb9084f6d481087e64d9b50ad9e5414ddcc87a1a495b9a75326a65437021da41ec011647e2ba2a4f72d40e618b2519e23ff";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.95x";
+  version = "0.96d";
 };
 pdfmarginpar = {
   revision = 23492;
@@ -32561,13 +33318,13 @@ pdfmarginpar = {
   version = "0.92";
 };
 pdfmsym = {
-  revision = 65324;
+  revision = 66618;
   stripPrefix = 0;
-  sha512.run = "b0cbce8135522af3d0cb1087c2ec4522f58f1afc70a27d957d9d54d1da5890cc89a6593504f5b4b2ae4c4431d0d914b8ed59bd04938e0efbf16fef5af7ff96ec";
-  sha512.doc = "31135f5ce4e37916e1bf5ab31864953c0b1988a437d767cfbb52925a8cc38195e1d46f7f45fa0c62a07d87df31f6ccdf2d584df7f5082f1061be998a1e9d16b2";
+  sha512.run = "f424a0fcaaf484f919b1e6646c63eff6550711e23cf938886b9cdbcef8719defd1d23efe949916cdf27dda54a87a8eb5448d4c9e8234ffc043dd295937ea5365";
+  sha512.doc = "a40e39c7ce6e5d93339aeb6a1ffbb23dbecd11656b6c698362157c0fb46477dc4506d6b40269b3e9f10cf8fc0b2c982049d4e732b92c0a3401a0a40614b631e7";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "1.1.0";
+  version = "1.1.1";
 };
 pdfoverlay = {
   revision = 64210;
@@ -32605,20 +33362,20 @@ pdfpages = {
   version = "0.5x";
 };
 pdfpc = {
-  revision = 63866;
+  revision = 68610;
   stripPrefix = 0;
-  sha512.run = "059558ba3c3ce0ec378960b3801fc9830397a15078b7976fdf34fa5ea62969d74f0e05237d88600d01629343e7400e5a67ef6dc49cadc7dc6191dc273d198ed6";
-  sha512.doc = "c029ce76687144f7351438f3ac34a7ecfe042923c389983aded1a80b8c5e7ae1c1b408c49adc4b543610e2190bd02f32e36c376b7a987dfdd298e98a10cfcb81";
+  sha512.run = "f94232b95cefe880b963755f18d71e4d4c00eec6a095a3ada786bba4036c8ac1bbf92377fdc64d6a4fa1fd8a3eb2f308a5edd451646f8d552dc1c29f7e93dbeb";
+  sha512.doc = "762933c4c5864e8f94a0719f4c26e5b1e576e11353553875df690fe9f2546c08dcd2f35e7ae46fda6960781fa2223d874acfb5c0c8f6a7f1732e2ca227001f46";
   hasRunfiles = true;
   license = [ "gpl3Plus" ];
-  version = "0.7.0";
+  version = "0.7.1";
 };
 pdfpc-movie = {
-  revision = 48245;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "131ebad8b05395d0ca812fe50a103847393e4b00bc5574109ae3644b6500c58b86c48e33aab548c2404bd08ec6b893b9461d76f957111c7e653fec8473b8e63a";
-  sha512.doc = "fef635a0d0a48a6cb35fe8c3e0b17342b84bbeacd1604e01e9fa1217ee92aef4fd073c1db5aa72161082c6dbb273f1a2fc55a2bb057cf3fd12796de8844df614";
-  sha512.source = "e4080ab714b791e2204b8215b70a0b979b9810c5c69c69234f6aefd4b02bf182245b0e599040f56b4814c6486ae6b7f715d3bb597c03475c38f4d5bc624777fe";
+  sha512.run = "55d8f438a458048893cf6cdb56969b84c5e0d195346a0d79f4e097a6ea336623133c42efedd1416e294d474f44bd01c9fd5efa6e38d44fc49194fc5de9a965bd";
+  sha512.doc = "96eb1120fadb2fa47cea38fb9fac189d8e142f9fdfaca5f6c46b5b0fabf603f7fbfa013715d589b25ef928bd69ffd273afcfd5d1fa0d8a30f2f8dc6c50c20cd9";
+  sha512.source = "891864cdee43d1c4da7ab9cefd3ba751ec7f574811ea09f680fc704475fada67c3b2fef727abc254b83269bb169f8d8f2269e5d938b9ffebe624cf9c31e5cf93";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.0";
@@ -32633,6 +33390,16 @@ pdfprivacy = {
   license = [ "lppl13c" ];
   version = "1.0";
 };
+pdfrender = {
+  revision = 69058;
+  stripPrefix = 0;
+  sha512.run = "507450ada31750d833e46a74ab38570bab964c4d36224482d0aa14b2f846a10c34c21735cbf7c4a8bd7f6c10dab5932830ceeef8198b98f72a716aed27a0714f";
+  sha512.doc = "447336df8ed6b0f026e9b99a5a45481fb04da0dfe009e091727d99ef536c5e073ca90bb9e4268104146908f5bd6588dbb8d294cceb0acb3f46763e0f835b6803";
+  sha512.source = "83e6d5dcb7aabd6bc3e84d273687b91326209dd78b8c91acb256e5c42566a4e441e526de9b64fd8d5310a6f393ee7e66c6f561f87721959fe2cc9e41aca02fc1";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.8";
+};
 pdfreview = {
   revision = 50100;
   stripPrefix = 0;
@@ -32668,7 +33435,7 @@ pdfsync = {
   license = [ "lppl13c" ];
 };
 pdftex = {
-  revision = 65808;
+  revision = 66243;
   deps = [
     "cm"
     "dehyph"
@@ -32703,8 +33470,8 @@ pdftex = {
       fmttriggers = [ "cm" "dehyph" "etex" "hyph-utf8" "hyphen-base" "knuth-lib" "plain" "tex-ini-files" ];
     }
   ];
-  sha512.run = "a7b4d8672355fc3edaa1fa0b31ea4009c7dfe33d779c82dd5c2182c1b136f745c9b3fae6089b14458f0ac5d5491f0070c9232eca0fbdc27320ccd87d2f34f50f";
-  sha512.doc = "021dcbddbe4759731e9411be407a5e2f0c66b04fe22fc5331420f0dad295d3d28109352a962f6d83966ee7b7236bc1bb5aa2455074c19e032f01af415437efb9";
+  sha512.run = "c0158cb19918ea2bba57cc68e32af1d2c4ef50ba45bf05e0c8b7e64057daee19843ff77633e4dd0ad660df39983c46f755c691f85d4aa2000086c02d48498d0e";
+  sha512.doc = "d059f01596573efacc4ca80333b07236f860375f49b82d0cd3ab6b3f441f379163a37c820e713a2d96a8f69b821b3dbd68f360c5b5f005dccac54575df4b5d4e";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "gpl1Only" ];
@@ -32737,9 +33504,9 @@ pdftexcmds = {
   version = "0.33";
 };
 pdftosrc = {
-  revision = 62387;
-  sha512.run = "c86b7123c88bc5c50a8ca4c6e435eccf04cb5d2e2d2b2a25922dfd69cc2eac3eb09c0bfef8fe0444a49f13035cc6a475de54e2b4ced603841f466b2c07568434";
-  sha512.doc = "347ff9fe5424657b152afe0cc15ded0b2a81911934c3adac249c75f32f21ab72970bd285ae29447b7189d4df0399ff0dc3d084dba42896d17c5fbbc33cebf7e6";
+  revision = 66186;
+  sha512.run = "8cb175ce464b0ec0bf74c39ddcf381daf9e27635098e775d929f5cdc60858d39cdbac1a4302446f9368a274ce4c3afda9636d882ef4097d2272d22e190d8d272";
+  sha512.doc = "01598180f8eff2913eeebf5bc3d5f3aba32029286fc6e0c072aa8c0f4dabaf0c6e71ae7451ba9a7b65b4d0075a7f0a3baf345b02c5826eab64d74e39eb82798e";
   hasManpages = true;
 };
 pdftosrc.binfiles = [
@@ -32764,10 +33531,10 @@ pdftricks2 = {
   version = "1.01";
 };
 pdfwin = {
-  revision = 54074;
+  revision = 68667;
   stripPrefix = 0;
-  sha512.run = "13981a137ab920fe72e1f79ae3bb14bd9e37cd4eb4dbb66095926e54eddfd28903b403a896a013ac40fcac80736c566e983e34fb9b7a54d0759148ce33af14aa";
-  sha512.doc = "2b8d546b5591773cb9ec3ee407d7390b81e8ec1a6232b626ddbf9bb2cdbbc8c9c00e08ae4772a4b67cb38e96ec2be3db981eb163d412738e5e7bf94e5196637d";
+  sha512.run = "1064e81793884565568f6bde33072dc007c9b9a07c010be602111ea4429ccb803c18a3af13c85bc1367279624266063756bc59c72e6190e70090eadc8857b8b1";
+  sha512.doc = "5055cfb0e2cf0e1cc105a43fb82c05e133863cd22278792de5aa931afd84afe7cc3b35566a399dba97645da4495d16e47d723155991ecf1bb3e13a892f230787";
   hasRunfiles = true;
 };
 pdfx = {
@@ -32815,22 +33582,20 @@ pedigree-perl.binfiles = [
   "pedigree"
 ];
 penlight = {
-  revision = 64811;
+  revision = 67716;
   stripPrefix = 0;
-  sha512.run = "eed3971fed0d6217064302b136a8262160e3b37ebdb7faf3fb30a0828806c806a5df1d6c4e8833b2552abb21ec8061ba95ce1b688666964dceffc3697b7e2624";
-  sha512.doc = "cec8a8295e8001ec349f551b5b4d32c8bda1beddf7b22eaa9de6bde6740b49997c5c5eb12b685eab633f293b7d96bb781cd256da689268ddc70479d6fa7c5f63";
+  sha512.run = "7765a7beaf9d2f99f383c6723fb7ddf3968f656a433bd519631b539e7c599e4ea26546585c1be6732a42e1632fc11b980ee9316de6cfb765332790f81d548aff";
+  sha512.doc = "30307bc7774c3768227da33c31c6296e8d470f1f835f792248ed4ff40e261ea682fd967987396808fcd36e7e0a74c3da2bb947de7eab7af5783e3790857b081e";
   hasRunfiles = true;
   license = [ "mit" ];
 };
-penrose = {
-  revision = 57508;
+penlightplus = {
+  revision = 69070;
   stripPrefix = 0;
-  sha512.run = "b8572b376e006126dfb925758e907f3993c7eb0a157a57a6a36c99103f3ed7ac58ae406f6888b7303fcea4c43b67e50162af0235d7d923e79c497c60403a3e2a";
-  sha512.doc = "a02fb2976c23ec8dc51ecc70fb6e702f62ff6c8e14de437e2bb3a478a432034e1a87f92266930e5c56931e4db8d2bb0bb8ab1c464ee4c8ccd15cea0df8624e61";
-  sha512.source = "d40b7a787431ac7ad6af14de17bdf749ec5743f3a95226f084bbf3bdf4ad720b43b597dc432c9831d871f030eee049e08e8bad9d2efae63e9d588db31ae15178";
+  sha512.run = "b4aee13d9fc3a01d434ea76ed04b2ae6871dcd7f2a1953ebe36a89153ad1759a2c66a622ee161ec7bfc0f79f235a54f6a2f8c232ad62cc2150ea872b2e4b79ce";
+  sha512.doc = "1a9da1ba0e893846d45eeb3cb6ea803f154986aa9c8f419695cfb4c24448a0c9ef603d14925e44731ca0fe00fda5528d80b30f428b81bf97a9cfee90755c78b0";
   hasRunfiles = true;
-  license = [ "lppl13c" ];
-  version = "1.4";
+  license = [ "mit" ];
 };
 perception = {
   revision = 48861;
@@ -32841,10 +33606,10 @@ perception = {
   license = [ "lppl13c" ];
 };
 perfectcut = {
-  revision = 54080;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "edf0b4dc69d24b4515b0285dd4f4c7a89dae239eea2cad7cd194e9625dcc7e306c295ae67869d1e58d64e0f68d8c39779e0cd90a4c4f5a4e769be73037cef75f";
-  sha512.doc = "84443432cdd05634c4f75ce3b912bbb2f1681237cfcf3c34ae070fb07e0342b7a5a0abf7dc4d26994bb7506ad3d6b5bd008d4a2cc738b418cbb9b397ecb1d2ba";
+  sha512.run = "5c3963a08f1041e78f871084531187214f3735b15409cbdcb4491046feba1fbe44887b23f450d40eb3a697a49e0ecace584b96cb10a7f959e28afc642259b5e2";
+  sha512.doc = "4a978f726c8b5a69006f293b8428978a1a6185df27f2d26a0be06309fc55ec3b8cd6117cbb4ee732f6c2d0ddcfe8ad66d86f7f838ee2e386931e41c0ab043e2c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "2.3";
@@ -32900,16 +33665,16 @@ petri-nets.binfiles = [
   "pn2pdf"
 ];
 pfarrei = {
-  revision = 31934;
-  sha512.run = "f6046dc96672b60ed272dd6fe23a4a51032f039d3aeaff3f8b5e2407c99fe1f43c568a03564a7c20212a97bbfa4ecbd0dcb7f5f44593e1485c8e5d9197467a6c";
-  sha512.doc = "d50ff4603d51eb72d1d12e7f5b1440fa3d7abb1ab74fdf441d7e4a474df91247a1ccad504a14438bc0c3c6354c8f8674f180b5d9d826ff09a8749db3cf0d08c4";
-  sha512.source = "1e4008782161066066fc4cb1b029a36f6a18eb0d5d52f11a2a70d04d4778de6ed1a80ea1fef5d8cc86c2e13b8cbcb1cf8ce43e58ff4431b16ca23c3fdafb9884";
+  revision = 68950;
+  sha512.run = "2022347ebca4dcb71e1dda7d8ac906733a664b98d14660e48b16e6592ae229641b8c7bd10602d89b3b01535d2851f9504e3329a9f82f4adb5a4c68dcd69c6ce6";
+  sha512.doc = "4e5eb99b0e0409395954170339a744d18f8d0f8ee389ad1bacc684a037cc8b2b6121850a7674ec9b699596bcfa8e9e36521d13571bcad0db271cd1f9fa619488";
+  sha512.source = "65d865d2e79ff7476a3629fd3ffaed09b3edc8fea9224fd7126cce0203bfa6f5ecb5caee6727bd6d01196666f138786ca409f3530a577efae4fccd405cbd845b";
   hasRunfiles = true;
   scriptExts = [
     "tlu"
   ];
   license = [ "lppl13c" ];
-  version = "r36";
+  version = "r37";
 };
 pfarrei.binfiles = [
   "a5toa4"
@@ -32961,13 +33726,13 @@ pgf-interference = {
   version = "0.1";
 };
 pgf-periodictable = {
-  revision = 66035;
+  revision = 67250;
   stripPrefix = 0;
-  sha512.run = "10457ba244a86028ce10e39ae6e04ef560b9fb1a90d67222a212d292812407c33d38dced4123e37cbdb28ab38c576e0ae95a6fcaa000edfd70013b9fc005f60f";
-  sha512.doc = "72559f777704db3b4188dfa74b74e00dad12dbc90dff4843cb56c2f73cea4acb35a87692682f7acf83302d0f7ebd1e86289c084ce2ce939efb0bb388e7e68165";
+  sha512.run = "90e347be204b06b55941110e968b02f36d849a667a0bfea81552ecb31baa6197139912adf8bccc6b212b57b77be3857088c35f412049ba6fb6dd205049312c3d";
+  sha512.doc = "e13515d4ca7af997ce26f25dca80325cbf0c94f9e5c6a7dcbd51d0b5fb2900d73e37b73762db61269c0c2408ae8483bc767da680aaa88c79c011ecd811766cb7";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.0.0";
+  version = "2.0.1";
 };
 pgf-pie = {
   revision = 63603;
@@ -32993,13 +33758,13 @@ pgf-soroban = {
   version = "1.1";
 };
 pgf-spectra = {
-  revision = 66034;
+  revision = 66961;
   stripPrefix = 0;
-  sha512.run = "77417ac12e5f167a8da17ecf89faf05e0a62350f1ddbe98bd646beefa0789082949bf52da226e2ecc6d8f3a0a98c879e19bf981c314d0201f21613ac7cae8049";
-  sha512.doc = "aec16a4bc139e5b4167a4d9fd13c87848100ca09c7b6e2835c3641f46c4f383dd4de11504bda82d27657770fabc74887a0ca56c22231f4c85d51000a679e517a";
+  sha512.run = "723fcfd1b6827cf224fbbba91bbe4b65e8ea6b09cfc5eae2645144d2f64bdc0004f4f6184f2a310f7208650870041f12c4eb73e4d34c88fee5513d041ba88586";
+  sha512.doc = "81e418c2539e9df982025478d552b947dc040a5fb3ac8250636e874e77c97c83d215df6b2e9208f660b8a928eb1dd0e059fae357aef1b71b6e959a37affac2d6";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.2.0";
+  version = "3.0.1";
 };
 pgf-umlcd = {
   revision = 63386;
@@ -33040,6 +33805,15 @@ pgfgantt = {
   license = [ "lppl13c" ];
   version = "5.0";
 };
+pgfkeysearch = {
+  revision = 69385;
+  stripPrefix = 0;
+  sha512.run = "c90dd895a9c4d3ba737f6dca0a618af781ef712f7254f80c4f6bf222db80c8e7f010e9e2b2a0fd4a125154586d1b1532881f1e29dacc677c416dc8b5857acd51";
+  sha512.doc = "8ba4bc32f3a0393ec32e387110a725d10ec67793867ff7efbe8bc6047a6fe7c2e19970f091f96e2cc4d756809301864c48ce550f46240e22aaed885d7ebb57d1";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.2";
+};
 pgfkeyx = {
   revision = 26093;
   stripPrefix = 0;
@@ -33101,10 +33875,10 @@ pgfornament = {
   version = "1.2";
 };
 pgfornament-han = {
-  revision = 54191;
+  revision = 68704;
   stripPrefix = 0;
-  sha512.run = "7db1999c8f76addc56ad84aea76617fb61d3407bf28256379526058eca3dbc2f69442c6d0214d31832e31048fb1b8419125dd3441fe039a832d573346b15809a";
-  sha512.doc = "68e6720389bebb23edbd5387a3e0b3c9162b8cd0ebdf96825bece939b983033408d01b4739ed034cb9e0d3fefc21c87049f6ace1abc42826757ee6bc7a86da9f";
+  sha512.run = "7337b577e10f2a6306badaa45ca57614ac0da6b3c12ca5c9c3978f1358fa88a352cd092452ef3b6e86d01ccd05f1cfae663f914956b74d184c08a21d2e484e01";
+  sha512.doc = "7b9138088db1581571508ccb550b1b128ce0b574dcb2a903f5311b9a6e63e9d9c6e56eca0e46ffb5224f5685c5b047a57e5e7d292e7d6de6a9bfb06ee568d9b6";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -33286,13 +34060,42 @@ photo = {
   license = [ "lppl13c" ];
 };
 photobook = {
-  revision = 66554;
+  revision = 68313;
   stripPrefix = 0;
-  sha512.run = "b923c2f7fc85ff5a24d55a697b67a536ce688cd2ecc9e2c50c8f6492f9c233faacd59b3d5dc2362ad6ae4c9714a7ed6a6d8fc2d3f24e6558420f59b342e93b59";
-  sha512.doc = "50f9159efdd002da22ec5c969193997213b6226b710ac86e7836d58b2b874cbd87ed5ef2429f2a7d7ab1f88700ce86e81dfd64c903979aefe4e7b88142bf6166";
+  deps = [
+    "adjustbox"
+    "atbegshi"
+    "changepage"
+    "colorspace"
+    "environ"
+    "eso-pic"
+    "etoolbox"
+    "fancyhdr"
+    "fancyvrb"
+    "flowfram"
+    "geometry"
+    "graphics"
+    "hyperref"
+    "iftex"
+    "kvoptions"
+    "listofitems"
+    "mdframed"
+    "numprint"
+    "pagecolor"
+    "pdfcomment"
+    "pdfpages"
+    "pgf"
+    "textpos"
+    "xargs"
+    "xcolor"
+    "xint"
+    "xkeyval"
+  ];
+  sha512.run = "1ceac5c208ff577c3072b96bd3c98e03a75126c25c5bdb8a88c3a253623b2f089d4bff17bcc7cc14d522461df2f95a44ba784ff8108a6b2d284127d20b75d4d1";
+  sha512.doc = "fc29b76cded75fdc20eceb668cc0bda2346bc5e11c5df2d860e90999e48b73a3e44c985048174cc54f42aca2dec3d195b765ffae923a1eb78b1d7da180e6a966";
   hasRunfiles = true;
   license = [ "bsd3" ];
-  version = "0.1.10";
+  version = "0.1.29";
 };
 physconst = {
   revision = 58727;
@@ -33314,13 +34117,14 @@ physics = {
   version = "1.3";
 };
 physics2 = {
-  revision = 66119;
+  revision = 69369;
   stripPrefix = 0;
-  sha512.run = "bd5630f6003229600f47ac8c5a03a1481707b7293a358327307e8dba582155953e0f29a58b8a4aee53eb403be9b98f09d0cb0a653ec63603b2c694d9e83d050c";
-  sha512.doc = "05179baef4d5f238fcf817007c7acdf9be9b8701283eaf7207fc7626fde9982841bb668f5faf18560ea500e39f7a7fa2cce09653572bf854ac16f79f2cf5a999";
+  sha512.run = "1a598dac27ac5e1fa163493c307e48ff2e8c31d9c1c51a676a1b05bfde7af2a558fce4bf410a2c70837d128121331d6aaa393c6e7a84d8b98f9e271184e78a50";
+  sha512.doc = "0627e9882b0ff31f2d6db46a9437c536c29aff39a1a1929784fe4bb16dde1a18aad351819d36a7578bc71664a4313c918623a87cbfaa36738b19ee9a9f4769c0";
+  sha512.source = "3709f7455ffe7d21a1e5f04f08fb36edf1fdf9664c32aa942856248527fbb735dc6664b971bb2de961ac5fa1f8dee14a2ad06b39903e6ca83e639a18b71b01da";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1.1";
+  version = "1.0.1";
 };
 physunits = {
   revision = 58728;
@@ -33446,14 +34250,14 @@ pitex = {
   license = [ "lppl13c" ];
 };
 piton = {
-  revision = 65835;
+  revision = 69320;
   stripPrefix = 0;
-  sha512.run = "431d6967b4825b4e36b2251d59571f57ef3f20d231c4f215d67ba34ac5a105de25c8f2044b4f7a5bd774a906bca4d98bc77b76e3b678b80c57aee4d1c6d705b3";
-  sha512.doc = "ef3dfcdcfb807135535f52859c6fff5bc46e78e979c07290b96c50fa1f1ffd3fea1a17a619c23f4aeb1fc4d0b21313d841b323799ea050b38b9bb1575d974c62";
-  sha512.source = "137f87044f7625fd7db4c4fd43957f929ada766248d262c883c111592e00e63f613201c0641a50917bb663adb6c976af7e91f10193cb9cd985eedf5f27d9f52a";
+  sha512.run = "95028768d96516ebd9b44abd790d47694716edc795bafed8ec8ddc54626792b0590295e87ee8d06740b50d42b2e4a00c326cc8ce737ff31b2f0d42130f8a57c5";
+  sha512.doc = "11825345e1017add9674e543d146dd151fb3d9dbcc228ec0660392a12e0baa7ec08f224d7024f059ca125f26e744e083369fb972c308173e17908b0d48ce2aa1";
+  sha512.source = "f29cdafeb5efbe3a0d927a68183687aaa6ac6f932a24d362af32827377de566f69c8721329546d07c1a1127da587b25fa3b649ffed0579056e88bf9e987bb7c6";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.4";
+  version = "2.3";
 };
 pittetd = {
   revision = 15878;
@@ -33466,22 +34270,22 @@ pittetd = {
   version = "1.618";
 };
 pixelart = {
-  revision = 66119;
+  revision = 66012;
   stripPrefix = 0;
-  sha512.run = "c8a6d0d595040564878cd8ed633c9cc807667bb5da63b38002595dd20f6eb9134930f3cbf6382eef3cd5c760c9357ee6d1020fcd8ed3e2f268ee3d7e85eba847";
-  sha512.doc = "700cbfd670ffb02230b8b1b595efe8e7233fec8a721be6b957130ef64acfdc60a2d61b8333a8b99bd3c77d643a72872f851bd2b69e5c76b416b1b2a39df24544";
+  sha512.run = "0643246fbed81ac008f675b9cff8d3194f8eed02937816c41887ad84268850cab50e5c6a7c8df5148f04cbb43c6ab80d5fa4d960d541b42f505f95f554fa0602";
+  sha512.doc = "2823d82ac741954d19afcdf74a1b2071591a904183877ee54e8eb9a4dc2d63716f05bd1886691e87d36010fffb929e9d31aee05ec707a929a5fc74c01ed6077d";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.0.2";
 };
 pixelarttikz = {
-  revision = 65649;
+  revision = 68520;
   stripPrefix = 0;
-  sha512.run = "a22bc217cbb20081d44684180f40da9883a17f133f8214ef141ba25924657f51517189d567c08f71e76b6cd3704eae4050d4757479925f23a9e5b5a8faa90ff2";
-  sha512.doc = "2a3e6ed9f865fb75a3ae7089e00e3e8cfb4ab5ad20eca21f697022af5342f292505de24814b6137a31d6aa05f204618cb94f1628d8bd51e64530d898b6cba5a0";
+  sha512.run = "c3aff99cc3027fc32f191f6a3329b397d23a11267e9fb89cec0bc5ceac875144375b3b16cdab42b471f16153cb75b21cb25cf38a74eb22c9ec0990f062245827";
+  sha512.doc = "e06e2dd718c81822b0701390d8df193ce68d491138e75e929ea0c75881466b4e190cc52cbb58d69e2f3619b1f2ee4ce8489ceff9a35170256d02057cab6b9483";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1.0";
+  version = "0.1.2";
 };
 pkfix = {
   revision = 26032;
@@ -33602,13 +34406,13 @@ plantslabels = {
   version = "1.0";
 };
 plantuml = {
-  revision = 55214;
+  revision = 67097;
   stripPrefix = 0;
-  sha512.run = "30e49185f2916a0ac1234199e80fc4c776eabb69e7cea9f8132e7c32c074dd2a24cb100b1f6f2f80b314cef9e7099f881605ee3fe19ee180f2c6c856e33c73d9";
-  sha512.doc = "bd04f4ee1ebde123f718b147b407f65d0549171fcb3cd9c07381871a23034520563b02edc1675aa3a6a975da6d811674d653c5527b6ba99309f479ecad136cbc";
+  sha512.run = "97af8222b28309bd5d8ce5d083ab54bbf550b6327d463de8b481cf4a5f62c0c82b33718b5c95301204bfe8e4858039a0811f491d97c02079d723e66c3549c90b";
+  sha512.doc = "b76c635cd30ad2638619b1ded721d468eec92033206cda03cbb638b14be082de1360efd2048f2cb1ac787a4c9232416cd18a82ad7b261ec785468ffdc003b86c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.3.1";
+  version = "0.3.2";
 };
 plari = {
   revision = 15878;
@@ -33629,7 +34433,7 @@ plates = {
   version = "0.1";
 };
 platex = {
-  revision = 66199;
+  revision = 67315;
   deps = [
     "atbegshi"
     "atveryend"
@@ -33649,35 +34453,36 @@ platex = {
     "ptex-fonts"
     "tex-ini-files"
     "unicode-data"
+    "uptex"
   ];
   formats = [
     {
       name = "platex";
-      engine = "eptex";
+      engine = "euptex";
       options = "*platex.ini";
       patterns = [ "language.dat" ];
       fmttriggers = [ "atbegshi" "atveryend" "babel" "cm" "everyshi" "firstaid" "hyphen-base" "l3backend" "l3kernel" "l3packages" "latex" "latex-fonts" "tex-ini-files" "unicode-data" "ptex-fonts" "latex" ];
     }
     {
       name = "platex-dev";
-      engine = "eptex";
+      engine = "euptex";
       options = "*platex.ini";
       patterns = [ "language.dat" ];
       fmttriggers = [ "atbegshi" "atveryend" "babel" "cm" "everyshi" "firstaid" "hyphen-base" "l3backend" "l3kernel" "l3packages" "latex" "latex-fonts" "tex-ini-files" "unicode-data" "ptex-fonts" "l3kernel" "latex-base-dev" "latex-firstaid-dev" ];
     }
   ];
-  sha512.run = "f5fbb5629bd73cdd7eb69917526528b10c905f603ff2a5c2cf77445f7250777e34d3a374e6f26ff4fd8fa2a362033cd6bfa11493501cd8120c47a351bc611f51";
-  sha512.doc = "2b3751cff2502ddb862774f58919ac98f9a233f02ceba6f2756de3659ac4555831d4af03276798cab9b02ad0152f4a9f0c313ad3ad9af58f429ea54d23fd131f";
+  sha512.run = "4a2682c51dc82e078ad14b30545dccd95f600ab02d5d05fb5c44c214221a3947562432783b43ea505b5199f37a1175a792c709282999f77b17b532d2a61c6e54";
+  sha512.doc = "faf91bdbc3e0d2ba0b13a914d54fbc4ce47e27c1225e5412b78c1217b2e3f6c22886a9f6f85b06e5e3f38a8b0c7a9aaadb4606721799749ae6ef5018f7bb08bc";
   hasManpages = true;
-  sha512.source = "e78fad3ef13b2289e88b0844528c0ecd25f1052e2aa443f79a7b25aa72a7645ad576a20e4dcd16412abf68fbf50cb5f4763dc18410813371d9b984afadea9fc6";
+  sha512.source = "a1ba3fe817e5f4aa23c2c4c9b7397cdda6ecc889ee244a05fd7eeda59fba1baa02fd29820107c887982983b2115631f1aac7d19ae281f88779b3e99253b12036";
   hasRunfiles = true;
   license = [ "bsd3" ];
 };
 platex-tools = {
-  revision = 66200;
+  revision = 66185;
   stripPrefix = 0;
-  sha512.run = "4fa016b2ce5143df289c770740ef7e9e36afe68711fdb6380eb92e093c0731a994cdfc4e7e199d529865c14adbda5854ef11487d8d60023d4c6f87fdaaf80a0e";
-  sha512.doc = "cba939ea44e75600efdcbf0e9254d0e76c36e69f4dbc1944e5fa048ac967fe99a08fb5a68f1a806f8666e04d1d5fef5bae72c84f3379b3e17522d81eaeeba881";
+  sha512.run = "87646f8cd885b75c3e7dc0edebc32675afe2d02f87c37ebf6abda7b68256f002440fd1a94f3f13dffbd8a7b694f3813d4115621f931b9a3a9d73491bda7c4296";
+  sha512.doc = "cf04b2c5d4df6d68bfdc3b0a3a8dc0f988cb0549252b3a6ccba58df685c41a9312197a63c97c3ff63c1ec15177a43d1e8064fd449054eed3df968fe213703552";
   hasRunfiles = true;
   license = [ "bsd3" ];
 };
@@ -33711,6 +34516,15 @@ play = {
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
+playcards = {
+  revision = 67342;
+  stripPrefix = 0;
+  sha512.run = "3c7b076044328ceed3005de84d628d6d926f93c1d759982c2e37c8831093aa12c0dbff71f8b8bfdbd171dc545f313729c7c11086a3e529858086896bb64899f2";
+  sha512.doc = "396118759c2f02c709ede5e6b4be042d2348cc38ce4783fd9f612a6bca887f9237f86662b8ce84a78a6abbedc8e2ce9e2c61be2f2c818e262c693149b7125019";
+  hasRunfiles = true;
+  license = [ "lgpl3" ];
+  version = "0.2.1";
+};
 playfair = {
   revision = 64857;
   stripPrefix = 0;
@@ -33720,21 +34534,21 @@ playfair = {
   license = [ "ofl" "lppl13c" ];
 };
 plex = {
-  revision = 64496;
+  revision = 69154;
   stripPrefix = 0;
-  sha512.run = "1363c53067f463ebb702151b61898489d4061db40013af82d9da9660cfc0a9c5d1d12ba9cfa15f43417427bce2bc47cbafc26e76a9d8b85098096ae156d3d97c";
-  sha512.doc = "eade0bcaf39a3043aa11c20a86ceb90eb88abf22eb8005c81b9bb688d4f8a93f6ee6f37bd073e69ad6f7989def618a016cd583199d75db0776bc19e81d23099e";
+  sha512.run = "4180d4b5ff2d6843ac375a52bc3c63570638cc29f7d3bbda476dee962998293ce4b201817e056d5e87c20bd8280336b65bc689a8e1580ab8aa6f24164002732c";
+  sha512.doc = "175abcc07f213d5837070171b7fc483aec2c26b80f530ca7ad7a6f571de028c833e32d71a4c465fbfbb803afcba934e68df560944b8b54b20827d31cd21fa9f0";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
 };
 plex-otf = {
-  revision = 47562;
+  revision = 68238;
   stripPrefix = 0;
-  sha512.run = "07e49e5dcbef60efd3e3050259f10b75bfbb83128412a1e60a31c2f17983ec73d055e5f6e117ec2673f9f0e5db716471fefb312be50cc4475761aa6ad895e9da";
-  sha512.doc = "4af950e1a3a384a1c738c6fa1bad629010ee2718840094500976b6883c2e3120cd070631463f90610c60877c0dea771c9c7e4f8f8c091aaf1f29b15b8400de96";
+  sha512.run = "1dadbb3073ccdf40e496f89cdbd31af8ef37e810178eeb7aee49e9c1abdef42f28e58bf12988a59b9aee95384de842cae8a827e8ad8968c7ef37e8442e596d21";
+  sha512.doc = "226ddb9c201dabf158e0e9a5480995539d20d14ef34f5ea9498f9fe5966a1f7eaed00e1bac62fe17eeb710d0d3f68f9397fa568ee1a91076552130661dd6e3f7";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.07a";
+  version = "0.08a";
 };
 plimsoll = {
   revision = 56605;
@@ -33803,6 +34617,15 @@ pmboxdraw = {
   license = [ "lppl13c" ];
   version = "1.4";
 };
+pmdraw = {
+  revision = 69366;
+  stripPrefix = 0;
+  sha512.run = "ab2b72364f2833ec7362d7284bfc10033e72c3f20c1b4f6ff7a89a8368bebd5aea2120c5cb82c27bf924fc1342030d83e61a8b4b0343aacadd09247890495325";
+  sha512.doc = "60a9292a2705281b8f32a2789b34e0dbc46cd8d475d7c946e00e8f0951b5cdd5a29cc145e0cc270ed87b52a23f819552081fd78f99fcd529aea57027d4d71b23";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.2";
+};
 pmgraph = {
   revision = 15878;
   stripPrefix = 0;
@@ -33813,18 +34636,18 @@ pmgraph = {
   version = "1.0";
 };
 pmhanguljamo = {
-  revision = 66376;
+  revision = 66361;
   stripPrefix = 0;
-  sha512.run = "953d62ddec3948d6904b9a5fc9d37207fbf9a67a44c243fef164ff60660bb5539a5e110b436510cf7ea74ef5ca1a2e07797cc14667af0bd598e5f2f4a96f8bd4";
-  sha512.doc = "2447a1cfb7b8c1ded0db1965d342162d8a13aca6df8f0827c33475abe97ce3cc80e921ac5857f49d960fe83500f5c323bf6f8241dc089d4e35daa7155bb99079";
+  sha512.run = "099517421e9590597157121de5d53eccaae0784969288762ebd8e35a31eb12ce6d5466f890204bbb69d0d9c805c314b6a475653a1cb26ef270672683e2625a24";
+  sha512.doc = "12f324ea6c852b134868f4365a53c2f434adac235d01efdbdad0d5df138587acb28fa7324e10f5fc996c44f43289322bdbaf764107cea4e66d7f999b71807384";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.0.2";
 };
 pmx = {
-  revision = 66119;
-  sha512.run = "90a0d9a2782885f90c361fe99a5c20e761eabde7b79140f8c8cca25bb6e731a8bf16988328166aeddc80c37a45cf9d6ff71e177f85338dab6953276462625346";
-  sha512.doc = "15600a9b81fdc4e7be4581cc035b6b75bc08d6858003d092382637304393946e1b38d8d693e4b62f86707b29c37a1dc9ad0665ae69f16cc8ee672bd2f537f650";
+  revision = 65926;
+  sha512.run = "433287732fbb2cb47886c6c78c923d5b6a1b5c1e71e3990084cde9bb288a282fff7fb9134a5165e0fc0908b8e60547e23cb900bc82b99717133d7600fa17dc31";
+  sha512.doc = "dedba4570b68a8628442716dc3a9b1699e5f531aef2737e4b3f47862a91ba69bda91d6fe6692914d2bd7b8fe3188a83fdfce8bdd219ab7c4f238a9c6ec273ffb";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "gpl2" ];
@@ -33878,11 +34701,11 @@ poetry = {
   version = "2.2";
 };
 poetrytex = {
-  revision = 39921;
+  revision = 68353;
   stripPrefix = 0;
-  sha512.run = "9de77dc676f78ce6e18ae62f621126ffc2d78ceb9cb5612f8c129f0c0d123043c554a8996a68d2bf6c730a157f5cdda4101f8446e0e773671258ffb55d6fe93d";
-  sha512.doc = "e9bc2551a92df86e5b76448b2de7af423b8f96ea6a62b1e243f76588478172a7ffe035ed904fb8eb3c5be031e1451c997a68de3187933c3a7273510710577f25";
-  sha512.source = "4dbeac34f7a74a3a3610f8fa3d3b614ba9ed95384863d2edc40c4685bf7d514803a6d50ff8f27459a7ed993de97f835663ee84247fb0942ba9ff43779e2faeb4";
+  sha512.run = "f56937e0c18fcc1db0872ed27d3ab9497e42186552f5eb26015f7c28f1d38091544212767de088e8d94f6d1e15a5ab973bb1b4960f8d4633964ad9aa295e3b87";
+  sha512.doc = "3db45607b5d95695c3f54ab924912c39ed3c06d956374039656d2a2d3c25d1261541124d7a89ba05cf935ddc4b36b7cbf4c907d02a6b774748ae96d032b30d4b";
+  sha512.source = "8c43393c86bbd430b0e98695dcecf110a08c5f35f152c56aaf8fce946467803810ca87a3b81fea10302b5dd079d817e4874440c069fb466a2773a7c086af40d1";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "3.0.1";
@@ -33919,16 +34742,16 @@ polski = {
   version = "1.3.6";
 };
 poltawski = {
-  revision = 20075;
+  revision = 67718;
   stripPrefix = 0;
-  sha512.run = "bbdf230da2f81b48951eb90016745d68b73890f8c34ed2d336212ba33c7662a5bee1ba005d6e44c4370c81d22928e1013fb39e45db2de16fd05543310bb07d17";
-  sha512.doc = "1ebe7bbd99a3316b6c4fd702770c6f14a32de653909099a86433bd847a63b2eb231cba4f74dfaf1155c54a9393ae1bdf25710fdfc25199d09b75a265392ba51b";
+  sha512.run = "620708dd3f1d2d8b2601377486631c2bdc779d06d2016e1c9ab5869afe00cb88dcb1ebd055b6859ad3e3dd25200c1079b723613283f048c7cd7354977b66b8b9";
+  sha512.doc = "51067d3e930f9cae71d5cdf11d6ac83738e23539c020c93e6f4d8b460e63b04e77caaa41927ed8658056d96ff4fdcfc087e591be991e10c7e95a6b58d56ee368";
   hasRunfiles = true;
   license = [ "gfl" ];
   version = "1.101";
 };
 polyglossia = {
-  revision = 65792;
+  revision = 69093;
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -33938,12 +34761,21 @@ polyglossia = {
     "makecmds"
     "xkeyval"
   ];
-  sha512.run = "c6d044ae7de7893de975d7bfc36c7f793c22cc91436c614d817f6328017223e303581ca3d870b0c6698979924437370729542c3e03be059eb90956d25eb7102b";
-  sha512.doc = "430c57ca35547c4b90abac56e46451ea9a86e95eeb0dc9a5a312d441088d07c54606369e47d69ff163884a95f371902050e6880b4a2a037d2b75a3700536eac2";
-  sha512.source = "41fc852cd9f1ac77b4bd0aa4bd57a9b55ad9b96111fd81dd1fa743a56679a6c4e8ceaf34cbc16dcf84a5636499d35923318cc1ac37e66f4ad6594c4c13d257c9";
+  sha512.run = "615880e38a7faa377698fe79ad6fffd16eeff067b95a6b70e459cfa68c530499e84e3bd040735f12a29349641f2f1ca2af270bb6ec884426b628bb7ebe491133";
+  sha512.doc = "8faec17cb9a8b3c30728a8b527794b1b58c9e8d26670e53433ecdaddaa341fdf8fa8f599e4cd5452ac854abf0f7b8d4216ea72af0148087e10460757af3602d5";
+  sha512.source = "73734000d3720ebdd98c31973e89b35636d3eecd3ffd7a5ecf5ab2650182f33da8dabcbca138b63e1f6472c003e36ebd9c8962921ee7c1825d5daea44f8f47d9";
   hasRunfiles = true;
   license = [ "mit" "lppl13c" "cc0" ];
-  version = "1.60";
+  version = "1.66";
+};
+polyhedra = {
+  revision = 68770;
+  stripPrefix = 0;
+  sha512.run = "26169961ab8e21114a4c44470da03fa510822b495f36afaad745c0324d45d5bd64e4e5587b7601fbb97156ba02ff18a2c253e175296f15f2fb3915f7bc15e060";
+  sha512.doc = "6a083101ebef3810467cfe377a820ff178e752c62655462153c661222da3c75034a1735a4a39d76e963fc6773441df423444d40e040f39d73dccb5adc6fbc34b";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.3";
 };
 polynom = {
   revision = 44832;
@@ -34011,15 +34843,24 @@ poster-mac = {
   license = [ "lppl13c" ];
   version = "1.1";
 };
+postit = {
+  revision = 67344;
+  stripPrefix = 0;
+  sha512.run = "cb825667ddd1379b07870c388915abf36efa1249036795d3cd5ed7f41a87c046c00c7e292e542dad6a8b3b3090f327c5cff5e173220d49cc829f0fe206676aae";
+  sha512.doc = "2754e847a190afa3ac22166365a0ea12557d939fe4d2f06dc0c34a518da82dfbf7ab33c8ab1ddea5d3d95dae13c013f238abcabcf6444d956393fe61b00f4a6d";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.3";
+};
 postnotes = {
-  revision = 66027;
+  revision = 69102;
   stripPrefix = 0;
-  sha512.run = "2a70e5ae0142e9741c7163374478b75ce18dbb9fc637122defe4fbffeb288e78804c16ed86a02328d8c44807a35af46bca6955dd5307421bbec9bfe5be963760";
-  sha512.doc = "8efde23d1358c10b508ee8ce544a6d41d690803469d7159a6db16c1702b82352ebe62291d50298231bdbc848ffb60c5544ea367c1d9be083806ef097e50b24ac";
-  sha512.source = "1d4ba4872e3b2cb7583cc2f718b8d459e82716b63f986208421a869c3daf2d722925b1be716b7232f0b30e097bdeeea9e8dd2cf49643242149f54cfb135fcc82";
+  sha512.run = "a2b8a54ad8062e550af61a6f51d816d11891976525aeedc5267923665ea63967a388bde67dd2ad537b2c4d8fc3ffc738f05064d2fd26b0fbf7328eb806dfc0c0";
+  sha512.doc = "28537fd0437da707dfaa5dde2fdc92d11d4de5bdf99e8fc7655cc60533d8ed5bd5b9e1d680f0269b2d60e498fee577a3b069957c6a5ba41fc55dfc1631297853";
+  sha512.source = "b3050fd301f1a332622912a082dfffbb8ec4d172d4e7a808491f84b2ce7e494d16756a5ac7412cc5d1590d6a0f1ea5ec5a20bb7abb61b051e9f4a5179351d39d";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.2.3";
+  version = "0.2.8";
 };
 powerdot = {
   revision = 59272;
@@ -34060,7 +34901,7 @@ ppr-prv = {
   version = "0.13c";
 };
 ppt-slides = {
-  revision = 65194;
+  revision = 68764;
   stripPrefix = 0;
   deps = [
     "crumbs"
@@ -34076,12 +34917,12 @@ ppt-slides = {
     "varwidth"
     "xcolor"
   ];
-  sha512.run = "8741def8d57db17bef3490c881a615340290283860e9978e105b7ba0768b5fbf02023722109dd2f6860e9fa8d44fe7cf742eb2a97ae08d1199a6dea9f73503f2";
-  sha512.doc = "6528e50797dae2dd928d11f78bdcb3368177412823657baccba10c194bebce97384ed55d10c5307c13aa06883a156abd57a944acc26f9237a138df22b5a33658";
-  sha512.source = "42dd3fdc96d1ffbf39deba0e2e292392a9aa6a2b266d7787448b93996f12c966abff0b643281fec8b336a395b283e2e88fafb365f616455e3393645cd7c3a55c";
+  sha512.run = "6b4748adc7f9823f7ff3dce2a73c4535085974a9f7cda33b53a934acd3399e310a85dbdf367102f71c310b8678119d3396f71f36e3e26063569a85af0c77595c";
+  sha512.doc = "e258319f37ef32ce20ec72e055755ce1782e2133a98fdfaeee6402c404df02e1c60ef9fbdaff39306da947534b6bd79fd16c2b82d4a635325ad8c94858b4cbea";
+  sha512.source = "a5f1384b3d4fd1e33e924b2bc51498c509772136bac0c03abab8125ab5ef0720f5583ffb9236ce9a044bb87127e0f42ae6668c4fd2b0b98f07e32ded13ce619b";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.2.1";
+  version = "0.3.0";
 };
 pracjourn = {
   revision = 61719;
@@ -34170,28 +35011,28 @@ prettyref = {
   version = "3.0";
 };
 prettytok = {
-  revision = 63842;
+  revision = 66884;
   stripPrefix = 0;
   deps = [
     "filecontentsdef"
     "l3kernel"
     "precattl"
   ];
-  sha512.run = "8b9f5e9fec9d50b9f688115e00ad6fde21adfb9cef69e020fb297abcfe489cc6fde08d2ad4b72ea5f6b8e0b7499a97c798e8c0bd306d298427fcd19b6365c300";
-  sha512.doc = "8dc2afdc9920817b13050bdb6d92164e9322a18fd1d7a7adc7a1655c8dd68181b00faef22c09f9bce45be0744e179c978ba40c6f841e3c2cdba1c88225f7486f";
+  sha512.run = "d08eacff02fadea3aeaabecd957c4e32881de942a3199bad1bf9e8fd80639ace3d819f9a7ef875c77fbc95eb8e79281ee7bd93ed0f113f9058aad592c70422c2";
+  sha512.doc = "c0fbd26422e6399ccc4aed70e3e8dba976447161d008d440728fee07443caf35845c28acd86af860e9782a171e3e48a6e1e9a92c6ca44d8d7433c561408831f7";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.0.1";
+  version = "0.2.0";
 };
 preview = {
-  revision = 62130;
+  revision = 66924;
   stripPrefix = 0;
-  sha512.run = "02c4864a68cf7208e87fb0a4f25ccfe2092e198541551c3db11b75b0fd0b49188ebf9217554020f07154313418febb942e04c92b78d84c6f53b88c12d5a162ff";
-  sha512.doc = "a722fda1fbc3c4319edefb65a30ccde72711a65c19e6fbe7300ba2dcb47b72f12aa436c593f1dc97f9fda1a1fd4d359b4d56928877a9cb80b324ff046d0cd9e3";
-  sha512.source = "d22c78058df91b03af32bb3f3c6584f492cffe6762a06a854811a3d2b3cfb1dae000252f483e78a40830d5bd808184b76b86c7e100c365c420f24496464ab53d";
+  sha512.run = "6dd19a259a74447d597edce7e810aa90e01617d60533da9a381ae1929ded559e95509d9b7f0d62b83c08d3622225aeebb9772d6bd47b1c0155b9d1c68e48939b";
+  sha512.doc = "1c0e5e64a10372093ffbb4027a8edb6d7e42d1fc55d37ff695b7c19062a1403c00058fe0471eb56e9bb912e6cfdc13d3e46687dbd55f1efa58095d73f28b059f";
+  sha512.source = "01fee5b5367e15dfd4d9ea156b66455efa8c86c39ff49041c8fc9636ff79eae24e0c764673a75ce5050be81e9ac8ca3ad6fa2ad50fa7953f6a51292f1605b24f";
   hasRunfiles = true;
   license = [ "gpl3" ];
-  version = "13.1";
+  version = "13.2";
 };
 prftree = {
   revision = 54080;
@@ -34203,13 +35044,13 @@ prftree = {
   version = "1.6";
 };
 principia = {
-  revision = 58927;
+  revision = 66625;
   stripPrefix = 0;
-  sha512.run = "d56a9031a7bc81fa62f99bac5ca88b12570720a51823566cb61845c7c0b73232c9a8d94d453585be72b2c2fb5565c7bb257a7d0533fc17e956b976977dec3b56";
-  sha512.doc = "c5325b70a14725c9cb0d2368b0b6018375c91ea5be663731d4c016d945aef001f277fbdc0938f3c457e7328f64187bf70d79bfb37a1631f742b14d53a6ac4682";
+  sha512.run = "ef88cb4dd25ec8cd3d50a7f152698e771c8b5f1fa18adad21d55bcd3a8088a38b09eb19873c6a3d1883101d27f318bc092c9c1219a2be76bbc07bfd2eee9711b";
+  sha512.doc = "8dbf4e19a3c688278c52299731ca24fef83d08886a179f15cbc58038fe92d5ddd6e57bce1451a0af686593f98adf9ed3f52ef0b20cd68f65df52b8b6a2576dc3";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.3";
+  version = "2.0";
 };
 printlen = {
   revision = 19847;
@@ -34266,13 +35107,13 @@ productbox = {
   version = "1.1";
 };
 profcollege = {
-  revision = 66371;
+  revision = 69343;
   stripPrefix = 0;
-  sha512.run = "cef2b7c2e971f3a5d8424e447c4eec6c7fda96ab2483c832922b7094e98a0c4f899d11e4c1b9c2c02be5114107fd6ab803459e6062fa728d57784f1d7492a82b";
-  sha512.doc = "c99b666e80fa5220b982dc490f7396a630b2038fee9c0edecaaf36686fa6cc7f3bdd38ef187af3862e1e7a68a8daf9732375da69a2a7b3737bd7c53ae509c729";
+  sha512.run = "eb75b12f184b7e3f5ecf333a376b8d59ddbea8a0cba86c9b553074686c354394f10de5b3187b85fd43f458495dbf72c9f0cce7c98d5824c33f485605dd064e7f";
+  sha512.doc = "3976a1a95c47db9bf270f7730b8abd98d82356fdea0897e797d71a8b688c83a7ee122ddb59cc6f34b05d603d3611169bc5afb45c32a4568262b8f0c299b73965";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.99-z-f";
+  version = "0.99-z-y";
 };
 proflabo = {
   revision = 63147;
@@ -34284,13 +35125,31 @@ proflabo = {
   version = "1.0";
 };
 proflycee = {
-  revision = 65977;
+  revision = 69386;
+  stripPrefix = 0;
+  sha512.run = "66d28a0ee9a4aa7b29fc31cfedb7dc95906cc82970a9a78fc5fd3cd95558721ffc01ac58cf74c2b761fe47779aee5349e05e64e3b0d71cf1ce76dff813724bff";
+  sha512.doc = "ea3821c1b94f71cd691cb78c46b78f4d607b489cdf1be6432caf7346505a008f887e0c9e895242adc23bcade67f9187a6b3cefb241322682141adc354db53f03";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "3.01e";
+};
+profmaquette = {
+  revision = 69287;
+  stripPrefix = 0;
+  sha512.run = "9fcb9729d28a2f41341f3b4f807d7207e33ab9bed43e44676dfa884ac9cf943fa84fb363a5453611c828e1b0b0f0bd795972b52ec736ef5213deebb7fbe42028";
+  sha512.doc = "7888eeeee9882c049977e96a9dfa65e50d90014e9c442b36cccc08fc95d392c78b25feb3bfaa1844a282b5bbe24bf6a4df1fd1d3d0bf477d28fd16ead0b61065";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.85";
+};
+profsio = {
+  revision = 69125;
   stripPrefix = 0;
-  sha512.run = "362f7d87e5e29d06ba4e08e31fa27dc125051c712d4afdae1a50f101af5d7b0c277d79b503724ed89e66ce499d6540b7af81c33ad9d008859b8185b040e4042b";
-  sha512.doc = "8127d993f10c8be4b12822f7fb337564a0a02d7f4008d492c4dd59e7f22518877987f767ab06b3fdeff32e24da15befbe465e6e8d018b9daff3e5e2f77bf9ab0";
+  sha512.run = "01f1aa3951194f5bdedf6c3c44445b1f628a6abd633fcfdc5dcf01f8777ec50b28367a4deb0c303b41983881c255ab21e3916dbe03c1c926f7f2df6be119fdb2";
+  sha512.doc = "f6c650c6d4977df846a62a697fc1b4e82ac541b68db55ec15a0370be2f7b06e8e45e0c8abb81d5573d4ac2dc868cf63b5b19b65de7025afd4f5f69a6cf516b99";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.5.3";
+  version = "0.1.9";
 };
 program = {
   revision = 44214;
@@ -34320,14 +35179,14 @@ progressbar = {
   version = "1.0b-4";
 };
 projlib = {
-  revision = 65475;
+  revision = 68784;
   stripPrefix = 0;
   deps = [
     "create-theorem"
   ];
-  sha512.run = "6daf672c982bbcaf73fc726aa6d3a475c3b0673f22d6f30156daf1235b9d2798d7359134347f1349a557586f8ce592c421bd536766aa7246b2eb07c04e102339";
-  sha512.doc = "7be28ac70142ba767138164c98240da1a9e37b864b01ad3c4f71ee3adf1148e5059e5bf4cc87456baa2109160de9ac698657a749a1859ef5a1333101637fc1ee";
-  sha512.source = "20228363e654a1329cc5579094fa4967534e7a07d7b385763531b90b2f436e688667880bf962025110a0b693c2957585d3cdd8ee98344ea3b26ba791d572d73c";
+  sha512.run = "0966ec8d951d6b060e901624e6137a60e1dfa6cba8599102bf7aa16f4caca5ebf4c234f6abd0a71cf8e54f6a3573151c406f5ee5d541c78517c64aba853bcdcd";
+  sha512.doc = "89edeb895c63c96ab12d27498c92c29194a4edb11f92292b072738fed7eaa766ed86382c0ba26eaf9038d7ad405628cf5fd21ff67ab3405883eafe1529899182";
+  sha512.source = "5320ae1610e4c0372bcce855f633c43ed64e928bd770b013ac656dea33c77bdd93ad75e578b71f66996973f365032e9ff20c05589ade56e02e88b244578965a8";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -34351,13 +35210,13 @@ proofread = {
   version = "1.04";
 };
 prooftrees = {
-  revision = 52221;
+  revision = 67399;
   stripPrefix = 0;
-  sha512.run = "f455c85a30ca4882829e0d2b74f202b129333962843a799c575f080de9b67c1c543db10f012198655760bbe894eae2149eeba1322de3392bac0eaa9a89fe00df";
-  sha512.doc = "ff1ec0f5f9112e7fd09fee4e3ffba06bd281c4578a055e831c64a8edbec234bd69c6e920745fe6e4fbcbb12b27189465d4fc41c9dae4f1ff80d5096ef9dc3cee";
+  sha512.run = "ee4feb832296a512e180b4d38e5989a87d6884c3c84ea2b224754201e42fe2fb6c4f68461a0cf3d3cda10b263c88c6da9e082572093f53ce2e8c62473d4707a5";
+  sha512.doc = "67cbbd3068410bf152d54c2f25821b5672c33b68e76fc7ebe02f0df160cc658b20e072379035f090beb34a7d4d5ca21809965bd8e44a554e5ae65039a12f4850";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.7_svn_8641";
+  version = "0.8_svn_9582";
 };
 properties = {
   revision = 15878;
@@ -34435,9 +35294,9 @@ ps2eps.binfiles = [
   "ps2eps"
 ];
 ps2pk = {
-  revision = 52851;
-  sha512.run = "4b3ead8d2708a182d0c158dd8ae5077fb2f4a94c7f6fff52a66d6479d4c05de3d742e4c960ab79b63084435bef491866c38e01d77c41ae3d630c7a32450d0a11";
-  sha512.doc = "c5b22a86807378fd7d6d83e8802780567a2473e87875bee4c827a48ff470911855bc4a1db4f439fbda1baf71f714086b96e6e78ee059590fb6ebb45c58abca4f";
+  revision = 66186;
+  sha512.run = "764e6dc186bc0e9c1b5ee0a3c5a256e9d42d81645477bba49c59baafec55bc9af63124f77227ca5b6516bf3fa2bdb8d201af813cff09ac9da4574e70351922ce";
+  sha512.doc = "032c5ab3442cf668d6b40851bdf710b4e4b9eca701bf04c87359c579a5fce52bedea15ee5dc9e4c5967fcc0e3b84805450987b73c204e0df4708b65a7cf74c13";
   hasManpages = true;
   license = [ "free" ];
 };
@@ -34457,13 +35316,13 @@ psbao = {
   version = "1.0";
 };
 pseudo = {
-  revision = 65690;
+  revision = 66638;
   stripPrefix = 0;
-  sha512.run = "553146a32653fe020c708b3b3a05285f3be5e8b9ff97e6c6e1593986438bb5e7ed4c094f3bea4c2774ad3897a44cd5b4a7e6a864e7423da351400058db64ef62";
-  sha512.doc = "c32b1f5de9d13099b4eeb2dc9b3036e7199ed5ddbd90010de0846f077373bd90fc6ddbe188d00bfd6a7b8f4f421907281a7152c8a09a8a8c03b820f95e9247e8";
+  sha512.run = "223e02f58f4b1cb137241a273cc6aec3c2923ea49bc74fcc220df449d01e6b3009ac6303a99a5d368ab3cee62d6542707feddeee30f527c2be1ad8771244ca85";
+  sha512.doc = "573b023b0d9604ecc98b774f77016fcb971c7c5dd508fd272169ad5d3da9f5273d78c07801257cad5c1461de2ee425f036afdbc827ae343e9ae151a63c86db73";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "1.2.2";
+  version = "1.2.3";
 };
 pseudocode = {
   revision = 54080;
@@ -34520,10 +35379,10 @@ psizzl = {
   version = "0.35";
 };
 pslatex = {
-  revision = 57434;
+  revision = 67469;
   stripPrefix = 0;
-  sha512.run = "64dc0f10f3aaa78a4d611d21601e5fb3f27c7c97bcf04f5dd3192f5253660edc862481f3b1bcb8b18b6cc07a6064e78953c31470bf36bc70103f2a83374483c4";
-  sha512.source = "086805aaf0b61b8e3e561627388ea1af67ef8dba3a0b5808ef3d9719652e76abf4353345ca2096e31fb33c9c960b01b4972754f29532a25e91ad59dc6c1d6cae";
+  sha512.run = "b08cbb8ed7a4b89b9018b5b31bbaaf8ae9c520ffbf47b54d239b30ca67a26e138206c1f2f9951f8cc5da49357c0eca9a3df9eda4f02119355cf2be0a85c3a825";
+  sha512.source = "9943941967009a9d3cac0841318c6a31818f7496ded89fe6cf4d6ee8718913d0145497443762d55e4f80a1fee496b5170ff4b6c13266f04e6ce4c5bc2bdb5728";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.3";
@@ -34572,13 +35431,13 @@ pst-3d = {
   version = "1.10";
 };
 pst-3dplot = {
-  revision = 61615;
+  revision = 68727;
   stripPrefix = 0;
-  sha512.run = "bd23d297253501185e817e0b5f8f13705434568d73be8f4e1c8adfcd3b6c55438a72997601b6696af91cb6733d2330ff810a0678e19f79203bc979c49c5cf722";
-  sha512.doc = "544b0fc05fe259d49861e71718e090a45dd0de233e90d2ab248ce2ed427f1113891fc58062126763295651e540fc306f0bf9b4fd516069b205cf063060a03c3a";
+  sha512.run = "1fefbd8b34e49b7cf6bc35bb761ed9aa49d062d81f280936b86b58f123cf6023e038308f066a2f9e62c2fbd4181d3dad781525f289a9f5e58acefcdd344fd69e";
+  sha512.doc = "7e15351efd6190ff52e10287a7797a6ef0944561e381793290fbb56f6f2f174447343d10c9cfbfd0f61a62755ea0b3eb7adf52dfacf1b0b7ef2ec159f393b4f0";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.07a";
+  version = "2.09";
 };
 pst-abspos = {
   revision = 15878;
@@ -34786,13 +35645,13 @@ pst-eps = {
   version = "1.0";
 };
 pst-eucl = {
-  revision = 56474;
+  revision = 66924;
   stripPrefix = 0;
-  sha512.run = "a076efb338fbdff19719156e32cfdbf74500de253ee358dbf64207b762333ff2d3d167cea84ef4ba906d247d96adab9705091c5dc7003400097356b1f54f9305";
-  sha512.doc = "24df2d92c6879f20f4515196d5390fd9b0d97476b662a8e7302664be5afd08a3127dece9a530df5cb972feff6552321749b38a682a58d7924393304ea1c75a9f";
+  sha512.run = "9310a2ce965b8cf9b03aff8c505515cbe386e12fc5973a4d8f26bcf2541a856605c8f14849baf649b1d1c24219dd4fec6ea5375ea43e8ff533171dde4e7d5ea7";
+  sha512.doc = "1054740975d1be6100ca269221925af22fd1760a5f88ad942be398a889f59209da79e31c53c702a02fe639d218d80820c3f1d1033349c283e9fb6e05c7e7643e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.75";
+  version = "1.77";
 };
 pst-eucl-translation-bg = {
   revision = 19296;
@@ -34876,13 +35735,13 @@ pst-fun = {
   version = "0.04";
 };
 pst-func = {
-  revision = 60933;
+  revision = 66845;
   stripPrefix = 0;
-  sha512.run = "f33d9c983c7b79fb6d8f1a8e473afda6f2a4b23e133ab004f2fe4633e4f8fc3fe885034b409f90842c4a4cb81c86527edef445e1408a57d78aef1a006225e85c";
-  sha512.doc = "7d0ce738ecdb79eb4c630a5bd51ebc47d92f6ace9b35ee60928520c51c96254ff1f554ff08d8d8addfdac2b28b3d7dc3f90afb73838abacb3f1d8af0fcdf37ec";
+  sha512.run = "28c50cbd77b2400cd262b8156c01c2adf655da279a33703502d79590174824b0470a788db1a04c7439c63d1870eefa19a559f6f76c0c80c076cfb259eb920970";
+  sha512.doc = "b25be44e2e42b35ac48730aeb2d705082b99d5bead17119e1c5e353790f25aabd294043f753291265dd102ad7d8448c1592e5fa486fda317c1e8bd03aa1a3ca4";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.99";
+  version = "1.02";
 };
 pst-gantt = {
   revision = 35832;
@@ -34940,13 +35799,13 @@ pst-graphicx = {
   version = "0.02";
 };
 pst-hsb = {
-  revision = 61322;
+  revision = 66739;
   stripPrefix = 0;
-  sha512.run = "0deee202545f52b65b4fda752da7d43608118f33c9d3f520963b27229e9ec7b6d0161dc490b9ee6e356887b152f5ecb86640bc335d902070b1bda3744d9fb5db";
-  sha512.doc = "924a7a4a1aff03e308d5c8342f9c370669c8dec48a75c782beb887f2a05123369d5365ea86e2d2274f3dd930160d7935356cd5e9b4a6f8793bc83007cf48f841";
+  sha512.run = "d3eef4f4672b938b84d1fafbf22889f9d7116af9a0574a95bfe2a7225d4a7185abcfb862ba7309fca924993f9665f2086a35edde97306c4b2311cf18f1763929";
+  sha512.doc = "a2664b558f51c43ead6c078f0895f4a6c5c55045b8485e7f564bac10279b997fe082279e3cf2c35a7f47f78fd826ecc5a65daff112dc8659768c3b6275b7c854";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.02";
+  version = "0.03";
 };
 pst-infixplot = {
   revision = 15878;
@@ -34986,13 +35845,13 @@ pst-knot = {
   version = "0.2";
 };
 pst-labo = {
-  revision = 39077;
+  revision = 67147;
   stripPrefix = 0;
-  sha512.run = "a8bc971be59f1072657d9cf9d26056ba800023858df1d060ccc7e31d2c533337520e9583de00085842dfafe84a590e0c90706ac00bc98da282a5454fac76aade";
-  sha512.doc = "1b35f244a45fd18eeba484f925292358b5582f0ba18a9c6622afc67ed287e74d0c1c876ff78c19de0e9b53f55c86f30f47a6d179e0142e79aad5c5799e497ba5";
+  sha512.run = "d04fe4359a34f466d306265919bb13483d5105d6c77c8e297f1f964fc8224b6923773c4d3a0c58f8dd9b809deddb4dfd4f99f205f09de6a9e64a2398b17b7ae8";
+  sha512.doc = "98d55a590607e78c55402af375fd25dbe1d44bb4793d5dd3327311f9e9457e8b6073cebfa3dc993560d5144426e8195ec450b030a8897c84c8b711afa28a3f91";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.04";
+  version = "2.06";
 };
 pst-layout = {
   revision = 29803;
@@ -35051,13 +35910,13 @@ pst-marble = {
   version = "1.6";
 };
 pst-math = {
-  revision = 64732;
+  revision = 67535;
   stripPrefix = 0;
-  sha512.run = "b87863c646f8057baf3fc07868c09349b8803a01008782ab814a2f2eb126d6e574844be4733b06c3f16fad286aee3081b13a17bfbbef9cd019c836d2c9a5e4df";
-  sha512.doc = "c5b26a73075910edc8232df349ee76a8264ab533e4259146224cebda4d6709867f7edcafab115ac3fae977c9d11b38821b4b085a2ab5529ae585c1daf8b738d6";
+  sha512.run = "12bd81bed4fc5de91cd4db49cb97a9911848c347a9a9325cb61637368bda4e0f35f9c5c348bd385d46907b61aa06682ae1a9d70616d4c5c81659550064d4cc0c";
+  sha512.doc = "1b07b3086fa3e1d12f255632ceddf5b30c219472763cc43c0649b669a6014bb76e3a0fe7c182d0ea24c54fee8d2efe8399867321992e20f7f418d28198661bd2";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.66";
+  version = "0.67";
 };
 pst-mirror = {
   revision = 60506;
@@ -35097,13 +35956,13 @@ pst-ob3d = {
   version = "0.22";
 };
 pst-ode = {
-  revision = 65096;
+  revision = 69296;
   stripPrefix = 0;
-  sha512.run = "dfed4dd1a61650be4aa3158bd33f8175690e951b6410a1a1be8c46426cc7812a59cd16e5d1fdfaede81ed3aa11c08c9d9e9fd9b2d420a643c769efe12b9bd2ab";
-  sha512.doc = "0e699eda64688a3d071aa889c75e52658759a2c34bc35257fc1126a93b594c7cd463f127a4a2ba77823bfa45ecf44f4daa4439439856ea24431ffacb8be8956e";
+  sha512.run = "1474e118f16c644c7d63ec89a42ea598443cdeed56e965fb85bc75adea4a8d5572a49f07417786682844523d30438a0a2798e9e5635879891f039453e53c4264";
+  sha512.doc = "f46dfac052060fbe8f41d74a59e85c3f7b0d0d25bf2b65209e7bb53d6478947fcd4a2af9b5e68bbe585afe94fa53ccd80aa80f2e1e21b68210d38fbd114b217b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.18";
+  version = "0.19";
 };
 pst-optexp = {
   revision = 62977;
@@ -35116,22 +35975,22 @@ pst-optexp = {
   version = "6.1";
 };
 pst-optic = {
-  revision = 62977;
+  revision = 67052;
   stripPrefix = 0;
-  sha512.run = "98a926fc0ffc8a2e2ff6c2a29ccea1ca08b1ad90237b44727e4344b1d86a356cb9ecdf252ec65455e0097c101487085304295d750ac40bfe6ad8bc1081e3bbde";
-  sha512.doc = "86ee25200efdb67a9c791594277a25e262f78ee0fcfbbc434d292cf61445e3d41b5ee1271fda9d69d756bd4ef70992195ee0e7b37023ee131c69ff7f9a46b980";
+  sha512.run = "132b3eb936678d51a4581efc14998c794047959f89789ed22098326912d00eaa0e39396608d3c1aa78f1fe8bccb21ba2ab454bd2b3744ba252c24f164c58e23c";
+  sha512.doc = "a7169c870dbcb336025aec5d475afa9691ee524b35ef3404f2e3244c4e4c0f08def16a8eb458eed1a8ebce27c969ec80004904484615588fdbb401b863052efb";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.02";
+  version = "1.02a";
 };
 pst-osci = {
-  revision = 15878;
+  revision = 68781;
   stripPrefix = 0;
-  sha512.run = "d36d987ca50c50c0840660070dd7eefd4ff49f4e86b1a6f33bb9e549a1468f4992a7eff6de56307e5d5bf4e8063534cf4f658df8e98571a1d86fde3555a67e08";
-  sha512.doc = "80d99115c7c3fdcafef8f4be99b3066799cb40571e219158abb48de0ba405a0c977d0158c20e2b550895d1e63580bc7366338fbbbe7add2c3a89abf618583ecc";
+  sha512.run = "c888d41f7e14cf311b359fd37aa0557fc9fc639b76dd5db782099f6d307c4e5e3214df2a670fcdd3625818e461c34ccc0e50ba617714e58aced1c71b484b63d8";
+  sha512.doc = "5abb2eb53cb6cf1492c9bfad164ef8ed1088e6b6cbe1f0af6bf0ec10b34de3c5b17163e2bcfa52bf0b4394f3945887ed0e532fdc6a8497189325d10db50f4577";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.82";
+  version = "2.82b";
 };
 pst-ovl = {
   revision = 54963;
@@ -35295,13 +36154,13 @@ pst-solarsystem = {
   version = "0.13";
 };
 pst-solides3d = {
-  revision = 61719;
+  revision = 68786;
   stripPrefix = 0;
-  sha512.run = "b70a15acf3f8ec551f8c10d9441101950c7d6b2e886ebcbd9584ada67141d3068b66339e2df9cbad85db9b3950f4463cc3d9ff92a4f93241c37b591b5b5ecc6b";
-  sha512.doc = "15a7bac7f5aaf751c4b450e07c1b7222bc569ce9e9b7359cc53019f9295561b85addc3ac0cf16c791a21b88c6cfae720a54603ac1da2055f0c99296238b02fd9";
+  sha512.run = "fef032b9aa9a87711e2c09e0a7213a2c3e70451e64060ba9fad81beeeababdc622ec46107f077ad2869a8ba9420fd81e3e9df96ba60f98530fb3238d4bec45ee";
+  sha512.doc = "3bbdf115c8cb4e0dec4deebb1bf8af6317eb0deafa19054404f992f79361a913b26e1523a31105b7fe0addcfef438a016d6b5c5780da564fc108a58f449ee86b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "4.34a";
+  version = "4.35a";
 };
 pst-soroban = {
   revision = 15878;
@@ -35323,10 +36182,10 @@ pst-spectra = {
   version = "0.91";
 };
 pst-spinner = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "0081d28bdd4ac90ee3070f2b07d08a4a547d3a82351c33dd6ba8379d6bad252224f40f6e718727a1b284eaa08b4fda252751d9f923bd10a46223b459b7f02f28";
-  sha512.doc = "612acff35b8953827125590da90f31bd5ef0a6a81f14ba0976ce7180b6a24e42e27077b5d0a4ec6737217b8891f399b37536123baebd5c04df2da05310a5102f";
+  sha512.run = "ec6925c95e398426089234227b29a2129a58097d1536b0f1569c4a0e6b4d7deeb0eaf7d9d5ede851c93cff49da05772b6113ad7ba0cbb34b854e3b2261bdc41b";
+  sha512.doc = "1cb4907c6b5feb39c947361176edeeb4da560935d53b3b56507642142f3dd61d98caff293c0d686bb33383c706f1cd865dc3644379564310b141c3f0204cdb57";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.02";
@@ -35473,22 +36332,22 @@ pstool = {
   version = "1.5e";
 };
 pstricks = {
-  revision = 65346;
+  revision = 68767;
   stripPrefix = 0;
-  sha512.run = "aad3d0a383c8b815324a3f07c02a6c747d026a2b107ce4e24be6dc868dc884e0202239ea19fc4ecca786000ae61169422095217d42b826466f0e3886c58cc2b9";
-  sha512.doc = "c996a3e2d4c088c3ae6332855882f461a931969e9f88ad64bf656d2b11ad10bf06e5076d381f316f95de1d40d68e437ae8cd1fc450b1e387ee39c54e0d7feb4e";
+  sha512.run = "606b1b487d523253c71d814289ccef2fe9c91c091f7b588fc842b2121da3ec592387774565b3e998c44bbf0ef17df0dd2207f632ceb8bb04df8f8b203603c4d4";
+  sha512.doc = "5df5f84afd8793de4201738a032df4c95ec017c67fe19966d908221e3ff69e77589f051232d1fa8fce7f15fe5702ec3abb6080f4676c2a31671543933ed32ed9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.18";
+  version = "3.19b";
 };
 pstricks-add = {
-  revision = 65067;
+  revision = 66887;
   stripPrefix = 0;
-  sha512.run = "89a2e5c037dcaab7b14bb673cece21220f66865e75eeae5f2dcd0ccc48d69b26e906d97e07fef4a0fb1908906d47c75394b06a1b378787e1c3d02eb7df11a1da";
-  sha512.doc = "1021ece59cb0cc41c0ee9620c84a2de8aa5dffe7e8ff7f3adc286054f880dbadec70b888c7e23152c318e5013e581e0c34a68581ec1eff8508397730a5fc8886";
+  sha512.run = "073ce9b5f97c4432d87f51a3b239c758e2840ec894847c334dcd206433e6c0a45575ed2214c00bd013f9ddc0945a696a8eb45b2efc62d8425d1c9607da658850";
+  sha512.doc = "552fcc2f0d448bd1d7f643a5c9f2521f72fd61a653363eab3bf6f31bae306a9c6694ca8d64ad5a5997adea9b92978aa366ece8bd7966c9d129942f8f487b99f3";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.93";
+  version = "3.94";
 };
 pstricks_calcnotes = {
   revision = 34363;
@@ -35527,7 +36386,7 @@ psutils.binfiles = [
   "pstops"
 ];
 ptex = {
-  revision = 62464;
+  revision = 66186;
   deps = [
     "cm"
     "etex"
@@ -35547,13 +36406,13 @@ ptex = {
     }
     {
       name = "ptex";
-      engine = "ptex";
+      engine = "eptex";
       options = "ptex.ini";
       fmttriggers = [ "cm" "hyphen-base" "knuth-lib" "plain" "ptex-base" "ptex-fonts" ];
     }
   ];
-  sha512.run = "6e2e40d86740a24550cb4f55630db81bdc777daf87533cb23b4fe041439d00e10cbb7b5fab92e33828c87945e710ea3579d76a8e0fdae0b8ba069b5eb33968c3";
-  sha512.doc = "96aed9e990d013c7f5310a5ec86a1f7465d0de8503009669a5e10ccf4d3ed8767bf1408cfb04cfa8876e02640bc4a3b07249c331cc6190e391cb4a5b8aeafa35";
+  sha512.run = "dca32af2c2742207b380c909190204049e29eb9c824f534c39757e3544e305a9395c9fd6ff76d855f1e7fc67e0999bfd863640fc2d2f45dc44bdaa7df543568f";
+  sha512.doc = "160902b1b32b9725f4c7cabd06dfb612fbbeef31845df108efd50917d85ef619ba62d03760852d31a21a23e2bdcb5035292b317982d7fede260a696041bb2293";
   hasManpages = true;
   license = [ "bsd3" ];
 };
@@ -35566,11 +36425,11 @@ ptex-base = {
   license = [ "bsd3" ];
 };
 ptex-fontmaps = {
-  revision = 59711;
+  revision = 65953;
   postactionScript = "tlpkg/tlpostcode/ptex-fontmaps-tlpost.pl";
-  sha512.run = "16afa97812d830b2b98f657f67ef690da420afe63ccf6f002131101f3ce9a03ff6e5170db1b316e9db521e4cdf89c7aedf26c57be162bf1c5b48fa4226e5e029";
-  sha512.doc = "affd6dde30276fa680a0d99d0a51650ee95260535dff717801d61ccb8165c5526047e46ad6478367a439e9a84721500128062b8cb6a1f33a25a65fadae4547f1";
-  sha512.source = "eb450119b3897f9e8374d29a3a9512819a05263d5829c81d56dc00dd35995133d1a3cfcadc59ce2aea52ac8b5bc195d27446f159356e63b433e235d1098e93b5";
+  sha512.run = "b864c185b5718dfa76e0d4385654ca8e319ab0cbb59911defbec8d6198879265d064087df233d9020f3abc4bebe0742530f40b2ae6e584dbb4f5b6ed7ff28d07";
+  sha512.doc = "4b21fe546634aad338630520bf68fce2a83f8e6fade99d170ef87a92c8308dd289ed130bf67bfc88419f8752454ab04730bfaa68de90535984590ce8435d87b5";
+  sha512.source = "028304d777bfd5155baf89fcd4003bec43e5a7f3009aa9250cfd13277d085cbe52cf49511cf664efa0c886b1681475b0c25eaa65624bf0b77d4ab4403ebb457a";
   hasRunfiles = true;
   hasTlpkg = true;
   license = [ "publicDomain" "gpl3" ];
@@ -35591,10 +36450,10 @@ ptex-fonts = {
   license = [ "bsd3" ];
 };
 ptex-manual = {
-  revision = 62915;
+  revision = 68147;
   stripPrefix = 0;
-  sha512.run = "3748c0c1ac982aeb2f8210d877b20fe9a6c42582d21fb7e43b9c254e787f22259a90ef1d398e498ede493dd3663be521b42d47cdfe0c5fbae3f43ad5be16e446";
-  sha512.doc = "f84a8a047c4387ee45214b6bc98cf2710cdd3497e5a6066fed518b754fa4dbcbe1602cdedaa0f48638f37801f7f7801ad40f288a2e5b8e03cb36848d3992a7d7";
+  sha512.run = "ffad7c7c67e7c6c92ec7b814cba8ca8cd7fc9935d5b6c7f685ee83b97cca56ac410ee2c15f8d86f4bbf443508f2e2224603c9abc64e734451ee94ce968425d62";
+  sha512.doc = "dc2643c258a98410d9a456e16794d70bf6de6e1a40b8db2bcf7fb40e20953bbe482cb26cf3e65b0caa19806e915cfdd3787ddcbf69108e2af0d83e03d3b0104b";
   license = [ "bsd3" ];
 };
 ptex.binfiles = [
@@ -35611,10 +36470,10 @@ ptex.binfiles = [
   "r-pmpost"
 ];
 ptex2pdf = {
-  revision = 64072;
+  revision = 65953;
   postactionScript = "tlpkg/tlpostcode/ptex2pdf-tlpost.pl";
-  sha512.run = "1893a49eb389914d7a9247dece7f67d9d6af05efca77801130726d6422b1a0150b56f29d3f133f433d70989f6ffcc2b44d209cd044c84ee0833c2f77b87f3e46";
-  sha512.doc = "f193b44004b487d93f025b34b72a17cbaf4111b1a6e1ceb4ac1b69c6c07aa4dce46cde510cbd01fb71fb08c06f7bbb415a4a8051de5861f1f586b756060f386f";
+  sha512.run = "6a4246d9fbc7cc6f37319d338df8320769cd4b1f0247186beea117b8bf228263f3a330146cf251a9e8e8c7232eb894ce6dad9eda840dd4a154f2502eae4c0f57";
+  sha512.doc = "5635ead2dfa20ce9b616073272452de5c68c55104d88b2362b87cafe4762608d681b0c370169bff78466520d14f9055e509efdaa4ecdb083c3c3111ad829978c";
   hasRunfiles = true;
   hasTlpkg = true;
   scriptExts = [
@@ -35635,6 +36494,16 @@ ptext = {
   license = [ "lppl12" ];
   version = "1.1";
 };
+ptlatexcommands = {
+  revision = 67125;
+  stripPrefix = 0;
+  sha512.run = "2a2924af70b0ed8d76f6062482a500371d67d5a3bc0b87382d76626b34da9c1acdf9c123ebfdab2e5e79041b10d0e327e9cd732781e5fa1620247bdf02dc21fb";
+  sha512.doc = "5b9fc92a4cb3597c0c95936d5fb6ad475ca4f9896f8165a0e391e591bb3fc9ea75ae79c14ee62197200d69d577df8025e6017960beafe6bef0bda90a6a615118";
+  sha512.source = "47c0d8ffd0f352a39f54ce32696fa67d25dd438de8fede88bfc5542409cf5576c953b40180b5ee1f469067e2ae5ea8543a68c84246ef9ffdc3c51c14866be690";
+  hasRunfiles = true;
+  license = [ "mit" ];
+  version = "0.1";
+};
 ptolemaicastronomy = {
   revision = 50810;
   stripPrefix = 0;
@@ -35702,31 +36571,31 @@ puyotikz = {
   version = "1.0.1";
 };
 pwebmac = {
-  revision = 63731;
+  revision = 69027;
   stripPrefix = 0;
-  sha512.run = "ab1351295df1586617b6efc850475c8bbde08ff935ef0a3f72f54402e3d16fc7aa01e80aab5a39330c4bfd9f6003f08a7e804c1caf6a21f4edd94cd1182e1d72";
-  sha512.doc = "844a684b9e9d3eb148acce41d7385150f57ed22d802a04dcbad57f7d23cb8a08f6da556c9b3d8e1bff9525728249e64766c8e0af143ba05d59316da289676e3e";
+  sha512.run = "aed495ad3c056a34f63416e570db395125719e9a9cb05c5043bd4f0d58713c28ee548c931a5c18d316d0a2a39c81671788f87b422f01148cf9ecdb52ab2a87d2";
+  sha512.doc = "0312806d06b3db91d2e0bf3df2c1f3dc8620c1f6b59e4e968232631edac217e99bccede5d9cf133f52409d8a664f69dfa072ab5d205f67fabafa0ee74db90d20";
   hasRunfiles = true;
   license = [ "publicDomain" ];
-  version = "4.8.1";
+  version = "4.11";
 };
 pxbase = {
-  revision = 66198;
+  revision = 66187;
   stripPrefix = 0;
-  sha512.run = "0c4d3dc297e78c373e9bb5cf6e5161b1607b693c924b77c05ca362e7791f2fe92fb50774121d85717adceb42732e877ac88c2200ab1b2b97deaf07f2ba54a3c2";
-  sha512.doc = "24e8d7be5a6799b712cfcb752082229929806805ec4005e2c05506bca77a4309b046a38ecca5b5115e248de2418e5c9a368aa894c4a8ae7bc36e8b9ae6b921d5";
+  sha512.run = "34fef6f30f53ea2c67394f931168025f7dae7f6e12904b862ef821040a15eb3eac0949ebfab7b1b3dfae8e9944fdb85b99294fc6214df0ce8c1b82eac2702ed2";
+  sha512.doc = "4e1fd7e88d8e17dbc4f65a7dab0f3c4bbcccf3b24b55085fafc9f393cd99a653ec2c4fa41ca85760436a1c7c6121848c57912ff649c302db6966a5c907dc0209";
   hasRunfiles = true;
   license = [ "mit" ];
   version = "1.4";
 };
 pxchfon = {
-  revision = 66073;
+  revision = 68103;
   stripPrefix = 0;
-  sha512.run = "79d73304aae1071088110c5b22dafa6c8b0a4dc7f64758152846c37f4df89695432106ee7f07bf6c342ecfb4ff89e8ae67cd3178625aeccdab9f52fe83a3c999";
-  sha512.doc = "50d2573e8502fa4e492793d163027252d597bca376f36b12f7bc9411331187544efabf4e30a1ea77fc0e4f1efdfc83f06fe8b663441d84f9360a4da501187214";
+  sha512.run = "c79d32b99873e5262d3497846af0fe8c327d574ac61030241a8a1d95e4439794439cd3fb75cdcae51206e76bd4218a6778717492c036ab71aecd8e67a0040990";
+  sha512.doc = "1f50dcd95cf37669330d426238d398d5bfb2503e4db06287f7a361ef87136547d1020bf1d35fcd9504ea5017dc9ec0a0cb8f9298e4d178ec4c7cd426d91f1d6f";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "1.9a";
+  version = "2.0";
 };
 pxcjkcat = {
   revision = 63967;
@@ -35756,10 +36625,10 @@ pxgreeks = {
   version = "1.0";
 };
 pxjahyper = {
-  revision = 66285;
+  revision = 66272;
   stripPrefix = 0;
-  sha512.run = "3ac06bfc5be7914356d10e53574c23b417ac1792b75f0d8d2bea9542046d0eba66b505db5bb0136c79b21419e61fc18d0f128c29441e40e764608dde3835cbab";
-  sha512.doc = "e367cba02ff9debabba58923e1b706b9ba2ef7b06416f7e39473ee64b253cb08c1bc60949e505ba416c7d1de85c6de481d9ade102e9c33a59bcebaa68967159b";
+  sha512.run = "f6e62e0dd4a5da2e9c702fc09c311a0661d58668c4999eaf5209792d3c88001b9e7d80cc1a9c259ec5e2668a7139a4fe90dac2b23ea756f238a387a6c7e66772";
+  sha512.doc = "f08af33a25f837e86dcd6dcd0f96d9f7bb2570eeae9011201468fdc9bac50bb8ea72d4f069753bb0c93aa9d61952cebfbbe936f65220167e4648cb206b901aae";
   hasRunfiles = true;
   license = [ "mit" ];
   version = "1.3";
@@ -35783,21 +36652,21 @@ pxpgfmark = {
   version = "0.2";
 };
 pxpic = {
-  revision = 65803;
+  revision = 67955;
   stripPrefix = 0;
-  sha512.run = "549dcda0e4667fba7d7ab6d34a46fc890f1c9c7ec168b015e8ce07d2cd6531880433dd657dd46ce63fea534d87f9597be365813446d9ea524fcfff61f139d6a0";
-  sha512.doc = "4bb203443bfd227a7cb1d2aa2ae43dd69e3c52c7a81bb9a94fdb6ed41cc93d95016c33801bba28324a02b8533395f0affd90c9dbf07054def888c26a3aaf3425";
-  sha512.source = "7a68bfc2fb2e2dff88d0515c050c32ec4fa13745efd9bad20a216a9425bda688a31a881b955e2cf94eac1fadcc54dd6df0d7968c90acdebad4101a871d3cf40b";
+  sha512.run = "4eade52198c6ed8a9e04380cab15098435b2e158f8662d32c88599e02e49a2f7f6257bbd6fab8d3c660e61ff679aefb38d29b4787fcef0a3510776a21707526a";
+  sha512.doc = "28151cfd56136ef07c9402fb8f4e0da4a2694164a38e7eaeb5045845731b0b204813b9c0f2b07f9998619feea24effd049cb42a0057841a6a3b3bd998dbc0124";
+  sha512.source = "f5281b971ee70e963cb308a1906bfe8ef96939005f8b5972680db8565c1d0c9697d674426b0833064a07dbb086163c621d764125b3432af3d960a3e466b250b5";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.4";
+  version = "1.5";
 };
 pxrubrica = {
-  revision = 66307;
+  revision = 66298;
   stripPrefix = 0;
-  sha512.run = "f274e1bd151de3159a415287e6a97b5f3035119b799a45ae782377c44e73010b69f6e7f1e491149f4a884041bf8696c767cd8779731afd8cc1fce62ccce1fc9f";
-  sha512.doc = "91cd5efc54e6c8dd3327a16e722386ac12d66e695f2ccdcb951b77199bb64b081645831c3db6d0c9192348302b0fd8ad63fefeef6ba6ecdd7f1547a38ab28b29";
-  sha512.source = "0b14787df1d93639d4d07d1edc9d0b2c73119af858b59ce816a17646f5295d96d7716d288996eb685e3ed5ba457e185d520426f3bb88b7d34a64404dc10eba74";
+  sha512.run = "0ffdde0f17b1bcb90a858d6dd6ca204eea552b49e91cdc797e6364e8b59cca4808a293154426f9c3f52dd2bdc27e93c091bbddbe6c15862fec144b9e4cd6ea9e";
+  sha512.doc = "e2a217a5029857d66882fb5a626e7846a2cd282b9cb2f5a65e6a61919bc7ce23a16294bfc27e9b189a8aee6bcc95cab24a94a6dca221f63d650f38c5e5fce28b";
+  sha512.source = "f513b8bcc4e89323b199fd4c793a9405a94206e9498f3c298fd81a7fb07cc46a6e624e71d30b8a7951bb7b081be3ae8c621b992a0c290e0334c834d83244fed7";
   hasRunfiles = true;
   license = [ "mit" ];
   version = "1.3e";
@@ -35821,13 +36690,13 @@ pxtxalfa = {
   version = "2";
 };
 pxufont = {
-  revision = 64072;
+  revision = 67573;
   stripPrefix = 0;
-  sha512.run = "3c302158a0d2dd59d8268284dd3df3352ec2fd4bf102d7cad59276dd991fcf190ff7d54646185758ba19f2f38f61d23ab4c44e329c6f4b56651dd3929bd99008";
-  sha512.doc = "63f824dbc203379179c57b948c7ff948bc0abb29f0f5c1c8e7d0e575302316b668a72cc9ca848e29687833a9c8b3510eaccf47bf27a3136bd978c8a94928643e";
+  sha512.run = "370d82da425014bc4464415b4f0fe6fa1cb3375979734731ea829942ead4289e1ac6fc47c1b5c42185c97b9013da2e779c90c10454ea2e4b6e5d65540ce4179a";
+  sha512.doc = "551f14e0603c0ebd59c1c250a1f9e894683f69d22de748ee6cca05ee78c75899aec8671fdc784ebc5219163068dad7a98cf94c831d81091892a72e7777bba5dd";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.6";
+  version = "0.7";
 };
 pygmentex = {
   revision = 64131;
@@ -35844,13 +36713,13 @@ pygmentex.binfiles = [
   "pygmentex"
 ];
 pyluatex = {
-  revision = 65855;
+  revision = 69372;
   stripPrefix = 0;
-  sha512.run = "be9b33158b87cbd95d2fd4eb15bf834f1c828bd58e4f6b8ae58f64de1495b83ae79315311789aaae3266b9f171c4d5ba156adca28735eb9f628b86f45f2f330e";
-  sha512.doc = "86623a834885fa548a6aa84f6e471134c4200ed4cb2b915f6aa7540b38bd91b2daef85c9b8a60a92b63e23b20ea8ed47cdf0cfe3b0e7f30c369024bffe59d959";
+  sha512.run = "7d400d0cd1af26732effc31e2b7a7e0cb501d712230805204362bb5fc456d379258ca2075f4c902dd6d4bb6004ba154d47ebd6cbbc5febae8d07c113987b1a60";
+  sha512.doc = "3dea8e36fffdc92dd5dc68279e61d0d1bfa374373ada7236b1717b5df7c5cd1baaf2fe8fdfa02c5f64fb8ddbab209055cb707a72ca839e63ea00ffb480f6613f";
   hasRunfiles = true;
   license = [ "mit" "lppl13c" ];
-  version = "0.6.1";
+  version = "0.6.3";
 };
 python = {
   revision = 60162;
@@ -35870,7 +36739,7 @@ pythonhighlight = {
   license = [ "free" ];
 };
 pythonimmediate = {
-  revision = 66465;
+  revision = 66461;
   stripPrefix = 0;
   deps = [
     "currfile"
@@ -35878,8 +36747,8 @@ pythonimmediate = {
     "precattl"
     "saveenv"
   ];
-  sha512.run = "f9e984788484a7fbc839a31c2d410d3f0c91408a67079f0c9557506e31e61e9359de25ca00b27d1c1cf875a8a618c0d3e4ad966d8520c061ad3db6fb1c78dcbb";
-  sha512.doc = "5b7dc7087a01317029d27c9d8ca8eb5e517a8021b837b990d5cf44031ffadd461855694ee4fe419e7a715c5a62a0abd8410bf1e4730ec5403fcae9e2a32e28c3";
+  sha512.run = "a6497acbf8b291e3f9c19a788d853725c9bb0283f4d8da67ccbd3b61302abf8a0d46f16eab2711e3767cbcdb79659d8ee35639d206ede7b578d2dbfb33a78ca0";
+  sha512.doc = "f12e6449f307c0229907085ba6d164a4f2f9ed861a9485e5af5d3a76a6dfcf08e7a38c56452e0ed0fc490d0a90bad151b3ac7e8fecbeb716f683e928a0cbb8ea";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.4.0";
@@ -35900,6 +36769,17 @@ pythontex.binfiles = [
   "depythontex"
   "pythontex"
 ];
+q-and-a = {
+  revision = 69164;
+  stripPrefix = 0;
+  deps = [
+    "einfart"
+  ];
+  sha512.run = "6a2ba84da635b700df2a39d69240b62749454d245ad6bb7e7ee8d87f8125f82575fa7c9e2ce4fb2b51bc0af2749135c5ba3bbfde443344ef950f6ce61a79b678";
+  sha512.doc = "885a499e877514022277317c5f4d4fef22e5a0593b9a69cea2021e2326b4f57662daf55977da5078ac45f0146a76a0cc644498ae6c2c9dc49d5e5c8a39565037";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+};
 qcircuit = {
   revision = 48400;
   stripPrefix = 0;
@@ -35935,14 +36815,14 @@ qpxqtx = {
   hasRunfiles = true;
 };
 qrbill = {
-  revision = 66304;
+  revision = 67724;
   stripPrefix = 0;
-  sha512.run = "384aedf221e5a2ada24487f85968f209636c8026939844ea41c7ca2616c4b621430b1cd5c726715c652510471700c1092730634529794f746b55bc7989d257eb";
-  sha512.doc = "a60485e65749fca433eb95fd99bdf96e92bd297c9d5fac7339d9ba6a7bc82d15e1f18f1cc154beb70e04c7e4a02c962b33d7b7d1d42154aaa5f782c526c08d39";
-  sha512.source = "6f14d0d4f0976b3b1977baf3bc383718b41fda5682ddecebaba2f5ef6dbcea758046ccc1517cc8909d2e51c9af55a0ece5e0b55b6ae40f3e14d9f2fc869cc92e";
+  sha512.run = "61a65a020fb5cf012cc08d6d852481ce8712c214fa7cc446ecd0d5a68221f29ecfa710e81889cc92d3f3895105f153ca5fd54b798261ec095a5f06ccc75cc4e8";
+  sha512.doc = "e348c90fb8ee446551fa2747763ad611344279ce00e0b8fc3772f1ca0b9bea674d1d759fc26b8955261d853b264d9e598862f0bf80561f23b4d3eb038a45f248";
+  sha512.source = "0466344e7d7fb00449bad39b5c42b259a8fec4d8472bee7fbca7acb702777f7b30f0a9469e97b3b6d03ba851b13a66cfbb5d87898881ea35089976c0a7258798";
   hasRunfiles = true;
   license = [ "lppl13c" "bsd3" ];
-  version = "2.00";
+  version = "2.01";
 };
 qrcode = {
   revision = 36065;
@@ -36000,13 +36880,13 @@ qualitype = {
   license = [ "ofl" "gpl2Plus" ];
 };
 quantikz = {
-  revision = 54911;
+  revision = 67206;
   stripPrefix = 0;
-  sha512.run = "e31e50dc3f854f7e2914214efa945e881ecd7ef17eb9a5b8017d911b0ea7bb8f57029a956aea9afecce551c289f08d5c9faed5f9b785d26f25cfd52f64a2ec6f";
-  sha512.doc = "aba9b0f6466f62bd806b5c02671d42d344c18a353f292c3193053908ef948801b0883bf9a47c51ff12b0059a2dc6040028bda01fe51f113ad576f0e8c90c95c6";
+  sha512.run = "af7a59b5fa4111199351b3ee6a14ecbcd6f6e86041a7f516c97f0cd4349a2d96935f138969e0029e4f5f8b8650b7efcef9554bd631c1231d371ec323d7b41024";
+  sha512.doc = "a5efd5af9c89a13afd29a06215becf7544e9643697759695f8be2ea39bd62f99748369591cdc619c18b2bba9f0a0529ea6ba0a7be1d9b4ea1c9a8a8042ff4426";
   hasRunfiles = true;
   license = [ "cc-by-40" ];
-  version = "0.9.6";
+  version = "1.0.1";
 };
 quantumarticle = {
   revision = 65242;
@@ -36025,6 +36905,15 @@ quattrocento = {
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
 };
+quickreaction = {
+  revision = 66867;
+  stripPrefix = 0;
+  sha512.run = "9915f2032b336f50f784dddf14f69df6bf59ea0c1df668adbd36cbddf98df601605ec6a245e3fc2011742f6349c830add2ffadd49e4389c088bd15bf5bbe7a7d";
+  sha512.doc = "c71b5b5a52e12a50cb52632225e9c70acb40ad4796b4b8a922d810e8d5d34da532e3f2b0b708a7a896756f18edc2c39376eef4748e80ebde5869ec44e6af0765";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.02.01";
+};
 quicktype = {
   revision = 42183;
   stripPrefix = 0;
@@ -36034,6 +36923,15 @@ quicktype = {
   license = [ "lppl13c" ];
   version = "0.1";
 };
+quiver = {
+  revision = 67779;
+  stripPrefix = 0;
+  sha512.run = "b7eda520bdfeebff570458d36e22b1779bd16c14070192072987c7f1131efa33c6f1e7ff8c16f73c338fbfe6ef80e656c2ef061ad9ee15885b7f5e8f1195ffc0";
+  sha512.doc = "42bff285adfadd6655941b0221b2cf0d9a457a638997591220b564040acb94b4c57bb9dfccf90679c81e301618e8e4b5ea19c1dad9fb478dbabe1c2dbe4da991";
+  hasRunfiles = true;
+  license = [ "mit" ];
+  version = "1.3.0";
+};
 quiz2socrative = {
   revision = 52276;
   stripPrefix = 0;
@@ -36043,6 +36941,15 @@ quiz2socrative = {
   license = [ "lppl13c" ];
   version = "1.0";
 };
+quizztex = {
+  revision = 68823;
+  stripPrefix = 0;
+  sha512.run = "dbf234ba1d366bdd2a1be442c4bb670efe34d67584386ab1dadfa8afa2ff8551ff03ed9c441f6dc480bfed36ea79082048aa6f0e182f4b9bb5dbce7782c81391";
+  sha512.doc = "5c9242df37a22ebdc33d834acd95f760681eebf32516857d6b7ef866ebd00060017ec058c7a628239aa65cfbe62d0335ec00d786d4f9558ec754687b161ea017";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.2";
+};
 quotchap = {
   revision = 56926;
   stripPrefix = 0;
@@ -36074,22 +36981,22 @@ quotmark = {
   version = "1.0";
 };
 quran = {
-  revision = 57601;
+  revision = 67791;
   stripPrefix = 0;
-  sha512.run = "6df94a192fe113d39dd1a8e3223f7261caeca26243c1a229d7fb2aa4a34e976e23865b7c680cf9ef768ae182a418da64d8a52a757fa4d9f242a4e34aa3048a6a";
-  sha512.doc = "e8343ba6708d1268082192dfb0bbab200aa5a45da958d772dd18af21d466d069558755ef9d738a680537e7efbb1276c6c52125de0eec7222f4fe2089bd500d67";
+  sha512.run = "d725825669bce286e05ba5a6a4034f2a485434d40cd32d7f9cad42c1bc7e74001a0a0d1784b5af73c1075166835042406c42839bdd6fca40cbb06b349cc685d4";
+  sha512.doc = "1d706f0ed780efb7529eec16dc9e76182c584113f6d5bc58521de023611401963636e6370c8e06082548da191c4523c7017c59f164d1cf5b234fe7fbd4522689";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.81";
+  version = "2.2";
 };
 quran-bn = {
-  revision = 57602;
+  revision = 68345;
   stripPrefix = 0;
-  sha512.run = "1630d336c3be2cd93a338f572f96d35b4ea40862fa6dc3549a8e2b5bcc3b83e663592c9af362fc06a964e1206c0b27d43fda99ee1cd1af5d00f53ed45b52c0e9";
-  sha512.doc = "871baeb8f1af5e622d587144095a57fe20cd74a5fc95831581aae2f327163bdeadccc84686a4892e85e038b5a3611139bdbe001fbc870341d83bc30d478b3929";
+  sha512.run = "24694bd309d78e2c0315d60027502a93f3beedc436e3b5dbdb3491d9320ff4e2439914a3d3b84c70644ccab3858d184d948a006b13e622af5cb6c1211cf6f5d9";
+  sha512.doc = "d82f949a61f668b6577527d8ee329cd7e23fa7d584eb1c7258be3afe819d6bcf249d9db9778b6da4f57cc1f239d0340cc8b64855eb25d5825d47cf1e298dfb80";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1";
+  version = "0.2";
 };
 quran-de = {
   revision = 54191;
@@ -36100,14 +37007,32 @@ quran-de = {
   license = [ "lppl13c" ];
   version = "0.2";
 };
+quran-en = {
+  revision = 68790;
+  stripPrefix = 0;
+  sha512.run = "75ed9751d6d9517970ca0cf842eca390a172ae24eb12be04a2b97ee1d2673446064489bf594a172677cd785c05ca31587db8b3f64f8d8a1080ce0be0bf191356";
+  sha512.doc = "7e5999f4378a32dca0b47ebe63a1fbaa331110d638f1b2d3308964a1a61d4036967aa1712e1c07bb0d3bfaa2106abca72302df06a811b1412d5029fd94588d2b";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1";
+};
+quran-id = {
+  revision = 68747;
+  stripPrefix = 0;
+  sha512.run = "88328a074b74b6197079c9fbe92170989a1c4ba139e2a84ae96f803ca5805000e11024861e9f033fcba5f346b6bcf38a59231b6849fb4af586eab33795efe7f7";
+  sha512.doc = "42d6c03ff54e65e94196ea0b66e77921dc6bfed3f45605835fd6721aae3b97ebb69acb2362bf0fb6158348fedafb8d543f32602358f3466ecfd89cb56650a074";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1";
+};
 quran-ur = {
-  revision = 57597;
+  revision = 68314;
   stripPrefix = 0;
-  sha512.run = "217d3bdf7ae9391dd300ab0ef390dab34d83675be41c6049897914c24abacbde29d57a68e6321058d91cc63a1b5143bba3b15c7bccc8d55f50cc3efa0e3d4016";
-  sha512.doc = "9be2743ee3d4e0cec70731f5ad5bc71c574ad122aff7b30ec50635a5c4d1c87801b324f048e141e2208bc59af5995b9ff166c7eaa06306817629600348f55cbe";
+  sha512.run = "af8d0d7c10d3b9dea55cb4339982196d5dc33204fb9ff368591e50f48b8fd5ea741207466f158a4ce7da1125cadb5240bda38cd4bc5093966fb42f7de77beed0";
+  sha512.doc = "17d660971e942478baabe2e98eec7da096c37b13f9da24a8e8e4139d0dffccb280b0a464a0fe76f47ff39f899e8ae0d9a582a01be927ff8529e14c097b81090d";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.21";
+  version = "0.22";
 };
 qyxf-book = {
   revision = 56319;
@@ -36128,14 +37053,14 @@ r_und_s = {
   version = "1.3i";
 };
 ragged2e = {
-  revision = 66153;
+  revision = 67441;
   stripPrefix = 0;
-  sha512.run = "df8a7a358d8529123ce5c4baaa0f2a49d39a7a1846c5cbfbd96a3f13e56baf27a84a7fde148cf58dd2ae0b353994b53188aae747e3fe41d565d19daa1e779d80";
-  sha512.doc = "0520c2eafc27a21639ea1d8ea11871ff609e43804d6ecd1acb43fae9a214aece0c1cee8aa30b42ca110898cdb2ebecb133e1b6fd704b1fb336d892e6b7006a8d";
-  sha512.source = "08550854e8aa13a0e29f2733965e730af339591d94942941d986f6b70ebad74b13b6885fae2d1809dd9397f11be352d6eceb3b127ec323df81cad4febe5e2a07";
+  sha512.run = "363d952daecbd0c4d57e7d2aa5bd28e32bd04efd1b26f5ab65c4874fc65948fb4258eb430560bb8d294406cf314778047b0027a45c21cf99f77119519878e368";
+  sha512.doc = "be65fa8afee57fb8044ad9ec3ae1ee05ebaf0d8b40388f9876de7c25f6bc6b3a78221b393442e1c3bfe69450eb3c98b276b569540ea8a154a5297560f8a972c4";
+  sha512.source = "56482d060b48c8433214b352efc1b2d6499aeb97a689fffd7e2ae5175f92033714aeb61250f79eb847ed3dc63db8e873ae8efab2aa8dd6d8824902a4c00517e2";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.4";
+  version = "3.6";
 };
 raleway = {
   revision = 42629;
@@ -36203,13 +37128,13 @@ randtext = {
   license = [ "lppl13c" ];
 };
 rank-2-roots = {
-  revision = 61719;
+  revision = 68161;
   stripPrefix = 0;
-  sha512.run = "5124c4185eab09ff6e855409bb9d8b235fa3c304864886eb7d96fb2bc3487214eb388e27b4a3cc25f6d3b12bc9b77a073e2404792d2b0654e243a540c5fa00e7";
-  sha512.doc = "b19096334754f7d02b0a16d936c885e9ada82adaf1ed4011df815bcd703b4e79dec62d133fa3b32cf9663e2ef69081a95ae647504d8b6eb0f27f86909980506a";
+  sha512.run = "c15a31fc178dbce9a776c8409d0df18e4ac05e2786aef486bd9a932c64ee6482ca15d6ca10eea70b98f9444f01d292a5e1032fb924cbd1add8e8bdae7a1bfe8e";
+  sha512.doc = "b5b2bfdea68db76c4d52d45613cdd45d91e684f24739024c53a2e6efee83660c2534cc88d4aaad5b1e2c203cebf2244ccc4331935142661090b95e29aa4e9240";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0";
+  version = "1.2";
 };
 rbt-mathnotes = {
   revision = 61193;
@@ -36260,13 +37185,13 @@ rcsinfo = {
   version = "1.11";
 };
 readablecv = {
-  revision = 61719;
+  revision = 67986;
   stripPrefix = 0;
-  sha512.run = "ca024cf78918406ca68a750832bf4046b22ca36cbd8ad7784cc2cc9aef6440de43c7d5c38aea95d738ec1f67685f02e1fd37440dc90d76046ee663cc475a187f";
-  sha512.doc = "c7b793994b11ae49bc93c8b39c0e257c24c54ebf19026db125ff1ae236f9b8443290b31443baff3a587fff073259621b001a75b0bb4f8f4e4963245f7c739019";
+  sha512.run = "bfbc2764d56277d9a215d4366f812e53361faabd136ae86ae8152ab763742f51d27e9b61bf4a1d42fe2f14a90d5d3d0cf6cb513b3c6f5990ad34abeb26c22d44";
+  sha512.doc = "6a337934b2f52cc8543ac0bee5dd52d2deff2e3fbf192977937c8331134227d816c846845923ead87615ddc117b44fb141239024e766e17e1896cfa1c4afbb05";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.0";
+  version = "4.0";
 };
 readarray = {
   revision = 60540;
@@ -36288,14 +37213,14 @@ realboxes = {
   version = "0.2";
 };
 realhats = {
-  revision = 63595;
+  revision = 66924;
   stripPrefix = 0;
-  sha512.run = "4ea4abe044eff67e97bd4d93da93dabeeb23a22f4383577b5e2c4fa849ead43aad4cf9e31e99f6b5a2b57ddde41c09648f6d146fb31483049c43e37d01f0e1dc";
-  sha512.doc = "9b80b31974a9004f4bf1e93be33cb0765f0dda42cf1dba13b1d6c965811d7e91f25fbd1ff026fa46f1c2f7bee652f84ab19855add50513586b01b710fe7d67dc";
-  sha512.source = "cfffc12867350233426a195b25880bf4b209b8c9320f2ab836457c366e40e94b5503260e548251465f5c58bcb7243d377a4487d4ef3aad6123cec0d7fe1baa2b";
+  sha512.run = "9cd41126ccfdffe1322e0b49af113b65761a34fd8bffb96390f7c50d78739be06605fa2e16347a226bb7fba47bb832b1bfd19c8d836dd557fb41ae5dd0281d5c";
+  sha512.doc = "94fa596ae22d6c4f75276b30e5fa0f0d03d575f01ef2d6e6a18454bce3c0328a8dd7b804d586af57363ca1c5eaf3c57a4d021fa37327920f123e7b8b2ab55df6";
+  sha512.source = "87f5274eff261f29b387b8b171a1ea031e5373b282950c60517c66163c1f6b75cbe4bdd52731249b22348386fa3565952852efd5143c80edb8e6e070b0e77f5a";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "6.0";
+  version = "7.1";
 };
 realscripts = {
   revision = 56594;
@@ -36354,13 +37279,13 @@ recipecard = {
   version = "2.0";
 };
 recorder-fingering = {
-  revision = 66026;
+  revision = 68595;
   stripPrefix = 0;
-  sha512.run = "da0c6485ec331faf0468d46bd4dc10214b63df89e281c059db8c3f7ac213ae6cfd1b7227c6286035c69c7748ef26efcb4163d85274c1773e5e1a6b86a3d2a4e5";
-  sha512.doc = "400b107b54474a973f2a0c7efb9e97940d5c8e76b26ba29985e72e9362cd8aa892694c1742acd19d0e7ce44c737c6537165e331f80af38c6200fbb4143459fc8";
+  sha512.run = "1a97324ac1264d293a05207a667255e5711cc13b6acc02acd5a170d776d357dae9158491bd0adf96a11e17fbdde1d24809940d323f417f31c5b73c55c7758031";
+  sha512.doc = "ce1782952b53171c686d0f76d9f48a127e6c6bd6c1c2b0eccb00fb8968f31c809118f6bcce0503a61997907feb7d677ad23692c68427bf8666124bb0b040585c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1b";
+  version = "1.3b";
 };
 rectopma = {
   revision = 19980;
@@ -36467,24 +37392,24 @@ register = {
   version = "2.0";
 };
 regstats = {
-  revision = 25050;
+  revision = 66795;
   stripPrefix = 0;
-  sha512.run = "95e68cf4ea4cbb34801a7412ef1ce87fd75d017681e43ccb86e56ff47494aaf95e3cdccb4f0c2ea6a276d99960df881857d9a138368fa6cd37d7f38554ad84dc";
-  sha512.doc = "1883f17190f3b24414dc8ef7f874cb50d682b5dcdf45f8bf95fd15b3347996de37a7839b727da4cdc9e39869ee1def31ed1b2be02e48bc68a81c0d2f8aef8be2";
-  sha512.source = "4e7392bd85860ae971fcd06025f5753d7f2c815cb216d6a53eba1504c4f9de7fee9826807149826ee69c6776f17a0f0f537ffe7ad1be04597ce221d5cd8f7ff4";
+  sha512.run = "4eaec929726cc9bce1481d4edd4222468c05aa30272b24e26b0c9737154316430ef91203531fbb94e3432fe06042de22d30a6253c1eaef6f1c9287b4f0049460";
+  sha512.doc = "8c9f9156e513a4f29c7d362146056fd69f7eabac72e2747c1c93821c9ed69753630da257e1a250b415074c21c1793e4f5c57ea4022338b104871379717da37c3";
+  sha512.source = "0a2b173393405c825dec83d5151b1cadd31a1e5b9b20210b7e46982836807a2e7e9c294cb3c184af2464334d43f9a5792f7ebd6c868ccba3f0b7879d34d747b7";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0h";
+  version = "1.1a";
 };
 reledmac = {
-  revision = 63105;
+  revision = 68411;
   stripPrefix = 0;
-  sha512.run = "c7cabb0818baf51eafc4f4864019479925f2b1861435cb85f6a1d03a1ba542c565a25927a582dacf04508deb005ef40dd286126ae85cc918e7881d5aa589b0a6";
-  sha512.doc = "3cd4033ba53567e443c8b5f2b48ff11e63bcf21dd2c618c00e8cdc00004ba5806947e96cdc1c6f1125ca7eb28a505f18901311c3ae168f34abd1e4e7aa7bb96c";
-  sha512.source = "96f3ca08dd9b0323b270a40dfcb63fff3b74a0c7c3dabb076c2a588b4041cb7052e4c84d2d4f04ab02f511e43db85dc39bbbd41faba78cf2553696fee9665553";
+  sha512.run = "ab02eaf561927fa1840d59a49e8f87572133fe5762fb2b8e97b5a3fa80a9489bbc33ff9d12433481a6088739cba562d6a66fe9e70b5e74e7b9caecb96bd1fb3b";
+  sha512.doc = "5ac0734dfc14a25f4b171d73cdd643a60d106e11eb4d128c6da146ffd47527212b84fb5c2674028ce0c18b5aeb9375d56f2d5a9ebac654660d672e7983405179";
+  sha512.source = "ab0af4aae5b31147ea29dcd5eb4412f139bffa023600723780f37b7729967f1d5b94290e39080b9a550b3dc967dade97fa94adb14d20742ddece3c4cf3c0c8ad";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.39.1";
+  version = "2.40.0";
 };
 relenc = {
   revision = 22050;
@@ -36523,13 +37448,13 @@ repeatindex = {
   version = "0.01";
 };
 repere = {
-  revision = 65769;
+  revision = 66998;
   stripPrefix = 0;
-  sha512.run = "75b3b8cf2ce499f7443626afc30615c790d0edebffaa604fa38d05970ec84957e57eba4d2cb1b16b53aa9d162ee922ae38e7271848313f2771c27f4cd5ae9a7e";
-  sha512.doc = "04ad845cf7a32a6f242612caf9b53230220c73c7854f46db0b3c35ee2533f6a0a6115a931d73a76e5c33f119216b3b75632454bf7b07992e3f38b4f2419726f1";
+  sha512.run = "502e1948f22a70003eb5ff4b6eed2790e28cd5acdadcaabcf1f0be699026fbb1cb7144bbb15f230a25f85abf00dc1de075ec44fcc6fa10e26550f85b50a272d2";
+  sha512.doc = "c16864711c87f2632cfa56ba06968ed967874ca25139360476f6fa2bb7bd89b900ff8a98c4514b4664e5d623c9d29437e375284bfd0073b2cdda0eae13e896ca";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "23.02";
+  version = "23.05.b";
 };
 repltext = {
   revision = 56433;
@@ -36575,10 +37500,10 @@ resmes = {
   version = "1.0";
 };
 resolsysteme = {
-  revision = 66193;
+  revision = 66192;
   stripPrefix = 0;
-  sha512.run = "db1db4e2eb14033272fa247149398a99dd1821f4da602752c1fb91afd240d9103fa68b224daeff6f82183c0bfe5fce951412b7ab5355914ba8cd26abd3812fc7";
-  sha512.doc = "976dd0a21378474a919fd6212275046a4d9e056f16e0ca99c516de15eeae65fb538abaadc8e1ea89dbc9192435e1b063c2de8b473e47e0c22e35395d73f84650";
+  sha512.run = "b4d196ea41fd5f4c9d78df932516a8f1bcb2a8862a4b367a8a288678213fe7a7d6fa8f4ee531982dec11bf04576cc5836bf47368f282cd939464ea6df748eccb";
+  sha512.doc = "3fe3d927326acf296c5cafed3c7ab5902ba7c8c943e6bab280b1e0f0a997f90c3e2676522f3dc7dae0436845b4caeb2c58804280d546dd4e6223bd1984659aa2";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.1.5";
@@ -36593,6 +37518,15 @@ resphilosophica = {
   license = [ "lppl13c" ];
   version = "1.35";
 };
+responsive = {
+  revision = 69147;
+  stripPrefix = 0;
+  sha512.run = "13fd41361d1770d9fc58f1834adb312bde154800e5b1b6c39cb7c0b50dc5623ae3970d5d6fd179c706bcc6d92512f1af88b9dfd78440d47a9e330bff568d5ef4";
+  sha512.doc = "840556a6a8ccce54850efce732e63e58078e12740c39c8b81ed47c470d39fdb8a9cd27dca9abb5380fe2d9afdc41c801d2beab4717933bd4ac110c26491ea082";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1";
+};
 rest-api = {
   revision = 57068;
   stripPrefix = 0;
@@ -36650,14 +37584,14 @@ revquantum = {
   version = "0.11";
 };
 revtex = {
-  revision = 56591;
+  revision = 67271;
   stripPrefix = 0;
-  sha512.run = "3ae6c843dea5ff9f91512a1b713aa2dd05f76d7116d2af3f005506864062a9d1e27888c33fc12aab96d5c566e9e7dcec0f91189f957bb4d2aa69953d6b10c316";
-  sha512.doc = "9110bca4c358d5364acddc8a04d95df821249bc93a9e811a4d94b703b6daf124962fcec404354bbecc32557ddb7ce67993a6dba7ebad514672dd586995cb23c0";
-  sha512.source = "88121fba6636f753b96ee19beea708d642c20292204e30e0be85dbf0e0af8e2e87386fe6596841e8c89861d2b4e6247913bf26fac35b1eeb33ebc0469e1be5bf";
+  sha512.run = "3c0c008929457a405cabd699a6bdbb0c4ad2afde1c7155b163c52e9564f15718bddec782abfb6336e55c77ba1d0d0d88a1da39420ed1116f21efc1e4c93d4751";
+  sha512.doc = "de2053c650920b4e83183883b4fb15f25abde4210eb0c0a81adde4838c76db8e755a2afc74c8f3cafc0819d57b762e701380687e589ffc785cf6439d120c1474";
+  sha512.source = "270c74b7f50c5c8ef4eb2f27dd72e5029d6d48083baa9b477506e1559fd6684aa9ff95f371c8a40fc1535455a89e13e625b1cd7c129ff18ff3101457794f34b9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "4.2e";
+  version = "4.2f";
 };
 revtex4 = {
   revision = 56589;
@@ -36698,6 +37632,15 @@ ribbonproofs = {
   license = [ "lppl13c" ];
   version = "1.0";
 };
+rit-fonts = {
+  revision = 67659;
+  stripPrefix = 0;
+  sha512.run = "6f9be849a018d8714d30dec2d9d745c745c48ded444601bf64136580999614b514ab23468a440e8811ffcd114d0968606bac269cc3bf27feb9a5cbe51a68810d";
+  sha512.doc = "bcf029e75ed4d8fc403d8868bd8e01df2ca6c292766750ecd0e7c32ee6ac2e3a48527e321475c8f56ff7f38541aadbbfd8461fa59ec1ab911891bc73fcae1ec2";
+  hasRunfiles = true;
+  license = [ "ofl" "lppl13c" ];
+  version = "0.9";
+};
 rjlparshap = {
   revision = 15878;
   stripPrefix = 0;
@@ -36753,6 +37696,15 @@ roboto = {
   hasRunfiles = true;
   license = [ "asl20" "ofl" "lppl13c" ];
 };
+robust-externalize = {
+  revision = 68842;
+  stripPrefix = 0;
+  sha512.run = "b210a9adbfa6bc7d0063e624a30abb885eb49a7e7dd3e215f97784e5da4c79886fe4d19aa012395894098833c18209c117e913b14091fd2f3eb8904a356fd792";
+  sha512.doc = "e1732e10a355b4f54d870420acfa3bbeb6256b0a7c0136f5cfde829ff02885422b175c2834b229bf22a4b4a28a1c8e80932af2b0a826b1658d0d8ec58de909bf";
+  hasRunfiles = true;
+  license = [ "mit" ];
+  version = "2.2";
+};
 robustcommand = {
   revision = 15878;
   stripPrefix = 0;
@@ -36836,6 +37788,16 @@ romannum = {
   license = [ "lppl13c" ];
   version = "1.0b";
 };
+rorlink = {
+  revision = 67461;
+  stripPrefix = 0;
+  sha512.run = "6dcdc3e26fa093346bb60d2346af7de4cae4ebaed024fa21de1f28cc462b956bb21e946e189804a69420ed26fee38b3a3f8d45cb5a04d16c2859f4f0e0caf8ae";
+  sha512.doc = "cc711052ab363104748b944b0f9d32e6328e2613a100871a53a2b9464e4e4d16b6cbfa4c42bbbd5cd093bfac1518e605af4b43205fec40641a0e2465b50f7728";
+  sha512.source = "105222e02016315b5cd5367e2a739db1c977f403e7cbc3172be8a2528e140197472785a7de48be8e252fa702941963ba2b4dbc75ce52929bea0d4b02b5b9399a";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.1.0";
+};
 rosario = {
   revision = 51688;
   stripPrefix = 0;
@@ -36865,6 +37827,15 @@ rotpages = {
   license = [ "lppl13c" ];
   version = "3.0";
 };
+rouequestions = {
+  revision = 67670;
+  stripPrefix = 0;
+  sha512.run = "7eaa938339d1e59241b85cbbec4238be4fe2aaf4dbb3544c6d1511723c62b96dc5fe38c4fae062dd2d61760739caf0df3652b710546a6725d072969df8e68b0b";
+  sha512.doc = "16ea492fabb90e0a649d5ff8e13b358a4ff7a612df34cd60a7023a1572337d237b87bdd5deadd206513562cfc1a3b27e834c49fbd5204277d38dfcf3a1e4e586";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.0.3";
+};
 roundbox = {
   revision = 29675;
   stripPrefix = 0;
@@ -36997,14 +37968,28 @@ rulercompass = {
   version = "1";
 };
 runcode = {
-  revision = 65588;
+  revision = 68223;
   stripPrefix = 0;
-  sha512.run = "a16f61affff0ab5d58df300b638d62fa0e48a8537ddfead3d7e76113e54f31c0f0c8424ef183233d109be014701ba57b78618ec131b5bd3c526b10645e1f35f3";
-  sha512.doc = "b48827b01c986fa1e11469a36f9426255f45699e11002d2826002d1745915a3e36a9919f901ca1a6b9d7a04a86aacbfbcf934732dfdce8ad20771b1b027b3e55";
+  sha512.run = "5f5952e07a5762b3f37de7d97aca5187d8133e6443fa41ed56802a9f852bc9e4d31023430e9969e836d0150e2862d67f0753abbec683d112f3752422259187c1";
+  sha512.doc = "cf2ac28ebca780c9951d42b38806844c55455638502708e6e79a2d9aced7478a797bb89af409364fe193d195b177fc8389a1021e4f553e2c211c6c38d5e6e9d9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.8";
+  version = "2.2";
 };
+runtexshebang = {
+  revision = 68882;
+  sha512.run = "8e681e06b29e235d76b21370614c22ba57cf69debff19869f3589ac5a1342f368621083a17b7a1ddc1ddee37478bdb9b81f4050bb9a2f7d28a7d753909238233";
+  sha512.doc = "4f2754641930105b1bd70a0a116e724e019c1930ec49e27c3ae895c35b7840c54082285cb6241554915234c16a59dbcea9ee07c509d09d5315ff6f04e0137168";
+  hasRunfiles = true;
+  scriptExts = [
+    "lua"
+  ];
+  license = [ "mit" ];
+  version = "0.5";
+};
+runtexshebang.binfiles = [
+  "runtexshebang"
+];
 russ = {
   revision = 25209;
   stripPrefix = 0;
@@ -37089,13 +38074,13 @@ sageep = {
   version = "1.0";
 };
 sanitize-umlaut = {
-  revision = 63770;
+  revision = 67126;
   stripPrefix = 0;
-  sha512.run = "7521037e7dc35836b347e3e2387cefdc8acca4504dd9fd24c1efa9857039dd2314cdef0c2281506bc2d4e03dde4e994bec938851be0e9ebc9231990965199010";
-  sha512.doc = "a3a559be38b04dba0f9478ebf1cc7c437f457368ed4dedf16bc42038c95053cdac9d1dd0061c1eb30e8c88235d348ea9edf375aef30088e45635323e835c3e55";
+  sha512.run = "2f9514b9424a72762c9b4bfbe2bceca10dfe4e75a42e9fe2e26d6808d14fa2aab62a03f26becec8e80b00c658d4452e95c3b84bf692d64cc287693b2542ec3b5";
+  sha512.doc = "2de8f2935de490e127f19b50f10698ad323e823ae4bcb7b357b6cfe084c9f6a48d2314889a54974a4b58275667da4eac89cebfac5c25e570c0172ecf9ca44af5";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.2.1";
+  version = "1.3.0";
 };
 sankey = {
   revision = 61874;
@@ -37143,10 +38128,10 @@ sansmathaccent = {
   license = [ "lppl13c" ];
 };
 sansmathfonts = {
-  revision = 64661;
+  revision = 68777;
   stripPrefix = 0;
-  sha512.run = "1ef587f14a0b5d51dabacfc1717b84d221bbc3bfeca002cd58ed9c239838d888036fb26f404b5bf5d7a7fb82f70b0f5663ef06ce92059b32a67b1e0c31331e7f";
-  sha512.doc = "de240522929a1b2942e3108c03a5523e42b0bdfd4365afabad98a22dcd73784070ba26d3a4ceb821749bd557b19b220f2785687f52ad47a502f8f67f05409839";
+  sha512.run = "d31d37820883b0fa2a97dc878d11b6866554839acbae8c56fc10fb164fcfc2af5590d0d562512aa313ca950c32aecb4d4b89ea4113326446a75006b34a2f677c";
+  sha512.doc = "5972253d34cb39cb0151050b4e9dab45dea50901a84f736ee8a25beb5ad647a112462ed5b3d46c61ff20a3a20852000c64736c88df9ed59defa2da5bf54b5638";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -37283,13 +38268,13 @@ schedule = {
   version = "1.20";
 };
 schemabloc = {
-  revision = 58212;
+  revision = 68445;
   stripPrefix = 0;
-  sha512.run = "8a6f093a5c6874c77d22a9e96e36593f00e382ac0679ddf33cfc62df912e82cea4bbf697286b7fd77d25dfd5b19cb37baf95fc1f8092bcd348a4da88a4501cb4";
-  sha512.doc = "fb70879aee58fc01d5b30903f2e65b49789d011d18987471a8cbd5e46d9b57cd01b813e5a90b686819e1c1e912cb37b2c9487518705d4f1bfb58b1e950502dea";
+  sha512.run = "7a99b1fee9c4436371f5228e969786518f55aa65dad3cc540be912d6123efbb5a25634d337bcc9a3f626d37f3408b08999378bdc9d32e1e1db2549499b59b1cb";
+  sha512.doc = "eca5a57f53615a486b21fbc2a0870c5816decb97a1c6bb004d5a6f6faa89f1cd8c7a8a51135904d2ab53076b6ac239f3192c976b54672d45d1eeaed353d07055";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.5";
+  version = "1.9";
 };
 schemata = {
   revision = 58020;
@@ -37647,32 +38632,32 @@ scholax = {
   version = "1.033";
 };
 schooldocs = {
-  revision = 65650;
+  revision = 69238;
   stripPrefix = 0;
-  sha512.run = "1ae2af9d9f3a281f9d180bf75534f29990c9060322d65200344250651f71c43a1b854c6dd32f6a8c9c2d2e7238c44f76fd03d814d731d8c3faebd91160a6e0a9";
-  sha512.doc = "253c22c65ef87537866c2162cf9a455123b90456e6581ddd1a5edafcd5ec2a52502c0d57f9626dc8ab0bb8781d41cfe806481c3a5fa8d387797aaf7240de5ba8";
-  sha512.source = "09f1ef0dd304c229a7c5c6ce4cf841ccb50700b9af31381f4a4bbf32c8d8579d3cf2f4dc9397044428d1b4eff318541045c7698061d5c49997705e2988982957";
+  sha512.run = "4d6a2c03a588b8b16c73b464ec8d5daab5acd199048d029b4d0ac1c2416e61d4628dc51bbeca1b8957844355bda4d92946f769a2494c2e3fc8522d4fba451f12";
+  sha512.doc = "8bcc4cdfd18544f81cd1859b9b307a66b163fca639a0e058214096a6c11fbb0649f4b66f1e7186c7d4ab4db635d2687fe60d5c9338f173eac85b83eacafe2d88";
+  sha512.source = "81574268cd8e860e4559d4228335d87053726070e9ed05822cc87234c2a08430c6db752e9138b06b9d6633f22126ae588a3103e7873784b770a31f8d59aa458a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.2";
+  version = "1.4";
 };
 schule = {
-  revision = 60210;
+  revision = 68483;
   stripPrefix = 0;
-  sha512.run = "01d62151d01b00dedaf63af9a2adcb91f293372064c43cdc0353f207923f471a45958f60cc9c16bdbaf4b78bad65f4ebfa7b8e2b851f307eccba60f9171e9207";
-  sha512.doc = "a626078e2c8a268663bcd0148dc8c7d382a7e6e29e2f14ef0e34d75a1f460702c09042625378bfec482d8055e34b6661f137982e328c8cb21ddd29a0e9a69cf9";
+  sha512.run = "6fd063de94d68e80b5e3d2e9699330453f82f43ccd059770e4d73097c1172ec0733012317aeba7bc5e55ed322936c20f97c6f53e9d7aed21a29e07151ec54d7d";
+  sha512.doc = "6763529c688e540d937af7548a7e0b9003e5df74d643c3870a016bba105782435146d5771d4d8b69cfec90ece084c245a1825c5f3ae4a5429ad0626b07a9e4cc";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.8.3";
+  version = "0.9.0";
 };
 schulmathematik = {
-  revision = 64108;
+  revision = 69244;
   stripPrefix = 0;
-  sha512.run = "be532723f39a637b3f78163e849f8eb481a2137f1c11536efca63ab3b4aa9d3a723395805b6881965ea2e5e0e7e40fd4731325149a900074409919b8d11d41fa";
-  sha512.doc = "f5088c8623ed263d017d4dd6432abbf8a271d58b096b8bc205a69b6ce44e03d2714bd53df74cd1f1406bba55d2d1d28f96e702dd15def17678575fc0a44e0bf4";
+  sha512.run = "3258429a336a133334b5f170178b72e39fb3e63ca053a8b541136cc89e88caa991afa86439acffdd99f25a12b7b430d9ef45cdfa7c4ec6545fd1af2efba857c5";
+  sha512.doc = "82ed02e73e3db3e2055725a4d5e11dc8f370ac4787e30987320ec52deefb8de75eecdfd2adda5e76d77cfd8bb1e749b4d0e6d6a75ae2f6ffb3201f193cdd5f86";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.3";
+  version = "1.6";
 };
 schulschriften = {
   revision = 59388;
@@ -37704,13 +38689,13 @@ scientific-thesis-cover = {
   version = "4.0.2";
 };
 scikgtex = {
-  revision = 65256;
+  revision = 66764;
   stripPrefix = 0;
-  sha512.run = "5374ed0713db77cd6f84ef8709e0dc73ed411d8679cf7292015d0e0533d577fe7009c08e6d17f10a9c2422c67e56b1b547f46868d570c7ace6910fa7738179a0";
-  sha512.doc = "960bbe9295e14c7ba1a9ed53d6df468c2dfafe3b84a0ada506e7fd26335b79880bb8e592463375490d2141fa62fb41aedd79aa3c85bcf0187d4ad2ef2be3ea71";
+  sha512.run = "32433b1c031747037fa329d8b8048563cb53af867bebde85bd5fb95abbdfbd67434595d5fbe682f1247c23535d75929f341668fba9a02221b4864728a5f3cee3";
+  sha512.doc = "217da3550e3752fe239831790294d158dd68d16545e5c9ef3e047bedcbe82acee7e34d4216ef843363979e269e03180f20ec9e83b033b44f28acabb67ee26f74";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "2.1.1";
+  version = "2.2.0";
 };
 sciposter = {
   revision = 15878;
@@ -37742,13 +38727,13 @@ scontents = {
   version = "2.0";
 };
 scrabble = {
-  revision = 65507;
+  revision = 69024;
   stripPrefix = 0;
-  sha512.run = "df992081a34554d1e26ec6eb227f2ac5beddb7fd88a4a8377aebdfebd9fd200d053c4e43db96450f20a7c23cac11d235f1acde3e4dc40a3c30b83ad2914eae5b";
-  sha512.doc = "c61edf946eef82a7cde0af391eaca776784870be6a235e9752821f565b187a2a286ce1c7d7a7d5bc902550597e2a0906f25581bd8295b7dc5a546cf7bd8ee73b";
+  sha512.run = "f4401768ca1b9f1ca4a84a61e07379b9ed98f679e0fb4c3231b3daba495dfabb2d2e980b76088cf28bf03e2776e1e39133709b9d4b9b374292e1a4eed56b3b19";
+  sha512.doc = "ca5b37469ba336683ed77872cdbdfcee2379eb32c840cadf79d54b1e18eac69ec1918e8279f1207710125fbbd871b149bf556ecd36b11836a7a0defd941ba8d0";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1.3";
+  version = "0.1.4";
 };
 scrambledenvs = {
   revision = 60615;
@@ -37761,10 +38746,10 @@ scrambledenvs = {
   version = "1.1.0";
 };
 scratch = {
-  revision = 50073;
+  revision = 66655;
   stripPrefix = 0;
-  sha512.run = "fcee832dbad22e76387bbd10f7ea8e3127a6fac45ea1b42feb183506cd5c89c258cafb052d75e4d14b431a57e638fc84fc751bbb8fa700420197a0d2e33ead48";
-  sha512.doc = "af7057f28ac0539a555db5774d3d29e01ba10fa78744712a5d76f95229c45022f682c321a551cb5070ab3e370b2d9e861c0b04b73365e828fe665b3f8aeb7730";
+  sha512.run = "bee431e5f45ef9f5dca39b7ed439dbf141141e4b0f40642c0fdec1650dae9f0e50353e21b58307e86f34e501e06083a6858c140c870752c45138ac6788080023";
+  sha512.doc = "a93b672fe46f97c1311d79de5a9304111bb75983b6151e63276a0b84a660e7b917c36b1a99a28a0b6a268b3498dab9897980aa4ca161dd4b9d59a7b2baaa3be5";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.41";
@@ -37807,14 +38792,14 @@ screenplay-pkg = {
   version = "1.1";
 };
 scripture = {
-  revision = 65493;
+  revision = 69232;
   stripPrefix = 0;
-  sha512.run = "3def680960181d2204bb7c99012af17cb6685a8c9145d5242408b82e9f30a84e0b922dd89cd26c36c0a08e820b09c5ee886cb0ec928c83cd68d4221519d011d7";
-  sha512.doc = "f4b54666759f4fb691632ff501f9eef1619624ee5b8c8292be6cd1cfb5c9f02ed68cb55239c55da5e4f80e8334ec404347747427eea6622515a2933d4fe80d68";
-  sha512.source = "b74f83fcbf83baab55a37ca39165265ad94dcdcfe30db94b7684352648b55e0953464e9366a958517539c90b38bb468f3b2f187a557a8fd4a2d55bf6ea69bdd1";
+  sha512.run = "3b3e30f0c5bbc99a49c9aec873f2ad93535d8c1f3fa79f91619d30fdca347dcf1bad30485463ce875e4511ed857e358824197059732c2538bffebd97b017554d";
+  sha512.doc = "1de0de0b83915b59b54b234daf51ea77aef3bc58a80251c7b055708b7eb8d457806d2b897cd3771f6a303e8137b5f5543dc06c97be94142edf44558cc92a1277";
+  sha512.source = "555f72881eb6d76d9362598cc0e30f67cfe2dfc8747f68e5214258fb127947965e45f0bcd1eac5e173c83e7a4e25e3bb0ef6615fe31cac5f6e3f23814e7266c1";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.3";
+  version = "2.0";
 };
 scrjrnl = {
   revision = 27810;
@@ -37845,11 +38830,21 @@ scrlttr2copy = {
   license = [ "lppl13c" ];
   version = "0.3a";
 };
+scrwfile = {
+  revision = 66872;
+  stripPrefix = 0;
+  sha512.run = "b4d306af1e0d3dcfa59ef14250f14125bfc4a0b9b0f3e6ab32b809f2e729cfa45e27549c8cb9c2dde2819d328c1a032eb6aae6f123f1c71efeba4c9d16611a34";
+  sha512.doc = "6aab0a6af0c3f989788673c44bb8a885ddb259f0be3f69f0a32b0bdebdc8e607b32c8f8530cb99d59b1c7739b2c33446f8b7c832384d07158c90bd347704a1a3";
+  sha512.source = "abd536d76460165077ca7dbdcd1801b018cae2d16c783e72502bcaf5ecb34562f273ca37cedb044a50e7d53fab84412bf9a5e804be064951ebf753aaa764526b";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.99";
+};
 scsnowman = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "9eabbc090311210bf9d557efb9d901d9da900fa4095e37bb26be51bff6dcc73584e70f455fe5ce5183859738dac8c06cb94224d816cc23bda49862d7e233efce";
-  sha512.doc = "c2efba627208a194381f92c893093da16a3eb9cff498e3b80b5d9cc90f34f96425ce94733bc6e1326cea5932da7c136555d6a5413d2dcdbda8bcd36eaae6d562";
+  sha512.run = "2335082e981929d24b2dd327db68f101a93b0c2b9176c116d6ca9430ea45bd85c9669921980090554406a658821f3c68305250894fd710058e15ac6aa8ede1c5";
+  sha512.doc = "e883b300888ebdf62af976a94ff29a3f621a92420c26553ca16497ffb57db0d1cec7f8a38a1996e080b660ee3ae0b7245688a7732c141b0a680b864f527069f6";
   hasRunfiles = true;
   license = [ "bsd2" ];
   version = "1.3c";
@@ -37892,14 +38887,14 @@ sduthesis = {
   version = "1.2.1";
 };
 se2thesis = {
-  revision = 65645;
+  revision = 68255;
   stripPrefix = 0;
-  sha512.run = "16a351d895fd84b9d4a0aea1ab2ac51c2cb1bf6eb19a837ef2a856be79b5ffc03aebf40671332016e1c5475871eb508720703d40b9ad8035850225b07e0cf47a";
-  sha512.doc = "88745bde86537fad6895372d9ac1ae8a22df42fd152a959314c059604bbf2604f9fadf5b9f96ea8528e7800e6159f6703f4b32f65c524ca0e4257f6465203bbe";
-  sha512.source = "d6051f999ef046e52d15716d3f9a594683a9203b3c3811238f1f8f7b3b1b332499a8c6259750d3e5593abfb2fe2fac0f37f18498a5a8592b420c9c11eb07dd68";
+  sha512.run = "a9283b1b34e7d9db35dbb64641b68eab662ddfd7e468f856e466c56c7c7ace6de3efacb43b1810e97d2eb2d0c2cf89d50ac45d79a5bcc9f79b52a1011e41ad39";
+  sha512.doc = "562a8c929ae8bcacc2dbdcc4b585b26b910da3792089670f89e4300b771a06971513978a0c656e563c7189673b6067acd450a2698fcb32449a4de75715a2c270";
+  sha512.source = "8a76b7e1139ecec4b8c9a4bd670f3bb82d354eeb0cb9d94afe7f8ad3b7656921b510ecd9223443efcb2e38c5b91e621fe66b99d282bc650402977fc84e4ffc7c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.1.0";
+  version = "3.2.0";
 };
 secdot = {
   revision = 20208;
@@ -37998,10 +38993,10 @@ selinput = {
   version = "1.6";
 };
 selnolig = {
-  revision = 38721;
+  revision = 68747;
   stripPrefix = 0;
-  sha512.run = "8b01d1b6f4e6f83efbfc603be7c510d3c8435559b1272f3e8beae7d0de04ac889e04d539c689abfbfb8af5ff2d04c38459320fec333a122c3b60a1a79a0b115a";
-  sha512.doc = "afc1a84aa85f3da5e5d121de0ee37f5347527985b3a9ae75abf0e51edc1d5371e831b5ffc7218d9863b8ff717554c6f469adec908f02f5d9be3bd4f6e45fc1ac";
+  sha512.run = "8dd7baa476f72549830f2571615af2374b9d74da69c16f2999708201b7404c46118e7a6046ef8dff39935d3b94373140819497508b2a8982cc928a5dbfc6eaac";
+  sha512.doc = "c36e55066eadd959f625fcb72fb89ab2ca51f3411ba9bc81c38d2ac3f18ffd792fd95c33178c0607e3958cdbd81c031193d1b6c712906a2c9cdac4178ace6ceb";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.302";
@@ -38190,6 +39185,16 @@ setspace = {
   license = [ "lppl13c" ];
   version = "6.7b";
 };
+setspaceenhanced = {
+  revision = 68493;
+  stripPrefix = 0;
+  sha512.run = "594fc089440a356201122b33160a16785dcabbb2eeb1fdb2fdbbc1e53c83f0ffcbfc7b9c6be623e6a5e4ff23b933f25120ba1ecce72e73d8e32e1939a2744f8c";
+  sha512.doc = "d9356a26bed9405fb9cb45eda3769dd5360418c02fb6442cb4dd64da5e70e9785b167e8406fc772fb7ca1cfc574b23a375916d0c5dd6a1afb09668f5e6c743e0";
+  sha512.source = "5f16118ffc9b7572a18c485915a677b822c26ed0c4f885292c6779f91c0a9b6fb3d4f88dabb94798715efd880f6577349ede1936720ce2c6274c35671e2f0aa5";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.02";
+};
 seu-ml-assign = {
   revision = 62933;
   stripPrefix = 0;
@@ -38309,10 +39314,10 @@ shadowtext = {
   version = "0.3";
 };
 shapepar = {
-  revision = 30708;
+  revision = 69343;
   stripPrefix = 0;
-  sha512.run = "407fb09d162a3f361c7182f23b010d25bf5d0d4d645780c1c9679be422a50f7181a8184ea391505d258afda822059f0d7d60ad24321adffa05f37d56d0376605";
-  sha512.doc = "4db069b9e52935f0ef1463e40999b7f7893ae12b68f6bb07a105f83199b839e6ca3366b7367f6b38f79c4febfbf3a8c1f88115244f59a306870fa4617ade478a";
+  sha512.run = "24975c53f9b29ae8302dc4e169d7d176c4825a0033764c8a08aa610c184e79d249e849e2ac3ddbeccb3bb80a4a5e29ae1c474331de68000de1a63951079acb4d";
+  sha512.doc = "69a5f9dba1683ed0302a3dc4edede537986ea473357c0c8c454c26eeceb2c51d31d87d139bc3eed39ef1862c2a6feef0e570e9fb12bf88f15ee7f34280f7daf2";
   hasRunfiles = true;
   license = [ "free" ];
   version = "2.2";
@@ -38364,10 +39369,10 @@ short-math-guide = {
   version = "2.0";
 };
 shortmathj = {
-  revision = 54407;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "f0fe218b38efd961d1f67db265797a01ff4fc28daf0df5f23d9eb2f009961449d6dd3ae953c800af377265cf7f77f707cc35b0c413d93b232502d33b60fdc224";
-  sha512.doc = "d402e9fd56f8567a79158decc200547e4b68a171c4fa53ca2d9efc2377e9ea1aa61155f53e66de6668a4523177464638412adb4b402a8127436826fbacf24ebb";
+  sha512.run = "a8ec0460d532b657c6237d5d321852b0c8ff0807d8cf73a02e0d40bc6c86b2c776dbbc5ad694d3fe022f851f049dbba6fc11d57d5d6fdb8f168a935f9f443269";
+  sha512.doc = "a1fee222b86efa1cdd1d35aa2eeaf84df25db25b1a68d56863a370fef11ae62a6a21ed2ecf0f563d8c00c38759008d26e7c43988538bab6ad6b2a52c68c74c46";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.5.0";
@@ -38422,22 +39427,22 @@ showexpl = {
   version = "0.3s";
 };
 showhyphenation = {
-  revision = 63578;
+  revision = 67602;
   stripPrefix = 0;
-  sha512.run = "b1370cb5b483bb206248f06cb0fba3acc23abc445c655b486e174bbbe572397897d4c803f25b68e9babd6a162f1d2abd98a11909062f846cb194b8c4b4ca001b";
-  sha512.doc = "416be8f4e134eb4eb4bd5512fc50469051eb6792e929f1aa21fcd4fc9025e1be2a69c7f188e26e4522683f5b527ac468fbea08eb7963f0e3a8ff4480d44d5be0";
+  sha512.run = "0a3ca7d966edf0f4221dea2c084b428c9e248b3d223b57f3f210258918593d93518a5ebdce7d9de6b88ab040c0f2b632039e23f3339a729d1fe1391f8a51d4eb";
+  sha512.doc = "9d7263e5f285f5d29738c7ff578a0bf9256d67e56b882e41f0578bf9b594225a6e0711d9fd05bbc89a03cc0bb56b1ea8c3ccb1f4bc4f91ad40dbe55849b20c99";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1a";
+  version = "0.3";
 };
 showkerning = {
-  revision = 63708;
+  revision = 67603;
   stripPrefix = 0;
-  sha512.run = "f0a758741d71ec8ed3664527720a1dffb34bc3ef4c4583faad782d0034202d22ca0e4d6648a4a9bb82b9def441871f9305ec9d230b1e3aaca42c0154c913eb71";
-  sha512.doc = "1a85df418d58aad6e7fef73f7f6920ee68021ff83d99a9d82ab440e5a16cb8a7ac65f42a914e8533d6034f1b23a8a9996bdb0ca028b22cfd10888c54de0b9ac5";
+  sha512.run = "37a913fa403c9760fd150cac3fb88e349e8c1109f51768ee202194e72232d6e16d8dac529872dd1df7896a40a79ddb72d65c9191f72337c806de307808d80532";
+  sha512.doc = "39f8f12a70550a5864956c6145a2a19555c18ce60084b66d2b69b6a2ab8796ef2b911be39c59e736534749b42930bd055969ced8eb5cc03f1e5f2796a0d0b3e5";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1";
+  version = "0.3";
 };
 showlabels = {
   revision = 63940;
@@ -38526,14 +39531,14 @@ sidenotes = {
   version = "1.00a";
 };
 sidenotesplus = {
-  revision = 63867;
+  revision = 69176;
   stripPrefix = 0;
-  sha512.run = "cca775bb5e82d63d2e475c4329f5d4a6ca72caf02f0dc3ba0ff6acc33564ef856a25dbbe4c558d2b761106ba1407967a77063f98aee937b26d50269f86b0b847";
-  sha512.doc = "62b0158838ef5f16361c2fb2b5ed8cfaf0eee42c9f3409937ec2034da0436b2a9038670ff857a1c7629687bee7f05a14793084d9a1713e8d6ace2510291be025";
-  sha512.source = "a8e72d6161e48ccfe0a0db76d9c4d98a9de655f2c5a015597ea0b54701bff280b7488b836320f2285be9469ff3bb12c3726c182fe04bdb5e2cf5dc5d1df689e8";
+  sha512.run = "d7d7be2971798a869308564095617484713471f4b1e46b5729f40871eaa3216285cb063d19a7d85a6db3f4b492c4af290c3c6d392d7a7fb78b4e7761255c0a83";
+  sha512.doc = "d712e51374969ab345d8f641e4ee860bbd72e5f4aa759b0b00cb538c768f9e790265074003715252f8e6c8a6ca56a5513b0f4c2dc0c3d55214aa80a994ff5c08";
+  sha512.source = "c87cbc1558e5985583116a4d587aba0a7f7f6a8e7103bbd5d2c146d250fbea2c5449515787080c49ed949a28071f49036bbc4fd343d4e8d063d5ddf50e42986e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.02";
+  version = "1.04";
 };
 sides = {
   revision = 15878;
@@ -38564,15 +39569,24 @@ silence = {
   version = "1.5b";
 };
 sillypage = {
-  revision = 66350;
+  revision = 66349;
   stripPrefix = 0;
-  sha512.run = "a44430b5218392825604c9370fc01bdb177b91431959f55b33e68b834803e1cbe3fcae1b72f0ce09a984709f16770358ee8a0c43d5b94cd9244aaff78f8eb6f1";
-  sha512.doc = "c0c26e10ba5d17a6e45af4e00e900bb22972e88fdc999c70762290106241e6ecc535db6ce71c654b6ad31c21d456b00fba1aee66e87450dc38e6433e4fc7fd54";
-  sha512.source = "250c32997d1917944b8e248e312bd99be090da1115644f73e04c0194e53664d5080441774a08478e412be5a6345a35520c40e1ac686f232abc9de8e398ffd92f";
+  sha512.run = "5ca2f89c924dadaa727aee6b6bf5b0a3c06fe1d841ec37cf1a6fbb7d3516cfe8f4e2823ad8f9acbdd85a333e3736985d139e44b907d3bcf793340d49a164405a";
+  sha512.doc = "fd4ed28957de74aac2f90d2aa37e5014f423738f783f837fdea9c28db0d4b9ebc65c8017fbcb596f86610f712dcd38864356838c1e8da123c2eda1be4932b936";
+  sha512.source = "460ed2ec718e74921711b29010138f5e6e544da8e91631b32144f3ee0ad377b815a3d974fdfea47ab231dbdf17d4894e6a73ea78b00ee03e8934219858ce43ee";
   hasRunfiles = true;
   license = [ "cc-by-sa-40" "lppl13c" ];
   version = "1.6";
 };
+sim-os-menus = {
+  revision = 68843;
+  stripPrefix = 0;
+  sha512.run = "565fce3e9e13d14f7f52d3390e407b03ec680b21cef37e68439095d9e7cc813739853c9e3307dae040dcf60c6a6dc4934b0d8bac68b258af4c14aa22d8d9aadf";
+  sha512.doc = "b2392fac63c75de85b89ca7037f495155cb749b17220cdc3fb2aca368bdbd593039425bf21a0341a4160935fba94d0a9bf5fcfa6c7d686178a715aab44a28ae5";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.1";
+};
 simple-resume-cv = {
   revision = 43057;
   stripPrefix = 0;
@@ -38590,13 +39604,13 @@ simple-thesis-dissertation = {
   license = [ "publicDomain" ];
 };
 simplebnf = {
-  revision = 65485;
+  revision = 68959;
   stripPrefix = 0;
-  sha512.run = "2f78a17109b817eba036c52e924ba66c0bb1f5f752660b968270c5decd39c1e19aef50e83617247db1b94064d46f5c774e0acbcd444c8d03ddb8f133c6a667ac";
-  sha512.doc = "7ee5f4b33fc0739a9da0bd8e3d488e1bf7e71b798b6665535d18821377b76752d5a0183b8f2d495ee0285381594a5e53aa1090676bde84c9afc2049a29bf8ca8";
+  sha512.run = "87c6838d1a31f3a617752f428fdca3ccb7af22daace3caff307760f24fcf3092cff324db6357174599985bfbbba6a8c0f31a498481da3a7790ac653043c0683e";
+  sha512.doc = "bfb6dcf8e843a42b5e7481e3ace572f55561418886cb0ed562fadd79a72eaac6c505b9a52ba37f0e3c2bfec7723a7334e81ab2dd6dbddca47ec2339f8a9b64cc";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.3.2";
+  version = "1.0.0";
 };
 simplecd = {
   revision = 29260;
@@ -38619,13 +39633,13 @@ simplecv = {
   version = "1.6a";
 };
 simpleicons = {
-  revision = 66337;
+  revision = 69396;
   stripPrefix = 0;
-  sha512.run = "70ebcd312faac3b2c9294300012ce27da51b9059ad8802179ef5b9553bcc9d6a1ef3274efb38eb6c4e07830dfad4ac923e88ad513bf4d00c5dc402aba4ee8d81";
-  sha512.doc = "b66f59fa80dfbf4c938d17de290172d9fbd9d1baaf2f02ab193564ecf7010499439ce6f0c844d95c989d6ab887e2ef07a175cfd1c187def7860ebaaec01c078e";
+  sha512.run = "f6f651493ec472e4be6286bf8a29c3fe024b883390c62debdbaf107915b0e2451c3303687a2a41dec8091318a8c6a0cbf6da1142278782189c498b73d03aecff";
+  sha512.doc = "0904648f121bc9b29f95f98b636b2edadc5fde6634a9303549d5588f5c52d2a87d6a559c8f714be7215ab3d17371105a1d60d1fb0731fcc62e34e5b8256fb64c";
   hasRunfiles = true;
   license = [ "cc-by-10" ];
-  version = "8.6.0";
+  version = "11.0.0";
 };
 simpleinvoice = {
   revision = 45673;
@@ -38636,13 +39650,13 @@ simpleinvoice = {
   license = [ "gpl3" ];
 };
 simplekv = {
-  revision = 64578;
+  revision = 68439;
   stripPrefix = 0;
-  sha512.run = "5b070b0408c002eca4bf530cc264f3d08885b5e7bfbe6531f7ce66312c01a23c78aff365c16d946786ccffa099094046edc5257f85ffb7cdbccc42137f2b8420";
-  sha512.doc = "0dff9d5ec8625d9d99d9e249ac8fbfd05bf200c8c1312a57526b694919c855d528028635523e1e55757b633dce7d63727b42d35909cbbdd369bafe2c519c2b48";
+  sha512.run = "16b0136de5c1c97ff19beca9f9488768adae2ce7107310aead9f9da82230e9d9cbec62badeacf66175fbaa181d691558dc4203e848b979dcbc23f8cf9bb8e669";
+  sha512.doc = "586321e8c1597582d3be117e74ef97bfb0be59a75aae1d5bdc87b2a481b80cac350958ca77aec34148d5e54cd22a0b0b11306f445cd5abe5f1868ecb357862a3";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.2a";
+  version = "0.2c";
 };
 simplenodes = {
   revision = 62888;
@@ -38698,13 +39712,13 @@ simplified-latex = {
   license = [ "lppl13c" ];
 };
 simplivre = {
-  revision = 65475;
+  revision = 68376;
   stripPrefix = 0;
   deps = [
     "minimalist"
   ];
-  sha512.run = "45fd5adc80b471310cb81961199e4565d40e6302c4069a19016f46367013c587b54ae7af58bed5d2c37812d9aed9deee9b9ffde0762cd2927b96ce311598e7d0";
-  sha512.doc = "507ae125225f775b635a9762369083b5de38a7790b959d7d5c6d0f993b350bda97081e26a4377633ca1a609e1ae2759f34598714de32e31dba17b6c7f54a7f9b";
+  sha512.run = "f9891f271cce6c795fc78719d71724dc1d07ff21d6877740745dea401be1e67801ab92bf4de2d3a379fb2e63084d902fcf4a9fe38aef40052d30e84e8b8a6b66";
+  sha512.doc = "d958c2e1e75bc22256a2db8fcfa2e4d5375b072b493a18c701cc44d4b3bd9a8e4e43291135ca21febb244a83ed865d7d855feb9979091d771150633170865bae";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -38748,18 +39762,18 @@ siunits = {
   version = "1.36";
 };
 siunitx = {
-  revision = 66370;
+  revision = 68844;
   stripPrefix = 0;
   deps = [
     "l3kernel"
     "l3packages"
   ];
-  sha512.run = "6c063dd7eaf851733aeb69d82ab38b1f1f894bdf5c206e62233887c4ed62e699b7a349358ec39e1287842bfc7f7509e51bf8bf5b5b9fd7f1071eea9493677416";
-  sha512.doc = "d52b75a7cc431b479e80a4ebe90daab5697550035f3932a0f0e2b5a6ce503fb031778fb9e893dc57157b678f37c39a8729057156e292fa4135f28b7941329551";
-  sha512.source = "cab618b0b5e8f380f440fc5b4383c8bcb20e7143ab8693576eb3ba3af6c9cb65190be272154ec7038e55343f582117d9dddf5e714c1b44d0fc79202d9f5d8a8b";
+  sha512.run = "adf94a225f73f132a84a2bcd40ac1f024f81fa10eb35be7ca6a41149960f508ccb45f967371aa11ec1a129251a3272361ab270a3ba00b595627489cac789f279";
+  sha512.doc = "35fe0a78311f053e98153fb435327478cd6fca48e1c9595736d4857cbb6e8882ddb20a89fcaf95542c9076c7a89cd8ad0c042e0faf0a8a7dc3a4dccc8131fa98";
+  sha512.source = "1abddd04b462232b62d9f53a1dec4f9815862fe208680e7b62aff00c6ce4649494eedfda81051e7d842d64ebec35043e7a38321212af22e3bf70cf9649bc107d";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.2.2";
+  version = "3.3.9";
 };
 skak = {
   revision = 61719;
@@ -38976,14 +39990,14 @@ songbook = {
   version = "4.5";
 };
 songproj = {
-  revision = 64966;
+  revision = 66704;
   stripPrefix = 0;
-  sha512.run = "404dae04055402b3ba312fac9cd115465ec73dda4d7b7a2550afc088a12465c4a55893a107a85c185286335fa4a9963c38febdc7511bd33548db29ba079e8e73";
-  sha512.doc = "99c4b6bbd9d76ceebe91d3631121a6c1197143e23f6cf771d29ada608bb208173e1656276453ba781a81481ed86c382ca9bdae0db4f424c152ca15b3225bcebe";
-  sha512.source = "005835a9319c80acb3575d644675f1311c0a78918612e1151904f6b715c23fa333c1a67e8f566d7bcb01dce212884454120a52abd0ad15049ade3dbf9e5cf810";
+  sha512.run = "7c6341931e78dd362cd67062518f7f6d1725c239f20f65a7e345fed03787381af08b18102f671be4913ed53aeeb669f3744330d2eb2681878939a813ade2f1ad";
+  sha512.doc = "1d219f70c51484b321b6c3b8fb63a81aaa311cecf5abdba6b5cc2662d528ce5fe78a400d81dd3dbfa0e3616a65bf124e3eb78ae94e57e1a87dbce83ba32b3b64";
+  sha512.source = "ff8238a64adefe5fb2e2ff8b7541fce489c0759dbbfb5fa517458e404e6a7184b77782cc9ce30f2063a958e212b1d133c7c4a3b82518e7347b2cfdb930bd6cfa";
   hasRunfiles = true;
   license = [ "bsd3" ];
-  version = "1.0.1";
+  version = "1.2.0";
 };
 songs = {
   revision = 51494;
@@ -39013,14 +40027,14 @@ soton = {
   version = "0.1";
 };
 soul = {
-  revision = 65906;
+  revision = 67365;
   stripPrefix = 0;
-  sha512.run = "cde236f51709569bdbeafc16b3a49d20e78659d268faaf8dfa059443dd2d432328cac46ef88c8e8dfff74b6fa9d2ec1342d7fa18a13ba183091e5f39a03a0a24";
-  sha512.doc = "da5b11bf84185337572672a04589505363add2a17395c27eb40f63677ff60f146a4765ab31e1acb011e7d0667fb0b4b969127558000207b7fb6c86552a9f0ac2";
-  sha512.source = "b12b43abac05834ceaf6c3caeddd72393625acb6932b088dd48d15561e3599ab20adaf0251d0711c1f00bd0992cee976a1c9a3bcfc0eebaced5b12b8774064a9";
+  sha512.run = "233f1178521296d5cccc7db50c98425995b8708c97d750a5c24f698bd0de2e54ed5c57f9641f402bb8a42721e348355e6f7e9092b4056999b032d001c8203aba";
+  sha512.doc = "c734b198050f5fda61e0477e7cadbb6f6f9257a0fa41babed664621d7b64c4971412d831b350879a5405976d4e35a11caa0519fb67f308bcd622f0c72f431b4e";
+  sha512.source = "6a50fd644f99214a71f96994d52fdfd5f353a584ad73dca3b66829ee6094976eee8d4fec3f691149f634f27423ef5490bd4c1b781fb743bcf228e4b1e52e5d33";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.0";
+  version = "3.1";
 };
 soulpos = {
   revision = 60772;
@@ -39073,23 +40087,23 @@ sourceserifpro = {
   version = "1.4";
 };
 spacekern = {
-  revision = 63552;
+  revision = 67604;
   stripPrefix = 0;
-  sha512.run = "99e74e5cdc59eeb4a5d3718af573db1b53f1e22b3c554cb70ccbce25599133c10b4d8979e6ab7fedb7a1af5700046b027618e5bcf1e56e37b1e63006b9b37ca3";
-  sha512.doc = "7aa1a221d863d31e520c2bc2379c2befc4ca99b091793ce183e2478077d447d1ca47d4d7b29c819780faf2197049fb37e7711b21ec5aad3fee2733538e9233d5";
+  sha512.run = "005bf533b88e602779cb71c0ab7720492e5302f6c9321ef8d68cbcba8f4f9a0c7839c5408ff6c2a5f72c18c5bb5c8a7d41a5500aeecd29ba898c209c83dea6ea";
+  sha512.doc = "8c24513b5f81d1f2df44a707a5e2ee6baf66af594507a545ff0c5e0fb90412b6c03831d73cb473dd32168a6f55f110fa699f941da0626aa0b3ce35bbbf1d9e26";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1a";
+  version = "0.3";
 };
 spacingtricks = {
-  revision = 66398;
+  revision = 69048;
   stripPrefix = 0;
-  sha512.run = "d0b102faaacde58444da330086d97d4fafcef02b3a6c59282e4fab3072152035e3ca02fcd41fa6cd3cce22c77b8e2c9de8c29e108efd7acceb3c3979d60ea352";
-  sha512.doc = "d132b15c31916efe44bd5b21ad4f8bade3e9bb2fe59a7920d37c7f49f11d025d81618f9a947adb77d652e319ab646bba3c1672f1fcc1a824a9d51486e5b300e2";
-  sha512.source = "6a46c1240ea71f5f6e104f14bfa79183e67ad162757667538b3ea981869e9ec10ce8c4c6a179b667ba3a389345805b540fb607bad3ce839463e3cb4bff9ea74e";
+  sha512.run = "df9b7518565ee8f619aaedc82384497dfbad69911c66dd68f306010cee603ab307c3af89cc3f9901585de03e1796da3d8b96380e454ab0d3d24171187e39872a";
+  sha512.doc = "76ebfa44b0f992db86452e5ca6bff7b4b5285e743de595f6963afca7eb0e80f287a1eb71b2f287edd33acbc7a9f24fe1876ac6f62d2812da2f1fd89c9650f814";
+  sha512.source = "1f22a7811c34d834cae307a149fd993d87232c6e1ad6d9c22c79f005b6ba06a84daa5878caf189b44b8afd39a9ce41005973168b7198f04223becc2c0e90ff6a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.6";
+  version = "1.8";
 };
 spalign = {
   revision = 42225;
@@ -39129,13 +40143,13 @@ spath3 = {
   version = "2.7";
 };
 spbmark = {
-  revision = 64706;
+  revision = 69350;
   stripPrefix = 0;
-  sha512.run = "7981e8bb14b2599f1ab53ea58fe1d29570fc902726993b7d2403626222726f974c1080ab73d1b6f55ac255323d9ef147d28efad039f722af56f9aaead57ee2d3";
-  sha512.doc = "aad5d9d1c80104a53ffce390174d0f1b55c715df8f5bfe3eb28e2a2f8613d03f5dded36b3d851fed7546b023d1167668ca8b49b932dcc66e81a47492a3b5fa24";
+  sha512.run = "66ad2072225527c3ed64073ba5d33533a429b211794cf6cfb2c2623063629b4ad2869decea96237cda6c678dd35f46c6a63c61ee900a6a03c11e77130f911113";
+  sha512.doc = "128962629c38e6dda2752eb003c1039cac0e3ea01ae9ffef3b784d4f28c364fd275c1169dd812293ce5bd68a4c6aee422a23a63e9ac5b3da4ea5388e3ca44bf5";
   hasRunfiles = true;
   license = [ "cc-by-40" ];
-  version = "1.42";
+  version = "1.43";
 };
 spectral = {
   revision = 64528;
@@ -39260,13 +40274,13 @@ spotcolor = {
   version = "1.2";
 };
 spreadtab = {
-  revision = 50147;
+  revision = 68256;
   stripPrefix = 0;
-  sha512.run = "e662188fc94f3f31031238a9b20ce617b01adb65dfcb5ba00cc0f90555a151957747e9b24803436d0815528d945e3a65684ebffc04dc5de2552989c81bc80846";
-  sha512.doc = "e7e1184c6d5013a5f991325e1f47b509b90f32022530281263bd5b1c0d9c9082a872f9b6ece3198ccdca555e1187546762c8fb4fcec9a75f72894f6fb49825c4";
+  sha512.run = "f808d82cde55b9b8fbe0cafe9f2e67acb19547e85f8d48965ecc6c8ea70302b9ebcf4097330707780fddaf1d9b2a2a12512fe4026a0d660c5a376fbcffdb6f19";
+  sha512.doc = "a2b57066ab198d88be6736572276593cb2b31a9c6392f74c68358d39a8c88077266b2138730225b6ef54245a6f084aa73dad5bbd31a77fdd8b60f53f7342e25f";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.5";
+  version = "0.52";
 };
 spverbatim = {
   revision = 15878;
@@ -39328,13 +40342,13 @@ srcredact.binfiles = [
   "srcredact"
 ];
 srdp-mathematik = {
-  revision = 65293;
+  revision = 69288;
   stripPrefix = 0;
-  sha512.run = "6735976156214b80e55e17f6100b8961c2851c6caeb339dfe86c9d68865f243718cb5e4a74e4f7592fb8902b843cf917e93233d43032f2b69a17402d5e5c5613";
-  sha512.doc = "a2fcd471120ca30a329c20793cc86a1ae8de33b7a1507b3204921d5d0e8620ed9e9d546db9d4b98194122cd2ff35f3d9e8d448b2493849a1cda8351d86ee1604";
+  sha512.run = "168efb5c07ead0dc00c318928d717b2840e162517486ce1351412d7cf5f5cb8807d8016799510c6db48210fe517485fc344eec8f3edafa587cc55d1e6e60a005";
+  sha512.doc = "318b530ec453df35135ea57a514574f71c83fca3f63c85e36405ed20f84a2438951325d9a30bb9c5abf2dbfcb5b2829811720b7031a68b2ecf9d19170e4ec235";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.11.0";
+  version = "1.12.2";
 };
 sseq = {
   revision = 31585;
@@ -39420,6 +40434,15 @@ starfont = {
   license = [ "publicDomain" ];
   version = "1.2";
 };
+starray = {
+  revision = 69002;
+  stripPrefix = 0;
+  sha512.run = "4ab397ef4f6d8383efca60429971dc48ac6b0001604f0a53540c7f030a567606f0cb8d401569ebbd2727e83ee3a94f5e62680aaff3877a4225326988ac651451";
+  sha512.doc = "9db6912c1149b57a56c8e916525caf122b3d37346642886a12309463b0dbeda45ff719c300dd09460da51518c8a91a99b0e4aa3c80e188f09e167c1bddf31b9a";
+  hasRunfiles = true;
+  license = [ "lppl13c" "gpl1Only" ];
+  version = "1.5";
+};
 startex = {
   revision = 35718;
   stripPrefix = 0;
@@ -39449,11 +40472,11 @@ statex2 = {
   version = "2.1";
 };
 statistics = {
-  revision = 52212;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "b0f2c288a57cc64c72bd2b862cd6c40b62e7404c4733b25af64b43d008b277417bc72a4398734e5620e6d2b9f97b401c1d54ee69b0a1ad5947ecba798ecfe0b2";
-  sha512.doc = "9d3f7b94c6d144b89c1c947645e4e071933b402e350ef6405d533bdb0a6aed650b215a135976410fbd3a68ceb0fdaf6c877f2d7435680f8c70f3a2209c0808bc";
-  sha512.source = "a0ea1a189cda9472bf87996d4c191ab84ea824f3034a66d8e23982a1824aa78221fa368b3c8bd696ce58b65280599617c5ccfe4ef97fab8227148e90cc7f3e4e";
+  sha512.run = "dc3e9516f7bec533adae533d73583871101f26a42a96e6e0afc99f57b2d11797c1850113630b128ead90997fcbacca1bdfc17ed70d4854756cb3a14fa4133d99";
+  sha512.doc = "239231ce3eb6e75450e4eabd722a6fe2149e7825236c2d028a0923ad53ac4bfc2296a5d4d8f80b70bc24276f77f9b6b79f2e33debc03106b5915cacceb4d7040";
+  sha512.source = "a35c628209828b5c595dbab9596a3e25255dd1d61986c8108125e45bbbef7806b9204791d59ee23ced7c486f0a39271b15f0bb6914f06cca379ee6072f31cf97";
   hasRunfiles = true;
   license = [ "gpl3Plus" ];
   version = "2.2";
@@ -39528,15 +40551,25 @@ steinmetz = {
   version = "1.0";
 };
 stellenbosch = {
-  revision = 36696;
+  revision = 68039;
   stripPrefix = 0;
-  sha512.run = "44b6b8149d4a5aa34ce4bc2e9e66b9bd3a1381b17ffea213b5d0f3afe5b71a62a3b85b4feb6caee4711119fbe27d46b3fcbad2a892e662ee9aac184336677d0a";
-  sha512.doc = "6af215b7af75e04bf24ecf9f83c6e4b5a12013a84435e65872d4d84dadfc2231d341153b05f069d9ca927370a686b6642f4654c9924521f5d93d0d1772f48059";
-  sha512.source = "a4df0b0c1adc1477be9a8a0d2ee3c03c152e3a2a9c9bff5337accace9562a0b117f2ddd09ecf29bfef99ab3bf0a4a394f8780ef57fb693d98fc269cad2f940d0";
+  sha512.run = "8e368dbba7713051fd9a834223848a2dbce700d9ea8cfa2ccd04a3f2e88cb15d5ab1d881d4107dedc72bfe4e6876e5b7bfbd019cbf5d9d7fa152f4e6343b5aba";
+  sha512.doc = "0996a6932b4a6953cac70299ee655349f6b7723b416e3fef10934de92844de2dc4da42dc5d3c3a3939edb0cca087c2fd28b0d222641197593e9697891891da20";
+  sha512.source = "c1b4c3ac30f5f923a3b0893f4921fed69d99a0fd07f6de7cc728c7e95a2250c1544a5f60ec8331ca912dd5204f273c147492559ce08f6233fd509076db116d0d";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "11a";
 };
+stellenbosch-2 = {
+  revision = 68183;
+  stripPrefix = 0;
+  sha512.run = "ff82ad0faba3b5742d1f31d22820cb4998e88630067dbfbdaa7bc01fe4927fc0d8f10afa1713551759048a9166bc6d86cf52561f72bb743197b7e5fbf911cecf";
+  sha512.doc = "9314fac0288fcd9e0e6040b3fe3276d52848693d33dba16af0b2e6f4bb79a2ea3258dd29e5b62bd90b25d8a02e9cf160833750b0aa99b8d09acefb6c8727bad6";
+  sha512.source = "bceed8029e35a4491999fa92d6fd046862895e4214f83fff06fad39cd82105d8c494d78d6a449c374ad678aaf727284e6367ab9136e106dc4266afbf1f01b367";
+  hasRunfiles = true;
+  license = [ "cc-by-40" ];
+  version = "2.0";
+};
 step = {
   revision = 57307;
   stripPrefix = 0;
@@ -39556,14 +40589,14 @@ stepgreek = {
   version = "3.0b1";
 };
 stex = {
-  revision = 64383;
+  revision = 68569;
   stripPrefix = 0;
-  sha512.run = "e3e1c32f1d74dbf72793b6187e4b94ebdbb8d9e7f11e4b2d3e41e4803ba6b3dbd9d71c69c757ffc85cd4eb1c5a340c111a4e23f83bfb0fcf6574ee7dc0e51d07";
-  sha512.doc = "c5356065843fd7bb9367c52119b61d9b86aa10c8f099969d0e5efa31f2a709df680c43b41e6266922f2835175ddbf2a719b2fd94f55bfa7af139969d5840c270";
-  sha512.source = "fe3a69ce18eb50a24972bff6695e7b1297defa1c99d53b05ba5a04abf249e44bea4a7ab8b191ebd3f02f71891eb97c88e8ef685363f4677471a38c282fad6566";
+  sha512.run = "dd17faf11269dc6dc5e6068bb956a36b2af86775e296b15110d0c9b6e1e8b8410b936deb690c7a89d604c012b5643849e8abd317ca67cd872469f863511deeb4";
+  sha512.doc = "0a8571fab8eaefb365c52cdcca251f2582d4581f6243e678db90c2c05789cf55ae077ba3216a9318a1bacc172b259ec444b35d8de1622435d4a02b5611d141c9";
+  sha512.source = "6efe24e0933790ad7c3477e9c1d25c37b585ed0e18ca937326102783362691d92b51486885a3d08c1581110a2e4e9f7182f706ae4896c70f69472e01ef1ddea2";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.2.0";
+  version = "3.4.0";
 };
 stickstoo = {
   revision = 60793;
@@ -39650,6 +40683,16 @@ stricttex = {
   license = [ "lppl13c" ];
   version = "0.2beta";
 };
+string-diagrams = {
+  revision = 67363;
+  stripPrefix = 0;
+  sha512.run = "9f05bf09bb74ab07ecf1a4e6aa1bb16db06961b1caf87c73f48fe33e8174081c38eab30b0249e219a936499a533d441b092e642c88a996193900fb0000708c35";
+  sha512.doc = "3c692dbd5835abd3bb87cdc8b3abbfdcc63d233cd3275d92d5073772979349c759c391f254bab3f670d65ebb55b50b4d7024b748b538349428033971beb09bbc";
+  sha512.source = "632a1fa22b3bef38b708169aecf1b9c3b9bdcf4cd07843a2b12893a996a98d41d397e3614e242d6021a385dde4e563aaa011e38400c216e76bf221548996d2cb";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.2.1";
+};
 stringenc = {
   revision = 52982;
   stripPrefix = 0;
@@ -39671,13 +40714,13 @@ stringstrings = {
   version = "1.24";
 };
 structmech = {
-  revision = 58985;
+  revision = 66724;
   stripPrefix = 0;
-  sha512.run = "4b4bfc5962b57792e34f22f19f8127a048ffc4428eccded53452b165d11d798866f4dfb477dc87f3be52e074ffef9e13e496894bb14e4ad1876b09852efc7f69";
-  sha512.doc = "48623a95193f3613d16b82a0df650b1bfcbf62bb1fc7f2fbe2b878199eae01d89a5ca9d151931ae16eceeb1d47dd835086f3eb46b0b3bd36133835e797eee4a6";
+  sha512.run = "a92eadf53e3bad0a1e54246b75b10c99d84dc509ea31cc9fb30ed5541e3d757afcb60aab7fbb7515be335a2caa2f29d7fc211b561f073e25a8a1cdbcf90d2d5f";
+  sha512.doc = "e3ee8640eb6650f1cd18bc111d0e4f9b6e3a8cc8ac480bc05ae8251b0e620223aedbf59a54e16953edfd4faad8b05c78a51d5756f7b8660c612b5eaa32defeca";
   hasRunfiles = true;
   license = [ "gpl3Plus" ];
-  version = "1.1";
+  version = "1.2";
 };
 struktex = {
   revision = 47931;
@@ -39700,10 +40743,10 @@ sttools = {
   version = "3.0";
 };
 stubs = {
-  revision = 19440;
+  revision = 69128;
   stripPrefix = 0;
-  sha512.run = "13d9fbb0eb8fed9b92f1307db189e9f65df92470d0ed21a0c84dea2f53ebd1b4d665919372476b737184df4f9faab0a982e681a0f9cb5a99e40b5f80194d448e";
-  sha512.doc = "a427047460a92a436b21c23c112bc4ed8608a9916b613530e5ee5cc56bc833a18c6336943ccba475b7854269680eb7d685bdf2f0641478e46cc4e8fd9a6e8260";
+  sha512.run = "fb8276d461883c289329a74f1ba3bba5e64acaf199f7739b013f32a4fd84ab5e2d94d73482a3b70c64e156ff9332b3c81bcfa74854edcf6cc3fd6ac89df595ac";
+  sha512.doc = "b2822ecb49ccd9c707cf731490c628a75b278848dcec31283c782ba72a12da8e8b7282ddabe38939e5b0c01afdd222be6991618d4cf1b73a2e06b875fab4f82d";
   hasRunfiles = true;
   license = [ "gpl1Only" ];
   version = "0.1.1";
@@ -39847,15 +40890,6 @@ substances = {
   license = [ "lppl13c" ];
   version = "0.2a";
 };
-substitutefont = {
-  revision = 32066;
-  stripPrefix = 0;
-  sha512.run = "d060c12b1283ebcf314d6f9f6efd2ed94151ae7030a3d6e424478b2e2cd05753260837f1b9c5003735e27a7eba0313f29263e9a8a8892264bec131bbe07ef9d1";
-  sha512.doc = "ce241b95d029651d2de4464880f7f59e4909939697537cf5257bc2e132a476147263c8e9253ddd1fd35fd62dba73cf4d0d06d41bde26b11776b83c456adb0fb4";
-  hasRunfiles = true;
-  license = [ "lppl13c" ];
-  version = "0.1.4";
-};
 substr = {
   revision = 16117;
   stripPrefix = 0;
@@ -39884,11 +40918,11 @@ subtext = {
   version = "1.1";
 };
 sudoku = {
-  revision = 15878;
+  revision = 67189;
   stripPrefix = 0;
-  sha512.run = "a5a9ed2ec9a5eb2cfe973094c6bfca609923ee14ec51916051985bcb2533d1f6670776877252f50a2f16fb54e3318adb15fde907182da215d1db81327fee313b";
-  sha512.doc = "7e1fc099e6f84e0e22f6e479bfc611ebb8668fd1391c07f877abf4455579248b99108c9b6224da3a0abec4e0853ac8ba8f817e80832629a1d3b624b16394c29f";
-  sha512.source = "05e89ce1f640ed336d8d7447681517b6fb827fed72e8245998c0b11f7f767b8f20e9688f3740223213fed0e860c9304748a11fe94b1a8244697c79a0db54d441";
+  sha512.run = "0cd82916142b881bc4ea7fb9885de56d3ee724fee637eab5f1bc6bdc6891360680132cb2c3d52028cc0ea9670efdaa4666d59a853ac3f850f2642954962de22a";
+  sha512.doc = "6b44d22aa120727f8a7a55adac7bf71eb1eb57ea1f33d597f06923bbb50d88c088d431f463951c3db27c2c1d68024b44992e47c83eddce98ffbda054cf98a4e1";
+  sha512.source = "eda0ed193fba97a2f0ee2d435d62110acbc054ca486a580fcf0a79f3c094d6e83b4a5732fffaf237978abd566794ca6f3be56f70a34a4cac05c867e9213cf1dc";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.0";
@@ -39904,14 +40938,14 @@ sudokubundle = {
   version = "1.0a";
 };
 suftesi = {
-  revision = 60991;
+  revision = 68204;
   stripPrefix = 0;
-  sha512.run = "12f9eed31e58856352c2625daf0ffe51d8df084a4ee255c8a19c17d1debee06873127136a49cfacfa3941e25546811216eb943e17717052ba369a3f34811687b";
-  sha512.doc = "01fd5a4e862960a219619a57adfb7b34ee71fd953f79178e6c77f6c27b404d9c11eecc7d302c9a8a23b4f746220acc9ee1a465e1b921dfeb3a9119d45b96b8fa";
-  sha512.source = "d0a66c2920a9f7e0ad2a54b47015b89e7792b8f0fa39011414ac80a58a826d038b29e5d0170803be3f00c61347dbf287c9608c59f1354895bf94a24a08d506f8";
+  sha512.run = "627d002ed932ed3f55382b50e4f19c2e98284602bf3095f352f1ad3120f2586b7ebf12653279a98c794e34b97829bf30bea4fbcd06c4657c94cec96be233b3b7";
+  sha512.doc = "af2b5317858ab9d19723c668fc6af548fb4bac805cca26e7dac31872e54c35c768c228763681db34722f2a1c4222e2f1fa45e5263b183ddd51e848e643b7f47b";
+  sha512.source = "298a0a6a4d627d662c4a8ca6dc7312238dd36dd546c768fc16402fa6f630a224884d8223c30b69abd4f28ae7a19d02870b01ca71608ff37dc548ec3d5f854c95";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.2.0";
+  version = "3.2.1";
 };
 sugconf = {
   revision = 58752;
@@ -39922,13 +40956,13 @@ sugconf = {
   license = [ "lppl13c" ];
 };
 superiors = {
-  revision = 51909;
+  revision = 69387;
   stripPrefix = 0;
-  sha512.run = "783d14d75daa63d108fcf870004a46680c643699ccc7256906a06fc7ca4482ebcee14f120209bd488d5c2890a3c8c33d132a0eb23d4b93d04deb05eca6bd0970";
-  sha512.doc = "f96d441d9dbd470023c1ecfe3912336f696dea7dcaf7b3c052aabf9c702869cd0ea27a28ffbd34294149c98d5bc23fe004871faafdfc1eb72fcc4fe2e2591d82";
+  sha512.run = "50c352d7ee3b267ff3c25f93d5ad9d32a80f0f09cb8e802f6426e9d415ebfd8a54d3d07425c2908c75f328309e4d21173feb768c63e931658d151274ef6f953e";
+  sha512.doc = "da35e722be66689020ec2052f4e096502ad63121fcb3a55ffdb724d1b557122a401e7bfa8c4c0ea2c6881b0138bd155b1e5baa7886c2e0c7d1b693e56c9e7dc6";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.06";
+  version = "2.0";
 };
 supertabular = {
   revision = 53658;
@@ -40101,6 +41135,15 @@ symbol = {
   hasRunfiles = true;
   license = [ "gpl1Only" ];
 };
+sympycalc = {
+  revision = 67087;
+  stripPrefix = 0;
+  sha512.run = "98c46fc7727bbb8fdda4038f56482d5fbf1c88e3e869b5865f45392dfbeb5be545f754e6ba109b55e66c96d6cf733ac97b472edbd38e3c21c2f937ac9136f19f";
+  sha512.doc = "52d163772f25442b32a5ac240d15ab2d606e4907c79682cd37ff45389beb41fc2eaefec9b85d0736e3490d0f4cd1d60a42091cf24aba1ede8aded1cf7a786a0a";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.1";
+};
 sympytexpackage = {
   revision = 57090;
   stripPrefix = 0;
@@ -40112,9 +41155,9 @@ sympytexpackage = {
   version = "0.3";
 };
 synctex = {
-  revision = 54074;
-  sha512.run = "1cc1900df90ceebc6865ce7c4a4befc86d1aa5aeb0f19808526a6cb369d7bd2ecf3c4789817da937e84fdf1fa3c921660e64e3e8a8e215d4f6dd97b2371743c5";
-  sha512.doc = "37b7f0e3b86494715763c0d230a076aeec1f41ad658432099871d26b933cd8d0e8e831064cbe462a31a30260004c6dfe9b6b4d555d281d909615910470a2b1ef";
+  revision = 66203;
+  sha512.run = "cbe1f8c6d64619f742003c01566d55b675724f5d03681ad53dc1f58ff7314af88000ba25ea74e4fcfb07ece6160be6976ac8e69a9a1b524f223f5b80f350deb0";
+  sha512.doc = "14e1f266182ee0be47a7b3841435f79594cdeb959245e6226520e81248691beeaa73f365c1112ef3bb4eacf4ca77e55265bd0d13c190858144bdc3064fa88a59";
   hasManpages = true;
 };
 synctex.binfiles = [
@@ -40167,10 +41210,10 @@ synttree = {
   version = "1.4.2";
 };
 systeme = {
-  revision = 55015;
+  revision = 66655;
   stripPrefix = 0;
-  sha512.run = "5ddd525564a009104ef2f345b6513c08423868a91105381c66372176f41875fba24f0d27ceb648daee113514bb22a3e68d5134fce82394f3e7159af68cb81703";
-  sha512.doc = "9a3fe5864af37878b861220ebdb6613635dcfd563a0149ebeaf0c725af608d8f24f5d2e799b19546f82299dd38e2a4695b6b08d056fad1ec2f8a134326915325";
+  sha512.run = "ed93847bd9d5b9158026e364d98f7102e4040d19f8fe198565b8e6a9573ba1796a89b69f76dae76c40acd9ac96392aa75d2ccc006f8419b699f8f4c7b35c737a";
+  sha512.doc = "97bc9240c34251e6b3cf0fe53fb5c5914e0bfc2cf852ca70aaa72213ac9e5ac7d55738f63e73aa8ebc4e320a3874b3ec84c3a0465b188c2fa263648306faeaee";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.34";
@@ -40262,16 +41305,6 @@ tableof = {
   license = [ "lppl13c" ];
   version = "1.4c";
 };
-tablestyles = {
-  revision = 66465;
-  stripPrefix = 0;
-  sha512.run = "bd486860c47dab832ee90a863fae09c0aa2eff5b2a8ebc77ffdc5299f8b163bf83aa427d82023ba3c67ed82efb86db386b55d4f745681626b0c0816ee5dc6d53";
-  sha512.doc = "53555f5ff0c1634d763b3e1867f67f3f4ee9dbdb4e813c5e01682ff6256b435a0b3706ab1869531932bc42c523007cb8afd96be380741c640c2d585af890ae78";
-  sha512.source = "a0da15a75d9b5ad4bde561092f677553150302feca788f4d5496448f79de198ce631950cc57a32453272a2dfb7555cb1da421ea959c77c82610bb1aac52efc26";
-  hasRunfiles = true;
-  license = [ "lppl13c" ];
-  version = "0.1";
-};
 tablists = {
   revision = 15878;
   stripPrefix = 0;
@@ -40301,14 +41334,14 @@ tabls = {
   version = "3.5";
 };
 tablvar = {
-  revision = 51543;
+  revision = 69212;
   stripPrefix = 0;
-  sha512.run = "c0401c0ce273b59da6877f231b06f3e4da572a6531fb6c587e29a00bb0f53edcabc725453c2ad1dbe6ba0458721a7e4b04182fcaaeed46208a760a5dff9651d9";
-  sha512.doc = "3bb104a3f50375d2e96f908126268bd3bcb3e371fdd339ed7bdad9dbbf714480b89a4a11625a2b537e09f214eccdabf6c0faee84dec4591f0627783481eff20a";
-  sha512.source = "cfa218cf1dee3830f72af6996b1a5666d65a8729f65a8a652744bed84204122a65d514f539c2d50537c3529fdb9555ad5c5a2698f4459e11976e4b9640c8cfa9";
+  sha512.run = "0ecb62b92529825d893d5ae686aa7d66576da1915ff760ae80466e9c76c2951f1300e72b3bf039a61997ebfaa9f72a8c56fa58f53c65d0a75bbac71d830dfcbe";
+  sha512.doc = "7cfea26a1abda9aa3642c5d48c763184fc0f7a18b77fb72b8083c7271847b6d7ce3bad33fca96f082abd171f5f013eafbed51bd84b3ec046d82be13c11043f2a";
+  sha512.source = "871139aa0cecc116ef7e3bfe6cfd048cb804ccb108c18b6fd71bafdc02bfbce56d297b111ddff348e92f44fbe1a69e06a5be3693386f02766475004d78e54d06";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.2";
+  version = "2.0";
 };
 tabriz-thesis = {
   revision = 51729;
@@ -40387,10 +41420,10 @@ tabularew = {
   version = "0.1";
 };
 tabularray = {
-  revision = 66281;
+  revision = 66276;
   stripPrefix = 0;
-  sha512.run = "3f2b122a8688288946e9fb891f6b4e6166bd7544d9761414da1429e2ca3c84ab7f2488d4aaf3680d77bc6e1a43401305235b825fd4b92ad00c92575cab51511e";
-  sha512.doc = "7425c669a3cecd77a2795f730797b2dd14a27673326219a7c03bdbbdaf89ee08a69b179ad13787b98ed1b31a29c0d36a4d0ecfcf9ef75462bfceb806a71c80db";
+  sha512.run = "49171a748b9fa046d874bfb2aa44d2696120fae78c55314853090163228d6484507c281f65c7ddb1ba952b22c14d91e3904e779116adea69166322b91188b980";
+  sha512.doc = "98d37bdd677cac76657848d0ef5f638f77c44017c6320bb4122696672dfbfd459afc3c2ef44431da7340d9831c319998f88390300ce2f53a355239203390a448";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "2023A";
@@ -40434,14 +41467,14 @@ tagpair = {
   version = "1.1";
 };
 tagpdf = {
-  revision = 66465;
+  revision = 69165;
   stripPrefix = 0;
-  sha512.run = "4444749d11674a8ca4f74ebb26c721bceb7f11e8e01dddd3be109dea403957e95aa436ae4034764db7b85cb2905f2f458c55a7d264c895f47a38c85af88be4c7";
-  sha512.doc = "2b17fa52385be61794a2b382a91312fdc101c498f49080d0073b4d3060278068fd9dc24fd94c9aaa174d880bb985d94977bad3746810c898022cd78003c430f9";
-  sha512.source = "ed535ad10d7cca507f4cdaf8ee63eae4f6a7b86bcd6f92ff71a2b611125e2145bdee0fe7b0d42020895964780b990aaacdfa60a2a58f1a5516ef7860d560a95c";
+  sha512.run = "56d464d44796cea4f20d94a3f58275f2d4d470e3f851a14c0a63da738e8865a1276a7a06ca77c00a2c9eef0b082c1327be7645a96066265a6d412b5ae950bf43";
+  sha512.doc = "ceaa96192541cd2a17c996737dbad46272c5b76e9af6176ccf4c6b8f1baecf2d04636cbf8dab0563943dcbe5cc72bc36b1d8d3438f1b35a5d239bc3da81f03ea";
+  sha512.source = "202a66085866eb4c989278ee9a1cb9143c0d0bfaef6f2bb810736ec86d649287242b15303b128f80643074f94213f7b04de46895b324cbe13c9bfe1027ed687f";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.98e";
+  version = "0.98r";
 };
 talk = {
   revision = 42428;
@@ -40479,11 +41512,21 @@ tamethebeast = {
   license = [ "lppl13c" ];
   version = "1.4";
 };
+tangocolors = {
+  revision = 66733;
+  stripPrefix = 0;
+  sha512.run = "f33e7b7bf60f7e10f6b58e24a53c374ffe84a48a44bd6e0259dd741c91f94e61f71c6e6689e204017eff1b0050aba4e6eb5715b3978ec633ab0fb41317b1c835";
+  sha512.doc = "051a1f028e4e77eb78a11dda00fa950f9405a4703dfde7fa61318482ece12ba16e16ed0dd035532cd272cf3d66efe03d212f44c03ffa342db76ead6de1a5a2ef";
+  sha512.source = "d88a247cec1928a8178d189b812175df0a6f861f829fac382c952c0e1d6a5cd3ddcf4216e88a50676c831b1940d3593dc1e441bc45b827591039a13a31f27aa9";
+  hasRunfiles = true;
+  license = [ "lppl13c" "gpl1Only" ];
+  version = "0.3";
+};
 tangramtikz = {
-  revision = 66201;
+  revision = 66183;
   stripPrefix = 0;
-  sha512.run = "45a176bcc950088be660fd9d2a591c4cf116686374000ef703fd1b303f678fca3fb74e109951f2de57077de4045d2936858e46eb98ebb3dc179badb22a9d3bf0";
-  sha512.doc = "cf7902c8d6628499b56cccb73ab16276d00d99d92aad84f53e0ad51dfe3c6bc31fba329ca64ecce0a9ee1b64ba24d86bdf643e412ee6052035aa7d4a1fd6950c";
+  sha512.run = "81446f01dd97ef332003f8cce4becb670fe3fa284e540c0dcefd6627b03efcc87874d12c7c7e399947a269cd4fd66deff2064cd1ba64cd34d6cac2b4c587e802";
+  sha512.doc = "45435423e7b0a7d7aaf9db5cdbc682b9f62721b7fb333c64cd76a773fd67bb7faebe1bb11a6424c15a495f2c2269a78698a7846f2e8902c16023f2af91c9be9f";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.1.5";
@@ -40526,13 +41569,13 @@ tcldoc = {
   version = "2.40";
 };
 tcolorbox = {
-  revision = 65800;
+  revision = 69370;
   stripPrefix = 0;
-  sha512.run = "d5e985b0a8f9e7756579b92268a3b9a5a5ce0169b1b8608996c3dbc4264dcf23f17256789cce7db712cde014cdb9a024e649fd3ac6ac53ef4d6131599d49fb55";
-  sha512.doc = "96cc807a6130a741b861a738639e24dbb31e7194065e2e62b2ebf17bbaf2de0a38b7b9feaca948e9e36eb9bc6736d963aa1db33f82187759cab384f31966c924";
+  sha512.run = "f62323c290e39f10555df66bfe43a3a199f99fd5ee81c13e450cab4736c805a21cd3d85ae710ccbccbcc552d5e0370245600a5e58e605d6b3d35a3fefa2a6fe0";
+  sha512.doc = "7f4f312fee029753decd7456a6e2d8bc829484282f93d245e73a3ae706f7c948091694c05bd2b4f18982b4ed11662ec1868ef0dfd7bab3f35c15a1c1d486f41e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "6.0.1";
+  version = "6.2.0";
 };
 tdclock = {
   revision = 33043;
@@ -40605,13 +41648,14 @@ templates-sommer = {
   license = [ "lppl13c" ];
 };
 templatetools = {
-  revision = 34495;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "16abbf8e5c8972961d112cba712f927be24fca191467677bf27d76ba30c2eba8cd237842b003b9cf45247a122294d517b14a4bf5b4938eedaf3055ffdd22c05a";
-  sha512.doc = "54d696f510cc75384703f750a8c532eb2a0d46e02821fd9126daac52ed1b39859882d475758cc1ff7fd6257211e49ee0fc5c06dbb2e13e83d4584523064cf19f";
-  sha512.source = "685e379f557b683adcf198fb0a6f962b1da431e004470d5fc53c8815f4e7048e73d6851ae1792d78fa322f8efc5375d40c8f3c79404a8feb4a229df2fadf154f";
+  sha512.run = "696727231a51c33d10ca7c18690d2f960cd01a72b4e928c581e2a7ed26770bf5ea18bdfbdfd56372fc7289b59323025ea7d30f208e991e1c6c89a659a240597a";
+  sha512.doc = "55c03f8cf8313aed72c9434eb26b0623e55a5644a22914ed82c64c07834258f0d2f9f7c083b22677be854f69bcc6d980e45158caa4a530df517083c1c590089e";
+  sha512.source = "a14dec17daec4f731aac48a155fcd306528ba106518db1b07fa1b77d9a90fef82746a4b173f1ec072ac73023469bea88d70f3b3cd106b3557ce426fbd05062e6";
   hasRunfiles = true;
   license = [ "lppl13c" ];
+  version = "0.2";
 };
 tempora = {
   revision = 39596;
@@ -40642,14 +41686,14 @@ tensind = {
   version = "1.1";
 };
 tensor = {
-  revision = 15878;
+  revision = 67667;
   stripPrefix = 0;
-  sha512.run = "8f048f9c72eb693bf9e75e6ebda2901eb6b6add654b1f89651d54eb9416559c2455436f5e825160bfce220c790e00aa3a6f95a4557b3fdc880bade768dd36c05";
-  sha512.doc = "d9ec6b7b49d028a5a405f16c8cdb54873d92d3a0968b7df38aad44da607c8ea8cdcac45cce63b0bd2258a2a89787e2388b2375189636b93bf643055c0b9f86fd";
-  sha512.source = "fb246320405988579412cb8afc3f0f0951bd6ca09974c3f38c83979ff195e16e43c1852bca5097e8e4b07039230d3c019117234d4bb77eb75e70bedbc796ab3a";
+  sha512.run = "4e19620df8703906c539541afca09ef871e1cf6a20315b246ebf758c5a0ff5f2095c51d312b19f818e89c9714a79a32fbee708d4ecd0a0b0257546b0d940ed1a";
+  sha512.doc = "f60b5bdde9a29bf6a13ee94833b0d1fdaa1e7958d01a6a42b20a995263f398f7fbd761150b71f66490ece636ad2aa2c69a8ac9447a0000265ac480396822db2d";
+  sha512.source = "4a90f092c167a905cf72abf029bce706cbbcefd4dd73ffe791a132f22268a5c0322c246877a387739bbb15697555fb021e6132538b5ab9b188a9fa9135b9859a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.1";
+  version = "2.2";
 };
 termcal = {
   revision = 22514;
@@ -40739,17 +41783,17 @@ tetragonos = {
   version = "1";
 };
 teubner = {
-  revision = 64600;
+  revision = 68074;
   stripPrefix = 0;
-  sha512.run = "d6e7eb1affbc544b04b279a2f0047863eebbfcd758ca69b470e7ed0b45128ac6935509240b7bc86674f9f83da445993c854d72ee9e1197ae80bc93a5b6e5f72c";
-  sha512.doc = "cb573c57d090d21b77ccbf90c4da3b64fe532d55b011356d4ec1b396545646e9d176aa4f21ac4e22604a3513eaf974cc627f7836afeae0ba3b6c21cf36fa0fd7";
-  sha512.source = "f84c0b7e3bd1630d022d578374cecd9212915c2a42e493cb25986295d6cefb0cf80be47dfad9a2cf47541fa1592497be89048972f6e791bff14477da21a43b22";
+  sha512.run = "c5f03b824d75099a38f8d203722d0edc4136392ff282489f6473a83dc178f536eb972ede3bd9371f47f39dfc2dbda6b4db78d282642889b4036dbbdb8e49a473";
+  sha512.doc = "f1d7123e4438f781f6f4f7448119c7dc968be54888c027f8a7c95e5c70f06adcb58d127de21679bc125355f85f82ec94d2537cb0467f7c285427fba6b8f50775";
+  sha512.source = "a44d484cc8de4f280f35648c93bc1c3673fff20a3477098d58342cb579b443f4a417f528e7b80787bf13fa8feddb05dc2cb5d7c261d812a5473236d00fac59bd";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "5.7.3";
+  version = "5.8.3";
 };
 tex = {
-  revision = 62387;
+  revision = 66186;
   deps = [
     "cm"
     "hyphen-base"
@@ -40765,8 +41809,8 @@ tex = {
       fmttriggers = [ "cm" "hyphen-base" "knuth-lib" "plain" ];
     }
   ];
-  sha512.run = "7d177346a2df7e7dbd2fce3635a8860c0deee30271beeba585091f8027c796678a3dc9cda2952a073c9ca02e26cd656a3bdcabe4661c23e81af350a987d7e4aa";
-  sha512.doc = "e545796c64bbce0680d12b9d77ca64b008c369f90639ad9c3e7b7b219ceb85fcf24fa7eccaff65639bb9fe7159c2b2dd124866acd2ad78d860ff4e872a341d23";
+  sha512.run = "028cf62dc7bd7f62acdd005c1121b4fcd55f9130db61d3bfd782cdae22e2e51581cd66a43a827ce76f6e4fed09f2050ee81c13594f6df64817c3a48ca3d1d088";
+  sha512.doc = "69e9a2068eb63d7a503be0aa3d94cc270485370be0342d5adf6fac714743a90b705622b8cfbd7e62e52c15f9a663fc3101d11a116c1af9c4f9f3f5c5d3dbfc77";
   hasManpages = true;
   license = [ "knuth" ];
   version = "3.141592653";
@@ -40788,11 +41832,11 @@ tex-font-errors-cheatsheet = {
   version = "0.1";
 };
 tex-gyre = {
-  revision = 48058;
+  revision = 68624;
   stripPrefix = 0;
-  sha512.run = "7e8ab25cd563e2be7f333f5f4232a7d64e9cd8ef2b5b898ad5e33af96d455f3bb0214184650dde76770cb95f3bfc6b10f35286e0263e52a6f43affa289920327";
-  sha512.doc = "ebfea3bfa958175078b78ee0f2ea36a4de289b967f8fc900268dce7b3d356d2faae9d9a1123c48a06e3ec78b05863626fa97cb3e249d1b87c036fe00c194ceec";
-  sha512.source = "68a06261fed419e106e8f6958a38bb0f5b78c3ee10b8b68365b3bf9925360cf726c4715954590f0b0b86faadfe636f50bce0ebf4b3b00162ffb4df54a2adc803";
+  sha512.run = "5422f349d15233e6f49576fe3a65f8afb5cae6a3c51e5ad7cb56617d7d064e9cf574f233f789c029c04bbfc24e5948c115b2d33569e881373d68615ac709153f";
+  sha512.doc = "db2bcc8da6d3bfb6f2165c1fb127b2b4a7471e41a0cebb851ce5465a18740d34948ce8292b4f6bd359621166602cf62a978bb179346dbd1dcfada49cc7972686";
+  sha512.source = "e958408e6e64a54b25fa89b38de181c96fffb9eb8762959209799c39cead7a5525f220b7b3cd278e35cb9e3e49c1c85d565d518ffacb0695b0c3c09ede935266";
   hasRunfiles = true;
   license = [ "gfl" ];
   version = "2.501";
@@ -40807,10 +41851,10 @@ tex-gyre-math = {
   license = [ "gfl" ];
 };
 tex-ini-files = {
-  revision = 40533;
+  revision = 68920;
   stripPrefix = 0;
-  sha512.run = "c053ad3aaa49224f26999112b3f5f28eb6ba34cd130cb54ab5ce67971632d41a8470c361e4471f9d75831d230737a0197186b05c25a9b401286bb4d5525b12a2";
-  sha512.doc = "c44315e35793a1e77b621af53061c25605fbc5ffce2f07fe52bc5e58f4db0e9252cdb1935c14d8dc632bf1b84c18f3ec18506c5415831ad230c7a314f4f7b670";
+  sha512.run = "58f8b1dd44be6ea67dfaaa67a4f7c6d27d222ccc7c7898c31ade4f23ae39a9a5aace902f05ff48bb3f6d63eae38f9db93b75c4d2efeacd394230694eebc33fa3";
+  sha512.doc = "9caf187a5589e49f946a7fc5ad332073dd2a90d82f71587a57ee9d62e365321fbf14e69e3e3448d85302cf5418a2eb7d94a114f95c575867b52579f6c35d5e48";
   hasRunfiles = true;
   license = [ "publicDomain" ];
 };
@@ -40834,12 +41878,12 @@ tex-locale = {
   version = "1.0";
 };
 tex-nutshell = {
-  revision = 63336;
+  revision = 67213;
   stripPrefix = 0;
-  sha512.run = "4eb68fe292ca246efb1398ecae471831147834928338f6f964febcae5ef2833270a5e39d22aa803ab770d3ab21db3d60d4010912ebc79399f029c45ecbeac9fc";
-  sha512.doc = "cf610ee44e4b4e8a8cfa94aa9cdfe622d12fc7949f62c567e833f5f5affb42a99ef1a0f296fd1f1bccd2594d864f9bf965d89df642dee45346810363e6ccf4c4";
+  sha512.run = "cb8d343a8b070c6350cc922c74d5dc08ea9f6bc92397e5325591913f5b7ff01704b0c5009a8c8083a47baef64190b6640c51a91216af54b8505654d3105f34b7";
+  sha512.doc = "50cf98a9ba348f6814274cdd195a2ff9129474e61e858932f8e8c256f8108f622a088b0bed586c25e199737fbe3aaaa11441d6ebaf29fb0974ca822d662b79e0";
   license = [ "publicDomain" ];
-  version = "0.8";
+  version = "0.9";
 };
 tex-overview = {
   revision = 41403;
@@ -40866,47 +41910,47 @@ tex-refs = {
   version = "0.4.8";
 };
 tex-virtual-academy-pl = {
-  revision = 34177;
+  revision = 67718;
   stripPrefix = 0;
-  sha512.run = "b9358f50caf39d274c1684d4514fef0439e015588431883955f7aec63d35f7176ed61671f72cda7ae28125b2a977f25ae66b028b21017f106d8f78bbfc7df109";
-  sha512.doc = "aa73261fb0ffdbb7cdbf85df354490a72bd95e4d98e4a497e98666e6f5533a7f05a7132533db044ba993d86e03fc21825bc6fa7f262e5a0bcdb6de8114d38eee";
+  sha512.run = "23005895f708b07162b2b251be125b70dfa8ef6add8ef7c5dbab2c5a2e211f65fce8432cbf3ee324a9b72c2296d5dfffaaf5a52d77425e4d6fc3c042397d6bec";
+  sha512.doc = "fd22d5a6c34e5ab7859bbb515d54e822eb5167853abba3e25d5137df1bc34f0bad9892c16f7ed5dfded8b90651551e1ed84a00d561c561ba18f50fa04e7bc7af";
   license = [ "fdl13Only" ];
 };
 tex-vpat = {
-  revision = 63560;
+  revision = 66758;
   stripPrefix = 0;
-  sha512.run = "c215b5745c023c9c79694c61d6ac961356fa921b671e774e3adbd75f0445682255570c7e269cc425bd8745304f1df4acc543bc22bd12ab61a594c3f34ca55628";
-  sha512.doc = "87a5870f9b313548e8a8f8f2ec757bb287d0d9bafd1461067ab3d767874c7dd7b482d19557b48f43790b644506b7f1106a68bebf1eb7980479fd5133fadfbf6d";
+  sha512.run = "918054527c2d325ac0c1bdd621014fa4c79d7c6cf4ec8b5ac5d81dee84b9159fab0cc0047ea35eeb2de4460952126b3bdcd03395c29379e9df517ed7243206f0";
+  sha512.doc = "f16ad935930ab663bb2e5b486c4fe53b3bd9e883c660d97893c4aa86bfe22f7ffed77dc66d88060f7eabb1daadd2dc77742c1d9604ea94d26594aba340693f35";
   license = [ "cc-by-30" ];
-  version = "2.1_June_2022";
+  version = "2.3";
 };
 tex.binfiles = [
   "initex"
   "tex"
 ];
 tex4ebook = {
-  revision = 66333;
+  revision = 66621;
   deps = [
     "make4ht"
     "tex4ht"
   ];
-  sha512.run = "5ed55a074d557cc433780b838fa0a53a3bd8428a192ddc1bfd71c306a110041663ceb0d6931b580e150ebd7f5f07145796ebd12bfd7d1c986e7feb74803dc104";
-  sha512.doc = "964824dc432799c57af3d69dae35b35e1f327dd57d245a6c392d434033bc627d8c93682c1bbbb1b099f71acde25c10f7cca2d3b72cca02e3f9c8d94de0dff807";
+  sha512.run = "b0dd7eee40daae5cd87b39c8d52ee99569992dfb3f9d438cb43f2050f347f33653b5932c6b159b3d24382971aae5f631f9e8ac8e2e3219130ed346d5e466c0d1";
+  sha512.doc = "72d0e9550cdc8cd0f5469e44a9ddcbcd10c8141f68479ebb9b8f8af3e2233695df05acbb875b80de0330fc29d774b7d3f3c9fc1f249c04e60944ae9642326a54";
   hasRunfiles = true;
   scriptExts = [
     "lua"
   ];
   license = [ "lppl13c" ];
-  version = "0.3i";
+  version = "0.3j";
 };
 tex4ebook.binfiles = [
   "tex4ebook"
 ];
 tex4ht = {
-  revision = 66531;
-  sha512.run = "44ed16da1e774edb33b68c478ba8fa70eb33b03094c87cfd2c17068786c93bf4c083e85046158aef30353824d1458f0c5646ee71446f22ed991145827fad5f4a";
-  sha512.doc = "7c831eccdb5d303b756799bb28fa962593eec8a12e5ee1c763b7c614bab29d27fc507ebd86637e920581a4dd3a89d9e7acdb0aba2798b24048b9b0bacdcd1dd7";
-  sha512.source = "777422dea0615764a824f70ec7a85d4fbc824c25587935bfdf514420c2e0c61243dee2a84861b2290cec1fb444f64bd9754ce6334fb47c9ab3142d8e083fed75";
+  revision = 69412;
+  sha512.run = "59848f9a4accb16164f2af9c7c26ae4a28af826116ac85f68fd1d9a399b979cff18e0d15ad85cbcdec5a955a01da1f46fc7ea6c817a216cc8aaf0df88c5b9ef6";
+  sha512.doc = "6756a4022af3e42e47e090638e114a2d4c4a50bcfef7473bb8ebac3a9d2adea6153b7596144f65955cf02a697c0df47a631877118cdfe8b25a00ffcd5b1737de";
+  sha512.source = "c1c3746084f4eb88f6aab21c20168e9a520f4757eeec5d6742e905d81aff44d5b2b0265efcad2066fab8669a59186a05d634bbe87f28b44f6e58cf3a0fac52ae";
   hasRunfiles = true;
   scriptExts = [
     "jar"
@@ -40916,7 +41960,6 @@ tex4ht = {
 };
 tex4ht.binfiles = [
   "ht"
-  "htcontext"
   "htlatex"
   "htmex"
   "httex"
@@ -40953,11 +41996,22 @@ texapi = {
   license = [ "lppl13c" ];
   version = "1.04";
 };
+texblend = {
+  revision = 68961;
+  sha512.run = "fc2026a5b2487af785957873f20fb91045262df7df2a2a71777da76727c054cae19b1e005d30b2616469cc009f680973091a7ce6d291d2ff29b3bcc8a47fc12f";
+  sha512.doc = "936b56f3823567252297cc3a659d951b501a5f60b2d43f6d8b19fe803ce651d67363d026bd97d0aded3320148dc230ff81e8961cbfbdb5c9a822da94070bb945";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1";
+};
+texblend.binfiles = [
+  "texblend"
+];
 texbytopic = {
-  revision = 15878;
+  revision = 68950;
   stripPrefix = 0;
-  sha512.run = "d6d7373a50b85b4dcf30f9d6cd1f3ec3a4cbbe72f53158387b99ab5cae5372d1c7a7954d03a0ee06b9af6df9784cd9a06f73658a6286a737674f5046883a9ab6";
-  sha512.doc = "29b3ea490b6c67a4c1d6dd2b744978536e3b847beda3a901873db7723c7c21ae4063b800d30d2d009e77a0e6fb199a3fb0d16d1f7f8d9a09722cfd7702c73c67";
+  sha512.run = "d2418ef6b672e82c08b2f7b7f0089a9dea1f514db584662351135b511912faab828956fc252cd854fd2bb1243bc0e1af428e294eb92935cb63b38e73078858d9";
+  sha512.doc = "787b12bc92a17a00fd8278138d0e36d94be377fc23401c4bd677c372dc1d19b4b88c12395366b8ba5d766fbd7bc364588986d7528572510a43ba48ee0330b787";
   license = [ "fdl13Only" ];
 };
 texcount = {
@@ -41028,12 +42082,12 @@ texdirflatten.binfiles = [
   "texdirflatten"
 ];
 texdoc = {
-  revision = 66228;
+  revision = 66227;
   deps = [
     "kpathsea"
   ];
-  sha512.run = "3d10ce6a38e3b676bc7495714962b527e2c78d5844b184eade200ad55cf07b44945203019315f1d6e2ef825c8093f0fc60abdf67efd641ce3777c32f0680c10f";
-  sha512.doc = "85e16d57fd1f89364caf38a714756a31c4a89dfdc0313e11641593df2227a7a17df861ef34d109a5737ce463ca1016653635499186d9f99a1e75d9225e2c66d2";
+  sha512.run = "02e7d23e20983f96d05725eb91a4f8bed6bdad0051e9f3c152f945e22255c70e7c0b2d93eeca1fdbbc2ca550a7a15d46540ecbb383575b03a4da9bfcea4e42aa";
+  sha512.doc = "80ddcd5d32e02ac87ebba175b3f2e253ca02daf70e38ec5a6db1a0e595349ad33d6b7cf7e95f8af7de621600a58b952927edde04319adec13fa139fa0b634970";
   hasManpages = true;
   hasRunfiles = true;
   scriptExts = [
@@ -41070,14 +42124,30 @@ texdraw = {
   license = [ "cc-by-40" ];
   version = "v2r3";
 };
+texfindpkg = {
+  revision = 67027;
+  sha512.run = "a6fee1faade94bc462dd4fd0e567b7716d0dd057e0c973b9a498949e701bd054fa4fce1cb8717f1d052ab03ef9b894e2f222e2e9a70957215f7266bcbef15f57";
+  sha512.doc = "452df8270ee53864594cef99a7ce0fbb6b325547de0ebcecbecb4463646706fa9e726fd433f31c4f6c44d2bb915431aecd7150921043e50f6b3a2ac5e51eeb70";
+  hasManpages = true;
+  sha512.source = "d784abf4241ccd65c8c910c16171b30d686a53933043d8f6ecf787866e5508d4e89866c90fe2627ae4b536ed7647006f6ce257c8b47676adb77221d08b6ef690";
+  hasRunfiles = true;
+  scriptExts = [
+    "lua"
+  ];
+  license = [ "gpl3" ];
+  version = "2023E";
+};
+texfindpkg.binfiles = [
+  "texfindpkg"
+];
 texfot = {
-  revision = 65545;
-  sha512.run = "e7553ab1e2368f1ee54cebe94ef1cc6675a6dd6f76f1bb94b1d79a742ddbbfb30215c97b7aa08165ec0e94b4468491d6cbbe6e1d8d77c24e37f3ec46104cc12f";
-  sha512.doc = "07cbd86a5f4731257804a8a62fab247a5a091fbdb51b5f618b42200c06ac8293e809ba19fc98f844dbfe6321e733aae5671b5a8318892608687a454cac15bd10";
+  revision = 68110;
+  sha512.run = "0886ab706ce0f18b0eab304afa1d570fd55b57bc02c8b3b1aacde77c73ee260f688bd395b2e362cb998cc1aa9a2d1e228b118f5234eb9c40ce867a97d86f4ac9";
+  sha512.doc = "d652523552ad401598c68227b3e0e11c84261a3a243afc731f54892fc971c8f22e74bb58b6eb45ac15f70c8789e5a4a9c4dfca81a3dc304762ab97c8bc74e3c4";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "publicDomain" ];
-  version = "1.48";
+  version = "1.50";
 };
 texfot.binfiles = [
   "texfot"
@@ -41099,18 +42169,18 @@ texilikecover = {
   version = "0.1";
 };
 texinfo = {
-  revision = 66356;
+  revision = 68342;
   stripPrefix = 0;
-  sha512.run = "1cc62bafc6e086aa722d74e0b92496568fbd68216fe57eec98d0f2c2d6cf32b6b05f26e2ea59aa345f4df2c0a7477d19719e2d7772d2fbb773428eadaac1a55b";
+  sha512.run = "5f79869d29a21aa2d5acd22c2c3abbf12b00afba2564dc9ea779c8f4caf5f44999ce27635d6ea01b9d7e441388e63f1f31238e47a3a68a436bbfe39254920722";
   hasRunfiles = true;
   license = [ "gpl1Only" ];
   version = "6.8";
 };
 texlive-common = {
-  revision = 63925;
+  revision = 68510;
   stripPrefix = 0;
-  sha512.run = "a59058e22c04f2500af75ed28fd2772a323b50960e5624a5018e81f0b7950ae1fd0200aa499aee58c582bf8f6ddfaefeac0bb3edffa62e034e8e1984a7aaf267";
-  sha512.doc = "963c02e99f683c1f59133eec0f450b1854b885d64c0ae5c9b8c05b697ea72634fa3ae5512abfe852723df404201852c00980d77fdf0a9df1806cd8da3a73d086";
+  sha512.run = "1d56101ace5038cd3b8d36c90e026a1c26363535fffbe1ffab64dfbd01408e7cdfb66045e11b13e22491f238e2d3a7015fdeb9bf75fa56f581d2ca5da8f1a01a";
+  sha512.doc = "c9832e8249440656334db12b6ee54b467fdebe1194b6adbb8d28ee375250bc6458e8c1b48b5684eab0ff2f0b55db4f4ab6e77679df447a01070a15c1243e5d83";
 };
 texlive-cz = {
   revision = 62854;
@@ -41119,29 +42189,29 @@ texlive-cz = {
   sha512.doc = "ff1124b30be77782b5c5a1b80ae69c852a5a9e81446c0574007bc28910ea6202662514a34a85858c577bb528f9fbcc11f798614d11914876151d5aeadb3fcd7d";
 };
 texlive-de = {
-  revision = 62234;
+  revision = 67108;
   stripPrefix = 0;
-  sha512.run = "fdf5524ad57cf898b8ee574dd21d982fe9fb6d0c2d9324f78cb38e9c654bb66e322f0bb79d026c3b7e63b404e203d2ce6cf74d848a38ab80ff37707079375996";
-  sha512.doc = "050d284c195d95d53e0070499be687ffe7497082a894676a6221111959fd50a008c6286b58e020043475f262510d5323ec327e4b20808c9adfd9116ea98497bb";
+  sha512.run = "521ce2f9dce3fb329de464ee847c077d449885869e964648e8f89d920231a68bf0d3562e5b54b3cf36716dc3d85b4f0d0591e06843796f216670f963c7191324";
+  sha512.doc = "30eeabe60126b3cc7fb8bd400613a9a5cd0484ea73a8fd0e4c3ec7edee5e985c64c8073cf2b121446b9ea1b60ee54609687c168a75198408a30cb221d4a0ffc1";
 };
 texlive-en = {
-  revision = 65770;
+  revision = 67184;
   stripPrefix = 0;
-  sha512.run = "f790f2a94e67573635afb5b4c2d375bede61eb3afe271169078fe905d326119234363ee896ecc93a9892d26e0a394fc350edbda810e218b0b06cc30681fd9cf0";
-  sha512.doc = "48ffb3b9053250f4425992c57869c6153601e9dfaa4931ac4ff3c12df44b148dce08496acbae495fd5f9fe37e11044a3fc0669c713515d2cc99506fd6be59859";
+  sha512.run = "d77184250d7014dc65e74baec435fe42e784f80349df81782e8e1f7681cd14e3cc99313d61d72c010e5ffb33a0de06890c359e7b582e94662f253f8ed29cb7eb";
+  sha512.doc = "9da87903b5ebfb7ae0ea257ecb77654fe53d93b86fa73d8089b5b2adf46183862e6c67d3b93d6e112f750cbb4af6d6b034f35a1628adac413b61857a91dd962d";
   hasInfo = true;
 };
 texlive-es = {
-  revision = 65640;
+  revision = 66059;
   stripPrefix = 0;
-  sha512.run = "53d96d2f8b0d831f125add3101790b3af28e475244800fc7df204e3710d31910ab497400a67561aa424ebc51aafc3f75ac9b15d651ecd4bda56a5d24710909e1";
-  sha512.doc = "afb6460747b08f6da09efbf2fa368e5fa0bc58c7f759a7c776fdea8ce66fb6821649ae222c1af9ac5ce5cdadd5d13e7d34f1b572d2efd160fa19dc2aec7b1e95";
+  sha512.run = "d055fbb5a4cee9d207f60ee27033534917a0e91dd2e37791290737bd2727b47ccbb3199c0e18f4a564f15e5dbed3599203a7b3611558a26f784713714262311c";
+  sha512.doc = "f124848f80289190abadca35a259d60781b5ae75771687ee44e863ddaace61227217a7c1ba888a85afd28583f1eadd4c91b03e224f5cb1b4516772243ac0fe63";
 };
 texlive-fr = {
-  revision = 63071;
+  revision = 66571;
   stripPrefix = 0;
-  sha512.run = "511ab7cc07e7a05e503da17d9cc69db1e7f16a8fd5f1f353001b585cdf26bc89f6e6d29b0ae66679125c947f1b6885456cd38cb869a8fcf8e3328ff99b79e4fc";
-  sha512.doc = "c2d32206505a7db1f6b59a7efdb55421e87510ee74e378d00281e0aa25cb7fd68a82b3e589d2a3890c0c1dbeda1442fc7ae8af8d6b3ab90236d3c1d316c048c0";
+  sha512.run = "2b5f6f94f9e9b3af2a18de94b85615bd09cab31d9e3f01b9ac78df5d22fae6ff84d300cc39aa92d1dac02d858c69e86d9d3dbda422574a4c3ce4652b08990090";
+  sha512.doc = "5463c1ecd592e7d304325276f950964cb52cedeab20084137deb0f4b7de1b17b536e4b030cd0e961191d61912f9c4db27f16e6e196104c84ad16ff7b545a7e9b";
 };
 texlive-it = {
   revision = 58653;
@@ -41150,21 +42220,21 @@ texlive-it = {
   sha512.doc = "0c0d3585bb2c12476751bc5dafb5ea5e10dcaf5149b98e823e607d7a99e5bd9dfd698d73950ecb1efe353435ba2f88be2c45e18c6cde2245df90cebfdbad4417";
 };
 texlive-ja = {
-  revision = 62817;
+  revision = 66482;
   stripPrefix = 0;
-  sha512.run = "8c397b5959ea9d2e1d525cfc83305e6da434ab81ede0e7669d6aa4c648dda5233d4081b891f388c303be46edbf88c01d6eafb506f32333786188f1c2af8dce88";
-  sha512.doc = "e355ea9074d4b96a352867ccd51e4d83a9e67a8917621c66f88acf32d295a30125824007d5c07efe0352d489ef8a12265337ff7448f179f36640add38c2616fa";
+  sha512.run = "92f3767daa4e88bcbcff86aee215bac0ea945645a626e9612e033ad12513e41d15ce8074c22cd39b0fbff9d951608bee799dbefa431c31ca9e8f4681f15242fd";
+  sha512.doc = "464442dd7f1e77598e7bdbb6884453f5a4a2f57d5d8b028d0126e5bed50b3c19f9fefe13b602ad1aff3334e45e8082f2a1328f884ade2ea92ba4b054a41c4b5a";
 };
 texlive-msg-translations = {
-  revision = 65889;
-  sha512.run = "03c0445d0cb0bb3722a691fd94b93c7fe9d046dbf5945ecadcce17a2333878ffc542f0b7f263ae09bd0537a68c1a59d6c04b873ce8cdc6c8b57f7ded5b6681f9";
+  revision = 69346;
+  sha512.run = "b7d8293947eafc561873918f658e372feafadc7de9ff8b2b5c65bade32b40bf99c1172fbb9737cd8e5d2c057dde88e392561db36c093518f49249198646f7148";
   hasTlpkg = true;
 };
 texlive-pl = {
-  revision = 62841;
+  revision = 66576;
   stripPrefix = 0;
-  sha512.run = "d658992603b9d43b92cea9f625393be33e286144ee994dcf5f000bd079e0ac41252ff2f89af6dc3a3fc78103df3e2cd65763888fa935411970f61d0c3a54837c";
-  sha512.doc = "cfbc35a8124967e66966c757b119a73171055ccb7040536dc15bfe109ea275345a5d6c95a2d667bd64f5c997537b28bc5524d9f94c3a642d96f1be23caaf30c2";
+  sha512.run = "b43de2e6d5fe66c53370a4c43ab1a66cb08f353944f58756debc40d6651cb5df11824d1eb4ec79890b449ed611b8674c0773a4e477ad4abf30f162906c1f75ec";
+  sha512.doc = "09319f848fe28ca344367f70c826380b3927aa26df7eeb195f6eb176d4951ded181cc47c772f401e1e7936de5fb3a9be3339c69f5bb4e8a5f9785f7313e6baa8";
 };
 texlive-ru = {
   revision = 58426;
@@ -41173,12 +42243,12 @@ texlive-ru = {
   sha512.doc = "40e8b29f29ed61addc2b9e7ce4b73d12bf2e59f1c50c65e59e9c8cac5e6c3ef264ce2071b0d54e15f5029c101a51d0efcda0144e113aaedc714eb1300aa9635d";
 };
 texlive-scripts = {
-  revision = 66570;
+  revision = 69407;
   deps = [
     "texlive.infra"
   ];
-  sha512.run = "3dbb2007ae7b80862265d6196f77a9d796f02f6914871f4dad094f8419040fe7064daf6ecf5dd611b5764dd4148d034a97d82aa22671199e8a3dc79373859c67";
-  sha512.doc = "6976ba00c8ee50664aaa1f762231f297f01548a94d6a632b386845e7fa43b20b63342d58874e87869a73a9c23bba358f762f5cc3814690f870c6216679471a89";
+  sha512.run = "e3a8fe45541ba71128fc9e269ff7f0a3d45b2789df2d689e741fc87eab51b2c8021ac7e0899fead8d1bc043538d16589663932c32507b704fddb095c028cdb18";
+  sha512.doc = "c0d2c8280df1f6ff0f6f6d850c95a82aa7284d5e637cdb69518e419fbad3404cdae38ec58a8e7b452d0be48ee107b05e9b5ba84cfaa5fc81774d132c3b184083";
   hasManpages = true;
   hasRunfiles = true;
   hasTlpkg = true;
@@ -41242,9 +42312,9 @@ texlive-zh-cn = {
   sha512.doc = "534c505455c5f9c73803c140a340df2882a97516e15f52c5b65695b7c626404336a0e4f6190155b5bda1b9a86d7f4d44ac294bccec791ec6701e56d13c00d71d";
 };
 "texlive.infra" = {
-  revision = 63645;
-  sha512.run = "cbc7e70f3b4d451a51f06ed640b37ce28b8ea32f0dad75b32e54856e1051934d32125f2428b074a69503fb24c943c5eded58d77168d606891ea8209bbf852c65";
-  sha512.doc = "37f37bfd17988a8897312581efcf05aff76af6fd2c30867c65e0a4445ddc1f7fb90bb86984999d5fc942159bccf5c2a188e5b552702405405c902c97ae4828ff";
+  revision = 68903;
+  sha512.run = "077dd2060eb3a1132bb392615a36684b42108781e25610bfce2c9d22d743f8abf01f8c79c2b09a8d2a2c1edbbc0a33eec51ab1b0ff07480c0d4ee510e8680966";
+  sha512.doc = "2674fca1b6f494d21ea2e7993e4da75b821ca9c2b02eca47d3eb0d4512a985e2cd7900d6bc19c1af93ba59857cfa82bd3ee61200794522ec755348c067817e74";
   hasManpages = true;
   hasRunfiles = true;
   hasTlpkg = true;
@@ -41298,13 +42368,13 @@ texlogos = {
   version = "1.3.1";
 };
 texlogsieve = {
-  revision = 64301;
-  sha512.run = "8017144da38d3e7b011b1620b4165e62159cb2975a418b350bf8a5d87e8d519166fb87b916a96ef6ec203df12834e72a31e21c41a84e113e8ebe620bd5eb8860";
-  sha512.doc = "7a744ba4bdbcda04c1adf53c07acb5d20799268f31aebf2234203251ac56a96ad6cd0574d1c25c983eec0d7191dcb49bc9f11dbb2aa6aedccf31c7499400fd9f";
+  revision = 69072;
+  sha512.run = "22822a9ea14652674238224914fd84d9ea09ba1a19fd8eca288fad52c35b0c7e0a0003730b1214e9f358d068eeda191a92dbb2cf2e14bf29297b61177af1a1b4";
+  sha512.doc = "507ed977b9c272c789fabe42b48b60722c09f0548c4f857d9f3207651b05ac593a6e2b94a53f66527591cc3bc15b61a3849a540db3923d196f135dd7cce11836";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "gpl3Plus" ];
-  version = "1.3.1";
+  version = "1.4.0";
 };
 texlogsieve.binfiles = [
   "texlogsieve"
@@ -41365,10 +42435,10 @@ texosquery.binfiles = [
   "texosquery-jre8"
 ];
 texplate = {
-  revision = 61719;
-  sha512.run = "5b19c1f2d5bdaacb1c842e78b1980ecb3f4fc548873e6a36fc9c5a70c3e3649b812819cc0d3bf68622acf31ac6c687cc4ba657ce2a4682bd13faba4070b0a1d7";
-  sha512.doc = "e28f0f3476e710fcec772206138a2f423ea6f9df903bfd4c4a278453f217752b7f4ffd7e68f10821ee36a9251a14e6226887ed5aa7a5fb53e5deb7a1685a04e8";
-  sha512.source = "658467f513fc37799df279d636f5927477c51cf0adfbff2ea1597bc8bbd4d9edc3f5f22e2f09d9049a6015a6825bde043ae10e8b55ef78ba8dbbfb04604de0b5";
+  revision = 67201;
+  sha512.run = "44f2e0008d1b8629bfd15267e3add7490c9a21e28d7b29edc5e37ca51e60bfbc8b25035cbacb57bea5df762ff9783ccfdfe6d9244bced55961509c7ad97046ec";
+  sha512.doc = "bfcbb319719b9f8d4473c50afcd435eaa1cfb906f6107dd7e859bf40a30b452dc135ea1ce0a733c297112647fbc76d6bef16b9474a65d85e6d93e5df96acc549";
+  sha512.source = "e11a6716016b40525f3ecb4906dc1b54650177f28e7759499928ce78af410ea9a159fa3703cf2098aae227b6bc126cb4be35f8637ef6e15c7df94fb8ce4145bd";
   hasRunfiles = true;
   scriptExts = [
     "jar"
@@ -41401,21 +42471,22 @@ texproposal = {
   version = "1.4";
 };
 texshade = {
-  revision = 64242;
+  revision = 69371;
   stripPrefix = 0;
-  sha512.run = "47ee4ea722ac6063c6927f0b896bd17e25df1aa75d6eabc2877ad628ec224bd9d2c8af1e6964b763d13dfea99ea3bd08007b1a9d9f43ef19da5c53e34e4b7a6e";
-  sha512.doc = "a9e2130ae217816a4b8d653c32ae14beaab0ed35fac5e1a43c10d6453b2774a3449008b118f1f97d8c88d48c3708c5d96edfd5698e9a09046311919191fc240f";
-  sha512.source = "2559fac03618b74230b00b4d2229199e6bc92256547024884cb6aa4fa2ddd8f361281b372c1054e10375c82960d0d53742ab333348e63ef3f92008031e907246";
+  sha512.run = "28ec64b312161f1157511d4a4dcccb3378bd054ed6abe75830b2eb98b30c5afb2ccd1bc88b0ee0fb049a3610e97b4408b8e66675094a74abe1bde8abe5d1a1e4";
+  sha512.doc = "e06fcb1e6d743561ecc1b6a1a14e252fa5a7eceb2bb0ceb27409dd52c62ec5a1397cdbde7bf61e62b143af2fe6787a49ad3b6b9117f8418e409e54b26deb2a25";
+  sha512.source = "23bc248ea1ee572c6ac13fcf9697810ad6881530a44adf9a16927801b0a951c3fe012295ac2816c85f203fcadfb35f04460510ea7fbe2fd758b05098a4f06dee";
   hasRunfiles = true;
   license = [ "gpl2" ];
-  version = "1.26a";
+  version = "1.28";
 };
 texsis = {
-  revision = 45678;
+  revision = 67930;
   deps = [
     "cm"
     "hyphen-base"
     "knuth-lib"
+    "pdftex"
     "plain"
     "tex"
   ];
@@ -41427,8 +42498,8 @@ texsis = {
       fmttriggers = [ "cm" "hyphen-base" "knuth-lib" "plain" ];
     }
   ];
-  sha512.run = "7309726b33eadf8290e596aab50bb1af95600a067338b352c1ac092643a8c6d4142180d0146abbbb828a38fb08fdd9ae03da6572e6c221afcd151a51430a423e";
-  sha512.doc = "2a4979a10514ccd589b331ff34a677a4e22adbeea73d6112c9a14392b3ee75a8cdb292b008b160792b3d00b812834afa7e0211db860c41f1beb69bbc900fdb90";
+  sha512.run = "79a39678c4b458877737b63fdfc820adf192b4a3c68eb02b9727ed42c16c002ad6ac7d12fa6e45a768eb58d394ba3610ccee4d39de8b73350a39b958665ae779";
+  sha512.doc = "30b47b165484654c1956a1862a1207c219bfae9790f3daa1443bf97bc5e5fd5aeee734b3561c433061987077e84a8feff7eb886ae6d914122eb218bfd0fa57a3";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "lppl13c" ];
@@ -41447,23 +42518,23 @@ texsurgery = {
   version = "0.6.0";
 };
 textcase = {
-  revision = 63868;
+  revision = 67755;
   stripPrefix = 0;
-  sha512.run = "0086fd3c6601f03d730f195915f1ac9902bb2e8555690395719da58643a6a2f9f5ca28d05f79941d8afccf517564301336e017341da6a9ceb19755db8e17db65";
-  sha512.doc = "e2a9c7cb58109336c889ee7f87a3926cc885453c0c0472f70ca5a303cb203dc46f5c1330fe90282b0f9f790b02ca139931a944cfd9016c65aa8c8075460b4a1b";
-  sha512.source = "e2f98025e4dab32916318403ff3e31f308bd2e867b94c011a70bbbb09d5728047018cfc146722c6b837949e3e878136f8d39d89fc515b692ab6560388540ea32";
+  sha512.run = "1a4a29b33270f5100109f42f4caf529d3203a6bd1a934a06fba6ed3ed082f0bbdeecfeb7ff158182c88ca7d724422c83be2d170bba78738cb7417fecb13f65da";
+  sha512.doc = "c8b42e576dc6458441703344724bb1ee8f441e79da8d59b1ccb0b6280de878ae65ac48e628f3230ee2094ee285a58636a6e37c29e4458d5f164c36cf4ec93d6c";
+  sha512.source = "1e7e5e16c982ae65aab5cdb4c83e770336dc38833f6027de701114da45c0b45a1ef21dd3096de3933401a13222438a533397661d5654acb991c0ef5d6a8c29ee";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.03";
+  version = "1.04";
 };
 textcsc = {
-  revision = 64935;
+  revision = 67193;
   stripPrefix = 0;
-  sha512.run = "461d0e22efb4a80e1e76b6d209cb0247724d9cf9471875f612d4a664875a2055da58151ab6a0a763b7d73dbdf47c63bcb9f7c3e648e1bf074dc4758a7b01b071";
-  sha512.doc = "d10191e310550a7d4f83bbbaa9413be0448d38349839b8cff46f4fc3cd1c76c0b20ef002d01a5e78919fc019f33a8069fb6fd1c53ef32c81d12d65806c55439f";
+  sha512.run = "99429871433a809febd561793ae53253812792f7ff20f154cd9c01ae3df95c19b1927e677b686b7ef19c6e66cebe2047136810ad287a67ad524d905c6ccb20a0";
+  sha512.doc = "a8b38f3c369c5603d1a696672fd8a2c7a49e1d60c011fd5d2158cb9daf37fb4ecd691d859376c55086f894a9a2769a1b8a78d6b63ea4243a27b02bb2247bfdd0";
   hasRunfiles = true;
   license = [ "lppl13c" "cc-by-sa-30" ];
-  version = "1.0.1";
+  version = "1.2.0";
 };
 textfit = {
   revision = 20591;
@@ -41538,11 +42609,11 @@ textpos = {
   version = "1.10.1";
 };
 textualicomma = {
-  revision = 48474;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "044ef3451267bcb74d3e4162d19915b1b7f2fac337af6faae7d3dcd630bc9be8484fa155a3579ad5245ce1f07578d8faada2e6a67830edb09b332714a95f2e9e";
-  sha512.doc = "6e6c380eb0169878a34d3d40fea47bc57885c7ea378ffd2d2a7e9bf26826dd922f67a02e74d6c78801cecb87b18de3ab52b7600623de39c53954ed568c57eadf";
-  sha512.source = "69f6594a039c9b367e48430927298768f816ba31a7bcc41036111963c5e9059dfbde6b771ab7dcbfddb6e40dc49b2daa1d1ae04625a31ae44b8ba340c42d3f58";
+  sha512.run = "9437756da9639dc29fad64ea7bec0b2fd4ce783065ca00fb522ece24c33b99fb2f51f82564cb382f5f39ada825353f007d14a36ce5d9d5b1cc4015b71b8cd314";
+  sha512.doc = "a1382aa53f3df15c57e391420e7f4164a3fcbc8e765cb53a87814a4fbff7e354268f8ff7e6bfb1113f269fa426aac480fb22c330f234d58492fc4f8960fa2960";
+  sha512.source = "1a42e7e80fa555dbc81c7f133c6be0ed265756f826d701c3bee5dfb7b1e2a8c94c2bcafe6421d89ae82aed2c5e1a367d6d06df7d12941325c0d0148372a9091e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.1";
@@ -41558,9 +42629,9 @@ texvc = {
   version = "1.1";
 };
 texware = {
-  revision = 62387;
-  sha512.run = "fd6b433f0774441ad8cda525f45a7ec18076b69f9c666c6b4ab13190f9140b288a2d4b838dbb8065e260d77fd2220f10b37f349805ad266a4b6b5c3041f5f5b7";
-  sha512.doc = "1699ff3feb1b0023938ccbe77856311efc40ab90d7288fe611a040e76c04f5ac38ba4cf75ca9e0d3638a017287e6abe4971a1ec450f6b74d90aea0b59909c4a8";
+  revision = 66186;
+  sha512.run = "532cf8cfb19ea5c8ed0fe6939fba0ddfaed58989a588acef18ef38c587d8485295e9d438487fd2225a0f68c12d0dd8c6263d597c2e94cbdc96ed074ddd296729";
+  sha512.doc = "c4be0bdc3490a0bee08d6a99907f7abe1145ae8f8f89dd8665cf6a8738d07c7a537c0d7e767b56a6eed3a00ea169729b4d78208aab2aa883c9fb422e4dde3383";
   hasManpages = true;
   license = [ "publicDomain" ];
 };
@@ -41569,9 +42640,9 @@ texware.binfiles = [
   "pooltype"
 ];
 texworks = {
-  revision = 54074;
-  sha512.run = "4867a2f6ca333fc42d774154179f438970d392857b0f631f58211b7174c4b56c7fe9c43cac534cac1828d3edf18069fa781d4760ca472a99b5abfe4c7a6f72c9";
-  sha512.doc = "554afc96a17b407e415d85138e4074b6f1f82ab8e918db6e4d2e2dfa44e67b0d10ac1b548ceffeadc245de28b564cc4c4c431ec9d9c92241d1f500477fc72a64";
+  revision = 65952;
+  sha512.run = "2d0f90699f7ee4fa6dfa9eca4a62c8deadd9ee8303e17603bd32d0b2cd41875e76d1cb28879139dd62e534575f1dc8e71d6ec401a65ecc333f5b4bb636ea5a67";
+  sha512.doc = "767bca3619a0f645f23b029e1d8b84fd7333bfff5df073026423e83681abb2c3e60a50f843aeecf95aaa54b29018f145a7b655e2dccae0465626e84ca00d1b99";
 };
 tfrupee = {
   revision = 20770;
@@ -41643,6 +42714,15 @@ theatre = {
   license = [ "lppl12" ];
   version = "0.1";
 };
+thematicpuzzle = {
+  revision = 69356;
+  stripPrefix = 0;
+  sha512.run = "3dc42fb8b0d1b5aa3f68af6efa29a683e4a2d7b14f9e8b79aa56cecb15356cd8a9ad6487267b2ca978363ed7e8b5988f3efbfb2136774e8c5d9be25ef65f0bd9";
+  sha512.doc = "cc3aad57de0a8f2ed5bcd46d391820a2d8d316d7fd75d5d4abb8a6532fcf05d6643aad83570413dae441d14956747265e7137b05fe5512423d8fb3c1fdff5f89";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.1";
+};
 theoremref = {
   revision = 54512;
   stripPrefix = 0;
@@ -41652,14 +42732,14 @@ theoremref = {
   license = [ "lppl13c" "gpl2" ];
 };
 thermodynamics = {
-  revision = 63188;
+  revision = 69086;
   stripPrefix = 0;
-  sha512.run = "eaff530ff327020bc067435669a84f0614fc09a9a7027451b5407a80466c488105ffa4eaf40caf8e0ff7d6beb715ee1064190e371479e319a5da6f827e21713c";
-  sha512.doc = "48100b4af357710e037426983f3ee7c7961980d284cf53fc50194de7d7e81d6ab9d2ceedd47b2521571fa1ef63c263fd828a6229246116c54f8955967641c360";
-  sha512.source = "c940d93724b127128f1824047daf5b22f17e0316f1ee0f1e0e73ffd79796cdd3588a52eb8a470fcaa8611015e7728d5da37862e888cb58904eedcc7700d8e1a1";
+  sha512.run = "0bae277827251a42a366ce85aee49d762e08025b96472f8102a54b7a9f1e74622bfa0064aeaa6dfee5248ef84977fd47389fc91049c057caf75c33930ade37ba";
+  sha512.doc = "3e2ae382e61ec8734e6cffe6c4d5efbe853a3c6748e1d8e75c2e4fa0ed6e7ada7f8a79424f49c43a753bcf6ce867b84ee353c553ba412c0386d58d2d4f5f437f";
+  sha512.source = "0ddadff5d744ca8f45bab8f471685e9afdcb494e60aa6ba0c32c8a75bce536adc6544c097e95da02457059b5bb96ed37508217577caf16c963af6e07651ae721";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.00";
+  version = "2.01";
 };
 thesis-ekf = {
   revision = 60228;
@@ -41718,14 +42798,14 @@ thmbox = {
   license = [ "lppl13c" ];
 };
 thmtools = {
-  revision = 65863;
+  revision = 67018;
   stripPrefix = 0;
-  sha512.run = "371801b9ab63eb0ce401bbb56e9b2b52cebf927e7d433d10e94c60c3649187b88957cbe05f2c9995d9bf687a6e6708f8a26f02596dbdd2759107ca61171bcd6b";
-  sha512.doc = "753143eda92a887d6217f2dd3b727e78ff7441b109e8fc99eb0a672674a4ce0e3d7a1efd10f3252c2a14ebc87a37687511589e0f91cd4bd79a8298edfc7ad299";
-  sha512.source = "1114b1aee91c98ec2fa19858cc108ec264e717b525cc86a19e985abf74eb29123c0f7d3f9a0e5bbee9984c062adeb1de95344c579e3675d6181d125b7db69bf7";
+  sha512.run = "7d150df3f868339c6bcccb2e881105d9eba11bab8cbbbf42d5a696a7496cfbb87f0ca848e5cf7a63239e563a75515b15d4acc4a72046ca9539c4597e077333be";
+  sha512.doc = "939567cab1c401d0946de706105d23add703e991bf36dc58f4e1d40fa35b5b30b37a9e32bc2d252f247da1f1db654bf3aad460dd1882389c00a8e11106270840";
+  sha512.source = "a086c028394cff2fcb5c011d2a69627ce2f9651694b8e1596ece652111e88d43c1f1e358ae4c1201ddb0166180d6dec9eb14ebec8a05469636061c224c6f39e9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "75";
+  version = "76";
 };
 threadcol = {
   revision = 28754;
@@ -41834,14 +42914,14 @@ thumby = {
   version = "0.1";
 };
 thuthesis = {
-  revision = 64628;
+  revision = 67127;
   stripPrefix = 0;
-  sha512.run = "1e3874a1b6e2e7f465244d1a7249b233ecb2d85f72a52719c6986a9a7a744563094c552718483f1508bd6cd67ca602b821f0e071427db790b43af92e6d369efe";
-  sha512.doc = "20936d1dc56b506b66f3ec35d91654637a9468a777c9830afaae97e07cd98e7df16f83ea806f2651cd374939e9cd8af57d96e0c1b5d92700d8d034be26f6ab24";
-  sha512.source = "0b6939673f935662e9337cd43349eeb575c50003b104569d119bccb58c242e6e7c134e8b6ac5b4cc08508cf948ee6001af9b675ec633a6df085acc19eab26222";
+  sha512.run = "8a70b2f51275494437fde3ef83e0f0d901b7164cf9e330d19e00ebe79bb9b4215a6cb3e7137970eb528904e35ba7bee3329f32b9fee64181f57dd09883582207";
+  sha512.doc = "fabb0e47004a0fd21f06f442d0b7eb5384242e879af7b7303a7c354d7226213df082d3c38ce24cc571d667fa2b4d978741fda5518871d727ed491a60f1f1637a";
+  sha512.source = "3f78020ca5563319ed78c851f781e1a40f16dd234207bdb2e6ddc38cff5f622ab7891c37bf7a187d927e81d9bed96686547d081156700654c23e410964894ab9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "7.3.1";
+  version = "7.4.0";
 };
 ticket = {
   revision = 42280;
@@ -41862,21 +42942,21 @@ ticollege = {
   version = "1.0";
 };
 tidyres = {
-  revision = 65789;
+  revision = 67738;
   stripPrefix = 0;
-  sha512.run = "092cc495292263e9e87eb3253d918466ab80b1d9187361a73c01bae0131848488876145747753dbf6129db129bda881968200102e16fcae5456d48f3524ccbda";
-  sha512.doc = "94a5c27d8ef9abac35f97f230964e305b24ac50ea5f30491db828f5675ad3128a8b75b423573f6c9f6d273f14b2d244b364997c5d75cf6e19772b0c995af22ed";
+  sha512.run = "6ae766645bb046c18c0ecaab4d567ed3b66800696a37e28cbc0100dd50db7d89e03b5f2bfb8073a1d819f552f81ff8ecb692889ab7e2cf28210474663d4943e4";
+  sha512.doc = "53b927e92aae7d598eef4de6035b8165665a7ed06f37a9457ff16b92eca2c075045f528c62b179923f03d790f163741f5a900b505a50baa8b299d6fb2513bd68";
   hasRunfiles = true;
   license = [ "cc-by-40" ];
-  version = "1.0.0";
+  version = "2.0.0";
 };
 tie = {
-  revision = 62387;
+  revision = 66186;
   deps = [
     "kpathsea"
   ];
-  sha512.run = "96cab708d9faec3f451302c6141655b79524d3497d9bded141235a2fcfbb27bb2d65fd096e559cc01b01f4ab28b97f5851ba9e202c313240ef1af07c4676085f";
-  sha512.doc = "519a15cde0a8b52250bdf61926ce44ea9267ff9f75f57f3ee9b390ce1aa6f7bc2a6bc2f30222d41a7606721ed28cbbd44348cb44229fba1c7126196291667917";
+  sha512.run = "ca58ca773fd1e4e786f12e1acf9b0e39afe1709c73cc7a0da4331576933c1a4aafd9eed3a0181bcb20b6087d409c73f78fc2a77d96bb75d183996593b8aadadc";
+  sha512.doc = "66e92b91bcf9b6c44d8d2af141d4980a2b0e0ee3a9dcab778eae118debe4ce4459c933cde6a5cb8cf07af8b5d5d001bc1bcafa2776ae64121ba6308a7b19b3cf";
   hasManpages = true;
   license = [ "free" ];
   version = "2.4";
@@ -41956,13 +43036,13 @@ tikz-dimline = {
   version = "1.0";
 };
 tikz-ext = {
-  revision = 64920;
+  revision = 66737;
   stripPrefix = 0;
-  sha512.run = "bdbb8a58a00c7d72abb5e469b578e8ba982e5b04e9e63881bb7e6b17e631874646c123444619e24e1c1ec713bd0ad996bc11a4940e47ae2b159092441b072389";
-  sha512.doc = "faffce06a891b5c8ce09168dbd7c9502ef76c37f2006072e5f7e488c5221c38d80f482a85e7c03f476810840118b86d25c32f8f29a2dfc530e7dfd8126f6814f";
+  sha512.run = "83094598e986b8225ba72ca5a151b8d7b475b3fe41199209e816ef9e7d7b3609e693a321a219968d38d78aafb5fe1ac6058e6860379687077abe4921497d7cb5";
+  sha512.doc = "ca2e8a322e3f3a63084d2c0b79d3491fdbdd1b6b363e66d721e691ebb73241e96ac7f4ec352588f46a49ee1b16b4ea214d145692f194f67b5ce23d12701e1eb0";
   hasRunfiles = true;
   license = [ "fdl13Only" "lppl13c" ];
-  version = "0.4.2";
+  version = "0.5.1";
 };
 tikz-feynhand = {
   revision = 51915;
@@ -42077,6 +43157,15 @@ tikz-network = {
   license = [ "gpl3Plus" ];
   version = "1.1";
 };
+tikz-nfold = {
+  revision = 67718;
+  stripPrefix = 0;
+  sha512.run = "d227be41f651a45240b3cb79f1aebea5015a06eb75c0a5aa69823731c69cad02c2f8b621de3d10d3b2a334781693f39c47f1b5b560c58ee9c5e7278258bebe5c";
+  sha512.doc = "a6684f61e230a4de3cd1e4b0da5ce17aff301cd80c434b7c9375d1e4abf3d3b6f3295979153f957b1499894e59d1fbca23e639ee76db6ff6d719df425d1da56b";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0.0";
+};
 tikz-opm = {
   revision = 32769;
   stripPrefix = 0;
@@ -42095,6 +43184,15 @@ tikz-optics = {
   license = [ "lppl13c" ];
   version = "0.2.3";
 };
+tikz-osci = {
+  revision = 68636;
+  stripPrefix = 0;
+  sha512.run = "93711a01365e992d47306bd379ebc8f72296554288c855dc1f678232e5030894a9241d195cf949133da45ac8df2de1b55244629999f0c311b55d51a2083c4693";
+  sha512.doc = "356d60c65bde0d61207df028447409827888a420300a4b27867561494917e4a45db8e6a6dbe291fd19797d64d912089bacda9fd18ff405a28ff2d6512b3b43db";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.4.0";
+};
 tikz-page = {
   revision = 42039;
   stripPrefix = 0;
@@ -42189,6 +43287,24 @@ tikz-truchet = {
   hasRunfiles = true;
   license = [ "mit" ];
 };
+tikz2d-fr = {
+  revision = 67239;
+  stripPrefix = 0;
+  sha512.run = "87cf1fd8343df4c6960e4bc004da9154f98146b57a723022e5a81db506805ebdd60db1edafc03d9d787f151cb333c1d141c5407023493bba316b8b41bc245537";
+  sha512.doc = "4951babe22ffa5985e3533970b88a8a92f626e18b34e8f7f11051db21accd2977a926fd7e668ecd018324fa62c8b539fe52c279f8ceddd5a037b76dcf03f399c";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.1";
+};
+tikz3d-fr = {
+  revision = 67774;
+  stripPrefix = 0;
+  sha512.run = "6b60280f60ee690ade367eaa10a033cb9bb8452c5b5f6413b7ca4918d521638be357e6af6f760844046c15d1171f55b71f5210946ff4a6c6453a7fc332288b85";
+  sha512.doc = "599bcf41c7de51c44c943d984bae860748324faf7981f754b44bf8125499822df505cebe2670229fd7429d5b6b0809f7c88649ad8996f8d2cac604b58c9e9522";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.2";
+};
 tikzbricks = {
   revision = 63952;
   stripPrefix = 0;
@@ -42207,23 +43323,32 @@ tikzcodeblocks = {
   license = [ "lppl13c" ];
   version = "0.13";
 };
+tikzdotncross = {
+  revision = 69382;
+  stripPrefix = 0;
+  sha512.run = "d99ba25a95558629b611e7ae2e845c9b87cc8766f468be6160115a8b26cc648e83351cf233f946f47889773907023c061faae7744e140129930db481b460889d";
+  sha512.doc = "c481b80b675bb9cef760157b7b9ea7c790dc42c75624687231b603b39f3bb9835f642e50cabf4a046df67e3698032b644cdd1495d6a9932acfa3532a66b3b031";
+  hasRunfiles = true;
+  license = [ "lppl13c" "gpl3Plus" ];
+  version = "1.1";
+};
 tikzducks = {
-  revision = 55713;
+  revision = 66773;
   stripPrefix = 0;
-  sha512.run = "2cbde264e8621c4d7d7caa9da127139ed56d819760ccde59f9b8c098c77746414cfb8119ceaeca3e2da0f361f3fcd0d9dab1898fd240c2a2c15a64021e8b86fd";
-  sha512.doc = "73dcd9d393c852673f43e97da67a1c60330cf4e95b4fadc92a634628150fd228037dc024ed2e939441abf20f8bb761241798ded814fca5b9300b5dbe4a1f1171";
+  sha512.run = "73675b3ee47740e0c54c352a9cf3349b563cd22756a33aa1f56b6282a9cb4b2da3b851705e7574d5591190bf2392f8900a477d8f93b9102d831c01b2a8650dea";
+  sha512.doc = "23fa53a7ee87b26dde5f9832c8b0b23466baaaed4be3ac361659828af6d611ee742b92531ee977fa0341ee5c3058a8ff77cf6ec1a7c3076f6ae4145328320164";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.5";
+  version = "1.6";
 };
 tikzfill = {
-  revision = 63947;
+  revision = 67847;
   stripPrefix = 0;
-  sha512.run = "f0c83eb9352dc6dd0aaf5e25ce340a5c586dfe600a620a0ff5b976f976361c35a68a71f78f675ce5f9fa61a1bc7a79f16a5813115e6f8b010fe18b0308d77ab1";
-  sha512.doc = "d1877f3e9035c27e750050367badfb4e0127706d0064c30ccf619673bdf403707e9509780a85bc6478a17b08d7bd7c84b302d863860941b85fdfcee7a7262c7c";
+  sha512.run = "4864d0859490cd07e123e1160a35fb7817c3ffcc1f409a8c61285823f655357473e0dc7ab92434b5b552cbfca3e88d9181e57cf944d2422467b466cbdcd743a0";
+  sha512.doc = "f08d351db50d0ac3d6362c223e30b97b9a734a8b19fc426d5592a17692380667172ee6793064b8c2787ee9e1eaa1a38b70a821f53a2e0dc26316ba81f0549aa2";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0.0";
+  version = "1.0.1";
 };
 tikzinclude = {
   revision = 28715;
@@ -42291,10 +43416,10 @@ tikzpagenodes = {
   version = "1.1";
 };
 tikzpeople = {
-  revision = 43978;
+  revision = 67840;
   stripPrefix = 0;
-  sha512.run = "9a7cdc232e91fc0d6e5fcc67ea8c39dd2a4b482ccb6ccfd82332151117ef5121ef49bebcd2e0266492c88b57c146eaa578d2136a23f8781f3fc5f5d07f527db7";
-  sha512.doc = "f561978adbe443659ec0890a8a38e9c9506f311d49d11fe952eacf579db0619946f86c0c6929a215fe7a98f5f02a782d1bc528359f195e09e1f388460dc0d55c";
+  sha512.run = "18621315d7bcec4bcca281b3c3410e281404fd29b0a5d2f4ad799aacb71a1c9d389db8bf1c9fc91b8cc279ec801f0cf8e31c826ded92d8476ce4ce5831754390";
+  sha512.doc = "8b8ad4cbfc03663afa6064d4a81ea9c256b8c08522e455c5660c649fb9f1de7859f368d5252b348e0521d62fa3a446b6ef9ad2d1490f7afed8f5423a99b46d3c";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.4";
@@ -42310,13 +43435,13 @@ tikzpfeile = {
   version = "1.0";
 };
 tikzpingus = {
-  revision = 64199;
+  revision = 68310;
   stripPrefix = 0;
-  sha512.run = "76955d19c6c492d07878fba272bf39572c322b5b261acf1f9bdb54cbd90130f9c09e80651270a20f7b7a2d08e20e89e11a5a5a19ef9af55cd233d3917a29b434";
-  sha512.doc = "aad57b68e88499b8303cd3709c5b44322da793c085d584713fc6ead1278b0d07e2b89d7b8d53bd79eef5efe2aff2a98b6aed4b29ddd3c6704c2f6e3a4b8929d7";
+  sha512.run = "78041352e86e68eb99f875a1c8bf7d4a50c527a4b405e4c93e9da6ecd716bbb0c5fad053fff80229723b4550345077371a52132258cb9d251c319f743767cb7f";
+  sha512.doc = "1748e17af7b3190e19a0c446e78f5b40b6a135633850d610179f33927650c8cd92babca86e4fd10408586d1fd81814cbb54985ab0fadfbfd05219b033e4323c6";
   hasRunfiles = true;
   license = [ "gpl3" ];
-  version = "1.0";
+  version = "1.1";
 };
 tikzposter = {
   revision = 32732;
@@ -42328,6 +43453,24 @@ tikzposter = {
   license = [ "lppl12" ];
   version = "2.0";
 };
+tikzquads = {
+  revision = 69409;
+  stripPrefix = 0;
+  sha512.run = "104bdb76221a25a50644dd8c9a655d5adc4e6019a11c470fe24637a51bb91ac6fb718a4949bf940199aa47f43186f874aee59e5405db45a6497e45f84e69fd9b";
+  sha512.doc = "5657179ce49163299bc91f3730dc3fcf77972597502f43822330199a20bc244649e6437a6bfb1c4e98bdbd02e30beee58b950dc73e8269b318801135025c6f1c";
+  hasRunfiles = true;
+  license = [ "lppl13c" "free" ];
+  version = "1.0";
+};
+tikzquests = {
+  revision = 69388;
+  stripPrefix = 0;
+  sha512.run = "616098fcc9f7867458edd525fc71d83786080b1f4ead9a007083d8347add52499b2fdf2c969213e06d43ffc59e9eb4d17bd7872404f1481138229c4f15c1aec9";
+  sha512.doc = "433c1202106723c397b383edc37ecff762ce7910b4adf2e70a5ea2d2c823cac2f96147227eeffc71bcc2658b18ce875c780f91d8997f40ab823ab09eb1d84354";
+  hasRunfiles = true;
+  license = [ "lppl13c" "gpl3Plus" ];
+  version = "1.1";
+};
 tikzscale = {
   revision = 30637;
   stripPrefix = 0;
@@ -42361,13 +43504,13 @@ tikztosvg.binfiles = [
   "tikztosvg"
 ];
 tikzviolinplots = {
-  revision = 65687;
+  revision = 66659;
   stripPrefix = 0;
-  sha512.run = "f77d790c2f2c7df0d60f181430d06e731186d87de12b941c9e3db3e75a94844737d1ea2e7af676c4be7af752abc16e25ed2ffa8afcca67e7b61ad7d57c7378f8";
-  sha512.doc = "686ccad0fe4a07003eb0c73a18a7858c2489a203abab33fe4a51b285a6f887be01893c1c6247c773432371fa70fd4517acb1900d98105006351fe0840126dba8";
+  sha512.run = "00fde57102ed13eafb247859de00c62829ce60de361794afb9103e501033140baf9b474fa147b7282727f7294a0b337897985460526f573532d90117d5f8e552";
+  sha512.doc = "5c7cd0990935fb05fa418ace90299532e3dea64e74789dafdff6aa9306e417a3fb170a2b5068045fe5069a08c4ccd97bf4c98ebf5f2102a2c9ca2564090ee52e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.7.1";
+  version = "0.7.2";
 };
 tile-graphic = {
   revision = 55325;
@@ -42378,6 +43521,16 @@ tile-graphic = {
   hasRunfiles = true;
   license = [ "lppl12" ];
 };
+tilings = {
+  revision = 67292;
+  stripPrefix = 0;
+  sha512.run = "f0164d69df56b1b981aec352326eacdf0f79366852bba6eb010a3842c338c678f1f38d3a5b1043ac4ff681595cc4a14a127a40b383f7d5388d9c52776352ac13";
+  sha512.doc = "13ac6a6e02a39420f0ed5e74d3f242561de4cd1e410fd6845e82b893c63d2becbf21064a676be29eed0c4b38251a78da55f43164eb2acccfb9f8d94fc72d6462";
+  sha512.source = "d6ff1a0f7453df40b7873a5b64a6d449990a3f8459901a3aaa41a5977fa0049a6203bf1cc4802b3d7383d6c68b55abed99c13ff5c5e7ffef4dcfae0e36ed43d9";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "2.0";
+};
 timbreicmc = {
   revision = 49740;
   stripPrefix = 0;
@@ -42411,10 +43564,10 @@ timing-diagrams = {
   license = [ "lppl13c" ];
 };
 tinos = {
-  revision = 64504;
+  revision = 68950;
   stripPrefix = 0;
-  sha512.run = "4aa3fe0b958c38be33dc639343a14f6a6eb7f2ebe96d99c73a5294859bfb8d8b8e8f7b9e0a2fb10f7a5403a62d0422a180d798f4de40bdc2db883c683afbc4e8";
-  sha512.doc = "68e7832d1774fd05eff79d2fb578c2d70a8f471f74f0772e81fd351fef493c22d37edcf8c1bca9c25a81830f88261ddc33d102f056f78ca0cceec51db98bed33";
+  sha512.run = "0212c5d1d87d1c73c66926a7bf06b2b62a0be51b3a03daec2086a15a4facd80e175ba3f4e23f486e181fb6d3910b77f7d26c28a8f76a9802b5112b010efccc2a";
+  sha512.doc = "e7f6fa5253e729b602c1bde603e568d5cdcb953e2a4f1e478c52959d25f58f7678cd107466d7a99b459af70250076c5f16224e4ee549998356c1b1957aaa60cd";
   hasRunfiles = true;
   license = [ "asl20" "lppl13c" ];
 };
@@ -42504,13 +43657,13 @@ titleref = {
   version = "3.1";
 };
 titlesec = {
-  revision = 59845;
+  revision = 68677;
   stripPrefix = 0;
-  sha512.run = "50af3f379bedf55c3c53809dfa5dfa8fa4ed072e232dde83f4a257b12d7b4bf06f041eb6891b95fd0efdf9420a5d252cb9688c28b91161036eee7f45516a8b86";
-  sha512.doc = "04ca9fb221b3c0c83ef5c3728b9a40eb46a4899b83837c90017c5436468c02740dfb861abb42e9987dabf63858730f4accbf060c67ee8954ed7481f334443798";
+  sha512.run = "b738823380d594dcef104e3b7fa05d9df233385ddbadf6fc6bb45e8346311f5f58f5f605dcb4b6541f88b57a27b73236eb77a1d128430c6ede675625e2ec051a";
+  sha512.doc = "b29c7b4dbeaee946e404166a4b1f4848ecffc4cc238534cf0c7248b1964146893125a9f5f8f87d6c2ea21c1e61304454bf7eb57d95842397363b88d438636363";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "2.14";
+  version = "2.16";
 };
 titling = {
   revision = 15878;
@@ -42523,10 +43676,10 @@ titling = {
   version = "2.1d";
 };
 tkz-base = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "d2829abda926573af15d318274f8d495479d251a1b93947325bcce9d07e80ae7a42e89c450a67e7205ef392349041bb1e3a7119045e7b4941fbc3a23420e11a3";
-  sha512.doc = "06fa91e06ebf9a244af61d2c02eaaa3a8db072e7485f5bb06ae1be980402eeae9d492c8d52ee5a3a37f6248e38136c393445eadec1693e93fd36d69d93007c35";
+  sha512.run = "1bcee5c2d6ce967369dbd6fc7c55a69793410c2d1a4de6c66c79071a360c3a0889c014eaab27ac73c771424c0d0655cabe62f9e2514dc13de418c336ea09ef80";
+  sha512.doc = "3c2f7a584b1580c4fe15a5945b45a912960bff6c25ad637be8a43ee82b752949e1228008179d7a311b6961b1d0d4aa08fc44daa02696d2fdcc51777512db80c7";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "4.2c";
@@ -42540,22 +43693,41 @@ tkz-berge = {
   license = [ "lppl13c" ];
   version = "2.0";
 };
+tkz-bernoulli = {
+  revision = 68780;
+  stripPrefix = 0;
+  sha512.run = "0824d03ce5cca5be08cd648ac3629094eb4607681601b5d75a56069df687054b5e88c3645367c0728de8f7cf43971b32286eff4b18dd094c620ce37e6c957880";
+  sha512.doc = "ea1d787fc049cf42605d6adf107892aa4afdcceb32c874382453836d30b956e1599e2b9286a0e64b823d55005bf8ae2e81259d881b69172f6af5db4e01aab581";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.3";
+};
 tkz-doc = {
-  revision = 66119;
+  revision = 68665;
   stripPrefix = 0;
-  sha512.run = "4acfe795b7f75417520795676596dabd9fb423b2a369e4150946cdeb6e0a9dfb1cb440a5cb5b7a9551ec6fd80dd1d900811ba571ac227abf0c1334de39c1e043";
-  sha512.doc = "c88b01d19f5ed2a24ebb56c1e7530f046fc0bc429cf792b2a8cf64984473acc2d574c5956ec6f0e1ccb534957b2b7f83c872b67c6001acf570b9ead3cc13f77e";
+  sha512.run = "ba4c220f4a53089f8e6cde73cbdd7e1b8eb68f4828217dd5dbd3360086bb946fbfc30a993c678bb8c6e4987579016f610875fb2edc796fd19968c3940a0f4402";
+  sha512.doc = "f4e798620ecafd750332e5ae7b3491eebc72c02ecad00e9a67247ed0eba56a537d8ea139bafa6bd9bb1c908dbcf0e13491d2c208805cce1f18db438e8da38a71";
+  hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.45c";
 };
+tkz-elements = {
+  revision = 69213;
+  stripPrefix = 0;
+  sha512.run = "66380dcbb489c8afd4f916024baf3008975543424a391e0449f261f9fdb66118f9dd4bc8ad988a4f48ed2a770daca48fdb98243456025d545736e61e2b42aed3";
+  sha512.doc = "4f6630df37eb9192cd2b9d0f0b4f687762e39b83ac6b4249e86defe945093ead57dcad5414a0ae1edceca75eef7f8be706b3b626dd4557b2377354d8717bea1b";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.72c";
+};
 tkz-euclide = {
-  revision = 65724;
+  revision = 68747;
   stripPrefix = 0;
-  sha512.run = "1abfcf9212823d7b739822a91a62bda260b6aa0d0293c6f67978796ef25e45c218743a1743388e2ae33ac7c7b9215ba9ac9cfcd7295a9a697f078842149f66bf";
-  sha512.doc = "75b121c2634200e580339ee2266d6b6931c34d4217dfdbb146ecbdca8a4625c95348df8d4cdcfbdc69cc838cc0763e50a080f0945d714a42e8a8bf2caaf1976e";
+  sha512.run = "14e39eb45f188f8563b8c49b16cceffe62117ac3cb17d484d1722122b6f3ca927b35ed0dc15cf0650d877f584eaf05f6473dcd8ca83f4766f5d421a07eced464";
+  sha512.doc = "ba09b1cbb47c65ab74119c7e52fc4d08c3174ddfebe0cae6c3b0ad9954d40e78bb57a219acb12584cc67616d51d70212de284a4f30286ecdfc3bd70c4ef9bf8b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "5.02c";
+  version = "5.04c";
 };
 tkz-fct = {
   revision = 61949;
@@ -42585,10 +43757,10 @@ tkz-orm = {
   version = "0.1.4";
 };
 tkz-tab = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "f2471d8fa3864bbae6cf39abc2ea289af637f3f4d5307d718c0e26d8a66de8edcdbc0d4fc5a21e3fefe2be453f4b30333f64dc0b21a13c52782aebc7a8b40164";
-  sha512.doc = "8e574876591d2648aa90d39ed78d4f5b122593ae5fb18ef5437650a582e8c04ae39f8ae81d85b09d7e5840a171ba6884c4eab2ee539049a92258d5887d08299d";
+  sha512.run = "cfd37929060d7213d2294708a38a0ba9df8847b0539ae105ec99b4171083877714dbb19ba2ad5d89bd3ad474573f51e263f42b8bf9866cf010e30bf481f75861";
+  sha512.doc = "6356829dfaa331e2e0af9edd044168e07bb8608c28ff386001cd06288da0a1517f7b1dc4bea31e1b06d0715620a4bac80a138bc1228a3ab15f88fa706a9c4b18";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "2.12c";
@@ -42649,16 +43821,16 @@ tlmgr-intro-zh-cn = {
   license = [ "gpl3Plus" ];
 };
 tlmgrbasics = {
-  revision = 60588;
+  revision = 68999;
   stripPrefix = 0;
-  sha512.run = "5b20d1fb4c6493f0da80f529832c3f45d70ee37bf970ffa1fa3ee56d7ba344b5e22b71c304eecc21d5b0040280d66382057891b39a3541c9ca08bce0ee779277";
-  sha512.doc = "1af96e3a29ad685781c0ba03583f3091f2c6e1c0225456beda207f9f212f75c93c03c76f1b5ac401fbdc2e6cf9a6077193d6f59a37dc791e63d7c505ce5c47aa";
+  sha512.run = "53f7cc8c2a39ea21a8c5eeb57ae7f99759b364ff7f1b41e2f4599d464ce17920746b8a8e182a044faf0621fa3dc842e14cbe93652d351d9fe8e1fde8a7682daa";
+  sha512.doc = "ee69a90ccf9b83396b0d9fdd5f030e673d00b2c372334378ad450089b40b93de8b596ed5bc8a459253689316a7219080b88248c1f65a475980ec270a6c84c8ea";
   license = [ "gpl2Plus" ];
 };
 tlshell = {
-  revision = 62795;
-  sha512.run = "285fffbc63ac1b87b1ad143d043ace7ed1f52f48c4e03a9fc78c9ff6adeb2062af0ce9b5245b77349528ca18c0fe6ee8ad44b794adb24ae62f00e4a18501d7c7";
-  sha512.doc = "73962fa94f7ca3a78b6149a44b72c39096fb54263660ccb6c0bcc024023dfef665c5132b9cb78953c92ec8b7d161581294e32b0ab26c9e0e2e9eadc16aa9ff72";
+  revision = 66771;
+  sha512.run = "b514f1c41c464300eeff261dc46004963e9ae6133dee084c39d8d7354510f37c3ebd8481daa377e057b48cf805ca87e7f247abe103c3a6404294b4b308361b69";
+  sha512.doc = "a4e686c57454adbbead87afc078720e294bd865dc5f77905e0f8e183efe83fcd2f0057336aac17ba6bc91eccf785bf1b3b47959359fc3ea49069bceae3d21d6f";
   hasRunfiles = true;
   hasTlpkg = true;
   scriptExts = [
@@ -42693,14 +43865,14 @@ tocbibind = {
   version = "1.5k";
 };
 tocdata = {
-  revision = 65451;
+  revision = 69402;
   stripPrefix = 0;
-  sha512.run = "7a8cc901e669e552cb3ece2f60add154c15443cd875eede2c54b90e89ef9c97149aea4e9b9134ba1606aa5ce7ef24941f4850023222e7d0d97f59e8d7f583da3";
-  sha512.doc = "6ee4234813c1d4730fd0e8041b1182b9e570ea986a33dec32a786a6fb88fe2cd99b31163dabb154202d1831fea372ac4fa76d0774f322300930f88edcfd12ab5";
-  sha512.source = "9408c8f9f951b4bb39f00a51ea73e5c5f5bc379837ccb9794e64a72bbc3ced295b50fda2a082af1aee69f53c6d2a0550dbf55a1cb8171a8d5bb399eed35871b0";
+  sha512.run = "17bc7e29a5f4d03374b19254c0967634de212ee47e0f00be9c3a8dd9a9a7694a8cf14b9da318e8337a5be00f420810ee27a115c7deb8f97e1a02ba98fd3b654a";
+  sha512.doc = "816da5a5017dc7372d40a29b45f0279629553e8399e62ce3da4871e9597017e00c8a4c39928462d5d5f168963d930247081f483e9685028cbfabae9f74098541";
+  sha512.source = "9d8767d2fc97ce25cd6c540abe83a1b1eba920f16cef02c9451bae34168812456d8b52a38ac7bc88d484b2a02d2cea774f9def03eb3e82bdd9411df0b4421670";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.05";
+  version = "2.06";
 };
 tocloft = {
   revision = 53364;
@@ -42733,7 +43905,7 @@ todo = {
   version = "2.142";
 };
 todonotes = {
-  revision = 65699;
+  revision = 69319;
   stripPrefix = 0;
   deps = [
     "pgf"
@@ -42741,12 +43913,12 @@ todonotes = {
     "xcolor"
     "xkeyval"
   ];
-  sha512.run = "c3430bf32562d19a9a9fcfacf5f61d10bdaa7cc00d6fc271338b9a962bb16ad372290c401da9b8428dc0528ba185f38d94e1a07cf096f34b3d835b4474729252";
-  sha512.doc = "030972617d7a381c497ea074fb817e3f8d5ec4831579ee5ae632331a139a288a4d124ff2a98b563b78dbf79ad088773def2aa15a81435569a8f512682b358141";
-  sha512.source = "d63d3d5aaf3751fd7ed2a8c9f09fc10ff34753896ea8f3301acabfd038e84d06fd436e2665a2428beda20c77d385202df184fc39e7cf7eba5364d6d588abe1c7";
+  sha512.run = "6dbe5b58d44d900b7beceaf265fc0ab227e3f4a56a1f8c1ff4f186df0657a3fe0f674bd60411516e54d90627ec41ffa38d4bcda7f5dcc69632892ac2f0caf96b";
+  sha512.doc = "e5a8937624df00f9aa487d43a449c7ff6181219c4dca0ee559b0a10c6fcdf83eec55f9afec7d43721bde0f60c0e8e3eeba55d85627be3af5d20fb9ea45592c30";
+  sha512.source = "2ed0f6f85b777e49fb17df84ec97a7b4bb01000de19a578d28f5bdea038a13f360598f3e53b66d20a1584d483297e55df9b1be91ed016cadcc1e8eb9c00179ec";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1.6";
+  version = "1.1.7";
 };
 tokcycle = {
   revision = 60320;
@@ -42786,13 +43958,14 @@ toolbox = {
   version = "5.1";
 };
 tools = {
-  revision = 64892;
+  revision = 68941;
   stripPrefix = 0;
-  sha512.run = "f82eb761a74b85924fa51fee338e3c911545e4f96ef2ee78a236f5c10d6d566184b40bf46d2924650cc57ab4e3df94cff1e78ea1d196bd280dd2191b4ead01c5";
-  sha512.doc = "c47db012171f64b2b8554a00397b7fe0b5d262510fecd3171ef1525eb2f1a2113c24b85458e3762d6f908a0617414bcb07eb5cbc14108c8be84c6b5f90ed3ea9";
-  sha512.source = "952c2fa3d0fdd06d784c9b577cb311d7910b807b8a8126915844baf582d2c7eaea6a984db7648d9d66ad104fe47ed96f88a80bc5a6c1b9d1e6dec07ae3a0abe6";
+  sha512.run = "6da3f34edda1c3839737f6ce0db95a899af8c47fe9901a502dbc6a6c95ae9fbe317c7365d6cebe3a20bdce8af0e37b803480f8489de57ccc6daac8a758a5c9d9";
+  sha512.doc = "614a64b6d5f25c4fd691d629f70f1fc0f614aa4ac1a1a5a6e06f6ab0edcc0a8e8cd14c2cce498aa75ef3320e493c7ef69cd6ac858505519e10b8414b9cbb13ca";
+  sha512.source = "2bd6ea620d71ae1e5fab48f5b361560e290a2633668b03a36259228b0cf8f9eb5acecee705c66052dab306288c1defd46a366548f7aa66cf04e802bc40122caf";
   hasRunfiles = true;
   license = [ "lppl13c" ];
+  version = "2023-11-01c";
 };
 topfloat = {
   revision = 19084;
@@ -42832,11 +44005,11 @@ toptesi = {
   version = "6.4.06";
 };
 totalcount = {
-  revision = 56214;
+  revision = 67201;
   stripPrefix = 0;
-  sha512.run = "77d12ae2b41ccc54e88338c47cd8071bcbbb130901cd383a8ab976147c510c52c437e722939882aad859d1bc58f52b7a698033a695ce10551f86874dcd58d425";
-  sha512.doc = "1be9ee133e33a859d9dfc91102dfc4511211eee462a0eb9ab2b5610a342d949cff0a883656afa8a1ff0c0d7088a94391c2f5c60894644f3985b9e916ef9df221";
-  sha512.source = "bb5d5a15c2ce9cf51fc777808ecf0e551a10b1b709786d45cc25276eb787b44a54ebb217c122b170d01f72a393bf5343173d3d94e5e46194e758141e436c2f1f";
+  sha512.run = "71523dddd67c44f4ef53c14833d4ea3f70603cc76f0495e5533e68eec99b1006796796b39deb40f6b36dd9ed03102ad859a7032bc6dd65137fd19c23c4027a07";
+  sha512.doc = "2fb61446efe5fb3ca8c80099d19ecb7a281ea2ebfa756778e4bba8060e9331fd1b712b7b77c66ddbd3a5b60451d6007130803b6138f1eba466a5f210c1d3322d";
+  sha512.source = "be9fc65fdcc7999279b5e4c5b495fd7fbab4606fe9f6dc96a5683ef0af41ac8f4fd8c3f5d2470224304a1bc974a6a9b40a7c017049507a7b6ad8db15d2dd2724";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.0a";
@@ -43104,6 +44277,15 @@ trivfloat = {
   license = [ "lppl13c" ];
   version = "1.3b";
 };
+trivialpursuit = {
+  revision = 68971;
+  stripPrefix = 0;
+  sha512.run = "62cc07c80aab3b4c35bbc5ec96d97204241b0e83248147b2875382657ccfe035567455bf8c689798b4c0dfe6bb8688da2ef9d4a89388521817dd09454867202d";
+  sha512.doc = "59474350e6626440d5a5e4f5782135182c6c5e497a3fa6436264a6774ecf498f719b7469a69539766c5e0b10a13ad659e00bc5fec854d0e961032ea7ed13af71";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.1";
+};
 trsym = {
   revision = 18732;
   stripPrefix = 0;
@@ -43124,13 +44306,13 @@ truncate = {
   version = "3.6";
 };
 truthtable = {
-  revision = 60717;
+  revision = 68300;
   stripPrefix = 0;
-  sha512.run = "3ab6a30d6c964a810cb27cc13b314fd9b8b881427a8a1e8dc047038669e9480bbd258ce5380eab648d07669b948feafb420a16e3d599f227c3e7422e4173020b";
-  sha512.doc = "3333d8ac206900fdbb4aef6777a5ad840a9d9b0b43c62871b24683c41d58b78b36b97062fc9fc4d84e71a7f6728d0fa6320bd38e1f7de4aa660bc6e7b79156c5";
+  sha512.run = "1f8ddc2aa2c8672c876794eae7266f8a4a02382ed61eb00af972a2adc732fdcba89a7a7579f07d755eb4ab742018240ea69fa214ff0393b53b9c77ba0179b0bc";
+  sha512.doc = "462a23fecb4c1f4a793200aa45d42bd325fad9abf9ea6481fd2c9d3f3993de657cbb7651c7ac1f4aca6d97626c751bc6d66285b8b3e9c06bdd216fbb5dfb9033";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.0.2";
+  version = "0.1.0";
 };
 tsemlines = {
   revision = 23440;
@@ -43150,9 +44332,9 @@ tsvtemplate = {
   version = "2022-1.0";
 };
 ttfutils = {
-  revision = 62517;
-  sha512.run = "63686a2f8b014fca1c40ef36d9a95b443addd7b99e8151115ec99a8117188643970d9a8889983ad84f50d4d70cf7a4716947c3cc5b07fd55ff0ef53a97a273a2";
-  sha512.doc = "7a6417bdd98ca495914f7cd3c61162e9cc505aa700060a3de9098610d27d4b5a812fe333d9c8ecab6316d8c4b51d1e63d78327ff3fb7bf9d51344bd5fd030814";
+  revision = 66186;
+  sha512.run = "2e4eba2acd3b97297d2629ad93fdac4587afdfff30584ff77f69574efde4172ce60b904100c70d168016e8cb5c6407f4b4ef5ed7b3c83f942b7477af2f101be7";
+  sha512.doc = "bac6812f37f1d53184a4944e91b06c4ecd6a03d96d78956781c4b01c38ec3b65b74032704d98a4951f8dd5ad84ff54d82891c12e7db99ac58e687e535758decc";
   hasManpages = true;
   hasRunfiles = true;
 };
@@ -43173,13 +44355,13 @@ tucv = {
   version = "1.0";
 };
 tuda-ci = {
-  revision = 65254;
+  revision = 69351;
   stripPrefix = 0;
-  sha512.run = "7fc5ac0e12ee84e996bfbef010ffaeac2fa84ba3a29c121ca9ac835373577c2849555a38cb42e22f4829538be855ea2d2dcd3ec8f4d6201ce53fb7fe32f76d9b";
-  sha512.doc = "115a723003e094601698093217fbb2ed0b710d44667e6dba694f5510bcbdc441deac5cf909b3862e5b163d50349f17ca7571704c43d01838e9ffa2686b781a5a";
+  sha512.run = "d5a2887147c21caa4c3fa2d8f421a7e759998faa36ab2933b40f7ff43768677f982f5b730c593245c55d09dabdff7bfbc51e5765af897821c525c5510d513bba";
+  sha512.doc = "c4a61e1ed259abea0d77fff546ba79eec85d0b5ec63422c8181ba5cae806b4180103361d3ed0eec3035279a13fe6e45166f6832a5de5a801e3b1564fba27be92";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.29";
+  version = "3.36";
 };
 tudscr = {
   revision = 64085;
@@ -43226,23 +44408,23 @@ tufte-latex = {
   version = "3.5.2";
 };
 tugboat = {
-  revision = 66516;
+  revision = 68694;
   stripPrefix = 0;
-  sha512.run = "be0b4af6a00b52f62d513188cbf8e8bc090a9caca2410fc713b2a4b244f078b82a09cba477adde391e988b53de3c8a66f75f3131d9c4e0395ce98dcfe4322b90";
-  sha512.doc = "bc5e7086372d752978d47f66cb486d27f531116c38b7b08c926aa314325d7abb8905cfae50d487a5acd822f4e7601b4258ba8c3d500a1e7530e3befd1ae89dbd";
-  sha512.source = "5aa5fe0d70603c337ae0395191f13354a8d932b10a763bf8d0909321a2fad6a26bf3775823feda74e0198c27496ad90fb9998201055bbef9ff1ecfa8d5dec155";
+  sha512.run = "23c3ba2e45560d22a55c4eea733fbfc55466503631eb02c61527f0a73a595790ffe8c8143df2327af61ad8c23848309065fa69abcf181f584f64d03f437228de";
+  sha512.doc = "d0482d7fe4ea30d21f43a9266c8ab4b85da66fbfabcf405ba8aee229c0081b623f1cb5862fd7e057d4080439275aa08212079bfed06f992553c4b0dec3a96798";
+  sha512.source = "fec6b9556d9a945a3e9ccf73d0d043d099883d4c5c01c0d4a06e50b7900414c37fc62ec586e43526ee4c9e711c558b1601dc46248f2a97180bb75ebd79decbd1";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.29";
+  version = "2.31";
 };
 tugboat-plain = {
-  revision = 63386;
+  revision = 68695;
   stripPrefix = 0;
-  sha512.run = "e3c5542cb31b446e5361a298cb47c94b45b73dba8e0d6dfb0d967a6f01b7eb599230eb9cc15606ae338920819be72ad94749bcacfcdeebe1aa6663762221aa0a";
-  sha512.doc = "ba4f7c26c08f49819df2103c9980108e2a662faa486aeb42d2b60739b385671757f1a0c242b9d18eff92af3c65b8f2f8c03ce1b70d1820f7676a57616b64ec2c";
+  sha512.run = "e30aecd365721f9c986b70eedd022bde17ffcf348452d650144792bed0854f18547d837d0b3731cd0810d5f6f32f10778b1adf3b29eb07a8ed4d0765dd88cf61";
+  sha512.doc = "c49683e2cef04b15c39dd275f950d602be8ecbc2e6fd644634a60100257f2367a623d06086558a69c469fb3597fd32e0a2ccee4ce9e90791daa8f8e67e1122f3";
   hasRunfiles = true;
   license = [ "free" ];
-  version = "1.27";
+  version = "1.29";
 };
 tui = {
   revision = 27253;
@@ -43299,6 +44481,15 @@ turnthepage = {
   license = [ "lppl13c" ];
   version = "1.3a";
 };
+tutodoc = {
+  revision = 69343;
+  stripPrefix = 0;
+  sha512.run = "acd6fc6114ab1c25259485514b54d848b75cb5f45dc05cdb8324a91b127031c0db8c84c445b0e1b429dc1a5ca0a6a394987465363265c0f830ea60e72c6ab7de";
+  sha512.doc = "8f58c8eaa4db17315d69088b9cb446b90504fe62395fcb07495742695f2c8e8215ab76596d4d98cad3c432f3e6079a2ec3088074345d0ace4d309db3163ce405";
+  hasRunfiles = true;
+  license = [ "gpl3" ];
+  version = "1.1.0";
+};
 twemoji-colr = {
   revision = 64854;
   stripPrefix = 0;
@@ -43412,12 +44603,15 @@ typehtml = {
   license = [ "lppl13c" ];
 };
 typeoutfileinfo = {
-  revision = 29349;
-  sha512.run = "b30d2618c8cdbf69fcb8a5444922185a52b934448b5d28ba143948cf80ed17cb402d73d1162194df3d2992a52ca9e6faca79000644eef968c4eba892c415b6bd";
-  sha512.doc = "143c4ad9cb3890b6350069d5d045f74c0bb0cfbe50e7d051c50c82011b56e651d483c1422d7d553a8d1d1784ae726a1ca1aead023fc3ccb1da4f0d59d47f7920";
+  revision = 67526;
+  deps = [
+    "fileinfo"
+  ];
+  sha512.run = "6f448ade3e08de1512064cdefbc1811f97f0a32141dc6123788bbd1147fe3d5c3f8709f6316c0268529017e611cf455d1488a8565a128c4c45d1de0ee9311ede";
+  sha512.doc = "d8c8e568d87a0107789db201875f2116df08a2c3dc9bf235951d5b675a8b1d01ab8b2170301581f18cfed4fec98e8d63fe127999f0273c9c59da163e72debeb8";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.31";
+  version = "0.32";
 };
 typeoutfileinfo.binfiles = [
   "typeoutfileinfo"
@@ -43487,14 +44681,14 @@ uafthesis = {
   version = "12.12";
 };
 uantwerpendocs = {
-  revision = 64165;
+  revision = 66819;
   stripPrefix = 0;
-  sha512.run = "af84032bd824c25b3246fe9dd92c5f059e91d1a631132c80a266516350a965aaf374c0a623e4cf9bfa20e65e9fe6d40a8450e5f872c515e95a6cd06b69f16ea3";
-  sha512.doc = "80afab05d2b18e1def918d712fafdde62d18d9ee2645fb49a7ebacffd204edce19fe0deccfc4d09dbb576b2456c180184e1b7e576c9f2af0fffff476c6e69a10";
-  sha512.source = "44083b34902ddff336673b4c5ce17938b0f3de645c847b9be64e46fba8be8783debba81250a451ed9aabf204ed448b58317d25b2bbcd83d2a7e83a172a0c6507";
+  sha512.run = "88163f9a28d8027e1e223e551f1fb053751f849822727fde7e595423e6f10c67e2d389f515aeaec77a68a48d7b20600cf9cf3ae7adb02e72f45e4d6df48c2049";
+  sha512.doc = "68dfb896b3b189ac38362a8826fb925c8e1af493029d04bf584a1a6e57c8e501689fad7b63c96fbec69d2aeb69965ff1cc7b544bf35161a6d90c4a54bc486438";
+  sha512.source = "9efadf4bc9c217dbad28b57845ef9bc18bdae2e5b48887d1c6c3763a3867083138eaa0a693de0c407fb798e150b0737041789bef915216fd124351c1ee6b3b99";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "4.4";
+  version = "4.5";
 };
 uassign = {
   revision = 38459;
@@ -43506,10 +44700,10 @@ uassign = {
   version = "1.01";
 };
 ucalgmthesis = {
-  revision = 52527;
+  revision = 66602;
   stripPrefix = 0;
-  sha512.run = "79fe22cc61ca71e472b2ecd173230b518f97b66fd411430b57dc341394961999b0cb4dc7e122d6abc828e5ecc5e15f60e0b0ce785131cbf4942a49ddb8b5190d";
-  sha512.doc = "458ad22537a6152ff782725328e98b68f1fe68ebcb2764ae1598bca8b659c8e67ffcb0c889890c7254dba84301ea3a066a5e92bac814027f62ce6910cb5f5b9b";
+  sha512.run = "b836c6cd59559d6858b6ae98e04c8ac9734f8c9df34c103e6076911db5db6430d0b253c29414a63073216f2ec8e02ffafd69ea97750fa886859b9da1ca2cc07f";
+  sha512.doc = "acd371ab0e495a664d37f5da31cfaa9d31edda71b2542afe9b4ece6e4845da19e16d4b84d64b0418b49696d080fc019e521874527ecc0aa8559f2c2341c80cec";
   hasRunfiles = true;
   license = [ "mit" ];
 };
@@ -43551,15 +44745,25 @@ ucharclasses = {
   license = [ "publicDomain" ];
   version = "2.6";
 };
+ucph-revy = {
+  revision = 68224;
+  stripPrefix = 0;
+  sha512.run = "9b8cd59c35a8e94b04de4490fcf3637b75a4f858383d0d8ca263346f08d10a7ae8dfa2bbf0d5800329e1a90c40110a7767d6af6d2b24b4f94854a78bcc77aa15";
+  sha512.doc = "18319c8a2137d7d2642dab7f9569b6073ab3ae1657c51c840a16821297539ad38fc283efdc98349bacacfbaf6f674b4c4a3d56317757af74de89511747f852ed";
+  sha512.source = "1da208bbfe27b5b1ff7aaab0e808ecf65709913ac1636596261e6421237c5584eb4028accd27d9efee18045fb3be1176044cea3b0dbb083927dad55543a8de7a";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0.0";
+};
 ucs = {
-  revision = 64114;
+  revision = 68759;
   stripPrefix = 0;
-  sha512.run = "440156f8c6d1f43524225c99adc58b63f383e2d28dd2a79af0d881545d96debf3f3eadaa0682c5f3de12cabee109912ae699c5d3f9d5e48bc4a43b14b210288e";
-  sha512.doc = "23eb57ebc1bf27d6406d883caf8ab060d4d4c7e8caeb982781f7cdd719d50aed316a2c72f01934a8f0e16a6ccf6df62598038743a026ac1f46f4be731b020c2f";
-  sha512.source = "0431c552de865e50fcbcf19d147a99c125fef807a0e462c31a9a1055afde3ea4894cb29658d473257ffe9ba5d8ef692d37b0021514f49c218417d531160f24d0";
+  sha512.run = "9adaa0a3fef64436b56d3e4e1c504b74c18dd795db15d193df0e0ced419490ab462cc61850d3bea6cde7928ddcd85cb872130d1dc9776aaf3bcd8f12cf144832";
+  sha512.doc = "95dede76d97d0dce6cdaeb0acd128e89c2e98383e633925b40433c0d4e0e342fc3df94603f17370fb56b88c40effb99eacc4310e4de4231232a2be6892adbe87";
+  sha512.source = "e2f0406d59b69bac26363cabe90364aa61513e3c20da1fb414ca683e830cdbc79410fbf9f9b36e60d467c989d03e942efa2b9905dcb2339bfae9267e49cbd00b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.3";
+  version = "2.4";
 };
 ucsmonograph = {
   revision = 52698;
@@ -43581,14 +44785,14 @@ ucthesis = {
   version = "3.2";
 };
 udes-genie-these = {
-  revision = 65039;
+  revision = 68141;
   stripPrefix = 0;
-  sha512.run = "bdf71b8e6bbb678e7cdb99a58ab76b9dd2dfebe21764dc19429c9ffd51101c0a633ee3b39099d4bc00f4658f8462844804df53cef01598f92360a1dbd00c6aa8";
-  sha512.doc = "b4f1ffe3a5be0bf1da45235d17c95fe60c1f48e9c80989f527ee987b5bd2edbfa825b676c281feade4bfccb1cfdd706fad438b2124fadf62856815273c330c4c";
-  sha512.source = "04e7e7593831e2d93be682dd8e20f3245281f8fedf04ab2eb4a7771a5d2a4e277358deaa48981bba6478bc2dc6ed25ce14f9a627dbd9002ef4f43ef41bbba336";
+  sha512.run = "01422998b27a84f3b892114fe468bd57ecfe37dfda68ff84f2cb95fc9ba589d74fa4874bb35419403269685c74607e647d98b1b443d8739c5b4c3335820f690b";
+  sha512.doc = "c962a955f1d618232196eab7c87b301dbf725f8ab08156ed98d4819ba3be5a6873b81dd7deae65c0a36eced5e42be6415b78b06c5fe945b4d4492e98487bb91b";
+  sha512.source = "77a91a01bc6e61de8d08048cd4d04ba6e6f2b2c082e14ea4100728bec3229f096089069188a523d3d213c3bc00d27065fb5949b622869fe419226705e357d802";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.0.1";
+  version = "3.1.0";
 };
 udesoftec = {
   revision = 57866;
@@ -43619,13 +44823,13 @@ uestcthesis = {
   version = "1.1.0";
 };
 ufrgscca = {
-  revision = 65661;
+  revision = 69042;
   stripPrefix = 0;
-  sha512.run = "a3e59608e4db63d9329dea8d1bd3dc7f934752abab97fb3d2eb717de2d039c2df5c5564b35e3311497b97c42621ddb988a323bf18718b71e6a42eece28f5f6cc";
-  sha512.doc = "b02e19ce8e275537a8aa59d8f5f66fb467b2aefde325279f0e05c0c19d5f6cf51089cc76f2c0b6bf8990ab4584a27393eb086bb738b305f96dac5c4a54a0130f";
+  sha512.run = "ae9f69feebcd487305cbd94661af5262d32e98f6d65dbfa8b5a2760b93fcd482aca13b7193cdb93d3f518b8e3e3ebe31275af53d34e38d4b944ee36588d2cebe";
+  sha512.doc = "71dc771856ad8f31a8a69845128ae0bcc9fb7c21252e728d7f8914f2040d5550c397da8a5e7d5c2cfcc5c8a7f65328dc5ded3036f4dc786d4802ab61c1c2063c";
   hasRunfiles = true;
   license = [ "lppl13c" "gpl1Only" ];
-  version = "1.0.8";
+  version = "2.3";
 };
 uhc = {
   revision = 16791;
@@ -43675,13 +44879,13 @@ uiucthesis = {
   version = "2.25";
 };
 ukbill = {
-  revision = 65485;
+  revision = 69362;
   stripPrefix = 0;
-  sha512.run = "54b8ce31488903e75012baf77c7fbcf3bce777794123c3274e4eae890606991ae5de875acde85def4c3757ed54f78beb6ad1d3b331704371cd0ff5198dd91ccd";
-  sha512.doc = "7ff4421360231f084977382b06677a3e103db4123fc001f7c63e16ed5e40289630312e331c5628ec8a714b9cf5ad53207dfbe2b363bb9fb3e1610d007c1ca800";
+  sha512.run = "45a1b6be9d4dbe7a9cf47ff7cf07cd280069203eb9e3a5297e699e84bdffaf845c92a32136ba7e2f61db613a32dec6d37af3eed1a8dd52fdc652af207ef16d23";
+  sha512.doc = "ad3076413ae87035b82d913c3772642aef429c7cc0efd7718f3838a5c7dae52e3954d0566c23c57f2f25d51ee9904dc8dc78b3d8a70bbe6554ce0c74d8703862";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0.2";
+  version = "1.2.1";
 };
 ukrhyph = {
   revision = 21081;
@@ -43796,10 +45000,10 @@ unam-thesis = {
   version = "0.5";
 };
 unamth-template = {
-  revision = 33625;
+  revision = 68681;
   stripPrefix = 0;
-  sha512.run = "b8d1d3bf42c11c967d9e3889e52e2c9a45aa3e0bf4ac6b6e5a72d69e1bccc2b254954a6828a66ec794dc7126f54d26ba48e3c11efb913d04e50f4867d348d3b1";
-  sha512.doc = "eed527d21e7d8669e0a02fd5e880e9172dcc2ca8a1e499b079d1d8f3935b7e84a4c84763b0204bb3b90a9df493bbbba6ee90fefcde6b4975c1360ae119264f61";
+  sha512.run = "c6b6d86dacb71575a7f76e33eac081f630b81815e3501ff5ba5a5e056d5bab76c709b19b8843adca39330fb644cc49e70c8687b5a66d0dc636caa74af6c3bf5e";
+  sha512.doc = "e7e17ba71d47769db4766628d334ed66980d7f133ec0bf2bf21d7a00e92d661dfa624def736891c5d70f11755215bff47b8cc9ffaded3baebbaf52e0365227e4";
   license = [ "gpl3" ];
   version = "2.0";
 };
@@ -43813,13 +45017,13 @@ unamthesis = {
   version = "2.1";
 };
 unbtex = {
-  revision = 64634;
+  revision = 69307;
   stripPrefix = 0;
-  sha512.run = "156376638cfaeb2b73d576d83ec48aecb12083981e7916db7ea9cea19edbd1f62c1a4e7b15c60c35930737f317b47b321a551625a083481e12c5da11f50b7774";
-  sha512.doc = "6e8ff704903c4c397a9fa36fdd8272166482430cd519e6b538692da29af54cc2f2e8f9cd283278a394b578c782323ca3d902a01d24c6fc713206c7d70ee54fde";
+  sha512.run = "dcc212b6a524f9634a686a78f2ec6d3cf357afe966378adc6010be11597912015f5b22388656068476b4de0f24e7fdfeab78003f43570890028654a937be0af0";
+  sha512.doc = "84df2e08d77cad569a4256b615e739996580acf12c7e3c62a0789ee553a84ac0dedf983a77e7d2b96e26b9dd96c0c43940c1c0644babd945770c74f54e4a9923";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.2";
+  version = "1.4.4";
 };
 undergradmath = {
   revision = 57286;
@@ -43882,14 +45086,14 @@ unfonts-extra = {
   license = [ "gpl2" ];
 };
 uni-titlepage = {
-  revision = 64306;
+  revision = 68917;
   stripPrefix = 0;
-  sha512.run = "b1d374a39e3a46bad0ae1e9f0c47ac0853edb388d9026175340172484f6abc15babbe852e1656986160dff7262c8275b48ff042c3a4c014821117d2787ab6cda";
-  sha512.doc = "6aace438f49fc5e2414e6ed4f452302116d439d18ad6b6de11a1919f98e25e7892315db832031f44418f62a89537913ed73b10f8333b7d7c872d8bbc18dfe9aa";
-  sha512.source = "d5b84ea0f7013f419d3d3ba696b55b083eb06faf3adba6ece76a38649b9456ff7c9fda0a7ee5c3e3885f16732199c9dedd88dbfa89b3f443edd20a0f6cb92dfb";
+  sha512.run = "980f748d37b5b4a3118b1f34db2957b71cdb7551595cf7673e64d75b70688e882b90bd83132ad43bfdbbbb2bfa2752fc2028f3164fb9ee5e9565b84740b303eb";
+  sha512.doc = "1198414d70aac8b31e23c73bd167586be5bf2f2745ad492fe516381a1e202e9e0720a389fc8c12eec2a21747f7e5c85fd754243b09dd5a008b2dcfa9a7257e57";
+  sha512.source = "3eb42ea4fc401d4a55362f66c96db5295fb6ee66cfd840786ea5aa640c9f2b92bb5718f614d832d7e84427af20334be407ab59e155d135212a00769bbbd50038";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.1a";
+  version = "1.2";
 };
 uni-wtal-ger = {
   revision = 31541;
@@ -43910,10 +45114,10 @@ uni-wtal-lin = {
   version = "0.2";
 };
 unicode-alphabets = {
-  revision = 66230;
+  revision = 66225;
   stripPrefix = 0;
-  sha512.run = "fb211aa65464c8dba87864ab440e28ad5ec862a9172102447f865da4aa5d1cc814a2389c9a0a8ead45f44162df9f7e03551fa5f5c6a4ef58cde60c58cd996a6e";
-  sha512.doc = "99dedd786aeb570a3d62d52e5655c7577904ba9404682b5a575398bfe89bf6cb41e751a0272d73437984b21919bd6eedd0f33aec271ecfd76151709975673851";
+  sha512.run = "5a4b043778811bfec1ecc847ee191dc64b3f99ae0adb8fda2b16fdfddabf195133d53acf295fb18dd70460e1c1d200d3e6889815edabcdd0bca9d007d7a309f1";
+  sha512.doc = "ded2197bb621622c7f9947ce736814a6acb63ce86bd866792a8fe8e1f22a8131ee12c785a81c764ab707e5bf1b2c99df73c1214ff71159e3c9fdd34ee7aef7cb";
   hasRunfiles = true;
   license = [ "cc-by-sa-40" ];
 };
@@ -43927,37 +45131,50 @@ unicode-bidi = {
   version = "0.01";
 };
 unicode-data = {
-  revision = 64423;
+  revision = 68311;
   stripPrefix = 0;
-  sha512.run = "64309fd507c7705b2ad0b78ef3b5c17c2891ffce3d9de34d4fe8380a61f80542dead54984293caec516f815de69b2d89e0bee930d979a87af6a187693e2c87b5";
-  sha512.doc = "1219c454df7b3645b97a5fe6621c9666b3784297f26e0ff63696ddf7835f326b4a189a6a890b2416f12f29fd4b40de295c042a8d9b326cb7e22152b7b8f6ab79";
+  sha512.run = "9e74ad2fd167a913e004aa77c705f0f8b3ab3d8e717384ee150db076660bda4e2651bea97292ef9e747d4e2519d9ffaa113947dd5241f830c3e4d653ee061d71";
+  sha512.doc = "a8e147ba4d30bf80e1c1bdfba67bb3a0ff9f765c5d41734aca1708adb58c5c357a17401383faab827477fc837ac1dbbdcb55ee0b3146acc737c094d6984709d4";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.16";
+  version = "1.17";
 };
 unicode-math = {
-  revision = 61719;
+  revision = 67919;
   stripPrefix = 0;
   deps = [
     "fontspec"
     "lm-math"
   ];
-  sha512.run = "05dd4b08e8e766c2c8e719a12aa5a28259bc429fb1f1d05850e865ef258ab5e1372a785a2787098ea50bb31c852727ba8269ca656ce55ee0a7355fe4fd7344cc";
-  sha512.doc = "c8d05fe09c6ed76f29978eff8b7688d8989865f6517f06a58acb899603265e499db5d962895b5b3a0b6bf8d235f29da88f76a3b7b35778953878d02f2910b524";
-  sha512.source = "b1f21cf06c5ece08e75575cb2e23f7e9815c0670cdb2af0026c1037556e646e81c2103740bcb14e95375cf88b3a665afa3b24a4fd6c33f416c36f588649de79f";
+  sha512.run = "181168b0560a67c98fc9df214f0bd37bd1314b2400622d2aa3eac6659db42aabd24ab724845190cba46fd9d53b7b1440c016a0c6fab49561c3d795fefc41550f";
+  sha512.doc = "deffa8e0656c9e543e61228e4cba9a9cb31e137f6517e552f8b6243d14273b580b69e617c0473eb57a884972abfd07cd8cd9b4b836ffa1858aa1bf433375e954";
+  sha512.source = "c221366b66e3f83910aca83dd8bd97591cca5e4a22244af77c87c2a8e161294ac7f3e89d2bd7cdbfd8236df93e60ee99c9e8e9fa2c20060938b96d93f1664ebe";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.8q";
+  version = "0.8r";
+};
+unicode-math-input = {
+  revision = 67089;
+  stripPrefix = 0;
+  deps = [
+    "iftex"
+    "l3packages"
+  ];
+  sha512.run = "94b91d68c4745c1773ba5d3888b2f16f8ea353d3b8041af4fb842e17b4f82c982ff7a0cb92bd59764268e550b3599c8963a2d13cc32b495f855a131879d2ae5e";
+  sha512.doc = "a93a8517f460bee1b10a9a9619f5232f41015d0695425da1dd447880b422273135bc2a287e3f988ddcec82c1b77c2d2d1848a3fae82f2ec6115f655ca667b873";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.0.0";
 };
 unicodefonttable = {
-  revision = 65009;
+  revision = 67066;
   stripPrefix = 0;
-  sha512.run = "9f876d1cb307627ec5b06d94fc4dd3c6bc2ddaf4850f4edb2cc81a133bbdd7eb09c0e553aab1aef57b551a84773379509899f628d77317087763f4a8f507596d";
-  sha512.doc = "894fca56085ae53abd8b0f782b42ec075e0320e39a9c8590bbeb04cd36a3a9d8abf03c0e2d6d1250a96c734ccece9cdb0df76e5d6acb390a444a02a77c777ca8";
-  sha512.source = "83fabd401ad7a6228368e1f8bee1e6bb3be56732cd1b614a0f1344a9a47595a60018c4051196e4149c831668d877e593a8a19ae996905013788b3f1f56b6f83f";
+  sha512.run = "aa387053dd18c6927256690dba7e5c47a586466624f4dd36aef20b5cfbd9e1c5190ac4c5e45b5fc7325fbdb9db1fe30c42b4b9bdeeebcc6ad404d27ea36d1b37";
+  sha512.doc = "8cbfcedf459f9fdd970658ab7a462c1389e1502425816804c44bba79a4be05fbc2a6feb6769a0c693e208f2ee0ff0765c29dd7eac9afe7a5a11d1e43d636910d";
+  sha512.source = "189a69754a90457b5e99a099e65a4e62c4dc613597de7d4fc3818609a301f6da056fd88e6a6cabe4df8c1e18c0441a35dfb87d24ce9142f7fdb5e639d89c8ac8";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0g";
+  version = "1.0h";
 };
 unifith = {
   revision = 60698;
@@ -43968,6 +45185,15 @@ unifith = {
   license = [ "lppl13c" ];
   version = "1.6";
 };
+unifront = {
+  revision = 67054;
+  stripPrefix = 0;
+  sha512.run = "da1d02f97f5893d6f51b833e9919979e489ebef273922a01d0f5d48ed86ba9c401c11d5641da82f55be782dd215537159bc2c689309d3a4f730b93f2b739e74d";
+  sha512.doc = "f66a3062ccf5d1bbe11e88cabcf7bf907487993cd83bcdc9bbed927a9f0c7fe06d9975ae5006441b7b71969c436a0faa0fc8808af35ba0d381d1dbecbfe921ae";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0";
+};
 unigrazpub = {
   revision = 64797;
   stripPrefix = 0;
@@ -43979,10 +45205,10 @@ unigrazpub = {
   version = "1.00";
 };
 unimath-plain-xetex = {
-  revision = 66397;
+  revision = 66394;
   stripPrefix = 0;
-  sha512.run = "2e44ecbcb30cdfc77e4d69b6416f556305700da50c459f17794020ae413d8bdbaaadc367bc4f1c39e4776d2cd2ce6663a699627102471ef5be5da17f10d839ad";
-  sha512.doc = "c30fbd082f8bd6bbc7e3fbdef8d20eecb73a0a3ae55aa48f8bcec635d84f90827f4a8f3be027d2c810b030bca067af66758f5bdcbec2229a3f4421822c8713ed";
+  sha512.run = "cca8482cad022f39faf3b0b0cdf20a7d209acf5041642bac0103a3dbd1dc832a61a17c442845752317515764ab3beefd6dfcabda8c3d03cdcb8471fdd3bff4fd";
+  sha512.doc = "a9138d1b80d8d5db0f00682f213518df3a40e19b3e6f36a01e62ab020efbb9c468da282393cc43a515a39dd9ffb399801607e3ac59800dd7fef73f3007b137f5";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "0.2b";
@@ -44081,13 +45307,13 @@ universalis = {
   license = [ "gpl2Plus" "lppl13c" ];
 };
 univie-ling = {
-  revision = 65651;
+  revision = 66728;
   stripPrefix = 0;
-  sha512.run = "179200352c593096ac82a3711b01d622b1ae06b0756f14861e1280aa6e59b5d2dbe5a834e6bdb5601f212a57aa2bf37309044acee88380264b53d0c65bd21269";
-  sha512.doc = "aeeb0a42e787c6d00843f89d4d26af6c410f6167e10c6f132fdd7e859c8dec25f94407870e2e917a7dc7b9ec175e15fc190ad5892d602b248f4be50b1d833a82";
+  sha512.run = "5ba91b2cdb6001a42426b77284aa68b82575997ffe1c5c62afedffd6a74710dc0e4af25df1cb4025a8ffc619376333b318a8be828490d45c7b55126e4c7848eb";
+  sha512.doc = "bd576c575776ae2467f146f2cb344c97db797babce5c06a7785449010187a6ce8217b082ae84e0d045b543a4f3ba204f207d8c4ee61b7115f2b484ed4f237e6e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.3";
+  version = "2.4";
 };
 unizgklasa = {
   revision = 51647;
@@ -44099,20 +45325,20 @@ unizgklasa = {
   version = "1.0";
 };
 unravel = {
-  revision = 59175;
+  revision = 69308;
   stripPrefix = 0;
-  sha512.run = "26ff88b32e91fd872dc0286001b58a7084b38e5497125793ccb90e60e58ad19a78b780162d505aa0be9bf07e9656bc60414a55a0d6419e8d9b33d8c0e8e53d9e";
-  sha512.doc = "206f3d794ba1323f9a6fd8fbed98190e376a91e5babc94aec236c46be783b0b01d80fe45394a1e73e2e29c5b19279d28430b9350e1f216369c4be707ebf6dd7c";
-  sha512.source = "ad9ebde05f2194043d75d25faa249f786e154312b4c3d6688ce766cba4092ee157a405ef1eec5654b1b6852b5bf2f994c77ddd78d284c573a07539403bc69e92";
+  sha512.run = "36afdd36eac84c2421e745b4f21dd1f00e357769df37482fbdd697b7dc27904234e89dfe7c3c61313307522c7c06264290c4e805651024390af7700379f71ae4";
+  sha512.doc = "05f27d954122d3225e43412518e3c76be1c9ff4a93f9d27c06dd57bb2f42974608960f931ebf1e8f82dfc717c51f82bcff4b34a480aaa5d0fa90504d6c7a4130";
+  sha512.source = "25047c5229041ed87e062c277603be51687b1b29296a83c87f514a6630bc89f42979059251de8f8c1cd1b01c95f0dda23926097fafa1e6863a98c46e0edce874";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.3a";
+  version = "0.3c";
 };
 unswcover = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "f7e41b1d8728e081d6864b0a902d7229ebe0f826a602003549f8140dfd9a4e110dca4f3f2e74b8843441a67931fc7b0a3da927ac26e483a77cf1ae7ae1fb43b8";
-  sha512.doc = "32e0db18af54bf09defda012f0b43e97d8ee93fb2ed4184dcf7f8ade14bad31fb17dbd3b22d5696e0ef76165b59bac9a37dee7cbab846b28339156b081c65f58";
+  sha512.run = "4080e5cb6621c3f265245540b22ae026e9c29c37739f7ae955a90ec107199bd2b52b9e2301330a630f535c05004ef762cf058b70ea5d44f65844790156379322";
+  sha512.doc = "e3b10ddf23708fa8ea68a8d5d11152812a1832f4c8d87e03a697b81f69b94167d1ac8c70824d7434fdd022f4dc10bd823fa3c177a4f0a282cd60ec166ced6420";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.0";
@@ -44163,8 +45389,17 @@ upca = {
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
+updatemarks = {
+  revision = 68163;
+  stripPrefix = 0;
+  sha512.run = "9718a99c7a6775d80f485839d71933c788fc18c8b4d9caa78c9ebcc159f02ae53a87ba1479fdf231938220eaad9006b817eb0c72c9016599f61008e314f72b39";
+  sha512.doc = "76e504743dc8b68bb7749952fe63b7ac4a0b32f36a3c4b85b5391bfaeef1c9d4045f681e2a7b50786da1a7807126277ccc61657bc4dc2caa9893d858ba71b4e4";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.2b";
+};
 uplatex = {
-  revision = 65305;
+  revision = 66186;
   deps = [
     "atbegshi"
     "atveryend"
@@ -44202,10 +45437,10 @@ uplatex = {
       fmttriggers = [ "atbegshi" "atveryend" "babel" "cm" "everyshi" "firstaid" "hyphen-base" "l3backend" "l3kernel" "l3packages" "latex" "latex-fonts" "tex-ini-files" "unicode-data" "uptex-fonts" "platex" "l3kernel" "latex-base-dev" "latex-firstaid-dev" ];
     }
   ];
-  sha512.run = "aa49098049ae86a286ccd14a3a25060104ade1ecfa1f31d44c36398dc1d9130e78ee2f3dfbda067c5cda54275a5ace7fdfa66ff8a4e30ab2cfef32c52d4c8781";
-  sha512.doc = "373eaf7028b4528b1e7d1be399d0bc05b477fdb8a429f845d0bc7d767bbc7ff6a991174c8eff0e346a5b4c0a3dbee24b633df97656dcc1a1c5e5f80487f73a64";
+  sha512.run = "920d770f36992085250b38bf8d58c59fab7ac8d121ad171612b99ec7f91369f9f31c24ba5e5402552e2fe073a3913b529fd013be1a70eb37913a9731caf69895";
+  sha512.doc = "8024c2dfa393ddadffd5c35a27542d3f27a030464306087ffc28d65c2e0c704e56143f4f449f1d59ca1f19f007389256a4a23c2f2405855a5aeeeb11bd4b3802";
   hasManpages = true;
-  sha512.source = "bcc1d990342f27296c842a0cc1e35e1f456e7d70f44ac3db691939675ee787f48e87ce03e0a0625d69524c7e47e0893ff2b1eb678a9b74a63bb3d644cb8bb172";
+  sha512.source = "7fe21c87bcdcfc7ba7221a51c59eafd17a767aff04a1f267682167962f2a75a34e12af5b035319b6e413ef1037533f2bc07e7b7d21cda63355ef4185844d51e4";
   hasRunfiles = true;
   license = [ "bsd3" ];
 };
@@ -44213,6 +45448,17 @@ uplatex.binfiles = [
   "uplatex"
   "uplatex-dev"
 ];
+upmendex = {
+  revision = 66381;
+  sha512.run = "947d733e5b96ee6a621e9686357b8c3f8638c0bc482f4efaac87a72117160f81ad7aa0d34088e61e67982b345b56ec478ef3b6a49865ffb3d5512a7bf18d2b8e";
+  sha512.doc = "ec4d1670ff84680fcab88e29ca5f4306f44450ccca9cba06282ad34bd026f74b46d166724a06a313957ca8d798b0c296e848bb248ad416597a99afb16b4b5a0c";
+  hasManpages = true;
+  license = [ "bsd3" ];
+  version = "1.07";
+};
+upmendex.binfiles = [
+  "upmendex"
+];
 upmethodology = {
   revision = 64613;
   stripPrefix = 0;
@@ -44242,7 +45488,7 @@ upquote = {
   version = "1.3";
 };
 uptex = {
-  revision = 62464;
+  revision = 66381;
   deps = [
     "cm"
     "etex"
@@ -44263,29 +45509,29 @@ uptex = {
     }
     {
       name = "uptex";
-      engine = "uptex";
+      engine = "euptex";
       options = "uptex.ini";
       fmttriggers = [ "cm" "hyphen-base" "knuth-lib" "plain" "uptex-base" "uptex-fonts" ];
     }
   ];
-  sha512.run = "9255b1ec06d2b1e214dda666b5f37df20ce98095a3726e2e114082cd0ebb13f9f4e0d46b8cfd28da528a6ab68896fd62a0593e02b5072e6c3196937b098bd626";
-  sha512.doc = "2a9d880635afb3c848893c371d3aca7796e6aafb11949047a21e9f0df73d06b69d3cc84cfe28438f0424722b41b795be913e79cc01b16dacd5370ec5d1e9ac5b";
+  sha512.run = "fea7d0156a1f8b8a66fc061d454c1318fe98e6c1a3c618fd9e31fda4246c7a55684df6e01b986d0c296a7a9458c3489af0e4bb2142341a95e5279da97668b4a1";
+  sha512.doc = "edd326824f93b2e893ac9bc7b6f498178427477138c2e068a3cffddfef5ac658cfad2671454caa6c222bf165a2d4a16964fa67eed86c01342d119053f31a3fa3";
   hasManpages = true;
   license = [ "free" ];
 };
 uptex-base = {
-  revision = 65802;
+  revision = 68298;
   stripPrefix = 0;
-  sha512.run = "30a8e0cb5eb3721e4bd5b8e3f04ca40a1aa9eaec442b77c9d8c06d2cfac01d63a1f44a785e93f1ad7b0af45008a112e6cac070406d78494f7970dc85db096977";
-  sha512.doc = "87b22290d4cad4fdc34a7315930535a4b3dfd92725ff76407fb1e679c70443cb5ef2273f37e5d7e4674142f9d482e1c2284dea976c7246eff9233a2e3b4c5fea";
+  sha512.run = "793b51b536fe43860fa096d590bb64cc079f089effaead0d97262d1476442fb6212d30fba092a207797fd6508bfa24c3c3ab448ce4d531700fd8cfb08e4e8c24";
+  sha512.doc = "93332d9861526dba5c338bd14a20cb7e6e95aa6666417aa92dfa99200ea735d8ee0b61d8da1eb09c758b9b179f613c51a725abc997275905b3a832580302df51";
   hasRunfiles = true;
   license = [ "bsd3" ];
 };
 uptex-fonts = {
-  revision = 65657;
+  revision = 68297;
   stripPrefix = 0;
-  sha512.run = "c5afc2563064da4f84ce962ab09966a4907bef73d776fa8c2851b7fff7de2bdcf0616c88dc75310e41c163ec9ce03fa737d87ae65cce41116f63a89be07c9033";
-  sha512.doc = "7ed628337cba71518e3319c7c427f0eb6f825a3173d29ce217d48e8d49e5ddae41ac2aff43da9563f326341b650ef05e4c1f779b76e2203aec5b282cb4e30309";
+  sha512.run = "1802a5ff347ee4b9eabb93e4da5881a19b9861e3144009839d7779f61bf362dfa5be2a37b42b64041af7083ac756aaf788ad9a69cb4ba97887b21e78f6a794bf";
+  sha512.doc = "5cfc4bbb9ba533d38bc52e5274c0cc42bca2a2cf6c3ddb623eb4f48c9a49275b2a6959311935fd3e1ca32ce775da6bf0c531542a49c31039c438000d1d15c8ab";
   hasRunfiles = true;
   license = [ "bsd3" ];
 };
@@ -44295,7 +45541,6 @@ uptex.binfiles = [
   "upbibtex"
   "updvitomp"
   "updvitype"
-  "upmendex"
   "upmpost"
   "uppltotf"
   "uptex"
@@ -44451,13 +45696,13 @@ utopia = {
   license = [ "free" ];
 };
 uvaletter = {
-  revision = 66335;
+  revision = 66712;
   stripPrefix = 0;
-  sha512.run = "81cdfd20ebfca553098a9b7cee7fe726bd3bc77ee61624d199a094e7876155a9ef9e9284e543c1adffd092e9618babab5ae896b2f56d8e2864808b5dca0776fe";
-  sha512.doc = "c07988a7466c3dc96c51412ffca508bbacf392824ae87002e618a9b1de0a79497e11bb6c604a9e73762bcf5be8ffafafeb49c09655c4ae9f35a58deb0db6669a";
+  sha512.run = "df759bb1a8acc3a770d9c4f2753c7968ec2a4bcdb2f8d68cd97e25e36a1a72e4ff5d16da3ce69059679eecb10d5de56464297159c7d3b0b8e16684b5cb97108d";
+  sha512.doc = "d5e076da3feb4904b0af7b6be1db59c2454784f5d9679f6f6cbde3cabde6b70b075d83126313f5938dd9d153344986a6e8b574e540b39c4fba82d513e2d61b61";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "1.1.0";
+  version = "1.1.1";
 };
 uwa-colours = {
   revision = 60443;
@@ -44614,13 +45859,22 @@ vdmlisting = {
   license = [ "lppl13c" ];
   version = "1.1";
 };
+vectorlogos = {
+  revision = 69010;
+  stripPrefix = 0;
+  sha512.run = "cf9232e47bd3deacea13e858f4b85b45000d09f1df7fdc09bd84ed2f30de669b5d79d048a97d9aed05ccbe4ab65977becdae35b1bcbb2bb5efd2c874d7d71d22";
+  sha512.doc = "21725294c097268bf0403c9cd7cfca5a8e9541cd6829ab65c561ed4ce6e111943000e0bae54aac328262524bd19ba75e90979660948631103b4a97e4ca63930e";
+  hasRunfiles = true;
+  license = [ "lppl13c" "cc-by-30" "cc-by-40" "free" ];
+  version = "0.1.2";
+};
 velthuis = {
-  revision = 55475;
+  revision = 66186;
   deps = [
     "xetex-devanagari"
   ];
-  sha512.run = "451023c09755f3aa884128a6ddd5e70a6820724de66f8923deea812a8e28c337676de95aa98a06a96013502fa24e9855b24977603c675820b1d5a0a056fe4cab";
-  sha512.doc = "e17270b0e427e3ff02b1d43e578815ec37c0046a20ceb898a357041f9184044162077d9fc64f66d955d774637a8d2ec59d31b624dd743113c972d0854075df10";
+  sha512.run = "b7901813517790a92a921b1202c39a058d53a4159634cae79960ec7ce2da08acb757b307b5066ab1251e4b460234fd9dd98c2e404c05fc6384c656472302e3ec";
+  sha512.doc = "06a9330410b55052759e18efa8720ef65f0f3dc8a2f15d3c0a0c8f70edaf8de65eeef8ec10a9a376b4b285b1c8f619278f68e9a2bd7ba1622da72b6ff488f8f7";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "gpl1Only" ];
@@ -44667,13 +45921,13 @@ verbasef = {
   version = "1.1";
 };
 verbatimbox = {
-  revision = 33197;
+  revision = 67865;
   stripPrefix = 0;
-  sha512.run = "dc686ec1e86c877a6f1467f4935f2337aedfaec32bdf867985ef05405569572c72d3593e75580c72a7bb3ee698798813094eabf738b3157194517839fbe47de5";
-  sha512.doc = "9f8fa05294b68fb0994f01e36b468d341b76aa97bde983c7eab781c92c8bfd898033235a328a1fa858dee457f515d6640f780b330600418f2a7eb0fb45f0ef3f";
+  sha512.run = "a2520d96ed713f3e82135395c7437f1bdce04f539ca924feb1468af6a9afb9a2707edba554f073175bf01d279576d7f3b96cd8a69ff7cd6b82f6fd9dde537f3e";
+  sha512.doc = "c9c4a8a720a9dd1381a128480312ee416e6332d7bb4cd6f59c3f3c13f2c4ba5e9445f5659ff4b64cb40059fb117ce79b27b62c07b70a81ad7e3fe987f7dbbc41";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.13";
+  version = "3.2";
 };
 verbatimcopy = {
   revision = 15878;
@@ -44713,14 +45967,24 @@ verifica = {
   version = "1.3";
 };
 verifiche = {
-  revision = 64425;
+  revision = 68023;
   stripPrefix = 0;
-  sha512.run = "f37ab28892be08ae312c66c9b70b6392f401b61dd25527f10931e02db82879a1a7c26ca060652cdbfe48522abd760bdb80b1d9ac535e59871c0aa7575ef24277";
-  sha512.doc = "4767f56a36f7ef86ffa8f02934c460bb56543698090f7f411e529a44b99819d350f2012af18fd647886551a00f066bbcd252851f30b319e041546145edce71b3";
-  sha512.source = "5e6c88b4f73463df19ca48b189f2334035b82a7a32cdb73831377d525d9db373b1dcdd7bee5e96ba0a12a4f1bb211f7208f87571505269c60f346284ef19e45b";
+  sha512.run = "7a2804f2a963bff59bf4f566595c6b89adf8534ad7511542643f752eed2183ab3dc377ff70eed60a48b615a9f159a73d352ab2e138f7d589e9163a8328fa673a";
+  sha512.doc = "79c13fb6dff619f75b78433b628b4a75c171baa8859ae8e58444f1c57316abbda24cdfda4172a0b639b136366c4e6d6fc5ad5199b4cf86c89214e82dabde4cf2";
+  sha512.source = "7cacc48cfd6a9fb94f94a7950e3dea065b37dff2dfee6cfda29950e2baedb0ab2c4736f186facb3b23e37e406d505d4128ef6b24421ff0ccfecd89c1b7ee08ab";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "6.0";
+  version = "7.0";
+};
+verifycommand = {
+  revision = 69389;
+  stripPrefix = 0;
+  sha512.run = "c977f40e851a47dbb329e96df9ac528aa9a2419bbcf34470af1110751365e219aefb36c6d630022b8d57949ea904e12dbb560329c526b3e35bd101c1032e38ff";
+  sha512.doc = "69431fb242574e7ee11200904483eaa1a52f5c621d5c7c6511649a80c71d06a5527dfaefb90a74929b81b0cb2559ac136e1f6fe7321689a296a040f6362e35f2";
+  sha512.source = "8ef472771c5719e2473702f1a871ceb3512bcf557427e31a5c508701a72e813e6390fee4758f5cd059e27040c55fc5e9a9e094911d82c10d57351d26f851efae";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.00";
 };
 verse = {
   revision = 34017;
@@ -44751,14 +46015,14 @@ versions = {
   version = "0.55";
 };
 versonotes = {
-  revision = 55777;
+  revision = 69249;
   stripPrefix = 0;
-  sha512.run = "adda8d14021b5dd1fabad9348b0a9c1e6a1c0c77030afdf304a014883e19600e07ba64b4224319470b418d2822ccc08413dde791801f3f21da34b0d08c21cde2";
-  sha512.doc = "bb2dcb4163ca05501a73b45f2dad0d8e410525805612ce6fd1033fa4773c6e1213edbcc51e541b66545becef2a160c8b403ed6a54c882421ef11293fe222b639";
-  sha512.source = "ba566ae4827fc08f2403657f869ac3581c1f00daf70b4859775d0fe1c550212d98a4f78e3ecb0d74a5c298ef054b22c9ebd0bde410ccd241d6b863caa364d6fe";
+  sha512.run = "c430ad5138ec17c4a5a12bb42149bf260b582f2a8b3c9fcb15356c3ed87073b68063df1ce8d821c456c0ed0e154137a2e3ed54b83b49a859a08dc1134dc6b559";
+  sha512.doc = "3e4047566d0eb6ade7e78dc0ace0f540b56a6bcb157f613f6af0f7fe5c8ff9e47e526d68ec11b94f9e7ef3bce8fbbd26fc8c3ea115b2d1454e750ce7e15641ff";
+  sha512.source = "f986404efc03af8b3a58f07aefdcc678e0f4b37ce25f8772e145e08bacb1ebf330361d56bbe5710611d09b01d31b82e9c736c1a7419a0dc56f0fce3a5c797136";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.4";
+  version = "0.5";
 };
 vertbars = {
   revision = 49429;
@@ -44796,10 +46060,10 @@ visualfaq = {
   license = [ "lppl13c" ];
 };
 visualfaq-fr = {
-  revision = 61420;
+  revision = 67718;
   stripPrefix = 0;
-  sha512.run = "ed7bcfc871d3ff533d954a74bd0212a72349fe0317258edfae79941e7f7cfd47e13de24acfbf524bccddcc66f6e75e9491b25339d26d513cf8170853e1e7ebd4";
-  sha512.doc = "2cc2f861a505f4a705ebb03481c00ba6ecf394041e0fcd2a12bc3c96d2a3ae875fd3ac3e236c03c15e2646228945c036647031a0d95377a2373cf9086e5ec888";
+  sha512.run = "06a9f22c86f54883ce55b23ba81315e53afed4f7ed2b77d13a8958bc18e5a96cae849a327126843865b6ecd55d7153cf261ab784625b9a848e7dc661df95fbb8";
+  sha512.doc = "8d18a3712c42eb7921d6e0e7d29ac96c4718386643bf967b3c428fe5846830dbaca382822ae3d23523dda2e4c7d5f0d96c137412c2302f5e634471d83fdc4547";
   license = [ "lppl13c" ];
 };
 visualpstricks = {
@@ -44819,9 +46083,9 @@ visualtikz = {
   version = "0.65";
 };
 vlna = {
-  revision = 54074;
-  sha512.run = "ce37751f6cbd088e8faffb0c2ddb6d8bec9c0d1f0fa3a4ab0a3e5f2517e6f54fb6903f441cf72398284801c9b9f00d684d6a6555e2588ae72679050734fff8c9";
-  sha512.doc = "f46c2e29da8f4edbe544d41b05ac3ba13cb5e3c09d299ce5ccb85207703c99569df94640c651a1afbcafcaf4669bb73157945f8dfc1d2b43ce5c0c7970c35544";
+  revision = 66186;
+  sha512.run = "6c66717442bca3306e23f5d546e17929240ce9626a562b9e56512446998996d38f83f78fbb39e46bde0b9faf0db7eb0c0218c79e1d66711d6cd3c64a8778edec";
+  sha512.doc = "921d76535cbe7e940617355c74b82acfc61edb840db8ed9cae1aaf987fe6b83245505048c7c550d59829b204f139ae1cfd44601435e2fff2b0d5230b45a27b77";
   hasManpages = true;
 };
 vlna.binfiles = [
@@ -44940,23 +46204,23 @@ wallpaper = {
   version = "1.10";
 };
 wargame = {
-  revision = 64797;
+  revision = 66713;
   stripPrefix = 0;
-  sha512.run = "b06a6c8099942833cf1df089a6f2dbbfa8416a6f3bf74ea5d5411c098f1256261eb9101f95d1a61937552fe5141ed7462e774e1ed9876b2c03330a92162b4c21";
-  sha512.doc = "c75c95bc543167b74466eab3b0f9a030165bca914757a5c281ea44a4cf32d1eafa61f2e6d53e811d81dbdac36942f923fc8fd82e77e718b230cfa1a430bf77c3";
-  sha512.source = "16e6ef9e59d0469a037a14833e234ed46cf3e693d5f3468bde9519585f2e0ca659aa66717f5a07f506ceb3540079396fc397e75508ecf06470b20dfb39a970e4";
+  sha512.run = "fa9965a291573796cefa9c64d7c76894b29460287224699f6dfe708f218b293ab5c5daad19b70e949d1efff0db4f76cfe90606ae93fa508015114607338d8f66";
+  sha512.doc = "260474bd6f44ad52b56fb7ed2ef4e0de95ef455f12cc09e8fa6c70cacd7d0853d34fa5ac8fed34912241c9aaa38f079119683b1b5fd90e82d635238d20a940ab";
+  sha512.source = "17bb297856b2c483ff5d44851a2c59f445f35137f1d535330eaad161a0470df64e17634d945fb344f61f4aeadbe3068957d41dcf561c2997017f422f47cfa5d4";
   hasRunfiles = true;
   license = [ "cc-by-sa-40" ];
-  version = "0.3.2";
+  version = "0.5";
 };
 warning = {
-  revision = 22028;
+  revision = 66616;
   stripPrefix = 0;
-  sha512.run = "de3d9ef9a6dda4022fa8f04a0be509d3e9e583a539a3590cd30527f108ff739e0c1dbf8c5945e0a72902b14c2616e26d41a05f23957e9466c788fd228ac6b082";
-  sha512.doc = "04c8ecdd39f2e0b3aec8cf6d9235acc7e10c8e182bbb2a7b30a46cf9ce7c08fb0fea21956356b3dad500a5a58c7a2b63e9471b2e8fe626b17492f721f527ce72";
+  sha512.run = "443a02ce9aa004379aac94091c4f3014042cf2826d12bcffaa92f24ebd3a023ef314d05aec00947db74175e03e432fb80b7060b51c4fc310d14c15ac86606abe";
+  sha512.doc = "561c4aa05df7143f68067d22b337f1754482c40eb851356f70887dab86b3944116f2e7d9f3a83e4439c7b0f6d6db0ca61371ee049758173c35b70468bd0166af";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.01";
+  version = "0.10";
 };
 warpcol = {
   revision = 15878;
@@ -45009,12 +46273,12 @@ wasysym = {
   version = "2.4";
 };
 web = {
-  revision = 62517;
+  revision = 66186;
   deps = [
     "kpathsea"
   ];
-  sha512.run = "edac6079f0de1904e008c2a5fd7ee697f32c5324e3b9a7a4d8997b97ef214bfa1a787c84ecd4bcccd38e88c58b9729b4c5684ab58bbfcc97ce159dc5c2b5b312";
-  sha512.doc = "50ae800de53cecfa6f656ba41d35d7c486e4cfe4b2ed42dd26dc60ecaa9a0b80c178dead765a7076fcc6141e8a2158e9b0854ceecc2cbf7b2e85c23cf22a7da3";
+  sha512.run = "cc8b2b6525ef1ee49162dc157e8d735225f5fc3bee54e56ac01ad47f85f639e4c43b4409e949d68804e650e243da0a8a6d098ca7c37587f14c810112cc82abee";
+  sha512.doc = "ed04fce861ae2adda602a2a50d560cc9a5863ab1668dd9512baa96b6c37acd8334e4800bc4ca853c0b1f58bd3a643abc82a96f31de9d4980806ad0572ea2a92a";
   hasManpages = true;
   license = [ "knuth" ];
   version = "4.5";
@@ -45046,13 +46310,13 @@ webquiz.binfiles = [
   "webquiz"
 ];
 wheelchart = {
-  revision = 64373;
+  revision = 69040;
   stripPrefix = 0;
-  sha512.run = "5119fac9b5b6b6c65771184da8dac9c0f27c4c115aa874eefc2d322e864595e9ec4a70dc782334bbfaa9eba30ebb1e079f914453c330d46f898241c34e9e9e54";
-  sha512.doc = "a24f915836ee36150625a4cb297f80b66c6f4ad3231043300d438e0d522942322602fb39b3026faa58d1ddb48097af54ca71b729c8ccba15d0cc4ba9ce505b21";
+  sha512.run = "17660fd6ff9cf02bf01b95b505128aac52005b4ff59fcc1b28c64e9870aaed03f8652555cc2c323453441c83e696a0c5bc281281a1baee8c6ede1e9a11dc376d";
+  sha512.doc = "6ad02cbf669800f8a9d81cfd3ed3abcfc5b8a2df6040d3eb6ab0dc1ffb01875230be13959adb1ea7dde805d4ffb6bd9767de1b275479636f245e1140be07b16e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0";
+  version = "2.0";
 };
 widetable = {
   revision = 53409;
@@ -45065,14 +46329,14 @@ widetable = {
   version = "2.1";
 };
 widows-and-orphans = {
-  revision = 66534;
+  revision = 66753;
   stripPrefix = 0;
-  sha512.run = "df6534b55c029166cbbf91dae1b19b083093ad5c694b8a9dbe50c724fafb7f9ada320b298882ef3faf6069d9218d0ac70f6a0b0ef95a62f707232107efa2840c";
-  sha512.doc = "6a415e3068a378cb94f9b2f07866e2e515248691628ea838c7be8b43285b7832a49fd1842bb9b6767c27ab62f694b76998396cc51079da46584a2fe17c1cb6cc";
-  sha512.source = "bc1ab6f2c3bb52b25e9e1a39b0f59341710ef02e1a20e456d09a53230f3a312e7eea64998481c6063dabe97cc91cd5c97c51ba907fde9818046acfd2fd1cd30d";
+  sha512.run = "0861e1449011f6032d847c5bbf8d06fe7b8f6d320dcb0f2281ca558dcb8ef1eec561ecaf622f957e6a0c673223b3aef8cbac4663930931d945f18137d19f4e45";
+  sha512.doc = "6105b7306ddfcd91080bdb682702dec2a4d1b094e1b8c9bd0a28bfd185bbc9a0bc4252180101b2674e702d645fba31420d12cddad2ff3db6703f6e83042b8a4c";
+  sha512.source = "4eb52ec1f9f78daf90f62b7f88ed96506069fbcb22c9bd33aa853142ea2282dfc4b5ff87d6280ad82ee3d9342d4c5737e91cd7a83416dd1de6b26f2e89062b2b";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.0e";
+  version = "1.0f";
 };
 williams = {
   revision = 15878;
@@ -45092,10 +46356,10 @@ willowtreebook = {
   version = "1.03";
 };
 windycity = {
-  revision = 61223;
+  revision = 67011;
   stripPrefix = 0;
-  sha512.run = "718ef4ce03405443de94581e45f8866053ce4b5d6b7c6e4576c4664d42adcf50570240fc8181f795f59733b94c648e15cc98ef92e4ae59843093663511829c4d";
-  sha512.doc = "58107956e367dc318cc23320818c43f3fa91b75f69bc186b107687293f52c1c0cffb04912959e1a5c8d8abe3bb848c69da38ec621266e7a94b378a11d4c759e2";
+  sha512.run = "f83fe1f694d3fd448484961bb23c7c220ccb5b0f8982198660b5770140c8e9120fcd1f095492555f00533039039d11b3d2695189f40b716b17b2c2acf2e7c553";
+  sha512.doc = "eff7b0bd0603d563d077842e77fff4b9a104d008724d3e81f58cb26ebb77f8e61811f5a74d9cf2d5d62f3351ca692d5028cea9629ac1a9e8dc6263637c1cb616";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -45109,14 +46373,14 @@ withargs = {
   version = "0.3.1";
 };
 witharrows = {
-  revision = 65841;
+  revision = 68047;
   stripPrefix = 0;
-  sha512.run = "ec6cc4905751b7ec8fdee871ad72851241db23552e59bb0e66e931d849c6ba3d99d78b93a13aa96359588439b78534065a90f786bddaba5d243cd400438be710";
-  sha512.doc = "3ea2242ad99d728dba6d5171ff2277686f6f5402900fe80a6e84c3b6e3847d5070f31f68482e0f2de09b10401d07c2db60892bdf8bf4ebc450daf2b21203edf2";
-  sha512.source = "511f6ec6a396298e004b7943040adf71d8b1b8974bbc8650e6921c064d38375e7c01a978a851ac52fc5ee93834e9c5db0ced7f468cd03126e16e90267a497d40";
+  sha512.run = "1ac6ec240be73608724793040cd9f716b61a7a197e30b1334ba81c3791d7714c0af36c509e9928d0dc4a11bf8cab5c0be373a7ded90f0c661e9547b553b57f62";
+  sha512.doc = "6b8993d636328e90dfc6ff622fe8536bc795a1cfd32372b6268dec38910435d19a8b85569e5fd7568387059ca9def471cfe6e92fc9ebdbf5ddcc65c789c5edfa";
+  sha512.source = "e1e031bc4a1b6bce4eeeaa14f0d0201a5578c3d0492a55d29aa40141bf4519a942c839f569b8d3b72a013da17f95fbd0e6edcdff3d5f971771f0534a36cb645a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.8a";
+  version = "2.8b";
 };
 wnri = {
   revision = 22459;
@@ -45136,6 +46400,15 @@ wnri-latex = {
   license = [ "gpl2" ];
   version = "1.0b";
 };
+wordcloud = {
+  revision = 68209;
+  stripPrefix = 0;
+  sha512.run = "7e4f6adb72d2a7b3cf740f338e63669304ac33d90f7fa09327cb3e6ee882105c92786656d5af742de0d28717cf45f4fe0900ef0c48faf1ddbe57af322959c8d7";
+  sha512.doc = "fbf28ca6311850020c73dbb1a6a60bf5f31387a2def4b01f348674e678a3626cfdb23e2826a30db8ce021a5fadfcc26027584278110781a99ee26337c4b1f642";
+  hasRunfiles = true;
+  license = [ "lppl13c" "fdl13Only" ];
+  version = "0.2";
+};
 wordcount = {
   revision = 46165;
   sha512.run = "3c26b3bcb4c3edce8cf9d6628cf6b89103aa1ae454b07c1e963ca90693c18fb851772a52082a23efbefb51235005e558fd553afc891a472eb39cd430c97f861a";
@@ -45147,6 +46420,15 @@ wordcount = {
 wordcount.binfiles = [
   "wordcount"
 ];
+wordle = {
+  revision = 68170;
+  stripPrefix = 0;
+  sha512.run = "fe32704e323185cdc9fcbd3e87bf02c4c0870af501de731ea1b05056cc7e57861042b111a3307597969351960bb99086f99f8577b70e8e6b31cfbc9cf8825157";
+  sha512.doc = "38f168ddfdab5e786a4ad5b42f726e7895178e949c04f75ffd2f14fb42d77bf6e8afe22df5b87fecf8490be61aa3edde0dafaa91191f459e4378878aa575e8c8";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "0.1.1";
+};
 wordlike = {
   revision = 15878;
   stripPrefix = 0;
@@ -45167,10 +46449,10 @@ worksheet = {
   version = "1.1";
 };
 worldflags = {
-  revision = 59171;
+  revision = 68827;
   stripPrefix = 0;
-  sha512.run = "128274fc2cdf34b956987c85c4bd00e25673879a3c701965db5ee7d240916df79133843991ea69e0924fe15a3f88140e8bb1754880bbdb1d9eae157ade92c260";
-  sha512.doc = "8cab4b4abf08a0253a3ffd1682be2de6fd5a32adc48c4e195b76899074d3fa415ad77ce347a17afaa812040de59a3d0947e35c6f3872c98edca0fd218fa79f20";
+  sha512.run = "662c7b2cafb1764a42a94707f350ffe0e4060120071d715c3c1cebd21b2c64f2ca0896ac3c9c1e629b2fe4b057bf0b890805747a668b6a8c04d501a4ac1ca1fd";
+  sha512.doc = "16948753f069aa0e9f0e19efe9072c35eddf4bd20e32e6a47321a93bd3117f2206d44d3a76bee1581f7d4dd7e392d2bf1a4fd0ebb83d0d7b6cf207e69a42c7ac";
   hasRunfiles = true;
   license = [ "lppl13c" ];
 };
@@ -45184,14 +46466,14 @@ wrapfig = {
   version = "3.6";
 };
 wrapfig2 = {
-  revision = 66119;
+  revision = 68164;
   stripPrefix = 0;
-  sha512.run = "af17223ee8582f8dcd3b30a91db66aa4ea590f2b0d588750cf751925f055c5c06c101806578f0f9c775b22b666c72fd9e8189f0f56461c0e2a57a6eb387eca52";
-  sha512.doc = "5fbcff625c8ab40a21b88c1f3e4c4b692a6b99e2d3e932b0094fddfdc0650a0bc6b30f25a069db005c93b6a8fea09ec8198be3505b0cd576ece361d3e1220b4d";
-  sha512.source = "70341613c62346a66aed788284c7388ed34f052dba648fae70ade8fa1901bb95781b6ac365f281212b0b7a226fa3b177488bf7b9ef9d3747319dea20c084800c";
+  sha512.run = "b2fa531e9a8deca8741af501073e7c05739ccd889433fa8355bcb4dca34a3efb9b6690306d884a040ba1dd076ce5c99e3db5e7fd76f30e951eea0ea3ad00629e";
+  sha512.doc = "cb3e0264c487b53f093f90ded250705bddb70a68557bd7cc03d66baf8731481b8e94055dec140bf7a510a62293eb4774ad4c95f472dd3248289f246a87804d11";
+  sha512.source = "05066fda5a68577758be7ffe4743a10600093983e469d05ab85e8ce1ed8fbc5554bc01f35d361aaba374645e0b143cb92aa33f527b7539a10b34a09b2659d2ac";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "6.1.1";
+  version = "6.2.1";
 };
 wrapstuff = {
   revision = 64058;
@@ -45204,13 +46486,13 @@ wrapstuff = {
   version = "0.3";
 };
 writeongrid = {
-  revision = 65700;
+  revision = 68863;
   stripPrefix = 0;
-  sha512.run = "b65d0b5159fdf6c9f84318770c765507b832d70e9646eb85456f3917988ba0b8d67add019a993f7ac6e58276a06dff263155b0d2759de5bb04ee4982f2c14187";
-  sha512.doc = "d5ffefb363efb6736112a99db98a27aa4e7fd0ccc6168a0fe6413443d7854ae9e157e660973fc9deec074362e8faff4285f28bc89cad1d19c7e8d9a02814bc92";
+  sha512.run = "5e97c246141838a342192743411ce0d3cdad4924433540cf5d1faff7f2650388eaed5f045c60ea5bc69ed4108aa23863f38d812ae4702af1d04000d96d112dd1";
+  sha512.doc = "2f4c29ce5949d3f10b8a8971cd62c34a473038f211bd1cb947baf675d9320fa7d4b61931a83675acf6f00534656d827fcda4a5fcfa51b69052c8f82a7625d62d";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1.2";
+  version = "0.1.5";
 };
 wsemclassic = {
   revision = 31532;
@@ -45231,13 +46513,13 @@ wsuipa = {
   license = [ "free" ];
 };
 wtref = {
-  revision = 55558;
+  revision = 69214;
   stripPrefix = 0;
-  sha512.run = "1c946778722ba4e7014b98447d1c2c5472b34d916a4aada1ad1098ab05d67a1466fb181f19bacde5fe18a0b28a055a87b626893d6c49346fb665b4595910401c";
-  sha512.doc = "b1ebac65ff228e7a6221240ce90d83121d726959d95f2271eb3c6597c7740a376da62371fedf2c0bd068e660950167d4b09cf22c01fd78c337c10402eda63bd1";
+  sha512.run = "abdaf96d5c4cc919fcaa5343d25243266f86dc079cf701d71f047b01874baabf20a0c7972a6aa863c7f9eb9a003eb5a516714d57fd453574e7a2c8ee2e500e7e";
+  sha512.doc = "f248f448bcd110c59d5dc19c67d4192a20d4f334c6f17562d34db0dd4ecbd7c6414ece9ed4e55aaf2ea42a0e5373fc5f25e8eaaae16b468687bf5c2d2e88b908";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.4.0";
+  version = "1.0.0";
 };
 xargs = {
   revision = 15878;
@@ -45268,22 +46550,22 @@ xbmks = {
   license = [ "lppl12" ];
 };
 xcharter = {
-  revision = 63057;
+  revision = 67742;
   stripPrefix = 0;
-  sha512.run = "e3b6de6f9ab168b90b2351a43066e144c87efcd648c8e39975870040662bed9f5a2d033d23c28eed2b446af24abfb893ac550a52870ce5dbcc41d9b26aca4d52";
-  sha512.doc = "3a2e88d313293b073d0eff63dcb6984c9eda7eb5813aff6267615ac2f49dd9b47b977e196c1769353cfb44b1b8c07c3e02146eaafa99eac416b049598fa89e60";
+  sha512.run = "9e71217c7df0e41de44aa8cfe09b36955910ccca4337d878b0f18f4352f52d14b9dc1cafae01e9b06ed1a094282bb73b25e5328ccbf60e6070b57262e106018f";
+  sha512.doc = "04b1aa9efceb7b87551ffb6743605861ebe695118376940fa84e8c3a8b0ff7c073d86850713f8df98381c674fff210bd2f4dddfd82de4f152945207ec4c44354";
   hasRunfiles = true;
   license = [ "free" "lppl13c" ];
-  version = "1.24";
+  version = "1.25";
 };
 xcharter-math = {
-  revision = 65686;
+  revision = 68992;
   stripPrefix = 0;
-  sha512.run = "099096013f0e6875e879e5f0c5a646df374c718199e0a8394d0d1db215e2e65aea7b484818ecdf1be72064d8460fabcf46918b5326516c3b887b62ccfd7bcfbb";
-  sha512.doc = "c6b64e8ebe5d0aa41aea6e5cfdabb2cd62eeb924e8de0b4b2b29dca4f8a4970e643b3c81fcbdda52df3a4cc1220413430cadde6caece7db3f6312fd65814b3d7";
+  sha512.run = "82830e9740200cddb622b30b4c91112462a2c429e501f354f54abaffcf8f64186cbff3bce25b889508c6c28732ca2c0a2ded06a876260903163d02d1260354fa";
+  sha512.doc = "c1bd25aa3d1aa195ad97f1228dffc73889d06ac45391ed725696372c7184672f6a14b1f1dc2f4410866a6cc0119219817f50bd78c602846f067f935f18c538ab";
   hasRunfiles = true;
   license = [ "ofl" "lppl13c" ];
-  version = "0.36";
+  version = "0.60";
 };
 xcite = {
   revision = 53486;
@@ -45315,14 +46597,14 @@ xcntperchap = {
   version = "0.5";
 };
 xcolor = {
-  revision = 63563;
+  revision = 68864;
   stripPrefix = 0;
-  sha512.run = "936241be2d7eebec5cb7e1edf54a9522a14d58d8a4d2b339b912b08054fafa33e2cc158360aed9fe1db88db23d68b17e989ad70b90d0fbb04131676ad981e3c8";
-  sha512.doc = "9129fa37573a55ebd878e6c5b52ee3a449375e55dd0a87bc85620b12ae9fbbdfadb92e65e5cf3f8e3e7fbd5512107b55d017f8df8db317c50c0f0248dab4399a";
-  sha512.source = "4e3f5af10fe8797073f78e7b0d8b7e89e43427209834c4211fd36d0b3594975c13577a806f090e8153c12e00896c6c5d34ce2be8c1aeb123568b0b5c08b89880";
+  sha512.run = "6b7d38d631f89f4c4ffa9f447a16cef6169c3e4798c5c65339fe48f9318291373a49ef9da8143c453fc5fd9ee853bad53b5477b248ad5f99763df9ea28638c78";
+  sha512.doc = "1dc8355913a62657a2b50d45a6fdfbabc8a0dbb835ec5912fced934350b21619e8081b9e9a4774ba48ec3c51572c7f95f52efe92c85344dd81da0bcc81e73809";
+  sha512.source = "98fdb68955160820347af83f7f44ac97c3a61b9732af2a17980155c103b6d6ed9037504ba99aeeda5608fea84f82ac871dbb55d9de334943a74aa617caaa70fc";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.14";
+  version = "3.01";
 };
 xcolor-material = {
   revision = 42289;
@@ -45394,14 +46676,14 @@ xduthesis = {
   version = "1.00";
 };
 xduts = {
-  revision = 66475;
+  revision = 66661;
   stripPrefix = 0;
-  sha512.run = "9d658106d7967f25be235aca3421d20d601b3d8c642a1449df714ce2ed22953f78bdd43158628ce51793428b5d6c38f75beacf20e06d2f076b2c6a2393280831";
-  sha512.doc = "9d4d2bf5936a686053015f62a77de81948ff391f498c9a36d0ccda0da49722aaadc07c4b58f92d1ce16de3e197a8763fc345f543edde65c7dd2b53cb68408dc4";
-  sha512.source = "c52367e3fc873b50a8c919f1492392f731d9770f8474319e8e5aace94a7c96a7d84036722b3580ed323fcb7f450a1280c3d1ba448a30f71fd0a0fa056384fb5a";
+  sha512.run = "8c2b0b04ff619c18961014213db4a509af10d46cdd5177706021675eda7d408be01a3f9c9aeb18556b59535dd9cf8de7d9147c36c57350ee3fe8e02e61f416d5";
+  sha512.doc = "7e89d160b992eba61328618ea463014c52f861eb1b952f05aec2860878c226d0354470522468ef79c710486c0ced8bfe76eee296035a752178fafcd380f957a4";
+  sha512.source = "3227078ea75cbc6d23aae9086f51bf86b2d7fc42d237767ed90f915a6d2255f6e2f816c49d77caa1d85fe0f623d99d3e76dd458db699b458df5c28f3fc5fc092";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "6.1.2.0";
+  version = "6.1.4.2";
 };
 xdvi = {
   revision = 62387;
@@ -45530,14 +46812,14 @@ xellipsis = {
   version = "2.0";
 };
 xepersian = {
-  revision = 64872;
+  revision = 68117;
   stripPrefix = 0;
-  sha512.run = "bb9f3e4df9421818ce1e77d72c790c33f0eb11452eba38e48dfc13c7313bccd63cc11b1c3d1aa383f1ca778bfd3f9545eb20d899c980522a255b334a7545d2cd";
-  sha512.doc = "3d0b3f8234b01ddcaaa7d808aae2eb48f40a4af15ec87523297b5afa971478eb143338e407a1e7764449bda920ea7bcff0f0894f1e875524b2e44c3b3bb568b5";
-  sha512.source = "3924d7f779150aae6d0b2a4a2e246f2867142358e21146fcea10e0a82a598511aeca8f30089329a1328a4c8cb6d5c396516c544ce85f6607f734ba9d7759044a";
+  sha512.run = "aba7b248b1ed6fc557e51c267d3da21a3f3473cb0b0d997ef7d899b3ec518a099a173a163c53aaa7ff29e13aa2f1dbebb65775af828c85fcb9e4e91476d6e1ca";
+  sha512.doc = "dc2f7a06a6122baf9f2284412edf4231eba88f6968f86eb06e47a3e3f3cac14f833ccdb8f69e95b17a05cdc9c3244c361e8d581b6ca65a715a82662ae722fd35";
+  sha512.source = "6cc50aa2d511d744499620b010066916913aedb63ed871f93ab8cdb45380da206dee76c4d8ceaf01be5df971e0437ffd8b469a3ae793810043515a966fdb40a7";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "24.8";
+  version = "25.0";
 };
 xepersian-hm = {
   revision = 56272;
@@ -45569,7 +46851,7 @@ xespotcolor = {
   version = "2.1";
 };
 xetex = {
-  revision = 62387;
+  revision = 66203;
   deps = [
     "atbegshi"
     "atveryend"
@@ -45608,8 +46890,8 @@ xetex = {
     }
   ];
   postactionScript = "tlpkg/tlpostcode/xetex.pl";
-  sha512.run = "e9f0aebda0a7fb36e2cbce4dd49e965335438c4ebf2d41eb8e19eabe29617239dd67e7e3433a8c75fd40f072a2c6753a7d0762afd34fca4130929e51888aaabf";
-  sha512.doc = "31f03ee1ae00bc7883109ab7b7374feedc384d86b491873e90797658eae12299dd60b95edc1c86f1faa61a0b7a952cca23993e991863b37e49c27afd6c21c034";
+  sha512.run = "fddc7a48405d5ae56b09fab5f180372972fc7fdd10eb19ec8e2b0f6e1e3bc54d2f92512a6954238c21fbdd75425923dcdf115bf16fe35ab3a850363c41ac99e0";
+  sha512.doc = "7fda9e0a2e7f4dcd6a1813cf8fe280f7193aa88a77cbc5891b892112950e5d5e7690328e267805c8b9a24dc735e7991065ee3664b1278fa334f83ddf06aee236";
   hasManpages = true;
   hasRunfiles = true;
   hasTlpkg = true;
@@ -45681,10 +46963,10 @@ xetexko = {
   version = "4.2";
 };
 xetexref = {
-  revision = 65972;
+  revision = 68072;
   stripPrefix = 0;
-  sha512.run = "4cf111fbf6a7df52e8131dc5c0fe4f868e8fed89d8b54f05b426d9860b5c1666d6dc7e2239b58022f2d5cb9a271d5f953ddaf9b54e64d510a12d7749e6ce2156";
-  sha512.doc = "e73a28268e351a736b7baf132a1028ab9c44fc0ad5d7dd2ad3a65f830318a47bc2118d415f7e24b38fcef50bd967dcdfcee5a1b9c5dde40ad81cbdf9747a285a";
+  sha512.run = "a26a066a25162d3f3484158b6a5d3e3f44727ab5b7e3d3d9a4457fd80e92522f09d61015a4a3b0fea4dc63987ef773c8850b6afe8a50fa5ac2ed58cca51a4ded";
+  sha512.doc = "d0f2de750f04ce63aeecdf00a5f0628978c78afaa753f8dd2b41a819c76bb0531bee8906d4eb2014075cf4d0202b6c1fb41a9093120614478045fcb0820a70a9";
   license = [ "lppl13c" ];
 };
 xevlna = {
@@ -45697,16 +46979,16 @@ xevlna = {
   version = "1.1";
 };
 xfakebold = {
-  revision = 55654;
+  revision = 68929;
   stripPrefix = 0;
   deps = [
     "iftex"
   ];
-  sha512.run = "99c735bd449c96b3444a8b50032c9962601a04beeeeb6b0fcb759ee0cc53e4510dc8d077a3cad7b99c968bb9d60bbd37f2f0c7d56ffb5fc667301423bfd32bdb";
-  sha512.doc = "bb6f1bda41427f4c144402095a79aafe70d6b534b6d0462d951a2c58fabb0bc8dd9edfdabf526bba243b2c79aeacee728741dca778e25019ae909856b164a316";
+  sha512.run = "96d7c43d4aa975f5e948038f07c765397dfa240b41daee453064e8c7abd90a1a52cb8af02715de51b6e56aaacc4f8e6f72e40c562371541ac94c00e2f5b6aa2b";
+  sha512.doc = "11b63158d7e780d390a1d4cb4d046108fa34212431d41dec582404047a8fa272e625898d4f1181fd8728bba789962b63b5462a9ea5556fb896b68ad2eab3c038";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.08";
+  version = "0.10";
 };
 xfor = {
   revision = 15878;
@@ -45719,14 +47001,14 @@ xfor = {
   version = "1.05";
 };
 xgreek = {
-  revision = 64300;
+  revision = 69268;
   stripPrefix = 0;
-  sha512.run = "96b0afffce870b5c3cdda072a23d20810db89607fba64172cb329fb10a598693d870132f26ad1c04e0b394bc1181f9dca0c966c70d07e8c17b3e3ada5e2eeec6";
-  sha512.doc = "f4543d8a1603dca2b8f4dd9db97a8d887ba0b8f772284ac81e772b30e641f0900abff116441ead7c571ba7f60ed6999f694596d0e8e4763a3d1ed62f07a056d9";
-  sha512.source = "cb9546b39edb451166ef0e931a0b4ebd571fff9a4e337e0f11d7a2e58ea92e4c82aaeb8b981a88576f9e83c7114c8233763552f3e1bc1c4a7231087b1feffbc1";
+  sha512.run = "bada8aee28edd971542cd5091b702fd494cd710d32112e16f0ee7778868efd0ce558a5ca6d7f4f291dc7edea7f89adef584f4714bea656e9a76674808d3fd765";
+  sha512.doc = "e30af632317678f8e082980120ec328ebdf094ae816f17708387bd23b580431161503e99177ca78a5f2545fbe59b26968d208e8e273ca76f7f7f45fa31200e56";
+  sha512.source = "100836bb5b1bc2191a5c1f446e1b30f9f166719988fd62e5a72102180987db10b043a45f737da04e86f52bd8524fe2ba236454545d6d90105749df572df5775e";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "3.2.0";
+  version = "3.3.0";
 };
 xhfill = {
   revision = 22575;
@@ -45761,23 +47043,23 @@ xii-lat = {
   license = [ "lppl13c" ];
 };
 xindex = {
-  revision = 65597;
-  sha512.run = "c88e7d602c741db871ab6ec5895fee5455b954c4487d57be812b172369c5d973a8fad4b9fdcb60179562d04ba4105ecfc1228ae7d414a7d90df9a9723306de07";
-  sha512.doc = "3d36e5f8811c6df621717a7077bb49bec137a5bbc3c6593078644811d915c720d41c2e1a6e5be6e3af95ddc64879582061f7aba6113e2b3a1ee5d7b3f63064d0";
+  revision = 67771;
+  sha512.run = "bf812f7ea5f981969b1963f470a0006c4afd937ab27f6b40f7897dc2b6ddd1a0ae60f347b8ed13483ec4fd9feccff257a79dd7b8a2720be1d49a40fe2b325fc6";
+  sha512.doc = "ec93cf3bb639326dc6905be018481da8438ebc5558e4c161419910e1a4427f6f7bb7bbf35ac779ea6769b6c009f9b6bf657b78c7c42bf7100725e8cc6252c975";
   hasRunfiles = true;
   scriptExts = [
     "lua"
   ];
   license = [ "lppl13c" ];
-  version = "0.47";
+  version = "0.55";
 };
 xindex.binfiles = [
   "xindex"
 ];
 xindy = {
-  revision = 59894;
-  sha512.run = "0abfc9c3d4f4418fa63845df092e074762f215b334f76016814988f5243bbb184768256792779c65f277fa6a48c41d762c33be6c5cf25ba292efcf9f0554abf8";
-  sha512.doc = "3fed723b6115fd7e05b84c010ded501fcd8440af72353b2b7ccb6df39082515b5de33951821c8546b65ba2462695971695caf2ce88fed67c9bd766db9d13e859";
+  revision = 65958;
+  sha512.run = "9b7fe97c14e3cf30d1e6743c2d7b4460e8bca901ba3ee216001f1518ff4d834fb3d9b67085825a6e152c6acde544c41cf16d56e609016caab89a594305a21599";
+  sha512.doc = "d0dacd7cfa169b03b7fa9d0b351133582577c3908323f501d7bca7b0165159b72c34f62abfd73b97065baef8cf179b292e654759f3b3e324112623539e5acfd6";
   hasManpages = true;
   hasRunfiles = true;
   license = [ "gpl1Only" ];
@@ -45837,13 +47119,22 @@ xits = {
   version = "1.302";
 };
 xkcdcolors = {
-  revision = 54512;
+  revision = 67895;
   stripPrefix = 0;
-  sha512.run = "4c7057d785c565e043daef78f4ddbb5dc307a3caa690044c803059034ef42fc1a14f61c93115b8060c330f480397040ab19b44636e167739a016175af61c2806";
-  sha512.doc = "ff112f54943d9f6f0e55cd0ef2a9b0cff1e088ea386c7853bfde9cf091b4ab762b38486c565da39fe5f0e63811c2d2b5661dbc5d98b740ffcc08982462214795";
+  sha512.run = "3a2c40713d8e826c1bc09589e56ae6cf661a73cd32bd8903f80f51d71fb79ef34c0be9395ce2f3915fd1ec1385e970945eb00ed0f9f598294363742fe13f4d8b";
+  sha512.doc = "85b7b920d701a6e6752ed78ddf718ef99b7c6684441012feb5bdf2937d3a16ca8a89033e2a5eb723888a52a913cedd320a42c2b902696f876437e9f912a05aa9";
   hasRunfiles = true;
   license = [ "lppl13c" "cc0" ];
-  version = "1.0.1";
+  version = "1.0.2";
+};
+xkeymask = {
+  revision = 69223;
+  stripPrefix = 0;
+  sha512.run = "1502216d5f8b5b2f15317f7dd9faabd11e06232a093a74a64a7114b5f2307e7e96065810129713c679d4aa4d2e622c6a1af8dfb31719b447e9d8fc1e8026e027";
+  sha512.doc = "812473ff009eceec4cdf23cfd89dec769566f2027e528745273061047b4abb3b5b62426492f30755090c664f61e33b675d333cb0e9002869339a4636e6fb260c";
+  hasRunfiles = true;
+  license = [ "lppl13c" ];
+  version = "1.0";
 };
 xkeyval = {
   revision = 63616;
@@ -45947,10 +47238,9 @@ xmltex.binfiles = [
   "xmltex"
 ];
 xmltexconfig = {
-  revision = 45845;
+  revision = 68933;
   stripPrefix = 0;
-  sha512.run = "2620dde42acffee6561f406527794cc62d87c1104135da846b7cd3c7f4109c4d1986d562ea612f2b5246e1863eff86795c4789075f8475d45de00763cfb539fc";
-  hasRunfiles = true;
+  sha512.run = "a377856b79abb94771b54ed19e6f5ef02ebf80374ac868be2905dc23f36d821c79ea9a99077233edd5e125278e6d8bd44c40de50dfd56e389cb46c76348d51e4";
 };
 xmpincl = {
   revision = 60593;
@@ -46001,9 +47291,9 @@ xpatch = {
   version = "0.3";
 };
 xpdfopen = {
-  revision = 53998;
-  sha512.run = "fe873bb22b94a26720e37671e283e0085619c2129a4568399544ac0df1e5c443a9476590ca7ef76a21409589eb2416a14165b8a48a6182f3773a3009cb7c1a47";
-  sha512.doc = "bb4be8fe1b4590e74a7573baa1d699895fb62f6b30b05c9c81655001c75ffb43a6d7f92deca337072690ce3297d4ab06f1aca389524c5d5d500a9fce4abd8404";
+  revision = 65952;
+  sha512.run = "927b6a17422a3573efef6767f4835492df27764bc7fe729ed2697665d5fca697fe1a76e141ff30d5cb483bb4ef8e2021ecf2476c5bdf83ebc5dc6e7778b70765";
+  sha512.doc = "b4f332054a5fe85c9404a05673b373ac2b1275b79a1f0b57061cda614350df230dba60ed3be590e0688840334a113ce5c64847c1dc4e6ebae6cc29524c1f6bd5";
   hasManpages = true;
   license = [ "publicDomain" ];
   version = "0.86";
@@ -46043,11 +47333,11 @@ xpicture = {
   version = "1.2a";
 };
 xpinyin = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "082ee68b118f20d74c442427a0a6e25dd1c5e0571dcf4ee1bf9eab214b0a4773075dc9cf43f2e0a4b02299800fe5362c8fcf09c059ca0b52bc9d0d5651b7d141";
-  sha512.doc = "70966d857aeda92fb727119d064e99f8c7c68f538619cafa5e00fac06b66ad4d9a05d827f31b6ba97ad7034eaa296e6f4b92064501b8ec5251c5189c30206548";
-  sha512.source = "3f6d646d90b058cf6415195885ef9622a0d3ec598215117ea5a01adf49301efac5d3baf4c717f8362b77922e1b884d3bfee10ae5bacf1327bb8705de49c03dbb";
+  sha512.run = "3b7eda4c75b90284138c1277657c8f4a3c2c9a3374a2d6f80969e78805ab8f0c03bf09e5aceaaaec689582dbe30a82b704e41ce08305a0b4b869a84d4d07678e";
+  sha512.doc = "f233ca01195f0f3e236414c02cefbb8da1adc24d6ea94fa56e98ab8772f48456e4bf469f6def555a01c29f8a258c352186d7bf7054db2bbe3843ed937784a440";
+  sha512.source = "f4775152d7879b352f6193af3036258ca984a195abe6de3c03baa41325a7b1fce3900facc2f3ea8fd2deafd3740128161ccfbb2a37eb88fae196a20136f68dd9";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "3.1";
@@ -46062,14 +47352,14 @@ xprintlen = {
   version = "1.0";
 };
 xpunctuate = {
-  revision = 26641;
+  revision = 67918;
   stripPrefix = 0;
-  sha512.run = "4b69969632691a529ff0127f21a5974a509a29c047a33cdfc53d1bdef1aacee7d6ee8eeda5d185759b60b2e4dfcd0dc59948a8156767e2a7ced0256aac0697d4";
-  sha512.doc = "04a839972105943ad72b848adb44584b647a3e52842c0956489ce82496d005ce35f4b8c8e6be1337b5f65616036b58e9543e7f4796075f9828aa9220015e441f";
-  sha512.source = "02b04679b0d5ec75f2972f786293250e0115378fee96845249a221be1cbfdce9d03897f877b82950a5c80d117d4693aaa60c06d7effff9c50e63db8a6e1e49d6";
+  sha512.run = "a90da49b111181c61512777e4cbccfc63710b19513309bc2a04fad0285691095c812e7b8feaa0427cd5e837bf644458229b78c2bec530b01bd772fcdb18a2bca";
+  sha512.doc = "8a7c873e8fd809fea44c136ef5b810f6e5d6213f48806cffb5018645d2a0252fb45b0de029c1f070963d4a584983c88e8c2c7661f1dd2f7cd4407c902ea13880";
+  sha512.source = "5e871cab9151f51e1b05f0266d42f872a3eaa27a0a801e517219e400f7be808463038461fe45d1d748c05085dc605545e5b2c83250413138f19649d5af84cca2";
   hasRunfiles = true;
-  license = [ "lppl12" ];
-  version = "1.0";
+  license = [ "lppl13c" ];
+  version = "2.0";
 };
 xq = {
   revision = 35211;
@@ -46110,13 +47400,13 @@ xskak = {
   version = "1.5";
 };
 xstring = {
-  revision = 65551;
+  revision = 68015;
   stripPrefix = 0;
-  sha512.run = "d747f0eabed48e6d3053b02bca43df476dbaa7f705a1b60c8b9e3e518ecd61af8449122b6a230f2af41966ca0c14c16e7e46b95e124c4dffd898ca4299af7a17";
-  sha512.doc = "a3ad8bc25db266e50fff99ef28def0ad2b68b7c31d382f256b49f90d5fc300800166cd10e255679535bafc2b6196df4ec94df1ab7d82ac42473b51d2226f11ac";
+  sha512.run = "a7373745f3ea8f75b73cd3af280743db902a683f16a9820c214b8b5a92c72314323173a966b5356d78cba667978f677f42ea10b54e98b08dec29202ba8e67b39";
+  sha512.doc = "c9ee24a7661c7dcf4f7cd1b657269951baced39e6d40f5a6656d491120c9fd90034d9a4a226d0f714909e7a03fbc474f6f7a355d4138ba87906d950e1156c884";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "1.85";
+  version = "1.86";
 };
 xtab = {
   revision = 23347;
@@ -46242,10 +47532,10 @@ yaletter = {
   version = "1.1";
 };
 yamlvars = {
-  revision = 64949;
+  revision = 69071;
   stripPrefix = 0;
-  sha512.run = "aaa024a9796daeed1546700c253805ee3d503acaf88ebef7e277981aa56f96ec4008792fbf2ec4fa2118154b2b96771cd65782e348a4e12452945234eeed3f78";
-  sha512.doc = "fa1349e1024619f0e7536c14681c306b96a76961086f42ab293acc2d1ab44dcbf78b83281406f13ff3c9083c0a3b62a30780696350923d8c3199551a362e14ab";
+  sha512.run = "07d8c9983e631b3e4c97ccc1a7bdd20486e55a59eb6049388823db24149635bd59b94d98f2259de5ef0dc163a9f44e4e01148a42c3f676c65fa802d310f6a0c3";
+  sha512.doc = "686e2be82054f40c93dfcfbda35d2fa45fe0c28d0b85af30c5ec9c9a8c125a6789fb7185d08da9859bf714f6f5e4dc4057890ee4782fbea446aec923e0adfa6e";
   hasRunfiles = true;
   license = [ "mit" ];
 };
@@ -46258,11 +47548,11 @@ yannisgr = {
   license = [ "gpl2" ];
 };
 yathesis = {
-  revision = 66159;
+  revision = 66146;
   stripPrefix = 0;
-  sha512.run = "fab5b280fe45504c54cd599d5b4e1e99936d3373ded66f4b63d781866271b79f56179668b4bd4c2dc6daf5754ae732737e946da763cb1e7018cd5908a70b3efb";
-  sha512.doc = "70bdd373a8816ec6eed800cc233a407d6cb668382ea05efc1df3f604a9ba266dd8799086e7ed33df80ba4e876cd4c86fe52df1de31cd99a0b88aedfdb54315f1";
-  sha512.source = "0d2c339bec5d3c4d3e2e7bea9a3735e4a5e697df35690ab54333181bf2157706d3989ca590dbd7fff0f104c4776bf80f13c976e0c7e4515de2111aae60f1ca34";
+  sha512.run = "a14b12050bd99d7fdf4cbad2962b35976ec86e80944f8aca2bdfedec64d703c74081d107bff1704132e73df47002426c39d22a655acdd7c0d98857ed9191cf86";
+  sha512.doc = "6a1877cbca94a367afa8c6129bf8c6264e2c7203764fa451137113470d7899a40b195db8327ad84249b9f9c8d41698dd0c7a7b6b2754b8205e3bf8e8b533f545";
+  sha512.source = "753983fa303512e3a505f43ec14a626f42e20702f90c52bcb522378c9f2c6b0d0ce5b7888b4c1ca923812a79d1335573fe9d95493dc4d844dac2b757d67b4a25";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "1.0.11";
@@ -46286,7 +47576,7 @@ yazd-thesis = {
   version = "0.3";
 };
 yb-book = {
-  revision = 64586;
+  revision = 67188;
   stripPrefix = 0;
   deps = [
     "anyfontsize"
@@ -46320,12 +47610,12 @@ yb-book = {
     "xkeyval"
     "zref"
   ];
-  sha512.run = "dea52e5aee243d84ad52bb5eb61957e05b500ea9caf36360fd587d0a38ebb602f2821e040e3acf41e8318c0ce491f3bdcb5a477ef65be7b41ec2fe12df680542";
-  sha512.doc = "ecb2ed5bf434f96aacd7422bc815cdc8b69c307475f8f71b8b8b5bc2aad916d1db1394eeaf3b7ddd54e3bf7dc059574c821f2d44f9247103153fb5ef3f40f02d";
-  sha512.source = "20080fd53bc9c749632236d710972bac2db0ab0a7c3cd4a1b39fdc1226a2279332dca41856647b6132f033f381de798b8dc522ba3199e747ea15e5ca571d71c8";
+  sha512.run = "e50c3b75107bcd7cf72a6d4ef86353e8953860a3b4ffc044280fa57b0f290d1ec161e31aed3f91f8827bf038e4f60ed1a6eefb557f0401ed67042209750059d0";
+  sha512.doc = "19e220fa4214b2ca9c95fef77c12805d1f9f4916e8463fce561170e7ba103587a47a38f1710dd6e1147cf50c23f6e5e9524582f127ad0dc237a409970f4922aa";
+  sha512.source = "3a7817bf209e938f9a75e928c16de30b59537cc049ca1b67e3bdf9c116337c78fe0a40b346a0f7189ea04c7af3755e0428af2140db7eaa83dce026a6042dc489";
   hasRunfiles = true;
   license = [ "mit" ];
-  version = "0.2.0";
+  version = "0.3.0";
 };
 ycbook = {
   revision = 46201;
@@ -46358,12 +47648,12 @@ ydoc = {
   version = "0.7alpha";
 };
 yet-another-guide-latex2e = {
-  revision = 65714;
+  revision = 68564;
   stripPrefix = 0;
-  sha512.run = "ed532ed8d95cc68793956533f91e331d71618d7d9371d8d7996e1bab06cabc636e2d130e1af2e17ca86ffe4072ed2a8477b33e96451d94c926bfded1c0f592ca";
-  sha512.doc = "cb9817e571faab5dde69dc2e7adbac59cb6437f33444a289e9dc61d4f4db10958e0206e8a369d873667963cfa754f176bb0b9767a12632950cf5e9a4327805d9";
+  sha512.run = "7a2d19b71006352ff9cf69cb68243153e99e4cda2a3fef37daf6ab180e7a7625b8119b972785a331188faf7ee6f03d724a760c5c3456e85cf32ce704b3edd7cc";
+  sha512.doc = "8ab0ebad6b627dc1a5d90477d48868715830c6558e9091d3782284e9766f22f9764170a3e89d55c8437dbca2c8eab446a1be0336baf43b3ddcaf67e125ea2f64";
   license = [ "fdl13Only" ];
-  version = "1.1";
+  version = "1.2";
 };
 yfonts = {
   revision = 50755;
@@ -46443,13 +47733,13 @@ yplan.binfiles = [
   "yplan"
 ];
 yquant = {
-  revision = 65944;
+  revision = 68997;
   stripPrefix = 0;
-  sha512.run = "af6e025317de8d354ea6a5f901c56c8966d43d95c0d85902a9c77afae6282d3c54dccf35723cccfa4a825782afa648465e51f0dc6f971488863c328f6f4d8883";
-  sha512.doc = "105f593830056c3d15ffd01a8a812964430c876c9be5a3135240bda323dbd77c4d0345b3924fea693a5566eec3fb7dd010e7301a7b7fbd36ea7f041422c4f246";
+  sha512.run = "2d9dbde5bbc12186a054624f4dfc30ab9cde606440e5568de12f9bcbc0f0c7f872141a2f1745e2f9729884e59e8c36ffddb77ae5b813cf837ea7e2ebea7d7109";
+  sha512.doc = "bd0f9428c7a0930b6d714ba69f0020217021283021b9492bb71c2077fb70e86f3a49694251f88e91605604bda7049ce1f06bf1ecc1b668c63e080d1bcb087fd6";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.7.3";
+  version = "0.7.5";
 };
 ytableau = {
   revision = 59580;
@@ -46485,14 +47775,14 @@ zbmath-review-template = {
   version = "2.1";
 };
 zebra-goodies = {
-  revision = 51554;
+  revision = 66630;
   stripPrefix = 0;
-  sha512.run = "c6ba09e174207ed9f28053bd82ae46551910358e74ad7afd74b406a93d4720f5b11b1921497c3c464c80b55d8fd4e4adbfb115f3ed9a9bcdf68ebf96bda06434";
-  sha512.doc = "48652f89e032526de7c37ad57ff5719d75dd50e5a00ec48a4d94c314bb159d76061ce9c9cf8519bfc8d546e274f8ab1344751d798abac422562efe6026df1872";
-  sha512.source = "2f2cebe6593b55cdbe03bec6215f74a4520a3a0f5198316e749eafd9adab2f9b4a7fef99dcd831cccffb0d758e2755bf7a97c21df8b7f1b770b4e5359d69bc7e";
+  sha512.run = "c740469e5a27355fbe8c781d30434724b8c77216e88c674854dd71e73e38ba78aeeef251a25e756c4046230eccdf334abf6d5f378bad559691a29955cb0eb16c";
+  sha512.doc = "c4bdfba7e426c95599c4fe2cff06ada80345490f433eb636260ed5ce322c1c21c0b5de0c4709be415b6b98668b7c514610375f2bdf9831248be0095e1ff28dc2";
+  sha512.source = "ec961bcc2d7181450184bdddbe0f0c1d5100bd6fe2294722dda239d8979f6c8d126fd4f52cce371db8227aedb1e1da14eaf1457ed12e65d33ccce6f23148ad8f";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.8.0";
+  version = "0.8.1";
 };
 zed-csp = {
   revision = 17258;
@@ -46550,11 +47840,11 @@ zhmetrics-uptex = {
   version = "1.0";
 };
 zhnumber = {
-  revision = 66119;
+  revision = 66115;
   stripPrefix = 0;
-  sha512.run = "083b60752816db5b85f2a1080bdda2829d373c8eaf89ec7fd12d64b238b11280a6f4ded36142f2e6a08a72977c23907fba17d99d25bd9826d42f6c041c4b2081";
-  sha512.doc = "fcfee3e37ce20ebaa52e3615f4db18ba6d243691b3bc90eadb78376c40b2e9394472e208b7e145cc967e3c7b9b69061016a43c5da20cf326c6f03c29ef1d5446";
-  sha512.source = "215d46d0728316abdc173e933006ab6cda39024f968739c3f2451e3a59442091a9082a0c5a4bb7c3a09dc3175d87dd2f86599b8804479c98bf3d549a4a0e9f5f";
+  sha512.run = "080460cafa9f1b382d5843e7863eefb36a26abcdf8ef97d9a23fe4e68d1bf85e0e6a38c7201d1dbaf2d25acc7b846d757fab9f9b850d992a576b6df67929cb55";
+  sha512.doc = "c8f6b76b72f7b7bc19f2e6fe64191b86c4b73fa7559d3299945359a7d2205e3685c4eee98283f361207192fc35de0a7ae9064e118e20f96f832d18eacf93bf70";
+  sha512.source = "7a79592cda187221d2832db12e45923a03f110de7ae358304048a52d2e170853421cad0a50211c0894b700c98301cf949f1def35acacc7cf2d23789ff23ca4ea";
   hasRunfiles = true;
   license = [ "lppl13c" ];
   version = "3.0";
@@ -46604,48 +47894,48 @@ zootaxa-bst = {
   version = "1.0";
 };
 zref = {
-  revision = 62977;
+  revision = 68278;
   stripPrefix = 0;
-  sha512.run = "4516c2b785e26dac293dd028c314bdaf75d195c454cd2acd54aeaf6a298b0494031a86926abc670d27bed1ce8622a9607ea71d2b4d268bacdff26b8937c67dfa";
-  sha512.doc = "f65ebb760d1cac9dbc1c6ed4e48a9015c2cd2c5cbeb28e4776802ea84ac6b08c5302eb2126619e93f5bdf7ca76b4b8cdfad3ee9369aea364f680c1deda7bf396";
-  sha512.source = "c4d4fa3cd9921f0c60361c7aafd000998c8bf7f04ccdd39406d51258b006851cce26e1acc6fa4ca91369764b012020b60ac73bd8b540a2212cce236f1335b9c3";
+  sha512.run = "1c21d99dc4f1627520914ed3620606c724f22754662797b93c4161aaf3e36d5a42a586ae7e4b227cdf67d55c88d3979635e78661d7029f1a5967c503a9f9dde5";
+  sha512.doc = "24cf22b54cb13e1458266f4962ba589fa9385f3b8d58493747824d815c372cfa6fa8a8a24d0310264b299ce43148ca001b5c6b73961d1504e1ab6e8a4ac246c0";
+  sha512.source = "251cc99a193371ca0e11d1690ce6ce545cdf077a483f81d2d5ac5c3495b24c25f383ba6b73e9607578adb0940441247ac4027c7719d2ada0c1b77f7876f9767a";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "2.34";
+  version = "2.35";
 };
 zref-check = {
-  revision = 63845;
+  revision = 68846;
   stripPrefix = 0;
-  sha512.run = "108b5484c84aa27fe41c416a68a0a01a7990624697acbbe324776630b46d17aedc987cb2dcb5bbab7d8cd95c129ed8da451984dffe319fd8fed4363f376b617e";
-  sha512.doc = "ca2dad2ff43c842de9a1cb63d7c8ded3b722113c39023774cd4744b17080e1993b886eb170e49c39ff641f04cf020bf0b8a0aec5f36e1d649d01d28414107700";
-  sha512.source = "c814c786a2a298cdf0ceac279a9718e26c406035a187acb9e08be1dab9749bdb725c4fc3276749569632e0478220031d8441970afe70959bcfb53ee8823b5d8c";
+  sha512.run = "98aeb6007f1f599a2bda644c60c9929ca27c9045d73af3d54298837eb842e7976a2f9067182ce38c77ff197e2fe36a53207d2aa39adaa9deeb4e118bd034b0e5";
+  sha512.doc = "d050bb4a6c68a80eafe3eb7f99c61407424385743785014600404397e6fa322becaf3a28157f59951a2406fdfb66968f3cba9de4e388282ea0c84e3f33d4fc8d";
+  sha512.source = "a84246193d390c55dd66d65b64eae79e52099e7f7c75b8ef03d595d466d57643832f95ff23ecdc2dd0cc31b7c5cc64db361bd5ece7949e544936739b2c70e1bb";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.3.2";
+  version = "0.3.5";
 };
 zref-clever = {
-  revision = 66024;
+  revision = 68846;
   stripPrefix = 0;
-  sha512.run = "4773b3467f6e0874d581941293e771ed8e21746be75bf9d1dc470ec1c8a553ca21d0a507d834a7b7c34dcead4d69ee542b8cbf84186fc14a6347e3f54582efe9";
-  sha512.doc = "438e5e4362a69c83a9e0757a65db76bd301047ab5f5c67ffc983f91d575d1de16b629fe1c81be75af1621d9696b6492126f4663bd531bb785b04ae96af38b9c6";
-  sha512.source = "303c0f18e8510d5ea48017c36ec84e700582406689d418941b072c5135c9ee97fbeaf6709a6c71b104c2e93bda730be23640e97e9a1c6c6b56a9bc393731b08e";
+  sha512.run = "d7a32fde3ee94e304f854f690756ad9d15a9287c1dd38e1707a1f33e2bd30ac23147a439990ba7e9f7bc0b2c5b37b5d475bb64f2ab89bb15752bfc0e2f9ad3ac";
+  sha512.doc = "c18e86417db71ece26e6a29e0598e521d17a79c26f5ebd92dbd78c427142bb992df9ff39c0a5867dd296093036615bc319aa9dc970faa0ae0d4ed479452e1b89";
+  sha512.source = "3ff30e4c2ee570c5c142542110699ec17b123078c5d01ed9de2781404026b120856d38d4cb05160bd90ea56063e220e09dd46158d938a70416488797855a1fe3";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.3.6";
+  version = "0.4.3";
 };
 zref-vario = {
-  revision = 65453;
+  revision = 68846;
   stripPrefix = 0;
   deps = [
     "tools"
     "zref-clever"
   ];
-  sha512.run = "c3b2965bae0c8354e60cdd8de29cbb45dde04180d4c7955376f1889622d1eac35365fb14cfd79615c5bd98909039c4d4e8bb02bf6225bc6f40a8a95d40137a90";
-  sha512.doc = "1b10b548c3c1455520c2d190330ca996e0799fadf2aab6f9da59aaee62434dac35101021749834f05a9a40618185b430b3071d6951ee2784572014fc885acf92";
-  sha512.source = "fd6a63914cc36ae400da73572c8b7c77991808f6e1e2d5a23527719f087174c881dd7e60357a94eae46a59aa83e7dac34fcf5dde062bcfaa70cbc12a345bdbfe";
+  sha512.run = "c159620be1d7d853641d4b42108ec0b2e36b6f4b0c604680469b52cf4c0557196263293d4692906d1d42c1d0ab9a666b59d462266131e42f319a5ab3a2385780";
+  sha512.doc = "b618216a0bd8d7b65fe73be05156e899917719436ef0139122fd01047b8d55faeea55ae05e259d99c464aaeb3fdd9268886b7dec9c4b6a86209da1dcf1c3a3ca";
+  sha512.source = "0569db63bf6fd492952cdee442312e818926bceba7663ce0e17f485dbe990687d97efc02649acef6dd89210aa44f9e88c86cf2667c4a487e9b78b90b10a779ce";
   hasRunfiles = true;
   license = [ "lppl13c" ];
-  version = "0.1.7";
+  version = "0.1.10";
 };
 zwgetfdate = {
   revision = 15878;
diff --git a/pkgs/tools/virtualization/cloud-init/default.nix b/pkgs/tools/virtualization/cloud-init/default.nix
index 189bed3cea60..6791d7bf2b61 100644
--- a/pkgs/tools/virtualization/cloud-init/default.nix
+++ b/pkgs/tools/virtualization/cloud-init/default.nix
@@ -17,14 +17,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cloud-init";
-  version = "23.4.1";
+  version = "23.4.2";
   namePrefix = "";
 
   src = fetchFromGitHub {
     owner = "canonical";
     repo = "cloud-init";
     rev = "refs/tags/${version}";
-    hash = "sha256-jdL5xDQTmz1ppVr2+fX76tiscGazw5L7Q0/uQF6+ogM=";
+    hash = "sha256-Ae6xvXZR2ikriYekZbHfXG7iL0LlT7exwaaGt5odplg=";
   };
 
   patches = [
diff --git a/pkgs/tools/wayland/hyprland-per-window-layout/default.nix b/pkgs/tools/wayland/hyprland-per-window-layout/default.nix
index 626a0f57778b..81671f46ed5b 100644
--- a/pkgs/tools/wayland/hyprland-per-window-layout/default.nix
+++ b/pkgs/tools/wayland/hyprland-per-window-layout/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hyprland-per-window-layout";
-  version = "2.6";
+  version = "2.7";
 
   src = fetchFromGitHub {
     owner = "coffebar";
     repo = pname;
     rev = version;
-    hash = "sha256-g6cFZXEWKB9IxP/ARe788tXFpDofJNDWMwUU15yKYhA=";
+    hash = "sha256-Tci3OR7c8hEWAnFsBlSNZYt7znAxPRDhJV+1q7fw6z8=";
   };
 
-  cargoHash = "sha256-kVu81NnwcKksHeS5ZM/SgTuh2olMgdBBxY3cJxwuW0Q=";
+  cargoHash = "sha256-lVNephJ6UfdM6dPnHs+jHG9A79qHEsrm7tcjcDralnY=";
 
   meta = with lib; {
     description = "Per window keyboard layout (language) for Hyprland wayland compositor";
diff --git a/pkgs/tools/wayland/swayr/default.nix b/pkgs/tools/wayland/swayr/default.nix
index 1e814a915554..0d86bac82139 100644
--- a/pkgs/tools/wayland/swayr/default.nix
+++ b/pkgs/tools/wayland/swayr/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swayr";
-  version = "0.27.1";
+  version = "0.27.3";
 
   src = fetchFromSourcehut {
     owner = "~tsdh";
     repo = "swayr";
     rev = "swayr-${version}";
-    sha256 = "sha256-0qWrVf7Ou7psczg3vlFMh/QO95yPBUZ/fKQ7w0sE/4I=";
+    sha256 = "sha256-3M4/uk1E5Ly9pifjoDIUEhWf1IZxwRYUC3f3qOsMyRg=";
   };
 
-  cargoHash = "sha256-r8QcLYBKOfUdzwmohUfg4ZrLqQudIfHB/DETO9byrB0=";
+  cargoHash = "sha256-cjrt2jkcNbTabnhlu0P8mBIKbIpCE6L6BYlxi/fIwrg=";
 
   patches = [
     ./icon-paths.patch
diff --git a/pkgs/tools/wayland/wl-mirror/default.nix b/pkgs/tools/wayland/wl-mirror/default.nix
index a1640a8a0cef..1e652bdcb6ae 100644
--- a/pkgs/tools/wayland/wl-mirror/default.nix
+++ b/pkgs/tools/wayland/wl-mirror/default.nix
@@ -28,13 +28,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "wl-mirror";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "Ferdi265";
     repo = "wl-mirror";
     rev = "v${version}";
-    hash = "sha256-XZfe3UqcnpXuCsM4xulayB4I+jnLkHuW2EEiWWTOxls=";
+    hash = "sha256-RYI8UDJQnhWQc/3fO0n1D3gpPPkSKkdwmSdswGvJdYM=";
   };
 
   strictDeps = true;
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 796bc920e574..b62a6c88843e 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -179,9 +179,9 @@ mapAliases ({
   # these are for convenience, not for backward compat and shouldn't expire
   clang6Stdenv = throw "clang6Stdenv has been removed from nixpkgs"; # Added 2024-01-08
   clang7Stdenv = throw "clang7Stdenv has been removed from nixpkgs"; # Added 2023-11-19
-  clang8Stdenv = lowPrio llvmPackages_8.stdenv;
+  clang8Stdenv = throw "clang8Stdenv has been removed from nixpkgs"; # Added 2024-01-24
   clang9Stdenv = lowPrio llvmPackages_9.stdenv;
-  clang10Stdenv = lowPrio llvmPackages_10.stdenv;
+  clang10Stdenv = throw "clang10Stdenv has been removed from nixpkgs"; # Added 2024-01-26
   clang11Stdenv = lowPrio llvmPackages_11.stdenv;
   clang12Stdenv = lowPrio llvmPackages_12.stdenv;
   clang13Stdenv = lowPrio llvmPackages_13.stdenv;
@@ -192,8 +192,11 @@ mapAliases ({
 
   clang-tools_6 = throw "clang-tools_6 has been removed from nixpkgs"; # Added 2024-01-08
   clang-tools_7 = throw "clang-tools_7 has been removed from nixpkgs"; # Added 2023-11-19
+  clang-tools_8  = throw "clang-tools_8 has been removed from nixpkgs"; # Added 2024-01-24
   clang_6 = throw "clang_6 has been removed from nixpkgs"; # Added 2024-01-08
   clang_7 = throw "clang_7 has been removed from nixpkgs"; # Added 2023-11-19
+  clang_8  = throw "clang_8 has been removed from nixpkgs"; # Added 2024-01-24
+  clang_10 = throw "clang_10 has been removed from nixpkgs"; # Added 2024-01-26
 
   ### D ###
 
@@ -622,12 +625,20 @@ mapAliases ({
 
   lld_6 = throw "lld_6 has been removed from nixpkgs"; # Added 2024-01-08
   lld_7 = throw "lld_7 has been removed from nixpkgs"; # Added 2023-11-19
+  lld_8 = throw "lld_8 has been removed from nixpkgs"; # Added 2024-01-24
+  lld_10 = throw "lld_10 has been removed from nixpkgs"; # Added 2024-01-26
   lldb_6 = throw "lldb_6 has been removed from nixpkgs"; # Added 2024-01-08
   lldb_7 = throw "lldb_7 has been removed from nixpkgs"; # Added 2023-11-19
+  lldb_8 = throw "lldb_8 has been removed from nixpkgs"; # Added 2024-01-24
+  lldb_10 = throw "lldb_10 has been removed from nixpkgs"; # Added 2024-01-26
   llvmPackages_6 = throw "llvmPackages_6 has been removed from nixpkgs"; # Added 2024-01-09
   llvmPackages_7 = throw "llvmPackages_7 has been removed from nixpkgs"; # Added 2023-11-19
+  llvmPackages_8 = throw "llvmPackages_8 has been removed from nixpkgs"; # Added 2024-01-24
+  llvmPackages_10 = throw "llvmPackages_10 has been removed from nixpkgs"; # Added 2024-01-26
   llvm_6 = throw "llvm_6 has been removed from nixpkgs"; # Added 2024-01-08
   llvm_7 = throw "llvm_7 has been removed from nixpkgs"; # Added 2023-11-19
+  llvm_8 = throw "llvm_8 has been removed from nixpkgs"; # Added 2024-01-24
+  llvm_10 = throw "llvm_10 has been removed from nixpkgs"; # Added 2024-01-26
 
   lobster-two = google-fonts; # Added 2021-07-22
   luxcorerender = throw "'luxcorerender' has been removed as it's unmaintained and broken in nixpkgs since a while ago"; # Added 2023-06-07
@@ -849,6 +860,7 @@ mapAliases ({
   probe-rs-cli = throw "probe-rs-cli is now part of the probe-rs package"; # Added 2023-07-03
   processing3 = throw "'processing3' has been renamed to/replaced by 'processing'"; # Converted to throw 2023-09-10
   prometheus-dmarc-exporter = dmarc-metrics-exporter; # added 2022-05-31
+  prometheus-openvpn-exporter = throw "'prometheus-openvpn-exporter' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2023-12-23
   prometheus-speedtest-exporter = throw "prometheus-speedtest-exporter was removed as unmaintained"; # Added 2023-07-31
   protobuf3_17 = throw "protobuf3_17 does not receive updates anymore and has been removed"; # Added 2023-05-21
   protobuf3_19 = throw "protobuf3_19 does not receive updates anymore and has been removed"; # Added 2023-10-01
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0bab3ff8b0e2..e241c19a712f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -648,14 +648,7 @@ with pkgs;
   eclipse-mat = callPackage ../development/tools/eclipse-mat { };
 
   ebpf-verifier = callPackage ../tools/networking/ebpf-verifier {
-    # Replace this to `catch2 = catch2_3` when catch2 3.4.0 is merged
-    # https://github.com/NixOS/nixpkgs/pull/243485
-    catch2.src = fetchFromGitHub {
-      owner = "catchorg";
-      repo = "Catch2";
-      rev = "v3.4.0";
-      hash = "sha256-DqGGfNjKPW9HFJrX9arFHyNYjB61uoL6NabZatTWrr0=";
-    };
+    catch2 = catch2_3;
   };
 
   edgedb = callPackage ../tools/networking/edgedb {
@@ -1121,7 +1114,6 @@ with pkgs;
     inherit (darwin) cctools DarwinTools;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
     antlr = antlr4_10;
-    boost = boost177; # Configure checks for specific version.
     icu =  icu69;
     protobuf = protobuf_21;
   };
@@ -1912,8 +1904,6 @@ with pkgs;
 
   hyperpotamus = callPackage ../tools/misc/hyperpotamus { };
 
-  igir = callPackage ../tools/games/igir { };
-
   immich-cli = callPackage ../tools/misc/immich-cli { };
 
   inherit (callPackages ../tools/networking/ivpn/default.nix {}) ivpn ivpn-service;
@@ -2130,7 +2120,6 @@ with pkgs;
 
   veikk-linux-driver-gui = libsForQt5.callPackage ../tools/misc/veikk-linux-driver-gui { };
 
-  ventoy = callPackage ../tools/cd-dvd/ventoy { };
   ventoy-full = ventoy.override {
     withCryptsetup = true;
     withXfs = true;
@@ -2701,7 +2690,7 @@ with pkgs;
 
   emulationstation = callPackage ../applications/emulators/emulationstation { };
 
-  fceux = libsForQt5.callPackage ../applications/emulators/fceux { lua = lua5_1; };
+  fceux = libsForQt5.callPackage ../applications/emulators/fceux { };
 
   firebird-emu = libsForQt5.callPackage ../applications/emulators/firebird-emu { };
 
@@ -3374,6 +3363,8 @@ with pkgs;
 
   authelia = callPackage ../servers/authelia { };
 
+  authentik-outposts = recurseIntoAttrs (callPackages ../by-name/au/authentik/outposts.nix { });
+
   autoflake = with python3.pkgs; toPythonApplication autoflake;
 
   autospotting = callPackage ../applications/misc/autospotting { };
@@ -3925,8 +3916,6 @@ with pkgs;
 
   goperf = callPackage ../development/tools/goperf { };
 
-  graphite-cli = nodePackages.graphite-cli;
-
   gucci = callPackage ../tools/text/gucci { };
 
   guglielmo = libsForQt5.callPackage ../applications/radio/guglielmo { };
@@ -5200,7 +5189,9 @@ with pkgs;
 
   easyabc = callPackage ../applications/audio/easyabc { };
 
-  easycrypt = callPackage ../applications/science/logic/easycrypt { };
+  easycrypt = callPackage ../applications/science/logic/easycrypt {
+    why3 = pkgs.why3.override { ideSupport = false; };
+  };
 
   easycrypt-runtest = callPackage ../applications/science/logic/easycrypt/runtest.nix { };
 
@@ -6442,8 +6433,6 @@ with pkgs;
 
   skeema = callPackage ../tools/system/skeema { };
 
-  syslogng = callPackage ../tools/system/syslog-ng { };
-
   svt-av1 = callPackage ../tools/video/svt-av1 { };
 
   inherit (callPackages ../servers/rainloop { })
@@ -6583,7 +6572,7 @@ with pkgs;
   arpoison = callPackage ../tools/networking/arpoison { };
 
   asciidoc = callPackage ../tools/typesetting/asciidoc {
-    inherit (python3.pkgs) pygments matplotlib numpy aafigure recursivePthLoader;
+    inherit (python3.pkgs) pygments matplotlib numpy aafigure recursive-pth-loader;
     w3m = w3m-batch;
     enableStandardFeatures = false;
   };
@@ -7070,10 +7059,7 @@ with pkgs;
 
     m17n = callPackage ../tools/inputmethods/ibus-engines/ibus-m17n { };
 
-    mozc = callPackage ../tools/inputmethods/ibus-engines/ibus-mozc {
-      stdenv = clangStdenv;
-      protobuf = pkgs.protobuf_21.overrideDerivation (_: { stdenv = clangStdenv; });
-    };
+    mozc = callPackage ../tools/inputmethods/ibus-engines/ibus-mozc { };
 
     openbangla-keyboard = libsForQt5.callPackage ../applications/misc/openbangla-keyboard { withIbusSupport = true; };
 
@@ -11673,8 +11659,7 @@ with pkgs;
 
   opentsdb = callPackage ../tools/misc/opentsdb { };
 
-  inherit (callPackages ../tools/networking/openvpn {})
-    openvpn;
+  openvpn = callPackage ../tools/networking/openvpn {};
 
   openvpn3 = callPackage ../tools/networking/openvpn3 { };
 
@@ -12181,8 +12166,6 @@ with pkgs;
 
   plowshare = callPackage ../tools/misc/plowshare { };
 
-  pm2 = nodePackages.pm2;
-
   pmenu = callPackage ../tools/X11/pmenu { };
 
   pngcheck = callPackage ../tools/graphics/pngcheck { };
@@ -14610,9 +14593,7 @@ with pkgs;
 
   woodpecker-plugin-git = callPackage ../development/tools/continuous-integration/woodpecker-plugin-git { };
 
-  woodpecker-server = callPackage ../development/tools/continuous-integration/woodpecker/server.nix {
-    woodpecker-frontend = callPackage ../development/tools/continuous-integration/woodpecker/frontend.nix { };
-  };
+  woodpecker-server = callPackage ../development/tools/continuous-integration/woodpecker/server.nix { };
 
   woof = callPackage ../tools/misc/woof { };
 
@@ -15615,9 +15596,7 @@ with pkgs;
   };
 
   clang = llvmPackages.clang;
-  clang_8  = llvmPackages_8.clang;
   clang_9  = llvmPackages_9.clang;
-  clang_10 = llvmPackages_10.clang;
   clang_11 = llvmPackages_11.clang;
   clang_12 = llvmPackages_12.clang;
   clang_13 = llvmPackages_13.clang;
@@ -15628,18 +15607,10 @@ with pkgs;
 
   clang-tools = callPackage ../development/tools/clang-tools { };
 
-  clang-tools_8 = callPackage ../development/tools/clang-tools {
-    llvmPackages = llvmPackages_8;
-  };
-
   clang-tools_9 = callPackage ../development/tools/clang-tools {
     llvmPackages = llvmPackages_9;
   };
 
-  clang-tools_10 = callPackage ../development/tools/clang-tools {
-    llvmPackages = llvmPackages_10;
-  };
-
   clang-tools_11 = callPackage ../development/tools/clang-tools {
     llvmPackages = llvmPackages_11;
   };
@@ -16589,9 +16560,7 @@ with pkgs;
   };
 
   lld = llvmPackages.lld;
-  lld_8 = llvmPackages_8.lld;
   lld_9 = llvmPackages_9.lld;
-  lld_10 = llvmPackages_10.lld;
   lld_11 = llvmPackages_11.lld;
   lld_12 = llvmPackages_12.lld;
   lld_13 = llvmPackages_13.lld;
@@ -16601,9 +16570,7 @@ with pkgs;
   lld_17 = llvmPackages_17.lld;
 
   lldb = llvmPackages.lldb;
-  lldb_8 = llvmPackages_8.lldb;
   lldb_9 = llvmPackages_9.lldb;
-  lldb_10 = llvmPackages_10.lldb;
   lldb_11 = llvmPackages_11.lldb;
   lldb_12 = llvmPackages_12.lldb;
   lldb_13 = llvmPackages_13.lldb;
@@ -16613,9 +16580,7 @@ with pkgs;
   lldb_17 = llvmPackages_17.lldb;
 
   llvm = llvmPackages.llvm;
-  llvm_8  = llvmPackages_8.llvm;
   llvm_9  = llvmPackages_9.llvm;
-  llvm_10 = llvmPackages_10.llvm;
   llvm_11 = llvmPackages_11.llvm;
   llvm_12 = llvmPackages_12.llvm;
   llvm_13 = llvmPackages_13.llvm;
@@ -16645,14 +16610,6 @@ with pkgs;
       stdenv.targetPlatform));
   in pkgs.${"llvmPackages_${minSupported}"};
 
-  llvmPackages_8 = recurseIntoAttrs (callPackage ../development/compilers/llvm/8 {
-    inherit (stdenvAdapters) overrideCC;
-    buildLlvmTools = buildPackages.llvmPackages_8.tools;
-    targetLlvm = targetPackages.llvmPackages_8.llvm or llvmPackages_8.llvm;
-    targetLlvmLibraries = targetPackages.llvmPackages_8.libraries or llvmPackages_8.libraries;
-    stdenv = if stdenv.cc.cc.isGNU or false then gcc12Stdenv else stdenv; # does not build with gcc13
-  });
-
   llvmPackages_9 = recurseIntoAttrs (callPackage ../development/compilers/llvm/9 {
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_9.tools;
@@ -16661,14 +16618,6 @@ with pkgs;
     stdenv = if stdenv.cc.cc.isGNU or false then gcc12Stdenv else stdenv; # does not build with gcc13
   });
 
-  llvmPackages_10 = recurseIntoAttrs (callPackage ../development/compilers/llvm/10 {
-    inherit (stdenvAdapters) overrideCC;
-    buildLlvmTools = buildPackages.llvmPackages_10.tools;
-    targetLlvm = targetPackages.llvmPackages_10.llvm or llvmPackages_10.llvm;
-    targetLlvmLibraries = targetPackages.llvmPackages_10.libraries or llvmPackages_10.libraries;
-    stdenv = if stdenv.cc.cc.isGNU or false then gcc12Stdenv else stdenv; # does not build with gcc13
-  });
-
   llvmPackages_11 = recurseIntoAttrs (callPackage ../development/compilers/llvm/11 ({
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_11.tools;
@@ -16808,9 +16757,7 @@ with pkgs;
 
   neko = callPackage ../development/compilers/neko { };
 
-  nextpnr = callPackage ../development/compilers/nextpnr { };
-
-  nextpnrWithGui = libsForQt5.callPackage ../development/compilers/nextpnr {
+  nextpnrWithGui = libsForQt5.callPackage ../by-name/ne/nextpnr/package.nix {
     enableGui = true;
     inherit (darwin.apple_sdk.frameworks) OpenGL;
   };
@@ -17641,9 +17588,7 @@ with pkgs;
 
   ivy = callPackage ../development/interpreters/ivy { };
 
-  j = callPackage ../development/interpreters/j {
-    stdenv = clangStdenv;
-  };
+  j = callPackage ../development/interpreters/j { };
 
   jacinda = haskell.lib.compose.justStaticExecutables haskellPackages.jacinda;
 
@@ -17958,9 +17903,8 @@ with pkgs;
   racket-minimal = callPackage ../development/interpreters/racket/minimal.nix { };
 
   rakudo = callPackage ../development/interpreters/rakudo { };
-  moarvm = callPackage ../development/interpreters/rakudo/moarvm.nix {
-    inherit (darwin) cctools-port;
-    inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
+  moarvm = darwin.apple_sdk_11_0.callPackage ../development/interpreters/rakudo/moarvm.nix {
+    inherit (darwin.apple_sdk_11_0.frameworks) CoreServices ApplicationServices;
   };
   nqp = callPackage  ../development/interpreters/rakudo/nqp.nix { };
   zef = callPackage ../development/interpreters/rakudo/zef.nix { };
@@ -18206,9 +18150,7 @@ with pkgs;
 
   publii = callPackage ../development/web/publii {};
 
-  umr = callPackage ../development/misc/umr {
-    llvmPackages = llvmPackages_14;
-  };
+  umr = callPackage ../development/misc/umr { };
 
   refurb = callPackage ../development/tools/refurb { };
 
@@ -19599,7 +19541,9 @@ with pkgs;
   minify = callPackage ../development/web/minify { };
 
   minizinc = callPackage ../development/tools/minizinc { };
-  minizincide = libsForQt5.callPackage ../development/tools/minizinc/ide.nix { };
+  minizincide = qt6Packages.callPackage ../development/tools/minizinc/ide.nix {
+    inherit (darwin.apple_sdk_11_0.frameworks) Cocoa;
+  };
 
   mkcert = callPackage ../development/tools/misc/mkcert { };
 
@@ -20451,6 +20395,12 @@ with pkgs;
       then overrideSDK stdenv { darwinMinVersion = "10.13"; }
       else stdenv;
   };
+  abseil-cpp_202401 = callPackage ../development/libraries/abseil-cpp/202401.nix {
+    # If abseil-cpp doesn’t have a deployment target of 10.13+, arrow-cpp crashes in libgrpc.dylib.
+    stdenv = if stdenv.isDarwin && stdenv.isx86_64
+      then overrideSDK stdenv { darwinMinVersion = "10.13"; }
+      else stdenv;
+  };
   abseil-cpp = abseil-cpp_202301;
 
   accountsservice = callPackage ../development/libraries/accountsservice { };
@@ -20646,8 +20596,6 @@ with pkgs;
     else callPackage ../os-specific/linux/bionic-prebuilt { };
 
 
-  bobcat = pin-to-gcc12-if-gcc13 (callPackage ../development/libraries/bobcat { });
-
   boehmgc = callPackage ../development/libraries/boehm-gc { };
 
   boolstuff = callPackage ../development/libraries/boolstuff { };
@@ -23872,8 +23820,6 @@ with pkgs;
 
   mdctags = callPackage ../development/tools/misc/mdctags { };
 
-  md4c = callPackage ../development/libraries/md4c { };
-
   mdds = callPackage ../development/libraries/mdds { };
 
   mediastreamer = libsForQt5.callPackage ../development/libraries/mediastreamer { };
@@ -24059,10 +24005,6 @@ with pkgs;
 
   mujoco = callPackage ../applications/science/robotics/mujoco { };
 
-  muparser = callPackage ../development/libraries/muparser {
-    inherit (darwin.stubs) setfile;
-  };
-
   muparserx = callPackage ../development/libraries/muparserx { };
 
   mutest = callPackage ../development/libraries/mutest { };
@@ -26035,17 +25977,17 @@ with pkgs;
   };
 
   # Steel Bank Common Lisp
-  sbcl_2_3_11 = wrapLisp {
-    pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.11"; };
+  sbcl_2_4_0 = wrapLisp {
+    pkg = callPackage ../by-name/sb/sbcl/package.nix { version = "2.4.0"; };
     faslExt = "fasl";
     flags = [ "--dynamic-space-size" "3000" ];
   };
-  sbcl_2_4_0 = wrapLisp {
-    pkg = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.4.0"; };
+  sbcl_2_4_1 = wrapLisp {
+    pkg = callPackage ../by-name/sb/sbcl/package.nix { version = "2.4.1"; };
     faslExt = "fasl";
     flags = [ "--dynamic-space-size" "3000" ];
   };
-  sbcl = sbcl_2_4_0;
+  sbcl = sbcl_2_4_1;
 
   sbclPackages = recurseIntoAttrs sbcl.pkgs;
 
@@ -27154,7 +27096,6 @@ with pkgs;
   };
   prometheus-nut-exporter = callPackage ../servers/monitoring/prometheus/nut-exporter.nix { };
   prometheus-openldap-exporter = callPackage ../servers/monitoring/prometheus/openldap-exporter.nix { } ;
-  prometheus-openvpn-exporter = callPackage ../servers/monitoring/prometheus/openvpn-exporter.nix { };
   prometheus-pgbouncer-exporter = callPackage ../servers/monitoring/prometheus/pgbouncer-exporter.nix { };
   prometheus-php-fpm-exporter = callPackage ../servers/monitoring/prometheus/php-fpm-exporter.nix { };
   prometheus-pihole-exporter = callPackage ../servers/monitoring/prometheus/pihole-exporter.nix {  };
@@ -27511,8 +27452,6 @@ with pkgs;
 
   yaws = callPackage ../servers/http/yaws { };
 
-  youtrack = callPackage ../servers/jetbrains/youtrack.nix { };
-
   zabbixFor = version: rec {
     agent = (callPackages ../servers/monitoring/zabbix/agent.nix {}).${version};
     proxy-mysql = (callPackages ../servers/monitoring/zabbix/proxy.nix { mysqlSupport = true; }).${version};
@@ -28114,6 +28053,8 @@ with pkgs;
   linux_6_5_hardened = linuxKernel.kernels.linux_6_5_hardened;
   linuxPackages_6_6_hardened = linuxKernel.packages.linux_6_6_hardened;
   linux_6_6_hardened = linuxKernel.kernels.linux_6_6_hardened;
+  linuxPackages_6_7_hardened = linuxKernel.packages.linux_6_7_hardened;
+  linux_6_7_hardened = linuxKernel.kernels.linux_6_7_hardened;
 
   # GNU Linux-libre kernels
   linuxPackages-libre = linuxKernel.packages.linux_libre;
@@ -29359,8 +29300,6 @@ with pkgs;
     inherit (plasma5Packages) breeze-icons;
   };
 
-  gruvbox-gtk-theme = callPackage ../data/themes/gruvbox-gtk-theme { };
-
   gubbi-font = callPackage ../data/fonts/gubbi { };
 
   gyre-fonts = callPackage ../data/fonts/gyre { };
@@ -30864,7 +30803,7 @@ with pkgs;
 
   clapper = callPackage ../applications/video/clapper { };
 
-  claws-mail = disable-warnings-if-gcc13 (callPackage ../applications/networking/mailreaders/claws-mail { });
+  claws-mail = callPackage ../applications/networking/mailreaders/claws-mail { };
 
   cligh = python3Packages.callPackage ../development/tools/github/cligh { };
 
@@ -31574,7 +31513,11 @@ with pkgs;
   fvwm2 = callPackage ../applications/window-managers/fvwm/2.6.nix { };
   fvwm3 = callPackage ../applications/window-managers/fvwm/3.nix { };
 
-  ganttproject-bin = callPackage ../applications/misc/ganttproject-bin { };
+  ganttproject-bin = callPackage ../applications/misc/ganttproject-bin {
+    jre = openjdk17.override {
+      enableJavaFX = true;
+    };
+  };
 
   gaucheBootstrap = darwin.apple_sdk_11_0.callPackage ../development/interpreters/gauche/boot.nix { };
 
@@ -31673,12 +31616,14 @@ with pkgs;
       };
     };
   };
-  gnuradio3_8 = disable-warnings-if-gcc13 (callPackage ../applications/radio/gnuradio/wrapper.nix {
-    unwrapped = callPackage ../applications/radio/gnuradio/3.8.nix {
+  gnuradio3_8 = callPackage ../applications/radio/gnuradio/wrapper.nix {
+    unwrapped = callPackage ../applications/radio/gnuradio/3.8.nix ({
       inherit (darwin.apple_sdk.frameworks) CoreAudio;
       python = python3;
-    };
-  });
+    } // lib.optionalAttrs stdenv.isLinux {
+      stdenv = pkgs.stdenvAdapters.useLibsFrom stdenv pkgs.gcc12Stdenv;
+    });
+  };
   gnuradio3_8Packages = lib.recurseIntoAttrs gnuradio3_8.pkgs;
   # A build without gui components and other utilites not needed if gnuradio is
   # used as a c++ library.
@@ -31767,8 +31712,6 @@ with pkgs;
 
   gthumb = callPackage ../applications/graphics/gthumb { };
 
-  gtimelog = with python3Packages; toPythonApplication gtimelog;
-
   inherit (gnome) gucharmap;
 
   guitarix = callPackage ../applications/audio/guitarix {
@@ -32400,9 +32343,7 @@ with pkgs;
 
   ht = callPackage ../applications/editors/ht { };
 
-  xh = callPackage ../tools/networking/xh {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  xh = callPackage ../tools/networking/xh { };
 
   hubstaff = callPackage ../applications/misc/hubstaff { };
 
@@ -34380,9 +34321,9 @@ with pkgs;
 
   openbrf = libsForQt5.callPackage ../applications/misc/openbrf { };
 
-  opencpn = darwin.apple_sdk_11_0.callPackage ../applications/misc/opencpn {
+  opencpn = callPackage ../applications/misc/opencpn {
     inherit (darwin) DarwinTools;
-    inherit (darwin.apple_sdk_11_0.frameworks) AppKit;
+    inherit (darwin.apple_sdk.frameworks) AppKit;
   };
 
   openfx = callPackage ../development/libraries/openfx { };
@@ -34877,8 +34818,6 @@ with pkgs;
 
   qtpass = libsForQt5.callPackage ../applications/misc/qtpass { };
 
-  qtractor = libsForQt5.callPackage ../applications/audio/qtractor { };
-
   quantomatic = callPackage ../applications/science/physics/quantomatic { };
 
   quassel = libsForQt5.callPackage ../applications/networking/irc/quassel {
@@ -35376,7 +35315,9 @@ with pkgs;
 
   printrun = callPackage ../applications/misc/printrun { };
 
-  prusa-slicer = darwin.apple_sdk_11_0.callPackage ../applications/misc/prusa-slicer { };
+  prusa-slicer = darwin.apple_sdk_11_0.callPackage ../applications/misc/prusa-slicer {
+    stdenv = if stdenv.isDarwin then overrideLibcxx darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv;
+  };
 
   super-slicer = darwin.apple_sdk_11_0.callPackage ../applications/misc/prusa-slicer/super-slicer.nix { };
 
@@ -37737,8 +37678,6 @@ with pkgs;
 
   gav = callPackage ../games/gav { };
 
-  gcs = callPackage ../games/gcs { };
-
   gcompris = libsForQt5.callPackage ../games/gcompris { };
 
   gemrb = callPackage ../games/gemrb { };
@@ -38867,7 +38806,7 @@ with pkgs;
     python3 = python311;
   };
 
-  deeptools = callPackage ../applications/science/biology/deeptools { python = python3; };
+  deeptools = callPackage ../applications/science/biology/deeptools { };
 
   deep-translator = with python3Packages; toPythonApplication deep-translator;
 
@@ -39651,7 +39590,7 @@ with pkgs;
 
   avy = callPackage ../applications/science/logic/avy { };
 
-  btor2tools = pin-to-gcc12-if-gcc13 (callPackage ../applications/science/logic/btor2tools { });
+  btor2tools = callPackage ../applications/science/logic/btor2tools { };
 
   boolector = callPackage ../applications/science/logic/boolector {
     stdenv = if stdenv.cc.isClang then overrideLibcxx llvmPackages_14.stdenv else stdenv;
@@ -40490,7 +40429,7 @@ with pkgs;
   loop = callPackage ../tools/misc/loop { };
 
   mailcore2 = callPackage ../development/libraries/mailcore2 {
-    icu = icu58;
+    icu = icu71;
   };
 
   mamba = callPackage ../applications/audio/mamba { };
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index fed85970d9bb..4a79bee73fdf 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -125,6 +125,7 @@ let
       vcfloat = callPackage ../development/coq-modules/vcfloat {};
       Velisarios = callPackage ../development/coq-modules/Velisarios {};
       Verdi = callPackage ../development/coq-modules/Verdi {};
+      vscoq-language-server = callPackage ../development/coq-modules/vscoq-language-server {};
       VST = callPackage ../development/coq-modules/VST ((lib.optionalAttrs
         (lib.versionAtLeast self.coq.version "8.14") {
           compcert = self.compcert.override {
diff --git a/pkgs/top-level/gnuradio-packages.nix b/pkgs/top-level/gnuradio-packages.nix
index 08cc25980240..5adac2cf98e6 100644
--- a/pkgs/top-level/gnuradio-packages.nix
+++ b/pkgs/top-level/gnuradio-packages.nix
@@ -24,6 +24,7 @@ let
     ;
     inherit mkDerivationWith mkDerivation;
     inherit gnuradio;
+    inherit (gnuradio) gnuradioOlder gnuradioAtLeast;
   } // lib.optionalAttrs (gnuradio.hasFeature "gr-uhd") {
     inherit (gnuradio) uhd;
   });
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 9017edd70126..26fe5c042b91 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -190,6 +190,8 @@ in {
       kernelPatches = [
         kernelPatches.bridge_stp_helper
         kernelPatches.request_key_helper
+        kernelPatches.rust_1_74
+        kernelPatches.rust_1_75
       ];
     };
 
@@ -201,6 +203,7 @@ in {
         kernelPatches = [
           kernelPatches.bridge_stp_helper
           kernelPatches.request_key_helper
+          kernelPatches.rust_1_75
         ];
       };
       latest = packageAliases.linux_latest.kernel;
@@ -257,6 +260,7 @@ in {
     linux_6_1_hardened = hardenedKernelFor kernels.linux_6_1 { };
     linux_6_5_hardened = hardenedKernelFor kernels.linux_6_5 { };
     linux_6_6_hardened = hardenedKernelFor kernels.linux_6_6 { };
+    linux_6_7_hardened = hardenedKernelFor kernels.linux_6_7 { };
 
   } // lib.optionalAttrs config.allowAliases {
     linux_4_9 = throw "linux 4.9 was removed because it will reach its end of life within 22.11";
@@ -632,6 +636,7 @@ in {
     linux_6_1_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_1_hardened);
     linux_6_5_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_5_hardened);
     linux_6_6_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_6_hardened);
+    linux_6_7_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_7_hardened);
 
     linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen);
     linux_lqx = recurseIntoAttrs (packagesFor kernels.linux_lqx);
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 7b3aa1c57abd..ea09cd090fb2 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -922,7 +922,9 @@ let
 
     lambda-term = callPackage ../development/ocaml-modules/lambda-term { };
 
-    lambdapi = callPackage ../development/ocaml-modules/lambdapi { };
+    lambdapi = callPackage ../development/ocaml-modules/lambdapi {
+      why3 = pkgs.why3.override { ocamlPackages = self; };
+    };
 
     lambdasoup = callPackage ../development/ocaml-modules/lambdasoup { };
 
@@ -1757,6 +1759,10 @@ let
 
     timed = callPackage ../development/ocaml-modules/timed { };
 
+    timedesc = callPackage ../development/ocaml-modules/timedesc { };
+    timedesc-tzdb = callPackage ../development/ocaml-modules/timedesc/tzdb.nix { };
+    timedesc-tzlocal = callPackage ../development/ocaml-modules/timedesc/tzlocal.nix { };
+
     tiny_httpd = callPackage ../development/ocaml-modules/tiny_httpd { };
 
     tls = callPackage ../development/ocaml-modules/tls { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 924afc1577c4..0b4118717108 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -23927,12 +23927,12 @@ with self; {
 
   SysVirt = buildPerlModule rec {
     pname = "Sys-Virt";
-    version = "9.8.0";
+    version = "10.0.0";
     src = fetchFromGitLab {
       owner = "libvirt";
       repo = "libvirt-perl";
       rev = "v${version}";
-      hash = "sha256-xLrqD1fFbDYS4HH85vYCeaKZeNwXQpjPXfGpJCFumg8=";
+      hash = "sha256-FK2SaerA/GB0ZAg/QXG9Ig1Cvpg6v9lh1sKPjYU52M8=";
     };
     nativeBuildInputs = [ pkgs.pkg-config ];
     buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 751a13b34ce7..c3ff83d20c83 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -370,7 +370,8 @@ lib.makeScope pkgs.newScope (self: with self; {
           configureFlags = [
             "--enable-dom"
           ];
-          patches = lib.optionals (lib.versionOlder php.version "8.2.14") [
+          # Add a PHP lower version bound constraint to avoid applying the patch on older PHP versions.
+          patches = lib.optionals (lib.versionOlder php.version "8.2.14" && lib.versionAtLeast php.version "8.1") [
             # Fix tests with libxml 2.12
             # Part of 8.3.1RC1+, 8.2.14RC1+
             (fetchpatch {
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index ad98e21d5ef5..c6bbb79ce367 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -192,6 +192,7 @@ mapAliases ({
   grappelli_safe = grappelli-safe; # added 2023-10-08
   groestlcoin_hash = groestlcoin-hash; # added 2024-01-06
   grpc_google_iam_v1 = grpc-google-iam-v1; # added 2021-08-21
+  inherit (pkgs) gtimelog;
   guzzle_sphinx_theme = guzzle-sphinx-theme; # added 2023-10-16
   ha-av = throw "ha-av was removed, because it is no longer maintained"; # added 2022-04-06
   HAP-python = hap-python; # added 2021-06-01
@@ -425,6 +426,7 @@ mapAliases ({
   rdflib-jsonld = throw "rdflib-jsonld is not compatible with rdflib 6"; # added 2021-11-05
   readme_renderer = readme-renderer; # added 2024-01-07
   recaptcha_client = throw "recaptcha_client has been removed since it is no longer maintained"; # added 2023-10-20
+  recursivePthLoader = recursive-pth-loader; # added 2024-01-07
   rednose = throw "rednose is no longer maintained (since February 2018)"; # added 2023-08-06
   repeated_test = repeated-test; # added 2022-11-15
   repoze_lru = repoze-lru; # added 2023-11-11
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index e48f85ef1392..c46adcf249fd 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -617,6 +617,8 @@ self: super: with self; {
 
   aocd = callPackage ../development/python-modules/aocd { };
 
+  aocd-example-parser = callPackage ../development/python-modules/aocd-example-parser { };
+
   apache-beam = callPackage ../development/python-modules/apache-beam { };
 
   apcaccess = callPackage ../development/python-modules/apcaccess { };
@@ -1014,6 +1016,8 @@ self: super: with self; {
 
   awsiotpythonsdk = callPackage ../development/python-modules/awsiotpythonsdk { };
 
+  awsipranges = callPackage ../development/python-modules/awsipranges { };
+
   awslambdaric = callPackage ../development/python-modules/awslambdaric { };
 
   awswrangler = callPackage ../development/python-modules/awswrangler { };
@@ -2756,6 +2760,8 @@ self: super: with self; {
 
   decopatch = callPackage ../development/python-modules/decopatch { };
 
+  deebot-client = callPackage ../development/python-modules/deebot-client { };
+
   deemix = callPackage ../development/python-modules/deemix { };
 
   deep-chainmap = callPackage ../development/python-modules/deep-chainmap { };
@@ -3044,6 +3050,8 @@ self: super: with self; {
 
   django-crispy-bootstrap4 = callPackage ../development/python-modules/django-crispy-bootstrap4 { };
 
+  django-crispy-bootstrap5 = callPackage ../development/python-modules/django-crispy-bootstrap5 { };
+
   django-crispy-forms = callPackage ../development/python-modules/django-crispy-forms { };
 
   django-crontab = callPackage ../development/python-modules/django-crontab { };
@@ -3394,6 +3402,8 @@ self: super: with self; {
 
   dpkt = callPackage ../development/python-modules/dpkt { };
 
+  dploot = callPackage ../development/python-modules/dploot { };
+
   draftjs-exporter = callPackage ../development/python-modules/draftjs-exporter { };
 
   dragonfly = callPackage ../development/python-modules/dragonfly { };
@@ -4990,8 +5000,6 @@ self: super: with self; {
 
   gtfs-realtime-bindings = callPackage ../development/python-modules/gtfs-realtime-bindings { };
 
-  gtimelog = callPackage ../development/python-modules/gtimelog { };
-
   gto = callPackage ../development/python-modules/gto { };
 
   gtts = callPackage ../development/python-modules/gtts { };
@@ -6121,6 +6129,8 @@ self: super: with self; {
 
   keyring = callPackage ../development/python-modules/keyring { };
 
+  keyring-pass = callPackage ../development/python-modules/keyring-pass { };
+
   keyrings-cryptfile = callPackage ../development/python-modules/keyrings-cryptfile { };
 
   keyrings-google-artifactregistry-auth = callPackage ../development/python-modules/keyrings-google-artifactregistry-auth { };
@@ -8363,6 +8373,8 @@ self: super: with self; {
 
   ninja = callPackage ../development/python-modules/ninja { inherit (pkgs) ninja; };
 
+  nipreps-versions = callPackage ../development/python-modules/nipreps-versions { };
+
   nipy = callPackage ../development/python-modules/nipy { };
 
   nipype = callPackage ../development/python-modules/nipype {
@@ -8375,6 +8387,8 @@ self: super: with self; {
 
   nitransforms = callPackage ../development/python-modules/nitransforms { };
 
+  niworkflows = callPackage ../development/python-modules/niworkflows { };
+
   nix-kernel = callPackage ../development/python-modules/nix-kernel {
     inherit (pkgs) nix;
   };
@@ -12486,6 +12500,8 @@ self: super: with self; {
 
   recurring-ical-events = callPackage ../development/python-modules/recurring-ical-events { };
 
+  recursive-pth-loader = toPythonModule (callPackage ../development/python-modules/recursive-pth-loader { });
+
   redbaron = callPackage ../development/python-modules/redbaron { };
 
   redis = callPackage ../development/python-modules/redis { };
@@ -12706,6 +12722,8 @@ self: super: with self; {
 
   rmrl = callPackage ../development/python-modules/rmrl { };
 
+  rmscene = callPackage ../development/python-modules/rmscene { };
+
   rmsd = callPackage ../development/python-modules/rmsd { };
 
   rnc2rng = callPackage ../development/python-modules/rnc2rng { };
@@ -12722,6 +12740,8 @@ self: super: with self; {
 
   robotframework-databaselibrary = callPackage ../development/python-modules/robotframework-databaselibrary { };
 
+  robotframework-excellib = callPackage ../development/python-modules/robotframework-excellib { };
+
   robotframework-pythonlibcore = callPackage ../development/python-modules/robotframework-pythonlibcore { };
 
   robotframework-requests = callPackage ../development/python-modules/robotframework-requests { };
@@ -13182,6 +13202,8 @@ self: super: with self; {
 
   sharkiq = callPackage ../development/python-modules/sharkiq { };
 
+  sharp-aquos-rc = callPackage ../development/python-modules/sharp-aquos-rc { };
+
   shazamio = callPackage ../development/python-modules/shazamio { };
 
   sh = callPackage ../development/python-modules/sh { };
@@ -13272,6 +13294,10 @@ self: super: with self; {
 
   simplesat = callPackage ../development/python-modules/simplesat { };
 
+  simple-dftd3 = callPackage ../development/libraries/science/chemistry/simple-dftd3/python.nix {
+    inherit (pkgs) simple-dftd3;
+  };
+
   simple-di = callPackage ../development/python-modules/simple-di { };
 
   simple-rest-client = callPackage ../development/python-modules/simple-rest-client { };
@@ -14000,8 +14026,12 @@ self: super: with self; {
 
   svg-path = callPackage ../development/python-modules/svg-path { };
 
+  svg-py = callPackage ../development/python-modules/svg-py { };
+
   svgelements = callPackage ../development/python-modules/svgelements { };
 
+  svgutils = callPackage ../development/python-modules/svgutils { };
+
   svgwrite = callPackage ../development/python-modules/svgwrite { };
 
   sv-ttk = callPackage ../development/python-modules/sv-ttk { };
@@ -14102,8 +14132,7 @@ self: super: with self; {
   tblib = callPackage ../development/python-modules/tblib { };
 
   tblite = callPackage ../development/libraries/science/chemistry/tblite/python.nix {
-    tblite = pkgs.tblite;
-    meson = pkgs.meson;
+    inherit (pkgs) tblite meson simple-dftd3;
   };
 
   tbm-utils = callPackage ../development/python-modules/tbm-utils { };
@@ -14142,6 +14171,8 @@ self: super: with self; {
 
   tempita = callPackage ../development/python-modules/tempita { };
 
+  templateflow = callPackage ../development/python-modules/templateflow { };
+
   tempora = callPackage ../development/python-modules/tempora { };
 
   tenacity = callPackage ../development/python-modules/tenacity { };
@@ -14268,6 +14299,8 @@ self: super: with self; {
 
   tern = callPackage ../development/python-modules/tern { };
 
+  tesla-fleet-api = callPackage ../development/python-modules/tesla-fleet-api { };
+
   tesla-powerwall = callPackage ../development/python-modules/tesla-powerwall { };
 
   tesla-wall-connector = callPackage ../development/python-modules/tesla-wall-connector { };
diff --git a/pkgs/top-level/qt6-packages.nix b/pkgs/top-level/qt6-packages.nix
index 940a5e154562..571a12ef50d6 100644
--- a/pkgs/top-level/qt6-packages.nix
+++ b/pkgs/top-level/qt6-packages.nix
@@ -70,6 +70,10 @@ makeScopeWithSplicing' {
 
   qscintilla = callPackage ../development/libraries/qscintilla { };
 
+  qwlroots = callPackage ../development/libraries/qwlroots {
+    wlroots = pkgs.wlroots_0_17;
+  };
+
   qxlsx = callPackage ../development/libraries/qxlsx { };
 
   qzxing = callPackage ../development/libraries/qzxing { };
@@ -84,6 +88,8 @@ makeScopeWithSplicing' {
   # is, to allow users to choose the right build if needed.
   sddm = callPackage ../applications/display-managers/sddm {};
 
+  waylib = callPackage ../development/libraries/waylib { };
+
   } // lib.optionalAttrs pkgs.config.allowAliases {
     # Convert to a throw on 01-01-2023.
     # Warnings show up in various cli tool outputs, throws do not.