about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/check-maintainers-sorted.yaml7
-rw-r--r--doc/languages-frameworks/beam.section.md10
-rw-r--r--doc/languages-frameworks/dotnet.section.md2
-rw-r--r--doc/languages-frameworks/rust.section.md130
-rw-r--r--doc/stdenv/stdenv.chapter.md110
-rw-r--r--maintainers/maintainer-list.nix68
-rwxr-xr-xmaintainers/scripts/update-octave-packages468
-rw-r--r--maintainers/scripts/update-octave-shell.nix12
-rw-r--r--nixos/doc/manual/default.nix6
-rw-r--r--nixos/doc/manual/release-notes/rl-2205.section.md2
-rw-r--r--nixos/doc/manual/release-notes/rl-2305.section.md27
-rw-r--r--nixos/lib/test-driver/test_driver/machine.py7
-rw-r--r--nixos/modules/config/console.nix25
-rw-r--r--nixos/modules/config/fonts/fonts.nix53
-rw-r--r--nixos/modules/config/zram.nix20
-rw-r--r--nixos/modules/hardware/video/hidpi.nix24
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl15
-rw-r--r--nixos/modules/installer/tools/tools.nix5
-rw-r--r--nixos/modules/module-list.nix5
-rw-r--r--nixos/modules/programs/ccache.nix2
-rw-r--r--nixos/modules/programs/regreet.nix75
-rw-r--r--nixos/modules/programs/starship.nix25
-rw-r--r--nixos/modules/rename.nix1
-rw-r--r--nixos/modules/services/backup/restic.nix7
-rw-r--r--nixos/modules/services/hardware/keyd.nix112
-rw-r--r--nixos/modules/services/hardware/supergfxd.nix1
-rw-r--r--nixos/modules/services/mail/roundcube.nix2
-rw-r--r--nixos/modules/services/matrix/synapse.md5
-rw-r--r--nixos/modules/services/misc/gitlab.nix2
-rw-r--r--nixos/modules/services/misc/portunus.nix2
-rw-r--r--nixos/modules/services/misc/sssd.nix5
-rw-r--r--nixos/modules/services/monitoring/prometheus/alertmanager-irc-relay.nix107
-rw-r--r--nixos/modules/services/networking/firewall-nftables.nix16
-rw-r--r--nixos/modules/services/networking/headscale.nix9
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix2
-rw-r--r--nixos/modules/services/networking/yggdrasil.nix200
-rw-r--r--nixos/modules/services/security/fail2ban.nix12
-rw-r--r--nixos/modules/services/web-apps/baget.nix170
-rw-r--r--nixos/modules/services/web-apps/limesurvey.nix33
-rw-r--r--nixos/modules/services/web-apps/nextcloud.md2
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix72
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix138
-rw-r--r--nixos/modules/services/x11/xserver.nix37
-rw-r--r--nixos/modules/system/boot/networkd.nix1094
-rw-r--r--nixos/tests/all-tests.nix3
-rw-r--r--nixos/tests/gitea.nix2
-rw-r--r--nixos/tests/gollum.nix2
-rw-r--r--nixos/tests/keyd.nix82
-rw-r--r--nixos/tests/nextcloud/default.nix2
-rw-r--r--nixos/tests/nextcloud/openssl-sse.nix5
-rw-r--r--nixos/tests/noto-fonts-cjk-qt-default-weight.nix30
-rw-r--r--nixos/tests/restic.nix6
-rw-r--r--nixos/tests/sgtpuzzles.nix34
-rw-r--r--nixos/tests/sssd.nix1
-rw-r--r--nixos/tests/zram-generator.nix34
-rw-r--r--pkgs/applications/audio/go-musicfox/default.nix6
-rw-r--r--pkgs/applications/audio/mellowplayer/default.nix2
-rw-r--r--pkgs/applications/audio/minidsp/default.nix40
-rw-r--r--pkgs/applications/audio/mpdevil/default.nix6
-rw-r--r--pkgs/applications/audio/musescore/default.nix4
-rw-r--r--pkgs/applications/audio/open-stage-control/default.nix2
-rw-r--r--pkgs/applications/audio/sidplayfp/default.nix4
-rw-r--r--pkgs/applications/audio/sonic-visualiser/default.nix15
-rw-r--r--pkgs/applications/audio/tauon/default.nix4
-rw-r--r--pkgs/applications/audio/tonelib-gfx/default.nix6
-rw-r--r--pkgs/applications/audio/tonelib-jam/default.nix6
-rw-r--r--pkgs/applications/audio/tonelib-metal/default.nix6
-rw-r--r--pkgs/applications/audio/tony/default.nix18
-rw-r--r--pkgs/applications/audio/yoshimi/default.nix4
-rw-r--r--pkgs/applications/audio/zrythm/default.nix8
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/display-managers/greetd/regreet.nix8
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/mind-wave/default.nix89
-rw-r--r--pkgs/applications/editors/helix/default.nix4
-rw-r--r--pkgs/applications/editors/moe/default.nix34
-rw-r--r--pkgs/applications/editors/neovim/utils.nix3
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix818
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix89
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix39
-rw-r--r--pkgs/applications/editors/vim/plugins/patches/openscad.nvim/program_paths.patch44
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names5
-rw-r--r--pkgs/applications/editors/vscode/extensions/WakaTime.vscode-wakatime/default.nix (renamed from pkgs/applications/editors/vscode/extensions/wakatime/default.nix)4
-rw-r--r--pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix (renamed from pkgs/applications/editors/vscode/extensions/rescript/default.nix)6
-rw-r--r--pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix (renamed from pkgs/applications/editors/vscode/extensions/rescript/rescript-editor-analysis.nix)6
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix1440
-rw-r--r--pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix (renamed from pkgs/applications/editors/vscode/extensions/terraform/default.nix)6
-rw-r--r--pkgs/applications/editors/vscode/extensions/hashicorp.terraform/fix-terraform-ls.patch (renamed from pkgs/applications/editors/vscode/extensions/terraform/fix-terraform-ls.patch)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix6
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-dotnettools.csharp/default.nix (renamed from pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/default.nix)6
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix (renamed from pkgs/applications/editors/vscode/extensions/python/default.nix)6
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix (renamed from pkgs/applications/editors/vscode/extensions/ms-toolsai-jupyter/default.nix)6
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-vscode-remote.remote-ssh/default.nix (renamed from pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix)6
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix (renamed from pkgs/applications/editors/vscode/extensions/cpptools/default.nix)6
-rwxr-xr-xpkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/missing_elf_deps.sh (renamed from pkgs/applications/editors/vscode/extensions/cpptools/missing_elf_deps.sh)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/package-activation-events.json (renamed from pkgs/applications/editors/vscode/extensions/cpptools/package-activation-events.json)0
-rwxr-xr-xpkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/update_helper.sh (renamed from pkgs/applications/editors/vscode/extensions/cpptools/update_helper.sh)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix (renamed from pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/default.nix)6
-rw-r--r--pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps/package.json (renamed from pkgs/applications/editors/vscode/extensions/rust-analyzer/build-deps/package.json)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix (renamed from pkgs/applications/editors/vscode/extensions/rust-analyzer/default.nix)8
-rwxr-xr-xpkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/update.sh (renamed from pkgs/applications/editors/vscode/extensions/rust-analyzer/update.sh)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/sumneko.lua/default.nix (renamed from pkgs/applications/editors/vscode/extensions/lua/default.nix)6
-rw-r--r--pkgs/applications/editors/vscode/extensions/sumneko.lua/remove-chmod.patch (renamed from pkgs/applications/editors/vscode/extensions/lua/remove-chmod.patch)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/default.nix (renamed from pkgs/applications/editors/vscode/extensions/vscode-lldb/build-deps/default.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/node-env.nix (renamed from pkgs/applications/editors/vscode/extensions/vscode-lldb/build-deps/node-env.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/node-packages.nix (renamed from pkgs/applications/editors/vscode/extensions/vscode-lldb/build-deps/node-packages.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/cmake-build-extension-only.patch (renamed from pkgs/applications/editors/vscode/extensions/vscode-lldb/cmake-build-extension-only.patch)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix (renamed from pkgs/applications/editors/vscode/extensions/vscode-lldb/default.nix)8
-rw-r--r--pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/fix-python-installation.patch (renamed from pkgs/applications/editors/vscode/extensions/vscode-lldb/fix-python-installation.patch)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/lldb.nix (renamed from pkgs/applications/editors/vscode/extensions/vscode-lldb/lldb.nix)0
-rwxr-xr-xpkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/update.sh (renamed from pkgs/applications/editors/vscode/extensions/vscode-lldb/update.sh)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscode-utils.nix4
-rw-r--r--pkgs/applications/editors/your-editor/default.nix4
-rw-r--r--pkgs/applications/emulators/dosbox-staging/default.nix4
-rw-r--r--pkgs/applications/emulators/firebird-emu/default.nix13
-rw-r--r--pkgs/applications/finance/irpf/default.nix6
-rw-r--r--pkgs/applications/gis/whitebox-tools/default.nix12
-rw-r--r--pkgs/applications/gis/whitebox-tools/update-cargo-lock.patch578
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix6
-rw-r--r--pkgs/applications/graphics/focus-stack/default.nix32
-rw-r--r--pkgs/applications/graphics/hello-wayland/default.nix8
-rw-r--r--pkgs/applications/graphics/icon-library/default.nix8
-rw-r--r--pkgs/applications/graphics/komikku/default.nix2
-rw-r--r--pkgs/applications/graphics/wings/default.nix15
-rw-r--r--pkgs/applications/kde/akonadi-contacts.nix4
-rw-r--r--pkgs/applications/kde/grantleetheme/default.nix2
-rw-r--r--pkgs/applications/misc/authenticator/default.nix11
-rw-r--r--pkgs/applications/misc/geoipupdate/default.nix6
-rw-r--r--pkgs/applications/misc/gollum/Gemfile.lock80
-rw-r--r--pkgs/applications/misc/gollum/gemset.nix119
-rw-r--r--pkgs/applications/misc/gpu-viewer/default.nix74
-rw-r--r--pkgs/applications/misc/loxodo/default.nix4
-rw-r--r--pkgs/applications/misc/loxodo/wxpython.patch25
-rw-r--r--pkgs/applications/misc/lutris/fhsenv.nix5
-rw-r--r--pkgs/applications/misc/metamorphose2/default.nix2
-rw-r--r--pkgs/applications/misc/oxker/default.nix6
-rw-r--r--pkgs/applications/misc/pdfstudio/default.nix14
-rw-r--r--pkgs/applications/misc/pgmodeler/default.nix4
-rw-r--r--pkgs/applications/misc/playonlinux/default.nix2
-rw-r--r--pkgs/applications/misc/pop-launcher/default.nix1
-rw-r--r--pkgs/applications/misc/printrun/default.nix22
-rw-r--r--pkgs/applications/misc/rootbar/default.nix1
-rw-r--r--pkgs/applications/misc/subsurface/default.nix6
-rw-r--r--pkgs/applications/misc/tuckr/default.nix12
-rw-r--r--pkgs/applications/misc/tuckr/update-cargo-lock.diff49
-rw-r--r--pkgs/applications/misc/tvbrowser/default.nix23
-rw-r--r--pkgs/applications/misc/tvbrowser/test.nix22
-rw-r--r--pkgs/applications/misc/vhs/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix6
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json12
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix802
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix802
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix802
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix4
-rw-r--r--pkgs/applications/networking/browsers/librewolf/src.json6
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix11
-rw-r--r--pkgs/applications/networking/clash-verge/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/fluxcd/default.nix13
-rw-r--r--pkgs/applications/networking/cluster/fluxcd/patches/disable-tests-ssh_key.patch19
-rw-r--r--pkgs/applications/networking/cluster/k3s/1_23/default.nix5
-rw-r--r--pkgs/applications/networking/cluster/k3s/1_24/default.nix5
-rw-r--r--pkgs/applications/networking/cluster/k3s/1_25/default.nix5
-rw-r--r--pkgs/applications/networking/cluster/k3s/1_26/default.nix5
-rw-r--r--pkgs/applications/networking/cluster/kops/default.nix18
-rw-r--r--pkgs/applications/networking/cluster/kubectl-gadget/default.nix30
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json108
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/flexget/default.nix28
-rw-r--r--pkgs/applications/networking/hydroxide/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/session-desktop/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix35
-rw-r--r--pkgs/applications/networking/p2p/freenet/default.nix123
-rwxr-xr-xpkgs/applications/networking/p2p/freenet/freenetWrapper3
-rw-r--r--pkgs/applications/networking/pjsip/default.nix46
-rw-r--r--pkgs/applications/networking/remote/aws-workspaces/default.nix18
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix6
-rw-r--r--pkgs/applications/networking/sniffnet/default.nix16
-rw-r--r--pkgs/applications/networking/sniproxy/default.nix20
-rw-r--r--pkgs/applications/office/appflowy/default.nix8
-rw-r--r--pkgs/applications/office/paperwork/paperwork-backend.nix5
-rw-r--r--pkgs/applications/office/timeline/default.nix3
-rw-r--r--pkgs/applications/plasma-mobile/default.nix2
-rw-r--r--pkgs/applications/plasma-mobile/spacebar.nix7
-rw-r--r--pkgs/applications/radio/qradiolink/default.nix4
-rw-r--r--pkgs/applications/radio/quisk/default.nix4
-rw-r--r--pkgs/applications/radio/sdrangel/default.nix19
-rw-r--r--pkgs/applications/science/biology/gatk/default.nix4
-rw-r--r--pkgs/applications/science/biology/mafft/default.nix6
-rw-r--r--pkgs/applications/science/biology/seqkit/default.nix6
-rw-r--r--pkgs/applications/science/biology/trf/default.nix21
-rw-r--r--pkgs/applications/science/logic/acgtk/default.nix4
-rw-r--r--pkgs/applications/science/logic/easycrypt/default.nix13
-rw-r--r--pkgs/applications/science/logic/glucose/default.nix27
-rw-r--r--pkgs/applications/science/logic/glucose/syrup.nix24
-rw-r--r--pkgs/applications/science/logic/isabelle/default.nix20
-rw-r--r--pkgs/applications/science/logic/why3/default.nix4
-rw-r--r--pkgs/applications/science/logic/yices/default.nix2
-rw-r--r--pkgs/applications/science/math/sage/patches/numpy-1.24-upgrade.patch58
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix17
-rw-r--r--pkgs/applications/science/math/sage/sagelib.nix2
-rw-r--r--pkgs/applications/science/robotics/mavproxy/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/havoc/default.nix1
-rw-r--r--pkgs/applications/terminal-emulators/xterm/default.nix9
-rw-r--r--pkgs/applications/version-management/bcompare/default.nix2
-rw-r--r--pkgs/applications/version-management/forgejo/default.nix102
-rw-r--r--pkgs/applications/version-management/gh/default.nix4
-rw-r--r--pkgs/applications/version-management/git-branchless/default.nix6
-rw-r--r--pkgs/applications/version-management/git-credential-keepassxc/default.nix10
-rw-r--r--pkgs/applications/version-management/git-trim/default.nix3
-rw-r--r--pkgs/applications/version-management/gitea/default.nix24
-rw-r--r--pkgs/applications/version-management/gitea/static-root-path.patch12
-rw-r--r--pkgs/applications/version-management/got/default.nix17
-rw-r--r--pkgs/applications/version-management/lefthook/default.nix6
-rw-r--r--pkgs/applications/version-management/rapidsvn/default.nix64
-rw-r--r--pkgs/applications/version-management/sapling/default.nix11
-rw-r--r--pkgs/applications/version-management/srvc/default.nix11
-rw-r--r--pkgs/applications/version-management/sublime-merge/default.nix4
-rw-r--r--pkgs/applications/video/go2tv/default.nix6
-rw-r--r--pkgs/applications/video/kodi/addons/youtube/default.nix4
-rw-r--r--pkgs/applications/video/kodi/unwrapped.nix20
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix4
-rw-r--r--pkgs/applications/virtualization/crun/default.nix5
-rw-r--r--pkgs/applications/virtualization/docker/buildx.nix8
-rw-r--r--pkgs/applications/virtualization/podman/default.nix5
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix4
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix4
-rw-r--r--pkgs/applications/window-managers/leftwm/default.nix2
-rw-r--r--pkgs/applications/window-managers/miriway/default.nix6
-rw-r--r--pkgs/applications/window-managers/openbox/default.nix9
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/default.nix17
-rwxr-xr-xpkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh7
-rw-r--r--pkgs/build-support/rust/import-cargo-lock.nix12
-rw-r--r--pkgs/build-support/rust/replace-workspace-values.py95
-rw-r--r--pkgs/build-support/rust/test/import-cargo-lock/default.nix7
-rw-r--r--pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/crate.toml6
-rw-r--r--pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/default.nix7
-rw-r--r--pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/want.toml12
-rw-r--r--pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/workspace.toml5
-rw-r--r--pkgs/data/fonts/bqn386/default.nix30
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix2
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix184
-rw-r--r--pkgs/data/fonts/lxgw-neoxihei/default.nix4
-rw-r--r--pkgs/data/fonts/sarasa-gothic/default.nix4
-rw-r--r--pkgs/data/icons/numix-icon-theme-circle/default.nix4
-rw-r--r--pkgs/data/icons/numix-icon-theme-square/default.nix4
-rw-r--r--pkgs/data/misc/v2ray-domain-list-community/default.nix6
-rw-r--r--pkgs/data/themes/jade1/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-common/default.nix6
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/muffin/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/nemo/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/xapp/default.nix10
-rw-r--r--pkgs/desktops/deepin/apps/deepin-shortcut-viewer/default.nix56
-rw-r--r--pkgs/desktops/deepin/default.nix1
-rw-r--r--pkgs/desktops/plasma-5/kpipewire.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix40
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix7
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/archive/default.nix5
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix8
-rw-r--r--pkgs/development/beam-modules/default.nix6
-rw-r--r--pkgs/development/beam-modules/elixir-ls/default.nix4
-rwxr-xr-xpkgs/development/beam-modules/elixir-ls/update.sh2
-rw-r--r--pkgs/development/beam-modules/erlang-ls/default.nix1
-rw-r--r--pkgs/development/compilers/bigloo/default.nix1
-rw-r--r--pkgs/development/compilers/binaryen/default.nix19
-rw-r--r--pkgs/development/compilers/dart/default.nix78
-rw-r--r--pkgs/development/compilers/dart/sources.nix24
-rwxr-xr-xpkgs/development/compilers/dart/update.sh77
-rw-r--r--pkgs/development/compilers/dotnet/build-dotnet.nix4
-rw-r--r--pkgs/development/compilers/dotnet/combine-packages.nix15
-rw-r--r--pkgs/development/compilers/dotnet/versions/6.0.nix252
-rw-r--r--pkgs/development/compilers/dotnet/versions/7.0.nix266
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/10/default.nix1
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/11/default.nix1
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/12/default.nix1
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/6/default.nix1
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/7/default.nix1
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/8/default.nix1
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/9/default.nix1
-rw-r--r--pkgs/development/compilers/gforth/default.nix1
-rw-r--r--pkgs/development/compilers/haxe/default.nix24
-rw-r--r--pkgs/development/compilers/nim/default.nix8
-rw-r--r--pkgs/development/compilers/opa/default.nix82
-rw-r--r--pkgs/development/compilers/opa/ocaml-4.03.patch35
-rw-r--r--pkgs/development/compilers/opa/ocaml-4.04.patch75
-rw-r--r--pkgs/development/compilers/opa/ocaml-4.14-tags.patch191
-rw-r--r--pkgs/development/compilers/opa/ocaml-4.14.patch63
-rw-r--r--pkgs/development/compilers/open-watcom/v2.nix6
-rw-r--r--pkgs/development/embedded/arduino/arduino-cli/default.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix22
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix18
-rw-r--r--pkgs/development/interpreters/angelscript/2.22.nix35
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/cbqn-bytecode.nix35
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/default.nix60
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/replxx.nix37
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/singeli.nix37
-rw-r--r--pkgs/development/interpreters/clojure/babashka.nix4
-rw-r--r--pkgs/development/interpreters/erlang/23.nix (renamed from pkgs/development/interpreters/erlang/R23.nix)0
-rw-r--r--pkgs/development/interpreters/erlang/24.nix (renamed from pkgs/development/interpreters/erlang/R24.nix)0
-rw-r--r--pkgs/development/interpreters/erlang/25.nix (renamed from pkgs/development/interpreters/erlang/R25.nix)0
-rw-r--r--pkgs/development/interpreters/erlang/R21.nix7
-rw-r--r--pkgs/development/interpreters/erlang/R22.nix7
-rw-r--r--pkgs/development/interpreters/erlang/generic-builder.nix2
-rw-r--r--pkgs/development/interpreters/lfe/1.2.nix7
-rw-r--r--pkgs/development/interpreters/lfe/1.3.nix43
-rw-r--r--pkgs/development/interpreters/lfe/2.1.nix7
-rw-r--r--pkgs/development/interpreters/lfe/fix-rebar-config.patch21
-rw-r--r--pkgs/development/interpreters/lfe/generic-builder.nix8
-rw-r--r--pkgs/development/interpreters/luau/default.nix4
-rw-r--r--pkgs/development/interpreters/octave/build-octave-package.nix12
-rw-r--r--pkgs/development/interpreters/php/8.1.nix4
-rw-r--r--pkgs/development/interpreters/php/8.2.nix4
-rw-r--r--pkgs/development/interpreters/rakudo/zef.nix4
-rw-r--r--pkgs/development/interpreters/wasmtime/default.nix6
-rw-r--r--pkgs/development/libraries/alembic/default.nix4
-rw-r--r--pkgs/development/libraries/belle-sip/default.nix4
-rw-r--r--pkgs/development/libraries/catch2/3.nix4
-rw-r--r--pkgs/development/libraries/cimg/default.nix8
-rw-r--r--pkgs/development/libraries/cl/default.nix10
-rw-r--r--pkgs/development/libraries/cln/default.nix4
-rw-r--r--pkgs/development/libraries/epoll-shim/default.nix38
-rw-r--r--pkgs/development/libraries/gdal/default.nix4
-rw-r--r--pkgs/development/libraries/grantlee/5/default.nix4
-rw-r--r--pkgs/development/libraries/grantlee/5/grantlee-no-canonicalize-filepath.patch2
-rw-r--r--pkgs/development/libraries/hipfort/default.nix2
-rw-r--r--pkgs/development/libraries/hunspell/dictionaries.nix6
-rw-r--r--pkgs/development/libraries/iir1/default.nix (renamed from pkgs/development/libraries/irr1/default.nix)2
-rw-r--r--pkgs/development/libraries/java/jdom/default.nix23
-rw-r--r--pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix8
-rw-r--r--pkgs/development/libraries/kirigami-addons/default.nix4
-rw-r--r--pkgs/development/libraries/ktextaddons/default.nix20
-rw-r--r--pkgs/development/libraries/libgourou/default.nix48
-rw-r--r--pkgs/development/libraries/libkrun/default.nix8
-rw-r--r--pkgs/development/libraries/libkrunfw/default.nix12
-rw-r--r--pkgs/development/libraries/liblinear/default.nix16
-rw-r--r--pkgs/development/libraries/libslirp/default.nix2
-rw-r--r--pkgs/development/libraries/libsvm/default.nix60
-rw-r--r--pkgs/development/libraries/libsvm/openmp.patch13
-rw-r--r--pkgs/development/libraries/libvirt/default.nix2
-rw-r--r--pkgs/development/libraries/llhttp/default.nix29
-rw-r--r--pkgs/development/libraries/minixml/default.nix5
-rw-r--r--pkgs/development/libraries/mysocketw/default.nix59
-rw-r--r--pkgs/development/libraries/mysocketw/gcc.patch13
-rw-r--r--pkgs/development/libraries/nco/default.nix4
-rw-r--r--pkgs/development/libraries/ogre/1.9.x.nix53
-rw-r--r--pkgs/development/libraries/ogrepaged/default.nix42
-rw-r--r--pkgs/development/libraries/openmpi/default.nix14
-rw-r--r--pkgs/development/libraries/openscenegraph/default.nix4
-rw-r--r--pkgs/development/libraries/physics/geant4/default.nix6
-rw-r--r--pkgs/development/libraries/proj/default.nix11
-rw-r--r--pkgs/development/libraries/proj/only-add-curl-for-static-builds.patch55
-rw-r--r--pkgs/development/libraries/qt-6/default.nix1
-rw-r--r--pkgs/development/libraries/qt-6/patches/qtbase-variable-fonts.patch26
-rw-r--r--pkgs/development/libraries/s2n-tls/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/magma/generic.nix44
-rw-r--r--pkgs/development/libraries/science/math/mkl/default.nix3
-rw-r--r--pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix152
-rw-r--r--pkgs/development/libraries/timezonemap/default.nix13
-rw-r--r--pkgs/development/libraries/ucx/default.nix35
-rw-r--r--pkgs/development/libraries/updfparser/default.nix31
-rw-r--r--pkgs/development/libraries/wayland/default.nix6
-rw-r--r--pkgs/development/libraries/wayland/protocols.nix3
-rw-r--r--pkgs/development/libraries/wxsqlite3/default.nix4
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK30.nix146
-rw-r--r--pkgs/development/libraries/wxwidgets/wxmac30.nix101
-rw-r--r--pkgs/development/node-packages/overrides.nix1
-rw-r--r--pkgs/development/ocaml-modules/bigstring/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/containers/data.nix2
-rw-r--r--pkgs/development/ocaml-modules/containers/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/cooltt/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/cow/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/csv/1.5.nix38
-rw-r--r--pkgs/development/ocaml-modules/csv/csvtool.nix4
-rw-r--r--pkgs/development/ocaml-modules/csv/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/csv/lwt.nix18
-rw-r--r--pkgs/development/ocaml-modules/ezjsonm/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/gen/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/hidapi/default.nix16
-rw-r--r--pkgs/development/ocaml-modules/higlo/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/iri/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lambdapi/default.nix13
-rw-r--r--pkgs/development/ocaml-modules/lustre-v6/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/lwd/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/lwd/nottui-lwt.nix19
-rw-r--r--pkgs/development/ocaml-modules/lwd/nottui-pretty.nix19
-rw-r--r--pkgs/development/ocaml-modules/lwd/nottui.nix19
-rw-r--r--pkgs/development/ocaml-modules/lwd/tyxml-lwd.nix20
-rw-r--r--pkgs/development/ocaml-modules/mustache/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/pgocaml/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/pgocaml/ppx.nix7
-rw-r--r--pkgs/development/ocaml-modules/ppx_cstubs/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/secp256k1-internal/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/sedlex/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/uecc/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/xtmpl/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/xtmpl/ppx.nix3
-rw-r--r--pkgs/development/ocaml-modules/yaml/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/yaml/yaml-sexp.nix2
-rw-r--r--pkgs/development/octave-modules/arduino/default.nix4
-rw-r--r--pkgs/development/octave-modules/audio/default.nix4
-rw-r--r--pkgs/development/octave-modules/bim/default.nix12
-rw-r--r--pkgs/development/octave-modules/communications/default.nix4
-rw-r--r--pkgs/development/octave-modules/control/default.nix4
-rw-r--r--pkgs/development/octave-modules/dicom/default.nix4
-rw-r--r--pkgs/development/octave-modules/ga/default.nix4
-rw-r--r--pkgs/development/octave-modules/general/default.nix4
-rw-r--r--pkgs/development/octave-modules/generate_html/default.nix4
-rw-r--r--pkgs/development/octave-modules/geometry/default.nix11
-rw-r--r--pkgs/development/octave-modules/instrument-control/default.nix4
-rw-r--r--pkgs/development/octave-modules/interval/default.nix4
-rw-r--r--pkgs/development/octave-modules/io/default.nix4
-rw-r--r--pkgs/development/octave-modules/mapping/default.nix9
-rw-r--r--pkgs/development/octave-modules/msh/default.nix12
-rw-r--r--pkgs/development/octave-modules/nan/default.nix4
-rw-r--r--pkgs/development/octave-modules/ncarray/default.nix4
-rw-r--r--pkgs/development/octave-modules/netcdf/default.nix4
-rw-r--r--pkgs/development/octave-modules/ocl/default.nix4
-rw-r--r--pkgs/development/octave-modules/octclip/default.nix12
-rw-r--r--pkgs/development/octave-modules/octproj/default.nix13
-rw-r--r--pkgs/development/octave-modules/optim/default.nix4
-rw-r--r--pkgs/development/octave-modules/optiminterp/default.nix4
-rw-r--r--pkgs/development/octave-modules/signal/default.nix4
-rw-r--r--pkgs/development/octave-modules/sockets/default.nix4
-rw-r--r--pkgs/development/octave-modules/statistics/default.nix12
-rw-r--r--pkgs/development/octave-modules/stk/default.nix4
-rw-r--r--pkgs/development/octave-modules/strings/default.nix13
-rw-r--r--pkgs/development/octave-modules/struct/default.nix4
-rw-r--r--pkgs/development/octave-modules/video/default.nix4
-rw-r--r--pkgs/development/octave-modules/windows/default.nix4
-rw-r--r--pkgs/development/octave-modules/zeromq/default.nix4
-rw-r--r--pkgs/development/php-packages/composer/default.nix13
-rw-r--r--pkgs/development/python-modules/aardwolf/default.nix13
-rw-r--r--pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--pkgs/development/python-modules/adblock/default.nix6
-rw-r--r--pkgs/development/python-modules/aeppl/default.nix4
-rw-r--r--pkgs/development/python-modules/aesara/default.nix22
-rw-r--r--pkgs/development/python-modules/affine/default.nix24
-rw-r--r--pkgs/development/python-modules/aiomusiccast/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-lambda-builders/default.nix1
-rw-r--r--pkgs/development/python-modules/azure-keyvault-administration/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-storage-file-share/default.nix4
-rw-r--r--pkgs/development/python-modules/basemap/default.nix4
-rw-r--r--pkgs/development/python-modules/blebox-uniapi/default.nix4
-rw-r--r--pkgs/development/python-modules/clintermission/default.nix14
-rw-r--r--pkgs/development/python-modules/debugpy/default.nix13
-rw-r--r--pkgs/development/python-modules/easyenergy/default.nix18
-rw-r--r--pkgs/development/python-modules/fakeredis/default.nix4
-rw-r--r--pkgs/development/python-modules/faraday-agent-parameters-types/default.nix5
-rw-r--r--pkgs/development/python-modules/flask-restx/default.nix4
-rw-r--r--pkgs/development/python-modules/humblewx/default.nix5
-rw-r--r--pkgs/development/python-modules/idasen/default.nix4
-rw-r--r--pkgs/development/python-modules/installer/default.nix7
-rw-r--r--pkgs/development/python-modules/labelbox/default.nix11
-rw-r--r--pkgs/development/python-modules/lightwave2/default.nix4
-rw-r--r--pkgs/development/python-modules/m2crypto/default.nix5
-rw-r--r--pkgs/development/python-modules/mautrix/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy/default.nix5
-rw-r--r--pkgs/development/python-modules/nextcloudmonitor/default.nix6
-rw-r--r--pkgs/development/python-modules/oralb-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--pkgs/development/python-modules/py-serializable/default.nix51
-rw-r--r--pkgs/development/python-modules/py-synologydsm-api/default.nix4
-rw-r--r--pkgs/development/python-modules/pygls/default.nix6
-rw-r--r--pkgs/development/python-modules/pymodbus/default.nix2
-rw-r--r--pkgs/development/python-modules/pymupdf/default.nix13
-rw-r--r--pkgs/development/python-modules/pyproj/default.nix18
-rw-r--r--pkgs/development/python-modules/pyscreenshot/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-twisted/default.nix26
-rw-r--r--pkgs/development/python-modules/python-songpal/default.nix5
-rw-r--r--pkgs/development/python-modules/pyvista/default.nix4
-rw-r--r--pkgs/development/python-modules/pywebview/default.nix2
-rw-r--r--pkgs/development/python-modules/pywlroots/default.nix11
-rw-r--r--pkgs/development/python-modules/rpy2/default.nix4
-rw-r--r--pkgs/development/python-modules/rst2pdf/default.nix4
-rw-r--r--pkgs/development/python-modules/schema-salad/default.nix1
-rw-r--r--pkgs/development/python-modules/skodaconnect/default.nix4
-rw-r--r--pkgs/development/python-modules/strenum/default.nix4
-rw-r--r--pkgs/development/python-modules/subliminal/default.nix92
-rw-r--r--pkgs/development/python-modules/teslajsonpy/default.nix6
-rw-r--r--pkgs/development/python-modules/tesserocr/default.nix4
-rw-r--r--pkgs/development/python-modules/torchvision/default.nix6
-rw-r--r--pkgs/development/python-modules/transaction/default.nix22
-rw-r--r--pkgs/development/python-modules/twentemilieu/default.nix7
-rw-r--r--pkgs/development/python-modules/ulid-transform/default.nix4
-rw-r--r--pkgs/development/python-modules/woob/default.nix26
-rw-r--r--pkgs/development/python-modules/wxPython/4.0.nix88
-rw-r--r--pkgs/development/python-modules/wxPython/4.1.nix146
-rw-r--r--pkgs/development/python-modules/xml2rfc/default.nix4
-rw-r--r--pkgs/development/python-modules/yalexs-ble/default.nix4
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--pkgs/development/tools/analysis/codeql/default.nix1
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix9
-rw-r--r--pkgs/development/tools/analysis/kcov/default.nix26
-rw-r--r--pkgs/development/tools/argc/default.nix6
-rw-r--r--pkgs/development/tools/azure-static-sites-client/versions.json48
-rw-r--r--pkgs/development/tools/b4/default.nix4
-rw-r--r--pkgs/development/tools/benthos/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_6/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/rake/Gemfile.lock4
-rw-r--r--pkgs/development/tools/build-managers/rake/gemset.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/cirrus-cli/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix14
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix9
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/common.nix4
-rw-r--r--pkgs/development/tools/database/sqlcmd/default.nix55
-rw-r--r--pkgs/development/tools/database/sqlfluff/default.nix4
-rw-r--r--pkgs/development/tools/datree/default.nix6
-rw-r--r--pkgs/development/tools/ddosify/default.nix4
-rw-r--r--pkgs/development/tools/git-ps-rs/default.nix40
-rw-r--r--pkgs/development/tools/goa/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/metals/default.nix4
-rw-r--r--pkgs/development/tools/language-servers/millet/default.nix6
-rw-r--r--pkgs/development/tools/language-servers/vhdl-ls/Cargo.lock1027
-rw-r--r--pkgs/development/tools/language-servers/vhdl-ls/default.nix43
-rw-r--r--pkgs/development/tools/ldid/default.nix4
-rw-r--r--pkgs/development/tools/misc/asls/default.nix25
-rw-r--r--pkgs/development/tools/misc/gdbgui/default.nix15
-rw-r--r--pkgs/development/tools/misc/patchelf/unstable.nix6
-rw-r--r--pkgs/development/tools/misc/phpunit/default.nix4
-rw-r--r--pkgs/development/tools/misc/sccache/default.nix9
-rw-r--r--pkgs/development/tools/mold/default.nix4
-rw-r--r--pkgs/development/tools/profiling/systemtap/default.nix16
-rw-r--r--pkgs/development/tools/revive/default.nix6
-rw-r--r--pkgs/development/tools/ruff/Cargo.lock3408
-rw-r--r--pkgs/development/tools/ruff/default.nix18
-rw-r--r--pkgs/development/tools/rust/cargo-about/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-bundle/default.nix42
-rw-r--r--pkgs/development/tools/rust/cargo-machete/default.nix29
-rw-r--r--pkgs/development/tools/rust/cargo-nextest/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-update/default.nix36
-rw-r--r--pkgs/development/tools/rust/cargo-vet/default.nix8
-rw-r--r--pkgs/development/tools/unityhub/default.nix142
-rw-r--r--pkgs/development/tools/viceroy/default.nix6
-rw-r--r--pkgs/development/tools/wails/default.nix4
-rw-r--r--pkgs/development/tools/watchman/default.nix1
-rw-r--r--pkgs/development/tools/worker-build/default.nix6
-rw-r--r--pkgs/development/tools/yamlfmt/default.nix6
-rw-r--r--pkgs/development/tools/yq-go/default.nix6
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/development/web/postman/darwin.nix4
-rw-r--r--pkgs/development/web/postman/default.nix4
-rw-r--r--pkgs/development/web/postman/linux.nix20
-rw-r--r--pkgs/games/BeatSaberModManager/add-runtime-identifier.patch12
-rw-r--r--pkgs/games/BeatSaberModManager/default.nix17
-rw-r--r--pkgs/games/BeatSaberModManager/deps.nix8
-rw-r--r--pkgs/games/aaaaxy/default.nix89
-rw-r--r--pkgs/games/cutemaze/default.nix12
-rw-r--r--pkgs/games/jumpy/default.nix10
-rw-r--r--pkgs/games/minecraft-servers/versions.json6
-rw-r--r--pkgs/games/nethack/default.nix3
-rw-r--r--pkgs/games/osu-lazer/bin.nix84
-rw-r--r--pkgs/games/osu-lazer/default.nix4
-rwxr-xr-xpkgs/games/osu-lazer/update-bin.sh40
-rwxr-xr-xpkgs/games/osu-lazer/update.sh4
-rw-r--r--pkgs/games/rigsofrods-bin/default.nix69
-rw-r--r--pkgs/games/rigsofrods/default.nix42
-rw-r--r--pkgs/games/rigsofrods/gtk3.patch29
-rw-r--r--pkgs/games/sgt-puzzles/default.nix4
-rw-r--r--pkgs/games/stuntrally/default.nix32
-rw-r--r--pkgs/games/unciv/default.nix4
-rw-r--r--pkgs/misc/drivers/hplip/default.nix11
-rw-r--r--pkgs/misc/fastly/default.nix6
-rw-r--r--pkgs/misc/stabber/default.nix5
-rw-r--r--pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix14
-rw-r--r--pkgs/os-specific/linux/alsa-project/default.nix13
-rw-r--r--pkgs/os-specific/linux/ch9344/default.nix48
-rw-r--r--pkgs/os-specific/linux/ch9344/fix-incompatible-pointer-types.patch22
-rw-r--r--pkgs/os-specific/linux/checkpolicy/default.nix4
-rw-r--r--pkgs/os-specific/linux/dmidecode/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix16
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json60
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.15.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-6.1.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-6.2.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.10.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix14
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix56
-rw-r--r--pkgs/os-specific/linux/kernel/zen-kernels.nix8
-rw-r--r--pkgs/os-specific/linux/nvme-cli/default.nix1
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix13
-rw-r--r--pkgs/servers/aeron/default.nix179
-rw-r--r--pkgs/servers/consul/default.nix6
-rw-r--r--pkgs/servers/fastnetmon-advanced/default.nix55
-rw-r--r--pkgs/servers/gemini/agate/default.nix8
-rw-r--r--pkgs/servers/geospatial/martin/default.nix6
-rw-r--r--pkgs/servers/headscale/default.nix6
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/komga/default.nix4
-rw-r--r--pkgs/servers/limesurvey/default.nix8
-rw-r--r--pkgs/servers/mastodon/default.nix33
-rw-r--r--pkgs/servers/mastodon/source.nix4
-rw-r--r--pkgs/servers/mastodon/version.nix2
-rw-r--r--pkgs/servers/matrix-conduit/Cargo.lock3398
-rw-r--r--pkgs/servers/matrix-conduit/cargo-11192-workaround.patch259
-rw-r--r--pkgs/servers/matrix-conduit/default.nix29
-rw-r--r--pkgs/servers/matrix-synapse/matrix-hookshot/default.nix2
-rw-r--r--pkgs/servers/matrix-synapse/matrix-hookshot/package.json7
-rw-r--r--pkgs/servers/matrix-synapse/matrix-hookshot/pin.json6
-rw-r--r--pkgs/servers/matrix-synapse/tools/synadm.nix17
-rw-r--r--pkgs/servers/monitoring/cockpit/default.nix35
-rw-r--r--pkgs/servers/monitoring/cockpit/fix-makefiles.patch34
-rw-r--r--pkgs/servers/monitoring/cockpit/nerf-node-modules.patch12
-rwxr-xr-xpkgs/servers/monitoring/cockpit/update.sh8
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix8
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix6
-rw-r--r--pkgs/servers/mqtt/nanomq/default.nix14
-rw-r--r--pkgs/servers/nextcloud/default.nix20
-rw-r--r--pkgs/servers/nextcloud/packages/23.json122
-rw-r--r--pkgs/servers/nextcloud/packages/24.json24
-rw-r--r--pkgs/servers/nextcloud/packages/25.json68
-rw-r--r--pkgs/servers/nextcloud/packages/26.json202
-rw-r--r--pkgs/servers/nosql/redis/default.nix4
-rw-r--r--pkgs/servers/onlyoffice-documentserver/default.nix4
-rw-r--r--pkgs/servers/rustypaste/default.nix6
-rw-r--r--pkgs/servers/slimserver/default.nix2
-rw-r--r--pkgs/servers/sonarr/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_repack.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgvector.nix4
-rw-r--r--pkgs/servers/sql/proxysql/default.nix17
-rw-r--r--pkgs/servers/sql/proxysql/makefiles.patch113
-rw-r--r--pkgs/servers/tailscale/default.nix7
-rw-r--r--pkgs/servers/tautulli/default.nix4
-rw-r--r--pkgs/servers/traefik/default.nix6
-rw-r--r--pkgs/servers/web-apps/baget/default.nix37
-rw-r--r--pkgs/servers/web-apps/baget/deps.nix400
-rwxr-xr-xpkgs/servers/web-apps/baget/updater.sh24
-rw-r--r--pkgs/servers/zoneminder/default.nix10
-rw-r--r--pkgs/shells/elvish/default.nix51
-rw-r--r--pkgs/shells/nushell/default.nix6
-rw-r--r--pkgs/tools/X11/skippy-xd/default.nix8
-rw-r--r--pkgs/tools/admin/aws-vault/default.nix4
-rw-r--r--pkgs/tools/admin/balena-cli/default.nix63
-rw-r--r--pkgs/tools/admin/bom/default.nix69
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/lxd/default.nix4
-rw-r--r--pkgs/tools/admin/pgadmin/default.nix8
-rw-r--r--pkgs/tools/admin/pgadmin/package.json1
-rw-r--r--pkgs/tools/admin/pgadmin/yarn.lock7
-rw-r--r--pkgs/tools/admin/pgadmin/yarn.nix8
-rw-r--r--pkgs/tools/admin/pulumi-packages/default.nix1
-rw-r--r--pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix27
-rw-r--r--pkgs/tools/admin/scalr-cli/default.nix43
-rw-r--r--pkgs/tools/admin/stripe-cli/default.nix16
-rw-r--r--pkgs/tools/admin/syft/default.nix6
-rw-r--r--pkgs/tools/admin/trivy/default.nix6
-rw-r--r--pkgs/tools/cd-dvd/cdrkit/default.nix28
-rw-r--r--pkgs/tools/filesystems/stratisd/default.nix8
-rw-r--r--pkgs/tools/games/steamtinkerlaunch/default.nix4
-rw-r--r--pkgs/tools/graphics/gifski/default.nix6
-rw-r--r--pkgs/tools/graphics/gmic-qt/default.nix23
-rw-r--r--pkgs/tools/graphics/gmic/default.nix20
-rw-r--r--pkgs/tools/graphics/shot-scraper/default.nix38
-rw-r--r--pkgs/tools/graphics/wgpu-utils/default.nix6
-rw-r--r--pkgs/tools/inputmethods/keyd/default.nix6
-rw-r--r--pkgs/tools/misc/archi/default.nix4
-rw-r--r--pkgs/tools/misc/disfetch/default.nix4
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix4
-rw-r--r--pkgs/tools/misc/hyperfine/default.nix6
-rw-r--r--pkgs/tools/misc/moar/default.nix6
-rw-r--r--pkgs/tools/misc/qmake2cmake/default.nix6
-rw-r--r--pkgs/tools/misc/steampipe/default.nix4
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix4
-rw-r--r--pkgs/tools/misc/tagref/default.nix6
-rw-r--r--pkgs/tools/misc/tmux-mem-cpu-load/default.nix4
-rw-r--r--pkgs/tools/misc/tmux-xpanes/default.nix4
-rw-r--r--pkgs/tools/misc/topgrade/default.nix6
-rw-r--r--pkgs/tools/misc/wit-bindgen/default.nix32
-rw-r--r--pkgs/tools/misc/woeusb-ng/default.nix42
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix10
-rw-r--r--pkgs/tools/networking/croc/default.nix6
-rw-r--r--pkgs/tools/networking/dnsperf/default.nix4
-rw-r--r--pkgs/tools/networking/gemget/default.nix6
-rw-r--r--pkgs/tools/networking/guardian-agent/default.nix2
-rw-r--r--pkgs/tools/networking/httplz/default.nix22
-rw-r--r--pkgs/tools/networking/miniupnpd/default.nix7
-rw-r--r--pkgs/tools/networking/ooniprobe-cli/default.nix4
-rw-r--r--pkgs/tools/networking/speedtest-rs/default.nix5
-rw-r--r--pkgs/tools/networking/v2ray/default.nix6
-rw-r--r--pkgs/tools/networking/v2raya/default.nix6
-rw-r--r--pkgs/tools/nix/nix-init/default.nix49
-rw-r--r--pkgs/tools/nix/nix-init/get-nix-license.nix (renamed from pkgs/tools/nix/nix-init/license.nix)28
-rw-r--r--pkgs/tools/package-management/ciel/default.nix66
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix16
-rw-r--r--pkgs/tools/package-management/nfpm/default.nix6
-rw-r--r--pkgs/tools/package-management/nix-update/default.nix11
-rw-r--r--pkgs/tools/package-management/nixpkgs-review/default.nix12
-rw-r--r--pkgs/tools/package-management/poetry/default.nix9
-rw-r--r--pkgs/tools/package-management/poetry/plugins/poetry-plugin-up.nix4
-rw-r--r--pkgs/tools/package-management/poetry/unwrapped.nix4
-rw-r--r--pkgs/tools/security/asnmap/default.nix6
-rw-r--r--pkgs/tools/security/cloudfox/default.nix4
-rw-r--r--pkgs/tools/security/cloudhunter/default.nix51
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/fail2ban/default.nix36
-rw-r--r--pkgs/tools/security/feroxbuster/default.nix8
-rw-r--r--pkgs/tools/security/naabu/default.nix6
-rw-r--r--pkgs/tools/security/nuclei/default.nix6
-rw-r--r--pkgs/tools/security/openpgp-card-tools/default.nix6
-rw-r--r--pkgs/tools/security/sbsigntool/default.nix4
-rw-r--r--pkgs/tools/security/slsa-verifier/default.nix6
-rw-r--r--pkgs/tools/security/step-kms-plugin/default.nix6
-rw-r--r--pkgs/tools/security/yubihsm-connector/default.nix14
-rw-r--r--pkgs/tools/security/yubihsm-connector/lockfile-fix.patch115
-rw-r--r--pkgs/tools/system/automatic-timezoned/default.nix6
-rw-r--r--pkgs/tools/system/erdtree/default.nix9
-rw-r--r--pkgs/tools/system/fio/default.nix4
-rw-r--r--pkgs/tools/system/goreman/default.nix6
-rw-r--r--pkgs/tools/system/gptfdisk/default.nix7
-rw-r--r--pkgs/tools/system/java-service-wrapper/default.nix4
-rw-r--r--pkgs/tools/system/netdata/default.nix1
-rw-r--r--pkgs/tools/system/nkeys/default.nix9
-rw-r--r--pkgs/tools/system/nsc/default.nix6
-rw-r--r--pkgs/tools/system/skeema/default.nix54
-rw-r--r--pkgs/tools/system/ttop/default.nix4
-rw-r--r--pkgs/tools/text/crowdin-cli/default.nix4
-rw-r--r--pkgs/tools/text/d2/default.nix6
-rw-r--r--pkgs/tools/text/frawk/default.nix6
-rw-r--r--pkgs/tools/text/fst/default.nix6
-rw-r--r--pkgs/tools/text/ltex-ls/default.nix4
-rw-r--r--pkgs/tools/text/mdcat/default.nix6
-rw-r--r--pkgs/tools/text/pomsky/default.nix10
-rw-r--r--pkgs/tools/text/ugrep/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix10
-rw-r--r--pkgs/tools/typesetting/tex/texlive/fixedHashes.nix1400
-rw-r--r--pkgs/tools/typesetting/tex/texlive/tlpdb.nix2783
-rw-r--r--pkgs/tools/typesetting/typst/Cargo.lock1810
-rw-r--r--pkgs/tools/typesetting/typst/default.nix55
-rw-r--r--pkgs/tools/virtualization/govc/default.nix4
-rw-r--r--pkgs/top-level/aliases.nix22
-rw-r--r--pkgs/top-level/all-packages.nix214
-rw-r--r--pkgs/top-level/beam-packages.nix90
-rw-r--r--pkgs/top-level/haskell-packages.nix2
-rw-r--r--pkgs/top-level/linux-kernels.nix7
-rw-r--r--pkgs/top-level/ocaml-packages.nix757
-rw-r--r--pkgs/top-level/perl-packages.nix17
-rw-r--r--pkgs/top-level/python-aliases.nix2
-rw-r--r--pkgs/top-level/python-packages.nix22
751 files changed, 24292 insertions, 11055 deletions
diff --git a/.github/workflows/check-maintainers-sorted.yaml b/.github/workflows/check-maintainers-sorted.yaml
index 73987f9b9168..fc03988b068d 100644
--- a/.github/workflows/check-maintainers-sorted.yaml
+++ b/.github/workflows/check-maintainers-sorted.yaml
@@ -1,7 +1,7 @@
 name: "Check that maintainer list is sorted"
 
 on:
-  pull_request:
+  pull_request_target:
     paths:
       - 'maintainers/maintainer-list.nix'
 permissions:
@@ -13,7 +13,10 @@ jobs:
     if: github.repository_owner == 'NixOS'
     steps:
       - uses: actions/checkout@v3
-      - uses: cachix/install-nix-action@v19
+        with:
+          # pull_request_target checks out the base branch by default
+          ref: refs/pull/${{ github.event.pull_request.number }}/merge
+      - uses: cachix/install-nix-action@v20
         with:
           # explicitly enable sandbox
           extra_nix_config: sandbox = true
diff --git a/doc/languages-frameworks/beam.section.md b/doc/languages-frameworks/beam.section.md
index 707da43e9dd7..0ef0c830ef8c 100644
--- a/doc/languages-frameworks/beam.section.md
+++ b/doc/languages-frameworks/beam.section.md
@@ -14,7 +14,7 @@ nixpkgs follows the [official elixir deprecation schedule](https://hexdocs.pm/el
 
 All BEAM-related expressions are available via the top-level `beam` attribute, which includes:
 
-- `interpreters`: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (`beam.interpreters.erlangR22`, etc), Elixir (`beam.interpreters.elixir`) and LFE (Lisp Flavoured Erlang) (`beam.interpreters.lfe`).
+- `interpreters`: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (`beam.interpreters.erlang_22`, etc), Elixir (`beam.interpreters.elixir`) and LFE (Lisp Flavoured Erlang) (`beam.interpreters.lfe`).
 
 - `packages`: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. `beam.packages.erlang22`.
 
@@ -22,7 +22,7 @@ The default Erlang compiler, defined by `beam.interpreters.erlang`, is aliased a
 
 To create a package builder built with a custom Erlang version, use the lambda, `beam.packagesWith`, which accepts an Erlang/OTP derivation and produces a package builder similar to `beam.packages.erlang`.
 
-Many Erlang/OTP distributions available in `beam.interpreters` have versions with ODBC and/or Java enabled or without wx (no observer support). For example, there's `beam.interpreters.erlangR22_odbc_javac`, which corresponds to `beam.interpreters.erlangR22` and `beam.interpreters.erlangR22_nox`, which corresponds to `beam.interpreters.erlangR22`.
+Many Erlang/OTP distributions available in `beam.interpreters` have versions with ODBC and/or Java enabled or without wx (no observer support). For example, there's `beam.interpreters.erlang_22_odbc_javac`, which corresponds to `beam.interpreters.erlang_22` and `beam.interpreters.erlang_22_nox`, which corresponds to `beam.interpreters.erlang_22`.
 
 ## Build Tools {#build-tools}
 
@@ -128,7 +128,7 @@ You will need to run the build process once to fix the hash to correspond to you
 
 ###### FOD {#fixed-output-derivation}
 
-A fixed output derivation will download mix dependencies from the internet. To ensure reproducibility, a hash will be supplied. Note that mix is relatively reproducible. An FOD generating a different hash on each run hasn't been observed (as opposed to npm where the chances are relatively high). See [elixir_ls](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/beam-modules/elixir-ls/default.nix) for a usage example of FOD.
+A fixed output derivation will download mix dependencies from the internet. To ensure reproducibility, a hash will be supplied. Note that mix is relatively reproducible. An FOD generating a different hash on each run hasn't been observed (as opposed to npm where the chances are relatively high). See [elixir-ls](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/beam-modules/elixir-ls/default.nix) for a usage example of FOD.
 
 Practical steps
 
@@ -154,7 +154,7 @@ Here is how your `default.nix` file would look for a phoenix project.
 with import <nixpkgs> { };
 
 let
-  # beam.interpreters.erlangR23 is available if you need a particular version
+  # beam.interpreters.erlang_23 is available if you need a particular version
   packages = beam.packagesWith beam.interpreters.erlang;
 
   pname = "your_project";
@@ -274,7 +274,7 @@ Usually, we need to create a `shell.nix` file and do our development inside of t
 
 with pkgs;
 let
-  elixir = beam.packages.erlangR24.elixir_1_12;
+  elixir = beam.packages.erlang_24.elixir_1_12;
 in
 mkShell {
   buildInputs = [ elixir ];
diff --git a/doc/languages-frameworks/dotnet.section.md b/doc/languages-frameworks/dotnet.section.md
index 30a12d4e8ffa..2152f86165c0 100644
--- a/doc/languages-frameworks/dotnet.section.md
+++ b/doc/languages-frameworks/dotnet.section.md
@@ -88,7 +88,7 @@ To package Dotnet applications, you can use `buildDotnetModule`. This has simila
 * `runtimeDeps` is used to wrap libraries into `LD_LIBRARY_PATH`. This is how dotnet usually handles runtime dependencies.
 * `buildType` is used to change the type of build. Possible values are `Release`, `Debug`, etc. By default, this is set to `Release`.
 * `selfContainedBuild` allows to enable the [self-contained](https://docs.microsoft.com/en-us/dotnet/core/deploying/#publish-self-contained) build flag. By default, it is set to false and generated applications have a dependency on the selected dotnet runtime. If enabled, the dotnet runtime is bundled into the executable and the built app has no dependency on Dotnet.
-* `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used.
+* `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used. You can also set this to the result of `dotnetSdkPackages.combinePackages`, if the project uses multiple SDKs to build.
 * `dotnet-runtime` is useful in cases where you need to change what dotnet runtime is being used. This can be either a regular dotnet runtime, or an aspnetcore.
 * `dotnet-test-sdk` is useful in cases where unit tests expect a different dotnet SDK. By default, this is set to the `dotnet-sdk` attribute.
 * `testProjectFile` is useful in cases where the regular project file does not contain the unit tests. It gets restored and build, but not installed. You may need to regenerate your nuget lockfile after setting this.
diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md
index b3f4405ee935..7ee2dea2daf2 100644
--- a/doc/languages-frameworks/rust.section.md
+++ b/doc/languages-frameworks/rust.section.md
@@ -411,13 +411,13 @@ rustPlatform.buildRustPackage rec {
 }
 ```
 
-## Compiling non-Rust packages that include Rust code {#compiling-non-rust-packages-that-include-rust-code}
+### Compiling non-Rust packages that include Rust code {#compiling-non-rust-packages-that-include-rust-code}
 
 Several non-Rust packages incorporate Rust code for performance- or
 security-sensitive parts. `rustPlatform` exposes several functions and
 hooks that can be used to integrate Cargo in non-Rust packages.
 
-### Vendoring of dependencies {#vendoring-of-dependencies}
+#### Vendoring of dependencies {#vendoring-of-dependencies}
 
 Since network access is not allowed in sandboxed builds, Rust crate
 dependencies need to be retrieved using a fetcher. `rustPlatform`
@@ -477,7 +477,7 @@ added. To find the correct hash, you can first use `lib.fakeSha256` or
 `lib.fakeHash` as a stub hash. Building `cargoDeps` will then inform
 you of the correct hash.
 
-### Hooks {#hooks}
+#### Hooks {#hooks}
 
 `rustPlatform` provides the following hooks to automate Cargo builds:
 
@@ -513,7 +513,7 @@ you of the correct hash.
 * `bindgenHook`: for crates which use `bindgen` as a build dependency, lets
   `bindgen` find `libclang` and `libclang` find the libraries in `buildInputs`.
 
-### Examples {#examples}
+#### Examples {#examples}
 
 #### Python package using `setuptools-rust` {#python-package-using-setuptools-rust}
 
@@ -642,7 +642,127 @@ buildPythonPackage rec {
 }
 ```
 
-## Setting Up `nix-shell` {#setting-up-nix-shell}
+## `buildRustCrate`: Compiling Rust crates using Nix instead of Cargo {#compiling-rust-crates-using-nix-instead-of-cargo}
+
+### Simple operation {#simple-operation}
+
+When run, `cargo build` produces a file called `Cargo.lock`,
+containing pinned versions of all dependencies. Nixpkgs contains a
+tool called `crate2Nix` (`nix-shell -p crate2nix`), which can be
+used to turn a `Cargo.lock` into a Nix expression.  That Nix
+expression calls `rustc` directly (hence bypassing Cargo), and can
+be used to compile a crate and all its dependencies.
+
+See [`crate2nix`'s documentation](https://github.com/kolloch/crate2nix#known-restrictions)
+for instructions on how to use it.
+
+### Handling external dependencies {#handling-external-dependencies}
+
+Some crates require external libraries. For crates from
+[crates.io](https://crates.io), such libraries can be specified in
+`defaultCrateOverrides` package in nixpkgs itself.
+
+Starting from that file, one can add more overrides, to add features
+or build inputs by overriding the hello crate in a separate file.
+
+```nix
+with import <nixpkgs> {};
+((import ./hello.nix).hello {}).override {
+  crateOverrides = defaultCrateOverrides // {
+    hello = attrs: { buildInputs = [ openssl ]; };
+  };
+}
+```
+
+Here, `crateOverrides` is expected to be a attribute set, where the
+key is the crate name without version number and the value a function.
+The function gets all attributes passed to `buildRustCrate` as first
+argument and returns a set that contains all attribute that should be
+overwritten.
+
+For more complicated cases, such as when parts of the crate's
+derivation depend on the crate's version, the `attrs` argument of
+the override above can be read, as in the following example, which
+patches the derivation:
+
+```nix
+with import <nixpkgs> {};
+((import ./hello.nix).hello {}).override {
+  crateOverrides = defaultCrateOverrides // {
+    hello = attrs: lib.optionalAttrs (lib.versionAtLeast attrs.version "1.0")  {
+      postPatch = ''
+        substituteInPlace lib/zoneinfo.rs \
+          --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
+      '';
+    };
+  };
+}
+```
+
+Another situation is when we want to override a nested
+dependency. This actually works in the exact same way, since the
+`crateOverrides` parameter is forwarded to the crate's
+dependencies. For instance, to override the build inputs for crate
+`libc` in the example above, where `libc` is a dependency of the main
+crate, we could do:
+
+```nix
+with import <nixpkgs> {};
+((import hello.nix).hello {}).override {
+  crateOverrides = defaultCrateOverrides // {
+    libc = attrs: { buildInputs = []; };
+  };
+}
+```
+
+### Options and phases configuration {#options-and-phases-configuration}
+
+Actually, the overrides introduced in the previous section are more
+general. A number of other parameters can be overridden:
+
+- The version of `rustc` used to compile the crate:
+
+  ```nix
+  (hello {}).override { rust = pkgs.rust; };
+  ```
+
+- Whether to build in release mode or debug mode (release mode by
+  default):
+
+  ```nix
+  (hello {}).override { release = false; };
+  ```
+
+- Whether to print the commands sent to `rustc` when building
+  (equivalent to `--verbose` in cargo:
+
+  ```nix
+  (hello {}).override { verbose = false; };
+  ```
+
+- Extra arguments to be passed to `rustc`:
+
+  ```nix
+  (hello {}).override { extraRustcOpts = "-Z debuginfo=2"; };
+  ```
+
+- Phases, just like in any other derivation, can be specified using
+  the following attributes: `preUnpack`, `postUnpack`, `prePatch`,
+  `patches`, `postPatch`, `preConfigure` (in the case of a Rust crate,
+  this is run before calling the "build" script), `postConfigure`
+  (after the "build" script),`preBuild`, `postBuild`, `preInstall` and
+  `postInstall`. As an example, here is how to create a new module
+  before running the build script:
+
+  ```nix
+  (hello {}).override {
+    preConfigure = ''
+       echo "pub const PATH=\"${hi.out}\";" >> src/path.rs"
+    '';
+  };
+  ```
+
+### Setting Up `nix-shell` {#setting-up-nix-shell}
 
 Oftentimes you want to develop code from within `nix-shell`. Unfortunately
 `buildRustCrate` does not support common `nix-shell` operations directly
diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md
index 2d4c2eefb5af..6f3f2b446042 100644
--- a/doc/stdenv/stdenv.chapter.md
+++ b/doc/stdenv/stdenv.chapter.md
@@ -380,39 +380,107 @@ Values inside it are not passed to the builder, so you can change them without t
 
 #### `passthru.updateScript` {#var-passthru-updateScript}
 
-A script to be run by `maintainers/scripts/update.nix` when the package is matched. It needs to be an executable file, either on the file system:
+A script to be run by `maintainers/scripts/update.nix` when the package is matched. The attribute can contain one of the following:
 
-```nix
-passthru.updateScript = ./update.sh;
-```
+- []{#var-passthru-updateScript-command} an executable file, either on the file system:
 
-or inside the expression itself:
+  ```nix
+  passthru.updateScript = ./update.sh;
+  ```
 
-```nix
-passthru.updateScript = writeScript "update-zoom-us" ''
-  #!/usr/bin/env nix-shell
-  #!nix-shell -i bash -p curl pcre common-updater-scripts
+  or inside the expression itself:
 
-  set -eu -o pipefail
+  ```nix
+  passthru.updateScript = writeScript "update-zoom-us" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p curl pcre common-updater-scripts
 
-  version="$(curl -sI https://zoom.us/client/latest/zoom_x86_64.tar.xz | grep -Fi 'Location:' | pcregrep -o1 '/(([0-9]\.?)+)/')"
-  update-source-version zoom-us "$version"
-'';
-```
+    set -eu -o pipefail
 
-The attribute can also contain a list, a script followed by arguments to be passed to it:
+    version="$(curl -sI https://zoom.us/client/latest/zoom_x86_64.tar.xz | grep -Fi 'Location:' | pcregrep -o1 '/(([0-9]\.?)+)/')"
+    update-source-version zoom-us "$version"
+  '';
+  ```
 
-```nix
-passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ];
-```
+- a list, a script followed by arguments to be passed to it:
+
+  ```nix
+  passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ];
+  ```
+
+- an attribute set containing:
+  - [`command`]{#var-passthru-updateScript-set-command} – a string or list in the [format expected by `passthru.updateScript`](#var-passthru-updateScript-command).
+  - [`attrPath`]{#var-passthru-updateScript-set-attrPath} (optional) – a string containing the canonical attribute path for the package. If present, it will be passed to the update script instead of the attribute path on which the package was discovered during Nixpkgs traversal.
+  - [`supportedFeatures`]{#var-passthru-updateScript-set-supportedFeatures} (optional) – a list of the [extra features](#var-passthru-updateScript-supported-features) the script supports.
+
+  ```nix
+  passthru.updateScript = {
+    command = [ ../../update.sh pname ];
+    attrPath = pname;
+    supportedFeatures = [ … ];
+  };
+  ```
+
+##### How update scripts are executed? {#var-passthru-updateScript-execution}
+
+Update scripts are to be invoked by `maintainers/scripts/update.nix` script. You can run `nix-shell maintainers/scripts/update.nix` in the root of Nixpkgs repository for information on how to use it. `update.nix` offers several modes for selecting packages to update (e.g. select by attribute path, traverse Nixpkgs and filter by maintainer, etc.), and it will execute update scripts for all matched packages that have an `updateScript` attribute.
+
+Each update script will be passed the following environment variables:
 
-The script will be run with the `UPDATE_NIX_NAME`, `UPDATE_NIX_PNAME`, `UPDATE_NIX_OLD_VERSION` and `UPDATE_NIX_ATTR_PATH` environment variables set respectively to the name, pname, old version and attribute path of the package it is supposed to update.
+- [`UPDATE_NIX_NAME`]{#var-passthru-updateScript-env-UPDATE_NIX_NAME} – content of the `name` attribute of the updated package.
+- [`UPDATE_NIX_PNAME`]{#var-passthru-updateScript-env-UPDATE_NIX_PNAME} – content of the `pname` attribute of the updated package.
+- [`UPDATE_NIX_OLD_VERSION`]{#var-passthru-updateScript-env-UPDATE_NIX_OLD_VERSION} – content of the `version` attribute of the updated package.
+- [`UPDATE_NIX_ATTR_PATH`]{#var-passthru-updateScript-env-UPDATE_NIX_ATTR_PATH} – attribute path the `update.nix` discovered the package on (or the [canonical `attrPath`](#var-passthru-updateScript-set-attrPath) when available). Example: `pantheon.elementary-terminal`
 
 ::: {.note}
-The script will be usually run from the root of the Nixpkgs repository but you should not rely on that. Also note that the update scripts will be run in parallel by default; you should avoid running `git commit` or any other commands that cannot handle that.
+An update script will be usually run from the root of the Nixpkgs repository but you should not rely on that. Also note that `update.nix` executes update scripts in parallel by default so you should avoid running `git commit` or any other commands that cannot handle that.
 :::
 
-For information about how to run the updates, execute `nix-shell maintainers/scripts/update.nix`.
+::: {.tip}
+While update scripts should not create commits themselves, `maintainers/scripts/update.nix` supports automatically creating commits when running it with `--argstr commit true`. If you need to customize commit message, you can have the update script implement [`commit`](#var-passthru-updateScript-commit) feature.
+:::
+
+##### Supported features {#var-passthru-updateScript-supported-features}
+###### `commit` {#var-passthru-updateScript-commit}
+
+This feature allows update scripts to *ask* `update.nix` to create Git commits.
+
+When support of this feature is declared, whenever the update script exits with `0` return status, it is expected to print a JSON list containing an object described below for each updated attribute to standard output.
+
+When `update.nix` is run with `--argstr commit true` arguments, it will create a separate commit for each of the objects. An empty list can be returned when the script did not update any files, for example, when the package is already at the latest version.
+
+The commit object contains the following values:
+
+- [`attrPath`]{#var-passthru-updateScript-commit-attrPath} – a string containing attribute path.
+- [`oldVersion`]{#var-passthru-updateScript-commit-oldVersion} – a string containing old version.
+- [`newVersion`]{#var-passthru-updateScript-commit-newVersion} – a string containing new version.
+- [`files`]{#var-passthru-updateScript-commit-files} – a non-empty list of file paths (as strings) to add to the commit.
+- [`commitBody`]{#var-passthru-updateScript-commit-commitBody} (optional) – a string with extra content to be appended to the default commit message (useful for adding changelog links).
+- [`commitMessage`]{#var-passthru-updateScript-commit-commitMessage} (optional) – a string to use instead of the default commit message.
+
+If the returned array contains exactly one object (e.g. `[{}]`), all values are optional and will be determined automatically.
+
+```{=docbook}
+<example>
+<title>Standard output of an update script using commit feature</title>
+```
+
+```json
+[
+  {
+    "attrPath": "volume_key",
+    "oldVersion": "0.3.11",
+    "newVersion": "0.3.12",
+    "files": [
+      "/path/to/nixpkgs/pkgs/development/libraries/volume-key/default.nix"
+    ]
+  }
+]
+```
+
+```{=docbook}
+</example>
+```
 
 ### Recursive attributes in `mkDerivation` {#mkderivation-recursive-attributes}
 
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index cdf361cb60d8..e9ecf0a3ea01 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1416,6 +1416,17 @@
     githubId = 5193600;
     name = "Atkins Chang";
   };
+  atkrad = {
+    name = "Mohammad Abdolirad";
+    email = "m.abdolirad@gmail.com";
+    github = "atkrad";
+    githubId = 351364;
+    keys = [
+      {
+        fingerprint = "0380 F2F8 DF7A BA1A E7DB  D84A 1935 1496 62CA FDB8";
+      }
+    ];
+  };
   atnnn = {
     email = "etienne@atnnn.com";
     github = "AtnNn";
@@ -1458,6 +1469,15 @@
     githubId = 12958979;
     name = "Mika Naylor";
   };
+  autumnal = {
+    name = "Sven Friedrich";
+    email = "sven@autumnal.de";
+    github = "sevenautumns";
+    githubId = 20627275;
+    keys = [{
+      fingerprint = "6A2E 7FDD 1037 11A8 B996  E28E B051 064E 2FCA B71B";
+    }];
+  };
   avakhrenev = {
     email = "avakhrenev@gmail.com";
     github = "avakhrenev";
@@ -4124,6 +4144,12 @@
     githubId = 6689924;
     name = "David Terry";
   };
+  dylanmtaylor = {
+    email = "dylan@dylanmtaylor.com";
+    github = "dylamtaylor";
+    githubId = 277927;
+    name = "Dylan Taylor";
+  };
   dysinger = {
     email = "tim@dysinger.net";
     github = "dysinger";
@@ -6527,6 +6553,16 @@
       fingerprint = "6C2B 55D4 4E04 8266 6B7D  DA1A 422E 9EDA E015 7170";
     }];
   };
+  infinitivewitch = {
+    name = "Infinitive Witch";
+    email = "infinitivewitch@disroot.org";
+    matrix = "@infinitivewitch:fedora.im";
+    github = "infinitivewitch";
+    githubId = 128256833;
+    keys = [{
+      fingerprint = "CF3D F4AD C7BD 1FDB A88B  E4B3 CA2D 43DA 939D 94FB";
+    }];
+  };
   ingenieroariel = {
     email = "ariel@nunez.co";
     github = "ingenieroariel";
@@ -8186,6 +8222,12 @@
     githubId = 735008;
     name = "Louis Taylor";
   };
+  kranurag7 = {
+    email = "contact.anurag7@gmail.com";
+    github = "kranurag7";
+    githubId = 81210977;
+    name = "Anurag";
+  };
   kranzes = {
     email = "personal@ilanjoselevich.com";
     github = "Kranzes";
@@ -9168,6 +9210,11 @@
     githubId = 115218;
     name = "Felix Richter";
   };
+  MakiseKurisu = {
+    github = "MakiseKurisu";
+    githubId = 2321672;
+    name = "Makise Kurisu";
+  };
   malbarbo = {
     email = "malbarbo@gmail.com";
     github = "malbarbo";
@@ -12725,6 +12772,11 @@
     githubId = 12279531;
     name = "Ricardo Guevara";
   };
+  rhendric = {
+    name = "Ryan Hendrickson";
+    github = "rhendric";
+    githubId = 1570964;
+  };
   rhoriguchi = {
     email = "ryan.horiguchi@gmail.com";
     github = "rhoriguchi";
@@ -14296,6 +14348,16 @@
     githubId = 22163194;
     name = "Stel Abrego";
   };
+  stepbrobd = {
+    name = "StepBroBD";
+    github = "StepBroBD";
+    githubId = 81826728;
+    email = "Hi@StepBroBD.com";
+    matrix = "@stepbrobd:matrix.org";
+    keys = [{
+      fingerprint = "5D8B FA8B 286A C2EF 6EE4  8598 F742 B72C 8926 1A51";
+    }];
+  };
   stephank = {
     email = "nix@stephank.nl";
     matrix = "@skochen:matrix.org";
@@ -15680,6 +15742,12 @@
     github = "deviant";
     githubId = 68829907;
   };
+  vaci = {
+    email = "vaci@vaci.org";
+    github = "vaci";
+    githubId = 6882568;
+    name = "Vaci";
+  };
   vaibhavsagar = {
     email = "vaibhavsagar@gmail.com";
     matrix = "@vaibhavsagar:matrix.org";
diff --git a/maintainers/scripts/update-octave-packages b/maintainers/scripts/update-octave-packages
new file mode 100755
index 000000000000..00a1646184d5
--- /dev/null
+++ b/maintainers/scripts/update-octave-packages
@@ -0,0 +1,468 @@
+#!/usr/bin/env nix-shell
+#!nix-shell update-octave-shell.nix -i python3
+
+"""
+Update a Octave package expression by passing in the `.nix` file, or the directory containing it.
+You can pass in multiple files or paths.
+
+You'll likely want to use
+``
+  $ ./update-octave-libraries ../../pkgs/development/octave-modules/**/default.nix
+``
+to update all non-pinned libraries in that folder.
+"""
+
+import argparse
+import os
+import pathlib
+import re
+import requests
+import yaml
+from concurrent.futures import ThreadPoolExecutor as Pool
+from packaging.version import Version as _Version
+from packaging.version import InvalidVersion
+from packaging.specifiers import SpecifierSet
+import collections
+import subprocess
+import tempfile
+
+INDEX = "https://raw.githubusercontent.com/gnu-octave/packages/main/packages"
+"""url of Octave packages' source on GitHub"""
+
+EXTENSIONS = ['tar.gz', 'tar.bz2', 'tar', 'zip']
+"""Permitted file extensions. These are evaluated from left to right and the first occurance is returned."""
+
+PRERELEASES = False
+
+GIT = "git"
+
+NIXPGKS_ROOT = subprocess.check_output(["git", "rev-parse", "--show-toplevel"]).decode('utf-8').strip()
+
+import logging
+logging.basicConfig(level=logging.INFO)
+
+
+class Version(_Version, collections.abc.Sequence):
+
+    def __init__(self, version):
+        super().__init__(version)
+        # We cannot use `str(Version(0.04.21))` because that becomes `0.4.21`
+        # https://github.com/avian2/unidecode/issues/13#issuecomment-354538882
+        self.raw_version = version
+
+    def __getitem__(self, i):
+        return self._version.release[i]
+
+    def __len__(self):
+        return len(self._version.release)
+
+    def __iter__(self):
+        yield from self._version.release
+
+
+def _get_values(attribute, text):
+    """Match attribute in text and return all matches.
+
+    :returns: List of matches.
+    """
+    regex = '{}\s+=\s+"(.*)";'.format(attribute)
+    regex = re.compile(regex)
+    values = regex.findall(text)
+    return values
+
+def _get_unique_value(attribute, text):
+    """Match attribute in text and return unique match.
+
+    :returns: Single match.
+    """
+    values = _get_values(attribute, text)
+    n = len(values)
+    if n > 1:
+        raise ValueError("found too many values for {}".format(attribute))
+    elif n == 1:
+        return values[0]
+    else:
+        raise ValueError("no value found for {}".format(attribute))
+
+def _get_line_and_value(attribute, text):
+    """Match attribute in text. Return the line and the value of the attribute."""
+    regex = '({}\s+=\s+"(.*)";)'.format(attribute)
+    regex = re.compile(regex)
+    value = regex.findall(text)
+    n = len(value)
+    if n > 1:
+        raise ValueError("found too many values for {}".format(attribute))
+    elif n == 1:
+        return value[0]
+    else:
+        raise ValueError("no value found for {}".format(attribute))
+
+
+def _replace_value(attribute, value, text):
+    """Search and replace value of attribute in text."""
+    old_line, old_value = _get_line_and_value(attribute, text)
+    new_line = old_line.replace(old_value, value)
+    new_text = text.replace(old_line, new_line)
+    return new_text
+
+
+def _fetch_page(url):
+    r = requests.get(url)
+    if r.status_code == requests.codes.ok:
+        return list(yaml.safe_load_all(r.content))[0]
+    else:
+        raise ValueError("request for {} failed".format(url))
+
+
+def _fetch_github(url):
+    headers = {}
+    token = os.environ.get('GITHUB_API_TOKEN')
+    if token:
+        headers["Authorization"] = f"token {token}"
+    r = requests.get(url, headers=headers)
+
+    if r.status_code == requests.codes.ok:
+        return r.json()
+    else:
+        raise ValueError("request for {} failed".format(url))
+
+
+SEMVER = {
+    'major' : 0,
+    'minor' : 1,
+    'patch' : 2,
+}
+
+
+def _determine_latest_version(current_version, target, versions):
+    """Determine latest version, given `target`, returning the more recent version.
+    """
+    current_version = Version(current_version)
+
+    def _parse_versions(versions):
+        for v in versions:
+            try:
+                yield Version(v)
+            except InvalidVersion:
+                pass
+
+    versions = _parse_versions(versions)
+
+    index = SEMVER[target]
+
+    ceiling = list(current_version[0:index])
+    if len(ceiling) == 0:
+        ceiling = None
+    else:
+        ceiling[-1]+=1
+        ceiling = Version(".".join(map(str, ceiling)))
+
+    # We do not want prereleases
+    versions = SpecifierSet(prereleases=PRERELEASES).filter(versions)
+
+    if ceiling is not None:
+        versions = SpecifierSet(f"<{ceiling}").filter(versions)
+
+    return (max(sorted(versions))).raw_version
+
+
+def _get_latest_version_octave_packages(package, extension, current_version, target):
+    """Get latest version and hash from Octave Packages."""
+    url = "{}/{}.yaml".format(INDEX, package)
+    yaml = _fetch_page(url)
+
+    versions = list(map(lambda pv: pv['id'], yaml['versions']))
+    version = _determine_latest_version(current_version, target, versions)
+
+    try:
+        releases = [v if v['id'] == version else None for v in yaml['versions']]
+    except KeyError as e:
+        raise KeyError('Could not find version {} for {}'.format(version, package)) from e
+    for release in releases:
+        if release['url'].endswith(extension):
+            sha256 = release['sha256']
+            break
+    else:
+        sha256 = None
+    return version, sha256, None
+
+
+def _get_latest_version_github(package, extension, current_version, target):
+    def strip_prefix(tag):
+        return re.sub("^[^0-9]*", "", tag)
+
+    def get_prefix(string):
+        matches = re.findall(r"^([^0-9]*)", string)
+        return next(iter(matches), "")
+
+    # when invoked as an updateScript, UPDATE_NIX_ATTR_PATH will be set
+    # this allows us to work with packages which live outside of octave-modules
+    attr_path = os.environ.get("UPDATE_NIX_ATTR_PATH", f"octavePackages.{package}")
+    try:
+        homepage = subprocess.check_output(
+            ["nix", "eval", "-f", f"{NIXPGKS_ROOT}/default.nix", "--raw", f"{attr_path}.src.meta.homepage"])\
+            .decode('utf-8')
+    except Exception as e:
+        raise ValueError(f"Unable to determine homepage: {e}")
+    owner_repo = homepage[len("https://github.com/"):]  # remove prefix
+    owner, repo = owner_repo.split("/")
+
+    url = f"https://api.github.com/repos/{owner}/{repo}/releases"
+    all_releases = _fetch_github(url)
+    releases = list(filter(lambda x: not x['prerelease'], all_releases))
+
+    if len(releases) == 0:
+        raise ValueError(f"{homepage} does not contain any stable releases")
+
+    versions = map(lambda x: strip_prefix(x['tag_name']), releases)
+    version = _determine_latest_version(current_version, target, versions)
+
+    release = next(filter(lambda x: strip_prefix(x['tag_name']) == version, releases))
+    prefix = get_prefix(release['tag_name'])
+    try:
+        sha256 = subprocess.check_output(["nix-prefetch-url", "--type", "sha256", "--unpack", f"{release['tarball_url']}"], stderr=subprocess.DEVNULL)\
+            .decode('utf-8').strip()
+    except:
+        # this may fail if they have both a branch and a tag of the same name, attempt tag name
+        tag_url = str(release['tarball_url']).replace("tarball","tarball/refs/tags")
+        sha256 = subprocess.check_output(["nix-prefetch-url", "--type", "sha256", "--unpack", tag_url], stderr=subprocess.DEVNULL)\
+            .decode('utf-8').strip()
+
+
+    return version, sha256, prefix
+
+def _get_latest_version_git(package, extension, current_version, target):
+    """NOTE: Unimplemented!"""
+    # attr_path = os.environ.get("UPDATE_NIX_ATTR_PATH", f"octavePackages.{package}")
+    # try:
+    #     download_url = subprocess.check_output(
+    #         ["nix", "--extra-experimental-features", "nix-command", "eval", "-f", f"{NIXPGKS_ROOT}/default.nix", "--raw", f"{attr_path}.src.url"])\
+    #         .decode('utf-8')
+    # except Exception as e:
+    #     raise ValueError(f"Unable to determine download link: {e}")
+
+    # with tempfile.TemporaryDirectory(prefix=attr_path) as new_clone_location:
+    #     subprocess.run(["git", "clone", download_url, new_clone_location])
+    #     newest_commit = subprocess.check_output(
+    #         ["git" "rev-parse" "$(git branch -r)" "|" "tail" "-n" "1"]).decode('utf-8')
+    pass
+
+
+FETCHERS = {
+    'fetchFromGitHub'   :   _get_latest_version_github,
+    'fetchurl'          :   _get_latest_version_octave_packages,
+    'fetchgit'          :   _get_latest_version_git,
+}
+
+
+DEFAULT_SETUPTOOLS_EXTENSION = 'tar.gz'
+
+
+FORMATS = {
+    'setuptools'        :   DEFAULT_SETUPTOOLS_EXTENSION,
+}
+
+def _determine_fetcher(text):
+    # Count occurrences of fetchers.
+    nfetchers = sum(text.count('src = {}'.format(fetcher)) for fetcher in FETCHERS.keys())
+    if nfetchers == 0:
+        raise ValueError("no fetcher.")
+    elif nfetchers > 1:
+        raise ValueError("multiple fetchers.")
+    else:
+        # Then we check which fetcher to use.
+        for fetcher in FETCHERS.keys():
+            if 'src = {}'.format(fetcher) in text:
+                return fetcher
+
+
+def _determine_extension(text, fetcher):
+    """Determine what extension is used in the expression.
+
+    If we use:
+    - fetchPypi, we check if format is specified.
+    - fetchurl, we determine the extension from the url.
+    - fetchFromGitHub we simply use `.tar.gz`.
+    """
+    if fetcher == 'fetchurl':
+        url = _get_unique_value('url', text)
+        extension = os.path.splitext(url)[1]
+
+    elif fetcher == 'fetchFromGitHub' or fetcher == 'fetchgit':
+        if "fetchSubmodules" in text:
+            raise ValueError("fetchFromGitHub fetcher doesn't support submodules")
+        extension = "tar.gz"
+
+    return extension
+
+
+def _update_package(path, target):
+
+    # Read the expression
+    with open(path, 'r') as f:
+        text = f.read()
+
+    # Determine pname. Many files have more than one pname
+    pnames = _get_values('pname', text)
+
+    # Determine version.
+    version = _get_unique_value('version', text)
+
+    # First we check how many fetchers are mentioned.
+    fetcher = _determine_fetcher(text)
+
+    extension = _determine_extension(text, fetcher)
+
+    # Attempt a fetch using each pname, e.g. backports-zoneinfo vs backports.zoneinfo
+    successful_fetch = False
+    for pname in pnames:
+        if fetcher == "fetchgit":
+            logging.warning(f"You must update {pname} MANUALLY!")
+            return { 'path': path, 'target': target, 'pname': pname,
+                     'old_version': version, 'new_version': version }
+        try:
+            new_version, new_sha256, prefix = FETCHERS[fetcher](pname, extension, version, target)
+            successful_fetch = True
+            break
+        except ValueError:
+            continue
+
+    if not successful_fetch:
+        raise ValueError(f"Unable to find correct package using these pnames: {pnames}")
+
+    if new_version == version:
+        logging.info("Path {}: no update available for {}.".format(path, pname))
+        return False
+    elif Version(new_version) <= Version(version):
+        raise ValueError("downgrade for {}.".format(pname))
+    if not new_sha256:
+        raise ValueError("no file available for {}.".format(pname))
+
+    text = _replace_value('version', new_version, text)
+    # hashes from pypi are 16-bit encoded sha256's, normalize it to sri to avoid merge conflicts
+    # sri hashes have been the default format since nix 2.4+
+    sri_hash = subprocess.check_output(["nix", "--extra-experimental-features", "nix-command", "hash", "to-sri", "--type", "sha256", new_sha256]).decode('utf-8').strip()
+
+
+    # fetchers can specify a sha256, or a sri hash
+    try:
+        text = _replace_value('sha256', sri_hash, text)
+    except ValueError:
+        text = _replace_value('hash', sri_hash, text)
+
+    if fetcher == 'fetchFromGitHub':
+        # in the case of fetchFromGitHub, it's common to see `rev = version;` or `rev = "v${version}";`
+        # in which no string value is meant to be substituted. However, we can just overwrite the previous value.
+        regex = '(rev\s+=\s+[^;]*;)'
+        regex = re.compile(regex)
+        matches = regex.findall(text)
+        n = len(matches)
+
+        if n == 0:
+            raise ValueError("Unable to find rev value for {}.".format(pname))
+        else:
+            # forcefully rewrite rev, incase tagging conventions changed for a release
+            match = matches[0]
+            text = text.replace(match, f'rev = "refs/tags/{prefix}${{version}}";')
+            # incase there's no prefix, just rewrite without interpolation
+            text = text.replace('"${version}";', 'version;')
+
+    with open(path, 'w') as f:
+        f.write(text)
+
+        logging.info("Path {}: updated {} from {} to {}".format(path, pname, version, new_version))
+
+    result = {
+        'path'  : path,
+        'target': target,
+        'pname': pname,
+        'old_version'   : version,
+        'new_version'   : new_version,
+        #'fetcher'       : fetcher,
+        }
+
+    return result
+
+
+def _update(path, target):
+
+    # We need to read and modify a Nix expression.
+    if os.path.isdir(path):
+        path = os.path.join(path, 'default.nix')
+
+    # If a default.nix does not exist, we quit.
+    if not os.path.isfile(path):
+        logging.info("Path {}: does not exist.".format(path))
+        return False
+
+    # If file is not a Nix expression, we quit.
+    if not path.endswith(".nix"):
+        logging.info("Path {}: does not end with `.nix`.".format(path))
+        return False
+
+    try:
+        return _update_package(path, target)
+    except ValueError as e:
+        logging.warning("Path {}: {}".format(path, e))
+        return False
+
+
+def _commit(path, pname, old_version, new_version, pkgs_prefix="octave: ", **kwargs):
+    """Commit result.
+    """
+
+    msg = f'{pkgs_prefix}{pname}: {old_version} -> {new_version}'
+
+    try:
+        subprocess.check_call([GIT, 'add', path])
+        subprocess.check_call([GIT, 'commit', '-m', msg])
+    except subprocess.CalledProcessError as e:
+        subprocess.check_call([GIT, 'checkout', path])
+        raise subprocess.CalledProcessError(f'Could not commit {path}') from e
+
+    return True
+
+
+def main():
+
+    epilog = """
+environment variables:
+  GITHUB_API_TOKEN\tGitHub API token used when updating github packages
+    """
+    parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter, epilog=epilog)
+    parser.add_argument('package', type=str, nargs='+')
+    parser.add_argument('--target', type=str, choices=SEMVER.keys(), default='major')
+    parser.add_argument('--commit', action='store_true', help='Create a commit for each package update')
+    parser.add_argument('--use-pkgs-prefix', action='store_true', help='Use octavePackages.${pname}: instead of octave: ${pname}: when making commits')
+
+    args = parser.parse_args()
+    target = args.target
+
+    packages = list(map(os.path.abspath, args.package))
+
+    logging.info("Updating packages...")
+
+    # Use threads to update packages concurrently
+    with Pool() as p:
+        results = list(filter(bool, p.map(lambda pkg: _update(pkg, target), packages)))
+
+    logging.info("Finished updating packages.")
+
+    commit_options = {}
+    if args.use_pkgs_prefix:
+        logging.info("Using octavePackages. prefix for commits")
+        commit_options["pkgs_prefix"] = "octavePackages."
+
+    # Commits are created sequentially.
+    if args.commit:
+        logging.info("Committing updates...")
+        # list forces evaluation
+        list(map(lambda x: _commit(**x, **commit_options), results))
+        logging.info("Finished committing updates")
+
+    count = len(results)
+    logging.info("{} package(s) updated".format(count))
+
+
+if __name__ == '__main__':
+    main()
diff --git a/maintainers/scripts/update-octave-shell.nix b/maintainers/scripts/update-octave-shell.nix
new file mode 100644
index 000000000000..51d4844c79f3
--- /dev/null
+++ b/maintainers/scripts/update-octave-shell.nix
@@ -0,0 +1,12 @@
+{ nixpkgs ? import ../.. { }
+}:
+with nixpkgs;
+let
+  pyEnv = python3.withPackages(ps: with ps; [ packaging requests toolz pyyaml ]);
+in
+mkShell {
+  packages = [
+    pyEnv
+    nix-prefetch-scripts
+  ];
+}
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index 2e07edd61c2a..4032595e8059 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -166,7 +166,11 @@ let
         --manpage-urls ${manpageUrls} \
         --revision ${lib.escapeShellArg revision} \
         ./manual.md \
-        ./manual-combined.xml
+        ./manual-combined-pre.xml
+
+      ${pkgs.libxslt.bin}/bin/xsltproc \
+        -o manual-combined.xml ${./../../lib/make-options-doc/postprocess-option-descriptions.xsl} \
+        manual-combined-pre.xml
 
       ${linterFunctions}
 
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index 24f73dc3f00b..dce3b3590032 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -65,7 +65,7 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [ArchiSteamFarm](https://github.com/JustArchiNET/ArchiSteamFarm), a C# application with primary purpose of idling Steam cards from multiple accounts simultaneously. Available as [services.archisteamfarm](#opt-services.archisteamfarm.enable).
 
-- [BaGet](https://loic-sharma.github.io/BaGet/), a lightweight NuGet and symbol server. Available at [services.baget](#opt-services.baget.enable).
+- [BaGet](https://loic-sharma.github.io/BaGet/), a lightweight NuGet and symbol server. Available at services.baget.
 
 - [bird-lg](https://github.com/xddxdd/bird-lg-go), a BGP looking glass for Bird Routing. Available as [services.bird-lg](#opt-services.bird-lg.package).
 
diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md
index d80d3556e377..deeda73d2fb5 100644
--- a/nixos/doc/manual/release-notes/rl-2305.section.md
+++ b/nixos/doc/manual/release-notes/rl-2305.section.md
@@ -47,6 +47,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [goeland](https://github.com/slurdge/goeland), an alternative to rss2email written in golang with many filters. Available as [services.goeland](#opt-services.goeland.enable).
 
+- [alertmanager-irc-relay](https://github.com/google/alertmanager-irc-relay), a Prometheus Alertmanager IRC Relay. Available as [services.prometheus.alertmanagerIrcRelay](options.html#opt-services.prometheus.alertmanagerIrcRelay.enable).
+
 - [tts](https://github.com/coqui-ai/TTS), a battle-tested deep learning toolkit for Text-to-Speech. Mutiple servers may be configured below [services.tts.servers](#opt-services.tts.servers).
 
 - [atuin](https://github.com/ellie/atuin), a sync server for shell history. Available as [services.atuin](#opt-services.atuin.enable).
@@ -57,6 +59,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [QDMR](https://dm3mat.darc.de/qdmr/), a GUI application and command line tool for programming DMR radios [programs.qdmr](#opt-programs.qdmr.enable)
 
+- [keyd](https://github.com/rvaiya/keyd), a key remapping daemon for linux. Available as [services.keyd](#opt-services.keyd.enable).
+
 - [v2rayA](https://v2raya.org), a Linux web GUI client of Project V which supports V2Ray, Xray, SS, SSR, Trojan and Pingtunnel. Available as [services.v2raya](options.html#opt-services.v2raya.enable).
 
 - [ulogd](https://www.netfilter.org/projects/ulogd/index.html), a userspace logging daemon for netfilter/iptables related logging. Available as [services.ulogd](options.html#opt-services.ulogd.enable).
@@ -77,6 +81,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [woodpecker-server](https://woodpecker-ci.org/), a simple CI engine with great extensibility. Available as [services.woodpecker-server](#opt-services.woodpecker-server.enable).
 
+- [ReGreet](https://github.com/rharish101/ReGreet), a clean and customizable greeter for greetd. Available as [programs.regreet](#opt-programs.regreet.enable).
+
 ## Backward Incompatibilities {#sec-release-23.05-incompatibilities}
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
@@ -124,12 +130,16 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `llvmPackages_rocm.llvm` will not contain `clang` or `compiler-rt`. `llvmPackages_rocm.clang` will not contain `llvm`. `llvmPackages_rocm.clangNoCompilerRt` has been removed in favor of using `llvmPackages_rocm.clang-unwrapped`.
 
+- `services.xserver.desktopManager.plasma5.excludePackages` has been moved to `environment.plasma5.excludePackages`, for consistency with other Desktop Environments
+
 - The EC2 image module previously detected and automatically mounted ext3-formatted instance store devices and partitions in stage-1 (initramfs), storing `/tmp` on the first discovered device. This behaviour, which only catered to very specific use cases and could not be disabled, has been removed. Users relying on this should provide their own implementation, and probably use ext4 and perform the mount in stage-2.
 
 - `teleport` has been upgraded from major version 10 to major version 12. Please see upstream [upgrade instructions](https://goteleport.com/docs/setup/operations/upgrading/) and release notes for versions [11](https://goteleport.com/docs/changelog/#1100) and [12](https://goteleport.com/docs/changelog/#1201). Note that Teleport does not officially support upgrades across more than one major version at a time. If you're running Teleport server components, it is recommended to first upgrade to an intermediate 11.x version by setting `services.teleport.package = pkgs.teleport_11`. Afterwards, this option can be removed to upgrade to the default version (12).
 
 - The EC2 image module previously detected and activated swap-formatted instance store devices and partitions in stage-1 (initramfs). This behaviour has been removed. Users relying on this should provide their own implementation.
 
+- `fail2ban` has been updated to 1.0.2, which has a few breaking changes compared to 0.11.2 ([changelog for 1.0.1](https://github.com/fail2ban/fail2ban/blob/1.0.1/ChangeLog), [changelog for 1.0.2](https://github.com/fail2ban/fail2ban/blob/1.0.2/ChangeLog))
+
 - Calling `makeSetupHook` without passing a `name` argument is deprecated.
 
 - `lib.systems.examples.ghcjs` and consequently `pkgsCross.ghcjs` now use the target triplet `javascript-unknown-ghcjs` instead of `js-unknown-ghcjs`. This has been done to match an [upstream decision](https://gitlab.haskell.org/ghc/ghc/-/commit/6636b670233522f01d002c9b97827d00289dbf5c) to follow Cabal's platform naming more closely. Nixpkgs will also reject `js` as an architecture name.
@@ -152,6 +162,12 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - Deprecated `xlibsWrapper` transitional package has been removed in favour of direct use of its constitutents: `xorg.libX11`, `freetype` and others.
 
+- The latest available version of Nextcloud is v26 (available as `pkgs.nextcloud26`) which uses PHP 8.2 as interpreter by default. The installation logic is as follows:
+  - If `system.stateVersion` is >=23.05, `pkgs.nextcloud26` will be installed by default.
+  - If `system.stateVersion` is >=22.11, `pkgs.nextcloud25` will be installed by default.
+  - Please note that an upgrade from v24 (or older) to v26 directly is not possible. Please upgrade to `nextcloud25` (or earlier) first. Nextcloud prohibits skipping major versions while upgrading. You can upgrade by declaring [`services.nextcloud.package = pkgs.nextcloud25;`](options.html#opt-services.nextcloud.package).
+  - It's recommended to use the latest version available (i.e. v26) and to specify that using `services.nextcloud.package`.
+
 - .NET 5.0 was removed due to being end-of-life, use a newer, supported .NET version - https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core
 
 - The iputils package, which is installed by default, no longer provides the
@@ -163,6 +179,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - conntrack helper autodetection has been removed from kernels 6.0 and up upstream, and an assertion was added to ensure things don't silently stop working. Migrate your configuration to assign helpers explicitly or use an older LTS kernel branch as a temporary workaround.
 
+- The `baget` package and module was removed due to being unmaintained.
+
 ## Other Notable Changes {#sec-release-23.05-notable-changes}
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
@@ -221,6 +239,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `mastodon` now supports connection to a remote `PostgreSQL` database.
 
+- `nextcloud` has an option to enable SSE-C in S3.
+
 - `services.peertube` now requires you to specify the secret file `secrets.secretsFile`. It can be generated by running `openssl rand -hex 32`.
   Before upgrading, read the release notes for PeerTube:
     - [Release v5.0.0](https://github.com/Chocobozzz/PeerTube/releases/tag/v5.0.0)
@@ -238,6 +258,11 @@ In addition to numerous new and upgraded packages, this release has the followin
     [headscale's example configuration](https://github.com/juanfont/headscale/blob/main/config-example.yaml)
     can be directly written as attribute-set in Nix within this option.
 
+- The `hardware.video.hidpi.enable` was renamed to `fonts.optimizeForVeryHighDPI` to be consistent with what it actually does.
+  They disable by default: antialiasing, hinting and LCD filter for subpixel rendering. They can be overridden if you experience problems with font rendering.
+  On Xorg, the default cursor is upscaled.
+  Please see the documentation for the new option to decide if you want to keep it enabled.
+
 - `nixos/lib/make-disk-image.nix` can now mutate EFI variables, run user-provided EFI firmware or variable templates. This is now extensively documented in the NixOS manual.
 
 - `services.grafana` listens only on localhost by default again. This was changed to upstreams default of `0.0.0.0` by accident in the freeform setting conversion.
@@ -300,8 +325,6 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [Xastir](https://xastir.org/index.php/Main_Page) can now access AX.25 interfaces via the `libax25` package.
 
-- `tvbrowser-bin` was removed, and now `tvbrowser` is built from source.
-
 - `nixos-version` now accepts `--configuration-revision` to display more information about the current generation revision
 
 - The option `services.nomad.extraSettingsPlugins` has been fixed to allow more than one plugin in the path.
diff --git a/nixos/lib/test-driver/test_driver/machine.py b/nixos/lib/test-driver/test_driver/machine.py
index 4929f2048ecc..9de98c217a58 100644
--- a/nixos/lib/test-driver/test_driver/machine.py
+++ b/nixos/lib/test-driver/test_driver/machine.py
@@ -737,9 +737,10 @@ class Machine:
             self.connected = True
 
     def screenshot(self, filename: str) -> None:
-        word_pattern = re.compile(r"^\w+$")
-        if word_pattern.match(filename):
-            filename = os.path.join(self.out_dir, f"{filename}.png")
+        if "." not in filename:
+            filename += ".png"
+        if "/" not in filename:
+            filename = os.path.join(self.out_dir, filename)
         tmp = f"{filename}.ppm"
 
         with self.nested(
diff --git a/nixos/modules/config/console.nix b/nixos/modules/config/console.nix
index f5db5dc5dfc1..1e8bb78f302d 100644
--- a/nixos/modules/config/console.nix
+++ b/nixos/modules/config/console.nix
@@ -21,7 +21,7 @@ let
   # Sadly, systemd-vconsole-setup doesn't support binary keymaps.
   vconsoleConf = pkgs.writeText "vconsole.conf" ''
     KEYMAP=${cfg.keyMap}
-    FONT=${cfg.font}
+    ${optionalString (cfg.font != null) "FONT=${cfg.font}"}
   '';
 
   consoleEnv = kbd: pkgs.buildEnv {
@@ -45,14 +45,19 @@ in
     };
 
     font = mkOption {
-      type = with types; either str path;
-      default = "Lat2-Terminus16";
+      type = with types; nullOr (either str path);
+      default = null;
       example = "LatArCyrHeb-16";
       description = mdDoc ''
-        The font used for the virtual consoles.  Leave empty to use
-        whatever the {command}`setfont` program considers the
-        default font.
-        Can be either a font name or a path to a PSF font file.
+        The font used for the virtual consoles.
+        Can be `null`, a font name, or a path to a PSF font file.
+
+        Use `null` to let the kernel choose a built-in font.
+        The default is 8x16, and, as of Linux 5.3, Terminus 32 bold for display
+        resolutions of 2560x1080 and higher.
+        These fonts cover the [IBM437][] character set.
+
+        [IBM437]: https://en.wikipedia.org/wiki/Code_page_437
       '';
     };
 
@@ -151,7 +156,7 @@ in
           printf "\033%%${if isUnicode then "G" else "@"}" >> /dev/console
           loadkmap < ${optimizedKeymap}
 
-          ${optionalString cfg.earlySetup ''
+          ${optionalString (cfg.earlySetup && cfg.font != null) ''
             setfont -C /dev/console $extraUtils/share/consolefonts/font.psf
           ''}
         '');
@@ -168,7 +173,7 @@ in
           "${config.boot.initrd.systemd.package.kbd}/bin/setfont"
           "${config.boot.initrd.systemd.package.kbd}/bin/loadkeys"
           "${config.boot.initrd.systemd.package.kbd.gzip}/bin/gzip" # Fonts and keyboard layouts are compressed
-        ] ++ optionals (hasPrefix builtins.storeDir cfg.font) [
+        ] ++ optionals (cfg.font != null && hasPrefix builtins.storeDir cfg.font) [
           "${cfg.font}"
         ] ++ optionals (hasPrefix builtins.storeDir cfg.keyMap) [
           "${cfg.keyMap}"
@@ -195,7 +200,7 @@ in
         ];
       })
 
-      (mkIf (cfg.earlySetup && !config.boot.initrd.systemd.enable) {
+      (mkIf (cfg.earlySetup && cfg.font != null && !config.boot.initrd.systemd.enable) {
         boot.initrd.extraUtilsCommands = ''
           mkdir -p $out/share/consolefonts
           ${if substring 0 1 cfg.font == "/" then ''
diff --git a/nixos/modules/config/fonts/fonts.nix b/nixos/modules/config/fonts/fonts.nix
index c0619fa31a32..efbd554582fc 100644
--- a/nixos/modules/config/fonts/fonts.nix
+++ b/nixos/modules/config/fonts/fonts.nix
@@ -3,29 +3,7 @@
 with lib;
 
 let
-  # A scalable variant of the X11 "core" cursor
-  #
-  # If not running a fancy desktop environment, the cursor is likely set to
-  # the default `cursor.pcf` bitmap font. This is 17px wide, so it's very
-  # small and almost invisible on 4K displays.
-  fontcursormisc_hidpi = pkgs.xorg.fontxfree86type1.overrideAttrs (old:
-    let
-      # The scaling constant is 230/96: the scalable `left_ptr` glyph at
-      # about 23 points is rendered as 17px, on a 96dpi display.
-      # Note: the XLFD font size is in decipoints.
-      size = 2.39583 * config.services.xserver.dpi;
-      sizeString = builtins.head (builtins.split "\\." (toString size));
-    in
-    {
-      postInstall = ''
-        alias='cursor -xfree86-cursor-medium-r-normal--0-${sizeString}-0-0-p-0-adobe-fontspecific'
-        echo "$alias" > $out/lib/X11/fonts/Type1/fonts.alias
-      '';
-    });
-
-  hasHidpi =
-    config.hardware.video.hidpi.enable &&
-    config.services.xserver.dpi != null;
+  cfg = config.fonts;
 
   defaultFonts =
     [ pkgs.dejavu_fonts
@@ -36,16 +14,12 @@ let
       pkgs.noto-fonts-emoji
     ];
 
-  defaultXFonts =
-    [ (if hasHidpi then fontcursormisc_hidpi else pkgs.xorg.fontcursormisc)
-      pkgs.xorg.fontmiscmisc
-    ];
-
 in
 
 {
   imports = [
     (mkRemovedOptionModule [ "fonts" "enableCoreFonts" ] "Use fonts.fonts = [ pkgs.corefonts ]; instead.")
+    (mkRenamedOptionModule [ "hardware" "video" "hidpi" "enable" ] [ "fonts" "optimizeForVeryHighDPI" ])
   ];
 
   options = {
@@ -69,13 +43,32 @@ in
         '';
       };
 
+      optimizeForVeryHighDPI = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc ''
+          Optimize configuration for very high-density (>200 DPI) displays:
+            - disable subpixel anti-aliasing
+            - disable hinting
+            - automatically upscale the default X11 cursor
+        '';
+      };
     };
 
   };
 
   config = mkMerge [
-    { fonts.fonts = mkIf config.fonts.enableDefaultFonts defaultFonts; }
-    { fonts.fonts = mkIf config.services.xserver.enable defaultXFonts; }
+    { fonts.fonts = mkIf cfg.enableDefaultFonts defaultFonts; }
+    (mkIf cfg.optimizeForVeryHighDPI {
+      services.xserver.upscaleDefaultCursor = mkDefault true;
+      # Conforms to the recommendation in fonts/fontconfig.nix
+      # for > 200DPI.
+      fonts.fontconfig = {
+        antialias = mkDefault false;
+        hinting.enable = mkDefault false;
+        subpixel.lcdfilter = mkDefault "none";
+      };
+    })
   ];
 
 }
diff --git a/nixos/modules/config/zram.nix b/nixos/modules/config/zram.nix
index 4df646cf2796..991387ea9b2b 100644
--- a/nixos/modules/config/zram.nix
+++ b/nixos/modules/config/zram.nix
@@ -82,12 +82,30 @@ in
           {command}`cat /sys/class/block/zram*/comp_algorithm`
         '';
       };
+
+      writebackDevice = lib.mkOption {
+        default = null;
+        example = "/dev/zvol/tarta-zoot/swap-writeback";
+        type = lib.types.nullOr lib.types.path;
+        description = lib.mdDoc ''
+          Write incompressible pages to this device,
+          as there's no gain from keeping them in RAM.
+        '';
+      };
     };
 
   };
 
   config = lib.mkIf cfg.enable {
 
+    assertions = [
+      {
+        assertion = cfg.writebackDevice == null || cfg.swapDevices <= 1;
+        message = "A single writeback device cannot be shared among multiple zram devices";
+      }
+    ];
+
+
     system.requiredKernelConfig = with config.lib.kernelConfig; [
       (isModule "ZRAM")
     ];
@@ -112,6 +130,8 @@ in
                 zram-size = if cfg.memoryMax != null then "min(${size}, ${toString cfg.memoryMax} / 1024 / 1024)" else size;
                 compression-algorithm = cfg.algorithm;
                 swap-priority = cfg.priority;
+              } // lib.optionalAttrs (cfg.writebackDevice != null) {
+                writeback-device = cfg.writebackDevice;
               };
           })
           devices));
diff --git a/nixos/modules/hardware/video/hidpi.nix b/nixos/modules/hardware/video/hidpi.nix
deleted file mode 100644
index 8c8f8bc0c265..000000000000
--- a/nixos/modules/hardware/video/hidpi.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, pkgs, config, ...}:
-with lib;
-
-{
-  options.hardware.video.hidpi.enable = mkEnableOption (lib.mdDoc "Font/DPI configuration optimized for HiDPI displays");
-
-  config = mkIf config.hardware.video.hidpi.enable {
-    console.font = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-v32n.psf.gz";
-
-    # Needed when typing in passwords for full disk encryption
-    console.earlySetup = mkDefault true;
-    boot.loader.systemd-boot.consoleMode = mkDefault "1";
-
-
-    # Grayscale anti-aliasing for fonts
-    fonts.fontconfig.antialias = mkDefault true;
-    fonts.fontconfig.subpixel = {
-      rgba = mkDefault "none";
-      lcdfilter = mkDefault "none";
-    };
-
-    # TODO Find reasonable defaults X11 & wayland
-  };
-}
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index db530533e428..946e73dac586 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -518,21 +518,6 @@ EOF
     }
 }
 
-# For lack of a better way to determine it, guess whether we should use a
-# bigger font for the console from the display mode on the first
-# framebuffer. A way based on the physical size/actual DPI reported by
-# the monitor would be nice, but I don't know how to do this without X :)
-my $fb_modes_file = "/sys/class/graphics/fb0/modes";
-if (-f $fb_modes_file && -r $fb_modes_file) {
-    my $modes = read_file($fb_modes_file);
-    $modes =~ m/([0-9]+)x([0-9]+)/;
-    my $console_width = $1, my $console_height = $2;
-    if ($console_width > 1920) {
-        push @attrs, "# high-resolution display";
-        push @attrs, 'hardware.video.hidpi.enable = lib.mkDefault true;';
-    }
-}
-
 
 # Generate the hardware configuration file.
 
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index c2cca03e433c..08278d3943f3 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -159,10 +159,7 @@ in
       $desktopConfiguration
         # Configure keymap in X11
         # services.xserver.layout = "us";
-        # services.xserver.xkbOptions = {
-        #   "eurosign:e";
-        #   "caps:escape" # map caps to escape.
-        # };
+        # services.xserver.xkbOptions = "eurosign:e,caps:escape";
 
         # Enable CUPS to print documents.
         # services.printing.enable = true;
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index f5daa37bf3cc..6ebbe3ff2a09 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -95,7 +95,6 @@
   ./hardware/video/bumblebee.nix
   ./hardware/video/capture/mwprocapture.nix
   ./hardware/video/displaylink.nix
-  ./hardware/video/hidpi.nix
   ./hardware/video/nvidia.nix
   ./hardware/video/switcheroo-control.nix
   ./hardware/video/uvcvideo/default.nix
@@ -220,6 +219,7 @@
   ./programs/proxychains.nix
   ./programs/qdmr.nix
   ./programs/qt5ct.nix
+  ./programs/regreet.nix
   ./programs/rog-control-center.nix
   ./programs/rust-motd.nix
   ./programs/screen.nix
@@ -511,6 +511,7 @@
   ./services/hardware/usbmuxd.nix
   ./services/hardware/usbrelayd.nix
   ./services/hardware/vdr.nix
+  ./services/hardware/keyd.nix
   ./services/home-automation/evcc.nix
   ./services/home-automation/home-assistant.nix
   ./services/home-automation/zigbee2mqtt.nix
@@ -734,6 +735,7 @@
   ./services/monitoring/nagios.nix
   ./services/monitoring/netdata.nix
   ./services/monitoring/parsedmarc.nix
+  ./services/monitoring/prometheus/alertmanager-irc-relay.nix
   ./services/monitoring/prometheus/alertmanager.nix
   ./services/monitoring/prometheus/default.nix
   ./services/monitoring/prometheus/exporters.nix
@@ -1132,7 +1134,6 @@
   ./services/web-apps/atlassian/confluence.nix
   ./services/web-apps/atlassian/crowd.nix
   ./services/web-apps/atlassian/jira.nix
-  ./services/web-apps/baget.nix
   ./services/web-apps/bookstack.nix
   ./services/web-apps/calibre-web.nix
   ./services/web-apps/coder.nix
diff --git a/nixos/modules/programs/ccache.nix b/nixos/modules/programs/ccache.nix
index 19fb7ca3294e..567c853e8c7d 100644
--- a/nixos/modules/programs/ccache.nix
+++ b/nixos/modules/programs/ccache.nix
@@ -17,7 +17,7 @@ in {
       type = types.listOf types.str;
       description = lib.mdDoc "Nix top-level packages to be compiled using CCache";
       default = [];
-      example = [ "wxGTK30" "ffmpeg" "libav_all" ];
+      example = [ "wxGTK32" "ffmpeg" "libav_all" ];
     };
   };
 
diff --git a/nixos/modules/programs/regreet.nix b/nixos/modules/programs/regreet.nix
new file mode 100644
index 000000000000..89b93737f4a2
--- /dev/null
+++ b/nixos/modules/programs/regreet.nix
@@ -0,0 +1,75 @@
+{ lib
+, pkgs
+, config
+, ...
+}:
+let
+  cfg = config.programs.regreet;
+  settingsFormat = pkgs.formats.toml { };
+in
+{
+  options.programs.regreet = {
+    enable = lib.mkEnableOption null // {
+      description = lib.mdDoc ''
+        Enable ReGreet, a clean and customizable greeter for greetd.
+
+        To use ReGreet, {option}`services.greetd` has to be enabled and
+        {option}`services.greetd.settings.default_session` should contain the
+        appropriate configuration to launch
+        {option}`config.programs.regreet.package`. For examples, see the
+        [ReGreet Readme](https://github.com/rharish101/ReGreet#set-as-default-session).
+
+        A minimal configuration that launches ReGreet in {command}`cage` is
+        enabled by this module by default.
+      '';
+    };
+
+    package = lib.mkPackageOptionMD pkgs [ "greetd" "regreet" ] { };
+
+    settings = lib.mkOption {
+      type = lib.types.either lib.types.path settingsFormat.type;
+      default = { };
+      description = lib.mdDoc ''
+        ReGreet configuration file. Refer
+        <https://github.com/rharish101/ReGreet/blob/main/regreet.sample.toml>
+        for options.
+      '';
+    };
+
+    extraCss = lib.mkOption {
+      type = lib.types.either lib.types.path lib.types.lines;
+      default = "";
+      description = lib.mdDoc ''
+        Extra CSS rules to apply on top of the GTK theme. Refer to
+        [GTK CSS Properties](https://docs.gtk.org/gtk4/css-properties.html) for
+        modifiable properties.
+      '';
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    services.greetd = {
+      enable = lib.mkDefault true;
+      settings.default_session.command = lib.mkDefault "${lib.getExe pkgs.cage} -s -- ${lib.getExe cfg.package}";
+    };
+
+    environment.etc = {
+      "greetd/regreet.css" =
+        if lib.isPath cfg.extraCss
+        then {source = cfg.extraCss;}
+        else {text = cfg.extraCss;};
+
+      "greetd/regreet.toml".source =
+        if lib.isPath cfg.settings
+        then cfg.settings
+        else settingsFormat.generate "regreet.toml" cfg.settings;
+    };
+
+    systemd.tmpfiles.rules = let
+      user = config.services.greetd.settings.default_session.user;
+    in [
+      "d /var/log/regreet 0755 greeter ${user} - -"
+      "d /var/cache/regreet 0755 greeter ${user} - -"
+    ];
+  };
+}
diff --git a/nixos/modules/programs/starship.nix b/nixos/modules/programs/starship.nix
index b56c0b256164..cacad8eafe3d 100644
--- a/nixos/modules/programs/starship.nix
+++ b/nixos/modules/programs/starship.nix
@@ -9,10 +9,27 @@ let
 
   settingsFile = settingsFormat.generate "starship.toml" cfg.settings;
 
-in {
+  initOption =
+    if cfg.interactiveOnly then
+      "promptInit"
+    else
+      "shellInit";
+
+in
+{
   options.programs.starship = {
     enable = mkEnableOption (lib.mdDoc "the Starship shell prompt");
 
+    interactiveOnly = mkOption {
+      default = true;
+      example = false;
+      type = types.bool;
+      description = lib.mdDoc ''
+        Whether to enable starship only when the shell is interactive.
+        Some plugins require this to be set to false to function correctly.
+      '';
+    };
+
     settings = mkOption {
       inherit (settingsFormat) type;
       default = { };
@@ -25,21 +42,21 @@ in {
   };
 
   config = mkIf cfg.enable {
-    programs.bash.promptInit = ''
+    programs.bash.${initOption} = ''
       if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
         export STARSHIP_CONFIG=${settingsFile}
         eval "$(${pkgs.starship}/bin/starship init bash)"
       fi
     '';
 
-    programs.fish.promptInit = ''
+    programs.fish.${initOption} = ''
       if test "$TERM" != "dumb" -a \( -z "$INSIDE_EMACS" -o "$INSIDE_EMACS" = "vterm" \)
         set -x STARSHIP_CONFIG ${settingsFile}
         eval (${pkgs.starship}/bin/starship init fish)
       end
     '';
 
-    programs.zsh.promptInit = ''
+    programs.zsh.${initOption} = ''
       if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
         export STARSHIP_CONFIG=${settingsFile}
         eval "$(${pkgs.starship}/bin/starship init zsh)"
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index d8a18cfcc6dc..2849b23fa2cb 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -44,6 +44,7 @@ with lib;
         The hidepid module was removed, since the underlying machinery
         is broken when using cgroups-v2.
     '')
+    (mkRemovedOptionModule [ "services" "baget" "enable" ] "The baget module was removed due to the upstream package being unmaintained.")
     (mkRemovedOptionModule [ "services" "beegfs" ] "The BeeGFS module has been removed")
     (mkRemovedOptionModule [ "services" "beegfsEnable" ] "The BeeGFS module has been removed")
     (mkRemovedOptionModule [ "services" "cgmanager" "enable"] "cgmanager was deprecated by lxc and therefore removed from nixpkgs.")
diff --git a/nixos/modules/services/backup/restic.nix b/nixos/modules/services/backup/restic.nix
index bc24e13aa050..ca796cf7797e 100644
--- a/nixos/modules/services/backup/restic.nix
+++ b/nixos/modules/services/backup/restic.nix
@@ -303,8 +303,8 @@ in
               then if (backup.paths != null) then concatStringsSep " " backup.paths else ""
               else "--files-from ${filesFromTmpFile}";
             pruneCmd = optionals (builtins.length backup.pruneOpts > 0) [
-              (resticCmd + " forget --prune --cache-dir=%C/restic-backups-${name} " + (concatStringsSep " " backup.pruneOpts))
-              (resticCmd + " check --cache-dir=%C/restic-backups-${name} " + (concatStringsSep " " backup.checkOpts))
+              (resticCmd + " forget --prune " + (concatStringsSep " " backup.pruneOpts))
+              (resticCmd + " check " + (concatStringsSep " " backup.checkOpts))
             ];
             # Helper functions for rclone remotes
             rcloneRemoteName = builtins.elemAt (splitString ":" backup.repository) 1;
@@ -314,6 +314,7 @@ in
           in
           nameValuePair "restic-backups-${name}" ({
             environment = {
+              RESTIC_CACHE_DIR = "%C/restic-backups-${name}";
               RESTIC_PASSWORD_FILE = backup.passwordFile;
               RESTIC_REPOSITORY = backup.repository;
               RESTIC_REPOSITORY_FILE = backup.repositoryFile;
@@ -332,7 +333,7 @@ in
             restartIfChanged = false;
             serviceConfig = {
               Type = "oneshot";
-              ExecStart = (optionals (backupPaths != "") [ "${resticCmd} backup --cache-dir=%C/restic-backups-${name} ${concatStringsSep " " (backup.extraBackupArgs ++ excludeFlags)} ${backupPaths}" ])
+              ExecStart = (optionals (backupPaths != "") [ "${resticCmd} backup ${concatStringsSep " " (backup.extraBackupArgs ++ excludeFlags)} ${backupPaths}" ])
                 ++ pruneCmd;
               User = backup.user;
               RuntimeDirectory = "restic-backups-${name}";
diff --git a/nixos/modules/services/hardware/keyd.nix b/nixos/modules/services/hardware/keyd.nix
new file mode 100644
index 000000000000..64c769405fab
--- /dev/null
+++ b/nixos/modules/services/hardware/keyd.nix
@@ -0,0 +1,112 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  cfg = config.services.keyd;
+  settingsFormat = pkgs.formats.ini { };
+in
+{
+  options = {
+    services.keyd = {
+      enable = mkEnableOption (lib.mdDoc "keyd, a key remapping daemon");
+
+      ids = mkOption {
+        type = types.listOf types.string;
+        default = [ "*" ];
+        example = [ "*" "-0123:0456" ];
+        description = lib.mdDoc ''
+          Device identifiers, as shown by {manpage}`keyd(1)`.
+        '';
+      };
+
+      settings = mkOption {
+        type = settingsFormat.type;
+        default = { };
+        example = {
+          main = {
+            capslock = "overload(control, esc)";
+            rightalt = "layer(rightalt)";
+          };
+
+          rightalt = {
+            j = "down";
+            k = "up";
+            h = "left";
+            l = "right";
+          };
+        };
+        description = lib.mdDoc ''
+          Configuration, except `ids` section, that is written to {file}`/etc/keyd/default.conf`.
+          See <https://github.com/rvaiya/keyd> how to configure.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.etc."keyd/default.conf".source = pkgs.runCommand "default.conf"
+      {
+        ids = ''
+          [ids]
+          ${concatStringsSep "\n" cfg.ids}
+        '';
+        passAsFile = [ "ids" ];
+      } ''
+      cat $idsPath <(echo) ${settingsFormat.generate "keyd-main.conf" cfg.settings} >$out
+    '';
+
+    hardware.uinput.enable = lib.mkDefault true;
+
+    systemd.services.keyd = {
+      description = "Keyd remapping daemon";
+      documentation = [ "man:keyd(1)" ];
+
+      wantedBy = [ "multi-user.target" ];
+
+      restartTriggers = [
+        config.environment.etc."keyd/default.conf".source
+      ];
+
+      # this is configurable in 2.4.2, later versions seem to remove this option.
+      # post-2.4.2 may need to set makeFlags in the derivation:
+      #
+      #     makeFlags = [ "SOCKET_PATH/run/keyd/keyd.socket" ];
+      environment.KEYD_SOCKET = "/run/keyd/keyd.sock";
+
+      serviceConfig = {
+        ExecStart = "${pkgs.keyd}/bin/keyd";
+        Restart = "always";
+
+        DynamicUser = true;
+        SupplementaryGroups = [
+          config.users.groups.input.name
+          config.users.groups.uinput.name
+        ];
+
+        RuntimeDirectory = "keyd";
+
+        # Hardening
+        CapabilityBoundingSet = "";
+        DeviceAllow = [
+          "char-input rw"
+          "/dev/uinput rw"
+        ];
+        ProtectClock = true;
+        PrivateNetwork = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        PrivateUsers = true;
+        PrivateMounts = true;
+        RestrictNamespaces = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectControlGroups = true;
+        MemoryDenyWriteExecute = true;
+        RestrictRealtime = true;
+        LockPersonality = true;
+        ProtectProc = "noaccess";
+        UMask = "0077";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/hardware/supergfxd.nix b/nixos/modules/services/hardware/supergfxd.nix
index df339e4ba011..5ea05ac27716 100644
--- a/nixos/modules/services/hardware/supergfxd.nix
+++ b/nixos/modules/services/hardware/supergfxd.nix
@@ -32,6 +32,7 @@ in
 
     systemd.packages = [ pkgs.supergfxctl ];
     systemd.services.supergfxd.wantedBy = [ "multi-user.target" ];
+    systemd.services.supergfxd.path = [ pkgs.kmod ];
 
     services.dbus.packages = [ pkgs.supergfxctl ];
     services.udev.packages = [ pkgs.supergfxctl ];
diff --git a/nixos/modules/services/mail/roundcube.nix b/nixos/modules/services/mail/roundcube.nix
index 95dc2f6aa2c9..7b6d82219298 100644
--- a/nixos/modules/services/mail/roundcube.nix
+++ b/nixos/modules/services/mail/roundcube.nix
@@ -132,6 +132,8 @@ in
       $config['plugins'] = [${concatMapStringsSep "," (p: "'${p}'") cfg.plugins}];
       $config['des_key'] = file_get_contents('/var/lib/roundcube/des_key');
       $config['mime_types'] = '${pkgs.nginx}/conf/mime.types';
+      # Roundcube uses PHP-FPM which has `PrivateTmp = true;`
+      $config['temp_dir'] = '/tmp';
       $config['enable_spellcheck'] = ${if cfg.dicts == [] then "false" else "true"};
       # by default, spellchecking uses a third-party cloud services
       $config['spellcheck_engine'] = 'pspell';
diff --git a/nixos/modules/services/matrix/synapse.md b/nixos/modules/services/matrix/synapse.md
index 7a9ddf8c9daf..cad91ebf58d5 100644
--- a/nixos/modules/services/matrix/synapse.md
+++ b/nixos/modules/services/matrix/synapse.md
@@ -27,10 +27,7 @@ please refer to the
 { pkgs, lib, config, ... }:
 let
   fqdn = "${config.networking.hostName}.${config.networking.domain}";
-  clientConfig = {
-    "m.homeserver".base_url = "https://${fqdn}";
-    "m.identity_server" = {};
-  };
+  clientConfig."m.homeserver".base_url = "https://${fqdn}";
   serverConfig."m.server" = "${fqdn}:443";
   mkWellKnown = data: ''
     add_header Content-Type application/json;
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index c7299c1ccad8..d278b571a641 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -156,7 +156,7 @@ let
       };
       extra = {};
       uploads.storage_path = cfg.statePath;
-      pages = {
+      pages = optionalAttrs cfg.pages.enable {
         enabled = cfg.pages.enable;
         port = 8090;
         host = cfg.pages.settings.pages-domain;
diff --git a/nixos/modules/services/misc/portunus.nix b/nixos/modules/services/misc/portunus.nix
index f60cbe347713..5504fb942968 100644
--- a/nixos/modules/services/misc/portunus.nix
+++ b/nixos/modules/services/misc/portunus.nix
@@ -238,7 +238,7 @@ in
           PORTUNUS_SERVER_BINARY = "${cfg.package}/bin/portunus-server";
           PORTUNUS_SERVER_GROUP = cfg.group;
           PORTUNUS_SERVER_USER = cfg.user;
-          PORTUNUS_SERVER_HTTP_LISTEN = "[::]:${toString cfg.port}";
+          PORTUNUS_SERVER_HTTP_LISTEN = "127.0.0.1:${toString cfg.port}";
           PORTUNUS_SERVER_STATE_DIR = cfg.stateDir;
           PORTUNUS_SLAPD_BINARY = "${cfg.ldap.package}/libexec/slapd";
           PORTUNUS_SLAPD_GROUP = cfg.ldap.group;
diff --git a/nixos/modules/services/misc/sssd.nix b/nixos/modules/services/misc/sssd.nix
index edd5750a4a47..7c7a3b464a83 100644
--- a/nixos/modules/services/misc/sssd.nix
+++ b/nixos/modules/services/misc/sssd.nix
@@ -77,6 +77,10 @@ in {
   };
   config = mkMerge [
     (mkIf cfg.enable {
+      # For `sssctl` to work.
+      environment.etc."sssd/sssd.conf".source = settingsFile;
+      environment.etc."sssd/conf.d".source = "${dataDir}/conf.d";
+
       systemd.services.sssd = {
         description = "System Security Services Daemon";
         wantedBy    = [ "multi-user.target" ];
@@ -101,6 +105,7 @@ in {
           EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
         };
         preStart = ''
+          mkdir -p "${dataDir}/conf.d"
           [ -f ${settingsFile} ] && rm -f ${settingsFile}
           old_umask=$(umask)
           umask 0177
diff --git a/nixos/modules/services/monitoring/prometheus/alertmanager-irc-relay.nix b/nixos/modules/services/monitoring/prometheus/alertmanager-irc-relay.nix
new file mode 100644
index 000000000000..b81d5f6db5e0
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/alertmanager-irc-relay.nix
@@ -0,0 +1,107 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.alertmanagerIrcRelay;
+
+  configFormat = pkgs.formats.yaml { };
+  configFile = configFormat.generate "alertmanager-irc-relay.yml" cfg.settings;
+in
+{
+  options.services.prometheus.alertmanagerIrcRelay = {
+    enable = mkEnableOption (mdDoc "Alertmanager IRC Relay");
+
+    package = mkOption {
+      type = types.package;
+      default = pkgs.alertmanager-irc-relay;
+      defaultText = literalExpression "pkgs.alertmanager-irc-relay";
+      description = mdDoc "Alertmanager IRC Relay package to use.";
+    };
+
+    extraFlags = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      description = mdDoc "Extra command line options to pass to alertmanager-irc-relay.";
+    };
+
+    settings = mkOption {
+      type = configFormat.type;
+      example = literalExpression ''
+        {
+          http_host = "localhost";
+          http_port = 8000;
+
+          irc_host = "irc.example.com";
+          irc_port = 7000;
+          irc_nickname = "myalertbot";
+
+          irc_channels = [
+            { name = "#mychannel"; }
+          ];
+        }
+      '';
+      description = mdDoc ''
+        Configuration for Alertmanager IRC Relay as a Nix attribute set.
+        For a reference, check out the
+        [example configuration](https://github.com/google/alertmanager-irc-relay#configuring-and-running-the-bot)
+        and the
+        [source code](https://github.com/google/alertmanager-irc-relay/blob/master/config.go).
+
+        Note: The webhook's URL MUST point to the IRC channel where the message
+        should be posted. For `#mychannel` from the example, this would be
+        `http://localhost:8080/mychannel`.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.alertmanager-irc-relay = {
+      description = "Alertmanager IRC Relay";
+
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-online.target" ];
+
+      serviceConfig = {
+        ExecStart = ''
+          ${cfg.package}/bin/alertmanager-irc-relay \
+          -config ${configFile} \
+          ${escapeShellArgs cfg.extraFlags}
+        '';
+
+        DynamicUser = true;
+        NoNewPrivileges = true;
+
+        ProtectProc = "invisible";
+        ProtectSystem = "strict";
+        ProtectHome = "tmpfs";
+
+        PrivateTmp = true;
+        PrivateDevices = true;
+        PrivateIPC = true;
+
+        ProtectHostname = true;
+        ProtectClock = true;
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectKernelLogs = true;
+        ProtectControlGroups = true;
+
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        RestrictRealtime = true;
+        RestrictSUIDSGID = true;
+
+        SystemCallFilter = [
+          "@system-service"
+          "~@cpu-emulation"
+          "~@privileged"
+          "~@reboot"
+          "~@setuid"
+          "~@swap"
+        ];
+      };
+    };
+  };
+
+  meta.maintainers = [ maintainers.oxzi ];
+}
diff --git a/nixos/modules/services/networking/firewall-nftables.nix b/nixos/modules/services/networking/firewall-nftables.nix
index 0ed3c228075d..452dd97d89d2 100644
--- a/nixos/modules/services/networking/firewall-nftables.nix
+++ b/nixos/modules/services/networking/firewall-nftables.nix
@@ -94,7 +94,13 @@ in
           ${optionalString (ifaceSet != "") ''iifname { ${ifaceSet} } accept comment "trusted interfaces"''}
 
           # Some ICMPv6 types like NDP is untracked
-          ct state vmap { invalid : drop, established : accept, related : accept, * : jump input-allow } comment "*: new and untracked"
+          ct state vmap {
+            invalid : drop,
+            established : accept,
+            related : accept,
+            new : jump input-allow,
+            untracked: jump input-allow,
+          }
 
           ${optionalString cfg.logRefusedConnections ''
             tcp flags syn / fin,syn,rst,ack log level info prefix "refused connection: "
@@ -143,7 +149,13 @@ in
           chain forward {
             type filter hook forward priority filter; policy drop;
 
-            ct state vmap { invalid : drop, established : accept, related : accept, * : jump forward-allow } comment "*: new and untracked"
+            ct state vmap {
+              invalid : drop,
+              established : accept,
+              related : accept,
+              new : jump forward-allow,
+              untracked : jump forward-allow,
+            }
 
           }
 
diff --git a/nixos/modules/services/networking/headscale.nix b/nixos/modules/services/networking/headscale.nix
index 390a448ab584..d2851e72a0dd 100644
--- a/nixos/modules/services/networking/headscale.nix
+++ b/nixos/modules/services/networking/headscale.nix
@@ -291,11 +291,11 @@ in {
                 '';
               };
 
-              client_secret_file = mkOption {
+              client_secret_path = mkOption {
                 type = types.nullOr types.path;
                 default = null;
                 description = lib.mdDoc ''
-                  Path to OpenID Connect client secret file.
+                  Path to OpenID Connect client secret file. Expands environment variables in format ''${VAR}.
                 '';
               };
 
@@ -425,7 +425,7 @@ in {
     (mkRenamedOptionModule ["services" "headscale" "dns" "baseDomain"] ["services" "headscale" "settings" "dns_config" "base_domain"])
     (mkRenamedOptionModule ["services" "headscale" "openIdConnect" "issuer"] ["services" "headscale" "settings" "oidc" "issuer"])
     (mkRenamedOptionModule ["services" "headscale" "openIdConnect" "clientId"] ["services" "headscale" "settings" "oidc" "client_id"])
-    (mkRenamedOptionModule ["services" "headscale" "openIdConnect" "clientSecretFile"] ["services" "headscale" "settings" "oidc" "client_secret_file"])
+    (mkRenamedOptionModule ["services" "headscale" "openIdConnect" "clientSecretFile"] ["services" "headscale" "settings" "oidc" "client_secret_path"])
     (mkRenamedOptionModule ["services" "headscale" "tls" "letsencrypt" "hostname"] ["services" "headscale" "settings" "tls_letsencrypt_hostname"])
     (mkRenamedOptionModule ["services" "headscale" "tls" "letsencrypt" "challengeType"] ["services" "headscale" "settings" "tls_letsencrypt_challenge_type"])
     (mkRenamedOptionModule ["services" "headscale" "tls" "letsencrypt" "httpListen"] ["services" "headscale" "settings" "tls_letsencrypt_listen"])
@@ -478,9 +478,6 @@ in {
           export HEADSCALE_DB_PASS="$(head -n1 ${escapeShellArg cfg.settings.db_password_file})"
         ''}
 
-        ${optionalString (cfg.settings.oidc.client_secret_file != null) ''
-          export HEADSCALE_OIDC_CLIENT_SECRET="$(head -n1 ${escapeShellArg cfg.settings.oidc.client_secret_file})"
-        ''}
         exec ${cfg.package}/bin/headscale serve
       '';
 
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index 095c7de0b7aa..5f225682b777 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -19,7 +19,7 @@ let
         else if true  ==   v then "yes"
         else if false ==   v then "no"
         else if isList     v then concatStringsSep "," v
-        else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}";
+        else throw "unsupported type ${builtins.typeOf v}: ${(lib.generators.toPretty {}) v}";
 
   # dont use the "=" operator
   settingsFormat = (pkgs.formats.keyValue {
diff --git a/nixos/modules/services/networking/yggdrasil.nix b/nixos/modules/services/networking/yggdrasil.nix
index fd7193154c6c..55a6002d61af 100644
--- a/nixos/modules/services/networking/yggdrasil.nix
+++ b/nixos/modules/services/networking/yggdrasil.nix
@@ -8,7 +8,8 @@ let
   configFileProvided = cfg.configFile != null;
 
   format = pkgs.formats.json { };
-in {
+in
+{
   imports = [
     (mkRenamedOptionModule
       [ "services" "yggdrasil" "config" ]
@@ -21,7 +22,7 @@ in {
 
       settings = mkOption {
         type = format.type;
-        default = {};
+        default = { };
         example = {
           Peers = [
             "tcp://aa.bb.cc.dd:eeeee"
@@ -45,7 +46,7 @@ in {
 
           If no keys are specified then ephemeral keys are generated
           and the Yggdrasil interface will have a random IPv6 address
-          each time the service is started, this is the default.
+          each time the service is started. This is the default.
 
           If both {option}`configFile` and {option}`settings`
           are supplied, they will be combined, with values from
@@ -61,8 +62,13 @@ in {
         default = null;
         example = "/run/keys/yggdrasil.conf";
         description = lib.mdDoc ''
-          A file which contains JSON configuration for yggdrasil.
-          See the {option}`settings` option for more information.
+          A file which contains JSON or HJSON configuration for yggdrasil. See
+          the {option}`settings` option for more information.
+
+          Note: This file must not be larger than 1 MB because it is passed to
+          the yggdrasil process via systemd‘s LoadCredential mechanism. For
+          details, see <https://systemd.io/CREDENTIALS/> and `man 5
+          systemd.exec`.
         '';
       };
 
@@ -77,20 +83,20 @@ in {
         type = bool;
         default = false;
         description = lib.mdDoc ''
-          Whether to open the UDP port used for multicast peer
-          discovery. The NixOS firewall blocks link-local
-          communication, so in order to make local peering work you
-          will also need to set `LinkLocalTCPPort` in your
-          yggdrasil configuration ({option}`settings` or
-          {option}`configFile`) to a port number other than 0,
-          and then add that port to
-          {option}`networking.firewall.allowedTCPPorts`.
+          Whether to open the UDP port used for multicast peer discovery. The
+          NixOS firewall blocks link-local communication, so in order to make
+          incoming local peering work you will also need to configure
+          `MulticastInterfaces` in your Yggdrasil configuration
+          ({option}`settings` or {option}`configFile`). You will then have to
+          add the ports that you configure there to your firewall configuration
+          ({option}`networking.firewall.allowedTCPPorts` or
+          {option}`networking.firewall.interfaces.<name>.allowedTCPPorts`).
         '';
       };
 
       denyDhcpcdInterfaces = mkOption {
         type = listOf str;
-        default = [];
+        default = [ ];
         example = [ "tap*" ];
         description = lib.mdDoc ''
           Disable the DHCP client for any interface whose name matches
@@ -118,80 +124,102 @@ in {
     };
   };
 
-  config = mkIf cfg.enable (let binYggdrasil = cfg.package + "/bin/yggdrasil";
-  in {
-    assertions = [{
-      assertion = config.networking.enableIPv6;
-      message = "networking.enableIPv6 must be true for yggdrasil to work";
-    }];
-
-    system.activationScripts.yggdrasil = mkIf cfg.persistentKeys ''
-      if [ ! -e ${keysPath} ]
-      then
-        mkdir --mode=700 -p ${builtins.dirOf keysPath}
-        ${binYggdrasil} -genconf -json \
-          | ${pkgs.jq}/bin/jq \
-              'to_entries|map(select(.key|endswith("Key")))|from_entries' \
-          > ${keysPath}
-      fi
-    '';
-
-    systemd.services.yggdrasil = {
-      description = "Yggdrasil Network Service";
-      after = [ "network-pre.target" ];
-      wants = [ "network.target" ];
-      before = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-
-      preStart =
-        (if settingsProvided || configFileProvided || cfg.persistentKeys then
-          "echo "
-
-          + (lib.optionalString settingsProvided
-            "'${builtins.toJSON cfg.settings}'")
-          + (lib.optionalString configFileProvided "$(cat ${cfg.configFile})")
-          + (lib.optionalString cfg.persistentKeys "$(cat ${keysPath})")
-          + " | ${pkgs.jq}/bin/jq -s add | ${binYggdrasil} -normaliseconf -useconf"
-        else
-          "${binYggdrasil} -genconf") + " > /run/yggdrasil/yggdrasil.conf";
-
-      serviceConfig = {
-        ExecStart =
-          "${binYggdrasil} -useconffile /run/yggdrasil/yggdrasil.conf";
-        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-        Restart = "always";
-
-        DynamicUser = true;
-        StateDirectory = "yggdrasil";
-        RuntimeDirectory = "yggdrasil";
-        RuntimeDirectoryMode = "0750";
-        BindReadOnlyPaths = lib.optional configFileProvided cfg.configFile
-          ++ lib.optional cfg.persistentKeys keysPath;
-        ReadWritePaths = "/run/yggdrasil";
-
-        AmbientCapabilities = "CAP_NET_ADMIN CAP_NET_BIND_SERVICE";
-        CapabilityBoundingSet = "CAP_NET_ADMIN CAP_NET_BIND_SERVICE";
-        MemoryDenyWriteExecute = true;
-        ProtectControlGroups = true;
-        ProtectHome = "tmpfs";
-        ProtectKernelModules = true;
-        ProtectKernelTunables = true;
-        RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK";
-        RestrictNamespaces = true;
-        RestrictRealtime = true;
-        SystemCallArchitectures = "native";
-        SystemCallFilter = [ "@system-service" "~@privileged @keyring" ];
-      } // (if (cfg.group != null) then {
-        Group = cfg.group;
-      } else {});
-    };
+  config = mkIf cfg.enable (
+    let
+      binYggdrasil = "${cfg.package}/bin/yggdrasil";
+      binHjson = "${pkgs.hjson-go}/bin/hjson-cli";
+    in
+    {
+      assertions = [{
+        assertion = config.networking.enableIPv6;
+        message = "networking.enableIPv6 must be true for yggdrasil to work";
+      }];
+
+      system.activationScripts.yggdrasil = mkIf cfg.persistentKeys ''
+        if [ ! -e ${keysPath} ]
+        then
+          mkdir --mode=700 -p ${builtins.dirOf keysPath}
+          ${binYggdrasil} -genconf -json \
+            | ${pkgs.jq}/bin/jq \
+                'to_entries|map(select(.key|endswith("Key")))|from_entries' \
+            > ${keysPath}
+        fi
+      '';
+
+      systemd.services.yggdrasil = {
+        description = "Yggdrasil Network Service";
+        after = [ "network-pre.target" ];
+        wants = [ "network.target" ];
+        before = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+
+        # This script first prepares the config file, then it starts Yggdrasil.
+        # The preparation could also be done in ExecStartPre/preStart but only
+        # systemd versions >= v252 support reading credentials in ExecStartPre. As
+        # of February 2023, systemd v252 is not yet in the stable branch of NixOS.
+        #
+        # This could be changed in the future once systemd version v252 has
+        # reached NixOS but it does not have to be. Config file preparation is
+        # fast enough, it does not need elevated privileges, and `set -euo
+        # pipefail` should make sure that the service is not started if the
+        # preparation fails. Therefore, it is not necessary to move the
+        # preparation to ExecStartPre.
+        script = ''
+          set -euo pipefail
+
+          # prepare config file
+          ${(if settingsProvided || configFileProvided || cfg.persistentKeys then
+            "echo "
+
+            + (lib.optionalString settingsProvided
+              "'${builtins.toJSON cfg.settings}'")
+            + (lib.optionalString configFileProvided
+              "$(${binHjson} -c \"$CREDENTIALS_DIRECTORY/yggdrasil.conf\")")
+            + (lib.optionalString cfg.persistentKeys "$(cat ${keysPath})")
+            + " | ${pkgs.jq}/bin/jq -s add | ${binYggdrasil} -normaliseconf -useconf"
+          else
+            "${binYggdrasil} -genconf") + " > /run/yggdrasil/yggdrasil.conf"}
+
+          # start yggdrasil
+          ${binYggdrasil} -useconffile /run/yggdrasil/yggdrasil.conf
+        '';
+
+        serviceConfig = {
+          ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+          Restart = "always";
+
+          DynamicUser = true;
+          StateDirectory = "yggdrasil";
+          RuntimeDirectory = "yggdrasil";
+          RuntimeDirectoryMode = "0750";
+          BindReadOnlyPaths = lib.optional cfg.persistentKeys keysPath;
+          LoadCredential =
+            mkIf configFileProvided "yggdrasil.conf:${cfg.configFile}";
+
+          AmbientCapabilities = "CAP_NET_ADMIN CAP_NET_BIND_SERVICE";
+          CapabilityBoundingSet = "CAP_NET_ADMIN CAP_NET_BIND_SERVICE";
+          MemoryDenyWriteExecute = true;
+          ProtectControlGroups = true;
+          ProtectHome = "tmpfs";
+          ProtectKernelModules = true;
+          ProtectKernelTunables = true;
+          RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK";
+          RestrictNamespaces = true;
+          RestrictRealtime = true;
+          SystemCallArchitectures = "native";
+          SystemCallFilter = [ "@system-service" "~@privileged @keyring" ];
+        } // (if (cfg.group != null) then {
+          Group = cfg.group;
+        } else { });
+      };
 
-    networking.dhcpcd.denyInterfaces = cfg.denyDhcpcdInterfaces;
-    networking.firewall.allowedUDPPorts = mkIf cfg.openMulticastPort [ 9001 ];
+      networking.dhcpcd.denyInterfaces = cfg.denyDhcpcdInterfaces;
+      networking.firewall.allowedUDPPorts = mkIf cfg.openMulticastPort [ 9001 ];
 
-    # Make yggdrasilctl available on the command line.
-    environment.systemPackages = [ cfg.package ];
-  });
+      # Make yggdrasilctl available on the command line.
+      environment.systemPackages = [ cfg.package ];
+    }
+  );
   meta = {
     doc = ./yggdrasil.md;
     maintainers = with lib.maintainers; [ gazally ehmry ];
diff --git a/nixos/modules/services/security/fail2ban.nix b/nixos/modules/services/security/fail2ban.nix
index 3c4bcd1ac265..ead24d147071 100644
--- a/nixos/modules/services/security/fail2ban.nix
+++ b/nixos/modules/services/security/fail2ban.nix
@@ -273,26 +273,16 @@ in
       "fail2ban/filter.d".source = "${cfg.package}/etc/fail2ban/filter.d/*.conf";
     };
 
+    systemd.packages = [ cfg.package ];
     systemd.services.fail2ban = {
-      description = "Fail2ban Intrusion Prevention System";
-
       wantedBy = [ "multi-user.target" ];
-      after = [ "network.target" ];
       partOf = optional config.networking.firewall.enable "firewall.service";
 
       restartTriggers = [ fail2banConf jailConf pathsConf ];
 
       path = [ cfg.package cfg.packageFirewall pkgs.iproute2 ] ++ cfg.extraPackages;
 
-      unitConfig.Documentation = "man:fail2ban(1)";
-
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/fail2ban-server -xf start";
-        ExecStop = "${cfg.package}/bin/fail2ban-server stop";
-        ExecReload = "${cfg.package}/bin/fail2ban-server reload";
-        Type = "simple";
-        Restart = "on-failure";
-        PIDFile = "/run/fail2ban/fail2ban.pid";
         # Capabilities
         CapabilityBoundingSet = [ "CAP_AUDIT_READ" "CAP_DAC_READ_SEARCH" "CAP_NET_ADMIN" "CAP_NET_RAW" ];
         # Security
diff --git a/nixos/modules/services/web-apps/baget.nix b/nixos/modules/services/web-apps/baget.nix
deleted file mode 100644
index e4d5a1faddb2..000000000000
--- a/nixos/modules/services/web-apps/baget.nix
+++ /dev/null
@@ -1,170 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  cfg = config.services.baget;
-
-  defaultConfig = {
-    "PackageDeletionBehavior" = "Unlist";
-    "AllowPackageOverwrites" = false;
-
-    "Database" = {
-      "Type" = "Sqlite";
-      "ConnectionString" = "Data Source=baget.db";
-    };
-
-    "Storage" = {
-      "Type" = "FileSystem";
-      "Path" = "";
-    };
-
-    "Search" = {
-      "Type" = "Database";
-    };
-
-    "Mirror" = {
-      "Enabled" = false;
-      "PackageSource" = "https://api.nuget.org/v3/index.json";
-    };
-
-    "Logging" = {
-      "IncludeScopes" = false;
-      "Debug" = {
-        "LogLevel" = {
-          "Default" = "Warning";
-        };
-      };
-      "Console" = {
-        "LogLevel" = {
-          "Microsoft.Hosting.Lifetime" = "Information";
-          "Default" = "Warning";
-        };
-      };
-    };
-  };
-
-  configAttrs = recursiveUpdate defaultConfig cfg.extraConfig;
-
-  configFormat = pkgs.formats.json {};
-  configFile = configFormat.generate "appsettings.json" configAttrs;
-
-in
-{
-  options.services.baget = {
-    enable = mkEnableOption (lib.mdDoc "BaGet NuGet-compatible server");
-
-    apiKeyFile = mkOption {
-      type = types.path;
-      example = "/root/baget.key";
-      description = lib.mdDoc ''
-        Private API key for BaGet.
-      '';
-    };
-
-    extraConfig = mkOption {
-      type = configFormat.type;
-      default = {};
-      example = {
-        "Database" = {
-          "Type" = "PostgreSql";
-          "ConnectionString" = "Server=/run/postgresql;Port=5432;";
-        };
-      };
-      defaultText = literalExpression ''
-        {
-          "PackageDeletionBehavior" = "Unlist";
-          "AllowPackageOverwrites" = false;
-
-          "Database" = {
-            "Type" = "Sqlite";
-            "ConnectionString" = "Data Source=baget.db";
-          };
-
-          "Storage" = {
-            "Type" = "FileSystem";
-            "Path" = "";
-          };
-
-          "Search" = {
-            "Type" = "Database";
-          };
-
-          "Mirror" = {
-            "Enabled" = false;
-            "PackageSource" = "https://api.nuget.org/v3/index.json";
-          };
-
-          "Logging" = {
-            "IncludeScopes" = false;
-            "Debug" = {
-              "LogLevel" = {
-                "Default" = "Warning";
-              };
-            };
-            "Console" = {
-              "LogLevel" = {
-                "Microsoft.Hosting.Lifetime" = "Information";
-                "Default" = "Warning";
-              };
-            };
-          };
-        }
-      '';
-      description = lib.mdDoc ''
-        Extra configuration options for BaGet. Refer to <https://loic-sharma.github.io/BaGet/configuration/> for details.
-        Default value is merged with values from here.
-      '';
-    };
-  };
-
-  # implementation
-
-  config = mkIf cfg.enable {
-
-    systemd.services.baget = {
-      description = "BaGet server";
-      wantedBy = [ "multi-user.target" ];
-      wants = [ "network-online.target" ];
-      after = [ "network.target" "network-online.target" ];
-      path = [ pkgs.jq ];
-      serviceConfig = {
-        WorkingDirectory = "/var/lib/baget";
-        DynamicUser = true;
-        StateDirectory = "baget";
-        StateDirectoryMode = "0700";
-        LoadCredential = "api_key:${cfg.apiKeyFile}";
-
-        CapabilityBoundingSet = "";
-        NoNewPrivileges = true;
-        PrivateDevices = true;
-        PrivateTmp = true;
-        PrivateUsers = true;
-        PrivateMounts = true;
-        ProtectHome = true;
-        ProtectClock = true;
-        ProtectProc = "noaccess";
-        ProcSubset = "pid";
-        ProtectKernelLogs = true;
-        ProtectKernelModules = true;
-        ProtectKernelTunables = true;
-        ProtectControlGroups = true;
-        ProtectHostname = true;
-        RestrictSUIDSGID = true;
-        RestrictRealtime = true;
-        RestrictNamespaces = true;
-        LockPersonality = true;
-        RemoveIPC = true;
-        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
-        SystemCallFilter = [ "@system-service" "~@privileged" ];
-      };
-      script = ''
-        jq --slurpfile apiKeys <(jq -R . "$CREDENTIALS_DIRECTORY/api_key") '.ApiKey = $apiKeys[0]' ${configFile} > appsettings.json
-        ln -snf ${pkgs.baget}/lib/BaGet/wwwroot wwwroot
-        exec ${pkgs.baget}/bin/BaGet
-      '';
-    };
-
-  };
-}
diff --git a/nixos/modules/services/web-apps/limesurvey.nix b/nixos/modules/services/web-apps/limesurvey.nix
index dd51174c8b8e..8e6b39cbdebc 100644
--- a/nixos/modules/services/web-apps/limesurvey.nix
+++ b/nixos/modules/services/web-apps/limesurvey.nix
@@ -34,6 +34,24 @@ in
   options.services.limesurvey = {
     enable = mkEnableOption (lib.mdDoc "Limesurvey web application");
 
+    encryptionKey = mkOption {
+      type = types.str;
+      default = "E17687FC77CEE247F0E22BB3ECF27FDE8BEC310A892347EC13013ABA11AA7EB5";
+      description = lib.mdDoc ''
+        This is a 32-byte key used to encrypt variables in the database.
+        You _must_ change this from the default value.
+      '';
+    };
+
+    encryptionNonce = mkOption {
+      type = types.str;
+      default = "1ACC8555619929DB91310BE848025A427B0F364A884FFA77";
+      description = lib.mdDoc ''
+        This is a 24-byte nonce used to encrypt variables in the database.
+        You _must_ change this from the default value.
+      '';
+    };
+
     database = {
       type = mkOption {
         type = types.enum [ "mysql" "pgsql" "odbc" "mssql" ];
@@ -42,6 +60,12 @@ in
         description = lib.mdDoc "Database engine to use.";
       };
 
+      dbEngine = mkOption {
+        type = types.enum [ "MyISAM" "InnoDB" ];
+        default = "InnoDB";
+        description = lib.mdDoc "Database storage engine to use.";
+      };
+
       host = mkOption {
         type = types.str;
         default = "localhost";
@@ -180,6 +204,8 @@ in
       config = {
         tempdir = "${stateDir}/tmp";
         uploaddir = "${stateDir}/upload";
+        encryptionnonce = cfg.encryptionNonce;
+        encryptionsecretboxkey = cfg.encryptionKey;
         force_ssl = mkIf (cfg.virtualHost.addSSL || cfg.virtualHost.forceSSL || cfg.virtualHost.onlySSL) "on";
         config.defaultlang = "en";
       };
@@ -200,6 +226,8 @@ in
 
     services.phpfpm.pools.limesurvey = {
       inherit user group;
+      phpPackage = pkgs.php80;
+      phpEnv.DBENGINE = "${cfg.database.dbEngine}";
       phpEnv.LIMESURVEY_CONFIG = "${limesurveyConfig}";
       settings = {
         "listen.owner" = config.services.httpd.user;
@@ -256,11 +284,12 @@ in
       wantedBy = [ "multi-user.target" ];
       before = [ "phpfpm-limesurvey.service" ];
       after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
+      environment.DBENGINE = "${cfg.database.dbEngine}";
       environment.LIMESURVEY_CONFIG = limesurveyConfig;
       script = ''
         # update or install the database as required
-        ${pkgs.php}/bin/php ${pkg}/share/limesurvey/application/commands/console.php updatedb || \
-        ${pkgs.php}/bin/php ${pkg}/share/limesurvey/application/commands/console.php install admin password admin admin@example.com verbose
+        ${pkgs.php80}/bin/php ${pkg}/share/limesurvey/application/commands/console.php updatedb || \
+        ${pkgs.php80}/bin/php ${pkg}/share/limesurvey/application/commands/console.php install admin password admin admin@example.com verbose
       '';
       serviceConfig = {
         User = user;
diff --git a/nixos/modules/services/web-apps/nextcloud.md b/nixos/modules/services/web-apps/nextcloud.md
index 014807f3da23..7ef3cca281f9 100644
--- a/nixos/modules/services/web-apps/nextcloud.md
+++ b/nixos/modules/services/web-apps/nextcloud.md
@@ -5,7 +5,7 @@ self-hostable cloud platform. The server setup can be automated using
 [services.nextcloud](#opt-services.nextcloud.enable). A
 desktop client is packaged at `pkgs.nextcloud-client`.
 
-The current default by NixOS is `nextcloud25` which is also the latest
+The current default by NixOS is `nextcloud26` which is also the latest
 major version available.
 
 ## Basic usage {#module-services-nextcloud-basic-usage}
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index c5e161c2516a..438b3baf314d 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -204,7 +204,7 @@ in {
     package = mkOption {
       type = types.package;
       description = lib.mdDoc "Which package to use for the Nextcloud instance.";
-      relatedPackages = [ "nextcloud24" "nextcloud25" ];
+      relatedPackages = [ "nextcloud24" "nextcloud25" "nextcloud26" ];
     };
     phpPackage = mkOption {
       type = types.package;
@@ -514,6 +514,27 @@ in {
               `http://hostname.domain/bucket` instead.
             '';
           };
+          sseCKeyFile = mkOption {
+            type = types.nullOr types.path;
+            default = null;
+            example = "/var/nextcloud-objectstore-s3-sse-c-key";
+            description = lib.mdDoc ''
+              If provided this is the full path to a file that contains the key
+              to enable [server-side encryption with customer-provided keys][1]
+              (SSE-C).
+
+              The file must contain a random 32-byte key encoded as a base64
+              string, e.g. generated with the command
+
+              ```
+              openssl rand 32 | base64
+              ```
+
+              Must be readable by user `nextcloud`.
+
+              [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
+            '';
+          };
         };
       };
     };
@@ -652,7 +673,7 @@ in {
 
   config = mkIf cfg.enable (mkMerge [
     { warnings = let
-        latest = 25;
+        latest = 26;
         upgradeWarning = major: nixos:
           ''
             A legacy Nextcloud install (from before NixOS ${nixos}) may be installed.
@@ -667,20 +688,6 @@ in {
             `services.nextcloud.package`.
           '';
 
-        # FIXME(@Ma27) remove as soon as nextcloud properly supports
-        # mariadb >=10.6.
-        isUnsupportedMariadb =
-          # All currently supported Nextcloud versions are affected (https://github.com/nextcloud/server/issues/25436).
-          (versionOlder cfg.package.version "24")
-          # This module uses mysql
-          && (cfg.config.dbtype == "mysql")
-          # MySQL is managed via NixOS
-          && config.services.mysql.enable
-          # We're using MariaDB
-          && (getName config.services.mysql.package) == "mariadb-server"
-          # MariaDB is at least 10.6 and thus not supported
-          && (versionAtLeast (getVersion config.services.mysql.package) "10.6");
-
       in (optional (cfg.poolConfig != null) ''
           Using config.services.nextcloud.poolConfig is deprecated and will become unsupported in a future release.
           Please migrate your configuration to config.services.nextcloud.poolSettings.
@@ -688,6 +695,7 @@ in {
         ++ (optional (versionOlder cfg.package.version "23") (upgradeWarning 22 "22.05"))
         ++ (optional (versionOlder cfg.package.version "24") (upgradeWarning 23 "22.05"))
         ++ (optional (versionOlder cfg.package.version "25") (upgradeWarning 24 "22.11"))
+        ++ (optional (versionOlder cfg.package.version "26") (upgradeWarning 25 "23.05"))
         ++ (optional cfg.enableBrokenCiphersForSSE ''
           You're using PHP's openssl extension built against OpenSSL 1.1 for Nextcloud.
           This is only necessary if you're using Nextcloud's server-side encryption.
@@ -704,18 +712,7 @@ in {
           See <https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/encryption_configuration.html#disabling-encryption> on how to achieve this.
 
           For more context, here is the implementing pull request: https://github.com/NixOS/nixpkgs/pull/198470
-        '')
-        ++ (optional isUnsupportedMariadb ''
-            You seem to be using MariaDB at an unsupported version (i.e. at least 10.6)!
-            Please note that this isn't supported officially by Nextcloud. You can either
-
-            * Switch to `pkgs.mysql`
-            * Downgrade MariaDB to at least 10.5
-            * Work around Nextcloud's problems by specifying `innodb_read_only_compressed=0`
-
-            For further context, please read
-            https://help.nextcloud.com/t/update-to-next-cloud-21-0-2-has-get-an-error/117028/15
-          '');
+        '');
 
       services.nextcloud.package = with pkgs;
         mkDefault (
@@ -726,12 +723,13 @@ in {
               `pkgs.nextcloud`.
             ''
           else if versionOlder stateVersion "22.11" then nextcloud24
-          else nextcloud25
+          else if versionOlder stateVersion "23.05" then nextcloud25
+          else nextcloud26
         );
 
       services.nextcloud.phpPackage =
-        if versionOlder cfg.package.version "24" then pkgs.php80
-        else pkgs.php81;
+        if versionOlder cfg.package.version "26" then pkgs.php81
+        else pkgs.php82;
     }
 
     { assertions = [
@@ -773,6 +771,7 @@ in {
                 'use_ssl' => ${boolToString s3.useSsl},
                 ${optionalString (s3.region != null) "'region' => '${s3.region}',"}
                 'use_path_style' => ${boolToString s3.usePathStyle},
+                ${optionalString (s3.sseCKeyFile != null) "'sse_c_key' => nix_read_secret('${s3.sseCKeyFile}'),"}
               ],
             ]
           '';
@@ -958,6 +957,9 @@ in {
           '';
           serviceConfig.Type = "oneshot";
           serviceConfig.User = "nextcloud";
+          # On Nextcloud ≥ 26, it is not necessary to patch the database files to prevent
+          # an automatic creation of the database user.
+          environment.NC_setup_create_db_user = lib.mkIf (nextcloudGreaterOrEqualThan "26") "false";
         };
         nextcloud-cron = {
           after = [ "nextcloud-setup.service" ];
@@ -1009,14 +1011,6 @@ in {
           name = cfg.config.dbuser;
           ensurePermissions = { "${cfg.config.dbname}.*" = "ALL PRIVILEGES"; };
         }];
-        # FIXME(@Ma27) Nextcloud isn't compatible with mariadb 10.6,
-        # this is a workaround.
-        # See https://help.nextcloud.com/t/update-to-next-cloud-21-0-2-has-get-an-error/117028/22
-        settings = mkIf (versionOlder cfg.package.version "24") {
-          mysqld = {
-            innodb_read_only_compressed = 0;
-          };
-        };
         initialScript = pkgs.writeText "mysql-init" ''
           CREATE USER '${cfg.config.dbname}'@'localhost' IDENTIFIED BY '${builtins.readFile( cfg.config.dbpassFile )}';
           CREATE DATABASE IF NOT EXISTS ${cfg.config.dbname};
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 6e2fec599bc1..73a864bb95fe 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -81,88 +81,90 @@ let
 in
 
 {
-  options.services.xserver.desktopManager.plasma5 = {
-    enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = lib.mdDoc "Enable the Plasma 5 (KDE 5) desktop environment.";
-    };
-
-    phononBackend = mkOption {
-      type = types.enum [ "gstreamer" "vlc" ];
-      default = "vlc";
-      example = "gstreamer";
-      description = lib.mdDoc "Phonon audio backend to install.";
-    };
+  options = {
+    services.xserver.desktopManager.plasma5 = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc "Enable the Plasma 5 (KDE 5) desktop environment.";
+      };
 
-    useQtScaling = mkOption {
-      type = types.bool;
-      default = false;
-      description = lib.mdDoc "Enable HiDPI scaling in Qt.";
-    };
+      phononBackend = mkOption {
+        type = types.enum [ "gstreamer" "vlc" ];
+        default = "vlc";
+        example = "gstreamer";
+        description = lib.mdDoc "Phonon audio backend to install.";
+      };
 
-    runUsingSystemd = mkOption {
-      description = lib.mdDoc "Use systemd to manage the Plasma session";
-      type = types.bool;
-      default = true;
-    };
+      useQtScaling = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc "Enable HiDPI scaling in Qt.";
+      };
 
-    excludePackages = mkOption {
-      description = lib.mdDoc "List of default packages to exclude from the configuration";
-      type = types.listOf types.package;
-      default = [];
-      example = literalExpression "[ pkgs.plasma5Packages.oxygen ]";
-    };
+      runUsingSystemd = mkOption {
+        description = lib.mdDoc "Use systemd to manage the Plasma session";
+        type = types.bool;
+        default = true;
+      };
 
-    notoPackage = mkPackageOptionMD pkgs "Noto fonts" {
-      default = [ "noto-fonts" ];
-      example = "noto-fonts-lgc-plus";
-    };
+      notoPackage = mkPackageOptionMD pkgs "Noto fonts" {
+        default = [ "noto-fonts" ];
+        example = "noto-fonts-lgc-plus";
+      };
 
-    # Internally allows configuring kdeglobals globally
-    kdeglobals = mkOption {
-      internal = true;
-      default = {};
-      type = kdeConfigurationType;
-    };
+      # Internally allows configuring kdeglobals globally
+      kdeglobals = mkOption {
+        internal = true;
+        default = {};
+        type = kdeConfigurationType;
+      };
 
-    # Internally allows configuring kwin globally
-    kwinrc = mkOption {
-      internal = true;
-      default = {};
-      type = kdeConfigurationType;
-    };
+      # Internally allows configuring kwin globally
+      kwinrc = mkOption {
+        internal = true;
+        default = {};
+        type = kdeConfigurationType;
+      };
 
-    mobile.enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = lib.mdDoc ''
-        Enable support for running the Plasma Mobile shell.
-      '';
-    };
+      mobile.enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc ''
+          Enable support for running the Plasma Mobile shell.
+        '';
+      };
 
-    mobile.installRecommendedSoftware = mkOption {
-      type = types.bool;
-      default = true;
-      description = lib.mdDoc ''
-        Installs software recommended for use with Plasma Mobile, but which
-        is not strictly required for Plasma Mobile to run.
-      '';
-    };
+      mobile.installRecommendedSoftware = mkOption {
+        type = types.bool;
+        default = true;
+        description = lib.mdDoc ''
+          Installs software recommended for use with Plasma Mobile, but which
+          is not strictly required for Plasma Mobile to run.
+        '';
+      };
 
-    bigscreen.enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = lib.mdDoc ''
-        Enable support for running the Plasma Bigscreen session.
-      '';
+      bigscreen.enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc ''
+          Enable support for running the Plasma Bigscreen session.
+        '';
+      };
     };
+    environment.plasma5.excludePackages = mkOption {
+        description = lib.mdDoc "List of default packages to exclude from the configuration";
+        type = types.listOf types.package;
+        default = [];
+        example = literalExpression "[ pkgs.plasma5Packages.oxygen ]";
+      };
   };
 
   imports = [
     (mkRemovedOptionModule [ "services" "xserver" "desktopManager" "plasma5" "enableQt4Support" ] "Phonon no longer supports Qt 4.")
     (mkRemovedOptionModule [ "services" "xserver" "desktopManager" "plasma5" "supportDDC" ] "DDC/CI is no longer supported upstream.")
     (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "kde5" ] [ "services" "xserver" "desktopManager" "plasma5" ])
+    (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "plasma5" "excludePackages" ] [ "environment" "plasma5" "excludePackages" ])
   ];
 
   config = mkMerge [
@@ -284,7 +286,7 @@ in
           ];
         in
         requiredPackages
-        ++ utils.removePackagesByName optionalPackages cfg.excludePackages
+        ++ utils.removePackagesByName optionalPackages config.environment.plasma5.excludePackages
 
         # Phonon audio backend
         ++ lib.optional (cfg.phononBackend == "gstreamer") libsForQt5.phonon-backend-gstreamer
@@ -438,7 +440,7 @@ in
             khelpcenter
             print-manager
           ];
-      in requiredPackages ++ utils.removePackagesByName optionalPackages cfg.excludePackages;
+      in requiredPackages ++ utils.removePackagesByName optionalPackages config.environment.plasma5.excludePackages;
 
       systemd.user.services = {
         plasma-run-with-systemd = {
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 0f5dce40640a..fcc18c9a26fd 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -138,6 +138,26 @@ let
     concatMapStringsSep "\n" (line: prefix + line) (splitString "\n" str);
 
   indent = prefixStringLines "  ";
+
+  # A scalable variant of the X11 "core" cursor
+  #
+  # If not running a fancy desktop environment, the cursor is likely set to
+  # the default `cursor.pcf` bitmap font. This is 17px wide, so it's very
+  # small and almost invisible on 4K displays.
+  fontcursormisc_hidpi = pkgs.xorg.fontxfree86type1.overrideAttrs (old:
+    let
+      # The scaling constant is 230/96: the scalable `left_ptr` glyph at
+      # about 23 points is rendered as 17px, on a 96dpi display.
+      # Note: the XLFD font size is in decipoints.
+      size = 2.39583 * cfg.dpi;
+      sizeString = builtins.head (builtins.split "\\." (toString size));
+    in
+    {
+      postInstall = ''
+        alias='cursor -xfree86-cursor-medium-r-normal--0-${sizeString}-0-0-p-0-adobe-fontspecific'
+        echo "$alias" > $out/lib/X11/fonts/Type1/fonts.alias
+      '';
+    });
 in
 
 {
@@ -576,6 +596,15 @@ in
           Whether to terminate X upon server reset.
         '';
       };
+
+      upscaleDefaultCursor = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc ''
+          Upscale the default X cursor to be more visible on high-density displays.
+          Requires `config.services.xserver.dpi` to be set.
+        '';
+      };
     };
 
   };
@@ -627,6 +656,10 @@ in
                 + "${toString (length primaryHeads)} heads set to primary: "
                 + concatMapStringsSep ", " (x: x.output) primaryHeads;
       })
+      {
+        assertion = cfg.upscaleDefaultCursor -> cfg.dpi != null;
+        message = "Specify `config.services.xserver.dpi` to upscale the default cursor.";
+      }
     ];
 
     environment.etc =
@@ -851,6 +884,10 @@ in
       '';
 
     fonts.enableDefaultFonts = mkDefault true;
+    fonts.fonts = [
+      (if cfg.upscaleDefaultCursor then fontcursormisc_hidpi else pkgs.xorg.fontcursormisc)
+      pkgs.xorg.fontmiscmisc
+    ];
 
   };
 
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index d1ce3d13ee85..05a667a09efc 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -303,6 +303,48 @@ let
 
       sectionTap = checkUnitConfig "Tap" tunChecks;
 
+      sectionL2TP = checkUnitConfig "L2TP" [
+        (assertOnlyFields [
+          "TunnelId"
+          "PeerTunnelId"
+          "Remote"
+          "Local"
+          "EncapsulationType"
+          "UDPSourcePort"
+          "UDPDestinationPort"
+          "UDPChecksum"
+          "UDP6ZeroChecksumTx"
+          "UDP6ZeroChecksumRx"
+        ])
+        (assertInt "TunnelId")
+        (assertRange "TunnelId" 1 4294967295)
+        (assertInt "PeerTunnelId")
+        (assertRange "PeerTunnelId" 1 4294967295)
+        (assertValueOneOf "EncapsulationType" [ "ip" "udp" ])
+        (assertPort "UDPSourcePort")
+        (assertPort "UDPDestinationPort")
+        (assertValueOneOf "UDPChecksum" boolValues)
+        (assertValueOneOf "UDP6ZeroChecksumTx" boolValues)
+        (assertValueOneOf "UDP6ZeroChecksumRx" boolValues)
+      ];
+
+      sectionL2TPSession = checkUnitConfig "L2TPSession" [
+        (assertOnlyFields [
+          "Name"
+          "SessionId"
+          "PeerSessionId"
+          "Layer2SpecificHeader"
+        ])
+        (assertHasField "Name")
+        (assertHasField "SessionId")
+        (assertInt "SessionId")
+        (assertRange "SessionId" 1 4294967295)
+        (assertHasField "PeerSessionId")
+        (assertInt "PeerSessionId")
+        (assertRange "PeerSessionId" 1 4294967295)
+        (assertValueOneOf "Layer2SpecificHeader" [ "none" "default" ])
+      ];
+
       # NOTE The PrivateKey directive is missing on purpose here, please
       # do not add it to this list. The nix store is world-readable let's
       # refrain ourselves from providing a footgun.
@@ -918,6 +960,470 @@ let
         (assertMacAddress "MACAddress")
       ];
 
+      sectionBridge = checkUnitConfig "Bridge" [
+        (assertOnlyFields [
+          "UnicastFlood"
+          "MulticastFlood"
+          "MulticastToUnicast"
+          "NeighborSuppression"
+          "Learning"
+          "Hairpin"
+          "Isolated"
+          "UseBPDU"
+          "FastLeave"
+          "AllowPortToBeRoot"
+          "ProxyARP"
+          "ProxyARPWiFi"
+          "MulticastRouter"
+          "Cost"
+          "Priority"
+        ])
+        (assertValueOneOf "UnicastFlood" boolValues)
+        (assertValueOneOf "MulticastFlood" boolValues)
+        (assertValueOneOf "MulticastToUnicast" boolValues)
+        (assertValueOneOf "NeighborSuppression" boolValues)
+        (assertValueOneOf "Learning" boolValues)
+        (assertValueOneOf "Hairpin" boolValues)
+        (assertValueOneOf "Isolated" boolValues)
+        (assertValueOneOf "UseBPDU" boolValues)
+        (assertValueOneOf "FastLeave" boolValues)
+        (assertValueOneOf "AllowPortToBeRoot" boolValues)
+        (assertValueOneOf "ProxyARP" boolValues)
+        (assertValueOneOf "ProxyARPWiFi" boolValues)
+        (assertValueOneOf "MulticastRouter" [ "no" "query" "permanent" "temporary" ])
+        (assertInt "Cost")
+        (assertRange "Cost" 1 65535)
+        (assertInt "Priority")
+        (assertRange "Priority" 0 63)
+      ];
+
+      sectionBridgeFDB = checkUnitConfig "BridgeFDB" [
+        (assertOnlyFields [
+          "MACAddress"
+          "Destination"
+          "VLANId"
+          "VNI"
+          "AssociatedWith"
+          "OutgoingInterface"
+        ])
+        (assertHasField "MACAddress")
+        (assertInt "VLANId")
+        (assertRange "VLANId" 0 4094)
+        (assertInt "VNI")
+        (assertRange "VNI" 1 16777215)
+        (assertValueOneOf "AssociatedWith" [ "use" "self" "master" "router" ])
+      ];
+
+      sectionBridgeMDB = checkUnitConfig "BridgeMDB" [
+        (assertOnlyFields [
+          "MulticastGroupAddress"
+          "VLANId"
+        ])
+        (assertHasField "MulticastGroupAddress")
+        (assertInt "VLANId")
+        (assertRange "VLANId" 0 4094)
+      ];
+
+      sectionLLDP = checkUnitConfig "LLDP" [
+        (assertOnlyFields [
+          "MUDURL"
+        ])
+      ];
+
+      sectionCAN = checkUnitConfig "CAN" [
+        (assertOnlyFields [
+          "BitRate"
+          "SamplePoint"
+          "TimeQuantaNSec"
+          "PropagationSegment"
+          "PhaseBufferSegment1"
+          "PhaseBufferSegment2"
+          "SyncJumpWidth"
+          "DataBitRate"
+          "DataSamplePoint"
+          "DataTimeQuantaNSec"
+          "DataPropagationSegment"
+          "DataPhaseBufferSegment1"
+          "DataPhaseBufferSegment2"
+          "DataSyncJumpWidth"
+          "FDMode"
+          "FDNonISO"
+          "RestartSec"
+          "Termination"
+          "TripleSampling"
+          "BusErrorReporting"
+          "ListenOnly"
+          "Loopback"
+          "OneShot"
+          "PresumeAck"
+          "ClassicDataLengthCode"
+        ])
+        (assertInt "TimeQuantaNSec" )
+        (assertRange "TimeQuantaNSec" 0 4294967295 )
+        (assertInt "PropagationSegment" )
+        (assertRange "PropagationSegment" 0 4294967295 )
+        (assertInt "PhaseBufferSegment1" )
+        (assertRange "PhaseBufferSegment1" 0 4294967295 )
+        (assertInt "PhaseBufferSegment2" )
+        (assertRange "PhaseBufferSegment2" 0 4294967295 )
+        (assertInt "SyncJumpWidth" )
+        (assertRange "SyncJumpWidth" 0 4294967295 )
+        (assertInt "DataTimeQuantaNSec" )
+        (assertRange "DataTimeQuantaNSec" 0 4294967295 )
+        (assertInt "DataPropagationSegment" )
+        (assertRange "DataPropagationSegment" 0 4294967295 )
+        (assertInt "DataPhaseBufferSegment1" )
+        (assertRange "DataPhaseBufferSegment1" 0 4294967295 )
+        (assertInt "DataPhaseBufferSegment2" )
+        (assertRange "DataPhaseBufferSegment2" 0 4294967295 )
+        (assertInt "DataSyncJumpWidth" )
+        (assertRange "DataSyncJumpWidth" 0 4294967295 )
+        (assertValueOneOf "FDMode" boolValues)
+        (assertValueOneOf "FDNonISO" boolValues)
+        (assertValueOneOf "TripleSampling" boolValues)
+        (assertValueOneOf "BusErrorReporting" boolValues)
+        (assertValueOneOf "ListenOnly" boolValues)
+        (assertValueOneOf "Loopback" boolValues)
+        (assertValueOneOf "OneShot" boolValues)
+        (assertValueOneOf "PresumeAck" boolValues)
+        (assertValueOneOf "ClassicDataLengthCode" boolValues)
+      ];
+
+      sectionIPoIB = checkUnitConfig "IPoIB" [
+        (assertOnlyFields [
+          "Mode"
+          "IgnoreUserspaceMulticastGroup"
+        ])
+        (assertValueOneOf "Mode" [ "datagram" "connected" ])
+        (assertValueOneOf "IgnoreUserspaceMulticastGroup" boolValues)
+      ];
+
+      sectionQDisc = checkUnitConfig "QDisc" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+        ])
+        (assertValueOneOf "Parent" [ "clsact" "ingress" ])
+      ];
+
+      sectionNetworkEmulator = checkUnitConfig "NetworkEmulator" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "DelaySec"
+          "DelayJitterSec"
+          "PacketLimit"
+          "LossRate"
+          "DuplicateRate"
+        ])
+        (assertInt "PacketLimit")
+        (assertRange "PacketLimit" 0 4294967294)
+      ];
+
+      sectionTokenBucketFilter = checkUnitConfig "TokenBucketFilter" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "LatencySec"
+          "LimitBytes"
+          "BurstBytes"
+          "Rate"
+          "MPUBytes"
+          "PeakRate"
+          "MTUBytes"
+        ])
+      ];
+
+      sectionPIE = checkUnitConfig "PIE" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "PacketLimit"
+        ])
+        (assertInt "PacketLimit")
+        (assertRange "PacketLimit" 1 4294967294)
+      ];
+
+      sectionFlowQueuePIE = checkUnitConfig "FlowQueuePIE" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "PacketLimit"
+        ])
+        (assertInt "PacketLimit")
+        (assertRange "PacketLimit" 1 4294967294)
+      ];
+
+      sectionStochasticFairBlue = checkUnitConfig "StochasticFairBlue" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "PacketLimit"
+        ])
+        (assertInt "PacketLimit")
+        (assertRange "PacketLimit" 1 4294967294)
+      ];
+
+      sectionStochasticFairnessQueueing = checkUnitConfig "StochasticFairnessQueueing" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "PerturbPeriodSec"
+        ])
+        (assertInt "PerturbPeriodSec")
+      ];
+
+      sectionBFIFO = checkUnitConfig "BFIFO" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "LimitBytes"
+        ])
+      ];
+
+      sectionPFIFO = checkUnitConfig "PFIFO" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "PacketLimit"
+        ])
+        (assertInt "PacketLimit")
+        (assertRange "PacketLimit" 0 4294967294)
+      ];
+
+      sectionPFIFOHeadDrop = checkUnitConfig "PFIFOHeadDrop" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "PacketLimit"
+        ])
+        (assertInt "PacketLimit")
+        (assertRange "PacketLimit" 0 4294967294)
+      ];
+
+      sectionPFIFOFast = checkUnitConfig "PFIFOFast" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+        ])
+      ];
+
+      sectionCAKE = checkUnitConfig "CAKE" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "Bandwidth"
+          "AutoRateIngress"
+          "OverheadBytes"
+          "MPUBytes"
+          "CompensationMode"
+          "UseRawPacketSize"
+          "FlowIsolationMode"
+          "NAT"
+          "PriorityQueueingPreset"
+          "FirewallMark"
+          "Wash"
+          "SplitGSO"
+        ])
+        (assertValueOneOf "AutoRateIngress" boolValues)
+        (assertInt "OverheadBytes")
+        (assertRange "OverheadBytes" (-64) 256)
+        (assertInt "MPUBytes")
+        (assertRange "MPUBytes" 1 256)
+        (assertValueOneOf "CompensationMode" [ "none" "atm" "ptm" ])
+        (assertValueOneOf "UseRawPacketSize" boolValues)
+        (assertValueOneOf "FlowIsolationMode"
+          [
+            "none"
+            "src-host"
+            "dst-host"
+            "hosts"
+            "flows"
+            "dual-src-host"
+            "dual-dst-host"
+            "triple"
+          ])
+        (assertValueOneOf "NAT" boolValues)
+        (assertValueOneOf "PriorityQueueingPreset"
+          [
+            "besteffort"
+            "precedence"
+            "diffserv8"
+            "diffserv4"
+            "diffserv3"
+          ])
+        (assertInt "FirewallMark")
+        (assertRange "FirewallMark" 1 4294967295)
+        (assertValueOneOf "Wash" boolValues)
+        (assertValueOneOf "SplitGSO" boolValues)
+      ];
+
+      sectionControlledDelay = checkUnitConfig "ControlledDelay" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "PacketLimit"
+          "TargetSec"
+          "IntervalSec"
+          "ECN"
+          "CEThresholdSec"
+        ])
+        (assertValueOneOf "ECN" boolValues)
+      ];
+
+      sectionDeficitRoundRobinScheduler = checkUnitConfig "DeficitRoundRobinScheduler" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+        ])
+      ];
+
+      sectionDeficitRoundRobinSchedulerClass = checkUnitConfig "DeficitRoundRobinSchedulerClass" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "QuantumBytes"
+        ])
+      ];
+
+      sectionEnhancedTransmissionSelection = checkUnitConfig "EnhancedTransmissionSelection" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "Bands"
+          "StrictBands"
+          "QuantumBytes"
+          "PriorityMap"
+        ])
+        (assertInt "Bands")
+        (assertRange "Bands" 1 16)
+        (assertInt "StrictBands")
+        (assertRange "StrictBands" 1 16)
+      ];
+
+      sectionGenericRandomEarlyDetection = checkUnitConfig "GenericRandomEarlyDetection" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "VirtualQueues"
+          "DefaultVirtualQueue"
+          "GenericRIO"
+        ])
+        (assertInt "VirtualQueues")
+        (assertRange "VirtualQueues" 1 16)
+        (assertInt "DefaultVirtualQueue")
+        (assertRange "DefaultVirtualQueue" 1 16)
+        (assertValueOneOf "GenericRIO" boolValues)
+      ];
+
+      sectionFairQueueingControlledDelay = checkUnitConfig "FairQueueingControlledDelay" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "PacketLimit"
+          "MemoryLimitBytes"
+          "Flows"
+          "TargetSec"
+          "IntervalSec"
+          "QuantumBytes"
+          "ECN"
+          "CEThresholdSec"
+        ])
+        (assertInt "PacketLimit")
+        (assertInt "Flows")
+        (assertValueOneOf "ECN" boolValues)
+      ];
+
+      sectionFairQueueing = checkUnitConfig "FairQueueing" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "PacketLimit"
+          "FlowLimit"
+          "QuantumBytes"
+          "InitualQuantumBytes"
+          "MaximumRate"
+          "Buckets"
+          "OrphanMask"
+          "Pacing"
+          "CEThresholdSec"
+        ])
+        (assertInt "PacketLimit")
+        (assertInt "FlowLimit")
+        (assertInt "OrphanMask")
+        (assertValueOneOf "Pacing" boolValues)
+      ];
+
+      sectionTrivialLinkEqualizer = checkUnitConfig "TrivialLinkEqualizer" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "Id"
+        ])
+      ];
+
+      sectionHierarchyTokenBucket = checkUnitConfig "HierarchyTokenBucket" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "DefaultClass"
+          "RateToQuantum"
+        ])
+        (assertInt "RateToQuantum")
+      ];
+
+      sectionHierarchyTokenBucketClass = checkUnitConfig "HierarchyTokenBucketClass" [
+        (assertOnlyFields [
+          "Parent"
+          "ClassId"
+          "Priority"
+          "QuantumBytes"
+          "MTUBytes"
+          "OverheadBytes"
+          "Rate"
+          "CeilRate"
+          "BufferBytes"
+          "CeilBufferBytes"
+        ])
+      ];
+
+      sectionHeavyHitterFilter = checkUnitConfig "HeavyHitterFilter" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+          "PacketLimit"
+        ])
+        (assertInt "PacketLimit")
+        (assertRange "PacketLimit" 0 4294967294)
+      ];
+
+      sectionQuickFairQueueing = checkUnitConfig "QuickFairQueueing" [
+        (assertOnlyFields [
+          "Parent"
+          "Handle"
+        ])
+      ];
+
+      sectionQuickFairQueueingClass = checkUnitConfig "QuickFairQueueingClass" [
+        (assertOnlyFields [
+          "Parent"
+          "ClassId"
+          "Weight"
+          "MaxPacketBytes"
+        ])
+        (assertInt "Weight")
+        (assertRange "Weight" 1 1023)
+      ];
+
+      sectionBridgeVLAN = checkUnitConfig "BridgeVLAN" [
+        (assertOnlyFields [
+          "VLAN"
+          "EgressUntagged"
+          "PVID"
+        ])
+        (assertInt "PVID")
+        (assertRange "PVID" 0 4094)
+      ];
     };
   };
 
@@ -1012,6 +1518,21 @@ let
 
   };
 
+
+  l2tpSessionOptions = {
+    options = {
+      l2tpSessionConfig = mkOption {
+        default = {};
+        type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionL2TPSession;
+        description = lib.mdDoc ''
+          Each attribute in this set specifies an option in the
+          `[L2TPSession]` section of the unit.  See
+          {manpage}`systemd.netdev(5)` for details.
+        '';
+      };
+    };
+  };
+
   wireguardPeerOptions = {
     options = {
       wireguardPeerConfig = mkOption {
@@ -1125,6 +1646,38 @@ let
       '';
     };
 
+    l2tpConfig = mkOption {
+      default = {};
+      example = {
+        TunnelId = 10;
+        PeerTunnelId = 12;
+        Local = "static";
+        Remote = "192.168.30.101";
+        EncapsulationType = "ip";
+      };
+      type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionL2TP;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[L2TP]` section of the unit. See
+        {manpage}`systemd.netdev(5)` for details.
+      '';
+    };
+
+    l2tpSessions = mkOption {
+      default = [];
+      example = [ { l2tpSessionConfig={
+        SessionId = 25;
+        PeerSessionId = 26;
+        Name = "l2tp-sess";
+      };}];
+      type = with types; listOf (submodule l2tpSessionOptions);
+      description = lib.mdDoc ''
+        Each item in this array specifies an option in the
+        `[L2TPSession]` section of the unit. See
+        {manpage}`systemd.netdev(5)` for details.
+      '';
+    };
+
     wireguardConfig = mkOption {
       default = {};
       example = {
@@ -1306,6 +1859,51 @@ let
     };
   };
 
+  bridgeFDBOptions = {
+    options = {
+      bridgeFDBConfig = mkOption {
+        default = {};
+        example = { MACAddress = "65:43:4a:5b:d8:5f"; Destination = "192.168.1.42"; VNI = 20; };
+        type = types.addCheck (types.attrsOf unitOption) check.network.sectionBridgeFDB;
+        description = lib.mdDoc ''
+          Each attribute in this set specifies an option in the
+          `[BridgeFDB]` section of the unit.  See
+          {manpage}`systemd.network(5)` for details.
+        '';
+      };
+    };
+  };
+
+  bridgeMDBOptions = {
+    options = {
+      bridgeMDBConfig = mkOption {
+        default = {};
+        example = { MulticastGroupAddress = "ff02::1:2:3:4"; VLANId = 10; };
+        type = types.addCheck (types.attrsOf unitOption) check.network.sectionBridgeMDB;
+        description = lib.mdDoc ''
+          Each attribute in this set specifies an option in the
+          `[BridgeMDB]` section of the unit.  See
+          {manpage}`systemd.network(5)` for details.
+        '';
+      };
+    };
+  };
+
+  bridgeVLANOptions = {
+    options = {
+      bridgeMDBConfig = mkOption {
+        default = {};
+        example = { VLAN = 20; };
+        type = types.addCheck (types.attrsOf unitOption) check.network.sectionBridgeVLAN;
+        description = lib.mdDoc ''
+          Each attribute in this set specifies an option in the
+          `[BridgeVLAN]` section of the unit.  See
+          {manpage}`systemd.network(5)` for details.
+        '';
+      };
+    };
+  };
+
   networkOptions = commonNetworkOptions // {
 
     linkConfig = mkOption {
@@ -1445,6 +2043,366 @@ let
       '';
     };
 
+    bridgeConfig = mkOption {
+      default = {};
+      example = { MulticastFlood = false; Cost = 20; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionBridge;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[Bridge]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    bridgeFDBs = mkOption {
+      default = [];
+      example = [ { bridgeFDBConfig = { MACAddress = "90:e2:ba:43:fc:71"; Destination = "192.168.100.4"; VNI = 3600; }; } ];
+      type = with types; listOf (submodule bridgeFDBOptions);
+      description = lib.mdDoc ''
+        A list of BridgeFDB sections to be added to the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    bridgeMDBs = mkOption {
+      default = [];
+      example = [ { bridgeMDBConfig = { MulticastGroupAddress = "ff02::1:2:3:4"; VLANId = 10; } ; } ];
+      type = with types; listOf (submodule bridgeMDBOptions);
+      description = lib.mdDoc ''
+        A list of BridgeMDB sections to be added to the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    lldpConfig = mkOption {
+      default = {};
+      example = { MUDURL = "https://things.example.org/product_abc123/v5"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionLLDP;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[LLDP]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    canConfig = mkOption {
+      default = {};
+      example = { };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionCAN;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[CAN]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    ipoIBConfig = mkOption {
+      default = {};
+      example = { };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPoIB;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[IPoIB]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    qdiscConfig = mkOption {
+      default = {};
+      example = { Parent = "ingress"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionQDisc;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[QDisc]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    networkEmulatorConfig = mkOption {
+      default = {};
+      example = { Parent = "ingress"; DelaySec = "20msec"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionNetworkEmulator;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[NetworkEmulator]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    tokenBucketFilterConfig = mkOption {
+      default = {};
+      example = { Parent = "ingress"; Rate = "100k"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionTokenBucketFilter;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[TokenBucketFilter]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    pieConfig = mkOption {
+      default = {};
+      example = { Parent = "ingress"; PacketLimit = "3847"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionPIE;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[PIE]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    flowQueuePIEConfig = mkOption {
+      default = {};
+      example = { Parent = "ingress"; PacketLimit = "3847"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionFlowQueuePIE;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[FlowQueuePIE]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    stochasticFairBlueConfig = mkOption {
+      default = {};
+      example = { Parent = "ingress"; PacketLimit = "3847"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionStochasticFairBlue;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[StochasticFairBlue]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    stochasticFairnessQueueingConfig = mkOption {
+      default = {};
+      example = { Parent = "ingress"; PerturbPeriodSec = "30"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionStochasticFairnessQueueing;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[StochasticFairnessQueueing]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    bfifoConfig = mkOption {
+      default = {};
+      example = { Parent = "ingress"; LimitBytes = "20K"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionBFIFO;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[BFIFO]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    pfifoConfig = mkOption {
+      default = {};
+      example = { Parent = "ingress"; PacketLimit = "300"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionPFIFO;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[PFIFO]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    pfifoHeadDropConfig = mkOption {
+      default = {};
+      example = { Parent = "ingress"; PacketLimit = "300"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionPFIFOHeadDrop;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[PFIFOHeadDrop]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    pfifoFastConfig = mkOption {
+      default = {};
+      example = { Parent = "ingress"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionPFIFOFast;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[PFIFOFast]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    cakeConfig = mkOption {
+      default = {};
+      example = { Bandwidth = "40M"; OverheadBytes = 8; CompensationMode = "ptm"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionCAKE;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[CAKE]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    controlledDelayConfig = mkOption {
+      default = {};
+      example = { Parent = "ingress"; TargetSec = "20msec"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionControlledDelay;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[ControlledDelay]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    deficitRoundRobinSchedulerConfig = mkOption {
+      default = {};
+      example = { Parent = "root"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionDeficitRoundRobinScheduler;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[DeficitRoundRobinScheduler]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    deficitRoundRobinSchedulerClassConfig = mkOption {
+      default = {};
+      example = { Parent = "root"; QuantumBytes = "300k"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionDeficitRoundRobinSchedulerClass;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[DeficitRoundRobinSchedulerClass]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    enhancedTransmissionSelectionConfig = mkOption {
+      default = {};
+      example = { Parent = "root"; QuantumBytes = "300k"; Bands = 3; PriorityMap = "100 200 300"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionEnhancedTransmissionSelection;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[EnhancedTransmissionSelection]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    genericRandomEarlyDetectionConfig = mkOption {
+      default = {};
+      example = { Parent = "root"; VirtualQueues = 5; DefaultVirtualQueue = 3; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionGenericRandomEarlyDetection;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[GenericRandomEarlyDetection]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    fairQueueingControlledDelayConfig = mkOption {
+      default = {};
+      example = { Parent = "root"; Flows = 5; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionFairQueueingControlledDelay;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[FairQueueingControlledDelay]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    fairQueueingConfig = mkOption {
+      default = {};
+      example = { Parent = "root"; FlowLimit = 5; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionFairQueueing;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[FairQueueing]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    trivialLinkEqualizerConfig = mkOption {
+      default = {};
+      example = { Parent = "root"; Id = 0; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionTrivialLinkEqualizer;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[TrivialLinkEqualizer]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    hierarchyTokenBucketConfig = mkOption {
+      default = {};
+      example = { Parent = "root"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionHierarchyTokenBucket;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[HierarchyTokenBucket]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    hierarchyTokenBucketClassConfig = mkOption {
+      default = {};
+      example = { Parent = "root"; Rate = "10M"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionHierarchyTokenBucketClass;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[HierarchyTokenBucketClass]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    heavyHitterFilterConfig = mkOption {
+      default = {};
+      example = { Parent = "root"; PacketLimit = 10000; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionHeavyHitterFilter;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[HeavyHitterFilter]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    quickFairQueueingConfig = mkOption {
+      default = {};
+      example = { Parent = "root"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionQuickFairQueueing;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[QuickFairQueueing]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    quickFairQueueingConfigClass = mkOption {
+      default = {};
+      example = { Parent = "root"; Weight = 133; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionQuickFairQueueingClass;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[QuickFairQueueingClass]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    bridgeVLANConfig = mkOption {
+      default = {};
+      example = { VLAN = "10-20"; };
+      type = types.addCheck (types.attrsOf unitOption) check.network.sectionbridgeVLAN;
+      description = lib.mdDoc ''
+        Each attribute in this set specifies an option in the
+        `[BridgeVLAN]` section of the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
+    bridgeVLANs = mkOption {
+      default = [];
+      example = [ { bridgeVLANConfig = { VLAN = "10-20"; }; } ];
+      type = with types; listOf (submodule bridgeVLANOptions);
+      description = lib.mdDoc ''
+        A list of BridgeVLAN sections to be added to the unit.  See
+        {manpage}`systemd.network(5)` for details.
+      '';
+    };
+
     name = mkOption {
       type = types.nullOr types.str;
       default = null;
@@ -1705,6 +2663,14 @@ let
           [Tap]
           ${attrsToSection def.tapConfig}
         ''
+        + optionalString (def.l2tpConfig != { }) ''
+          [L2TP]
+          ${attrsToSection def.l2tpConfig}
+        ''
+        + flip concatMapStrings def.l2tpSessions (x: ''
+          [L2TPSession]
+          ${attrsToSection x.l2tpSessionConfig}
+        '')
         + optionalString (def.wireguardConfig != { }) ''
           [WireGuard]
           ${attrsToSection def.wireguardConfig}
@@ -1844,6 +2810,134 @@ let
           [DHCPServerStaticLease]
           ${attrsToSection x.dhcpServerStaticLeaseConfig}
         '')
+        + optionalString (def.bridgeConfig != { }) ''
+          [Bridge]
+          ${attrsToSection def.bridgeConfig}
+        ''
+        + flip concatMapStrings def.bridgeFDBs (x: ''
+          [BridgeFDB]
+          ${attrsToSection x.bridgeFDBConfig}
+        '')
+        + flip concatMapStrings def.bridgeMDBs (x: ''
+          [BridgeMDB]
+          ${attrsToSection x.bridgeMDBConfig}
+        '')
+        + optionalString (def.lldpConfig != { }) ''
+          [LLDP]
+          ${attrsToSection def.lldpConfig}
+        ''
+        + optionalString (def.canConfig != { }) ''
+          [CAN]
+          ${attrsToSection def.canConfig}
+        ''
+        + optionalString (def.ipoIBConfig != { }) ''
+          [IPoIB]
+          ${attrsToSection def.ipoIBConfig}
+        ''
+        + optionalString (def.qdiscConfig != { }) ''
+          [QDisc]
+          ${attrsToSection def.qdiscConfig}
+        ''
+        + optionalString (def.networkEmulatorConfig != { }) ''
+          [NetworkEmulator]
+          ${attrsToSection def.networkEmulatorConfig}
+        ''
+        + optionalString (def.tokenBucketFilterConfig != { }) ''
+          [TokenBucketFilter]
+          ${attrsToSection def.tockenBucketFilterConfig}
+        ''
+        + optionalString (def.pieConfig != { }) ''
+          [PIE]
+          ${attrsToSection def.pieConfig}
+        ''
+        + optionalString (def.flowQueuePIEConfig != { }) ''
+          [FlowQueuePIE]
+          ${attrsToSection def.flowQueuePIEConfig}
+        ''
+        + optionalString (def.stochasticFairBlueConfig != { }) ''
+          [StochasticFairBlue]
+          ${attrsToSection def.stochasticFairBlueConfig}
+        ''
+        + optionalString (def.stochasticFairnessQueueingConfig != { }) ''
+          [StochasticFairnessQueueing]
+          ${attrsToSection def.stochasticFairnessQueueingConfig}
+        ''
+        + optionalString (def.bfifoConfig != { }) ''
+          [BFIFO]
+          ${attrsToSection def.bfifoConfig}
+        ''
+        + optionalString (def.pfifoConfig != { }) ''
+          [PFIFO]
+          ${attrsToSection def.pfifoConfig}
+        ''
+        + optionalString (def.pfifoHeadDropConfig != { }) ''
+          [PFIFOHeadDrop]
+          ${attrsToSection def.pfifoHeadDropConfig}
+        ''
+        + optionalString (def.pfifoFastConfig != { }) ''
+          [PFIFOFast]
+          ${attrsToSection def.pfifoFastConfig}
+        ''
+        + optionalString (def.cakeConfig != { }) ''
+          [CAKE]
+          ${attrsToSection def.cakeConfig}
+        ''
+        + optionalString (def.controlledDelayConfig != { }) ''
+          [ControlledDelay]
+          ${attrsToSection def.controlledDelayConfig}
+        ''
+        + optionalString (def.deficitRoundRobinSchedulerConfig != { }) ''
+          [DeficitRoundRobinScheduler]
+          ${attrsToSection def.deficitRoundRobinSchedulerConfig}
+        ''
+        + optionalString (def.deficitRoundRobinSchedulerClassConfig != { }) ''
+          [DeficitRoundRobinSchedulerClass]
+          ${attrsToSection def.deficitRoundRobinSchedulerClassConfig}
+        ''
+        + optionalString (def.enhancedTransmissionSelectionConfig != { }) ''
+          [EnhancedTransmissionSelection]
+          ${attrsToSection def.enhancedTransmissionSelectionConfig}
+        ''
+        + optionalString (def.genericRandomEarlyDetectionConfig != { }) ''
+          [GenericRandomEarlyDetection]
+          ${attrsToSection def.genericRandomEarlyDetectionConfig}
+        ''
+        + optionalString (def.fairQueueingControlledDelayConfig != { }) ''
+          [FairQueueingControlledDelay]
+          ${attrsToSection def.fairQueueingControlledDelayConfig}
+        ''
+        + optionalString (def.fairQueueingConfig != { }) ''
+          [FairQueueing]
+          ${attrsToSection def.fairQueueingConfig}
+        ''
+        + optionalString (def.trivialLinkEqualizerConfig != { }) ''
+          [TrivialLinkEqualizer]
+          ${attrsToSection def.trivialLinkEqualizerConfig}
+        ''
+        + optionalString (def.hierarchyTokenBucketConfig != { }) ''
+          [HierarchyTokenBucket]
+          ${attrsToSection def.hierarchyTokenBucketConfig}
+        ''
+        + optionalString (def.hierarchyTokenBucketClassConfig != { }) ''
+          [HierarchyTokenBucketClass]
+          ${attrsToSection def.hierarchyTokenBucketClassConfig}
+        ''
+        + optionalString (def.heavyHitterFilterConfig != { }) ''
+          [HeavyHitterFilter]
+          ${attrsToSection def.heavyHitterFilterConfig}
+        ''
+        + optionalString (def.quickFairQueueingConfig != { }) ''
+          [QuickFairQueueing]
+          ${attrsToSection def.quickFairQueueingConfig}
+        ''
+        + optionalString (def.quickFairQueueingConfigClass != { }) ''
+          [QuickFairQueueingClass]
+          ${attrsToSection def.quickFairQueueingConfigClass}
+        ''
+        + flip concatMapStrings def.bridgeVLANs (x: ''
+          [BridgeVLAN]
+          ${attrsToSection x.bridgeVLANConfig}
+        '')
         + def.extraConfig;
     };
 
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 8386219f73d8..2c34a3996d0b 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -346,6 +346,7 @@ in {
   keter = handleTest ./keter.nix {};
   kexec = handleTest ./kexec.nix {};
   keycloak = discoverTests (import ./keycloak.nix);
+  keyd = handleTest ./keyd.nix {};
   keymap = handleTest ./keymap.nix {};
   knot = handleTest ./knot.nix {};
   komga = handleTest ./komga.nix {};
@@ -487,6 +488,7 @@ in {
   nomad = handleTest ./nomad.nix {};
   non-default-filesystems = handleTest ./non-default-filesystems.nix {};
   noto-fonts = handleTest ./noto-fonts.nix {};
+  noto-fonts-cjk-qt-default-weight = handleTest ./noto-fonts-cjk-qt-default-weight.nix {};
   novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
   nscd = handleTest ./nscd.nix {};
   nsd = handleTest ./nsd.nix {};
@@ -611,6 +613,7 @@ in {
   searx = handleTest ./searx.nix {};
   service-runner = handleTest ./service-runner.nix {};
   sfxr-qt = handleTest ./sfxr-qt.nix {};
+  sgtpuzzles = handleTest ./sgtpuzzles.nix {};
   shadow = handleTest ./shadow.nix {};
   shadowsocks = handleTest ./shadowsocks {};
   shattered-pixel-dungeon = handleTest ./shattered-pixel-dungeon.nix {};
diff --git a/nixos/tests/gitea.nix b/nixos/tests/gitea.nix
index a8b5567c2075..86d4fce37929 100644
--- a/nixos/tests/gitea.nix
+++ b/nixos/tests/gitea.nix
@@ -93,7 +93,7 @@ let
       api_token = server.succeed(
           "curl --fail -X POST http://test:totallysafe@localhost:3000/api/v1/users/test/tokens "
           + "-H 'Accept: application/json' -H 'Content-Type: application/json' -d "
-          + "'{\"name\":\"token\"}' | jq '.sha1' | xargs echo -n"
+          + "'{\"name\":\"token\",\"scopes\":[\"all\"]}' | jq '.sha1' | xargs echo -n"
       )
 
       server.succeed(
diff --git a/nixos/tests/gollum.nix b/nixos/tests/gollum.nix
index 833db87f2f32..44d373e35262 100644
--- a/nixos/tests/gollum.nix
+++ b/nixos/tests/gollum.nix
@@ -9,6 +9,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
 
   testScript = { nodes, ... }: ''
     webserver.wait_for_unit("gollum")
-    webserver.wait_for_open_port(${toString nodes.webserver.config.services.gollum.port})
+    webserver.wait_for_open_port(${toString nodes.webserver.services.gollum.port})
   '';
 })
diff --git a/nixos/tests/keyd.nix b/nixos/tests/keyd.nix
new file mode 100644
index 000000000000..d492cc194895
--- /dev/null
+++ b/nixos/tests/keyd.nix
@@ -0,0 +1,82 @@
+# The test template is taken from the `./keymap.nix`
+{ system ? builtins.currentSystem
+, config ? { }
+, pkgs ? import ../.. { inherit system config; }
+}:
+
+with import ../lib/testing-python.nix { inherit system pkgs; };
+
+let
+  readyFile = "/tmp/readerReady";
+  resultFile = "/tmp/readerResult";
+
+  testReader = pkgs.writeScript "test-input-reader" ''
+    rm -f ${resultFile} ${resultFile}.tmp
+    logger "testReader: START: Waiting for $1 characters, expecting '$2'."
+    touch ${readyFile}
+    read -r -N $1 chars
+    rm -f ${readyFile}
+    if [ "$chars" == "$2" ]; then
+      logger -s "testReader: PASS: Got '$2' as expected." 2>${resultFile}.tmp
+    else
+      logger -s "testReader: FAIL: Expected '$2' but got '$chars'." 2>${resultFile}.tmp
+    fi
+    # rename after the file is written to prevent a race condition
+    mv  ${resultFile}.tmp ${resultFile}
+  '';
+
+
+  mkKeyboardTest = name: { settings, test }: with pkgs.lib; makeTest {
+    inherit name;
+
+    nodes.machine = {
+      services.keyd = {
+        enable = true;
+        inherit settings;
+      };
+    };
+
+    testScript = ''
+      import shlex
+
+      machine.wait_for_unit("keyd.service")
+
+      def run_test_case(cmd, test_case_name, inputs, expected):
+          with subtest(test_case_name):
+              assert len(inputs) == len(expected)
+              machine.execute("rm -f ${readyFile} ${resultFile}")
+              # set up process that expects all the keys to be entered
+              machine.succeed(
+                  "{} {} {} {} >&2 &".format(
+                      cmd,
+                      "${testReader}",
+                      len(inputs),
+                      shlex.quote("".join(expected)),
+                  )
+              )
+              # wait for reader to be ready
+              machine.wait_for_file("${readyFile}")
+              # send all keys
+              for key in inputs:
+                  machine.send_key(key)
+              # wait for result and check
+              machine.wait_for_file("${resultFile}")
+              machine.succeed("grep -q 'PASS:' ${resultFile}")
+      test = ${builtins.toJSON test}
+      run_test_case("openvt -sw --", "${name}", test["press"], test["expect"])
+    '';
+  };
+
+in
+pkgs.lib.mapAttrs mkKeyboardTest {
+  swap-ab_and_ctrl-as-shift = {
+    test.press = [ "a" "ctrl-b" "c" ];
+    test.expect = [ "b" "A" "c" ];
+
+    settings.main = {
+      "a" = "b";
+      "b" = "a";
+      "control" = "oneshot(shift)";
+    };
+  };
+}
diff --git a/nixos/tests/nextcloud/default.nix b/nixos/tests/nextcloud/default.nix
index b8d3ba75b51a..350486e8c733 100644
--- a/nixos/tests/nextcloud/default.nix
+++ b/nixos/tests/nextcloud/default.nix
@@ -26,4 +26,4 @@ foldl
     };
   })
 { }
-  [ 24 25 ]
+  [ 24 25 26 ]
diff --git a/nixos/tests/nextcloud/openssl-sse.nix b/nixos/tests/nextcloud/openssl-sse.nix
index 7595ee2c67e3..871947e1d2b2 100644
--- a/nixos/tests/nextcloud/openssl-sse.nix
+++ b/nixos/tests/nextcloud/openssl-sse.nix
@@ -55,6 +55,7 @@ in {
     nextcloudwithopenssl1.wait_for_unit("multi-user.target")
     nextcloudwithopenssl1.succeed("nextcloud-occ status")
     nextcloudwithopenssl1.succeed("curl -sSf http://nextcloudwithopenssl1/login")
+    nextcloud_version = ${toString nextcloudVersion}
 
     with subtest("With OpenSSL 1 SSE can be enabled and used"):
         nextcloudwithopenssl1.succeed("nextcloud-occ app:enable encryption")
@@ -71,7 +72,9 @@ in {
         nextcloudwithopenssl1.succeed("nextcloud-occ status")
 
     with subtest("Existing encrypted files cannot be read, but new files can be added"):
-        nextcloudwithopenssl1.fail("${withRcloneEnv3} ${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file >&2")
+        # This will succed starting NC26 because of their custom implementation of openssl_seal
+        read_existing_file_test = nextcloudwithopenssl1.fail if nextcloud_version < 26 else nextcloudwithopenssl1.succeed
+        read_existing_file_test("${withRcloneEnv3} ${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file >&2")
         nextcloudwithopenssl1.succeed("nextcloud-occ encryption:disable")
         nextcloudwithopenssl1.succeed("${copySharedFile3}")
         nextcloudwithopenssl1.succeed("grep bye /var/lib/nextcloud/data/root/files/test-shared-file2")
diff --git a/nixos/tests/noto-fonts-cjk-qt-default-weight.nix b/nixos/tests/noto-fonts-cjk-qt-default-weight.nix
new file mode 100644
index 000000000000..678013cf3ab9
--- /dev/null
+++ b/nixos/tests/noto-fonts-cjk-qt-default-weight.nix
@@ -0,0 +1,30 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
+  name = "noto-fonts-cjk-qt";
+  meta.maintainers = with lib.maintainers; [ oxalica ];
+
+  nodes.machine = {
+    imports = [ ./common/x11.nix ];
+    fonts = {
+      enableDefaultFonts = false;
+      fonts = [ pkgs.noto-fonts-cjk-sans ];
+    };
+  };
+
+  testScript =
+    let
+      script = pkgs.writers.writePython3 "qt-default-weight" {
+        libraries = [ pkgs.python3Packages.pyqt6 ];
+      } ''
+        from PyQt6.QtWidgets import QApplication
+        from PyQt6.QtGui import QFont, QRawFont
+
+        app = QApplication([])
+        f = QRawFont.fromFont(QFont("Noto Sans CJK SC", 20))
+
+        assert f.styleName() == "Regular", f.styleName()
+      '';
+    in ''
+      machine.wait_for_x()
+      machine.succeed("${script}")
+    '';
+})
diff --git a/nixos/tests/restic.nix b/nixos/tests/restic.nix
index 42af0783863e..1071fbada74f 100644
--- a/nixos/tests/restic.nix
+++ b/nixos/tests/restic.nix
@@ -100,7 +100,7 @@ import ./make-test-python.nix (
           "${pkgs.restic}/bin/restic -r ${remoteRepository} -p ${passwordFile} snapshots",
           '${pkgs.restic}/bin/restic -r ${remoteFromFileRepository} -p ${passwordFile} snapshots"',
           "${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots",
-          "grep 'backup .* /opt' /tmp/fake-restic.log",
+          "grep 'backup.* /opt' /tmp/fake-restic.log",
       )
       server.succeed(
           # set up
@@ -129,8 +129,8 @@ import ./make-test-python.nix (
 
           # test that custompackage runs both `restic backup` and `restic check` with reasonable commandlines
           "systemctl start restic-backups-custompackage.service",
-          "grep 'backup .* /opt' /tmp/fake-restic.log",
-          "grep 'check .* --some-check-option' /tmp/fake-restic.log",
+          "grep 'backup.* /opt' /tmp/fake-restic.log",
+          "grep 'check.* --some-check-option' /tmp/fake-restic.log",
 
           # test that we can create four snapshots in remotebackup and rclonebackup
           "timedatectl set-time '2017-12-13 13:45'",
diff --git a/nixos/tests/sgtpuzzles.nix b/nixos/tests/sgtpuzzles.nix
new file mode 100644
index 000000000000..b8d25d42d312
--- /dev/null
+++ b/nixos/tests/sgtpuzzles.nix
@@ -0,0 +1,34 @@
+import ./make-test-python.nix ({ pkgs, ...} :
+{
+  name = "sgtpuzzles";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ tomfitzhenry ];
+  };
+
+  nodes.machine = { ... }:
+
+  {
+    imports = [
+      ./common/x11.nix
+    ];
+
+    services.xserver.enable = true;
+    environment.systemPackages = with pkgs; [
+      sgtpuzzles
+    ];
+  };
+
+  enableOCR = true;
+
+  testScript = { nodes, ... }:
+  ''
+    start_all()
+    machine.wait_for_x()
+
+    machine.execute("mines >&2 &")
+
+    machine.wait_for_window("Mines")
+    machine.wait_for_text("Marked")
+    machine.screenshot("mines")
+  '';
+})
diff --git a/nixos/tests/sssd.nix b/nixos/tests/sssd.nix
index 25527cb59a59..c8d356e074ad 100644
--- a/nixos/tests/sssd.nix
+++ b/nixos/tests/sssd.nix
@@ -13,5 +13,6 @@ import ./make-test-python.nix ({ pkgs, ... }:
       start_all()
       machine.wait_for_unit("multi-user.target")
       machine.wait_for_unit("sssd.service")
+      machine.succeed("sssctl config-check")
     '';
 })
diff --git a/nixos/tests/zram-generator.nix b/nixos/tests/zram-generator.nix
index 3407361d2824..2be7bd2e05b1 100644
--- a/nixos/tests/zram-generator.nix
+++ b/nixos/tests/zram-generator.nix
@@ -1,18 +1,36 @@
 import ./make-test-python.nix {
   name = "zram-generator";
 
-  nodes.machine = { ... }: {
-    zramSwap = {
-      enable = true;
-      priority = 10;
-      algorithm = "lz4";
-      swapDevices = 2;
-      memoryPercent = 30;
-      memoryMax = 10 * 1024 * 1024;
+  nodes = {
+    single = { ... }: {
+      virtualisation = {
+        emptyDiskImages = [ 512 ];
+      };
+      zramSwap = {
+        enable = true;
+        priority = 10;
+        algorithm = "lz4";
+        swapDevices = 1;
+        memoryPercent = 30;
+        memoryMax = 10 * 1024 * 1024;
+        writebackDevice = "/dev/vdb";
+      };
+    };
+    machine = { ... }: {
+      zramSwap = {
+        enable = true;
+        priority = 10;
+        algorithm = "lz4";
+        swapDevices = 2;
+        memoryPercent = 30;
+        memoryMax = 10 * 1024 * 1024;
+      };
     };
   };
 
   testScript = ''
+    single.wait_for_unit("systemd-zram-setup@zram0.service")
+
     machine.wait_for_unit("systemd-zram-setup@zram0.service")
     machine.wait_for_unit("systemd-zram-setup@zram1.service")
     zram = machine.succeed("zramctl --noheadings --raw")
diff --git a/pkgs/applications/audio/go-musicfox/default.nix b/pkgs/applications/audio/go-musicfox/default.nix
index da0eef815c50..da54f07dfb00 100644
--- a/pkgs/applications/audio/go-musicfox/default.nix
+++ b/pkgs/applications/audio/go-musicfox/default.nix
@@ -10,13 +10,13 @@
 # gcc only supports objc on darwin
 buildGoModule.override { stdenv = clangStdenv; } rec {
   pname = "go-musicfox";
-  version = "3.7.3";
+  version = "3.7.5";
 
   src = fetchFromGitHub {
     owner = "anhoder";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-aM7IJGRRY2V2Rovj042ctg5254EUw1bTuoRCp9Za1FY=";
+    hash = "sha256-+0s+MCFLw527gFj7pfiYGfKYihthFjRLPeto2SbALw0=";
   };
 
   deleteVendor = true;
@@ -28,7 +28,7 @@ buildGoModule.override { stdenv = clangStdenv; } rec {
   ldflags = [
     "-s"
     "-w"
-    "-X go-musicfox/pkg/constants.AppVersion=${version}"
+    "-X github.com/go-musicfox/go-musicfox/pkg/constants.AppVersion=${version}"
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/mellowplayer/default.nix b/pkgs/applications/audio/mellowplayer/default.nix
index 5bdcb81fb633..b736ae882990 100644
--- a/pkgs/applications/audio/mellowplayer/default.nix
+++ b/pkgs/applications/audio/mellowplayer/default.nix
@@ -10,6 +10,7 @@
 , qtquickcontrols2
 , qttools
 , qtwebengine
+, stdenv
 }:
 
 mkDerivation rec {
@@ -61,6 +62,7 @@ mkDerivation rec {
 
   meta = with lib; {
     inherit (qtbase.meta) platforms;
+    broken = stdenv.isDarwin; # test build fails, but the project is not maintained anymore
 
     description = "Cloud music integration for your desktop";
     homepage = "https://gitlab.com/ColinDuquesnoy/MellowPlayer";
diff --git a/pkgs/applications/audio/minidsp/default.nix b/pkgs/applications/audio/minidsp/default.nix
new file mode 100644
index 000000000000..bccd3dd157f3
--- /dev/null
+++ b/pkgs/applications/audio/minidsp/default.nix
@@ -0,0 +1,40 @@
+{
+  lib,
+  fetchFromGitHub,
+  rustPlatform,
+  stdenv,
+  libusb1,
+  AppKit,
+  IOKit,
+  pkg-config,
+}:
+rustPlatform.buildRustPackage rec {
+  pname = "minidsp";
+  version = "0.1.9";
+
+  src = fetchFromGitHub {
+    owner = "mrene";
+    repo = "minidsp-rs";
+    # v0.1.9 tag is out of date, cargo lock fixed in next commit on main
+    rev = "b03a95a05917f20b9c3153c03e4e99dd943d9f6f";
+    hash = "sha256-uZBrX3VCCpr7AY82PgR596mncL5wWDK7bpx2m/jCJBE=";
+  };
+
+  cargoHash = "sha256-0PyojyimxnwEtHA98Npf4eHvycjuXdPrrIFilVuEnQk=";
+
+  cargoBuildFlags = ["-p minidsp -p minidsp-daemon"];
+
+  buildInputs =
+    lib.optionals stdenv.isLinux [libusb1]
+    ++ lib.optionals stdenv.isDarwin [AppKit IOKit];
+
+  nativeBuildInputs = lib.optionals stdenv.isLinux [pkg-config];
+
+  meta = with lib; {
+    description = "A control interface for some MiniDSP products";
+    homepage = "https://github.com/mrene/minidsp-rs";
+    license = licenses.asl20;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = [maintainers.adamcstephens];
+  };
+}
diff --git a/pkgs/applications/audio/mpdevil/default.nix b/pkgs/applications/audio/mpdevil/default.nix
index 394812a586b8..35fe314958c7 100644
--- a/pkgs/applications/audio/mpdevil/default.nix
+++ b/pkgs/applications/audio/mpdevil/default.nix
@@ -7,13 +7,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mpdevil";
-  version = "1.10.1";
+  version = "1.10.2";
 
   src = fetchFromGitHub {
     owner = "SoongNoonien";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-w31e8cJvdep/ZzmDBCfdCZotrPunQBl1cTTWjs3sE1w=";
+    sha256 = "sha256-zLCL64yX7i/mtUf8CkgrSwb6zZ7vhR1Dw8eUH/vgFT4=";
   };
 
   format = "other";
@@ -50,6 +50,6 @@ python3Packages.buildPythonApplication rec {
     homepage = "https://github.com/SoongNoonien/mpdevil";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ apfelkuchen6 ];
   };
 }
diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix
index 97f71a1b48f8..15828d25729c 100644
--- a/pkgs/applications/audio/musescore/default.nix
+++ b/pkgs/applications/audio/musescore/default.nix
@@ -8,13 +8,13 @@
 
 mkDerivation rec {
   pname = "musescore";
-  version = "4.0.1";
+  version = "4.0.2";
 
   src = fetchFromGitHub {
     owner = "musescore";
     repo = "MuseScore";
     rev = "v${version}";
-    sha256 = "sha256-Xhjjm/pYcjfZE632eP2jujqUAmzdYNa81EPrvS5UKnQ=";
+    sha256 = "sha256-3NSHUdTyAC/WOhkB6yBrqtV3LV4Hl1m3poB3ojtJMfs=";
   };
   patches = [
     # See https://github.com/musescore/MuseScore/issues/15571
diff --git a/pkgs/applications/audio/open-stage-control/default.nix b/pkgs/applications/audio/open-stage-control/default.nix
index 4100d166a25e..caab41a11436 100644
--- a/pkgs/applications/audio/open-stage-control/default.nix
+++ b/pkgs/applications/audio/open-stage-control/default.nix
@@ -8,7 +8,7 @@ buildNpmPackage rec {
     owner = "jean-emmanuel";
     repo = "open-stage-control";
     rev = "v${version}";
-    hash = "sha256-P3aTGt/T59JE2oy8uRhD8h2NXX/ZXno6qY0frpcir7A=";
+    hash = "sha256-5QMBJw6H9TmyoSMkG5rniq1BdVYuEtQsQF1GGBkxqMI=";
   };
 
   # Remove some Electron stuff from package.json
diff --git a/pkgs/applications/audio/sidplayfp/default.nix b/pkgs/applications/audio/sidplayfp/default.nix
index 7abe0e15de6b..02d17a4889ad 100644
--- a/pkgs/applications/audio/sidplayfp/default.nix
+++ b/pkgs/applications/audio/sidplayfp/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sidplayfp";
-  version = "2.4.0";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner = "libsidplayfp";
     repo = "sidplayfp";
     rev = "v${version}";
-    sha256 = "sha256-7a09ec/Ap6XCnmQekLnXbH9kPP3io4+A72dVSfp3krs=";
+    sha256 = "sha256-15KG+LkPkCLFsnWHUAQpQbqol/izAn/HRinszVRB5Ao=";
   };
 
   nativeBuildInputs = [ autoreconfHook perl pkg-config ];
diff --git a/pkgs/applications/audio/sonic-visualiser/default.nix b/pkgs/applications/audio/sonic-visualiser/default.nix
index 43254e6c2b0e..cc24f396f56f 100644
--- a/pkgs/applications/audio/sonic-visualiser/default.nix
+++ b/pkgs/applications/audio/sonic-visualiser/default.nix
@@ -5,19 +5,19 @@
 , libsndfile, pkg-config, libpulseaudio, qtbase, qtsvg, redland
 , rubberband, serd, sord, vamp-plugin-sdk, fftwFloat
 , capnproto, liboggz, libfishsound, libid3tag, opusfile
-, wrapQtAppsHook
+, wrapQtAppsHook, meson, ninja, cmake
 }:
 
 stdenv.mkDerivation rec {
   pname = "sonic-visualiser";
-  version = "4.2";
+  version = "4.5.1";
 
   src = fetchurl {
-    url = "https://code.soundsoftware.ac.uk/attachments/download/2755/${pname}-${version}.tar.gz";
-    sha256 = "1wsvranhvdl21ksbinbgb55qvs3g2d4i57ssj1vx2aln6m01ms9q";
+    url = "https://code.soundsoftware.ac.uk/attachments/download/2841/${pname}-${version}.tar.gz";
+    sha256 = "1sgg4m3035a03ldipgysz7zqfa9pqaqa4j024gyvvcwh4ml8iasr";
   };
 
-  nativeBuildInputs = [ pkg-config wrapQtAppsHook ];
+  nativeBuildInputs = [ meson ninja cmake pkg-config wrapQtAppsHook ];
   buildInputs =
     [ libsndfile qtbase qtsvg fftw fftwFloat bzip2 lrdf rubberband
       libsamplerate vamp-plugin-sdk alsa-lib librdf_raptor librdf_rasqal redland
@@ -37,11 +37,6 @@ stdenv.mkDerivation rec {
       opusfile
     ];
 
-  # comment out the tests
-  preConfigure = ''
-    sed -i 's/sub_test_svcore_/#sub_test_svcore_/' sonic-visualiser.pro
-  '';
-
   enableParallelBuilding = true;
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/tauon/default.nix b/pkgs/applications/audio/tauon/default.nix
index 984938a7b4e2..937404ebddf1 100644
--- a/pkgs/applications/audio/tauon/default.nix
+++ b/pkgs/applications/audio/tauon/default.nix
@@ -25,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tauon";
-  version = "7.5.0";
+  version = "7.6.0";
 
   src = fetchFromGitHub {
     owner = "Taiko2k";
     repo = "TauonMusicBox";
     rev = "v${version}";
-    hash = "sha256-9/mzh8lRBjd7d9oEyG1XGWmOdgPEFCVjHZxDnAhYDwc=";
+    hash = "sha256-oQ3mcDrWWIT/2fu4MBw+0GjxWGFw1aLSTvmaKSDsdz4=";
   };
 
   postUnpack = ''
diff --git a/pkgs/applications/audio/tonelib-gfx/default.nix b/pkgs/applications/audio/tonelib-gfx/default.nix
index 682627c0e821..e875b8085534 100644
--- a/pkgs/applications/audio/tonelib-gfx/default.nix
+++ b/pkgs/applications/audio/tonelib-gfx/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tonelib-gfx";
-  version = "4.7.5";
+  version = "4.7.8";
 
   src = fetchurl {
-    url = "https://www.tonelib.net/download/220214/ToneLib-GFX-amd64.deb";
-    hash = "sha256-GUSyarqG1V5O6ayAedeGqmOA+UABQDpAZ+dsorh7das=";
+    url = "https://tonelib.net/download/221222/ToneLib-GFX-amd64.deb";
+    hash = "sha256-1sTwHqQYqNloZ3XSwhryqlW7b1FHh4ymtj3rKUcVZIo=";
   };
 
   nativeBuildInputs = [ autoPatchelfHook dpkg ];
diff --git a/pkgs/applications/audio/tonelib-jam/default.nix b/pkgs/applications/audio/tonelib-jam/default.nix
index 9229cba4839a..3376ae8ca10f 100644
--- a/pkgs/applications/audio/tonelib-jam/default.nix
+++ b/pkgs/applications/audio/tonelib-jam/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tonelib-jam";
-  version = "4.7.5";
+  version = "4.7.8";
 
   src = fetchurl {
-    url = "https://www.tonelib.net/download/220214/ToneLib-Jam-amd64.deb";
-    sha256 = "sha256-alkdoEhN58o9IGZ8sB39ctTpouMSmvgn6tbrKFneKPI=";
+    url = "https://tonelib.net/download/221222/ToneLib-Jam-amd64.deb";
+    sha256 = "sha256-c6At2lRPngQPpE7O+VY/Hsfw+QfIb3COIuHfbqqIEuM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/tonelib-metal/default.nix b/pkgs/applications/audio/tonelib-metal/default.nix
index 29c5cb6a3f24..df6890d65da3 100644
--- a/pkgs/applications/audio/tonelib-metal/default.nix
+++ b/pkgs/applications/audio/tonelib-metal/default.nix
@@ -17,11 +17,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tonelib-metal";
-  version = "1.1.0";
+  version = "1.2.6";
 
   src = fetchurl {
-    url = "https://www.tonelib.net/download/220218/ToneLib-Metal-amd64.deb";
-    sha256 = "sha256-F5EKwNQ9f/kdZLFI+QDZHvwevV/vDnxMdSmT/vnX6ug=";
+    url = "https://tonelib.net/download/221222/ToneLib-Metal-amd64.deb";
+    sha256 = "sha256-G80EKAsXomdk8GsnNyvjN8shz3YMKhqdWWYyVB7xTsU=";
   };
 
   nativeBuildInputs = [ autoPatchelfHook dpkg ];
diff --git a/pkgs/applications/audio/tony/default.nix b/pkgs/applications/audio/tony/default.nix
index 15c973a46fc8..33561122b191 100644
--- a/pkgs/applications/audio/tony/default.nix
+++ b/pkgs/applications/audio/tony/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, wrapQtAppsHook
+{ lib, stdenv, fetchurl, fetchpatch2, pkg-config, wrapQtAppsHook
 , alsa-lib, boost, bzip2, fftw, fftwFloat, libX11, libfishsound, libid3tag
 , libjack2, liblo, libmad, libogg, liboggz, libpulseaudio, libsamplerate
 , libsndfile, lrdf, opusfile, qtbase, qtsvg, rubberband, serd, sord
@@ -13,6 +13,22 @@ stdenv.mkDerivation rec {
     sha256 = "03g2bmlj08lmgvh54dyd635xccjn730g4wwlhpvsw04bffz8b7fp";
   };
 
+  patches = [
+    (fetchpatch2 {
+      url = "https://github.com/sonic-visualiser/svcore/commit/5a7b517e43b7f0b3f03b7fc3145102cf4e5b0ffc.patch";
+      stripLen = 1;
+      extraPrefix = "svcore/";
+      sha256 = "sha256-DOCdQqCihkR0g/6m90DbJxw00QTpyVmFzCxagrVWKiI=";
+    })
+    (fetchpatch2 {
+      url = "https://github.com/sonic-visualiser/svgui/commit/5b6417891cff5cc614e8c96664d68674eb12b191.patch";
+      stripLen = 1;
+      extraPrefix = "svgui/";
+      excludes = [ "svgui/widgets/CSVExportDialog.cpp" ];
+      sha256 = "sha256-pBCtoMXgjreUm/D0pl6+R9x1Ovwwwj8Ohv994oMX8XA=";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config wrapQtAppsHook ];
 
   buildInputs = [
diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix
index 41a4fb834115..52e0b7f24c3e 100644
--- a/pkgs/applications/audio/yoshimi/default.nix
+++ b/pkgs/applications/audio/yoshimi/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yoshimi";
-  version = "2.2.2.1";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "Yoshimi";
     repo = pname;
     rev = version;
-    hash = "sha256-fkN5VNiXRVKCCAyrG6Z2s5qLEtHQNB2874VprhHBhAg=";
+    hash = "sha256-zVIOHm84wx6ZFK0seS9fWZfujDz259AXTv7zljbwrUk=";
   };
 
   sourceRoot = "source/src";
diff --git a/pkgs/applications/audio/zrythm/default.nix b/pkgs/applications/audio/zrythm/default.nix
index fbb040709ab5..953a97ac67f8 100644
--- a/pkgs/applications/audio/zrythm/default.nix
+++ b/pkgs/applications/audio/zrythm/default.nix
@@ -27,6 +27,7 @@
 , help2man
 , jq
 , json-glib
+, kissfft
 , libadwaita
 , libaudec
 , libbacktrace
@@ -86,13 +87,13 @@ let
   });
 in stdenv.mkDerivation rec {
   pname = "zrythm";
-  version = "1.0.0-beta.4.5.62";
+  version = "1.0.0-beta.4.6.3";
 
   src = fetchFromSourcehut {
     owner = "~alextee";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-K93Y4Adh9TqoetSn7nrbbruIri1MKYoSGzoRBGHwbPA=";
+    hash = "sha256-5GBr8N+GzbptrvP/NisBXT0dsl9vn537B4InB00/N+A=";
   };
 
   nativeBuildInputs = [
@@ -135,6 +136,7 @@ in stdenv.mkDerivation rec {
     gtksourceview5
     guile
     json-glib
+    kissfft
     libadwaita
     libbacktrace
     libcyaml
@@ -213,7 +215,7 @@ in stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.zrythm.org";
     description = "Automated and intuitive digital audio workstation";
-    maintainers = with maintainers; [ tshaynik magnetophon ];
+    maintainers = with maintainers; [ tshaynik magnetophon yuu ];
     platforms = platforms.linux;
     license = licenses.agpl3Plus;
   };
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 819f14ce456f..3c9086b97fd1 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.54.0";
+  version = "2.55.0";
 
   src = fetchurl {
     url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-3UCsMzpoHq4gD4bw/MT1qbl8AnXQnFJqpMi1mlPvv5w=";
+    hash = "sha256-N0BhbqZvZs3IP+jMxr85KlHs6I/fxWgoK884EKT9C9Y=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/display-managers/greetd/regreet.nix b/pkgs/applications/display-managers/greetd/regreet.nix
index e989d9782b1a..31ad614ac263 100644
--- a/pkgs/applications/display-managers/greetd/regreet.nix
+++ b/pkgs/applications/display-managers/greetd/regreet.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage {
   pname = "regreet";
-  version = "unstable-2023-02-27";
+  version = "unstable-2023-03-19";
 
   src = fetchFromGitHub {
     owner = "rharish101";
     repo = "ReGreet";
-    rev = "2bbabe90f112b4feeb0aea516c265daaec8ccf2a";
-    hash = "sha256-71ji4x/NUE4qmBuO5PkWTPE1a0uPXqJSwW1Ai1amPJE=";
+    rev = "fd496fa00abc078570ac85a47ea296bfc275222a";
+    hash = "sha256-pqCtDoycFKV+EFLEodoTCDSO5L+dOVtdjN6DVgJ/7to=";
   };
 
-  cargoHash = "sha256-rz2eMMhoMtzBXCH6ZJOvGuYLeHSWga+Ebc4+ZO8Kk1g=";
+  cargoHash = "sha256-8FbA5FFJuRt5tvW1HGaaEZcr5g6OczcBeic1hCTQmUw=";
 
   buildFeatures = [ "gtk4_8" ];
 
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/mind-wave/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/mind-wave/default.nix
new file mode 100644
index 000000000000..336cd510479f
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/mind-wave/default.nix
@@ -0,0 +1,89 @@
+{ lib
+, pkgs
+, melpaBuild
+, substituteAll
+}:
+# To use this package with emacs-overlay:
+# nixpkgs.overlays = [
+#   inputs.emacs-overlay.overlay
+#   (final: prev: {
+#     emacs30 = prev.emacsGit.overrideAttrs (old: {
+#       name = "emacs30";
+#       version = inputs.emacs-upstream.shortRev;
+#       src = inputs.emacs-upstream;
+#     });
+#     emacsWithConfig = prev.emacsWithPackagesFromUsePackage {
+#       config = let
+#         readRecursively = dir:
+#           builtins.concatStringsSep "\n"
+#           (lib.mapAttrsToList (name: value:
+#             if value == "regular"
+#             then builtins.readFile (dir + "/${name}")
+#             else
+#               (
+#                 if value == "directory"
+#                 then readRecursively (dir + "/${name}")
+#                 else []
+#               ))
+#           (builtins.readDir dir));
+#       in
+#         # your home-manager config
+#         readRecursively ./home/modules/emacs;
+#       alwaysEnsure = true;
+#       package = final.emacs30;
+#       extraEmacsPackages = epkgs: [
+#         epkgs.use-package
+#         (epkgs.melpaBuild rec {
+#           # ...
+#         })
+#       ];
+#       override = epkgs:
+#         epkgs
+#         // {
+#           # ...
+#         };
+#     };
+#   })
+# ];
+melpaBuild rec {
+  pname = "mind-wave";
+  version = "20230322.1348"; # 13:48 UTC
+  src = pkgs.fetchFromGitHub {
+    owner = "manateelazycat";
+    repo = "mind-wave";
+    rev = "2d94f553a394ce73bcb91490b81e0fc042baa8d3";
+    sha256 = "sha256-6tmcPYAEch5bX5hEHMiQGDNYEMUOvnxF1Vq0VVpBsYo=";
+  };
+  commit = "2d94f553a394ce73bcb91490b81e0fc042baa8d3";
+  # elisp dependencies
+  packageRequires = [
+    pkgs.emacsPackages.markdown-mode
+  ];
+  buildInputs = [
+    (pkgs.python3.withPackages (ps:
+      with ps; [
+        openai
+        epc
+        sexpdata
+        six
+      ]))
+  ];
+  recipe = pkgs.writeText "recipe" ''
+    (mind-wave
+    :repo "manateelazycat/mind-wave"
+    :fetcher github
+    :files
+    ("mind-wave.el"
+    "mind-wave-epc.el"
+    "mind_wave.py"
+    "utils.py"))
+  '';
+  doCheck = true;
+  passthru.updateScript = pkgs.unstableGitUpdater {};
+  meta = with lib; {
+    description = " Emacs AI plugin based on ChatGPT API ";
+    homepage = "https://github.com/manateelazycat/mind-wave";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [yuzukicat];
+  };
+}
diff --git a/pkgs/applications/editors/helix/default.nix b/pkgs/applications/editors/helix/default.nix
index 5c450e21748c..3b77d441e1c9 100644
--- a/pkgs/applications/editors/helix/default.nix
+++ b/pkgs/applications/editors/helix/default.nix
@@ -23,9 +23,9 @@ rustPlatform.buildRustPackage rec {
     mkdir -p $out/lib
     cp -r runtime $out/lib
     installShellCompletion contrib/completion/hx.{bash,fish,zsh}
-    mkdir -p $out/share/{applications,icons}
+    mkdir -p $out/share/{applications,icons/hicolor/256x256/apps}
     cp contrib/Helix.desktop $out/share/applications
-    cp contrib/helix.png $out/share/icons
+    cp contrib/helix.png $out/share/icons/hicolor/256x256/apps
   '';
   postFixup = ''
     wrapProgram $out/bin/hx --set HELIX_RUNTIME $out/lib/runtime
diff --git a/pkgs/applications/editors/moe/default.nix b/pkgs/applications/editors/moe/default.nix
index 79595a00c262..197cccd43c3f 100644
--- a/pkgs/applications/editors/moe/default.nix
+++ b/pkgs/applications/editors/moe/default.nix
@@ -1,16 +1,17 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
-, ncurses
 , lzip
+, ncurses
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (self: {
   pname = "moe";
-  version = "1.12";
+  version = "1.13";
 
   src = fetchurl {
-    url = "mirror://gnu/moe/${pname}-${version}.tar.lz";
-    sha256 = "sha256-iohfK+Qm+OBK05yWASvYYJVAhaI3RPJFFmMWiCbXoeg=";
+    url = "mirror://gnu/moe/moe-${self.version}.tar.lz";
+    hash = "sha256-Q6VXvFEvidbHGOX0ECnP46BVaCYg642+zmMC80omFGs=";
   };
 
   prePatch = ''
@@ -19,10 +20,16 @@ stdenv.mkDerivation rec {
       "insert( 0U, 1U,"
   '';
 
-  nativeBuildInputs = [ lzip ];
-  buildInputs = [ ncurses ];
+  nativeBuildInputs = [
+    lzip
+  ];
+
+  buildInputs = [
+    ncurses
+  ];
 
-  meta = with lib; {
+  meta = {
+    homepage = "https://www.gnu.org/software/moe/";
     description = "A small, 8-bit clean editor";
     longDescription = ''
       GNU moe is a powerful, 8-bit clean, console text editor for ISO-8859 and
@@ -33,10 +40,9 @@ stdenv.mkDerivation rec {
       completion, directory browser, duplicate removal from prompt histories,
       delimiter matching, text conversion from/to UTF-8, romanization, etc.
     '';
-    homepage = "https://www.gnu.org/software/moe/";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.unix;
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    platforms = lib.platforms.unix;
   };
-}
+})
 # TODO: a configurable, global moerc file
diff --git a/pkgs/applications/editors/neovim/utils.nix b/pkgs/applications/editors/neovim/utils.nix
index 125fae66f7f7..0f03866cc75f 100644
--- a/pkgs/applications/editors/neovim/utils.nix
+++ b/pkgs/applications/editors/neovim/utils.nix
@@ -107,9 +107,10 @@ let
           # vim accepts a limited number of commands so we join them all
           flags = [
             "--cmd" (lib.intersperse "|" hostProviderViml)
+          ] ++ lib.optionals (myVimPackage.start != [] || myVimPackage.opt != []) [
             "--cmd" "set packpath^=${vimUtils.packDir packDirArgs}"
             "--cmd" "set rtp^=${vimUtils.packDir packDirArgs}"
-            ];
+          ];
         in
         [
           "--inherit-argv0" "--add-flags" (lib.escapeShellArgs flags)
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 11f66e8a5d53..9172ea07dbdf 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -29,12 +29,12 @@ final: prev:
 
   ChatGPT-nvim = buildVimPluginFrom2Nix {
     pname = "ChatGPT.nvim";
-    version = "2023-03-13";
+    version = "2023-03-14";
     src = fetchFromGitHub {
       owner = "jackMort";
       repo = "ChatGPT.nvim";
-      rev = "783a23c70ca6b43b4591fce9bdfeda408e2d6415";
-      sha256 = "0a9ys9d2b6hj0vi7x6x20s6dh09slm851wy9kn7ya43vycvx4v2h";
+      rev = "3008b38171b3137448fe33c5edc1bba2641bfcad";
+      sha256 = "1szk6xjpaacnxifciq1kr92iwx0vvy4yq41wrcqm1yqvsfabiwy2";
     };
     meta.homepage = "https://github.com/jackMort/ChatGPT.nvim/";
   };
@@ -173,24 +173,24 @@ final: prev:
 
   LazyVim = buildVimPluginFrom2Nix {
     pname = "LazyVim";
-    version = "2023-03-17";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "LazyVim";
       repo = "LazyVim";
-      rev = "c10e550639caef68146d122d9bc4a66f2f38650a";
-      sha256 = "04d062kxa0pz57liymim3i17hz51w0690c2y4q22h3kfarcmj0ws";
+      rev = "11d414c35841b35604e98cdc2d05e756da3c9421";
+      sha256 = "0l9hqml1sb92s8gqhd1gqd9sysx0p3hxwwpzbxaf5n3laicwgnnz";
     };
     meta.homepage = "https://github.com/LazyVim/LazyVim/";
   };
 
   LeaderF = buildVimPluginFrom2Nix {
     pname = "LeaderF";
-    version = "2023-03-02";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "LeaderF";
-      rev = "44badee0f1aa5ec72b570634d18985fd70c68983";
-      sha256 = "1if1aqby7l1k9947a8vyhm95dz7yvbwh9sqjmhy0x7rphngr60ll";
+      rev = "4b8f537dadf5f9abbdd1554584bec9c04843909c";
+      sha256 = "0sb94hi4qph8wg9agkg5kvqzfjnqnk683y05r0waw69r4iarsfar";
     };
     meta.homepage = "https://github.com/Yggdroot/LeaderF/";
   };
@@ -305,12 +305,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPluginFrom2Nix {
     pname = "SchemaStore.nvim";
-    version = "2023-03-12";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "1dc606bf07e1419d785e04d6dbb8585987d817cc";
-      sha256 = "0l7vmvr5rfn7bjaia505aqwwvvhpbc3f6mfn8q49an3nngwf2plh";
+      rev = "ac100fa691b10dd990ca0cdc31ebd054a5959b58";
+      sha256 = "1j59vy5dypc5a1ymgd640lyqkq2gsicqapgmlssxz0g91r71n40z";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -365,12 +365,12 @@ final: prev:
 
   SpaceVim = buildVimPluginFrom2Nix {
     pname = "SpaceVim";
-    version = "2023-03-11";
+    version = "2023-03-14";
     src = fetchFromGitHub {
       owner = "SpaceVim";
       repo = "SpaceVim";
-      rev = "e96ea26df67f57b1a1bab575f8376e14ee876016";
-      sha256 = "0s30f9z0rib1wjndr57qi4xcj8m36z3y7kj44lpinbmmryba5pgg";
+      rev = "c4433b123182ef7f0437bf764b8f27649dd9c3a7";
+      sha256 = "14wgvk58f61fdwp7cr2x2vid2n58vwknfa1q3gibrbglf825vd8x";
     };
     meta.homepage = "https://github.com/SpaceVim/SpaceVim/";
   };
@@ -486,12 +486,12 @@ final: prev:
 
   aerial-nvim = buildVimPluginFrom2Nix {
     pname = "aerial.nvim";
-    version = "2023-02-24";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "5b788392ec571621891e1b73887af5ac12056610";
-      sha256 = "1m2jlhxwqpgl7v8q60pjwcim9brzaaywb6ax44ddbnyj31b86cby";
+      rev = "ab85d57942b3d7e1a2530af1a083b77f4ba33cba";
+      sha256 = "1arywda3ai49x0wxbjkp4z7nfmqxfz3z5gcggwbwv6ddxkfd3ld5";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
@@ -523,12 +523,12 @@ final: prev:
 
   ai-vim = buildVimPluginFrom2Nix {
     pname = "ai.vim";
-    version = "2023-03-11";
+    version = "2023-03-14";
     src = fetchFromGitHub {
       owner = "aduros";
       repo = "ai.vim";
-      rev = "512359e0935e62a7bda308bd7c16b7de2787532d";
-      sha256 = "1kbjv2p1ngsd244mr0c7nl5wvg51naxxhfirgcz3fsxc90j22952";
+      rev = "bf90f0978882022f9efb014ee2583e4350ac82d1";
+      sha256 = "0441h9in8rvx6slv9gr786k01fgq8scpkkw9z7nc6pah6lm5xhaf";
     };
     meta.homepage = "https://github.com/aduros/ai.vim/";
   };
@@ -547,12 +547,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2023-03-11";
+    version = "2023-03-15";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "011e4f6590e8fb26ee2b55bd6b368f1bb784a537";
-      sha256 = "0bmq01wmbnrb7ni5kyz7dr9q4s1dhhv8z5i8jnf9pnvgkvpq45mr";
+      rev = "fbae1bc1937ce69fa80b4b32d178ce666fd5c07c";
+      sha256 = "0a1pfslirdi04ag8fawclmk97nrzifgmja6p2hjqp9a47ikn8br2";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -571,12 +571,12 @@ final: prev:
 
   alpha-nvim = buildVimPluginFrom2Nix {
     pname = "alpha-nvim";
-    version = "2023-03-09";
+    version = "2023-03-13";
     src = fetchFromGitHub {
       owner = "goolord";
       repo = "alpha-nvim";
-      rev = "4e1c4dedf5983e84b3ed305228b2235c56c7023c";
-      sha256 = "1vircxn0rlwfl6q6q087js977zy0dpd5x9riddv9px9zvpqxzcw9";
+      rev = "3847d6baf74da61e57a13e071d8ca185f104dc96";
+      sha256 = "04bg8as2yrrv0yzwi0ppvj3xpfp1jbcf1cfcml1w8h7wg0cqkb2p";
     };
     meta.homepage = "https://github.com/goolord/alpha-nvim/";
   };
@@ -679,12 +679,12 @@ final: prev:
 
   asyncrun-vim = buildVimPluginFrom2Nix {
     pname = "asyncrun.vim";
-    version = "2023-03-02";
+    version = "2023-03-17";
     src = fetchFromGitHub {
       owner = "skywind3000";
       repo = "asyncrun.vim";
-      rev = "80750a80e7999318f14d754bb68b64de7af93bc3";
-      sha256 = "1z3mg13q862lcypb9cj0im2kwng4m79g76mzph5pvdi2yhj3y0n5";
+      rev = "7191d0c30dd105e5d7f897b9a6ee19cabe734466";
+      sha256 = "05mlwazml48szf9nd13zmc7xj7x0zmflx51i78mval85n0vk699i";
     };
     meta.homepage = "https://github.com/skywind3000/asyncrun.vim/";
   };
@@ -835,24 +835,24 @@ final: prev:
 
   barbar-nvim = buildVimPluginFrom2Nix {
     pname = "barbar.nvim";
-    version = "2023-03-10";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "barbar.nvim";
-      rev = "de5682f7b7de872d1bfd02aa1368cd0c34d13b49";
-      sha256 = "0g8230x3a49sj1j0c9knjd7dqs9lrm2ap24pfaxsbavc1w4zdh2m";
+      rev = "1c9d324c493650667ff621c835d552e56fd229ca";
+      sha256 = "1kk1jjfz1dk0jqi2gq641qg0ymxcaw9ns0lyfgbrdk1qqrgrmiwq";
     };
     meta.homepage = "https://github.com/romgrk/barbar.nvim/";
   };
 
   barbecue-nvim = buildVimPluginFrom2Nix {
     pname = "barbecue.nvim";
-    version = "2023-03-11";
+    version = "2023-03-17";
     src = fetchFromGitHub {
       owner = "utilyre";
       repo = "barbecue.nvim";
-      rev = "d60fb8d8e240e5be04a20636f5b35b05a0d4712c";
-      sha256 = "1lf4kwzpx87hvihzgmmpgm83wpkpzf7iav5yb46b3bf3b4cfjl9j";
+      rev = "19ceea1e4eac33e69a836739e7e6e9b07777d737";
+      sha256 = "1ah4kc0rabxxr2dy0s17bq3b1w5mj2p24bnvdjl7maiv8ywl0321";
     };
     meta.homepage = "https://github.com/utilyre/barbecue.nvim/";
   };
@@ -1063,24 +1063,24 @@ final: prev:
 
   caw-vim = buildVimPluginFrom2Nix {
     pname = "caw.vim";
-    version = "2021-09-20";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "tyru";
       repo = "caw.vim";
-      rev = "3aefcb5a752a599a9200dd801d6bcb0b7606bf29";
-      sha256 = "0v21vp0ngj60ksmyrk6f8ld25qqmx298nsd0v1kj2ysrcvj3hjb7";
+      rev = "748f15cde4e9ba9ce4723fddf48703d2e97790de";
+      sha256 = "1qwjwsfrg7bvwjzi6ln8l4ni2q3vnr7xyqagb0qs74g02ycbh0xa";
     };
     meta.homepage = "https://github.com/tyru/caw.vim/";
   };
 
   ccc-nvim = buildVimPluginFrom2Nix {
     pname = "ccc.nvim";
-    version = "2023-03-13";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "uga-rosa";
       repo = "ccc.nvim";
-      rev = "f99a9e49f2f3e929364850a1aaa1b23aef5fca62";
-      sha256 = "1942iipkm67ibyvwbll6prsfqhjxq638spcwdw4k9hgzb1f3n3cy";
+      rev = "100dfb923e12051c95ec10c2cb41cd29104505a6";
+      sha256 = "1923dn9pmg0qy0a6vmgplq350a7x1nqljyz25vdwhmwvmiy6643y";
     };
     meta.homepage = "https://github.com/uga-rosa/ccc.nvim/";
   };
@@ -1123,12 +1123,12 @@ final: prev:
 
   circles-nvim = buildVimPluginFrom2Nix {
     pname = "circles.nvim";
-    version = "2023-02-01";
+    version = "2023-03-17";
     src = fetchFromGitHub {
       owner = "projekt0n";
       repo = "circles.nvim";
-      rev = "06357817f6944de132f0a58ee5c1486e4dcc6dda";
-      sha256 = "1rvbz9m02vmjs5dg9yhnzzdr46ck1rqdrc7a94sybj8qvw3l5nq1";
+      rev = "50c5d9a1d7427d10e67b1b0ef60682ad28da49e2";
+      sha256 = "1c9v54xkcpx4ng3p5379s1wqwj4zz3rcfsvcakzmh5y9hc4xzgnp";
     };
     meta.homepage = "https://github.com/projekt0n/circles.nvim/";
   };
@@ -2095,12 +2095,12 @@ final: prev:
 
   copilot-lua = buildVimPluginFrom2Nix {
     pname = "copilot.lua";
-    version = "2023-02-27";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "zbirenbaum";
       repo = "copilot.lua";
-      rev = "b41d4c9c7d4f5e0272bcf94061b88e244904c56f";
-      sha256 = "1r2mllgpdsnk4c1jzfshyy9sqsw0vcjv0d4r3ja9abzk7jpq5x4z";
+      rev = "db62371b6eac73954c194f3c8faee36cffee8135";
+      sha256 = "02kn7j40421rs27dnyw14sa7wdbca81xqd52h4m03dr9jklpifl9";
     };
     meta.homepage = "https://github.com/zbirenbaum/copilot.lua/";
   };
@@ -2119,24 +2119,24 @@ final: prev:
 
   coq-artifacts = buildVimPluginFrom2Nix {
     pname = "coq.artifacts";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq.artifacts";
-      rev = "ee1814e2183bd424ca5528f82f3d6ce8f64e6f90";
-      sha256 = "0r4hl4w29mg9yg847ivsv1xhm3lq664989l2s8gzxbwypfs3kv3v";
+      rev = "5084d1e7304c34cbd507b026dc557ef772b7bf86";
+      sha256 = "0rqd7nnl561h4d82mjg6z2pplgiak2k9624jdqqvjihf2k756xih";
     };
     meta.homepage = "https://github.com/ms-jpq/coq.artifacts/";
   };
 
   coq-thirdparty = buildVimPluginFrom2Nix {
     pname = "coq.thirdparty";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq.thirdparty";
-      rev = "e7c186c9cca268e9337077256544fa9fb86e7bbb";
-      sha256 = "11wv9cgs7nbknvgc4nsgwgs4yv234wy7z78x0z58ci3r55zhablw";
+      rev = "f464963331327cbf588548f62bd8ad77331a1c26";
+      sha256 = "0s5z599dx6sy7jpc7ssr84qcbxz06ss1n2581x7app2l816zzhlq";
     };
     meta.homepage = "https://github.com/ms-jpq/coq.thirdparty/";
   };
@@ -2155,12 +2155,12 @@ final: prev:
 
   coq_nvim = buildVimPluginFrom2Nix {
     pname = "coq_nvim";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq_nvim";
-      rev = "4b4b93dbbfc871a3d32a244a4276ee06696c21bb";
-      sha256 = "1fkj6ps167sq12y96cdksf7ipfgrh01z1p107x7akynfnyrlny1r";
+      rev = "2dec8c79eaf60755b32cd29ac0a6ddbb8290ff6a";
+      sha256 = "11ig2dv4vy601nrkxr7rjsh9dy5qcwcbilh5f5a8k76q0vaz4wi7";
     };
     meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
   };
@@ -2299,12 +2299,12 @@ final: prev:
 
   dashboard-nvim = buildVimPluginFrom2Nix {
     pname = "dashboard-nvim";
-    version = "2023-03-12";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "glepnir";
       repo = "dashboard-nvim";
-      rev = "937524714999c3c5a096f839dc22dd77344e1567";
-      sha256 = "0fy0pqzifkf5wsaqskjn9ca3dbnm7s0p55an47y2z101b7akbrcs";
+      rev = "6e0a35343fc37a2a2ca5ab1734d60fcc06c4cf01";
+      sha256 = "14av4336k72djlc0wnaaj3j53brczmhf4iwib6ywzka1rjhkyp2r";
     };
     meta.homepage = "https://github.com/glepnir/dashboard-nvim/";
   };
@@ -2685,12 +2685,12 @@ final: prev:
 
   diffview-nvim = buildVimPluginFrom2Nix {
     pname = "diffview.nvim";
-    version = "2023-03-12";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "sindrets";
       repo = "diffview.nvim";
-      rev = "ebcbe90401555272025006db00da0972f7e0db63";
-      sha256 = "1zcapd1dwwqz9035h3rg2z582v7z49d03h0g28yi208xjm1wmwih";
+      rev = "58035354fc79c6ec42fa7b218dab90bd3968615f";
+      sha256 = "0njz4z3yfg5imc88kh1y8v93cc3957x8qh5ac9mrdlvqgrnypm8x";
     };
     meta.homepage = "https://github.com/sindrets/diffview.nvim/";
   };
@@ -2781,12 +2781,12 @@ final: prev:
 
   editorconfig-vim = buildVimPluginFrom2Nix {
     pname = "editorconfig-vim";
-    version = "2023-03-13";
+    version = "2023-03-17";
     src = fetchFromGitHub {
       owner = "editorconfig";
       repo = "editorconfig-vim";
-      rev = "5b875ac1aeba22abce3c499c0d5e4f33558fdf2c";
-      sha256 = "1pnbhhqbaxp5jhdgs4g1a6fym7x2855lss2ykj5wdd21wna77rhn";
+      rev = "0ba62c40b9718c3c72672547f60cf17979e69e68";
+      sha256 = "1z71m74h6z7v7jjl4fdannh36s6bvj6z9q5pyyijm1xmc5nygllj";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/editorconfig/editorconfig-vim/";
@@ -2891,12 +2891,12 @@ final: prev:
 
   fastfold = buildVimPluginFrom2Nix {
     pname = "fastfold";
-    version = "2022-09-20";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "konfekt";
       repo = "fastfold";
-      rev = "542683b0cce738be22b6fdadb08302faed68e7b4";
-      sha256 = "1n859x82xfgjv4nnv1vms45nkamnnm7lkryfs6jqy4sqiyv0x615";
+      rev = "6c54411f97bc408ab81294375c8f551775a2da8b";
+      sha256 = "0bdzj559v5plg6yf4v403867wrjr2mnlfdsc4h3y5kvpym1n0yb2";
     };
     meta.homepage = "https://github.com/konfekt/fastfold/";
   };
@@ -2987,12 +2987,12 @@ final: prev:
 
   firenvim = buildVimPluginFrom2Nix {
     pname = "firenvim";
-    version = "2023-03-10";
+    version = "2023-03-17";
     src = fetchFromGitHub {
       owner = "glacambre";
       repo = "firenvim";
-      rev = "87c9f70d3e6aa2790982aafef3c696dbe962d35b";
-      sha256 = "0f3jsayilkhch75xdhsv3hrdydsfk5v52cb4ss4kvxbb4cnkli1w";
+      rev = "12003d9727bc5074ccb405b3d80e691c72d4859b";
+      sha256 = "1srjyh6d23m4ajxzh4l2qv0478ghblxn04kdqlbmbfgr6xksa0nx";
     };
     meta.homepage = "https://github.com/glacambre/firenvim/";
   };
@@ -3012,12 +3012,12 @@ final: prev:
 
   flatten-nvim = buildVimPluginFrom2Nix {
     pname = "flatten.nvim";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "willothy";
       repo = "flatten.nvim";
-      rev = "17bbf3e51d67f77f6adacbfc965734a3dccb02a3";
-      sha256 = "0jmkx1alfsz1xmf39alwky7l4nl2m79nsqwad7sfi1vp8y3b7p99";
+      rev = "6a11200f7cda8490577438b26f724a80d41f7460";
+      sha256 = "1jxxls2f0321hxcxlysf8b2bj7r4ykwws1xs7q1d6anqb5sn8g57";
     };
     meta.homepage = "https://github.com/willothy/flatten.nvim/";
   };
@@ -3048,12 +3048,12 @@ final: prev:
 
   floating-input-nvim = buildVimPluginFrom2Nix {
     pname = "floating-input.nvim";
-    version = "2023-03-09";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "liangxianzhe";
       repo = "floating-input.nvim";
-      rev = "2ac3b4b75de72ea715a04d6d1b8d92c7718d2c64";
-      sha256 = "165jk5dhi8lv6fcbfwk395vw5yikmm1v2r74l0nvpa3j6xl1h7zm";
+      rev = "4d99fdffc46c1f136c720660e16ac364950d1abd";
+      sha256 = "1mmb7ivfbdsv5gg4aaabgh67vlps6r6s1z441wvy6k72svv1va7s";
     };
     meta.homepage = "https://github.com/liangxianzhe/floating-input.nvim/";
   };
@@ -3084,12 +3084,12 @@ final: prev:
 
   flutter-tools-nvim = buildVimPluginFrom2Nix {
     pname = "flutter-tools.nvim";
-    version = "2023-03-12";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "flutter-tools.nvim";
-      rev = "467847f694beb2e6496c83e56631d7dfae901a9d";
-      sha256 = "0ydmd6yvwjrrsb1b13i4d2v26bdivfbzlv54ggylwyi7bzfm28xm";
+      rev = "727df22e2ae72a0482e5eb923e3d1c861a157a94";
+      sha256 = "06s4svb8r4d9xi10sk9wf0zqa1qmrafj749kfayw705fig2an9v0";
     };
     meta.homepage = "https://github.com/akinsho/flutter-tools.nvim/";
   };
@@ -3120,12 +3120,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "2f5b8a41659a19bd602497a35da8d81f1e88f6d9";
-      sha256 = "11h9i5b675p9h7h92lcn7vkn2hnkmn1kifji1932xkh45rizyshl";
+      rev = "25ddcd96540a2ce41d714bd7fea2e7f75fea8ead";
+      sha256 = "1j98blydm49bzla95w082qy2hd61yb0476zawflipa8awf7ja6ac";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -3228,12 +3228,12 @@ final: prev:
 
   fzf-lua = buildVimPluginFrom2Nix {
     pname = "fzf-lua";
-    version = "2023-03-13";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "ibhagwan";
       repo = "fzf-lua";
-      rev = "60ce55d8546188de614cd111f4d26932c70f0fb7";
-      sha256 = "15v9s2bq55nnirwpkkqb3d5ldfibnvqm4wf4afjkqj64bgk7kga2";
+      rev = "941cebb1d5bc8fa05364cb524bad5c7f080ec513";
+      sha256 = "05hwzy00rh6afcmypzxjq075iszladmi2wd77vcb0j0h7wyj3k0v";
     };
     meta.homepage = "https://github.com/ibhagwan/fzf-lua/";
   };
@@ -3276,12 +3276,12 @@ final: prev:
 
   gentoo-syntax = buildVimPluginFrom2Nix {
     pname = "gentoo-syntax";
-    version = "2023-03-11";
+    version = "2023-03-15";
     src = fetchFromGitHub {
       owner = "gentoo";
       repo = "gentoo-syntax";
-      rev = "d4659a919096a0488694338a9cf4fbb749080779";
-      sha256 = "100qlgf6w0fpxfck77ag7m4rkx9k51dn2dk655rapzd1dnry241v";
+      rev = "d5dc0427f63e1e42213358af1ded69440176f737";
+      sha256 = "0615lpl4m4m26kn12djrigkkbsxn9khw5m9p4ag37s72m0xgz1zm";
     };
     meta.homepage = "https://github.com/gentoo/gentoo-syntax/";
   };
@@ -3444,12 +3444,12 @@ final: prev:
 
   go-nvim = buildVimPluginFrom2Nix {
     pname = "go.nvim";
-    version = "2023-03-12";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "go.nvim";
-      rev = "3b5b6b8aacfa5be9944b4cfe2673feb68a08655a";
-      sha256 = "1pd8lqqdmyy3lz8x9i6g5kh02w7wydr90rqgzdm4f4cl5lm80p96";
+      rev = "933ff9f0d84975122ec62ef98f78511db5c313c1";
+      sha256 = "02pr6c8ljv34xd9h6y01i71l8nrapspyg1dm8vcybl5jjq85xrmv";
     };
     meta.homepage = "https://github.com/ray-x/go.nvim/";
   };
@@ -3492,12 +3492,12 @@ final: prev:
 
   goto-preview = buildVimPluginFrom2Nix {
     pname = "goto-preview";
-    version = "2023-02-27";
+    version = "2023-03-17";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "goto-preview";
-      rev = "390a8bf9f83cc0e31a5154357bc4bfad8e79b889";
-      sha256 = "0yv32yd78gs7cqgwcsiwm8zyc2fabfbfakfljdfihcfaa3y2lzap";
+      rev = "82ce83ae589be7a59e4ec5cfbbf82d9f5eb8bded";
+      sha256 = "1hl8nlvp8rlycpkfwyl10lzd5ilxw33mfv1a39isrsa7l7ql75b9";
     };
     meta.homepage = "https://github.com/rmagatti/goto-preview/";
   };
@@ -3576,12 +3576,12 @@ final: prev:
 
   gruvbox-nvim = buildVimPluginFrom2Nix {
     pname = "gruvbox.nvim";
-    version = "2023-03-13";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "gruvbox.nvim";
-      rev = "c6ef9c5a3a2ece0f8635460291eb4a4c06ed3dcc";
-      sha256 = "1cnjdzg8l1dvr8lw3d5m4v880z7wd2y08ac5cl93p6wyzkz9m12i";
+      rev = "035f8a35d7e08833e75720feeff11f3461c80903";
+      sha256 = "0x4vi836nwz1jvnl940di98d1yfjsblgdw1iij1fa6njy8i1hz9f";
     };
     meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
   };
@@ -3624,11 +3624,11 @@ final: prev:
 
   hare-vim = buildVimPluginFrom2Nix {
     pname = "hare.vim";
-    version = "2023-02-10";
+    version = "2023-03-16";
     src = fetchgit {
       url = "https://git.sr.ht/~sircmpwn/hare.vim";
-      rev = "75874719e1aee0171a0f06d1508ff9a116f6ac75";
-      sha256 = "0n2rh59nnp0fv4jxvx30arrrqpfbagix6a94rxq3100n8kszr218";
+      rev = "9843d3331bc6ca6d224d54e1f59410ca79331b71";
+      sha256 = "0wywahspnnrwajn88l06zqbc6z2wprxg6gqjpgfkczzqc69rbvhk";
     };
     meta.homepage = "https://git.sr.ht/~sircmpwn/hare.vim";
   };
@@ -3647,12 +3647,12 @@ final: prev:
 
   haskell-tools-nvim = buildNeovimPluginFrom2Nix {
     pname = "haskell-tools.nvim";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "haskell-tools.nvim";
-      rev = "47d30b754753da4b70a18dbfbcec89cf6f067dcd";
-      sha256 = "1sb21nrbmyrl0ahqyjxksa34n9vbwwkd52bdhwj1nwp3yy7k4spb";
+      rev = "e709e1f82c1b8e8cc16e39e7350a0b7820cd79fe";
+      sha256 = "0gpvv5q3kndcglwkrpfys5zpz3l9r882fn84g971s6q9ainp3fdv";
     };
     meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/";
   };
@@ -3695,12 +3695,12 @@ final: prev:
 
   heirline-nvim = buildVimPluginFrom2Nix {
     pname = "heirline.nvim";
-    version = "2023-03-07";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "heirline.nvim";
-      rev = "00f7e271775362792116e252d931590a9344d6a9";
-      sha256 = "1cf9av6h5xdzkvzrmwscld65257syx0mk1czi5gkwg10apyyhfzw";
+      rev = "2666c2514354c61c14d4142ee7b2b2c93455e8e4";
+      sha256 = "12x9c2qbi8ac22zpjjndxa0ccms8y74pj1y9ds5hfvwpnm5g5s23";
     };
     meta.homepage = "https://github.com/rebelot/heirline.nvim/";
   };
@@ -3968,6 +3968,18 @@ final: prev:
     meta.homepage = "https://github.com/jbyuki/instant.nvim/";
   };
 
+  intellitab-nvim = buildVimPluginFrom2Nix {
+    pname = "intellitab.nvim";
+    version = "2021-11-13";
+    src = fetchFromGitHub {
+      owner = "pta2002";
+      repo = "intellitab.nvim";
+      rev = "a6c1a505865f6131866d609c52440306e9914b16";
+      sha256 = "19my464jsji7cb81h0agflzb0vmmb3f5kapv0wwhpdddcfzvp4fg";
+    };
+    meta.homepage = "https://github.com/pta2002/intellitab.nvim/";
+  };
+
   intero-neovim = buildVimPluginFrom2Nix {
     pname = "intero-neovim";
     version = "2019-11-15";
@@ -4115,12 +4127,12 @@ final: prev:
 
   kanagawa-nvim = buildVimPluginFrom2Nix {
     pname = "kanagawa.nvim";
-    version = "2023-03-13";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "kanagawa.nvim";
-      rev = "99d9f72122e92ba816c86e10ce8e97c555be99ba";
-      sha256 = "0g6kly4kxik3bqh7iisypawrp4hrp104bim72wqbik92b079swav";
+      rev = "d8800c36a7f3bcec953288926b00381c028ed97f";
+      sha256 = "18dhhl9vyz8sd860ajz6190ab9zb2l6067w6730i4d1nchil4swg";
     };
     meta.homepage = "https://github.com/rebelot/kanagawa.nvim/";
   };
@@ -4211,12 +4223,12 @@ final: prev:
 
   lazy-nvim = buildVimPluginFrom2Nix {
     pname = "lazy.nvim";
-    version = "2023-03-07";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "lazy.nvim";
-      rev = "5b4444f0d7e556deba3f7ca949a2ba0e2c3369fb";
-      sha256 = "0zc8k5d3pgz4xhhshwjaks7q72f61h1iix2305kybnyhi0kslsxd";
+      rev = "887eb75591520a01548134c4623617b639289d0b";
+      sha256 = "14kncmkrjgfkw1wynhgqslgybmzalnq9ps07k7kbccpsjmqafggp";
     };
     meta.homepage = "https://github.com/folke/lazy.nvim/";
   };
@@ -4235,12 +4247,12 @@ final: prev:
 
   lean-nvim = buildVimPluginFrom2Nix {
     pname = "lean.nvim";
-    version = "2023-01-16";
+    version = "2023-03-13";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "f69875f98317c11fd48c4c4a8166a408244b7fe8";
-      sha256 = "1xhmp3zbi65n6dv6vv2023zj83bxnfvzxzdi5s6rsm0ls8dq9084";
+      rev = "f87c54ded50ae46dcc4687f139a5debc1f977a7e";
+      sha256 = "0iyi1hg2l6xsfngbxiwp8njzmqb8gdi4skyvqf3lg7vh4yy8f15k";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -4271,24 +4283,24 @@ final: prev:
 
   leap-nvim = buildVimPluginFrom2Nix {
     pname = "leap.nvim";
-    version = "2023-03-11";
+    version = "2023-03-14";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "leap.nvim";
-      rev = "2ff8eac67bed41005ea2032728a0336c784de611";
-      sha256 = "1sfnxias9i1s3ppxpkg084bk1dpcxyd3f34sk9jxdr6v9101zpls";
+      rev = "f74473d23ebf60957e0db3ff8172349a82e5a442";
+      sha256 = "1fjc3b4czlndd1nfn5n2zwlx51xhxcxiysjipfhnbbqhpy4sqfbg";
     };
     meta.homepage = "https://github.com/ggandor/leap.nvim/";
   };
 
   legendary-nvim = buildVimPluginFrom2Nix {
     pname = "legendary.nvim";
-    version = "2023-02-16";
+    version = "2023-03-15";
     src = fetchFromGitHub {
       owner = "mrjones2014";
       repo = "legendary.nvim";
-      rev = "9e38951df410c6d65fa2b932832d201d7cd6ca62";
-      sha256 = "14sw0xaf7qr9896hcl9vb5ivmc6w15p1np0gqnyhjqbmcqj20yp8";
+      rev = "6a80114cc2014383e761531cdfc03c8e2920e0ba";
+      sha256 = "189yhb73mm3kwkm854xfcv1pxxva7j8nfcjb2l2dr139nbhvpw3v";
     };
     meta.homepage = "https://github.com/mrjones2014/legendary.nvim/";
   };
@@ -4403,12 +4415,12 @@ final: prev:
 
   lightline-lsp = buildVimPluginFrom2Nix {
     pname = "lightline-lsp";
-    version = "2022-01-09";
+    version = "2023-03-15";
     src = fetchFromGitHub {
       owner = "spywhere";
       repo = "lightline-lsp";
-      rev = "78a8f6880c1d979b7c682e1b37299d970506f480";
-      sha256 = "00zkpri1pi6r0m0v91361zixqsfrf05hyml61k4s0i3yabfv84w8";
+      rev = "4f5d42a7320cd2444a444df4b57529c4f921e4a2";
+      sha256 = "0arqc2az6cy4qg3fmr6dyzmd2a985cv2df0h7cckp5aar11f0pmi";
     };
     meta.homepage = "https://github.com/spywhere/lightline-lsp/";
   };
@@ -4619,12 +4631,12 @@ final: prev:
 
   lsp-zero-nvim = buildVimPluginFrom2Nix {
     pname = "lsp-zero.nvim";
-    version = "2023-03-11";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "VonHeikemen";
       repo = "lsp-zero.nvim";
-      rev = "63951c8f9701871abd6858d26f3bcc6b99ce5c74";
-      sha256 = "09wmdrv0npkwnh8zzz0fkvn505q1rl011jr1dphiap09nhaqvrvc";
+      rev = "81ddfbae430f374769e18ac6207a6f0834816d97";
+      sha256 = "1hixlk15ri1fayi80df9ll631gab687g422z2v6nc4bd0jl4lf7k";
     };
     meta.homepage = "https://github.com/VonHeikemen/lsp-zero.nvim/";
   };
@@ -4643,11 +4655,11 @@ final: prev:
 
   lsp_lines-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_lines.nvim";
-    version = "2022-11-16";
+    version = "2023-03-16";
     src = fetchgit {
       url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim";
-      rev = "ec98b45c8280e5ef8c84028d4f38aa447276c002";
-      sha256 = "0xwbhznwbs6bshp1l501caymdcs486apn4rx4p9vnryrxdzc4chy";
+      rev = "dcff567b3a2d730f31b6da229ca3bb40640ec5a6";
+      sha256 = "0p5p5l2vcdyjmazg8vyj9s5if87kij80klfpv4irqc2z13r6sy92";
     };
     meta.homepage = "https://git.sr.ht/~whynothugo/lsp_lines.nvim";
   };
@@ -4730,8 +4742,8 @@ final: prev:
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "54e06334a440b476fcc184fcf555cfd4ad9110c0";
-      sha256 = "1pl7rndvvgy143aj6xc4znihp7c8skx790kah5ww94cq4mk2x6zs";
+      rev = "a835e3d680c5940b61780c6af07885db95382478";
+      sha256 = "0rwwan01b7z5q41b7kxq655z4q450jpyryf02yi5yy85w3yc477w";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
@@ -4751,12 +4763,12 @@ final: prev:
 
   lush-nvim = buildNeovimPluginFrom2Nix {
     pname = "lush.nvim";
-    version = "2023-03-09";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "lush.nvim";
-      rev = "62180850d230e1650fe5543048bb15c4452916d6";
-      sha256 = "1c6iw967vba4gqrbs4ki4p980avsjg0dk8kklxz26994x7y9bza0";
+      rev = "a9eefbdc97d1b3f8f38d11700553d0fea2ad8f5b";
+      sha256 = "1hawb671p66lfphmmksdagrpjrzri45wrmn1drc22bp9cib2vixy";
     };
     meta.homepage = "https://github.com/rktjmp/lush.nvim/";
   };
@@ -4773,6 +4785,30 @@ final: prev:
     meta.homepage = "https://github.com/mkasa/lushtags/";
   };
 
+  magma-nvim-goose = buildVimPluginFrom2Nix {
+    pname = "magma-nvim-goose";
+    version = "2023-03-13";
+    src = fetchFromGitHub {
+      owner = "WhiteBlackGoose";
+      repo = "magma-nvim-goose";
+      rev = "5d916c39c1852e09fcd39eab174b8e5bbdb25f8f";
+      sha256 = "10d6dh0czdpgfpzqs5vzxfffkm0460qjzi2mfkacgghqf3iwkbja";
+    };
+    meta.homepage = "https://github.com/WhiteBlackGoose/magma-nvim-goose/";
+  };
+
+  mark-radar-nvim = buildVimPluginFrom2Nix {
+    pname = "mark-radar.nvim";
+    version = "2021-06-22";
+    src = fetchFromGitHub {
+      owner = "winston0410";
+      repo = "mark-radar.nvim";
+      rev = "d7fb84a670795a5b36b18a5b59afd1d3865cbec7";
+      sha256 = "1y3l2c7h8czhw0b5m25iyjdyy0p4nqk4a3bxv583m72hn4ac8rz9";
+    };
+    meta.homepage = "https://github.com/winston0410/mark-radar.nvim/";
+  };
+
   markdown-preview-nvim = buildVimPluginFrom2Nix {
     pname = "markdown-preview.nvim";
     version = "2022-05-13";
@@ -4799,12 +4835,12 @@ final: prev:
 
   mason-lspconfig-nvim = buildVimPluginFrom2Nix {
     pname = "mason-lspconfig.nvim";
-    version = "2023-03-12";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "williamboman";
       repo = "mason-lspconfig.nvim";
-      rev = "a81503f0019942111fe464209237f8b4e85f4687";
-      sha256 = "0cc6yb5nb9nf27dp6dzrk8ynzbzsjg0qxsagggiv1w6bk8npgj24";
+      rev = "2b811031febe5f743e07305738181ff367e1e452";
+      sha256 = "11b2rf3wb1mdkcsfkgikm8x2yryrdv659bh9yq8b2cic9g9p64a0";
     };
     meta.homepage = "https://github.com/williamboman/mason-lspconfig.nvim/";
   };
@@ -4823,12 +4859,12 @@ final: prev:
 
   mason-nvim = buildVimPluginFrom2Nix {
     pname = "mason.nvim";
-    version = "2023-03-13";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "williamboman";
       repo = "mason.nvim";
-      rev = "10ff879fc56160e10437da5c1ca558371ddb6989";
-      sha256 = "16m8iaikbfhff80f0yil330r7b0fcar346fkf1w8spkv6kj3qy3b";
+      rev = "a192887fd0c29275cf2acb4a83bcbdf63399f8df";
+      sha256 = "0vqr4sm49x0mcd250mc39nsax49dlzyx9al8nkbxc5k881w4f93f";
     };
     meta.homepage = "https://github.com/williamboman/mason.nvim/";
   };
@@ -4895,12 +4931,12 @@ final: prev:
 
   mini-nvim = buildVimPluginFrom2Nix {
     pname = "mini.nvim";
-    version = "2023-03-13";
+    version = "2023-03-14";
     src = fetchFromGitHub {
       owner = "echasnovski";
       repo = "mini.nvim";
-      rev = "59d743370aa623ba2c5c1e48f3718058b13ec7b6";
-      sha256 = "1zivc2pwr2k6ixqc8p86cf3ql0p2pf2nd7lvkhwj3904pkyfxk3h";
+      rev = "41023bb1de7e8cf973ae9cf3066e01f3c8f3617d";
+      sha256 = "1z56qwksk5pfynch8ygi3qygv0hg0y80vc88asnxzn322iviyn34";
     };
     meta.homepage = "https://github.com/echasnovski/mini.nvim/";
   };
@@ -5231,12 +5267,12 @@ final: prev:
 
   neo-tree-nvim = buildVimPluginFrom2Nix {
     pname = "neo-tree.nvim";
-    version = "2023-03-12";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "nvim-neo-tree";
       repo = "neo-tree.nvim";
-      rev = "205184aa0e0f08e8a1249d9bb37b45bae85f01b9";
-      sha256 = "166mgm7k7as2jppfw9x0mr64ynxqvkd4rbaq0hwbpq30najl2jlm";
+      rev = "20c2f2f5ba083bbb1e37b8bc3d590621434f31e9";
+      sha256 = "11pvzz75j0admflcinm0dxk0h92x17jayhk55x17ai2jppv8q4gb";
     };
     meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/";
   };
@@ -5255,12 +5291,12 @@ final: prev:
 
   neoconf-nvim = buildVimPluginFrom2Nix {
     pname = "neoconf.nvim";
-    version = "2023-03-13";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neoconf.nvim";
-      rev = "48178e12a8b722f36ca9f0e8ff0a5487b45de493";
-      sha256 = "03lnz99vg21qpraca8y6bkbmy1m04x5idxgxlad1y4gf9a6x1cag";
+      rev = "bc531ca41ba55d87416b4b3ade606ff81236389b";
+      sha256 = "129dbq4dgqpyab66iqbpkfndlsbx84i8s6z8b08gavq35nrq81qc";
     };
     meta.homepage = "https://github.com/folke/neoconf.nvim/";
   };
@@ -5279,24 +5315,24 @@ final: prev:
 
   neodev-nvim = buildVimPluginFrom2Nix {
     pname = "neodev.nvim";
-    version = "2023-03-13";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "neodev.nvim";
-      rev = "abdc346ff59c414698de551f876bcf3f223ed224";
-      sha256 = "0vvhay3addl5pp48k2qifj88dimkspajx4am5lypiwifgq1gnjqk";
+      rev = "0a8e312923671e78499b2e204f0f678379ba92c1";
+      sha256 = "1n9l21dcwh2g5rps7kn761qbmdy822q67djlgrlmd9gml45s0klz";
     };
     meta.homepage = "https://github.com/folke/neodev.nvim/";
   };
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2023-02-26";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "891fad5829f91cbc3d0866f7abd028d233b8763e";
-      sha256 = "0288iqk9rymsql0qnr9093qpadcwiqbd88grq25vkygs33czbif6";
+      rev = "ae79cb838b8ed106a083370f3eb3da88ce834c69";
+      sha256 = "04d85969zmklmylf3bk68wi1ivcn0icx96f7r7g49cf7xwrr2vm7";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
@@ -5315,12 +5351,12 @@ final: prev:
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2023-03-08";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "TimUntersberger";
       repo = "neogit";
-      rev = "c4068a22a60981f1bedd9672cdad34b79411ed7a";
-      sha256 = "14nbmjvkq61plw5sc360ppnlf2qhsrxh5znjwjbi5kij9ky8p7ch";
+      rev = "039ff3212ec43cc4d3332956dfb54e263c8d5033";
+      sha256 = "17a6lpqv99b89g7kakbzw97hpkqmw729if4j8gq8svza3fjcq2pg";
     };
     meta.homepage = "https://github.com/TimUntersberger/neogit/";
   };
@@ -5375,12 +5411,12 @@ final: prev:
 
   neorg = buildVimPluginFrom2Nix {
     pname = "neorg";
-    version = "2023-03-10";
+    version = "2023-03-13";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "c2680e67a0aeeb9b0ef6f4d008228de63d14e46b";
-      sha256 = "1hsz1yg2z498x8vsk8k4bvx0hxjj2s4hhvcd34dln7v2539pz5sk";
+      rev = "532548b9f444bd1ae6f2efd3edd842282cc79659";
+      sha256 = "1c7i1bkzwh3swq702cl31pm2h8cwj6lh5bm8bwdaz64pz5pz9f61";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
@@ -5439,20 +5475,20 @@ final: prev:
     src = fetchFromGitHub {
       owner = "nvim-neotest";
       repo = "neotest";
-      rev = "631a7ccc7072fdc76e3597c2fc8030faf35771d1";
-      sha256 = "14vvs18g7cy8amvy6pnq5342ryvx5h1s5078ml6ql2y04avhs1xa";
+      rev = "bbbfa55d850f1aaa6707ea85fb5230ac866459c6";
+      sha256 = "1ymij3src1jdsx4zfjz0hgyqq5zp2rp17lqpl3dbabibwd4k9cnp";
     };
     meta.homepage = "https://github.com/nvim-neotest/neotest/";
   };
 
   neotest-haskell = buildVimPluginFrom2Nix {
     pname = "neotest-haskell";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "MrcJkb";
       repo = "neotest-haskell";
-      rev = "072f6fec596869b6cc5f58e86ef1ffd4d40135c4";
-      sha256 = "1c9nmxcrlyf0qd027rdg5zhxpic8pkks7mqipkq86c23l3jyq483";
+      rev = "ac8906a04536f3c175e5923d2370e1e3689cfc42";
+      sha256 = "1plg50ksw57459r3bjgi3nykbkaiw1yan0r6lhlpaa20jpmn1x7m";
     };
     meta.homepage = "https://github.com/MrcJkb/neotest-haskell/";
   };
@@ -5541,6 +5577,18 @@ final: prev:
     meta.homepage = "https://github.com/Xuyuanp/nerdtree-git-plugin/";
   };
 
+  netman-nvim = buildVimPluginFrom2Nix {
+    pname = "netman.nvim";
+    version = "2023-03-03";
+    src = fetchFromGitHub {
+      owner = "miversen33";
+      repo = "netman.nvim";
+      rev = "1ef50efcbe88f8293e97946af37243a20873bb1c";
+      sha256 = "16vc6ly4l9b9xkwkwb2j7q21kg26c7drdz97hgkbdzwfb66w2651";
+    };
+    meta.homepage = "https://github.com/miversen33/netman.nvim/";
+  };
+
   neuron-nvim = buildVimPluginFrom2Nix {
     pname = "neuron.nvim";
     version = "2022-02-27";
@@ -5583,8 +5631,8 @@ final: prev:
     src = fetchFromGitHub {
       owner = "EdenEast";
       repo = "nightfox.nvim";
-      rev = "8bb6713c56458aae339575b205234d820ec2046a";
-      sha256 = "1895g32d00wgnfnj5r29q01ir0kgl3psa4bpwpqy6v4jzq45xz6g";
+      rev = "53cdaa583138698f4a0a4a9d2abaf761c8960407";
+      sha256 = "0hhfaa5pq9c52qa92fzwan7lx3qf7ym0kwsm4vzf28m86vrzfrlv";
     };
     meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
   };
@@ -5603,24 +5651,24 @@ final: prev:
 
   nix-develop-nvim = buildVimPluginFrom2Nix {
     pname = "nix-develop.nvim";
-    version = "2023-03-12";
+    version = "2023-03-14";
     src = fetchFromGitHub {
       owner = "figsoda";
       repo = "nix-develop.nvim";
-      rev = "c66642813d1e31a6d133d78ecf964404e15a89fc";
-      sha256 = "03qys9038ybc9062w5imdmrs6dlnbp1asggd5czzw7zccvw42db0";
+      rev = "d39ad7cdbafcd171b130d3ed235bd0de395f9078";
+      sha256 = "06wwbka1l43zjj87jjpl07m9fhvym1ygfvm896lypi0jicw3w0cr";
     };
     meta.homepage = "https://github.com/figsoda/nix-develop.nvim/";
   };
 
   nlsp-settings-nvim = buildVimPluginFrom2Nix {
     pname = "nlsp-settings.nvim";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "tamago324";
       repo = "nlsp-settings.nvim";
-      rev = "9d8dae1a780432e2bf6984515a77cc25697e45ae";
-      sha256 = "1wygxab1sqinnnh527w1llcv1bb9qydns6w9vvh9bsbag7a9wgs6";
+      rev = "d720836cb35bda8134cba3545516d9e7bee56c7d";
+      sha256 = "0nlz3zqm0dz82ddam81fap0yn4pxbal5ah2cqqh1qf1lv0sj1kb9";
     };
     meta.homepage = "https://github.com/tamago324/nlsp-settings.nvim/";
   };
@@ -5651,24 +5699,24 @@ final: prev:
 
   no-neck-pain-nvim = buildVimPluginFrom2Nix {
     pname = "no-neck-pain.nvim";
-    version = "2023-03-05";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "shortcuts";
       repo = "no-neck-pain.nvim";
-      rev = "1e46896d9096a878355cc5163624f4ae9217c5d6";
-      sha256 = "06lkkpp2ax5llxzwyrz79y3jnm27d0nhb1id54fn4dhh1w79yx31";
+      rev = "d9be19ad02edb98fc7f47f407415bf1285c43811";
+      sha256 = "06vanvv99x5kk9rx3gljaa58hak2chsz6rbi758igp04mwpkabjg";
     };
     meta.homepage = "https://github.com/shortcuts/no-neck-pain.nvim/";
   };
 
   noice-nvim = buildVimPluginFrom2Nix {
     pname = "noice.nvim";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "noice.nvim";
-      rev = "e2a04d480a9fba6b698c01998582ea17aa213ba3";
-      sha256 = "0m4iz32zr3mw8b7mdfqcrvz53xzsrf0dz17xw67knyia85m4h9l5";
+      rev = "92b058ad183fccd3b970f03ae49094596a6c735b";
+      sha256 = "0k6nl575m3kfq4xls12kr0zpq924q58y8qp4y034xzfzvbibim8n";
     };
     meta.homepage = "https://github.com/folke/noice.nvim/";
   };
@@ -5723,12 +5771,12 @@ final: prev:
 
   null-ls-nvim = buildVimPluginFrom2Nix {
     pname = "null-ls.nvim";
-    version = "2023-03-12";
+    version = "2023-03-17";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "09e99259f4cdd929e7fb5487bf9d92426ccf7cc1";
-      sha256 = "05py2p82srijkvrr5nc8393v25hdgdgiqmnsy5qiiab82qkyvhhj";
+      rev = "456a983ce9843123e51b955f50925077ca7207d5";
+      sha256 = "1w3mfkx6va981sykv33b2amzfnx0whh8qpj9jkgib9hnv5iw10j8";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
@@ -5855,12 +5903,12 @@ final: prev:
 
   nvim-cmp = buildNeovimPluginFrom2Nix {
     pname = "nvim-cmp";
-    version = "2023-03-05";
+    version = "2023-03-17";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a";
-      sha256 = "0rx3k5wj5fx6s6chg0cpj85cdii9kmqn0yknsvl82gnv4nc480dc";
+      rev = "777450fd0ae289463a14481673e26246b5e38bf2";
+      sha256 = "0a8jj0frf2rb7dwx35157kp4iaiij2ad0azicw3i11bb4qicd08a";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -5963,12 +6011,12 @@ final: prev:
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2023-03-08";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "73196075627a4f079c62b0dd4aff8ce0a1b7cf57";
-      sha256 = "0xpg446ww6xyxwypfzcfkqfmj068xmjjrxlyqw54mnlwy3wy6fmb";
+      rev = "7e81998e31277c7a33b6c34423640900c5c2c776";
+      sha256 = "0alv7kcdrvr82awh834yy7nxf7dnfwqhmpi6q23b32h76h5gm740";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
@@ -6095,12 +6143,12 @@ final: prev:
 
   nvim-highlite = buildVimPluginFrom2Nix {
     pname = "nvim-highlite";
-    version = "2023-03-11";
+    version = "2023-03-13";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "9cce41f5b760ab98bb2c2b0b8a6daf353ec1bb43";
-      sha256 = "0wm61s1w25inx9spy8cdif1iwmcdijjiy0j8yiywld3q7ixvdbqq";
+      rev = "66883ed6de7dccd6a7d3dbfd9116f4bd440440d5";
+      sha256 = "0q6gdb9z5fdrr9vq8ilyzfs5a0l1pwryvrlyfrswpasj3x1vlcg0";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
@@ -6131,12 +6179,12 @@ final: prev:
 
   nvim-jdtls = buildVimPluginFrom2Nix {
     pname = "nvim-jdtls";
-    version = "2023-03-10";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "9fcc9495b5d03f8d50e4af936fd0f905f045a6c2";
-      sha256 = "00j52k5qx8lr5z2hbhb6lz1acp8si8a4xwb4kj6v7g58a9ikbdsn";
+      rev = "34202bc141620858159616ff79bd8a3c48c34214";
+      sha256 = "1ia9vizq59rwb99cf6jhhq1jhxrrzk85ysxvgwf37c0f9vbivvpw";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -6215,12 +6263,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2023-03-10";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "4bb0f1845c5cc6465aecedc773fc2d619fcd8faf";
-      sha256 = "1p014wf031wnh195jd13sxbhdcxx3z2a8d95i6fv2rqvwlhzh3yq";
+      rev = "736c39e4bab977f0171c78328415c6402c58e64a";
+      sha256 = "1079bdrnrlw4qkpibpnkznkpnih71r8zxl2s47ad8hvvr586k9ld";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -6243,8 +6291,8 @@ final: prev:
     src = fetchFromGitHub {
       owner = "bfredl";
       repo = "nvim-luadev";
-      rev = "395b7cf3af3e543332c74e883c33eb52364b0b4f";
-      sha256 = "0fxx7gn184l00hrskhcsr9dr39r4bwdkn9h5r2g79qp64i0cqmsh";
+      rev = "3ba0c02c378503739f1fdb95cff3ea2aad48db3e";
+      sha256 = "0pvb25bdmx4hxs3g7pkdqfjg3qpnr9p5szzbqqwaw3lbdnbyykzy";
     };
     meta.homepage = "https://github.com/bfredl/nvim-luadev/";
   };
@@ -6263,12 +6311,12 @@ final: prev:
 
   nvim-metals = buildVimPluginFrom2Nix {
     pname = "nvim-metals";
-    version = "2023-03-03";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "scalameta";
       repo = "nvim-metals";
-      rev = "0da75dcb1fdea2e7f3ae6c7b1f1036243fbd66a9";
-      sha256 = "1javf9in4vjf8jb8vjyi7hq2rz3yn1alsr1vr335k6byx7d7zxdx";
+      rev = "51e88e4f5eeadbd92a75cae71c5cbb75f3cb6765";
+      sha256 = "0lq4dl92wvnql9i5c8kbfja4jzzlzps0v6nmpy7qalrxhfp5gyn2";
     };
     meta.homepage = "https://github.com/scalameta/nvim-metals/";
   };
@@ -6287,12 +6335,12 @@ final: prev:
 
   nvim-navic = buildVimPluginFrom2Nix {
     pname = "nvim-navic";
-    version = "2023-03-04";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "smiteshp";
       repo = "nvim-navic";
-      rev = "cdd24539bcf114a499827e9b32869fe74836efe7";
-      sha256 = "1iwpfls99mibmp8s2zw21hngvhqhnj6v03ddrv17qd2pwgdaarm4";
+      rev = "f1ffbc3f5736add66c31e02f4c53d238e040600b";
+      sha256 = "0djb5n86ypd94gb06fgf7p25sina1xfrnb7894v4pga9fc1fl4fp";
     };
     meta.homepage = "https://github.com/smiteshp/nvim-navic/";
   };
@@ -6323,12 +6371,12 @@ final: prev:
 
   nvim-notify = buildVimPluginFrom2Nix {
     pname = "nvim-notify";
-    version = "2023-03-04";
+    version = "2023-03-14";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-notify";
-      rev = "281e4d793c550c866bea3fb85d39de1f0188fb50";
-      sha256 = "0zdjhbyi2hg4cincnykp2xdhqzcg9213vyim5lrwqaj0wwvlakyw";
+      rev = "02047199e2752223c77c624160f720ca227944a9";
+      sha256 = "0rsykf1w0ra2xpxzcfy8l41r0h7d2nyj5r1hmzz6766x0pmpaw5i";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-notify/";
   };
@@ -6383,12 +6431,12 @@ final: prev:
 
   nvim-scrollbar = buildVimPluginFrom2Nix {
     pname = "nvim-scrollbar";
-    version = "2023-02-13";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "petertriho";
       repo = "nvim-scrollbar";
-      rev = "75210c554e935740448cfb532d8a671ae544bb1b";
-      sha256 = "03wv5bswh3mm0ci5qdqgvxknwx3pd7qsxygyl9jdnffiwgw3qdb5";
+      rev = "f85b29805cf917f9b1d5ff0c9a52c5b1bdca5943";
+      sha256 = "1n9vn7q802pnrp7ghww8racx8jcylf0m99lj8hv37f565ddddnim";
     };
     meta.homepage = "https://github.com/petertriho/nvim-scrollbar/";
   };
@@ -6431,24 +6479,24 @@ final: prev:
 
   nvim-spectre = buildVimPluginFrom2Nix {
     pname = "nvim-spectre";
-    version = "2023-02-24";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "nvim-pack";
       repo = "nvim-spectre";
-      rev = "b71b64afe9fedbfdd25a8abec897ff4af3bd553a";
-      sha256 = "0qbfjzmwfl70fahsi6g0vcdx03znfmzwp6wxqry6h141f62xv6vb";
+      rev = "2d7d23c1122bb2589880236e932d373933b07937";
+      sha256 = "0wjnq69ygnsqn1nh31gy4rqv3k9mxk787aknai5w47iclq0rdjhb";
     };
     meta.homepage = "https://github.com/nvim-pack/nvim-spectre/";
   };
 
   nvim-surround = buildVimPluginFrom2Nix {
     pname = "nvim-surround";
-    version = "2023-03-11";
+    version = "2023-03-15";
     src = fetchFromGitHub {
       owner = "kylechui";
       repo = "nvim-surround";
-      rev = "177c95c12542cf20a422b19a87ba1ae80254445a";
-      sha256 = "0rzq7xyhrmxd8pms72vx0kr5r3wh689ccn1pdyc8n63q6akiffn1";
+      rev = "2de4bf5a39d4df02aafb8fd038feac9337778acf";
+      sha256 = "06149bf5w6cc125pf0hdm7yacfqqzwzdwraka0062c2mxqml2w0k";
     };
     meta.homepage = "https://github.com/kylechui/nvim-surround/";
   };
@@ -6479,48 +6527,48 @@ final: prev:
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree.lua";
-    version = "2023-03-13";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-tree.lua";
-      rev = "fe980baa945100d92f77fe55e2ca113cae1b1bd3";
-      sha256 = "12kkn975dj634yix140qjrx4n5dbx6ga50clgbrik74gmq07nj1d";
+      rev = "a50723e35f57f89fb67019127a16d90f16edfef8";
+      sha256 = "0k7q6isrnk9qqymiz5vzkspq5ff5m4bkb66ayn8bsp6v7qdrkzyz";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2023-03-13";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "834f1dcb8736c82b1269227b4bfe830310b5b6a1";
-      sha256 = "1gdlypc4qkxh7fghac12562l54hzwlyq74y4p3gsvqzf49m0s9w3";
+      rev = "25b656a4b771ee7d440e506280b9ae546d6f7233";
+      sha256 = "02qg57wkrg2if1kbailyy2qw84c1wfa9rmv8cv8ljzxfqhf9f380";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
 
   nvim-treesitter-context = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-context";
-    version = "2023-03-13";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-context";
-      rev = "cb6252b00d19c8b57e8e66de19a601df28455dd1";
-      sha256 = "06i741381w7hah0mlgg23hrlb57k3qvibgpnncqiw5c17mas01a6";
+      rev = "446a463500ea2ee22c9b44f059b1117997f5aaeb";
+      sha256 = "0l6jwqg6i0z5w0q3z7956rc3wc3w2h320237clvxvkq3brf33f0a";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/";
   };
 
   nvim-treesitter-pyfold = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-pyfold";
-    version = "2023-03-11";
+    version = "2023-03-15";
     src = fetchFromGitHub {
       owner = "eddiebergman";
       repo = "nvim-treesitter-pyfold";
-      rev = "af8c9ef24caad5e4a57f89ae06102ea1bad64e02";
-      sha256 = "0s6dgiwzyycycjd8bx434ki2qrhnyl1rahnbijjj79hd5wgzms7l";
+      rev = "77ee666a066bf1b77d2c727da85bd7868e6775e7";
+      sha256 = "19bci2kd0k0dcj9vvflf029zhgz4ib95xxacc9hhsfgv6ap4bf5a";
     };
     meta.homepage = "https://github.com/eddiebergman/nvim-treesitter-pyfold/";
   };
@@ -6539,24 +6587,24 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "5b2bcb9ca8315879181f468b37a897100d631005";
-      sha256 = "0ij8jgvhyqrlw077296dx9ck0agjdd2p5r5fiizsvxrwv0jc6ikj";
+      rev = "582cbb5a4cb50f6161cac8cc01f55aeaff6d836a";
+      sha256 = "11dm8vyxsy1b7c93f8gx5n6x4qf86b821myqaa09k1g761skrsvz";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
 
   nvim-ts-autotag = buildVimPluginFrom2Nix {
     pname = "nvim-ts-autotag";
-    version = "2022-08-11";
+    version = "2023-03-17";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-ts-autotag";
-      rev = "fdefe46c6807441460f11f11a167a2baf8e4534b";
-      sha256 = "0cwz18risvkgwr3ppc2vqs6rk94kgra4vmhswn4699fnsmha5lcn";
+      rev = "25698e4033cd6cd3745454bfc837dd670eba0480";
+      sha256 = "065j0188x7j72sz14i3i7q0vxfjbl5xz3566nybghcnqmksp9m2w";
     };
     meta.homepage = "https://github.com/windwp/nvim-ts-autotag/";
   };
@@ -6587,11 +6635,11 @@ final: prev:
 
   nvim-ts-rainbow2 = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow2";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchgit {
       url = "https://gitlab.com/HiPhish/nvim-ts-rainbow2";
-      rev = "7711a873d1f16a9f3049715b63cdd71973108871";
-      sha256 = "0kwx3mcs3l56hvr1c0fapfdggfjg25z7nyxvn8v5ch087zfm5kjy";
+      rev = "742049ef6716f59c7202644a026d8dc09fc60c52";
+      sha256 = "1d5p5w3vsz9pajdz4j2wmfv5nkv4bdhp084h5lhh58z0vcj62z1m";
     };
     meta.homepage = "https://gitlab.com/HiPhish/nvim-ts-rainbow2";
   };
@@ -6610,12 +6658,12 @@ final: prev:
 
   nvim-web-devicons = buildVimPluginFrom2Nix {
     pname = "nvim-web-devicons";
-    version = "2023-03-13";
+    version = "2023-03-20";
     src = fetchFromGitHub {
       owner = "nvim-tree";
       repo = "nvim-web-devicons";
-      rev = "b8d0c99578dcb9d084a45ca4b3a4a502712c2741";
-      sha256 = "1mm33s20x4mrxjzxacal2fjxjyqwc3rnbj1f7zvi4ml00wcwiaps";
+      rev = "467d135bbefa6fbe8380c8b6498228f8b21244a6";
+      sha256 = "0818nwd132cxlnrwx086z15b7m7845b7rfh0wypl51hszkqbz6p3";
     };
     meta.homepage = "https://github.com/nvim-tree/nvim-web-devicons/";
   };
@@ -6694,24 +6742,24 @@ final: prev:
 
   octo-nvim = buildVimPluginFrom2Nix {
     pname = "octo.nvim";
-    version = "2023-03-01";
+    version = "2023-03-14";
     src = fetchFromGitHub {
       owner = "pwntester";
       repo = "octo.nvim";
-      rev = "ab5dbe20dc276348019676e5c3e97cb391e46b1b";
-      sha256 = "0w463ylm4x09qxxwmi6rq98bdnra28p3izrqmcjrh87j44qrbhvh";
+      rev = "91a87271552828a499c2ddcc6a3e36f09f38c1d3";
+      sha256 = "1ckwj2d9kkqna7vf4rr1vaba6lc3kya39ncp948idqrzz5g672ym";
     };
     meta.homepage = "https://github.com/pwntester/octo.nvim/";
   };
 
   oil-nvim = buildVimPluginFrom2Nix {
     pname = "oil.nvim";
-    version = "2023-03-13";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "oil.nvim";
-      rev = "383971b0cfd8248ec3d00d4a3154d69ebd5e394e";
-      sha256 = "149lcp5pjyw976r1a83mxfgz75kfnrb5nknqynjqlla191z13ddv";
+      rev = "08c4b71ef156329aafc4e6741b9c47b06255dde4";
+      sha256 = "0z7qmgkqvracdwmccyk2cgaqjaxizv8wjwp8j26ad6ja7zpbplhb";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/stevearc/oil.nvim/";
@@ -6767,12 +6815,12 @@ final: prev:
 
   onedarkpro-nvim = buildVimPluginFrom2Nix {
     pname = "onedarkpro.nvim";
-    version = "2023-03-12";
+    version = "2023-03-17";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedarkpro.nvim";
-      rev = "61cfeceb812ab2c616c3267090e38d0be00d0564";
-      sha256 = "0zpb4h4mx1xp0d68cl2ywd1w27ww6p5fh6xr68m9hj58gmpa5saj";
+      rev = "a43138792c23e3f56399666049dd57afb61706ae";
+      sha256 = "1zi2bbnp3zjvfral8wwq79c7syr5jlmkcrkf715kxs4h0zbmpb6m";
     };
     meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
   };
@@ -6825,26 +6873,38 @@ final: prev:
     meta.homepage = "https://github.com/tyru/open-browser.vim/";
   };
 
+  openscad-nvim = buildVimPluginFrom2Nix {
+    pname = "openscad.nvim";
+    version = "2022-04-15";
+    src = fetchFromGitHub {
+      owner = "salkin-mada";
+      repo = "openscad.nvim";
+      rev = "197ca5ea7ca53702c453f862e7f4734b51c7023e";
+      sha256 = "1f0xd9gaacg7avrnsyigal4iz8645z50fgpwjfxis9nrjlia7h73";
+    };
+    meta.homepage = "https://github.com/salkin-mada/openscad.nvim/";
+  };
+
   orgmode = buildVimPluginFrom2Nix {
     pname = "orgmode";
-    version = "2023-03-11";
+    version = "2023-03-17";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "c54f6591121d2c331ad12b4251974054332fbe36";
-      sha256 = "0gc5zjcvffklc1phcnk6gv9pspnbjvjrpqs9hpkfqnbly65mdvh4";
+      rev = "1323b7c20b2fb4d70fd1cd5f85fa5d0fa7ae30e9";
+      sha256 = "15vvmn8ypwbkdh9cl5vwpqck2f5dqslya9sm8ywpd6kxkn64740b";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
 
   oxocarbon-nvim = buildVimPluginFrom2Nix {
     pname = "oxocarbon.nvim";
-    version = "2023-03-10";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "nyoom-engineering";
       repo = "oxocarbon.nvim";
-      rev = "dd29f538e6cfa0827896a4078db97119a8ca5c5e";
-      sha256 = "0qv3461n1cwggw33q3wrw4sy90rplqyp6xbgk2m7gsvvqf2i6yaw";
+      rev = "84c8563d608b7ecbf7b4fd3b4828e1a087cb39d9";
+      sha256 = "1i6msmal2krd7rbfdqk849y9lp3sfjmdk1bmk7d0axx2fq3jyfvf";
     };
     meta.homepage = "https://github.com/nyoom-engineering/oxocarbon.nvim/";
   };
@@ -6923,12 +6983,12 @@ final: prev:
 
   persistence-nvim = buildVimPluginFrom2Nix {
     pname = "persistence.nvim";
-    version = "2023-02-28";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "persistence.nvim";
-      rev = "adcf6913693a0434665d162ee45a186230496f8a";
-      sha256 = "1fx713swa6138mpmqgpc6lf7nvm4j7nm6fr8zwpgqn6dv71jdhxd";
+      rev = "c814fae5c37aa0aba9cd9da05df6e52b88d612c3";
+      sha256 = "19ifa6y24p15fl7vw1s3h28byqa6sn0kpafc0bv1wswzgiqljc92";
     };
     meta.homepage = "https://github.com/folke/persistence.nvim/";
   };
@@ -7177,12 +7237,12 @@ final: prev:
 
   quick-scope = buildVimPluginFrom2Nix {
     pname = "quick-scope";
-    version = "2022-05-27";
+    version = "2023-03-14";
     src = fetchFromGitHub {
       owner = "unblevable";
       repo = "quick-scope";
-      rev = "428e8698347f254d24b248af9f656194a80081e5";
-      sha256 = "0vindr83v4q26a7jxfwk87vpl1kymsh6cclhvpkmb6cpq0iv3yii";
+      rev = "a147fe0b180479249a6770eac332e2cd8f35b673";
+      sha256 = "1dwhf8xk117vr95jwsw9i91nx15fdplw5h0bd9p2bdxmjp6s64q8";
     };
     meta.homepage = "https://github.com/unblevable/quick-scope/";
   };
@@ -7512,15 +7572,15 @@ final: prev:
   };
 
   searchbox-nvim = buildVimPluginFrom2Nix {
-    pname = "searchbox-nvim";
-    version = "2022-11-01";
+    pname = "searchbox.nvim";
+    version = "2022-10-31";
     src = fetchFromGitHub {
       owner = "VonHeikemen";
       repo = "searchbox.nvim";
       rev = "110949af8963185b4e732b45ae57beb731bfcede";
-      hash = "sha256-Bx4Msp96hlcYVDvDC3gBv78zmde0T5XacxgiZt+LULU=";
+      sha256 = "1dahiggnc8hqfgd9akxlsyck7gxz05w0phrvahc5g1kskyr0q7h7";
     };
-    meta.homepage = "https://github.com/VonHeikemen/searchbox.nvim";
+    meta.homepage = "https://github.com/VonHeikemen/searchbox.nvim/";
   };
 
   securemodelines = buildVimPluginFrom2Nix {
@@ -7585,14 +7645,14 @@ final: prev:
 
   sg-nvim = buildVimPluginFrom2Nix {
     pname = "sg.nvim";
-    version = "2023-01-30";
+    version = "2023-03-18";
     src = fetchFromGitHub {
-      owner = "tjdevries";
+      owner = "sourcegraph";
       repo = "sg.nvim";
-      rev = "c5e4ab788efeec9453706a4489bcaeaa867aeeb3";
-      sha256 = "1yd006gykkxddr57mc0mpfqc817akaaaj2cabih9gbdsm7qy131p";
+      rev = "7d198a86b2f4fceafa195aafe2bc7425d196eff1";
+      sha256 = "0zgyz1w9s6yfkcc1dgxsp8svshnfxlxhpiplrsqc4j30ph0kb3nh";
     };
-    meta.homepage = "https://github.com/tjdevries/sg.nvim/";
+    meta.homepage = "https://github.com/sourcegraph/sg.nvim/";
   };
 
   shabadou-vim = buildVimPluginFrom2Nix {
@@ -7730,12 +7790,12 @@ final: prev:
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2023-02-27";
+    version = "2023-03-14";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "296f7fa3432f7d9b55b27ad0023f8824701cfec4";
-      sha256 = "01ba785c8bc8ya6nf2xa2xlc96ls2rpga4nxlspykj6lncjpmql1";
+      rev = "be321c982bf109b182fb38af2302da838fcaaa02";
+      sha256 = "05i01pqcp68ba9z9pcx2nkr6f8b9ilf5nvjnvgw1h037sv576kg1";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -7863,12 +7923,12 @@ final: prev:
 
   sqlite-lua = buildVimPluginFrom2Nix {
     pname = "sqlite.lua";
-    version = "2023-03-07";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "kkharji";
       repo = "sqlite.lua";
-      rev = "5162c8e2cc580f66ffe4bb4a7ae97a412596faba";
-      sha256 = "08ci0lyc0rzk522h09nbfwjzwqb1y0fvapd4fg73y0zxnim45z5z";
+      rev = "376e4735c48e07dade3e6ff5f09a654a04f5d4ba";
+      sha256 = "1l6c9z72kfnj4pzhipnscprvlmbw44jhrvbi14pplvj7wk9x9c85";
     };
     meta.homepage = "https://github.com/kkharji/sqlite.lua/";
   };
@@ -8358,12 +8418,12 @@ final: prev:
 
   telescope-live-grep-args-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-live-grep-args.nvim";
-    version = "2022-11-07";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-live-grep-args.nvim";
-      rev = "7de3baef1ec4fb77f7a8195fe87bebd513244b6a";
-      sha256 = "0yfn2mlgb3kz5bmkahri7gxv91fj3svy6ygb4lbn649519l840a6";
+      rev = "cf7994277c89e0a367e90f3ad054c983e2dfc22c";
+      sha256 = "0hph0ywsjzh04qck61lw12b1q3ck57y44vhbriyrc6aphxngpz7c";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-live-grep-args.nvim/";
   };
@@ -8706,12 +8766,12 @@ final: prev:
 
   todo-comments-nvim = buildVimPluginFrom2Nix {
     pname = "todo-comments.nvim";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "todo-comments.nvim";
-      rev = "6ccb0bebeb22dbe31940776a750db54b844ae653";
-      sha256 = "1dmvry7m4rdwrqmb7kaa4zx9mcda8n1yagabyg7nds7jyld671gw";
+      rev = "14e2cd9a6e5e67483a03660f08471ca9a981c4a5";
+      sha256 = "1mk0adblrfjhhrngc3zvrp2f348cdvj4nx7mmpjv8vq7vpvr5b4h";
     };
     meta.homepage = "https://github.com/folke/todo-comments.nvim/";
   };
@@ -8743,24 +8803,24 @@ final: prev:
 
   toggleterm-nvim = buildVimPluginFrom2Nix {
     pname = "toggleterm.nvim";
-    version = "2023-03-12";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "toggleterm.nvim";
-      rev = "c8e982ad2739eeb0b13d0fecb14820c9bf5e3da0";
-      sha256 = "1cg2qhzfdmw501v8w667n3i7kcl31ci3h71f7ia9p3c5fx85xbww";
+      rev = "9a595ba699837c4333c4296634feed320f084df2";
+      sha256 = "154qnxarrmylnyclw4kyapi6hc98rfjymajf0a8i2ars9qkwnqzi";
     };
     meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
   };
 
   tokyonight-nvim = buildVimPluginFrom2Nix {
     pname = "tokyonight.nvim";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "tokyonight.nvim";
-      rev = "27203d70747094527d13575ed08f6a714e7a43f8";
-      sha256 = "0mrwy3519wb59g42aafnhn8xlpc7yhwdni0q91napcbnjrx8s4r5";
+      rev = "edffa82026914be54c8220973b0385f61d3392f0";
+      sha256 = "1a1ydipnlbzxbfn12d1crzwcb6rk5vky4q65yg788gb963qh16f7";
     };
     meta.homepage = "https://github.com/folke/tokyonight.nvim/";
   };
@@ -8791,12 +8851,12 @@ final: prev:
 
   treesj = buildVimPluginFrom2Nix {
     pname = "treesj";
-    version = "2023-03-12";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "Wansmer";
       repo = "treesj";
-      rev = "bde69d35d37477dc1997f00cc08047f49aa90f7a";
-      sha256 = "0fc7kayzzvz8knmrdd4wsd3vppxkd8dsasp53lm3951xyjb18mlc";
+      rev = "90248883bdb2d559ff4ba7f0148eb0145d3f0908";
+      sha256 = "0nmh68wl10xy4ckma66657p37firg30747bxhnyw2r36mx3i1vps";
     };
     meta.homepage = "https://github.com/Wansmer/treesj/";
   };
@@ -8827,12 +8887,12 @@ final: prev:
 
   trouble-nvim = buildVimPluginFrom2Nix {
     pname = "trouble.nvim";
-    version = "2023-02-28";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "trouble.nvim";
-      rev = "67337644e38144b444d026b0df2dc5fa0038930f";
-      sha256 = "0v6s890dr5xq1d9zgs7rink7s5aqgx8ybvjwjzyy0f0qr6f2b5z5";
+      rev = "7915277a259fdff5d46c6f1d2e100df2ec384d3b";
+      sha256 = "10ssqf1pn9375br9lp2c3kgax3i0207vhs8wdpdwps3v0b0cj0vx";
     };
     meta.homepage = "https://github.com/folke/trouble.nvim/";
   };
@@ -8875,12 +8935,12 @@ final: prev:
 
   twilight-nvim = buildVimPluginFrom2Nix {
     pname = "twilight.nvim";
-    version = "2023-01-23";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "twilight.nvim";
-      rev = "9410252bed96887ca5a86bf16435a3a51a0e6ce5";
-      sha256 = "17mw3zqlviz4jsmjfsvddjd60xgkfihc60jv391rinl1w36l79ld";
+      rev = "2e13bd1886562b737f38c418ed542677b41ef5cb";
+      sha256 = "0g3fr939zdl1n66dibq7wp62a0vdhpw08kzxyq42ygwrhskf25p4";
     };
     meta.homepage = "https://github.com/folke/twilight.nvim/";
   };
@@ -8923,24 +8983,24 @@ final: prev:
 
   unicode-vim = buildVimPluginFrom2Nix {
     pname = "unicode.vim";
-    version = "2023-01-28";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "unicode.vim";
-      rev = "d4925c55b5d6d57003100b3ce17b82b9e44d161c";
-      sha256 = "192ln697rv7m3nk4401p4w75d3afsjlcc5m4hcmf00ci3vimk7mn";
+      rev = "c8aa12b1e2e1b6254885b12bdb239ce6c885fdb1";
+      sha256 = "1mvsb0l9wi903rfazskgn0yzylcb1xkdaqvlcbj1w5yay372x4i9";
     };
     meta.homepage = "https://github.com/chrisbra/unicode.vim/";
   };
 
   unison = buildVimPluginFrom2Nix {
     pname = "unison";
-    version = "2023-03-09";
+    version = "2023-03-15";
     src = fetchFromGitHub {
       owner = "unisonweb";
       repo = "unison";
-      rev = "a7aecd32c38c8fc98955bed010dfe602c994430a";
-      sha256 = "1icgrkrxhz0jq002gyc7rswh3zymi6xb3i6iz3kkiawhmfjbw7pb";
+      rev = "511ad1f01cf61f6732de9ef833f6b525afc513d4";
+      sha256 = "1nxsnp1m7nr4jcqwxy2f08m6z7571h03vhvp1fksc0amxjv1yx5p";
     };
     meta.homepage = "https://github.com/unisonweb/unison/";
   };
@@ -8959,12 +9019,12 @@ final: prev:
 
   urlview-nvim = buildVimPluginFrom2Nix {
     pname = "urlview.nvim";
-    version = "2023-03-02";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "axieax";
       repo = "urlview.nvim";
-      rev = "12d716b8e53ff8188af309a750d622edfa3eccb5";
-      sha256 = "0g0i9v7plbbgz079aas5dgd39xyp7bkrlcjbvb5m1zx1f58vdrbb";
+      rev = "e92d99f062685f9d3ab84238e1cdde6399dc64ce";
+      sha256 = "0ahs5sgs95wkpr11s93r08w0xagiqrfw5zrgqyhhjqg2dfpqzxp9";
     };
     meta.homepage = "https://github.com/axieax/urlview.nvim/";
   };
@@ -9031,12 +9091,12 @@ final: prev:
 
   vifm-vim = buildVimPluginFrom2Nix {
     pname = "vifm.vim";
-    version = "2023-03-10";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "vifm";
       repo = "vifm.vim";
-      rev = "639cfcb386fa419d8e27c69f489d6fedc53ec292";
-      sha256 = "0h4cpdz7li2dcciqkfy3dasg31i69mg56kq4zx1rcch1pzqw4wlb";
+      rev = "f6a419ac6db364fd2856803ccfbf0dbfcaba4581";
+      sha256 = "00w6ns8k0w0gn9sp1n8hgwgaym577p4ak4v4qxh845kp8mb4fd4h";
     };
     meta.homepage = "https://github.com/vifm/vifm.vim/";
   };
@@ -9367,12 +9427,12 @@ final: prev:
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2023-02-02";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "038e3a6ca59f11b3bb6a94087c1792322d1a1d5c";
-      sha256 = "0m59sij2y38sgcmzic3jxw08bwkycywkjxn906xgfkwn2rvhv8cv";
+      rev = "a532fed72ace069e61c0132125b728316f9abd3c";
+      sha256 = "1n11mi2fh8a95ddrmmi7p4yrapvzg4lqnvsw5npfjzyj22c5wmpy";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -9835,12 +9895,12 @@ final: prev:
 
   vim-codefmt = buildVimPluginFrom2Nix {
     pname = "vim-codefmt";
-    version = "2023-02-17";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-codefmt";
-      rev = "1b76987b6719bee259ba8d1e03a1e7f624a3615f";
-      sha256 = "0542dzzixavsfbpdm4qrsnv639gpl70grvv5jhllm2kq4dqyhjil";
+      rev = "1822415b1150e2158da62f928274269d2c02d529";
+      sha256 = "069vjwsll7v1428pb009ph9fij2sxd5j746kw8546368ndj572xy";
     };
     meta.homepage = "https://github.com/google/vim-codefmt/";
   };
@@ -10051,12 +10111,12 @@ final: prev:
 
   vim-dadbod-ui = buildVimPluginFrom2Nix {
     pname = "vim-dadbod-ui";
-    version = "2023-02-12";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "vim-dadbod-ui";
-      rev = "caf45f54dad6150970331ac115e531524e418c7c";
-      sha256 = "1x1qvn245lz8q0a7v6l0s6fr9pjrm8ar9gf72hd1iiskzly28ax0";
+      rev = "986324fa6372170ec47b28a5558ae7f7185e1d71";
+      sha256 = "0cc8lj2fsvibdvw1vdg5pa14gdndr0h6p3rzkzz475xzh1hiid2q";
     };
     meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-ui/";
   };
@@ -10495,12 +10555,12 @@ final: prev:
 
   vim-flog = buildVimPluginFrom2Nix {
     pname = "vim-flog";
-    version = "2023-03-03";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "rbong";
       repo = "vim-flog";
-      rev = "e180763212c10664d1405449dfcd5cd00e8bd4d7";
-      sha256 = "0vi9vyv978rb9kmnbfhk6nwg1mardyd5yr73k4d460nsxsf15c5a";
+      rev = "c58f04c82174fc887bbd626e871c89bc393ba585";
+      sha256 = "0113br4ny03pn3r2zly3w6svasrm7n48vcnc5dcizwkk0jf2rhi4";
     };
     meta.homepage = "https://github.com/rbong/vim-flog/";
   };
@@ -10651,12 +10711,12 @@ final: prev:
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2023-02-24";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "edb607cc4b329099da825c028c53b1264dbd2350";
-      sha256 = "0n8vxdck4xx7y2jr04izvgiqjfqljk8j157hxgy5vvf1fg3jzs2s";
+      rev = "44dbd57dd19e8ec58b2a50c787c8ae7bb231c145";
+      sha256 = "05nnfkrqm9py0c2hs7wcn248hvvb6qdm3ak9hpfy7y3y6r7a9cim";
     };
     meta.homepage = "https://github.com/airblade/vim-gitgutter/";
   };
@@ -10892,12 +10952,12 @@ final: prev:
 
   vim-highlightedyank = buildVimPluginFrom2Nix {
     pname = "vim-highlightedyank";
-    version = "2022-05-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "machakann";
       repo = "vim-highlightedyank";
-      rev = "f9db473137ca96c6a989ec3e2b7edf8a3189c448";
-      sha256 = "0lj2w9nzqrmw33gcf8k1hf50mpwymhdyyv09mp9phanywg06l1ay";
+      rev = "fa3f57b097e9521ce41a66b6c7cf5d9adea70ea3";
+      sha256 = "1fgbih8m7drr8ik34c5vpmd8qs3vdshixni42nih6ls6gzcv7l7z";
     };
     meta.homepage = "https://github.com/machakann/vim-highlightedyank/";
   };
@@ -11000,24 +11060,24 @@ final: prev:
 
   vim-illuminate = buildVimPluginFrom2Nix {
     pname = "vim-illuminate";
-    version = "2023-02-10";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "49062ab1dd8fec91833a69f0a1344223dd59d643";
-      sha256 = "15456qlblskafaq3x92kp8n8hdfzdfv1hzs9yb4k4aqps1bj2plf";
+      rev = "a2907275a6899c570d16e95b9db5fd921c167502";
+      sha256 = "1i2s3d9c0c31pv0y0iljqk2s3qcqanjw84w81ww2dnnh31qgglpi";
     };
     meta.homepage = "https://github.com/RRethy/vim-illuminate/";
   };
 
   vim-indent-guides = buildVimPluginFrom2Nix {
     pname = "vim-indent-guides";
-    version = "2023-02-22";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "vim-indent-guides";
-      rev = "9a106c73f64b16f898276ca87cd55326a2e5cf4c";
-      sha256 = "1vm1c7bc3ny6s1nw8zrwr43xym9ryhsmn6xr00i89zphkyci9q55";
+      rev = "a1e1390c0136e63e813d051de2003bf0ee18ae30";
+      sha256 = "15xa2v8zvrcymlkk4c3mazacpyxgd9mn7y56akl6cam3qwv35xb2";
     };
     meta.homepage = "https://github.com/preservim/vim-indent-guides/";
   };
@@ -11542,12 +11602,12 @@ final: prev:
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2023-03-07";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "fef9f334e64f024ac49eda92ef6274e826fe2de9";
-      sha256 = "1lvk2q46vn4b31igvcjzxdw6s09vk48wxi7iszq9lk3p3p2dclck";
+      rev = "f69d1ac5bd3c4e6ad349f64317000cc9a4a895cf";
+      sha256 = "10i9h942c9inmd2wcd3y7mmb8yn1bwc9dg5swrfl1iif6k4cmj34";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -12250,12 +12310,12 @@ final: prev:
 
   vim-projectionist = buildVimPluginFrom2Nix {
     pname = "vim-projectionist";
-    version = "2023-03-04";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-projectionist";
-      rev = "e5144baa1f5937de3081c38122b6906e094b2b24";
-      sha256 = "1v5g77vr24ry0lgxr93whx04wssfysivv29k02x7nzzaqblmdkhc";
+      rev = "e292c4e33b2c44074c47c06e8ce8b309fd8099bc";
+      sha256 = "04zh6w6gdqvyy08xhbk4xmkr37insrgvw930dyc05crmkzlnavy9";
     };
     meta.homepage = "https://github.com/tpope/vim-projectionist/";
   };
@@ -12490,12 +12550,12 @@ final: prev:
 
   vim-ruby = buildVimPluginFrom2Nix {
     pname = "vim-ruby";
-    version = "2022-08-17";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "vim-ruby";
       repo = "vim-ruby";
-      rev = "d8ef4c3584d0403d26f69bfd0a8fc6bfe198aeee";
-      sha256 = "19bbbdah1jzn3ym4riqd04ybl2gm7wnzvw71zymm8b9sjzjdmlwn";
+      rev = "0960d0f59ce2bb576177a3cfed2bb55c53552a71";
+      sha256 = "0ipmvi6xprrl6r7f6ssj6jx8hvcsna8afhyilpd54k9h9brgg8qj";
     };
     meta.homepage = "https://github.com/vim-ruby/vim-ruby/";
   };
@@ -12586,12 +12646,12 @@ final: prev:
 
   vim-sensible = buildVimPluginFrom2Nix {
     pname = "vim-sensible";
-    version = "2023-03-08";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sensible";
-      rev = "5693bb650a26723975276bef7b1da2f00a571e0e";
-      sha256 = "0m6ycmn4w2nkg42d0h9xlwcivvd5466kagimpvdzzqxjma7qczh0";
+      rev = "624c7549a5dfccef2030acc545198d102e4be1c0";
+      sha256 = "1a8in8phb6spvvpd5hmyjf0q18b4jwf5wlb72p3y6yvwa87k24rq";
     };
     meta.homepage = "https://github.com/tpope/vim-sensible/";
   };
@@ -12694,12 +12754,12 @@ final: prev:
 
   vim-slime = buildVimPluginFrom2Nix {
     pname = "vim-slime";
-    version = "2023-03-01";
+    version = "2023-03-15";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "bea75d10247cc81632747084c290f4a7138e7d69";
-      sha256 = "1cjflfxljzr4jx1n2rqrv97s1ci2lb6m9j2hkhivnkhzbazzr8h5";
+      rev = "e5ae6a6d479c97d5352969574130956798e480b7";
+      sha256 = "1s4xpwca6nnylcfsk3lic6s2ddy4plf8qc2hln7vvbnmbjp948d0";
     };
     meta.homepage = "https://github.com/jpalardy/vim-slime/";
   };
@@ -13235,12 +13295,12 @@ final: prev:
 
   vim-tpipeline = buildVimPluginFrom2Nix {
     pname = "vim-tpipeline";
-    version = "2023-03-06";
+    version = "2023-03-17";
     src = fetchFromGitHub {
       owner = "vimpostor";
       repo = "vim-tpipeline";
-      rev = "c3805441a378ed3891cefebea1c2e62a66cffb73";
-      sha256 = "0zml0nipnrjqibbdq5dpgn2fgf0h963841cxnlps1rbsrs2m2ss5";
+      rev = "bde36fce7165f6b414afab6a0723133730f0f27d";
+      sha256 = "1w473xm8a6qfmpwy2cmw9mivpsa5mjw2hz3696ym29n6hkgxbmb0";
     };
     meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
   };
@@ -13475,12 +13535,12 @@ final: prev:
 
   vim-wakatime = buildVimPluginFrom2Nix {
     pname = "vim-wakatime";
-    version = "2023-02-20";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "62113bb063aa1923146e59270d71563441ceabe5";
-      sha256 = "1n5d7jz5d3iamq030dmvb67w06b8ap1nvmj03shbx03i189kp2g1";
+      rev = "3b3d7f3d0fb4a476a7d1ef4d6f41e31050bdf52a";
+      sha256 = "1l2zv2442nrhl8hskc273n62i8d4ws7ixsk83hhdy4r8cafnhmjd";
     };
     meta.homepage = "https://github.com/wakatime/vim-wakatime/";
   };
@@ -13788,12 +13848,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2023-03-11";
+    version = "2023-03-16";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "c39907f3caad8157b5b5fb628e9d035a8aee7d76";
-      sha256 = "04n908dy9dla70kyw4a238p8qap04jbh67pfp7ddz3ic5w00y70w";
+      rev = "7c1bc9b8ad6c6bddc0194aeb27b34bd1107880f2";
+      sha256 = "1y836x6gva2w4x62r3vwllvibgl4iyi534fg7jvvigaxfff7qj40";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -13812,12 +13872,12 @@ final: prev:
 
   vimwiki = buildVimPluginFrom2Nix {
     pname = "vimwiki";
-    version = "2023-03-12";
+    version = "2023-03-18";
     src = fetchFromGitHub {
       owner = "vimwiki";
       repo = "vimwiki";
-      rev = "34ceee8aaa760d2afc2b220916c8844575fd8d17";
-      sha256 = "1gfyi75xxphg6b2cikq3lh353nzyrkw54gflw1pglhcrfxb34y82";
+      rev = "72d02207b021b968a185ed68b949c7a15f82c3d4";
+      sha256 = "1v88r8wlpgkkr9f0hzkkmysi1n27ihqxrhzpg6qfdcddq0zj6528";
     };
     meta.homepage = "https://github.com/vimwiki/vimwiki/";
   };
@@ -13896,12 +13956,12 @@ final: prev:
 
   which-key-nvim = buildVimPluginFrom2Nix {
     pname = "which-key.nvim";
-    version = "2023-03-02";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "which-key.nvim";
-      rev = "fb027738340502b556c3f43051f113bcaa7e8e63";
-      sha256 = "15f9n7j73rq119qkv4kk3mgw605z93921n7af0x6qywrwaq3smp1";
+      rev = "d1afcd48f309af58fdb43adc4581bf4b5684768b";
+      sha256 = "0fi373y7db1g0gdchgrkamf3nmdjjdgi4l8yw17y3b7w5g5x92q0";
     };
     meta.homepage = "https://github.com/folke/which-key.nvim/";
   };
@@ -14077,12 +14137,12 @@ final: prev:
 
   zen-mode-nvim = buildVimPluginFrom2Nix {
     pname = "zen-mode.nvim";
-    version = "2023-02-27";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "zen-mode.nvim";
-      rev = "4f2e70d75b7ece1c2a7c852664db492537078996";
-      sha256 = "1g19pgxla0f04wihw1k43and7mf07fb23a1ca0zq8f6gsczbxgjq";
+      rev = "d907e638c879642d226d27469b53db6925f69d4c";
+      sha256 = "0jidblyqmgrzmzmfkz71qa0p13y66fa8jb66fkrnn4bbk617vryw";
     };
     meta.homepage = "https://github.com/folke/zen-mode.nvim/";
   };
@@ -14177,8 +14237,8 @@ final: prev:
     src = fetchFromGitHub {
       owner = "catppuccin";
       repo = "nvim";
-      rev = "839d015ce9b6c9447fd8b40e43a6411ccc87ebf1";
-      sha256 = "1xaq3pamnvxl0fwqxzppjddgmd9453kqqsj1y1mxiqvaphsifxya";
+      rev = "128af65c3a23c94b324dc8d7f02a34feee8722d4";
+      sha256 = "0xdmv27l46iashajsvsiakk8j0zixcshvfn6ixg402z7gidxzvbr";
     };
     meta.homepage = "https://github.com/catppuccin/nvim/";
   };
@@ -14197,12 +14257,12 @@ final: prev:
 
   chad = buildVimPluginFrom2Nix {
     pname = "chad";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "62028983c38d849f0b918e02538bd0feb524c5b7";
-      sha256 = "11sbp59d1p3a8842b8a8ib7pcfb21y3pfsj5cjy7k5mr156jzr5y";
+      rev = "773fb772e43b10d407133079e5ef2c69bda3ed8b";
+      sha256 = "08vyzhwxqg10qw7w8qfp5n6dznd3zn0c01n5yx7nw8863acilm4d";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -14293,12 +14353,12 @@ final: prev:
 
   rose-pine = buildVimPluginFrom2Nix {
     pname = "rose-pine";
-    version = "2023-03-12";
+    version = "2023-03-19";
     src = fetchFromGitHub {
       owner = "rose-pine";
       repo = "neovim";
-      rev = "1883d8b417403f1d8c56d52d90445bbbe6be4b80";
-      sha256 = "1wx9bb4qhd4ap030zrbninfwk409chlr8xsr88zw77pjhc1srzv2";
+      rev = "69f015b9522b468b320fbd56eb4ae72af4d5074f";
+      sha256 = "0c1gj2ynn0n8f3r6blwkh47jqqmjfi1q7x023zddd1fqa7y7ram9";
     };
     meta.homepage = "https://github.com/rose-pine/neovim/";
   };
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
index b4be9b396f43..35b6299d104f 100644
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -60,12 +60,12 @@
   };
   bash = buildGrammar {
     language = "bash";
-    version = "7f9506c";
+    version = "b338fa9";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-bash";
-      rev = "7f9506c34ab6a0f4e3e052b7a49cbeef91f71236";
-      hash = "sha256-D9FesfedHnHWUcCIPGs72fpgeBO3xZ2rWTRDewa4qzM=";
+      rev = "b338fa9f4807b9e0336cd4dde04948a8c324a4cf";
+      hash = "sha256-2ARBWfjtnM9+FKfASk1s6L7cDnUFIV6U9wBld2s8WWM=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash";
   };
@@ -370,12 +370,12 @@
   };
   elixir = buildGrammar {
     language = "elixir";
-    version = "b20eaa7";
+    version = "869dff3";
     src = fetchFromGitHub {
       owner = "elixir-lang";
       repo = "tree-sitter-elixir";
-      rev = "b20eaa75565243c50be5e35e253d8beb58f45d56";
-      hash = "sha256-BxFqSZIrDQFMCl+t88/j6ykpdD+ag5uIIWLrEWcHDMQ=";
+      rev = "869dff3ceb8823ca4b17ca33b663667c8e41e8ba";
+      hash = "sha256-wEGW4+O8ATlsrzC+qwhTtd39L5gbQM7B7N4MqabfIFQ=";
     };
     meta.homepage = "https://github.com/elixir-lang/tree-sitter-elixir";
   };
@@ -700,12 +700,12 @@
   };
   haskell = buildGrammar {
     language = "haskell";
-    version = "0da7f82";
+    version = "fb3c19e";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-haskell";
-      rev = "0da7f826e85b3e589e217adf69a6fd89ee4301b9";
-      hash = "sha256-5PCwcbF+UOmn4HE99RgBoDvC7w/QP1lo870+11S6cok=";
+      rev = "fb3c19e8e307acaf9336ab88330fd386ce731638";
+      hash = "sha256-2nXKC7rQYbY2Sr0GVYETR83KYza1HKqpmjFkkgP80rI=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-haskell";
   };
@@ -995,6 +995,17 @@
     };
     meta.homepage = "https://github.com/MunifTanjim/tree-sitter-lua";
   };
+  luadoc = buildGrammar {
+    language = "luadoc";
+    version = "40a67ee";
+    src = fetchFromGitHub {
+      owner = "amaanq";
+      repo = "tree-sitter-luadoc";
+      rev = "40a67ee798eb3c989fffde0277ff6de740ebaf34";
+      hash = "sha256-vhiUaZms4Je/TBTTepQiuddl0sKodrHcrBCauBPgu7Y=";
+    };
+    meta.homepage = "https://github.com/amaanq/tree-sitter-luadoc";
+  };
   luap = buildGrammar {
     language = "luap";
     version = "bfb38d2";
@@ -1096,6 +1107,18 @@
     };
     meta.homepage = "https://github.com/Decodetalkers/tree-sitter-meson";
   };
+  mlir = buildGrammar {
+    language = "mlir";
+    version = "e2053f7";
+    src = fetchFromGitHub {
+      owner = "artagnon";
+      repo = "tree-sitter-mlir";
+      rev = "e2053f7c8856d91bc36c87604f697784845cee69";
+      hash = "sha256-u41Qyyu9bNbcAjfTUoq2W2LvfqPpJ62xzaaAg3VbTsA=";
+    };
+    generate = true;
+    meta.homepage = "https://github.com/artagnon/tree-sitter-mlir";
+  };
   nickel = buildGrammar {
     language = "nickel";
     version = "d6c7eeb";
@@ -1222,12 +1245,12 @@
   };
   php = buildGrammar {
     language = "php";
-    version = "d5e7cac";
+    version = "1a40581";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-php";
-      rev = "d5e7cacb6c27e0e131c7f76c0dbfee56dfcc61e3";
-      hash = "sha256-cSCHXREt3J6RSpug2EFKWYQNDUqrQeC0vDZ3SrRmLBY=";
+      rev = "1a40581b7a899201d7c2b4684ee34490bc306bd6";
+      hash = "sha256-tSgCGV1w3gbt9Loar3+Auo2r7hqZwB7X+/g9Dfatp8I=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
   };
@@ -1354,12 +1377,12 @@
   };
   qmljs = buildGrammar {
     language = "qmljs";
-    version = "ab75be9";
+    version = "35ead5b";
     src = fetchFromGitHub {
       owner = "yuja";
       repo = "tree-sitter-qmljs";
-      rev = "ab75be9750e6f2f804638824d1790034286a830c";
-      hash = "sha256-UP/+svGOSMlUOMmNMpXKtDDPY9ZIldjWF5sM+PMbE9M=";
+      rev = "35ead5b9955cdb29bcf709d622fa960ff33992b6";
+      hash = "sha256-jT47lEGuk6YUjcHB0ZMyL3i5PqyUaCQmt0j78cUpy8Q=";
     };
     meta.homepage = "https://github.com/yuja/tree-sitter-qmljs";
   };
@@ -1398,12 +1421,12 @@
   };
   rasi = buildGrammar {
     language = "rasi";
-    version = "5f04634";
+    version = "371dac6";
     src = fetchFromGitHub {
       owner = "Fymyte";
       repo = "tree-sitter-rasi";
-      rev = "5f04634dd4e12de4574c4a3dc9d6d5d4da4a2a1b";
-      hash = "sha256-2n8nHinlgtLKBlDLiphu7vqPi7W02brRY1h8BGkcoZc=";
+      rev = "371dac6bcce0df5566c1cfebde69d90ecbeefd2d";
+      hash = "sha256-2nYZoLcrxxxiOJEySwHUm93lzMg8mU+V7LIP63ntFdA=";
     };
     meta.homepage = "https://github.com/Fymyte/tree-sitter-rasi";
   };
@@ -1486,12 +1509,12 @@
   };
   scala = buildGrammar {
     language = "scala";
-    version = "6f9bc5a";
+    version = "7d348f5";
     src = fetchFromGitHub {
       owner = "tree-sitter";
       repo = "tree-sitter-scala";
-      rev = "6f9bc5ab749d90bb2ac4ad083891f9d0481d768d";
-      hash = "sha256-41cRG67Gb9qpaOEVtAtNkjvPurFGgtftHa0MedvJvnU=";
+      rev = "7d348f51e442563f4ab2b6c3e136dac658649f93";
+      hash = "sha256-jIbVw4jKMJYbKeeai3u7J+xKRfo2YNoL3ZcW1NLc9fg=";
     };
     meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
   };
@@ -1574,14 +1597,13 @@
   };
   sql = buildGrammar {
     language = "sql";
-    version = "b2f6b30";
+    version = "4cb5b36";
     src = fetchFromGitHub {
       owner = "derekstride";
       repo = "tree-sitter-sql";
-      rev = "b2f6b30ce12cbddfb663473457b670f2b3bffaa9";
-      hash = "sha256-moFrlfsb1kpXFXaxRB/8Mu0XAXkQZgKlZefGj+/6NX4=";
+      rev = "4cb5b36d70687bfe4687c68483b4dacde309ae6f";
+      hash = "sha256-7YkVPuQS8NGcHXHwgFTZ4kWL01AnNeOGxdY8xFISSzY=";
     };
-    generate = true;
     meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
   };
   squirrel = buildGrammar {
@@ -1641,12 +1663,12 @@
   };
   swift = buildGrammar {
     language = "swift";
-    version = "449d597";
+    version = "4cf4bb6";
     src = fetchFromGitHub {
       owner = "alex-pinkus";
       repo = "tree-sitter-swift";
-      rev = "449d5974981d402181ca721e0573346f8c17f726";
-      hash = "sha256-P7JEkB9MF9DmxQ/3G2IA2l4pzArzAP1rJQl4MNhu3Bo=";
+      rev = "4cf4bb67c27f5c5a75f634fe941c588660e69ab3";
+      hash = "sha256-dRXkUFaWMkFe0qWtNs3fkhct1+JLIbF/Z0VQdR0bjV4=";
     };
     generate = true;
     meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
@@ -1674,6 +1696,17 @@
     };
     meta.homepage = "https://codeberg.org/xasc/tree-sitter-t32";
   };
+  tablegen = buildGrammar {
+    language = "tablegen";
+    version = "e5e046e";
+    src = fetchFromGitHub {
+      owner = "amaanq";
+      repo = "tree-sitter-tablegen";
+      rev = "e5e046e1b221e25111175469f02f3cf336010857";
+      hash = "sha256-qh5AWLinsSwfbui7b3Vk7DRW3GaS4Avaa0iLeMmMFtM=";
+    };
+    meta.homepage = "https://github.com/amaanq/tree-sitter-tablegen";
+  };
   teal = buildGrammar {
     language = "teal";
     version = "2158ecc";
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 9348e599a6e1..2983b9c4d1bb 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -24,6 +24,7 @@
 , git
 , gnome
 , himalaya
+, htop
 , jq
 , khard
 , languagetool
@@ -31,6 +32,7 @@
 , meson
 , nim
 , nodePackages
+, openscad
 , pandoc
 , parinfer-rust
 , ripgrep
@@ -50,6 +52,7 @@
 , nodejs
 , xdotool
 , xorg
+, zathura
 , zsh
 
   # command-t dependencies
@@ -583,6 +586,18 @@ self: super: {
     dependencies = with self; [ plenary-nvim ];
   });
 
+  magma-nvim-goose = buildVimPluginFrom2Nix {
+    pname = "magma-nvim-goose";
+    version = "2023-03-13";
+    src = fetchFromGitHub {
+      owner = "WhiteBlackGoose";
+      repo = "magma-nvim-goose";
+      rev = "5d916c39c1852e09fcd39eab174b8e5bbdb25f8f";
+      sha256 = "10d6dh0czdpgfpzqs5vzxfffkm0460qjzi2mfkacgghqf3iwkbja";
+    };
+    meta.homepage = "https://github.com/WhiteBlackGoose/magma-nvim-goose/";
+  };
+
   markdown-preview-nvim = super.markdown-preview-nvim.overrideAttrs (old: let
     # We only need its dependencies `node-modules`.
     nodeDep = nodePackages."markdown-preview-nvim-../../applications/editors/vim/plugins/markdown-preview-nvim".overrideAttrs (old: {
@@ -717,6 +732,22 @@ self: super: {
     configurePhase = "cd vim";
   });
 
+  # The plugin depends on either skim-vim or fzf-vim, but we don't want to force the user so we
+  # avoid choosing one of them and leave it to the user
+  openscad-nvim = super.openscad-nvim.overrideAttrs (old: {
+    buildInputs = [ zathura htop openscad ];
+
+    patches = [ ./patches/openscad.nvim/program_paths.patch ];
+
+    postPatch = ''
+      substituteInPlace lua/openscad.lua --replace '@zathura-path@' ${zathura}/bin/zathura
+      substituteInPlace autoload/health/openscad_nvim.vim --replace '@zathura-path@' ${zathura}/bin/zathura
+      substituteInPlace lua/openscad/terminal.lua --replace '@htop-path@' ${htop}/bin/htop
+      substituteInPlace autoload/health/openscad_nvim.vim --replace '@htop-path@' ${htop}/bin/htop
+      substituteInPlace lua/openscad.lua --replace '@openscad-path@' ${openscad}/bin/openscad
+    '';
+  });
+
   orgmode = super.orgmode.overrideAttrs (old: {
     dependencies = with self; [ (nvim-treesitter.withPlugins (p: [ p.org ])) ];
   });
@@ -762,7 +793,7 @@ self: super: {
         pname = "sg-nvim-rust";
         inherit (old) version src;
 
-        cargoHash = "sha256-nm9muH4RC92HdUiytmcW0WNyMQJcIH6dgwjUrwcqq4I=";
+        cargoHash = "sha256-z3ZWHhqiJKFzVcFJadfPU6+ELlnvEOAprCyStszegdI=";
 
         nativeBuildInputs = [ pkg-config ];
 
@@ -796,18 +827,18 @@ self: super: {
 
   sniprun =
     let
-      version = "1.2.8";
+      version = "1.2.13";
       src = fetchFromGitHub {
         owner = "michaelb";
         repo = "sniprun";
         rev = "v${version}";
-        sha256 = "sha256-iPZ0DPAErkMJIn85t1FIiGhLcMZlL06iNKLqmRu7gXI=";
+        hash = "sha256-VDLBktZChRgorJt/V/wuFQn/SL4yOZIElmntEQEi8Tc=";
       };
       sniprun-bin = rustPlatform.buildRustPackage {
         pname = "sniprun-bin";
         inherit version src;
 
-        cargoSha256 = "sha256-HZEh6jtuRqsyjyDbDIV38x2N1unbSu24D8vrPZ17ktE=";
+        cargoSha256 = "sha256-cJwmuwsC81fSH36TRU7xGzlR4pVdjsw73uRaH1uWY+0=";
 
         nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/editors/vim/plugins/patches/openscad.nvim/program_paths.patch b/pkgs/applications/editors/vim/plugins/patches/openscad.nvim/program_paths.patch
new file mode 100644
index 000000000000..9bfcee2e34a4
--- /dev/null
+++ b/pkgs/applications/editors/vim/plugins/patches/openscad.nvim/program_paths.patch
@@ -0,0 +1,44 @@
+diff --git a/autoload/health/openscad_nvim.vim b/autoload/health/openscad_nvim.vim
+index 9022d55..30ef53f 100644
+--- a/autoload/health/openscad_nvim.vim
++++ b/autoload/health/openscad_nvim.vim
+@@ -7,7 +7,7 @@ function! s:check_nvim_version_minimum() abort
+ endfunction
+ 
+ function! s:check_zathura_installed() abort
+-	if !executable('zathura')
++	if !executable('@zathura-path@')
+ 		call health#report_error('has(zathura)','install zathura')
+ 	else
+ 		call health#report_ok("zathura is installed")
+@@ -15,7 +15,7 @@ function! s:check_zathura_installed() abort
+ endfunction
+ 
+ function! s:check_htop_installed() abort
+-	if !executable('htop')
++	if !executable('@htop-path@')
+ 		call health#report_error('has(htop)','install htop')
+ 	else
+ 		call health#report_ok("htop is installed")
+diff --git a/lua/openscad.lua b/lua/openscad.lua
+index 7dff2fb..4382003 100644
+--- a/lua/openscad.lua
++++ b/lua/openscad.lua
+@@ -101,7 +101,7 @@ end
+ 
+ function M.manual()
+     local path = U.openscad_nvim_root_dir .. U.path_sep .. "help_source" .. U.path_sep .. "openscad-manual.pdf"
+-    api.nvim_command('silent !zathura --fork '  .. path)
++    api.nvim_command('silent !@zathura-path@ --fork '  .. path)
+ end
+ 
+ function M.help()
+@@ -119,7 +119,7 @@ end
+ 
+ function M.exec_openscad()
+     -- maybe just use api.jobstart .. instead
+-    api.nvim_command[[ call jobstart('openscad ' . shellescape(expand('%:p')), {'detach':1}) ]]
++    api.nvim_command[[ call jobstart('@openscad-path@ ' . shellescape(expand('%:p')), {'detach':1}) ]]
+ end
+ 
+ function M.default_mappings()
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index d8eca1c8b07a..cff1c845d678 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -332,6 +332,7 @@ https://github.com/Darazaki/indent-o-matic/,,
 https://github.com/Yggdroot/indentLine/,,
 https://github.com/ciaranm/inkpot/,,
 https://github.com/jbyuki/instant.nvim/,HEAD,
+https://github.com/pta2002/intellitab.nvim/,HEAD,
 https://github.com/parsonsmatt/intero-neovim/,,
 https://github.com/keith/investigate.vim/,,
 https://github.com/neutaaaaan/iosvkem/,,
@@ -400,6 +401,8 @@ https://github.com/l3mon4d3/luasnip/,,
 https://github.com/alvarosevilla95/luatab.nvim/,,
 https://github.com/rktjmp/lush.nvim/,,
 https://github.com/mkasa/lushtags/,,
+https://github.com/WhiteBlackGoose/magma-nvim-goose/,HEAD,
+https://github.com/winston0410/mark-radar.nvim/,HEAD,
 https://github.com/iamcco/markdown-preview.nvim/,,
 https://github.com/chentoast/marks.nvim/,,
 https://github.com/williamboman/mason-lspconfig.nvim/,HEAD,
@@ -466,6 +469,7 @@ https://github.com/Shougo/neoyank.vim/,,
 https://github.com/preservim/nerdcommenter/,,
 https://github.com/preservim/nerdtree/,,
 https://github.com/Xuyuanp/nerdtree-git-plugin/,,
+https://github.com/miversen33/netman.nvim/,HEAD,
 https://github.com/oberblastmeister/neuron.nvim/,,
 https://github.com/fiatjaf/neuron.vim/,,
 https://github.com/chr4/nginx.vim/,,
@@ -574,6 +578,7 @@ https://github.com/sonph/onehalf/,,
 https://github.com/rmehri01/onenord.nvim/,main,
 https://github.com/tyru/open-browser-github.vim/,,
 https://github.com/tyru/open-browser.vim/,,
+https://github.com/salkin-mada/openscad.nvim/,HEAD,
 https://github.com/nvim-orgmode/orgmode/,,
 https://github.com/nyoom-engineering/oxocarbon.nvim/,HEAD,
 https://github.com/vuki656/package-info.nvim/,,
diff --git a/pkgs/applications/editors/vscode/extensions/wakatime/default.nix b/pkgs/applications/editors/vscode/extensions/WakaTime.vscode-wakatime/default.nix
index 554b2bddb6ca..a58a17f2a6fe 100644
--- a/pkgs/applications/editors/vscode/extensions/wakatime/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/WakaTime.vscode-wakatime/default.nix
@@ -12,11 +12,11 @@ in
       sha256 = "sha256-vWqGxMbxKqd4UgKK0sOKadMTDf6Y3TQxfWsc93MHjFs=";
     };
 
-    meta = with lib; {
+    meta = {
       description = ''
         Visual Studio Code plugin for automatic time tracking and metrics generated
         from your programming activity
       '';
-      license = licenses.bsd3;
+      license = lib.licenses.bsd3;
     };
   }
diff --git a/pkgs/applications/editors/vscode/extensions/rescript/default.nix b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix
index 1f92e600f40f..76af53164faa 100644
--- a/pkgs/applications/editors/vscode/extensions/rescript/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/default.nix
@@ -20,10 +20,10 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
     ln -s ${rescript-editor-analysis}/bin ${analysisDir}
   '';
 
-  meta = with lib; {
+  meta = {
     description = "The official VSCode plugin for ReScript";
     homepage = "https://github.com/rescript-lang/rescript-vscode";
-    maintainers = with maintainers; [ dlip jayesh-bhoot ];
-    license = licenses.mit;
+    maintainers = [ lib.maintainers.dlip lib.maintainers.jayesh-bhoot ];
+    license = lib.licenses.mit;
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/rescript/rescript-editor-analysis.nix b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix
index a87cd0943428..11d9b8a6fe0b 100644
--- a/pkgs/applications/editors/vscode/extensions/rescript/rescript-editor-analysis.nix
+++ b/pkgs/applications/editors/vscode/extensions/chenglou92.rescript-vscode/rescript-editor-analysis.nix
@@ -25,10 +25,10 @@ stdenv.mkDerivation {
     install -D -m0555 rescript-editor-analysis.exe $out/bin/rescript-editor-analysis.exe
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Analysis binary for the ReScript VSCode plugin";
     homepage = "https://github.com/rescript-lang/rescript-vscode";
-    maintainers = with maintainers; [ dlip jayesh-bhoot ];
-    license = licenses.mit;
+    maintainers = [ lib.maintainers.dlip lib.maintainers.jayesh-bhoot ];
+    license = lib.licenses.mit;
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 82087a7d2c2e..ce9a7660b181 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -33,40 +33,40 @@ let
   #
   baseExtensions = self: lib.mapAttrs (_n: lib.recurseIntoAttrs)
     {
-      _1Password.op-vscode = buildVscodeMarketplaceExtension {
+      "1Password".op-vscode = buildVscodeMarketplaceExtension {
         mktplcRef = {
           publisher = "1Password";
           name = "op-vscode";
           version = "1.0.1";
           sha256 = "sha256-0SsHf1zZgmrb7oIsRU6Xpa3AvR8bSfANz5ZlRogjiS0=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://github.com/1Password/op-vscode/releases";
           description = "A VSCode extension that integrates your development workflow with 1Password service";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=1Password.op-vscode";
           homepage = "https://github.com/1Password/op-vscode";
-          license = licenses.mit;
-          maintainers = with maintainers; [ _2gn ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers._2gn ];
         };
       };
 
-      _2gua.rainbow-brackets = buildVscodeMarketplaceExtension {
+      "2gua".rainbow-brackets = buildVscodeMarketplaceExtension {
         mktplcRef = {
           publisher = "2gua";
           name = "rainbow-brackets";
           version = "0.0.6";
           sha256 = "TVBvF/5KQVvWX1uHwZDlmvwGjOO5/lXbgVzB26U8rNQ=";
         };
-        meta = with lib; {
+        meta = {
           description = "A Visual Studio Code extension providing rainbow brackets";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=2gua.rainbow-brackets";
           homepage = "https://github.com/lcultx/rainbow-brackets";
-          license = licenses.mit;
-          maintainers = with maintainers; [ CompEng0001 ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.CompEng0001 ];
         };
       };
 
-      _4ops.terraform = buildVscodeMarketplaceExtension {
+      "4ops".terraform = buildVscodeMarketplaceExtension {
         mktplcRef = {
           publisher = "4ops";
           name = "terraform";
@@ -75,7 +75,7 @@ let
         };
         meta = {
           license = lib.licenses.mit;
-          maintainers = with lib.maintainers; [ kamadorueda ];
+          maintainers = [ lib.maintainers.kamadorueda ];
         };
       };
 
@@ -91,24 +91,24 @@ let
         };
       };
 
-      alanz.vscode-hie-server = buildVscodeMarketplaceExtension {
+      adpyke.codesnap = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "vscode-hie-server";
-          publisher = "alanz";
-          version = "0.0.27"; # see the note above
-          sha256 = "1mz0h5zd295i73hbji9ivla8hx02i4yhqcv6l4r23w3f07ql3i8h";
+          name = "codesnap";
+          publisher = "adpyke";
+          version = "1.3.4";
+          sha256 = "sha256-dR6qODSTK377OJpmUqG9R85l1sf9fvJJACjrYhSRWgQ=";
         };
         meta = {
           license = lib.licenses.mit;
         };
       };
 
-      adpyke.codesnap = buildVscodeMarketplaceExtension {
+      alanz.vscode-hie-server = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "codesnap";
-          publisher = "adpyke";
-          version = "1.3.4";
-          sha256 = "sha256-dR6qODSTK377OJpmUqG9R85l1sf9fvJJACjrYhSRWgQ=";
+          name = "vscode-hie-server";
+          publisher = "alanz";
+          version = "0.0.27"; # see the note above
+          sha256 = "1mz0h5zd295i73hbji9ivla8hx02i4yhqcv6l4r23w3f07ql3i8h";
         };
         meta = {
           license = lib.licenses.mit;
@@ -170,13 +170,13 @@ let
           version = "13.3.4";
           sha256 = "sha256-odFh4Ms60tW+JOEbzzglgKe7BL1ccv3TKGir5NlvIrQ=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/Angular.ng-template/changelog";
           description = "Editor services for Angular templates";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=Angular.ng-template";
           homepage = "https://github.com/angular/vscode-ng-language-service";
-          license = licenses.mit;
-          maintainers = with maintainers; [ ratsclub ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.ratsclub ];
         };
       };
 
@@ -188,8 +188,8 @@ let
             version = "0.2.2";
             sha256 = "0mfap16la09mn0jhvy8s3dainrmjz64vra7d0d4fbcpgg420kv3f";
           };
-          meta = with lib; {
-            license = licenses.mit;
+          meta = {
+            license = lib.licenses.mit;
           };
         };
 
@@ -200,8 +200,8 @@ let
             version = "0.3.3";
             sha256 = "0pqiwcvn5c8kwqlmz4ribwwra69gbiqvz41ig4fh29hkyh078rfk";
           };
-          meta = with lib; {
-            license = licenses.mit;
+          meta = {
+            license = lib.licenses.mit;
           };
         };
       };
@@ -213,11 +213,11 @@ let
           version = "1.1.1";
           sha256 = "1adcw9jj3npk3l6lnlfgji2l529c4s5xp9jl748r9naiy3w3dpjv";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/Antyos.openscad/changelog";
           description = "OpenSCAD highlighting, snippets, and more for VSCode";
           homepage = "https://github.com/Antyos/vscode-openscad";
-          license = licenses.gpl3;
+          license = lib.licenses.gpl3;
         };
       };
 
@@ -228,13 +228,13 @@ let
           version = "1.19.11";
           sha256 = "sha256-EixefDuJiw/p5yAR/UQLK1a1RXJLXlTmOlD34qpAN+U=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/apollographql.vscode-apollo/changelog";
           description = "Rich editor support for GraphQL client and server development that seamlessly integrates with the Apollo platform";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=apollographql.vscode-apollo";
           homepage = "https://github.com/apollographql/vscode-graphql";
-          license = licenses.mit;
-          maintainers = with maintainers; [ datafoo ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.datafoo ];
         };
       };
 
@@ -245,13 +245,13 @@ let
           version = "0.19.0";
           sha256 = "sha256-awbqFv6YuYI0tzM/QbHRTUl4B2vNUdy52F4nPmv+dRU=";
         };
-        meta = with lib; {
+        meta = {
           description = "An arctic, north-bluish clean and elegant Visual Studio Code theme.";
           downloadPage =
             "https://marketplace.visualstudio.com/items?itemName=arcticicestudio.nord-visual-studio-code";
           homepage = "https://github.com/arcticicestudio/nord-visual-studio-code";
-          license = licenses.mit;
-          maintainers = with maintainers; [ imgabe ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.imgabe ];
         };
       };
 
@@ -296,8 +296,8 @@ let
                       "get('asciidoctorpdf_command', '${asciidoctor}/bin/asciidoctor-pdf')"
         '';
 
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -308,13 +308,13 @@ let
           version = "0.29.1";
           sha256 = "sha256-fMeEeYCZuORhZRds0A8HjHPncK0+SQbV0+f/zU5AIg4=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/astro-build.astro-vscode/changelog";
           description = "Astro language support for VSCode";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=astro-build.astro-vscode";
           homepage = "https://github.com/withastro/language-tools";
-          license = licenses.mit;
-          maintainers = with maintainers; [ wackbyte ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.wackbyte ];
         };
       };
 
@@ -337,13 +337,13 @@ let
           version = "0.0.1";
           sha256 = "sha256-ZcZlHoa2aoCeruMWbUUgfFHsPqyWmd2xFY6AKxJysYE=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/attilabuti.brainfuck-syntax/changelog";
           description = "VSCode extension providing syntax highlighting support for Brainfuck";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=attilabuti.brainfuck-syntax";
           homepage = "https://github.com/attilabuti/brainfuck-syntax";
-          license = licenses.mit;
-          maintainers = with maintainers; [  ];
+          license = lib.licenses.mit;
+          maintainers = [ ];
         };
       };
 
@@ -359,52 +359,11 @@ let
           cd "$out/$installPrefix"
           jq '.contributes.configuration.properties."millet.server.path".default = "${millet}/bin/lang-srv"' package.json | sponge package.json
         '';
-        meta = with lib; {
+        meta = {
           description = "Standard ML support for VS Code";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=azdavis.millet";
-          license = licenses.mit;
-          maintainers = with maintainers; [ smasher164 ];
-        };
-      };
-
-      dart-code.flutter = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "flutter";
-          publisher = "dart-code";
-          version = "3.50.0";
-          sha256 = "sha256-2Mi0BWXfO73BBIZIRJMaQyml+jXBI9d7By+vx9Rg+pE=";
-        };
-
-        meta.license = lib.licenses.mit;
-      };
-
-      dart-code.dart-code = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "dart-code";
-          publisher = "dart-code";
-          version = "3.50.0";
-          sha256 = "sha256-vdECvW4BfuT3H6GD2cH7lVW0f5591pKjXsWyJzzpHYA=";
-        };
-
-        meta.license = lib.licenses.mit;
-      };
-
-      ms-python.vscode-pylance = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "vscode-pylance";
-          publisher = "MS-python";
-          version = "2022.7.11";
-          sha256 = "sha256-JatjLZXO7iwpBwjL1hrNafBiF81CaozWWANyRm8A36Y=";
-        };
-
-        buildInputs = [ nodePackages.pyright ];
-
-        meta = with lib; {
-          changelog = "https://marketplace.visualstudio.com/items/ms-python.vscode-pylance/changelog";
-          description = "A performant, feature-rich language server for Python in VS Code";
-          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance";
-          homepage = "https://github.com/microsoft/pylance-release";
-          license = licenses.unfree;
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.smasher164 ];
         };
       };
 
@@ -420,8 +379,8 @@ let
           cd "$out/$installPrefix"
           jq '.contributes.configuration.properties."nixpkgs-fmt.path".default = "${nixpkgs-fmt}/bin/nixpkgs-fmt"' package.json | sponge package.json
         '';
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -444,12 +403,12 @@ let
           version = "2.0.5";
           sha256 = "sha256-D04EJButnam/l4aAv1yNbHlTKMb3x1yrS47+9XjpCLI=";
         };
-        meta = with lib; {
+        meta = {
           description = "VSCode Extension Formatter for OCaml language";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=badochov.ocaml-formatter";
           homepage = "https://github.com/badochov/ocamlformatter-vscode";
-          license = licenses.mit;
-          maintainers = with maintainers; [  ];
+          license = lib.licenses.mit;
+          maintainers = [ ];
         };
       };
 
@@ -460,8 +419,8 @@ let
           version = "1.0.1";
           sha256 = "0zd0n9f5z1f0ckzfjr38xw2zzmcxg1gjrava7yahg5cvdcw6l35b";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -472,8 +431,8 @@ let
           version = "0.3.0";
           sha256 = "1x80s8l8djchg17553aiwaf4b49hf6awiayk49wyii0i26hlpjk1";
         };
-        meta = with lib; {
-          license = licenses.asl20;
+        meta = {
+          license = lib.licenses.asl20;
         };
       };
 
@@ -489,8 +448,8 @@ let
           cd "$out/$installPrefix"
           jq '.contributes.configuration[0].properties."calva.clojureLspPath".default = "${clojure-lsp}/bin/clojure-lsp"' package.json | sponge package.json
         '';
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -501,8 +460,8 @@ let
           version = "0.2.10";
           sha256 = "sha256-RW4vm0Hum9AeN4Rq7MSJOIHnALU0L1tBLKjaRLA2hL8=";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -513,8 +472,8 @@ let
           version = "0.9.0";
           sha256 = "0gpcpwh57lqlynsrkv3smykndb46xjh7r85lb291wdklq5ahmb2j";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -525,8 +484,8 @@ let
           version = "0.3.1";
           sha256 = "0x57dnr6ksqxi28g1c392k04vxy0vdni9nl4xps3i5zh0pyxizhw";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -537,8 +496,8 @@ let
           version = "0.2.1";
           sha256 = "1lcg2b39jydl40wcfrbgshl2i1r58k92c7dipz0hl1fa1v23vj4v";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -549,8 +508,8 @@ let
           version = "1.17.4";
           sha256 = "sha256-jJnALJJc8G4/0L7WMmKSZ7I+7Usmyj+WhufBdSzcEK0=";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -564,6 +523,21 @@ let
         meta.license = lib.licenses.mit;
       };
 
+      bmewburn.vscode-intelephense-client = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-intelephense-client";
+          publisher = "bmewburn";
+          version = "1.8.2";
+          sha256 = "OvWdDQfhprQNve017pNSksMuCK3Ccaar5Ko5Oegdiuo=";
+        };
+        meta = {
+          description = "PHP code intelligence for Visual Studio Code";
+          license = lib.licenses.mit;
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client";
+          maintainers = [ lib.maintainers.drupol ];
+        };
+      };
+
       bradlc.vscode-tailwindcss = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-tailwindcss";
@@ -571,8 +545,8 @@ let
           version = "0.8.6";
           sha256 = "sha256-v15KuD3eYFCsrworCJ1SZAMkyZKztAwWKmfwmbirleI=";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -583,8 +557,8 @@ let
           version = "0.0.1";
           sha256 = "07w35c69vk1l6vipnq3qfack36qcszqxn8j3v332bl0w6m02aa7k";
         };
-        meta = with lib; {
-          license = licenses.mpl20;
+        meta = {
+          license = lib.licenses.mpl20;
         };
       };
 
@@ -595,28 +569,13 @@ let
           version = "0.3.2";
           sha256 = "sha256-g+LfgjAnSuSj/nSmlPdB0t29kqTmegZB5B1cYzP8kCI=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/bungcip.better-toml/changelog";
           description = "Better TOML Language support";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=bungcip.better-toml";
           homepage = "https://github.com/bungcip/better-toml/blob/master/README.md";
-          license = licenses.mit;
-          maintainers = with maintainers; [ datafoo ];
-        };
-      };
-
-      bmewburn.vscode-intelephense-client = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "vscode-intelephense-client";
-          publisher = "bmewburn";
-          version = "1.8.2";
-          sha256 = "OvWdDQfhprQNve017pNSksMuCK3Ccaar5Ko5Oegdiuo=";
-        };
-        meta = with lib; {
-          description = "PHP code intelligence for Visual Studio Code";
-          license = licenses.mit;
-          downloadPage = "https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client";
-          maintainers = with maintainers; [ drupol ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.datafoo ];
         };
       };
 
@@ -627,15 +586,15 @@ let
           version = "2.5.0";
           sha256 = "sha256-+dM6MKIjzPdYoRe1DYJ08A+nHHlkTsm+I6CYmnmSRj4=";
         };
-        meta = with lib; {
+        meta = {
           description = "Soothing pastel theme for VSCode";
-          license = licenses.mit;
+          license = lib.licenses.mit;
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=Catppuccin.catppuccin-vsc";
-          maintainers = with maintainers; [ nullx76 ];
+          maintainers = [ lib.maintainers.nullx76 ];
         };
       };
 
-      chenglou92.rescript-vscode = callPackage ./rescript { };
+      chenglou92.rescript-vscode = callPackage ./chenglou92.rescript-vscode { };
 
       christian-kohler.path-intellisense = buildVscodeMarketplaceExtension {
         mktplcRef = {
@@ -644,12 +603,12 @@ let
           version = "2.8.1";
           sha256 = "sha256-lTKzMphkGgOG2XWqz3TW2G9sISBc/kG7oXqcIH8l+Mg=";
         };
-        meta = with lib; {
+        meta = {
           description = "Visual Studio Code plugin that autocompletes filenames";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense";
           homepage = "https://github.com/ChristianKohler/PathIntellisense";
-          license = licenses.mit;
-          maintainers = with maintainers; [ imgabe  ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.imgabe  ];
         };
       };
 
@@ -660,8 +619,8 @@ let
           version = "0.1.0";
           sha256 = "0q089jnzqzhjfnv0vlb5kf747s3mgz64r7q3zscl66zb2pz5q4zd";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -672,19 +631,19 @@ let
           version = "0.7.0";
           sha256 = "0fm4sxx1cb679vn4v85dw8dfp5x0p74m9p2b56gqkvdap0f2q351";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
       coenraads.bracket-pair-colorizer = buildVscodeMarketplaceExtension {
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/CoenraadS.bracket-pair-colorizer/changelog";
           description = "A customizable extension for colorizing matching brackets";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer";
           homepage = "https://github.com/CoenraadS/BracketPair";
-          license = licenses.mit;
-          maintainers = with maintainers; [ ];
+          license = lib.licenses.mit;
+          maintainers = [ ];
         };
         mktplcRef = {
           name = "bracket-pair-colorizer";
@@ -701,8 +660,8 @@ let
           version = "0.2.2";
           sha256 = "0zcbs7h801agfs2cggk1cz8m8j0i2ypmgznkgw17lcx3zisll9ad";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -713,12 +672,12 @@ let
           version = "0.0.3";
           sha256 = "sha256-D5zLp3ruq0F9UFT9emgOBDLr1tya2Vw52VvCc40TtV0=";
         };
-        meta = with lib; {
+        meta = {
           description = "Lightweight syntax highlighting for LLVM IR";
           homepage = "https://github.com/colejcummins/llvm-syntax-highlighting";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=colejcummins.llvm-syntax-highlighting";
-          maintainers = with lib.maintainers; [ inclyc ];
-          license = licenses.mit;
+          maintainers = [ lib.maintainers.inclyc ];
+          license = lib.licenses.mit;
         };
       };
 
@@ -731,7 +690,24 @@ let
         };
         meta = {
           license = lib.licenses.mit;
-          maintainers = with lib.maintainers; [ kamadorueda ];
+          maintainers = [ lib.maintainers.kamadorueda ];
+        };
+      };
+
+      chris-hayes.chatgpt-reborn = buildVscodeMarketplaceExtension {
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/chris-hayes.chatgpt-reborn/changelog";
+          description = "A Visual Studio Code extension to support ChatGPT, GPT-3 and Codex conversations";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=chris-hayes.chatgpt-reborn";
+          homepage = "https://github.com/christopher-hayes/vscode-chatgpt-reborn";
+          license = lib.licenses.isc;
+          maintainers = [ lib.maintainers.drupol ];
+        };
+        mktplcRef = {
+          name = "chatgpt-reborn";
+          publisher = "chris-hayes";
+          version = "3.10.2";
+          sha256 = "sha256-rVfHJxJYgwaiWuckHGcTMIoaFSs3RH4vIrp1I/48pCI=";
         };
       };
 
@@ -749,23 +725,6 @@ let
         };
       };
 
-      dbaeumer.vscode-eslint = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "vscode-eslint";
-          publisher = "dbaeumer";
-          version = "2.4.0";
-          sha256 = "sha256-7MUQJkLPOF3oO0kpmfP3bWbS3aT7J0RF7f74LW55BQs=";
-        };
-        meta = with lib; {
-          changelog = "https://marketplace.visualstudio.com/items/dbaeumer.vscode-eslint/changelog";
-          description = "Integrates ESLint JavaScript into VS Code.";
-          downloadPage = "https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint";
-          homepage = "https://github.com/Microsoft/vscode-eslint";
-          license = licenses.mit;
-          maintainers = with maintainers; [ datafoo ];
-        };
-      };
-
       daohong-emilio.yash = buildVscodeMarketplaceExtension {
         mktplcRef = {
           publisher = "daohong-emilio";
@@ -775,8 +734,30 @@ let
         };
         meta = {
           license = lib.licenses.mit;
-          maintainers = with lib.maintainers; [ kamadorueda ];
+          maintainers = [ lib.maintainers.kamadorueda ];
+        };
+      };
+
+      dart-code.dart-code = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "dart-code";
+          publisher = "dart-code";
+          version = "3.50.0";
+          sha256 = "sha256-vdECvW4BfuT3H6GD2cH7lVW0f5591pKjXsWyJzzpHYA=";
         };
+
+        meta.license = lib.licenses.mit;
+      };
+
+      dart-code.flutter = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "flutter";
+          publisher = "dart-code";
+          version = "3.50.0";
+          sha256 = "sha256-2Mi0BWXfO73BBIZIRJMaQyml+jXBI9d7By+vx9Rg+pE=";
+        };
+
+        meta.license = lib.licenses.mit;
       };
 
       davidanson.vscode-markdownlint = buildVscodeMarketplaceExtension {
@@ -786,13 +767,13 @@ let
           version = "0.49.0";
           sha256 = "sha256-Mh/OoRK410aXEr3sK2CYFDsXGSqFT+JOWi9jHOdK01Y=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/DavidAnson.vscode-markdownlint/changelog";
           description = "Markdown linting and style checking for Visual Studio Code";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint";
           homepage = "https://github.com/DavidAnson/vscode-markdownlint";
-          license = licenses.mit;
-          maintainers = with maintainers; [ datafoo ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.datafoo ];
         };
       };
 
@@ -803,12 +784,29 @@ let
           version = "0.19.0";
           sha256 = "sha256-crq6CTXpzwHJL8FPIBneAGjDgUUNdpBt6rIaMCr1F1U=";
         };
-        meta = with lib; {
+        meta = {
           description = "LanguageTool integration for VS Code";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=davidlday.languagetool-linter";
           homepage = "https://github.com/davidlday/vscode-languagetool-linter";
-          license = licenses.asl20;
-          maintainers = with maintainers; [ ebbertd ];
+          license = lib.licenses.asl20;
+          maintainers = [ lib.maintainers.ebbertd ];
+        };
+      };
+
+      dbaeumer.vscode-eslint = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-eslint";
+          publisher = "dbaeumer";
+          version = "2.4.0";
+          sha256 = "sha256-7MUQJkLPOF3oO0kpmfP3bWbS3aT7J0RF7f74LW55BQs=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/dbaeumer.vscode-eslint/changelog";
+          description = "Integrates ESLint JavaScript into VS Code.";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint";
+          homepage = "https://github.com/Microsoft/vscode-eslint";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.datafoo ];
         };
       };
 
@@ -819,13 +817,13 @@ let
           version = "3.12.0";
           sha256 = "sha256-ZsHCWQtEQKkdZ3uk072ZBfHFRzk4Owf4h7+szHLgIeo=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/denoland.vscode-deno/changelog";
           description = "A language server client for Deno";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno";
           homepage = "https://github.com/denoland/vscode_deno";
-          license = licenses.mit;
-          maintainers = with maintainers; [ ratsclub ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.ratsclub ];
         };
       };
 
@@ -866,24 +864,24 @@ let
           version = "5.8.5";
           sha256 = "25v2tdAX7fVl2B5nvOIKN9vP1G5rA0G67CiDQn9n9Uc=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/DivyanshuAgrawal.competitive-programming-helper/changelog";
           description = "Makes judging, compiling, and downloading problems for competitve programming easy. Also supports auto-submit for a few sites.";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=DivyanshuAgrawal.competitive-programming-helper";
           homepage = "https://github.com/agrawal-d/cph";
-          license = licenses.gpl3;
-          maintainers = with maintainers; [ arcticlimer ];
+          license = lib.licenses.gpl3;
+          maintainers = [ lib.maintainers.arcticlimer ];
         };
       };
 
       donjayamanne.githistory = buildVscodeMarketplaceExtension {
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/donjayamanne.githistory/changelog";
           description = "View git log, file history, compare branches or commits";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory";
           homepage = "https://github.com/DonJayamanne/gitHistoryVSCode/";
-          license = licenses.mit;
-          maintainers = with maintainers; [ ];
+          license = lib.licenses.mit;
+          maintainers = [ ];
         };
         mktplcRef = {
           name = "githistory";
@@ -914,12 +912,12 @@ let
           version = "2.24.2";
           sha256 = "sha256-YNqWEIvlEI29mfPxOQVdd4db9G2qNodhz8B0MCAAWK8=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/dracula-theme.theme-dracula/changelog";
           description = "Dark theme for many editors, shells, and more";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=dracula-theme.theme-dracula";
           homepage = "https://draculatheme.com/";
-          license = licenses.mit;
+          license = lib.licenses.mit;
         };
       };
 
@@ -934,7 +932,7 @@ let
           version = "13.4.0";
           sha256 = "sha256-CYI62sWPlJNRP2KIkg4vQutIMC6gaCxtTVoOWZIS8Lw=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/eamodio.gitlens/changelog";
           description = "GitLens supercharges the Git capabilities built into Visual Studio Code.";
           longDescription = ''
@@ -944,8 +942,8 @@ let
           '';
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens";
           homepage = "https://gitlens.amod.io/";
-          license = licenses.mit;
-          maintainers = with maintainers; [ ratsclub ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.ratsclub ];
         };
       };
 
@@ -956,13 +954,13 @@ let
           version = "0.16.4";
           sha256 = "0fa4h9hk1xq6j3zfxvf483sbb4bd17fjl5cdm3rll7z9kaigdqwg";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/EditorConfig.EditorConfig/changelog";
           description = "EditorConfig Support for Visual Studio Code";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig";
           homepage = "https://github.com/editorconfig/editorconfig-vscode";
-          license = licenses.mit;
-          maintainers = with maintainers; [ dbirks ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.dbirks ];
         };
       };
 
@@ -990,6 +988,23 @@ let
         };
       };
 
+      elixir-lsp.vscode-elixir-ls = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "elixir-ls";
+          publisher = "JakeBecker";
+          version = "0.13.0";
+          sha256 = "sha256-1uaLFTMvkcYrYAt9qDdISJneKxHo9qsris70iowGW2s=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
+          description = "Elixir support with debugger, autocomplete, and more. Powered by ElixirLS.";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=JakeBecker.elixir-ls";
+          homepage = "https://github.com/elixir-lsp/elixir-ls";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.datafoo ];
+        };
+      };
+
       elmtooling.elm-ls-vscode = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "elm-ls-vscode";
@@ -997,13 +1012,13 @@ let
           version = "2.4.0";
           sha256 = "sha256-5hYlkx8hlwS8iWTlfupX8XjTLAY/KUi0bd3jf/tm92o=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/Elmtooling.elm-ls-vscode/changelog";
           description = "Elm language server";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode";
           homepage = "https://github.com/elm-tooling/elm-language-client-vscode";
-          license = licenses.mit;
-          maintainers = with maintainers; [ mcwitt ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.mcwitt ];
         };
       };
 
@@ -1014,8 +1029,8 @@ let
           version = "2.1.79";
           sha256 = "1cr1pxgxlfr643sfxbcr2xd53s1dnzcpacjj0ffkgizfda2psy78";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -1026,13 +1041,13 @@ let
           version = "9.10.4";
           sha256 = "sha256-khtyB0Qbm+iuM1GsAaF32YRv1VBTIy7daeCKdgwCIC8=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/esbenp.prettier-vscode/changelog";
           description = "Code formatter using prettier";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode";
           homepage = "https://github.com/prettier/prettier-vscode";
-          license = licenses.mit;
-          maintainers = with maintainers; [ datafoo  ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.datafoo  ];
         };
       };
 
@@ -1058,12 +1073,12 @@ let
           jq '.contributes.configuration.properties."magicRacket.general.racketPath".default = "${racket}/bin/racket"' package.json | sponge package.json
           jq '.contributes.configuration.properties."magicRacket.general.racoPath".default = "${racket}/bin/raco"' package.json | sponge package.json
         '';
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/evzen-wybitul.magic-racket/changelog";
           description = "The best coding experience for Racket in VS Code";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=evzen-wybitul.magic-racket";
           homepage = "https://github.com/Eugleo/magic-racket";
-          license = licenses.agpl3Only;
+          license = lib.licenses.agpl3Only;
         };
       };
 
@@ -1074,24 +1089,24 @@ let
           version = "0.0.3";
           sha256 = "6254f52157dc796eae7bf135ac88c1c9cc19d884625331a1e634f9768722cc3d";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/faustinoaq.lex-flex-yacc-bison/changelog";
           description = "Language support for Lex, Flex, Yacc and Bison.";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=faustinoaq.lex-flex-yacc-bison";
           homepage = "https://github.com/faustinoaq/vscode-lex-flex-yacc-bison";
-          license = licenses.mit;
-          maintainers = with maintainers; [ emilytrau ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.emilytrau ];
         };
       };
 
       file-icons.file-icons = buildVscodeMarketplaceExtension {
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/file-icons.file-icons/changelog";
           description = "File-specific icons in VSCode for improved visual grepping.";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=file-icons.file-icons";
           homepage = "https://github.com/file-icons/vscode";
-          license = licenses.mit;
-          maintainers = with maintainers; [ ];
+          license = lib.licenses.mit;
+          maintainers = [ ];
         };
         mktplcRef = {
           name = "file-icons";
@@ -1108,13 +1123,13 @@ let
           version = "2.9.8";
           sha256 = "sha256-MCL562FPgEfhUM1KH5LMl7BblbjIkQ4UEwB67RlO5Mk=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/firefox-devtools.vscode-firefox-debug/changelog";
           description = "A Visual Studio Code extension for debugging web applications and browser extensions in Firefox";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=firefox-devtools.vscode-firefox-debug";
           homepage = "https://github.com/firefox-devtools/vscode-firefox-debug";
-          license = licenses.mit;
-          maintainers = with maintainers; [ felschr ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.felschr ];
         };
       };
 
@@ -1125,13 +1140,13 @@ let
           version = "0.18.3";
           sha256 = "sha256-qbF4k3GP7UdQrw0x/egVRkv5TYDwYWoycxY/HJSFTkI=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/foam.foam-vscode/changelog";
           description = "A personal knowledge management and sharing system for VSCode ";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=foam.foam-vscode";
           homepage = "https://foambubble.github.io/";
-          license = licenses.mit;
-          maintainers = with maintainers; [ ratsclub ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.ratsclub ];
         };
       };
 
@@ -1186,22 +1201,22 @@ let
           jq '.contributes.configuration.properties."shellformat.path".default = "${shfmt}/bin/shfmt"' package.json | sponge package.json
         '';
 
-        meta = with lib; {
+        meta = {
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=foxundermoon.shell-format";
           homepage = "https://github.com/foxundermoon/vs-shell-format";
-          license = licenses.mit;
-          maintainers = with maintainers; [ dbirks ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.dbirks ];
         };
       };
 
       freebroccolo.reasonml = buildVscodeMarketplaceExtension {
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/freebroccolo.reasonml/changelog";
           description = "Reason support for Visual Studio Code";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=freebroccolo.reasonml";
           homepage = "https://github.com/reasonml-editor/vscode-reasonml";
-          license = licenses.asl20;
-          maintainers = with maintainers; [ ];
+          license = lib.licenses.asl20;
+          maintainers = [ ];
         };
         mktplcRef = {
           name = "reasonml";
@@ -1218,98 +1233,29 @@ let
           version = "1.7.8";
           sha256 = "18qws35qvnl0ahk5sxh4mzkw0ib788y1l97ijmpjszs0cd4bfsa6";
         };
-        meta = with lib; {
+        meta = {
           description = "VSCode extension for SCSS";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=gencer.html-slim-scss-css-class-completion";
           homepage = "https://github.com/gencer/SCSS-Everywhere";
-          license = licenses.mit;
-          maintainers = with maintainers; [  ];
-        };
-      };
-
-      gitlab.gitlab-workflow = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "gitlab-workflow";
-          publisher = "gitlab";
-          version = "3.44.2";
-          sha256 = "sha256-S2PI+r4LrHA7tW2EMfcAkP5jUnd0mCEV72oTXMa9Xkc=";
-        };
-        meta = with lib; {
-          description = "GitLab extension for Visual Studio Code";
-          downloadPage = "https://marketplace.visualstudio.com/items?itemName=gitlab.gitlab-workflow";
-          homepage = "https://gitlab.com/gitlab-org/gitlab-vscode-extension#readme";
-          license = licenses.mit;
-          maintainers = with maintainers; [  ];
-        };
-      };
-
-      grapecity.gc-excelviewer = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "gc-excelviewer";
-          publisher = "grapecity";
-          version = "4.2.55";
-          sha256 = "sha256-yHl6ZTGIKOEsqmyeYtgDUhNAN9uRpoFApA7FKkPWW3E=";
-        };
-        meta = with lib; {
-          description = "Edit Excel spreadsheets and CSV files in Visual Studio Code and VS Code for the Web";
-          downloadPage = "https://marketplace.visualstudio.com/items?itemName=grapecity.gc-excelviewer";
-          homepage = "https://github.com/jjuback/gc-excelviewer";
-          license = licenses.mit;
-          maintainers = with maintainers; [ kamadorueda ];
-        };
-      };
-
-      humao.rest-client = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          publisher = "humao";
-          name = "rest-client";
-          version = "0.24.6";
-          sha256 = "196pm7gv0488bpv1lklh8hpwmdqc4yimz389gad6nsna368m4m43";
-        };
-        meta = with lib; {
-          license = licenses.mit;
-        };
-      };
-
-      jellyedwards.gitsweep = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          publisher = "jellyedwards";
-          name = "gitsweep";
-          version = "0.0.15";
-          sha256 = "rKAy84Uiat5VOQXd4OXToNfxAJ6SuWPT47vuiyK4qwg=";
-        };
-        meta = with lib; {
-          changelog = "https://marketplace.visualstudio.com/items/jellyedwards.gitsweep/changelog";
-          description = "VS Code extension which allows you to easily exclude modified or new files so they don't get committed accidentally";
-          downloadPage = "https://marketplace.visualstudio.com/items?itemName=jellyedwards.gitsweep";
-          homepage = "https://github.com/jellyedwards/gitsweep";
-          license = licenses.mit;
-          maintainers = with maintainers; [ MatthieuBarthel ];
+          license = lib.licenses.mit;
+          maintainers = [ ];
         };
       };
 
-      jkillian.custom-local-formatters = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          publisher = "jkillian";
-          name = "custom-local-formatters";
-          version = "0.0.4";
-          sha256 = "1pmqnc759fq86g2z3scx5xqpni9khcqi5z2kpl1kb7yygsv314gm";
-        };
+      genieai.chatgpt-vscode = buildVscodeMarketplaceExtension {
         meta = {
-          license = lib.licenses.mit;
-          maintainers = with lib.maintainers; [ kamadorueda ];
+          changelog = "https://marketplace.visualstudio.com/items/genieai.chatgpt-vscode/changelog";
+          description = "A Visual Studio Code extension to support ChatGPT, GPT-3 and Codex conversations";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=genieai.chatgpt-vscode";
+          homepage = "https://github.com/ai-genie/chatgpt-vscode";
+          license = lib.licenses.isc;
+          maintainers = [ lib.maintainers.drupol ];
         };
-      };
-
-      kamikillerto.vscode-colorize = buildVscodeMarketplaceExtension {
         mktplcRef = {
-            name = "vscode-colorize";
-            publisher = "kamikillerto";
-            version = "0.11.1";
-            sha256 = "1h82b1jz86k2qznprng5066afinkrd7j3738a56idqr3vvvqnbsm";
-        };
-        meta = {
-          license = lib.licenses.asl20;
+          name = "chatgpt-vscode";
+          publisher = "genieai";
+          version = "0.0.2";
+          sha256 = "sha256-mdBSZ8BAJ1dFy5MXBPMwXlSmNsY5vD/+gBAI+3+QT84=";
         };
       };
 
@@ -1331,12 +1277,12 @@ let
             version = "1.70.8099";
             sha256 = "sha256-+jlLM9UC1DZFBrtiiri4jvpuc/Rf9PcSVP8D8pmQC2s=";
           };
-          meta = with lib; {
+          meta = {
             description = "GitHub Copilot uses OpenAI Codex to suggest code and entire functions in real-time right from your editor.";
             downloadPage = "https://marketplace.visualstudio.com/items?itemName=GitHub.copilot";
             homepage = "https://github.com/features/copilot";
-            license = licenses.unfree;
-            maintainers = with maintainers; [ Zimmi48 ];
+            license = lib.licenses.unfree;
+            maintainers = [ lib.maintainers.Zimmi48 ];
           };
         };
 
@@ -1347,13 +1293,13 @@ let
             version = "4.1.1";
             sha256 = "14wz2b0bn1rnmpj28c0mivz2gacla2dgg8ncv7qfx9bsxhf95g68";
           };
-          meta = with lib; {
+          meta = {
             description = "GitHub theme for VS Code";
             downloadPage =
               "https://marketplace.visualstudio.com/items?itemName=GitHub.github-vscode-theme";
             homepage = "https://github.com/primer/github-vscode-theme";
-            license = licenses.mit;
-            maintainers = with maintainers; [ hugolgst ];
+            license = lib.licenses.mit;
+            maintainers = [ lib.maintainers.hugolgst ];
           };
         };
 
@@ -1368,6 +1314,22 @@ let
         };
       };
 
+      gitlab.gitlab-workflow = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "gitlab-workflow";
+          publisher = "gitlab";
+          version = "3.44.2";
+          sha256 = "sha256-S2PI+r4LrHA7tW2EMfcAkP5jUnd0mCEV72oTXMa9Xkc=";
+        };
+        meta = {
+          description = "GitLab extension for Visual Studio Code";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=gitlab.gitlab-workflow";
+          homepage = "https://gitlab.com/gitlab-org/gitlab-vscode-extension#readme";
+          license = lib.licenses.mit;
+          maintainers = [ ];
+        };
+      };
+
       golang.go = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "Go";
@@ -1380,6 +1342,22 @@ let
         };
       };
 
+      grapecity.gc-excelviewer = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "gc-excelviewer";
+          publisher = "grapecity";
+          version = "4.2.55";
+          sha256 = "sha256-yHl6ZTGIKOEsqmyeYtgDUhNAN9uRpoFApA7FKkPWW3E=";
+        };
+        meta = {
+          description = "Edit Excel spreadsheets and CSV files in Visual Studio Code and VS Code for the Web";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=grapecity.gc-excelviewer";
+          homepage = "https://github.com/jjuback/gc-excelviewer";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.kamadorueda ];
+        };
+      };
+
       graphql.vscode-graphql = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-graphql";
@@ -1399,11 +1377,13 @@ let
           version = "0.0.224";
           sha256 = "sha256-ObFmzAaOlbtWC31JRYR/1y+JK1h22SVDPPRWWqPzrQs=";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
+      hashicorp.terraform = callPackage ./hashicorp.terraform { };
+
       haskell.haskell = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "haskell";
@@ -1411,13 +1391,11 @@ let
           version = "2.2.1";
           sha256 = "14p9g07zsb3da4ilaasgsdvh3wagfzayqr8ichsf6k5c952zi8fk";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta ={
+          license = lib.licenses.mit;
         };
       };
 
-      hashicorp.terraform = callPackage ./terraform { };
-
       hookyqr.beautify = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "beautify";
@@ -1425,8 +1403,20 @@ let
           version = "1.5.0";
           sha256 = "1c0kfavdwgwham92xrh0gnyxkrl9qlkpv39l1yhrldn8vd10fj5i";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
+      humao.rest-client = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "humao";
+          name = "rest-client";
+          version = "0.24.6";
+          sha256 = "196pm7gv0488bpv1lklh8hpwmdqc4yimz389gad6nsna368m4m43";
+        };
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -1437,8 +1427,8 @@ let
           version = "0.1.2";
           sha256 = "0i9kpnlk3naycc7k8gmcxas3s06d67wxr3nnyv5hxmsnsx5sfvb7";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -1449,13 +1439,25 @@ let
           version = "1.6.0";
           sha256 = "1pbk8kflywll6lqhmffz9yjf01dn8xq8sk6rglnfn2kl2ildfhh6";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/iciclesoft.workspacesort/changelog";
           description = "Sort workspace-folders alphabetically rather than in chronological order";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=iciclesoft.workspacesort";
           homepage = "https://github.com/iciclesoft/workspacesort-for-VSCode";
-          license = licenses.mit;
-          maintainers = with maintainers; [ dbirks ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.dbirks ];
+        };
+      };
+
+      influxdata.flux = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "influxdata";
+          name = "flux";
+          version = "0.6.13";
+          sha256 = "0myl7rppzcz7hxy9zjs81vs9p66lnbfcrdr6s5qb4i6929gmywfy";
+        };
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -1466,42 +1468,13 @@ let
           version = "7.5.1";
           sha256 = "sha256-AiDYqYF+F69O/aeolIEzqLmg20YN/I4EV6XMa8UgMns=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/Ionide.Ionide-fsharp/changelog";
           description = "Enhanced F# Language Features for Visual Studio Code";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=Ionide.Ionide-fsharp";
           homepage = "https://ionide.io";
-          license = licenses.mit;
-          maintainers = with maintainers; [ ratsclub ];
-        };
-      };
-
-      elixir-lsp.vscode-elixir-ls = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "elixir-ls";
-          publisher = "JakeBecker";
-          version = "0.13.0";
-          sha256 = "sha256-1uaLFTMvkcYrYAt9qDdISJneKxHo9qsris70iowGW2s=";
-        };
-        meta = with lib; {
-          changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
-          description = "Elixir support with debugger, autocomplete, and more. Powered by ElixirLS.";
-          downloadPage = "https://marketplace.visualstudio.com/items?itemName=JakeBecker.elixir-ls";
-          homepage = "https://github.com/elixir-lsp/elixir-ls";
-          license = licenses.mit;
-          maintainers = with maintainers; [ datafoo ];
-        };
-      };
-
-      influxdata.flux = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          publisher = "influxdata";
-          name = "flux";
-          version = "0.6.13";
-          sha256 = "0myl7rppzcz7hxy9zjs81vs9p66lnbfcrdr6s5qb4i6929gmywfy";
-        };
-        meta = with lib; {
-          license = licenses.mit;
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.ratsclub ];
         };
       };
 
@@ -1512,12 +1485,12 @@ let
           version = "0.1.0";
           sha256 = "sha256-URq90lOFtPCNfSIl2NUwihwRQyqgDysGmBc3NG7o7vk=";
         };
-        meta = with lib; {
+        meta = {
           description = "Adds formatting and syntax highlighting support for env files (.env) to Visual Studio Code";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=IronGeek.vscode-env";
           homepage = "https://github.com/IronGeek/vscode-env.git";
-          license = licenses.mit;
-          maintainers = with maintainers; [  ];
+          license = lib.licenses.mit;
+          maintainers = [ ];
         };
       };
 
@@ -1528,12 +1501,13 @@ let
           version = "9.7.0";
           sha256 = "sha256-Y1KoCOoOJ8CZ3IReDoyzF404CBy1BAWaZSr48EP7bz4=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/James-Yu.latex-workshop/changelog";
           description = "LaTeX Workshop Extension";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop";
           homepage = "https://github.com/James-Yu/LaTeX-Workshop";
-          license = licenses.mit;
+          license = lib.licenses.mit;
+          maintainers = [ ];
         };
       };
 
@@ -1544,17 +1518,47 @@ let
           version = "1.8.0";
           sha256 = "sha256-P4FbbcRcKWbnC86TSnzQaGn2gHWkDM9I4hj4GiHNPS4=";
         };
-        meta = with lib; {
+        meta = {
           description = "Gruvbox Theme";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=jdinhlife.gruvbox";
           homepage = "https://github.com/jdinhify/vscode-theme-gruvbox";
-          license = licenses.mit;
-          maintainers = with maintainers; [ imgabe ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.imgabe ];
         };
       };
 
       jebbs.plantuml = callPackage ./jebbs.plantuml {};
 
+      jellyedwards.gitsweep = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "jellyedwards";
+          name = "gitsweep";
+          version = "0.0.15";
+          sha256 = "rKAy84Uiat5VOQXd4OXToNfxAJ6SuWPT47vuiyK4qwg=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/jellyedwards.gitsweep/changelog";
+          description = "VS Code extension which allows you to easily exclude modified or new files so they don't get committed accidentally";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=jellyedwards.gitsweep";
+          homepage = "https://github.com/jellyedwards/gitsweep";
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.MatthieuBarthel ];
+        };
+      };
+
+      jkillian.custom-local-formatters = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          publisher = "jkillian";
+          name = "custom-local-formatters";
+          version = "0.0.4";
+          sha256 = "1pmqnc759fq86g2z3scx5xqpni9khcqi5z2kpl1kb7yygsv314gm";
+        };
+        meta = {
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.kamadorueda ];
+        };
+      };
+
       jnoortheen.nix-ide = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "nix-ide";
@@ -1562,13 +1566,13 @@ let
           version = "0.2.1";
           sha256 = "sha256-yC4ybThMFA2ncGhp8BYD7IrwYiDU3226hewsRvJYKy4=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/jnoortheen.nix-ide/changelog";
           description = "Nix language support with formatting and error report";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=jnoortheen.nix-ide";
           homepage = "https://github.com/jnoortheen/vscode-nix-ide";
-          license = licenses.mit;
-          maintainers = with maintainers; [  SuperSandro2000 ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.SuperSandro2000 ];
         };
       };
 
@@ -1579,8 +1583,8 @@ let
           version = "1.5.0";
           sha256 = "sha256-anIZxqO4pK77FmhUamRnJVN2q8FifH6ffqRE2eFwyWM=";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -1591,8 +1595,8 @@ let
           version = "4.2.2";
           sha256 = "1z9crpz025ha9hgc9mxxg3vyrsfpf9d16zm1vrf4q592j9156d2m";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -1639,13 +1643,13 @@ let
           version = "0.1.3";
           sha256 = "sha256-CecEv19nEtnMe0KlCMNBM9ZAjbAVgPNUcZ6cBxHw44M=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/kalebpace.balena-vscode/changelog";
           description = "VS Code extension for integration with Balena";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=kalebpace.balena-vscode";
           homepage = "https://github.com/balena-vscode/balena-vscode";
-          license = licenses.mit;
-          maintainers = with maintainers; [ kalebpace ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.kalebpace ];
         };
       };
 
@@ -1669,11 +1673,23 @@ let
           < package.json \
           | sponge package.json
         '';
-        meta = with lib; {
+        meta = {
           description = "The Uncompromising Nix Code Formatter";
           homepage = "https://github.com/kamadorueda/alejandra";
-          license = licenses.unlicense;
-          maintainers = with maintainers; [ kamadorueda ];
+          license = lib.licenses.unlicense;
+          maintainers = [ lib.maintainers.kamadorueda ];
+        };
+      };
+
+      kamikillerto.vscode-colorize = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+            name = "vscode-colorize";
+            publisher = "kamikillerto";
+            version = "0.11.1";
+            sha256 = "1h82b1jz86k2qznprng5066afinkrd7j3738a56idqr3vvvqnbsm";
+        };
+        meta = {
+          license = lib.licenses.asl20;
         };
       };
 
@@ -1696,11 +1712,11 @@ let
           jq '.contributes.configuration.properties."cfnLint.path".default = "${cfn-lint}/bin/cfn-lint"' package.json | sponge package.json
         '';
 
-        meta = with lib; {
+        meta = {
           description = "CloudFormation Linter IDE integration, autocompletion, and documentation";
           homepage = "https://github.com/aws-cloudformation/cfn-lint-visual-studio-code";
           license = lib.licenses.asl20;
-          maintainers = with maintainers; [ wolfangaukang ];
+          maintainers = [ lib.maintainers.wolfangaukang ];
         };
       };
 
@@ -1716,6 +1732,8 @@ let
         };
       };
 
+      llvm-org.lldb-vscode = llvmPackages_8.lldb;
+
       llvm-vs-code-extensions.vscode-clangd = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-clangd";
@@ -1752,7 +1770,7 @@ let
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=lucperkins.vrl-vscode";
           homepage = "https://github.com/lucperkins/vrl-vscode";
           license = lib.licenses.mpl20;
-          maintainers = with lib.maintainers; [ lucperkins ];
+          maintainers = [ lib.maintainers.lucperkins ];
         };
       };
 
@@ -1765,7 +1783,19 @@ let
         };
         meta = {
           license = lib.licenses.mit;
-          maintainers = with lib.maintainers; [ kamadorueda ];
+          maintainers = [ lib.maintainers.kamadorueda ];
+        };
+      };
+
+      marp-team.marp-vscode = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "marp-vscode";
+          publisher = "marp-team";
+          version = "2.4.1";
+          sha256 = "sha256-h59OmFreja9IdFzH2zZaXXh+pnODirL2fPkUmvAgDyA=";
+        };
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -1779,6 +1809,8 @@ let
         meta.license = lib.licenses.mit;
       };
 
+      matklad.rust-analyzer = self.rust-lang.rust-analyzer; # Previous publisher
+
       matthewpi.caddyfile-support = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "caddyfile-support";
@@ -1792,7 +1824,7 @@ let
           homepage = "https://github.com/caddyserver/vscode-caddyfile";
           changelog = "https://marketplace.visualstudio.com/items/matthewpi.caddyfile-support/changelog";
           license = lib.licenses.mit;
-          maintainers = with lib.maintainers; [ matthewpi ];
+          maintainers = [ lib.maintainers.matthewpi ];
         };
       };
 
@@ -1803,13 +1835,13 @@ let
           version = "0.1.12";
           sha256 = "sha256-x6aFrcX0YElEFEr0qA669/LPlab15npmXd5Q585pIEw=";
         };
-        meta = with lib; {
+        meta = {
           description = "Lisp syntax for vscode";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=mattn.lisp";
           homepage = "https://github.com/mattn/vscode-lisp";
           changelog = "https://marketplace.visualstudio.com/items/mattn.lisp/changelog";
-          license = licenses.mit;
-          maintainers = with maintainers; [ kamadorueda ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.kamadorueda ];
         };
       };
 
@@ -1820,33 +1852,33 @@ let
           version = "0.3.7";
           sha256 = "sha256-QT+fb23g+IXlNKNAbjADEpqrS6ll2W8Yd0YzwJAjhQQ=";
         };
-        meta = with lib; {
+        meta = {
           description = "VsCoq is an extension for Visual Studio Code (VS Code) and VSCodium with support for the Coq Proof Assistant.";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=maximedenes.vscoq";
           homepage = "https://github.com/coq-community/vscoq";
-          license = licenses.mit;
-          maintainers = with maintainers; [ Zimmi48 ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.Zimmi48 ];
         };
       };
 
-      mhutchie.git-graph = buildVscodeMarketplaceExtension {
+      mechatroner.rainbow-csv = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "git-graph";
-          publisher = "mhutchie";
-          version = "1.30.0";
-          sha256 = "sha256-sHeaMMr5hmQ0kAFZxxMiRk6f0mfjkg2XMnA4Gf+DHwA=";
+          name = "rainbow-csv";
+          publisher = "mechatroner";
+          version = "2.0.0";
+          sha256 = "0wjlp6lah9jb0646sbi6x305idfgydb6a51pgw4wdnni02gipbrs";
         };
         meta = {
           license = lib.licenses.mit;
         };
       };
 
-      marp-team.marp-vscode = buildVscodeMarketplaceExtension {
+      mhutchie.git-graph = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "marp-vscode";
-          publisher = "marp-team";
-          version = "2.4.1";
-          sha256 = "sha256-h59OmFreja9IdFzH2zZaXXh+pnODirL2fPkUmvAgDyA=";
+          name = "git-graph";
+          publisher = "mhutchie";
+          version = "1.30.0";
+          sha256 = "sha256-sHeaMMr5hmQ0kAFZxxMiRk6f0mfjkg2XMnA4Gf+DHwA=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1884,68 +1916,92 @@ let
           version = "0.10.1";
           sha256 = "0m89sx1qqdkwa9pfmd9b11lp8z0dqpi6jn27js5q4ymscyg41bqd";
         };
-        meta = with lib; {
+        meta = {
           description = "direnv support for Visual Studio Code";
-          license = licenses.bsd0;
+          license = lib.licenses.bsd0;
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=mkhl.direnv";
-          maintainers = with maintainers; [ nullx76 ];
+          maintainers = [ lib.maintainers.nullx76 ];
         };
       };
 
-      mskelton.one-dark-theme = buildVscodeMarketplaceExtension {
+      ms-azuretools.vscode-docker = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "one-dark-theme";
-          publisher = "mskelton";
-          version = "1.7.2";
-          sha256 = "1ks6z8wsxmlfhiwa51f7d6digvw11dlxc7mja3hankgxcf5dyj31";
+          name = "vscode-docker";
+          publisher = "ms-azuretools";
+          version = "1.23.3";
+          sha256 = "sha256-0qflugzWA1pV0PVWGTzOjdxM/0G8hTLOozoXCAdQnRY=";
         };
         meta = {
           license = lib.licenses.mit;
         };
       };
 
-      mechatroner.rainbow-csv = buildVscodeMarketplaceExtension {
+      ms-ceintl = callPackage ./language-packs.nix {}; # non-English language packs
+
+      ms-dotnettools.csharp = callPackage ./ms-dotnettools.csharp { };
+
+      ms-kubernetes-tools.vscode-kubernetes-tools = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "rainbow-csv";
-          publisher = "mechatroner";
-          version = "2.0.0";
-          sha256 = "0wjlp6lah9jb0646sbi6x305idfgydb6a51pgw4wdnni02gipbrs";
+          name = "vscode-kubernetes-tools";
+          publisher = "ms-kubernetes-tools";
+          version = "1.3.4";
+          sha256 = "0ial5ljgm0m35wh5gy4kpr0v7053wi52cv57ad4vcbxc9z00hxrd";
         };
         meta = {
           license = lib.licenses.mit;
         };
       };
 
-      ms-azuretools.vscode-docker = buildVscodeMarketplaceExtension {
+      ms-pyright.pyright = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "vscode-docker";
-          publisher = "ms-azuretools";
-          version = "1.23.3";
-          sha256 = "sha256-0qflugzWA1pV0PVWGTzOjdxM/0G8hTLOozoXCAdQnRY=";
+          name = "pyright";
+          publisher = "ms-pyright";
+          version = "1.1.282";
+          sha256 = "14qkk9gbpwnbkk3dk7b7s92smj374ha7axlsi74fllw74lp4ziwn";
         };
         meta = {
+          description = "VS Code static type checking for Python";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-pyright.pyright";
+          homepage = "https://github.com/Microsoft/pyright#readme";
+          changelog = "https://marketplace.visualstudio.com/items/ms-pyright.pyright/changelog";
           license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.ratsclub ];
         };
       };
 
-      ms-ceintl = callPackage ./language-packs.nix {}; # non-English language packs
+      ms-python.python = callPackage ./ms-python.python { };
+
+      ms-python.vscode-pylance = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-pylance";
+          publisher = "MS-python";
+          version = "2022.7.11";
+          sha256 = "sha256-JatjLZXO7iwpBwjL1hrNafBiF81CaozWWANyRm8A36Y=";
+        };
 
-      ms-dotnettools.csharp = callPackage ./ms-dotnettools-csharp { };
+        buildInputs = [ nodePackages.pyright ];
 
-      ms-kubernetes-tools.vscode-kubernetes-tools = buildVscodeMarketplaceExtension {
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/ms-python.vscode-pylance/changelog";
+          description = "A performant, feature-rich language server for Python in VS Code";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance";
+          homepage = "https://github.com/microsoft/pylance-release";
+          license = lib.licenses.unfree;
+        };
+      };
+
+      ms-vscode.anycode = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "vscode-kubernetes-tools";
-          publisher = "ms-kubernetes-tools";
-          version = "1.3.4";
-          sha256 = "0ial5ljgm0m35wh5gy4kpr0v7053wi52cv57ad4vcbxc9z00hxrd";
+          name = "anycode";
+          publisher = "ms-vscode";
+          version = "0.0.57";
+          sha256 = "sha256-XwL7I+vwZJ6zx5IDZdfOUbq6M9IH/gi7MBe92cG1kDs=";
         };
         meta = {
           license = lib.licenses.mit;
         };
       };
 
-      ms-vscode.cpptools = callPackage ./cpptools { };
-
       ms-vscode.cmake-tools = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "cmake-tools";
@@ -1956,6 +2012,8 @@ let
         meta.license = lib.licenses.mit;
       };
 
+      ms-vscode.cpptools = callPackage ./ms-vscode.cpptools { };
+
       ms-vscode.hexeditor = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "hexeditor";
@@ -1987,16 +2045,16 @@ let
           version = "2023.1.0";
           sha256 = "sha256-OiVb88BGvzsPTzKU1rGLGSMQSwKV4zI9FthOmutz34U=";
         };
-        meta = with lib; {
+        meta = {
           description = "A Visual Studio Code extension for PowerShell language support";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell";
           homepage = "https://github.com/PowerShell/vscode-powershell";
-          license = licenses.mit;
-          maintainers = with maintainers; [ rhoriguchi ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.rhoriguchi ];
         };
       };
 
-      ms-vscode-remote.remote-ssh = callPackage ./remote-ssh { };
+      ms-vscode-remote.remote-ssh = callPackage ./ms-vscode-remote.remote-ssh { };
 
       ms-vscode.theme-tomorrowkit = buildVscodeMarketplaceExtension {
         mktplcRef = {
@@ -2005,40 +2063,35 @@ let
           version = "0.1.4";
           sha256 = "sha256-qakwJWak+IrIeeVcMDWV/fLPx5M8LQGCyhVt4TS/Lmc=";
         };
-        meta = with lib; {
+        meta = {
           description = "Additional Tomorrow and Tomorrow Night themes for VS Code. Based on the TextMate themes.";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-vscode.Theme-TomorrowKit";
           homepage = "https://github.com/microsoft/vscode-themes";
-          license = licenses.mit;
-          maintainers = with maintainers; [ ratsclub ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.ratsclub ];
         };
       };
 
-      ms-pyright.pyright = buildVscodeMarketplaceExtension {
+      ms-toolsai.jupyter = callPackage ./ms-toolsai.jupyter {};
+
+      ms-toolsai.jupyter-keymap = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "pyright";
-          publisher = "ms-pyright";
-          version = "1.1.282";
-          sha256 = "14qkk9gbpwnbkk3dk7b7s92smj374ha7axlsi74fllw74lp4ziwn";
+          name = "jupyter-keymap";
+          publisher = "ms-toolsai";
+          version = "1.0.0";
+          sha256 = "0wkwllghadil9hk6zamh9brhgn539yhz6dlr97bzf9szyd36dzv8";
         };
-        meta = with lib; {
-          description = "VS Code static type checking for Python";
-          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-pyright.pyright";
-          homepage = "https://github.com/Microsoft/pyright#readme";
-          changelog = "https://marketplace.visualstudio.com/items/ms-pyright.pyright/changelog";
-          license = licenses.mit;
-          maintainers = with maintainers; [ ratsclub ];
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
-      ms-python.python = callPackage ./python { };
-
-      msjsdiag.debugger-for-chrome = buildVscodeMarketplaceExtension {
+      ms-toolsai.jupyter-renderers = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "debugger-for-chrome";
-          publisher = "msjsdiag";
-          version = "4.12.11";
-          sha256 = "sha256-9i3TgCFThnFF5ccwzS4ATj5c2Xoe/4tDFGv75jJxeQ4=";
+          name = "jupyter-renderers";
+          publisher = "ms-toolsai";
+          version = "1.0.12";
+          sha256 = "12l5z60kpz3nx77l8ck6a6w4qdzyz3xkn6k9670r30w365q9lf0z";
         };
         meta = {
           license = lib.licenses.mit;
@@ -2069,38 +2122,26 @@ let
         };
       };
 
-      ms-toolsai.jupyter = callPackage ./ms-toolsai-jupyter {};
-
-      ms-toolsai.jupyter-keymap = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "jupyter-keymap";
-          publisher = "ms-toolsai";
-          version = "1.0.0";
-          sha256 = "0wkwllghadil9hk6zamh9brhgn539yhz6dlr97bzf9szyd36dzv8";
-        };
-        meta = {
-          license = lib.licenses.mit;
-        };
-      };
+      ms-vsliveshare.vsliveshare = callPackage ./ms-vsliveshare.vsliveshare { };
 
-      ms-toolsai.jupyter-renderers = buildVscodeMarketplaceExtension {
+      msjsdiag.debugger-for-chrome = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "jupyter-renderers";
-          publisher = "ms-toolsai";
-          version = "1.0.12";
-          sha256 = "12l5z60kpz3nx77l8ck6a6w4qdzyz3xkn6k9670r30w365q9lf0z";
+          name = "debugger-for-chrome";
+          publisher = "msjsdiag";
+          version = "4.12.11";
+          sha256 = "sha256-9i3TgCFThnFF5ccwzS4ATj5c2Xoe/4tDFGv75jJxeQ4=";
         };
         meta = {
           license = lib.licenses.mit;
         };
       };
 
-      ms-vscode.anycode = buildVscodeMarketplaceExtension {
+      mskelton.one-dark-theme = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "anycode";
-          publisher = "ms-vscode";
-          version = "0.0.57";
-          sha256 = "sha256-XwL7I+vwZJ6zx5IDZdfOUbq6M9IH/gi7MBe92cG1kDs=";
+          name = "one-dark-theme";
+          publisher = "mskelton";
+          version = "1.7.2";
+          sha256 = "1ks6z8wsxmlfhiwa51f7d6digvw11dlxc7mja3hankgxcf5dyj31";
         };
         meta = {
           license = lib.licenses.mit;
@@ -2126,13 +2167,13 @@ let
           version = "2.6.0";
           sha256 = "sha256-TcPQOAHCYeFHPdR85GIXsy3fx70p8cLdO2UNO0krUOs=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/naumovs.color-highlight/changelog";
           description = "Highlight web colors in your editor";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=naumovs.color-highlight";
           homepage = "https://github.com/enyancc/vscode-ext-color-highlight";
-          license = licenses.gpl3Only;
-          maintainers = with maintainers; [ datafoo ];
+          license = lib.licenses.gpl3Only;
+          maintainers = [ lib.maintainers.datafoo ];
         };
       };
 
@@ -2143,25 +2184,30 @@ let
           version = "0.6.1";
           sha256 = "sha256-NI0cbjsZPW8n6qRTRKoqznSDhLZRUguP7Sa/d0feeoc=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/njpwerner.autodocstring/changelog";
           description = "Generates python docstrings automatically";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring";
           homepage = "https://github.com/NilsJPWerner/autoDocstring";
-          license = licenses.mit;
-          maintainers = with maintainers; [ kamadorueda ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.kamadorueda ];
         };
       };
 
-      octref.vetur = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "vetur";
-          publisher = "octref";
-          version = "0.34.1";
-          sha256 = "09w3bik1mxs7qac67wgrc58vl98ham3syrn2anycpwd7135wlpby";
-        };
+      ocamllabs.ocaml-platform = buildVscodeMarketplaceExtension {
         meta = {
-          license = lib.licenses.mit;
+          changelog = "https://marketplace.visualstudio.com/items/ocamllabs.ocaml-platform/changelog";
+          description = "Official OCaml Support from OCamlLabs";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ocamllabs.ocaml-platform";
+          homepage = "https://github.com/ocamllabs/vscode-ocaml-platform";
+          license = lib.licenses.isc;
+          maintainers = [ lib.maintainers.ratsclub ];
+        };
+        mktplcRef = {
+          name = "ocaml-platform";
+          publisher = "ocamllabs";
+          version = "1.10.7";
+          sha256 = "sha256-BxVur+aSbFPyX+DW9tQcfJEyImkbTC6O0uOV2d76au0=";
         };
       };
 
@@ -2172,12 +2218,24 @@ let
           version = "8.2.2";
           sha256 = "sha256-7kkJc+hhYaSKUbK4eYwOnLvae80sIg7rd0E4YyCXtPc=";
         };
-        meta = with lib; {
+        meta = {
           description = "Makes indentation easier to read";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow";
           homepage = "https://github.com/oderwat/vscode-indent-rainbow";
-          license = licenses.mit;
-          maintainers = with maintainers; [ imgabe ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.imgabe ];
+        };
+      };
+
+      octref.vetur = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vetur";
+          publisher = "octref";
+          version = "0.34.1";
+          sha256 = "09w3bik1mxs7qac67wgrc58vl98ham3syrn2anycpwd7135wlpby";
+        };
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -2188,92 +2246,28 @@ let
           version = "0.1.1";
           sha256 = "sha256-AfCwU4FF8a8C9D6+lyUDbAOLlD5SpZZw8CZVGpzRoV0=";
         };
-        meta = with lib; {
+        meta = {
           description = "Syntax highlighting support for HEEx / Phoenix templates";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=phoenixframework.phoenix";
           homepage = "https://github.com/phoenixframework/vscode-phoenix";
-          license = licenses.mit;
-          maintainers = with maintainers; [  ];
-        };
-      };
-
-      redhat.java = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "java";
-          publisher = "redhat";
-          version = "1.15.2023021403";
-          sha256 = "sha256-g56+nproGC8zHidyf1Tqz0kbJrmrkgOsDA5jqaZULas=";
-        };
-        buildInputs = [ jdk ];
-        meta = {
-          license = lib.licenses.epl20;
-          broken = lib.versionOlder jdk.version "11";
-        };
-      };
-
-      redhat.vscode-xml = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "vscode-xml";
-          publisher = "redhat";
-          version = "0.23.2022120303";
-          sha256 = "sha256-rQvbb7GOUwVwg/049jchJMJTwaFsOP63AovcEmr2HXs=";
-        };
-        meta.license = lib.licenses.epl20;
-      };
-
-      redhat.vscode-yaml = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "vscode-yaml";
-          publisher = "redhat";
-          version = "1.11.10112022";
-          sha256 = "0i53n9whcfpds9496r4pa27j3zmd4jc1kpkf4m4rfxzswwngg47x";
-        };
-        meta = {
           license = lib.licenses.mit;
+          maintainers = [ ];
         };
       };
 
-      rioj7.commandOnAllFiles = buildVscodeMarketplaceExtension {
+      piousdeer.adwaita-theme = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "commandOnAllFiles";
-          publisher = "rioj7";
-          version = "0.3.0";
-          sha256 = "sha256-tNFHrgFJ22YGQgkYw+0l4G6OtlUYVn9brJPLnsvSwRE=";
+          name = "adwaita-theme";
+          publisher = "piousdeer";
+          version = "1.1.0";
+          sha256 = "sha256-tKpKLUcc33YrgDS95PJu22ngxhwjqeVMC1Mhhy+IPGE=";
         };
         meta = {
-          license = lib.licenses.mit;
-        };
-      };
-
-      rubymaniac.vscode-paste-and-indent = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "vscode-paste-and-indent";
-          publisher = "Rubymaniac";
-          version = "0.0.8";
-          sha256 = "0fqwcvwq37ndms6vky8jjv0zliy6fpfkh8d9raq8hkinfxq6klgl";
-        };
-        meta = with lib; {
-          license = licenses.mit;
-        };
-      };
-
-      rust-lang.rust-analyzer = callPackage ./rust-analyzer { };
-      matklad.rust-analyzer = self.rust-lang.rust-analyzer; # Previous publisher
-
-      ocamllabs.ocaml-platform = buildVscodeMarketplaceExtension {
-        meta = with lib; {
-          changelog = "https://marketplace.visualstudio.com/items/ocamllabs.ocaml-platform/changelog";
-          description = "Official OCaml Support from OCamlLabs";
-          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ocamllabs.ocaml-platform";
-          homepage = "https://github.com/ocamllabs/vscode-ocaml-platform";
-          license = licenses.isc;
-          maintainers = with maintainers; [ ratsclub  ];
-        };
-        mktplcRef = {
-          name = "ocaml-platform";
-          publisher = "ocamllabs";
-          version = "1.10.7";
-          sha256 = "sha256-BxVur+aSbFPyX+DW9tQcfJEyImkbTC6O0uOV2d76au0=";
+          description = "Theme for the GNOME desktop";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=piousdeer.adwaita-theme";
+          homepage = "https://github.com/piousdeer/vscode-adwaita";
+          license = lib.licenses.gpl3;
+          maintainers = [ lib.maintainers.wyndon ];
         };
       };
 
@@ -2301,22 +2295,6 @@ let
         };
       };
 
-      piousdeer.adwaita-theme = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "adwaita-theme";
-          publisher = "piousdeer";
-          version = "1.1.0";
-          sha256 = "sha256-tKpKLUcc33YrgDS95PJu22ngxhwjqeVMC1Mhhy+IPGE=";
-        };
-        meta = with lib; {
-          description = "Theme for the GNOME desktop";
-          downloadPage = "https://marketplace.visualstudio.com/items?itemName=piousdeer.adwaita-theme";
-          homepage = "https://github.com/piousdeer/vscode-adwaita";
-          license = licenses.gpl3;
-          maintainers = with maintainers; [ wyndon ];
-        };
-      };
-
       prisma.prisma = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "prisma";
@@ -2324,13 +2302,13 @@ let
           version = "4.2.0";
           sha256 = "sha256-1U3JlWfIlTt0AMPsiP3vD2ZEzD2oUsYsqRRwBQeoLIA=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/Prisma.prisma/changelog";
           description = "VSCode extension for syntax highlighting, formatting, auto-completion, jump-to-definition and linting for .prisma files";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=Prisma.prisma";
           homepage = "https://github.com/prisma/language-tools";
-          license = licenses.asl20;
-          maintainers = with maintainers; [  ];
+          license = lib.licenses.asl20;
+          maintainers = [ ];
         };
       };
 
@@ -2345,6 +2323,42 @@ let
         meta.license = lib.licenses.mit;
       };
 
+      redhat.java = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "java";
+          publisher = "redhat";
+          version = "1.15.2023021403";
+          sha256 = "sha256-g56+nproGC8zHidyf1Tqz0kbJrmrkgOsDA5jqaZULas=";
+        };
+        buildInputs = [ jdk ];
+        meta = {
+          license = lib.licenses.epl20;
+          broken = lib.versionOlder jdk.version "11";
+        };
+      };
+
+      redhat.vscode-yaml = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-yaml";
+          publisher = "redhat";
+          version = "1.11.10112022";
+          sha256 = "0i53n9whcfpds9496r4pa27j3zmd4jc1kpkf4m4rfxzswwngg47x";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
+      redhat.vscode-xml = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-xml";
+          publisher = "redhat";
+          version = "0.23.2022120303";
+          sha256 = "sha256-rQvbb7GOUwVwg/049jchJMJTwaFsOP63AovcEmr2HXs=";
+        };
+        meta.license = lib.licenses.epl20;
+      };
+
       richie5um2.snake-trail = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "snake-trail";
@@ -2352,8 +2366,20 @@ let
           version = "0.6.0";
           sha256 = "0wkpq9f48hplrgabb0v1ij6fc4sb8h4a93dagw4biprhnnm3qx49";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
+      rioj7.commandOnAllFiles = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "commandOnAllFiles";
+          publisher = "rioj7";
+          version = "0.3.0";
+          sha256 = "sha256-tNFHrgFJ22YGQgkYw+0l4G6OtlUYVn9brJPLnsvSwRE=";
+        };
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -2364,8 +2390,8 @@ let
           version = "5.6.1";
           sha256 = "sha256-QPMZMttYV+dQfWTniA7nko7kXukqU9g6Wj5YDYfL6hw=";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -2381,6 +2407,18 @@ let
         };
       };
 
+      rubymaniac.vscode-paste-and-indent = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-paste-and-indent";
+          publisher = "Rubymaniac";
+          version = "0.0.8";
+          sha256 = "0fqwcvwq37ndms6vky8jjv0zliy6fpfkh8d9raq8hkinfxq6klgl";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       rubbersheep.gi = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "gi";
@@ -2393,6 +2431,8 @@ let
         };
       };
 
+      rust-lang.rust-analyzer = callPackage ./rust-lang.rust-analyzer { };
+
       ryu1kn.partial-diff = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "partial-diff";
@@ -2421,7 +2461,7 @@ let
           '';
           homepage = "https://github.com/sana-ajani/taskrunner-code";
           license = lib.licenses.mit;
-          maintainers = with lib.maintainers; [ pbsds ];
+          maintainers = [ lib.maintainers.pbsds ];
         };
       };
 
@@ -2470,7 +2510,7 @@ let
         };
         meta = {
           license = lib.licenses.mit;
-          maintainers = with lib.maintainers; [ kamadorueda ];
+          maintainers = [ lib.maintainers.kamadorueda ];
         };
       };
 
@@ -2478,8 +2518,8 @@ let
         mktplcRef = {
           publisher = "shd101wyy";
           name = "markdown-preview-enhanced";
-          version = "0.6.3";
-          sha256 = "dCWERQ5rHnmYLtYl12gJ+dXLnpMu55WnmF1VfdP0x34=";
+          version = "0.6.8";
+          sha256 = "9NRaHgtyiZJ0ic6h1B01MWzYhDABAl3Jm2IUPogYWr0=";
         };
         meta = {
           description = "Provides a live preview of markdown using either markdown-it or pandoc";
@@ -2490,7 +2530,7 @@ let
           '';
           homepage = "https://github.com/shd101wyy/vscode-markdown-preview-enhanced";
           license = lib.licenses.ncsa;
-          maintainers = with lib.maintainers; [ pbsds ];
+          maintainers = [ lib.maintainers.pbsds ];
         };
       };
 
@@ -2525,13 +2565,13 @@ let
           version = "2.0.0";
           sha256 = "sha256-FOp/dcW0+07rADEpUMzx+SGYjhvE4IhcCOqUQ38yCN4=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://github.com/skellock/vscode-just/blob/master/CHANGELOG.md";
           description = "Provides syntax and recipe launcher for Just scripts";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=skellock.just";
           homepage = "https://github.com/skellock/vscode-just";
-          license = licenses.mit;
-          maintainers = with maintainers; [ maximsmol ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.maximsmol ];
         };
       };
 
@@ -2576,8 +2616,8 @@ let
           version = "0.9.3";
           sha256 = "1kvsj085w1xax6fg0kvsj1cizqh86i0pkzpwi0sbfvmcq21i6ghn";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -2588,12 +2628,12 @@ let
           version = "0.0.8";
           sha256 = "0j8pmrs1lk138vhqx594pzxvrma4yl3jh7ihqm2kgh0cwnkbj36m";
         };
-        meta = with lib; {
+        meta = {
           description = "VSCode extension for Elixir EEx and HTML (EEx) code snippets";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=stefanjarina.vscode-eex-snippets";
           homepage = "https://github.com/stefanjarina/vscode-eex-snippets";
-          license = licenses.mit;
-          maintainers = with maintainers; [  ];
+          license = lib.licenses.mit;
+          maintainers = [ ];
         };
       };
 
@@ -2604,13 +2644,13 @@ let
           version = "0.0.6";
           sha256 = "0mph2nval1ddmv9hpl51fdvmagzkqsn8ljwqsfha2130bb7la0d9";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/stephlin.vscode-tmux-keybinding/changelog";
           description = "A simple extension for tmux behavior in vscode terminal.";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=stephlin.vscode-tmux-keybinding";
           homepage = "https://github.com/StephLin/vscode-tmux-keybinding";
-          license = licenses.mit;
-          maintainers = with maintainers; [ dbirks ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.dbirks ];
         };
       };
 
@@ -2621,13 +2661,13 @@ let
           version = "1.16.3";
           sha256 = "sha256-WHeLTN992ltEZw2W7B3sJrHfAFsOGMq3llV4C0hXLNA=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://github.com/stkb/Rewrap/blob/master/CHANGELOG.md";
           description = "Hard word wrapping for comments and other text at a given column.";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=stkb.rewrap";
           homepage = "https://github.com/stkb/Rewrap#readme";
-          license = licenses.asl20;
-          maintainers = with maintainers; [ datafoo ];
+          license = lib.licenses.asl20;
+          maintainers = [ lib.maintainers.datafoo ];
         };
       };
 
@@ -2635,20 +2675,20 @@ let
         mktplcRef = {
           name = "code-spell-checker";
           publisher = "streetsidesoftware";
-          version = "2.19.0";
-          sha256 = "sha256-c95u++tkK8hToauulY8faNITUmsCBEeC2B8mHY0oEmA=";
+          version = "2.20.3";
+          sha256 = "sha256-28ybNBobXoq194d9VGD9kOq/OWscJkSlgSZ7ViaNQtw=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
           description = "Spelling checker for source code";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker";
           homepage = "https://streetsidesoftware.github.io/vscode-spell-checker";
-          license = licenses.gpl3Only;
-          maintainers = with maintainers; [ datafoo ];
+          license = lib.licenses.gpl3Only;
+          maintainers = [ lib.maintainers.datafoo ];
         };
       };
 
-      sumneko.lua = callPackage ./lua { };
+      sumneko.lua = callPackage ./sumneko.lua { };
 
       svelte.svelte-vscode = buildVscodeMarketplaceExtension {
         mktplcRef = {
@@ -2663,7 +2703,7 @@ let
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode";
           homepage = "https://github.com/sveltejs/language-tools#readme";
           license = lib.licenses.mit;
-          maintainers = with lib.maintainers; [ fabianhauser ];
+          maintainers = [ lib.maintainers.fabianhauser ];
         };
       };
 
@@ -2674,13 +2714,13 @@ let
           version = "0.3.18";
           sha256 = "sha256-ypYqVH1ViJE7+mAJnxmpvUSmiImOo7rE7m+ijTEpmwg=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/svsool.markdown-memo/changelog";
           description = "Markdown knowledge base with bidirectional [[link]]s built on top of VSCode";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=svsool.markdown-memo";
           homepage = "https://github.com/svsool/vscode-memo";
-          license = licenses.mit;
-          maintainers = with maintainers; [ ratsclub ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.ratsclub ];
         };
       };
 
@@ -2727,12 +2767,12 @@ let
           version = "0.1.6";
           sha256 = "096wwmwpas21f03pbbz40rvc792xzpl5qqddzbry41glxpzywy6b";
         };
-        meta = with lib; {
+        meta = {
           description = "VSCode extension for high-quality Pascal highlighting";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=theangryepicbanana.language-pascal";
           homepage = "https://github.com/ALANVF/vscode-pascal-magic";
-          license = licenses.mit;
-          maintainers = with maintainers; [  ];
+          license = lib.licenses.mit;
+          maintainers = [ ];
         };
       };
 
@@ -2817,24 +2857,24 @@ let
         };
       };
 
-      tyriar.sort-lines = buildVscodeMarketplaceExtension {
+      twxs.cmake = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "sort-lines";
-          publisher = "Tyriar";
-          version = "1.9.1";
-          sha256 = "0dds99j6awdxb0ipm15g543a5b6f0hr00q9rz961n0zkyawgdlcb";
+          name = "cmake";
+          publisher = "twxs";
+          version = "0.0.17";
+          sha256 = "11hzjd0gxkq37689rrr2aszxng5l9fwpgs9nnglq3zhfa1msyn08";
         };
         meta = {
           license = lib.licenses.mit;
         };
       };
 
-      twxs.cmake = buildVscodeMarketplaceExtension {
+      tyriar.sort-lines = buildVscodeMarketplaceExtension {
         mktplcRef = {
-          name = "cmake";
-          publisher = "twxs";
-          version = "0.0.17";
-          sha256 = "11hzjd0gxkq37689rrr2aszxng5l9fwpgs9nnglq3zhfa1msyn08";
+          name = "sort-lines";
+          publisher = "Tyriar";
+          version = "1.9.1";
+          sha256 = "0dds99j6awdxb0ipm15g543a5b6f0hr00q9rz961n0zkyawgdlcb";
         };
         meta = {
           license = lib.licenses.mit;
@@ -2848,17 +2888,17 @@ let
           version = "3.6.0";
           sha256 = "sha256-oNzB81mPZjEwrqbeFMvTlXERXrYBpF03EH9ZXz/daOs=";
         };
-        meta = with lib; {
+        meta = {
           changelog = "https://marketplace.visualstudio.com/items/usernamehw.errorlens/changelog";
           description = "Improve highlighting of errors, warnings and other language diagnostics.";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens";
           homepage = "https://github.com/usernamehw/vscode-error-lens";
-          license = licenses.mit;
-          maintainers = with maintainers; [ imgabe ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.imgabe ];
         };
       };
 
-      vadimcn.vscode-lldb = callPackage ./vscode-lldb { llvmPackages = llvmPackages_14; };
+      vadimcn.vscode-lldb = callPackage ./vadimcn.vscode-lldb { llvmPackages = llvmPackages_14; };
 
       valentjn.vscode-ltex = vscode-utils.buildVscodeMarketplaceExtension rec {
         mktplcRef = {
@@ -2868,9 +2908,9 @@ let
         };
 
         vsix = fetchurl {
-           name = "${mktplcRef.publisher}-${mktplcRef.name}.zip";
-           url = "https://github.com/valentjn/vscode-ltex/releases/download/${mktplcRef.version}/vscode-ltex-${mktplcRef.version}-offline-linux-x64.vsix";
-           sha256 = "1nlrijjwc35n1xgb5lgnr4yvlgfcxd0vdj93ip8lv2xi8x1ni5f6";
+          name = "${mktplcRef.publisher}-${mktplcRef.name}.zip";
+          url = "https://github.com/valentjn/vscode-ltex/releases/download/${mktplcRef.version}/vscode-ltex-${mktplcRef.version}-offline-linux-x64.vsix";
+          sha256 = "1nlrijjwc35n1xgb5lgnr4yvlgfcxd0vdj93ip8lv2xi8x1ni5f6";
         };
 
         nativeBuildInputs = [ jq moreutils ];
@@ -2882,9 +2922,9 @@ let
           jq '.contributes.configuration.properties."ltex.java.path".default = "${jdk}"' package.json | sponge package.json
         '';
 
-        meta = with lib; {
-          license = licenses.mpl20;
-          maintainers = [ maintainers._0xbe7a ];
+        meta = {
+          license = lib.licenses.mpl20;
+          maintainers = [ lib.maintainers._0xbe7a ];
         };
       };
 
@@ -2895,13 +2935,12 @@ let
           version = "1.3.0";
           sha256 = "sha256-1JDm/cWNWwxa1gNsHIM/DIvqjXsO++hAf0mkjvKyi4g=";
         };
-        meta = with lib; {
-          license = licenses.mit;
-          maintainers = with maintainers; [ wolfangaukang ];
+        meta = {
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.wolfangaukang ];
         };
       };
 
-
       vincaslt.highlight-matching-tag = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "highlight-matching-tag";
@@ -2914,8 +2953,6 @@ let
         };
       };
 
-      ms-vsliveshare.vsliveshare = callPackage ./ms-vsliveshare-vsliveshare { };
-
       vscjava.vscode-java-debug = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-java-debug";
@@ -2983,12 +3020,12 @@ let
           version = "12.2.0";
           sha256 = "12s5br0s9n99vjn6chivzdsjb71p0lai6vnif7lv13x497dkw4rz";
         };
-        meta = with lib; {
+        meta = {
           description = "Bring real icons to your Visual Studio Code";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=vscode-icons-team.vscode-icons";
           homepage = "https://github.com/vscode-icons/vscode-icons";
-          license = licenses.mit;
-          maintainers = with maintainers; [ ggwpaiushtha ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.ggwpaiushtha ];
         };
       };
 
@@ -3028,6 +3065,47 @@ let
         };
       };
 
+      waderyan.gitblame = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "gitblame";
+          publisher = "waderyan";
+          version = "10.1.0";
+          sha256 = "TTYBaJ4gcMVICz4bGZTvbNRPpWD4tXuAJbI8QcHNDv0=";
+        };
+        meta = {
+          changelog = "https://marketplace.visualstudio.com/items/waderyan.gitblame/changelog";
+          description = "Visual Studio Code Extension - See Git Blame info in status bar";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=waderyan.gitblame";
+          homepage = "https://github.com/Sertion/vscode-gitblame";
+          license = lib.licenses.mit;
+        };
+      };
+
+      WakaTime.vscode-wakatime = callPackage ./WakaTime.vscode-wakatime { };
+
+      wholroyd.jinja = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "jinja";
+          publisher = "wholroyd";
+          version = "0.0.8";
+          sha256 = "1ln9gly5bb7nvbziilnay4q448h9npdh7sd9xy277122h0qawkci";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
+      wingrunr21.vscode-ruby = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-ruby";
+          publisher = "wingrunr21";
+          version = "0.28.0";
+          sha256 = "sha256-H3f1+c31x+lgCzhgTb0uLg9Bdn3pZyJGPPwfpCYrS70=";
+        };
+
+        meta.license = lib.licenses.mit;
+      };
+
       wix.vscode-import-cost = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "vscode-import-cost";
@@ -3035,8 +3113,8 @@ let
           version = "3.3.0";
           sha256 = "0wl8vl8n0avd6nbfmis0lnlqlyh4yp3cca6kvjzgw5xxdc5bl38r";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -3047,8 +3125,8 @@ let
           version = "2.1.2";
           sha256 = "sha256-n91Rj1Rpp7j7gndkt0bV+jT1nRMv7+coVoSL5c7Ii3A=";
         };
-        meta = with lib; {
-          license = licenses.mit;
+        meta = {
+          license = lib.licenses.mit;
         };
       };
 
@@ -3059,9 +3137,9 @@ let
           version = "1.9.0";
           sha256 = "abd0ef9176eff864f278c548c944032b8f4d8ec97d9ac6e7383d60c92e258c2f";
         };
-        meta = with lib; {
-          license = licenses.mit;
-          maintainers = [ maintainers.zeratax ];
+        meta = {
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.zeratax ];
         };
       };
 
@@ -3101,49 +3179,6 @@ let
         };
       };
 
-      llvm-org.lldb-vscode = llvmPackages_8.lldb;
-
-      waderyan.gitblame = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "gitblame";
-          publisher = "waderyan";
-          version = "10.1.0";
-          sha256 = "TTYBaJ4gcMVICz4bGZTvbNRPpWD4tXuAJbI8QcHNDv0=";
-        };
-        meta = {
-          changelog = "https://marketplace.visualstudio.com/items/waderyan.gitblame/changelog";
-          description = "Visual Studio Code Extension - See Git Blame info in status bar";
-          downloadPage = "https://marketplace.visualstudio.com/items?itemName=waderyan.gitblame";
-          homepage = "https://github.com/Sertion/vscode-gitblame";
-          license = lib.licenses.mit;
-        };
-      };
-
-      WakaTime.vscode-wakatime = callPackage ./wakatime { };
-
-      wingrunr21.vscode-ruby = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "vscode-ruby";
-          publisher = "wingrunr21";
-          version = "0.28.0";
-          sha256 = "sha256-H3f1+c31x+lgCzhgTb0uLg9Bdn3pZyJGPPwfpCYrS70=";
-        };
-
-        meta.license = lib.licenses.mit;
-      };
-
-      wholroyd.jinja = buildVscodeMarketplaceExtension {
-        mktplcRef = {
-          name = "jinja";
-          publisher = "wholroyd";
-          version = "0.0.8";
-          sha256 = "1ln9gly5bb7nvbziilnay4q448h9npdh7sd9xy277122h0qawkci";
-        };
-        meta = {
-          license = lib.licenses.mit;
-        };
-      };
-
       zhwu95.riscv = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "riscv";
@@ -3151,12 +3186,12 @@ let
           version = "0.0.8";
           sha256 = "sha256-PXaHSEXoN0ZboHIoDg37tZ+Gv6xFXP4wGBS3YS/53TY=";
         };
-        meta = with lib; {
+        meta = {
           description = "Basic RISC-V colorization and snippets support.";
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=zhwu95.riscv";
           homepage = "https://github.com/zhuanhao-wu/vscode-riscv-support";
-          license = licenses.mit;
-          maintainers = [ maintainers.CardboardTurkey ];
+          license = lib.licenses.mit;
+          maintainers = [ lib.maintainers.CardboardTurkey ];
         };
       };
 
@@ -3182,6 +3217,9 @@ let
     # aliases
     jakebecker.elixir-ls = super.elixir-lsp.vscode-elixir-ls;
     ms-vscode = lib.recursiveUpdate super.ms-vscode { inherit (super.golang) go; };
+    _1Password = throw ''_1Password has been replaced with "1Password"'';
+    _2gua = throw ''_2gua has been replaced with "2gua"'';
+    _4ops = throw ''_4ops has been replaced with "4ops"'';
   };
 
   # TODO: add overrides overlay, so that we can have a generated.nix
diff --git a/pkgs/applications/editors/vscode/extensions/terraform/default.nix b/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix
index e6e094bb1cb6..234b0880e284 100644
--- a/pkgs/applications/editors/vscode/extensions/terraform/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/default.nix
@@ -13,8 +13,8 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
     substituteInPlace out/serverPath.js --replace TERRAFORM-LS-PATH ${terraform-ls}/bin/terraform-ls
   '';
 
-  meta = with lib; {
-    license = licenses.mit;
-    maintainers = with maintainers; [ rhoriguchi ];
+  meta = {
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.rhoriguchi ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/terraform/fix-terraform-ls.patch b/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/fix-terraform-ls.patch
index e2dcd0b70aa9..e2dcd0b70aa9 100644
--- a/pkgs/applications/editors/vscode/extensions/terraform/fix-terraform-ls.patch
+++ b/pkgs/applications/editors/vscode/extensions/hashicorp.terraform/fix-terraform-ls.patch
diff --git a/pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix b/pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix
index c54e975e4f46..fd1367b23968 100644
--- a/pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/jebbs.plantuml/default.nix
@@ -13,15 +13,15 @@ vscode-utils.buildVscodeMarketplaceExtension {
     jq '.contributes.configuration.properties."plantuml.java".default = "${plantuml}/bin/plantuml"' package.json | sponge package.json
   '';
 
-  meta = with lib; {
+  meta = {
     description = "A Visual Studio Code extension for supporting Rich PlantUML";
     downloadPage =
       "https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml";
     homepage = "https://github.com/qjebbs/vscode-plantuml";
     changelog =
       "https://marketplace.visualstudio.com/items/jebbs.plantuml/changelog";
-    license = licenses.mit;
-    maintainers = with maintainers; [ victormignot ];
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.victormignot ];
   };
 }
 
diff --git a/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/default.nix b/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csharp/default.nix
index 909dc69c02ed..5289a3cb41cc 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-dotnettools.csharp/default.nix
@@ -121,11 +121,11 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
     '')
     vsixInfo.binaries));
 
-  meta = with lib; {
+  meta = {
     description = "C# for Visual Studio Code (powered by OmniSharp)";
     homepage = "https://github.com/OmniSharp/omnisharp-vscode";
-    license = licenses.mit;
-    maintainers = [ maintainers.jraygauthier ];
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.jraygauthier ];
     platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/python/default.nix b/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix
index 0a62a5b02daa..559eef612cd0 100644
--- a/pkgs/applications/editors/vscode/extensions/python/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix
@@ -76,13 +76,13 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
     fi
   '';
 
-  meta = with lib; {
+  meta = {
     description = "A Visual Studio Code extension with rich support for the Python language";
     downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-python.python";
     homepage = "https://github.com/Microsoft/vscode-python";
     changelog = "https://github.com/microsoft/vscode-python/releases";
-    license = licenses.mit;
+    license = lib.licenses.mit;
     platforms = [ "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ];
-    maintainers = with maintainers; [ jraygauthier jfchevrette ];
+    maintainers = [ lib.maintainers.jraygauthier lib.maintainers.jfchevrette ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/ms-toolsai-jupyter/default.nix b/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix
index 7089f9e3d39d..ef1a5a4d49ec 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-toolsai-jupyter/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-toolsai.jupyter/default.nix
@@ -30,10 +30,10 @@ vscode-utils.buildVscodeMarketplaceExtension {
     jq "$(print_jq_query)" ./package.json | sponge ./package.json
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Jupyter extension for vscode";
     homepage = "https://github.com/microsoft/vscode-jupyter";
-    license = licenses.mit;
-    maintainers = with maintainers; [ jraygauthier ];
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.jraygauthier ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vscode-remote.remote-ssh/default.nix
index ee2f8dbec9a6..de191e97e0dc 100644
--- a/pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-vscode-remote.remote-ssh/default.nix
@@ -87,9 +87,9 @@ buildVscodeMarketplaceExtension {
       --replace '# Start the server\n' '${patch}'
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Use any remote machine with a SSH server as your development environment.";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ SuperSandro2000 tbenst ];
+    license = lib.licenses.unfree;
+    maintainers = [ lib.maintainers.SuperSandro2000 lib.maintainers.tbenst ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/cpptools/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix
index 65f833a3fb74..c51a86f888e4 100644
--- a/pkgs/applications/editors/vscode/extensions/cpptools/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/default.nix
@@ -80,11 +80,11 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
     wrapProgram $out/share/vscode/extensions/ms-vscode.cpptools/debugAdapters/bin/OpenDebugAD7 --prefix PATH : ${lib.makeBinPath [ gdb ]}
   '';
 
-  meta = with lib; {
+  meta = {
     description = "The C/C++ extension adds language support for C/C++ to Visual Studio Code, including features such as IntelliSense and debugging.";
     homepage = "https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ jraygauthier stargate01 ];
+    license = lib.licenses.unfree;
+    maintainers = [ lib.maintainers.jraygauthier lib.maintainers.stargate01 ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/cpptools/missing_elf_deps.sh b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/missing_elf_deps.sh
index e282e126f83b..e282e126f83b 100755
--- a/pkgs/applications/editors/vscode/extensions/cpptools/missing_elf_deps.sh
+++ b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/missing_elf_deps.sh
diff --git a/pkgs/applications/editors/vscode/extensions/cpptools/package-activation-events.json b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/package-activation-events.json
index c2d8a10f340a..c2d8a10f340a 100644
--- a/pkgs/applications/editors/vscode/extensions/cpptools/package-activation-events.json
+++ b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/package-activation-events.json
diff --git a/pkgs/applications/editors/vscode/extensions/cpptools/update_helper.sh b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/update_helper.sh
index d7bd307c92a0..d7bd307c92a0 100755
--- a/pkgs/applications/editors/vscode/extensions/cpptools/update_helper.sh
+++ b/pkgs/applications/editors/vscode/extensions/ms-vscode.cpptools/update_helper.sh
diff --git a/pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix
index 3c20aa299b6e..209ee1d95a9a 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-vsliveshare.vsliveshare/default.nix
@@ -44,11 +44,11 @@ in ((vscode-utils.override { stdenv = gccStdenv; }).buildVscodeMarketplaceExtens
       --replace "'xsel'" "'${xsel}/bin/xsel'"
   '';
 
-  meta = with lib; {
+  meta = {
     description = "Live Share lets you achieve greater confidence at speed by streamlining collaborative editing, debugging, and more in real-time during development";
     homepage = "https://aka.ms/vsls-docs";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ jraygauthier V ];
+    license = lib.licenses.unfree;
+    maintainers = [ lib.maintainers.jraygauthier lib.maintainers.V ];
     platforms = [ "x86_64-linux" ];
   };
 })
diff --git a/pkgs/applications/editors/vscode/extensions/rust-analyzer/build-deps/package.json b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps/package.json
index 167f92fbede9..167f92fbede9 100644
--- a/pkgs/applications/editors/vscode/extensions/rust-analyzer/build-deps/package.json
+++ b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/build-deps/package.json
diff --git a/pkgs/applications/editors/vscode/extensions/rust-analyzer/default.nix b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix
index 368d6ff8e08c..d0d1b990f449 100644
--- a/pkgs/applications/editors/vscode/extensions/rust-analyzer/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix
@@ -80,11 +80,11 @@ vscode-utils.buildVscodeExtension {
       package.json | sponge package.json
   '';
 
-  meta = with lib; {
+  meta = {
     description = "An alternative rust language server to the RLS";
     homepage = "https://github.com/rust-lang/rust-analyzer";
-    license = with licenses; [ mit asl20 ];
-    maintainers = with maintainers; [ ];
-    platforms = platforms.all;
+    license = [ lib.licenses.mit lib.licenses.asl20 ];
+    maintainers = [ ];
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/rust-analyzer/update.sh b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/update.sh
index fbf62c3b9db4..fbf62c3b9db4 100755
--- a/pkgs/applications/editors/vscode/extensions/rust-analyzer/update.sh
+++ b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/update.sh
diff --git a/pkgs/applications/editors/vscode/extensions/lua/default.nix b/pkgs/applications/editors/vscode/extensions/sumneko.lua/default.nix
index 6c9c72ca6094..16f4c52034dd 100644
--- a/pkgs/applications/editors/vscode/extensions/lua/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/sumneko.lua/default.nix
@@ -18,10 +18,10 @@ vscode-utils.buildVscodeMarketplaceExtension {
       $out/$installPrefix/server/bin/lua-language-server
   '';
 
-  meta = with lib; {
+  meta = {
     description = "The Lua language server provides various language features for Lua to make development easier and faster.";
     homepage = "https://marketplace.visualstudio.com/items?itemName=sumneko.lua";
-    license = licenses.mit;
-    maintainers = with maintainers; [ lblasc ];
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.lblasc ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/lua/remove-chmod.patch b/pkgs/applications/editors/vscode/extensions/sumneko.lua/remove-chmod.patch
index 8b9028625aa8..8b9028625aa8 100644
--- a/pkgs/applications/editors/vscode/extensions/lua/remove-chmod.patch
+++ b/pkgs/applications/editors/vscode/extensions/sumneko.lua/remove-chmod.patch
diff --git a/pkgs/applications/editors/vscode/extensions/vscode-lldb/build-deps/default.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/default.nix
index 08f947ea46bc..08f947ea46bc 100644
--- a/pkgs/applications/editors/vscode/extensions/vscode-lldb/build-deps/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/default.nix
diff --git a/pkgs/applications/editors/vscode/extensions/vscode-lldb/build-deps/node-env.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/node-env.nix
index 2590dd267a4e..2590dd267a4e 100644
--- a/pkgs/applications/editors/vscode/extensions/vscode-lldb/build-deps/node-env.nix
+++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/node-env.nix
diff --git a/pkgs/applications/editors/vscode/extensions/vscode-lldb/build-deps/node-packages.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/node-packages.nix
index 966662fcd6e4..966662fcd6e4 100644
--- a/pkgs/applications/editors/vscode/extensions/vscode-lldb/build-deps/node-packages.nix
+++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/build-deps/node-packages.nix
diff --git a/pkgs/applications/editors/vscode/extensions/vscode-lldb/cmake-build-extension-only.patch b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/cmake-build-extension-only.patch
index dab75e463e58..dab75e463e58 100644
--- a/pkgs/applications/editors/vscode/extensions/vscode-lldb/cmake-build-extension-only.patch
+++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/cmake-build-extension-only.patch
diff --git a/pkgs/applications/editors/vscode/extensions/vscode-lldb/default.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix
index c704e6f47300..f88173d9b4ea 100644
--- a/pkgs/applications/editors/vscode/extensions/vscode-lldb/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/default.nix
@@ -103,11 +103,11 @@ in stdenv.mkDerivation {
     updateScript = ./update.sh;
   };
 
-  meta = with lib; {
+  meta = {
     description = "A native debugger extension for VSCode based on LLDB";
     homepage = "https://github.com/vadimcn/vscode-lldb";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ nigelgbanks ];
-    platforms = platforms.all;
+    license = [ lib.licenses.mit ];
+    maintainers = [ lib.maintainers.nigelgbanks ];
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/vscode-lldb/fix-python-installation.patch b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/fix-python-installation.patch
index e4ca6bb6299e..e4ca6bb6299e 100644
--- a/pkgs/applications/editors/vscode/extensions/vscode-lldb/fix-python-installation.patch
+++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/fix-python-installation.patch
diff --git a/pkgs/applications/editors/vscode/extensions/vscode-lldb/lldb.nix b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/lldb.nix
index a01e538f93e6..a01e538f93e6 100644
--- a/pkgs/applications/editors/vscode/extensions/vscode-lldb/lldb.nix
+++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/lldb.nix
diff --git a/pkgs/applications/editors/vscode/extensions/vscode-lldb/update.sh b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/update.sh
index 5f4ff18c1c78..5f4ff18c1c78 100755
--- a/pkgs/applications/editors/vscode/extensions/vscode-lldb/update.sh
+++ b/pkgs/applications/editors/vscode/extensions/vadimcn.vscode-lldb/update.sh
diff --git a/pkgs/applications/editors/vscode/extensions/vscode-utils.nix b/pkgs/applications/editors/vscode/extensions/vscode-utils.nix
index eff075c49398..0eba230ad8e0 100644
--- a/pkgs/applications/editors/vscode/extensions/vscode-utils.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscode-utils.nix
@@ -87,8 +87,8 @@ let
     builtins.map extensionFromVscodeMarketplace mktplcExtRefList;
 
   vscodeWithConfiguration = import ./vscodeWithConfiguration.nix {
-   inherit lib extensionsFromVscodeMarketplace writeShellScriptBin;
-   vscodeDefault = vscode;
+    inherit lib extensionsFromVscodeMarketplace writeShellScriptBin;
+    vscodeDefault = vscode;
   };
 
   vscodeExts2nix = import ./vscodeExts2nix.nix {
diff --git a/pkgs/applications/editors/your-editor/default.nix b/pkgs/applications/editors/your-editor/default.nix
index b5e524ea529e..c54911041069 100644
--- a/pkgs/applications/editors/your-editor/default.nix
+++ b/pkgs/applications/editors/your-editor/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "your-editor";
-  version = "1504";
+  version = "1505";
 
   src = fetchFromGitHub {
     owner = "your-editor";
     repo = "yed";
     rev = version;
-    sha256 = "sha256-EUDkuCMhBz/Gs4DW3V6fqU583MzqXy1r08WDnUN76cw=";
+    sha256 = "sha256-4HPrBr1M8J484qu1cXpZyVdLu3+/IYoNnNV9vSd4SlY=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/emulators/dosbox-staging/default.nix b/pkgs/applications/emulators/dosbox-staging/default.nix
index 233dffca405e..62331bd62191 100644
--- a/pkgs/applications/emulators/dosbox-staging/default.nix
+++ b/pkgs/applications/emulators/dosbox-staging/default.nix
@@ -9,7 +9,7 @@
 , fluidsynth
 , glib
 , gtest
-, irr1
+, iir1
 , libGL
 , libGLU
 , libjack2
@@ -52,7 +52,7 @@ stdenv.mkDerivation (self: {
     alsa-lib
     fluidsynth
     glib
-    irr1
+    iir1
     libGL
     libGLU
     libjack2
diff --git a/pkgs/applications/emulators/firebird-emu/default.nix b/pkgs/applications/emulators/firebird-emu/default.nix
index 8a759d005829..d117a93fba4a 100644
--- a/pkgs/applications/emulators/firebird-emu/default.nix
+++ b/pkgs/applications/emulators/firebird-emu/default.nix
@@ -2,29 +2,20 @@
 
 mkDerivation rec {
   pname = "firebird-emu";
-  version = "1.5";
+  version = "1.6";
 
   src = fetchFromGitHub {
     owner = "nspire-emus";
     repo = "firebird";
     rev = "v${version}";
-    sha256 = "sha256-T62WB6msdB6/wIulqd/468JrCEiPGUrvtpjkZyo4wiA=";
     fetchSubmodules = true;
+    hash = "sha256-ZptjlnOiF+hKuKYvBFJL95H5YQuR99d4biOco/MVEmE=";
   };
 
   nativeBuildInputs = [ qmake ];
 
   buildInputs = [ qtbase qtdeclarative ];
 
-  makeFlags = [ "INSTALL_ROOT=$(out)" ];
-
-  # Attempts to install to /usr/bin and /usr/share/applications, which Nix does
-  # not use.
-  prePatch = ''
-    substituteInPlace firebird.pro \
-      --replace '/usr/' '/'
-  '';
-
   meta = {
     homepage = "https://github.com/nspire-emus/firebird";
     description = "Third-party multi-platform emulator of the ARM-based TI-Nspire™ calculators";
diff --git a/pkgs/applications/finance/irpf/default.nix b/pkgs/applications/finance/irpf/default.nix
index e24b2d5400af..8b5ca39154cc 100644
--- a/pkgs/applications/finance/irpf/default.nix
+++ b/pkgs/applications/finance/irpf/default.nix
@@ -11,13 +11,15 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "irpf";
-  version = "2022-1.7";
+  version = "2023-1.1";
 
+  # https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/download/pgd/dirpf
+  # Para outros sistemas operacionais -> Multi
   src = let
     year = lib.head (lib.splitVersion version);
   in fetchzip {
     url = "https://downloadirpf.receita.fazenda.gov.br/irpf/${year}/irpf/arquivos/IRPF${version}.zip";
-    sha256 = "sha256-EHuka0HzWoqjvT/DcuJ9LWSrWl0PW5FyS+7/PdCgrNQ=";
+    sha256 = "sha256-UOo9LBeOA6H/A7dM6wIa0wXyAaq9xGnX9EUBzK4Y0ng=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper copyDesktopItems ];
diff --git a/pkgs/applications/gis/whitebox-tools/default.nix b/pkgs/applications/gis/whitebox-tools/default.nix
index fc4648eb9dce..b8ccd554f771 100644
--- a/pkgs/applications/gis/whitebox-tools/default.nix
+++ b/pkgs/applications/gis/whitebox-tools/default.nix
@@ -7,20 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "whitebox_tools";
-  version = "2.0.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "jblindsay";
     repo = "whitebox-tools";
-    rev = "7551aa70e8d9cbd8b3744fde48e82aa40393ebf8";
-    hash = "sha256-MJQJcU91rAF7sz16Dlvg64cfWK8x3uEFcAsYqVLiz1Y=";
+    rev = "v${version}";
+    hash = "sha256-DQ7BPRd90GNQVfD5NoVcxoyd2L3WZvIkecmRJVUY1R4=";
   };
 
-  cargoSha256 = "sha256-+IFLv/mIgqyDKNC5aZgQeW6Ymu6+desOD8dDvEdwsSM=";
-
-  cargoPatches = [
-    ./update-cargo-lock.patch
-  ];
+  cargoHash = "sha256-BounjGGhbU5dxNV8WjVDQtV7YONNVRldc/t+wet1Gh8=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/applications/gis/whitebox-tools/update-cargo-lock.patch b/pkgs/applications/gis/whitebox-tools/update-cargo-lock.patch
deleted file mode 100644
index 8c9f1eeff11b..000000000000
--- a/pkgs/applications/gis/whitebox-tools/update-cargo-lock.patch
+++ /dev/null
@@ -1,578 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-index a0bcf0b7..c6c65322 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -4,9 +4,9 @@ version = 3
- 
- [[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 = "adler32"
-@@ -27,9 +27,9 @@ dependencies = [
- 
- [[package]]
- name = "alloc-no-stdlib"
--version = "2.0.1"
-+version = "2.0.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "5192ec435945d87bc2f70992b4d818154b5feede43c09fb7592146374eac90a6"
-+checksum = "35ef4730490ad1c4eae5c4325b2a95f521d023e5c885853ff7aca0a6a1631db3"
- 
- [[package]]
- name = "alloc-stdlib"
-@@ -63,15 +63,15 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
- 
- [[package]]
- name = "bitflags"
--version = "1.2.1"
-+version = "1.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
- 
- [[package]]
- name = "brotli"
--version = "3.3.0"
-+version = "3.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "7f29919120f08613aadcd4383764e00526fc9f18b6c0895814faeed0dd78613e"
-+checksum = "71cb90ade945043d3d53597b2fc359bb063db8ade2bcffe7997351d0756e9d50"
- dependencies = [
-  "alloc-no-stdlib",
-  "alloc-stdlib",
-@@ -80,9 +80,9 @@ dependencies = [
- 
- [[package]]
- name = "brotli-decompressor"
--version = "2.3.1"
-+version = "2.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "1052e1c3b8d4d80eb84a8b94f0a1498797b5fb96314c001156a1c761940ef4ec"
-+checksum = "59ad2d4653bf5ca36ae797b1f4bb4dbddb60ce49ca4aed8a2ce4829f60425b80"
- dependencies = [
-  "alloc-no-stdlib",
-  "alloc-stdlib",
-@@ -90,9 +90,9 @@ dependencies = [
- 
- [[package]]
- name = "byteorder"
--version = "1.4.2"
-+version = "1.4.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b"
-+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
- 
- [[package]]
- name = "bzip2"
-@@ -106,9 +106,9 @@ dependencies = [
- 
- [[package]]
- name = "bzip2-sys"
--version = "0.1.10+1.0.8"
-+version = "0.1.11+1.0.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "17fa3d1ac1ca21c5c4e36a97f3c3eb25084576f6fc47bf0139c1123434216c6c"
-+checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
- dependencies = [
-  "cc",
-  "libc",
-@@ -117,9 +117,9 @@ dependencies = [
- 
- [[package]]
- name = "cc"
--version = "1.0.66"
-+version = "1.0.72"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48"
-+checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee"
- 
- [[package]]
- name = "cfg-if"
-@@ -149,26 +149,20 @@ dependencies = [
-  "bitflags",
- ]
- 
--[[package]]
--name = "const_fn"
--version = "0.4.5"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6"
--
- [[package]]
- name = "crc32fast"
--version = "1.2.1"
-+version = "1.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a"
-+checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836"
- dependencies = [
-  "cfg-if",
- ]
- 
- [[package]]
- name = "crossbeam-channel"
--version = "0.5.0"
-+version = "0.5.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775"
-+checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4"
- dependencies = [
-  "cfg-if",
-  "crossbeam-utils",
-@@ -176,9 +170,9 @@ dependencies = [
- 
- [[package]]
- name = "crossbeam-deque"
--version = "0.8.0"
-+version = "0.8.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
-+checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
- dependencies = [
-  "cfg-if",
-  "crossbeam-epoch",
-@@ -187,12 +181,11 @@ dependencies = [
- 
- [[package]]
- name = "crossbeam-epoch"
--version = "0.9.1"
-+version = "0.9.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "a1aaa739f95311c2c7887a76863f500026092fb1dce0161dab577e559ef3569d"
-+checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd"
- dependencies = [
-  "cfg-if",
-- "const_fn",
-  "crossbeam-utils",
-  "lazy_static",
-  "memoffset",
-@@ -201,11 +194,10 @@ dependencies = [
- 
- [[package]]
- name = "crossbeam-utils"
--version = "0.8.1"
-+version = "0.8.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d"
-+checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
- dependencies = [
-- "autocfg 1.0.1",
-  "cfg-if",
-  "lazy_static",
- ]
-@@ -216,16 +208,22 @@ version = "1.6.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
- 
-+[[package]]
-+name = "fasteval"
-+version = "0.2.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4f4cdac9e4065d7c48e30770f8665b8cef9a3a73a63a4056a33a5f395bc7cf75"
-+
- [[package]]
- name = "flate2"
--version = "1.0.20"
-+version = "1.0.22"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0"
-+checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f"
- dependencies = [
-  "cfg-if",
-  "crc32fast",
-  "libc",
-- "miniz_oxide 0.4.3",
-+ "miniz_oxide 0.4.4",
- ]
- 
- [[package]]
-@@ -236,9 +234,9 @@ checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
- 
- [[package]]
- name = "generic-array"
--version = "0.12.3"
-+version = "0.12.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
-+checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
- dependencies = [
-  "typenum",
- ]
-@@ -256,18 +254,18 @@ dependencies = [
- 
- [[package]]
- name = "hermit-abi"
--version = "0.1.18"
-+version = "0.1.19"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
-+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
- dependencies = [
-  "libc",
- ]
- 
- [[package]]
- name = "itoa"
--version = "0.4.7"
-+version = "0.4.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
-+checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
- 
- [[package]]
- name = "kdtree"
-@@ -280,9 +278,9 @@ dependencies = [
- 
- [[package]]
- name = "las"
--version = "0.7.4"
-+version = "0.7.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "1c0c61a3595a942582db0ae4ac8367bba6cad29afc6387db9d7315c05890d14c"
-+checksum = "80dd11fe6e333400f08bd3a17c20146bfe4f719bb92545b388be9d21e69644b1"
- dependencies = [
-  "byteorder",
-  "chrono",
-@@ -295,9 +293,9 @@ dependencies = [
- 
- [[package]]
- name = "laz"
--version = "0.5.2"
-+version = "0.6.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "01192c65789af53929798b55be28a65379028e2f822939e2fe887e8a694f5562"
-+checksum = "4d7a69934a6239f0b4ebb431afe9554df2ec63ef8325a9696b0e94735f554960"
- dependencies = [
-  "byteorder",
-  "num-traits",
-@@ -311,9 +309,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
- 
- [[package]]
- name = "libc"
--version = "0.2.86"
-+version = "0.2.110"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
-+checksum = "b58a4469763e4e3a906c4ed786e1c70512d16aa88f84dded826da42640fc6a1c"
- 
- [[package]]
- name = "libm"
-@@ -347,9 +345,9 @@ dependencies = [
- 
- [[package]]
- name = "memoffset"
--version = "0.6.1"
-+version = "0.6.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87"
-+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
- dependencies = [
-  "autocfg 1.0.1",
- ]
-@@ -365,9 +363,9 @@ dependencies = [
- 
- [[package]]
- name = "miniz_oxide"
--version = "0.4.3"
-+version = "0.4.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "0f2d26ec3309788e423cfbf68ad1800f061638098d76a83681af979dc4eda19d"
-+checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
- dependencies = [
-  "adler",
-  "autocfg 1.0.1",
-@@ -402,23 +400,23 @@ dependencies = [
- 
- [[package]]
- name = "num"
--version = "0.3.1"
-+version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "8b7a8e9be5e039e2ff869df49155f1c06bd01ade2117ec783e56ab0932b67a8f"
-+checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
- dependencies = [
-  "num-bigint",
-- "num-complex 0.3.1",
-+ "num-complex 0.4.0",
-  "num-integer",
-  "num-iter",
-- "num-rational 0.3.2",
-+ "num-rational 0.4.0",
-  "num-traits",
- ]
- 
- [[package]]
- name = "num-bigint"
--version = "0.3.2"
-+version = "0.4.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "7d0a3d5e207573f948a9e5376662aa743a2ea13f7c50a554d7af443a73fbfeba"
-+checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
- dependencies = [
-  "autocfg 1.0.1",
-  "num-integer",
-@@ -437,9 +435,9 @@ dependencies = [
- 
- [[package]]
- name = "num-complex"
--version = "0.3.1"
-+version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5"
-+checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085"
- dependencies = [
-  "num-traits",
- ]
-@@ -478,9 +476,9 @@ dependencies = [
- 
- [[package]]
- name = "num-rational"
--version = "0.3.2"
-+version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
-+checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a"
- dependencies = [
-  "autocfg 1.0.1",
-  "num-bigint",
-@@ -510,9 +508,9 @@ dependencies = [
- 
- [[package]]
- name = "pdqselect"
--version = "0.1.0"
-+version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "4ec91767ecc0a0bbe558ce8c9da33c068066c57ecc8bb8477ef8c1ad3ef77c27"
-+checksum = "7778906d9321dd56cde1d1ffa69a73e59dcf5fda6d366f62727adf2bd4193aee"
- 
- [[package]]
- name = "pest"
-@@ -525,9 +523,9 @@ dependencies = [
- 
- [[package]]
- name = "pkg-config"
--version = "0.3.19"
-+version = "0.3.23"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
-+checksum = "d1a3ea4f0dd7f1f3e512cf97bf100819aa547f36a6eccac8dbaae839eb92363e"
- 
- [[package]]
- name = "podio"
-@@ -537,24 +535,24 @@ checksum = "b18befed8bc2b61abc79a457295e7e838417326da1586050b919414073977f19"
- 
- [[package]]
- name = "ppv-lite86"
--version = "0.2.10"
-+version = "0.2.15"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
-+checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba"
- 
- [[package]]
- name = "proc-macro2"
--version = "1.0.24"
-+version = "1.0.33"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
-+checksum = "fb37d2df5df740e582f28f8560cf425f52bb267d872fe58358eadb554909f07a"
- dependencies = [
-  "unicode-xid",
- ]
- 
- [[package]]
- name = "quote"
--version = "1.0.8"
-+version = "1.0.10"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df"
-+checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05"
- dependencies = [
-  "proc-macro2",
- ]
-@@ -756,9 +754,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
- 
- [[package]]
- name = "rayon"
--version = "1.5.0"
-+version = "1.5.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674"
-+checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90"
- dependencies = [
-  "autocfg 1.0.1",
-  "crossbeam-deque",
-@@ -768,9 +766,9 @@ dependencies = [
- 
- [[package]]
- name = "rayon-core"
--version = "1.9.0"
-+version = "1.9.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a"
-+checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e"
- dependencies = [
-  "crossbeam-channel",
-  "crossbeam-deque",
-@@ -809,9 +807,9 @@ dependencies = [
- 
- [[package]]
- name = "ryu"
--version = "1.0.5"
-+version = "1.0.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-+checksum = "3c9613b5a66ab9ba26415184cfc41156594925a9cf3a2057e57f31ff145f6568"
- 
- [[package]]
- name = "scopeguard"
-@@ -839,18 +837,18 @@ dependencies = [
- 
- [[package]]
- name = "serde"
--version = "1.0.123"
-+version = "1.0.131"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae"
-+checksum = "b4ad69dfbd3e45369132cc64e6748c2d65cdfb001a2b1c232d128b4ad60561c1"
- dependencies = [
-  "serde_derive",
- ]
- 
- [[package]]
- name = "serde_derive"
--version = "1.0.123"
-+version = "1.0.131"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "9391c295d64fc0abb2c556bad848f33cb8296276b1ad2677d1ae1ace4f258f31"
-+checksum = "b710a83c4e0dff6a3d511946b95274ad9ca9e5d3ae497b63fda866ac955358d2"
- dependencies = [
-  "proc-macro2",
-  "quote",
-@@ -859,9 +857,9 @@ dependencies = [
- 
- [[package]]
- name = "serde_json"
--version = "1.0.64"
-+version = "1.0.72"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
-+checksum = "d0ffa0837f2dfa6fb90868c2b5468cad482e175f7dad97e7421951e663f2b527"
- dependencies = [
-  "itoa",
-  "ryu",
-@@ -879,9 +877,9 @@ dependencies = [
- 
- [[package]]
- name = "syn"
--version = "1.0.60"
-+version = "1.0.82"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081"
-+checksum = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59"
- dependencies = [
-  "proc-macro2",
-  "quote",
-@@ -890,18 +888,18 @@ dependencies = [
- 
- [[package]]
- name = "thiserror"
--version = "1.0.26"
-+version = "1.0.30"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2"
-+checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417"
- dependencies = [
-  "thiserror-impl",
- ]
- 
- [[package]]
- name = "thiserror-impl"
--version = "1.0.26"
-+version = "1.0.30"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745"
-+checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b"
- dependencies = [
-  "proc-macro2",
-  "quote",
-@@ -921,9 +919,9 @@ dependencies = [
- 
- [[package]]
- name = "typenum"
--version = "1.12.0"
-+version = "1.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"
-+checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec"
- 
- [[package]]
- name = "ucd-trie"
-@@ -933,9 +931,9 @@ checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
- 
- [[package]]
- name = "unicode-xid"
--version = "0.2.1"
-+version = "0.2.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
-+checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
- 
- [[package]]
- name = "uuid"
-@@ -957,10 +955,11 @@ checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
- 
- [[package]]
- name = "whitebox_common"
--version = "1.5.0"
-+version = "2.0.0"
- dependencies = [
-  "byteorder",
-  "nalgebra",
-+ "num-traits",
-  "rand 0.7.3",
-  "rstar",
-  "rustc_version",
-@@ -970,7 +969,7 @@ dependencies = [
- 
- [[package]]
- name = "whitebox_lidar"
--version = "1.5.0"
-+version = "2.0.0"
- dependencies = [
-  "brotli",
-  "byteorder",
-@@ -986,7 +985,9 @@ dependencies = [
- name = "whitebox_plugins"
- version = "1.5.0"
- dependencies = [
-+ "fasteval",
-  "num_cpus",
-+ "rand 0.7.3",
-  "whitebox_common",
-  "whitebox_raster",
-  "whitebox_vector",
-@@ -994,7 +995,7 @@ dependencies = [
- 
- [[package]]
- name = "whitebox_raster"
--version = "1.5.0"
-+version = "2.0.0"
- dependencies = [
-  "byteorder",
-  "chrono",
-@@ -1006,7 +1007,7 @@ dependencies = [
- 
- [[package]]
- name = "whitebox_tools"
--version = "1.5.0"
-+version = "2.0.0"
- dependencies = [
-  "byteorder",
-  "chrono",
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 60cba0410c49..19f23f804436 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -47,13 +47,13 @@ in
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "imagemagick";
-  version = "7.1.1-2";
+  version = "7.1.1-4";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = finalAttrs.version;
-    hash = "sha256-5B8grg05n+MkHZU76QBsrrU5Z3VZRGMRHX35HXtTbe8=";
+    hash = "sha256-NGtctktlaKIZ3KZUysXBUTHtvAe29RYW3Q4SL6/Eufw=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
@@ -134,7 +134,7 @@ stdenv.mkDerivation (finalAttrs: {
     description = "A software suite to create, edit, compose, or convert bitmap images";
     pkgConfigModules = [ "ImageMagick" "MagickWand" ];
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ erictapen dotlambda ];
+    maintainers = with maintainers; [ erictapen dotlambda rhendric ];
     license = licenses.asl20;
     mainProgram = "magick";
   };
diff --git a/pkgs/applications/graphics/focus-stack/default.nix b/pkgs/applications/graphics/focus-stack/default.nix
new file mode 100644
index 000000000000..11de5d144452
--- /dev/null
+++ b/pkgs/applications/graphics/focus-stack/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, which
+, ronn
+, opencv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "focus-stack";
+  version = "1.4";
+
+  src = fetchFromGitHub {
+    owner = "PetteriAimonen";
+    repo = "focus-stack";
+    rev = version;
+    hash = "sha256-SoECgBMjWI+n7H6p3hf8J5E9UCLHGiiz5WAsEEioJsU=";
+  };
+
+  nativeBuildInputs = [ pkg-config which ronn ];
+  buildInputs = [ opencv ];
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with lib; {
+    description = "Fast and easy focus stacking";
+    homepage = "https://github.com/PetteriAimonen/focus-stack";
+    license = licenses.mit;
+    maintainers = with maintainers; [ paperdigits ];
+  };
+}
diff --git a/pkgs/applications/graphics/hello-wayland/default.nix b/pkgs/applications/graphics/hello-wayland/default.nix
index b11e2be9daf6..7ecc43c44907 100644
--- a/pkgs/applications/graphics/hello-wayland/default.nix
+++ b/pkgs/applications/graphics/hello-wayland/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation {
-  pname = "hello-wayland-unstable";
-  version = "2020-07-27";
+  pname = "hello-wayland";
+  version = "unstable-2023-03-16";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = "hello-wayland";
-    rev = "501d0851cfa7f21c780c0eb52f0a6b23f02918c5";
-    sha256 = "0dz6przqp57kw8ycja3gw6jp9x12217nwbwdpgmvw7jf0lzhk4xr";
+    rev = "f6a8203309977af03cda94765dd61367c189bea6";
+    sha256 = "FNtc6OApW/epAFortvujNVWJJVI44IY+Pa0qU0QdecA=";
   };
 
   nativeBuildInputs = [ imagemagick pkg-config ];
diff --git a/pkgs/applications/graphics/icon-library/default.nix b/pkgs/applications/graphics/icon-library/default.nix
index 4f16a0d6e2d8..d62c6853976e 100644
--- a/pkgs/applications/graphics/icon-library/default.nix
+++ b/pkgs/applications/graphics/icon-library/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, fetchpatch, wrapGAppsHook4
 , cargo, desktop-file-utils, meson, ninja, pkg-config, rustc
-, gdk-pixbuf, glib, gtk4, gtksourceview5, libadwaita
+, gdk-pixbuf, glib, gtk4, gtksourceview5, libadwaita, darwin
 }:
 
 stdenv.mkDerivation rec {
@@ -25,7 +25,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cargo desktop-file-utils meson ninja pkg-config rustc wrapGAppsHook4
   ];
-  buildInputs = [ gdk-pixbuf glib gtk4 gtksourceview5 libadwaita ];
+  buildInputs = [
+    gdk-pixbuf glib gtk4 gtksourceview5 libadwaita
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Foundation
+  ];
 
   meta = with lib; {
     homepage = "https://gitlab.gnome.org/World/design/icon-library";
diff --git a/pkgs/applications/graphics/komikku/default.nix b/pkgs/applications/graphics/komikku/default.nix
index c76e4458fc69..fcdac2aa0626 100644
--- a/pkgs/applications/graphics/komikku/default.nix
+++ b/pkgs/applications/graphics/komikku/default.nix
@@ -89,6 +89,6 @@ python3.pkgs.buildPythonApplication rec {
     description = "Manga reader for GNOME";
     homepage = "https://valos.gitlab.io/Komikku/";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ chuangzhu ];
+    maintainers = with maintainers; [ chuangzhu infinitivewitch ];
   };
 }
diff --git a/pkgs/applications/graphics/wings/default.nix b/pkgs/applications/graphics/wings/default.nix
index 53f658590739..094a483ae7b8 100644
--- a/pkgs/applications/graphics/wings/default.nix
+++ b/pkgs/applications/graphics/wings/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, erlang, cl, libGL, libGLU, runtimeShell }:
+{ lib, stdenv, fetchurl, fetchpatch, erlang, cl, libGL, libGLU, runtimeShell }:
 
 stdenv.mkDerivation rec {
   pname = "wings";
@@ -9,10 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "1xcmifs4vq2810pqqvsjsm8z3lz24ys4c05xkh82nyppip2s89a3";
   };
 
-  ERL_LIBS = "${cl}/lib/erlang/lib";
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/dgud/wings/commit/94b3a3c6a0cfdcdbd98edce055d5c83ecb361f37.patch";
+      hash = "sha256-DHT1TiYoowloIWrdutBu70mL+557cTFr1dRcNgwbkpE=";
+    })
+  ];
 
-  patchPhase = ''
-    sed -i 's,-Werror ,,' e3d/Makefile
+  postPatch = ''
+    find . -type f -name "Makefile" -exec sed -i 's,-Werror ,,' {} \;
     sed -i 's,../../wings/,../,' icons/Makefile
     find plugins_src -mindepth 2 -type f -name "*.[eh]rl" -exec sed -i 's,wings/src/,../../src/,' {} \;
     find plugins_src -mindepth 2 -type f -name "*.[eh]rl" -exec sed -i 's,wings/e3d/,../../e3d/,' {} \;
@@ -24,6 +29,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ erlang cl libGL libGLU ];
 
+  ERL_LIBS = "${cl}/lib/erlang/lib";
+
   # I did not test the *cl* part. I added the -pa just by imitation.
   installPhase = ''
     mkdir -p $out/bin $out/lib/wings-${version}/ebin
diff --git a/pkgs/applications/kde/akonadi-contacts.nix b/pkgs/applications/kde/akonadi-contacts.nix
index 76c4f3f2c507..d89670d7719c 100644
--- a/pkgs/applications/kde/akonadi-contacts.nix
+++ b/pkgs/applications/kde/akonadi-contacts.nix
@@ -16,10 +16,10 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     qtwebengine
-    grantlee grantleetheme
+    grantlee
     kcmutils kdbusaddons ki18n kiconthemes kio kitemmodels ktextwidgets prison
     akonadi-mime kcontacts kmime libkleo
   ];
-  propagatedBuildInputs = [ akonadi ];
+  propagatedBuildInputs = [ akonadi grantleetheme ];
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/applications/kde/grantleetheme/default.nix b/pkgs/applications/kde/grantleetheme/default.nix
index ff4b8fc93ed9..92499645e7f4 100644
--- a/pkgs/applications/kde/grantleetheme/default.nix
+++ b/pkgs/applications/kde/grantleetheme/default.nix
@@ -10,7 +10,7 @@ mkDerivation {
     license = with lib.licenses; [ gpl2Plus lgpl21Plus fdl12Plus ];
     maintainers = kdepimTeam;
   };
-  output = [ "out" "dev" ];
+  outputs = [ "out" "dev" ];
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     grantlee ki18n kiconthemes knewstuff kservice kxmlgui qtbase
diff --git a/pkgs/applications/misc/authenticator/default.nix b/pkgs/applications/misc/authenticator/default.nix
index 5fb336d8de37..5f6d1c419567 100644
--- a/pkgs/applications/misc/authenticator/default.nix
+++ b/pkgs/applications/misc/authenticator/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , fetchFromGitLab
 , appstream-glib
-, clang
 , desktop-file-utils
 , meson
 , ninja
@@ -14,7 +13,6 @@
 , gst_all_1
 , gtk4
 , libadwaita
-, libclang
 , openssl
 , pipewire
 , sqlite
@@ -24,20 +22,20 @@
 
 stdenv.mkDerivation rec {
   pname = "authenticator";
-  version = "4.1.6";
+  version = "4.2.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "Authenticator";
     rev = version;
-    hash = "sha256-fv7Np3haRCJABlJocKuu+1jevHYrdo+VyiQBpRmHs2g=";
+    hash = "sha256-Nv4QE6gyh42Na/stAgTIapV8GQuUHCdL6IEO//J8dV8=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-8GddlDM1lU365GXdrKNhO331/y1p3Om5uZfVLy8TBGI=";
+    hash = "sha256-IS9jdr19VvgX6M1OqM6rjE8veujZcwBuOTuDm5mDXso=";
   };
 
   nativeBuildInputs = [
@@ -80,5 +78,8 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ austinbutler ];
     platforms = lib.platforms.linux;
+    # Fails to build on aarch64 with error
+    # "a label can only be part of a statement and a declaration is not a statement"
+    broken = stdenv.isLinux && stdenv.isAarch64;
   };
 }
diff --git a/pkgs/applications/misc/geoipupdate/default.nix b/pkgs/applications/misc/geoipupdate/default.nix
index c2f025d20ae1..822717ca1d65 100644
--- a/pkgs/applications/misc/geoipupdate/default.nix
+++ b/pkgs/applications/misc/geoipupdate/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "geoipupdate";
-  version = "4.10.0";
+  version = "4.11.1";
 
   src = fetchFromGitHub {
     owner = "maxmind";
     repo = "geoipupdate";
     rev = "v${version}";
-    sha256 = "sha256-Djr0IjRxf4kKOsL0KMTAkRjW/zo0+r63TBCjet2ZhNw=";
+    sha256 = "sha256-85xPXqvRfc6zip3tPcxFsE+niPmnnPqi9gLF+ioqbV8=";
   };
 
-  vendorSha256 = "sha256-upyblOmT1UC1epOI5H92G/nzcCuGNyh3dbIApUg2Idk=";
+  vendorHash = "sha256-cPdQ7AIYUacoq885K8XBF+zChUPwbZ7YI4aDCIBOvMY=";
 
   ldflags = [ "-X main.version=${version}" ];
 
diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock
index 6a88aa6acb03..893b784ad4d6 100644
--- a/pkgs/applications/misc/gollum/Gemfile.lock
+++ b/pkgs/applications/misc/gollum/Gemfile.lock
@@ -2,9 +2,9 @@ GEM
   remote: https://rubygems.org/
   specs:
     RedCloth (4.3.2)
-    asciidoctor (2.0.17)
+    asciidoctor (2.0.18)
     builder (3.2.4)
-    concurrent-ruby (1.1.10)
+    concurrent-ruby (1.2.2)
     crass (1.0.6)
     creole (0.5.0)
     execjs (2.8.1)
@@ -13,13 +13,13 @@ GEM
     gemojione (4.3.3)
       json
     github-markup (4.0.1)
-    gollum (5.3.0)
+    gollum (5.3.1)
       gemojione (~> 4.1)
-      gollum-lib (~> 5.1)
+      gollum-lib (>= 5.2.3, < 6.0)
       i18n (~> 1.8)
       kramdown (~> 2.3)
       kramdown-parser-gfm (~> 1.1.0)
-      mustache-sinatra (>= 1.0.1, < 2)
+      mustache-sinatra (~> 2.0)
       octicons (~> 12.0)
       rdoc (~> 6)
       rss (~> 0.2.9)
@@ -32,88 +32,90 @@ GEM
       uglifier (~> 4.2)
       useragent (~> 0.16.2)
       webrick (~> 1.7)
-    gollum-lib (5.2)
+    gollum-lib (5.2.3)
       gemojione (~> 4.1)
       github-markup (~> 4.0)
-      gollum-rugged_adapter (~> 1.0)
+      gollum-rugged_adapter (~> 2.0)
       loofah (~> 2.3)
       nokogiri (~> 1.8)
       octicons (~> 12.0)
       rouge (~> 3.1)
       twitter-text (= 1.14.7)
-    gollum-rugged_adapter (1.1.2)
-      mime-types (~> 1.15)
-      rugged (~> 1.1.0)
+    gollum-rugged_adapter (2.1.0)
+      mime-types (~> 3.4)
+      rugged (~> 1.5)
     htmlentities (4.3.4)
-    i18n (1.10.0)
+    i18n (1.12.0)
       concurrent-ruby (~> 1.0)
-    json (2.6.2)
+    json (2.6.3)
     kramdown (2.4.0)
       rexml
     kramdown-parser-gfm (1.1.0)
       kramdown (~> 2.0)
-    loofah (2.18.0)
+    loofah (2.19.1)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
-    mime-types (1.25.1)
-    mini_portile2 (2.8.0)
+    mime-types (3.4.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2023.0218.1)
+    mini_portile2 (2.8.1)
     multi_json (1.15.0)
-    mustache (0.99.8)
-    mustache-sinatra (1.0.1)
-      mustache (<= 0.99.8)
-    mustermann (1.1.1)
+    mustache (1.1.1)
+    mustache-sinatra (2.0.0)
+      mustache (~> 1.0)
+    mustermann (2.0.2)
       ruby2_keywords (~> 0.0.1)
-    nokogiri (1.13.6)
+    nokogiri (1.14.2)
       mini_portile2 (~> 2.8.0)
       racc (~> 1.4)
     octicons (12.1.0)
       nokogiri (>= 1.6.3.1)
     org-ruby (0.9.12)
       rubypants (~> 0.2)
-    psych (4.0.4)
+    psych (5.1.0)
       stringio
-    racc (1.6.0)
-    rack (2.2.3.1)
-    rack-protection (2.2.0)
+    racc (1.6.2)
+    rack (2.2.6.4)
+    rack-protection (2.2.4)
       rack
-    rb-fsevent (0.11.1)
+    rb-fsevent (0.11.2)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
-    rdoc (6.4.0)
+    rdoc (6.5.0)
       psych (>= 4.0.0)
     rexml (3.2.5)
-    rouge (3.29.0)
+    rouge (3.30.0)
     rss (0.2.9)
       rexml
     ruby2_keywords (0.0.5)
     rubypants (0.7.1)
-    rugged (1.1.1)
+    rugged (1.6.2)
     sass (3.7.4)
       sass-listen (~> 4.0.0)
     sass-listen (4.0.0)
       rb-fsevent (~> 0.9, >= 0.9.4)
       rb-inotify (~> 0.9, >= 0.9.7)
-    sinatra (2.2.0)
-      mustermann (~> 1.0)
+    sinatra (2.2.4)
+      mustermann (~> 2.0)
       rack (~> 2.2)
-      rack-protection (= 2.2.0)
+      rack-protection (= 2.2.4)
       tilt (~> 2.0)
-    sinatra-contrib (2.2.0)
+    sinatra-contrib (2.2.4)
       multi_json
-      mustermann (~> 1.0)
-      rack-protection (= 2.2.0)
-      sinatra (= 2.2.0)
+      mustermann (~> 2.0)
+      rack-protection (= 2.2.4)
+      sinatra (= 2.2.4)
       tilt (~> 2.0)
     sprockets (3.7.2)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
     sprockets-helpers (1.4.0)
       sprockets (>= 2.2)
-    stringio (3.0.2)
+    stringio (3.0.5)
     therubyrhino (2.1.2)
       therubyrhino_jar (>= 1.7.4, < 1.7.9)
     therubyrhino_jar (1.7.8)
-    tilt (2.0.10)
+    tilt (2.1.0)
     twitter-text (1.14.7)
       unf (~> 0.1.0)
     uglifier (4.2.0)
@@ -122,7 +124,7 @@ GEM
       unf_ext
     unf_ext (0.0.8.2)
     useragent (0.16.10)
-    webrick (1.7.0)
+    webrick (1.8.1)
     wikicloth (0.8.3)
       builder
       expression_parser
@@ -142,4 +144,4 @@ DEPENDENCIES
   wikicloth
 
 BUNDLED WITH
-   2.3.9
+   2.4.6
diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix
index 3817782a6f64..4abb819ec4e1 100644
--- a/pkgs/applications/misc/gollum/gemset.nix
+++ b/pkgs/applications/misc/gollum/gemset.nix
@@ -4,10 +4,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g8gn3g6qy4bzjv1b14sj283kqynjgwq62bgq569jr4dkqwmwnzd";
+      sha256 = "11z3vnd8vh3ny1vx69bjrbck5b2g8zsbj94npyadpn7fdp8y3ldv";
       type = "gem";
     };
-    version = "2.0.17";
+    version = "2.0.18";
   };
   builder = {
     groups = ["default"];
@@ -24,10 +24,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
+      sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q";
       type = "gem";
     };
-    version = "1.1.10";
+    version = "1.2.2";
   };
   crass = {
     groups = ["default"];
@@ -106,10 +106,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xz7d3xfc536njk0fg4inmzzy350c5bjp237vghrcky8azc6xl7k";
+      sha256 = "1nx3ss1ck5mgj14580z73pfwri0l4f0ilnckh9mgxmi9i4rk24y2";
       type = "gem";
     };
-    version = "5.3.0";
+    version = "5.3.1";
   };
   gollum-lib = {
     dependencies = ["gemojione" "github-markup" "gollum-rugged_adapter" "loofah" "nokogiri" "octicons" "rouge" "twitter-text"];
@@ -117,10 +117,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1acxi4zjdmxlj7hzv9fjqilqngcwjvzhk3khnykdfvnb0l6l4xbs";
+      sha256 = "11bs7yfkznz7rdzxc9am53mix5nnv8505d565j4cci2bg6iqy2dz";
       type = "gem";
     };
-    version = "5.2";
+    version = "5.2.3";
   };
   gollum-rugged_adapter = {
     dependencies = ["mime-types" "rugged"];
@@ -128,10 +128,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j06lsvb2bpp7xacshak2f1hxzd7l640mywyrwaz4ih9d8xqll8j";
+      sha256 = "05v24lpkssn1k07n28bw4yh7w1ygsv4cfwz046jn9lmrh3v8q4d1";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "2.1.0";
   };
   htmlentities = {
     groups = ["default"];
@@ -149,20 +149,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
+      sha256 = "1vdcchz7jli1p0gnc669a7bj3q1fv09y9ppf0y3k0vb1jwdwrqwi";
       type = "gem";
     };
-    version = "1.10.0";
+    version = "1.12.0";
   };
   json = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yk5d10yvspkc5jyvx9gc1a9pn1z8v4k2hvjk1l88zixwf3wf3cl";
+      sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6";
       type = "gem";
     };
-    version = "2.6.2";
+    version = "2.6.3";
   };
   kramdown = {
     dependencies = ["rexml"];
@@ -192,30 +192,41 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18ymp6l3bv7abz07k6qbbi9c9vsiahq30d2smh4qzsvag8j5m5v1";
+      sha256 = "08qhzck271anrx9y6qa6mh8hwwdzsgwld8q0000rcd7yvvpnjr3c";
       type = "gem";
     };
-    version = "2.18.0";
+    version = "2.19.1";
   };
   mime-types = {
+    dependencies = ["mime-types-data"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8";
+      sha256 = "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb";
       type = "gem";
     };
-    version = "1.25.1";
+    version = "3.4.1";
+  };
+  mime-types-data = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pky3vzaxlgm9gw5wlqwwi7wsw3jrglrfflrppvvnsrlaiz043z9";
+      type = "gem";
+    };
+    version = "3.2023.0218.1";
   };
   mini_portile2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy";
+      sha256 = "1af4yarhbbx62f7qsmgg5fynrik0s36wjy3difkawy536xg343mp";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "2.8.1";
   };
   multi_json = {
     groups = ["default"];
@@ -232,10 +243,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2";
+      sha256 = "1l0p4wx15mi3wnamfv92ipkia4nsx8qi132c6g51jfdma3fiz2ch";
       type = "gem";
     };
-    version = "0.99.8";
+    version = "1.1.1";
   };
   mustache-sinatra = {
     dependencies = ["mustache"];
@@ -243,10 +254,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rvdwg1zk3sybpi9hzn6jj0k8rndkq19y7cl0jmqr0g2xx21z7mr";
+      sha256 = "03f2wdih6hnnm9iclfwi53dx56knpshv8wnf4cglp7kjx358036i";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "2.0.0";
   };
   mustermann = {
     dependencies = ["ruby2_keywords"];
@@ -254,10 +265,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a";
+      sha256 = "0m70qz27mlv2rhk4j1li6pw797gmiwwqg02vcgxcxr1rq2v53rnb";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "2.0.2";
   };
   nokogiri = {
     dependencies = ["mini_portile2" "racc"];
@@ -265,10 +276,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11w59ga9324yx6339dgsflz3dsqq2mky1qqdwcg6wi5s1bf2yldi";
+      sha256 = "1djq4rp4m967mn6sxmiw75vz24gfp0w602xv22kk1x3cmi5afrf7";
       type = "gem";
     };
-    version = "1.13.6";
+    version = "1.14.2";
   };
   octicons = {
     dependencies = ["nokogiri"];
@@ -298,30 +309,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0c2lz03mkn43rf2a2xiy8vqgir1dvds0a0fpx7m7my6a21ygryw2";
+      sha256 = "1msambb54r3d1sg6smyj4k2pj9h9lz8jq4jamip7ivcyv32a85vz";
       type = "gem";
     };
-    version = "4.0.4";
+    version = "5.1.0";
   };
   racc = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
+      sha256 = "09jgz6r0f7v84a7jz9an85q8vvmp743dqcsdm3z9c8rqcqv6pljq";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.6.2";
   };
   rack = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b1qsg0yfargdhmpapp2d3mlxj82wyygs9nj74w0r03diyi8swlc";
+      sha256 = "1qgwkcb8kxns8d5187cxjaxf18b7dmg9gh6cr9c1125m0bj2pnfk";
       type = "gem";
     };
-    version = "2.2.3.1";
+    version = "2.2.6.4";
   };
   rack-protection = {
     dependencies = ["rack"];
@@ -329,20 +340,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hz6h6d67r217qi202qmxq2xkn3643ay3iybhl3dq3qd6j8nm3b2";
+      sha256 = "1d6irsigm0i4ig1m47c94kixi3wb8jnxwvwkl8qxvyngmb73srl2";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.4";
   };
   rb-fsevent = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06c50pvxib7wqnv6q0f3n7gzfcrp5chi3sa48hxpkfxc3hhy11fm";
+      sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423";
       type = "gem";
     };
-    version = "0.11.1";
+    version = "0.11.2";
   };
   rb-inotify = {
     dependencies = ["ffi"];
@@ -361,10 +372,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bxzcvxvrmb1ngxz0bgz1va4q9c4w8m6gc8lmdhi6gnvaaf98gsy";
+      sha256 = "05r2cxscapr9saqjw8dlp89as7jvc2mlz1h5kssrmkbz105qmfcm";
       type = "gem";
     };
-    version = "6.4.0";
+    version = "6.5.0";
   };
   RedCloth = {
     groups = ["default"];
@@ -391,10 +402,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17dhzc9hfzd8x18hfsvn9rsp4jg18wdfsdy3a5p99y5dhfh1321r";
+      sha256 = "1dnfkrk8xx2m8r3r9m2p5xcq57viznyc09k7r3i4jbm758i57lx3";
       type = "gem";
     };
-    version = "3.29.0";
+    version = "3.30.0";
   };
   rss = {
     dependencies = ["rexml"];
@@ -432,10 +443,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dld1z2mdnsf9i4fs74zdr6rfk75pkgzvvyxask5w2dsmkj7bb4m";
+      sha256 = "0z33vpk4g24zdhrwsmwbr3mhb0xpdl6jna2nscrwgq77xl6iw4jg";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.6.2";
   };
   sass = {
     dependencies = ["sass-listen"];
@@ -465,10 +476,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x3rci7k30g96y307hvglpdgm3f7nga3k3n4i8n1v2xxx290800y";
+      sha256 = "0wkc079h6hzq737j4wycpnv7c38mhd0rl33pszyy7768zzvyjc9y";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.4";
   };
   sinatra-contrib = {
     dependencies = ["multi_json" "mustermann" "rack-protection" "sinatra" "tilt"];
@@ -476,10 +487,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zzckl2n7r18fk3929hgcv8pby6hxwva0rbxw66yq6r96lnwzryb";
+      sha256 = "0s6c1k3zzxp3xa7libvlpqaby27124rccyyxcsly04ih904cxk33";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.4";
   };
   sprockets = {
     dependencies = ["concurrent-ruby" "rack"];
@@ -508,10 +519,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jns0x5lbafyqyx7pgzfs6i4ykc7p6zg7gxa6hd82w40n6z9rdvi";
+      sha256 = "1al02vvy3df0q3jy8sblkgpf688bji84l4p4xq9gzkk469i23bis";
       type = "gem";
     };
-    version = "3.0.2";
+    version = "3.0.5";
   };
   therubyrhino = {
     dependencies = ["therubyrhino_jar"];
@@ -539,10 +550,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv";
+      sha256 = "1qmhi6d9przjzhsyk9g5pq2j75c656msh6xzprqd2mxgphf23jxs";
       type = "gem";
     };
-    version = "2.0.10";
+    version = "2.1.0";
   };
   twitter-text = {
     dependencies = ["unf"];
@@ -602,10 +613,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7";
+      sha256 = "13qm7s0gr2pmfcl7dxrmq38asaza4w0i2n9my4yzs499j731wh8r";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "1.8.1";
   };
   wikicloth = {
     dependencies = ["builder" "expression_parser" "htmlentities" "nokogiri" "twitter-text"];
diff --git a/pkgs/applications/misc/gpu-viewer/default.nix b/pkgs/applications/misc/gpu-viewer/default.nix
new file mode 100644
index 000000000000..9c6f67c5fea3
--- /dev/null
+++ b/pkgs/applications/misc/gpu-viewer/default.nix
@@ -0,0 +1,74 @@
+{ lib
+, fetchFromGitHub
+, pkg-config
+, meson
+, ninja
+, gtk4
+, libadwaita
+, python3Packages
+, gobject-introspection
+, vulkan-tools
+, python3
+, wrapGAppsHook
+, gdk-pixbuf
+, lsb-release
+, glxinfo
+, vdpauinfo
+, clinfo
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "gpu-viewer";
+  version = "2.26";
+
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "arunsivaramanneo";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-3GYJq76g/pU8dt+OMGBeDcw47z5Xv3AGkLsACcBCELs=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    meson
+    ninja
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk4
+    libadwaita
+    vulkan-tools
+    gdk-pixbuf
+  ];
+
+  pythonPath = with python3Packages; [
+    pygobject3
+    click
+  ];
+
+  # Prevent double wrapping
+  dontWrapGApps = true;
+
+  postFixup = ''
+    makeWrapper ${python3.interpreter} $out/bin/gpu-viewer \
+      --prefix PATH : "${lib.makeBinPath [ clinfo glxinfo lsb-release vdpauinfo vulkan-tools ]}" \
+      --add-flags "$out/share/gpu-viewer/Files/GPUViewer.py" \
+      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --chdir "$out/share/gpu-viewer/Files" \
+      ''${makeWrapperArgs[@]} \
+      ''${gappsWrapperArgs[@]}
+  '';
+
+
+  meta = with lib; {
+    homepage = "https://github.com/arunsivaramanneo/GPU-Viewer";
+    description = "A front-end to glxinfo, vulkaninfo, clinfo and es2_info";
+    maintainers = with maintainers; [ GaetanLepage ];
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/loxodo/default.nix b/pkgs/applications/misc/loxodo/default.nix
index bcfd581edcf9..53ea7730cb12 100644
--- a/pkgs/applications/misc/loxodo/default.nix
+++ b/pkgs/applications/misc/loxodo/default.nix
@@ -11,7 +11,9 @@ python3.pkgs.buildPythonApplication {
     sha256 = "1cips4pvrqga8q1ibs23vjrf8dwan860x8jvjmc52h6qvvvv60yl";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [ six wxPython_4_0 ];
+  patches = [ ./wxpython.patch ];
+
+  propagatedBuildInputs = with python3.pkgs; [ six wxPython_4_2 ];
 
   postInstall = ''
     mv $out/bin/loxodo.py $out/bin/loxodo
diff --git a/pkgs/applications/misc/loxodo/wxpython.patch b/pkgs/applications/misc/loxodo/wxpython.patch
new file mode 100644
index 000000000000..e22d3b5ad708
--- /dev/null
+++ b/pkgs/applications/misc/loxodo/wxpython.patch
@@ -0,0 +1,25 @@
+diff --git a/loxodo.py b/loxodo.py
+index 68ad4c8..e96bc1a 100755
+--- a/loxodo.py
++++ b/loxodo.py
+@@ -41,7 +41,7 @@ if len(sys.argv) > 1:
+ # In all other cases, use the "wx" frontend.
+ try:
+     import wx
+-    assert(wx.__version__.startswith('4.0.'))
++    assert(wx.__version__.startswith('4.'))
+ except AssertionError as e:
+     print('Found incompatible wxPython, the wxWidgets Python bindings: %s' % wx.__version__, file=sys.stderr)
+     print('Falling back to cmdline frontend.', file=sys.stderr)
+diff --git a/src/frontends/wx/loxodo.py b/src/frontends/wx/loxodo.py
+index bc3f509..e02c4bf 100644
+--- a/src/frontends/wx/loxodo.py
++++ b/src/frontends/wx/loxodo.py
+@@ -25,6 +25,7 @@ from .loadframe import LoadFrame
+ 
+ 
+ def main():
++    wx.SizerFlags.DisableConsistencyChecks()
+     app = wx.App(False)
+     setup_wx_locale()
+     mainframe = LoadFrame(None, -1, "")
diff --git a/pkgs/applications/misc/lutris/fhsenv.nix b/pkgs/applications/misc/lutris/fhsenv.nix
index 075755bf217d..da1f0a2824b0 100644
--- a/pkgs/applications/misc/lutris/fhsenv.nix
+++ b/pkgs/applications/misc/lutris/fhsenv.nix
@@ -24,13 +24,16 @@ in buildFHSUserEnv {
     # Adventure Game Studio
     allegro dumb
 
+    # Curl
+    libnghttp2
+
     # Desmume
     lua agg soundtouch openal desktop-file-utils atk
 
     # DGen // TODO: libarchive is broken
 
     # Dolphin
-    bluez ffmpeg gettext portaudio wxGTK30 miniupnpc mbedtls_2 lzo sfml gsm
+    bluez ffmpeg gettext portaudio miniupnpc mbedtls_2 lzo sfml gsm
     wavpack orc nettle gmp pcre vulkan-loader
 
     # DOSBox
diff --git a/pkgs/applications/misc/metamorphose2/default.nix b/pkgs/applications/misc/metamorphose2/default.nix
index 9bf2bbab70d1..69662f4f4958 100644
--- a/pkgs/applications/misc/metamorphose2/default.nix
+++ b/pkgs/applications/misc/metamorphose2/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
   '';
 
   nativeBuildInputs = [ makeWrapper ];
-  propagatedBuildInputs = with python3.pkgs; [ mutagen wxPython_4_1 pillow six ];
+  propagatedBuildInputs = with python3.pkgs; [ mutagen wxPython_4_2 pillow six ];
 
   makeFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/applications/misc/oxker/default.nix b/pkgs/applications/misc/oxker/default.nix
index 50fc4ec9fec5..3225b5807df3 100644
--- a/pkgs/applications/misc/oxker/default.nix
+++ b/pkgs/applications/misc/oxker/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "oxker";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-wYGaBXorAcwFnlUixrOP63s32WV1V7/8SUOBXIeLB7o=";
+    sha256 = "sha256-w0YLSwRv6uhDwi06q0/mhGc5C6O2xq3vc9Se7/xXkhA=";
   };
 
-  cargoHash = "sha256-rdzr6oOrJNTX3dCSO3ZdKNFZ31/CHdupKL7QmmuuX7I=";
+  cargoHash = "sha256-Q0+6YgcdWa4RjNA7ffQJN0uIN8UFuCdbYjTFoM8w8uo=";
 
   meta = with lib; {
     description = "A simple tui to view & control docker containers";
diff --git a/pkgs/applications/misc/pdfstudio/default.nix b/pkgs/applications/misc/pdfstudio/default.nix
index 6162207693be..b5d49aa90212 100644
--- a/pkgs/applications/misc/pdfstudio/default.nix
+++ b/pkgs/applications/misc/pdfstudio/default.nix
@@ -31,23 +31,23 @@ in
 {
   pdfstudioviewer = callPackage ./common.nix rec {
     inherit desktopName pname program year;
-    version = "${year}.1.0";
+    version = "${year}.2.2";
     longDescription = ''
       PDF Studio Viewer is an easy to use, full-featured PDF editing software. This is the free edition. For the standard/pro edition, see the package pdfstudio.
     '';
     src = fetchurl {
-      url = "https://web.archive.org/web/20220909093140/https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.deb";
-      sha256 = "sha256-za+a5vGkINLFvFoZdnB++4VGE9rfdfZf5HFNw/Af1AA=";
+      url = "https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.deb";
+      sha256 = "sha256-cc8YjrMsYZqgmwp5+AA+HsqzjxzFcTT/ga31NQz/OWc=";
     };
     jdk = jdk11;
   };
 
   pdfstudio2021 = callPackage ./common.nix rec {
     inherit desktopName longDescription pname program year;
-    version = "${year}.2.0";
+    version = "${year}.2.1";
     src = fetchurl {
       url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb";
-      sha256 = "sha256-wQgVWz2kS+XkrqvCAUishizfDrCwGyVDAAU4Yzj4uYU=";
+      sha256 = "sha256-yELpza2C3HJJIP+ZQP7x3Tfez0Nl6ctCbHCmTmpX3jo=";
     };
     extraBuildInputs = [
       (lib.getLib stdenv.cc.cc)  # for libstdc++.so.6 and libgomp.so.1
@@ -57,10 +57,10 @@ in
 
   pdfstudio2022 = callPackage ./common.nix rec {
     inherit desktopName longDescription pname program year;
-    version = "${year}.1.3";
+    version = "${year}.2.2";
     src = fetchurl {
       url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb";
-      sha256 = "sha256-B3RrftuKsPWUWP9hwnq4i311hgZgwZLqG1pJLdilfQI=";
+      sha256 = "sha256-CP2cCmvedQJ/xjZWQ4wj6UZRqCsU5qK3Ta83TUVJyts=";
     };
     extraBuildInputs = [
       (lib.getLib stdenv.cc.cc)  # for libstdc++.so.6 and libgomp.so.1
diff --git a/pkgs/applications/misc/pgmodeler/default.nix b/pkgs/applications/misc/pgmodeler/default.nix
index ca2d75eac853..ca9387e34e65 100644
--- a/pkgs/applications/misc/pgmodeler/default.nix
+++ b/pkgs/applications/misc/pgmodeler/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgmodeler";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "pgmodeler";
     repo = "pgmodeler";
     rev = "v${version}";
-    sha256 = "sha256-SlAYl2x1qdBBwLboO59h1uifF7Q71oX3JyhWwUogdb0=";
+    sha256 = "sha256-yvVgBfJLjEynsqxQisDfOM99C8/QM0F44RIHAmxh4uU=";
   };
 
   nativeBuildInputs = [ pkg-config qmake wrapQtAppsHook ];
diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix
index 669f25e1509e..edeb7ceae962 100644
--- a/pkgs/applications/misc/playonlinux/default.nix
+++ b/pkgs/applications/misc/playonlinux/default.nix
@@ -61,7 +61,7 @@ let
   libs = pkgs: lib.makeLibraryPath [ xorg.libX11 libGL ];
 
   python = python3.withPackages(ps: with ps; [
-    wxPython_4_1
+    wxPython_4_2
     setuptools
     natsort
   ]);
diff --git a/pkgs/applications/misc/pop-launcher/default.nix b/pkgs/applications/misc/pop-launcher/default.nix
index ca4a1742e1e1..24bcd9ab89e4 100644
--- a/pkgs/applications/misc/pop-launcher/default.nix
+++ b/pkgs/applications/misc/pop-launcher/default.nix
@@ -54,6 +54,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Modular IPC-based desktop launcher service";
     homepage = "https://github.com/pop-os/launcher";
+    platforms = platforms.linux;
     license = licenses.mpl20;
     maintainers = with maintainers; [ samhug ];
   };
diff --git a/pkgs/applications/misc/printrun/default.nix b/pkgs/applications/misc/printrun/default.nix
index 546c0544cffa..e436d0514a61 100644
--- a/pkgs/applications/misc/printrun/default.nix
+++ b/pkgs/applications/misc/printrun/default.nix
@@ -2,29 +2,33 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "printrun";
-  version = "2.0.0rc5";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "kliment";
     repo = "Printrun";
-    rev = "${pname}-${version}";
-    sha256 = "179x8lwrw2h7cxnkq7izny6qcb4nhjnd8zx893i77zfhzsa6kx81";
+    rev = "printrun-${version}";
+    hash = "sha256-ijJc0CVPiYW5VjTqhY1kO+Fy3dfuPoMn7KRhvcsdAZw=";
   };
 
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "pyglet >= 1.1, < 2.0" "pyglet" \
+      --replace "cairosvg >= 1.0.9, < 2.6.0" "cairosvg"
+    sed -i -r "s|/usr(/local)?/share/|$out/share/|g" printrun/utils.py
+  '';
+
   nativeBuildInputs = [ glib wrapGAppsHook ];
 
   propagatedBuildInputs = with python3Packages; [
-    appdirs cython dbus-python numpy six wxPython_4_0 psutil pyglet pyopengl pyserial
+    appdirs cython dbus-python numpy six wxPython_4_2 psutil pyglet pyopengl pyserial cffi cairosvg lxml
   ];
 
+  # pyglet.canvas.xlib.NoSuchDisplayException: Cannot connect to "None"
   doCheck = false;
 
   setupPyBuildFlags = ["-i"];
 
-  postPatch = ''
-    sed -i -r "s|/usr(/local)?/share/|$out/share/|g" printrun/utils.py
-  '';
-
   postInstall = ''
     for f in $out/share/applications/*.desktop; do
       sed -i -e "s|/usr/|$out/|g" "$f"
@@ -40,7 +44,7 @@ python3Packages.buildPythonApplication rec {
   meta = with lib; {
     description = "Pronterface, Pronsole, and Printcore - Pure Python 3d printing host software";
     homepage = "https://github.com/kliment/Printrun";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/rootbar/default.nix b/pkgs/applications/misc/rootbar/default.nix
index eab821c6dc64..ee536ca7c50f 100644
--- a/pkgs/applications/misc/rootbar/default.nix
+++ b/pkgs/applications/misc/rootbar/default.nix
@@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix
index 55599a87b861..1bc2c2b6c976 100644
--- a/pkgs/applications/misc/subsurface/default.nix
+++ b/pkgs/applications/misc/subsurface/default.nix
@@ -9,8 +9,10 @@
 , qmake
 , curl
 , grantlee
+, hidapi
 , libgit2
 , libssh2
+, libusb1
 , libxml2
 , libxslt
 , libzip
@@ -44,9 +46,9 @@ let
 
     sourceRoot = "source/libdivecomputer";
 
-    nativeBuildInputs = [ autoreconfHook ];
+    nativeBuildInputs = [ autoreconfHook pkg-config ];
 
-    buildInputs = [ zlib ];
+    buildInputs = [ zlib libusb1 bluez hidapi ];
 
     enableParallelBuilding = true;
 
diff --git a/pkgs/applications/misc/tuckr/default.nix b/pkgs/applications/misc/tuckr/default.nix
index e3daca956c44..4223d6d9b44d 100644
--- a/pkgs/applications/misc/tuckr/default.nix
+++ b/pkgs/applications/misc/tuckr/default.nix
@@ -2,24 +2,28 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tuckr";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "RaphGL";
     repo = "Tuckr";
     rev = version;
-    sha256 = "sha256-mpI0iAGMIzGGdObH5bfyA3iioNdquzLDZoSWxbAOsJ0=";
+    sha256 = "sha256-47qnBGCiPWJGF4QcqjzmDIZWlCO3xE3QyIF6nSPGWAc=";
   };
 
-  cargoPatches = [ ./update-cargo-lock.diff ];
+  cargoHash = "sha256-IX7ZX4fKBK0wS7nlSdf/bVGzXl2GU7qwwmtPMoOe/m8=";
 
-  cargoSha256 = "sha256-tm8fS8IWxWF4Vh+3QaCiruglZijdOic34vfAyxflDNM=";
+  # Cargo.lock is outdated
+  preConfigure = ''
+    cargo update --offline
+  '';
 
   doCheck = false; # test result: FAILED. 5 passed; 3 failed;
 
   meta = with lib; {
     description = "A super powered replacement for GNU Stow";
     homepage = "https://github.com/RaphGL/Tuckr";
+    changelog = "https://github.com/RaphGL/Tuckr/releases/tag/${version}";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ mimame ];
   };
diff --git a/pkgs/applications/misc/tuckr/update-cargo-lock.diff b/pkgs/applications/misc/tuckr/update-cargo-lock.diff
deleted file mode 100644
index 45fe445042fb..000000000000
--- a/pkgs/applications/misc/tuckr/update-cargo-lock.diff
+++ /dev/null
@@ -1,49 +0,0 @@
-diff --git i/Cargo.lock w/Cargo.lock
-index 5f5dd43..d7c8370 100644
---- i/Cargo.lock
-+++ w/Cargo.lock
-@@ -107,9 +107,9 @@ dependencies = [
- 
- [[package]]
- name = "clap"
--version = "4.1.4"
-+version = "4.1.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76"
-+checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3"
- dependencies = [
-  "bitflags",
-  "clap_derive",
-@@ -248,9 +248,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
- 
- [[package]]
- name = "hermit-abi"
--version = "0.3.0"
-+version = "0.3.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "856b5cb0902c2b6d65d5fd97dfa30f9b70c7538e770b98eab5ed52d8db923e01"
-+checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
- 
- [[package]]
- name = "inout"
-@@ -319,9 +319,9 @@ dependencies = [
- 
- [[package]]
- name = "once_cell"
--version = "1.17.0"
-+version = "1.17.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
-+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
- 
- [[package]]
- name = "opaque-debug"
-@@ -597,7 +597,7 @@ dependencies = [
- 
- [[package]]
- name = "tuckr"
--version = "0.6.1"
-+version = "0.7.0"
- dependencies = [
-  "chacha20poly1305",
-  "clap",
diff --git a/pkgs/applications/misc/tvbrowser/default.nix b/pkgs/applications/misc/tvbrowser/default.nix
index afc810003932..e3ebd4143e55 100644
--- a/pkgs/applications/misc/tvbrowser/default.nix
+++ b/pkgs/applications/misc/tvbrowser/default.nix
@@ -16,7 +16,6 @@ let
     hash = "sha256-5XoypuMd2AFBE2SJ6EdECuvq6D81HLLuu9UoA9kcKAM=";
   };
 in
-assert lib.versionAtLeast jdk.version minimalJavaVersion;
 stdenv.mkDerivation rec {
   pname = "tvbrowser";
   version = "4.2.7";
@@ -40,27 +39,28 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    mkdir -p $out/share/${pname}
-    cp -R runtime/tvbrowser_linux/* $out/share/${pname}
+    mkdir -p $out/share/tvbrowser
+    cp -R runtime/tvbrowser_linux/* $out/share/tvbrowser
 
     mkdir -p $out/share/applications
-    mv -t $out/share/applications $out/share/${pname}/${pname}.desktop
-    sed -e 's|=imgs/|='$out'/share/${pname}/imgs/|'  \
-        -e 's|=${pname}.sh|='$out'/bin/${pname}|'  \
-        -i $out/share/applications/${pname}.desktop
+    mv -t $out/share/applications $out/share/tvbrowser/tvbrowser.desktop
+    sed -e 's|=imgs/|='$out'/share/tvbrowser/imgs/|'  \
+        -e 's|=tvbrowser.sh|='$out'/bin/tvbrowser|'  \
+        -i $out/share/applications/tvbrowser.desktop
 
     for i in 16 32 48 128; do
       mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps
-      ln -s $out/share/${pname}/imgs/${pname}$i.png $out/share/icons/hicolor/''${i}x''${i}/apps/${pname}.png
+      ln -s $out/share/tvbrowser/imgs/tvbrowser$i.png  \
+          $out/share/icons/hicolor/''${i}x''${i}/apps/tvbrowser.png
     done
 
     mkdir -p $out/bin
     makeWrapper  \
-        $out/share/${pname}/${pname}.sh  \
-        $out/bin/${pname}  \
+        $out/share/tvbrowser/tvbrowser.sh  \
+        $out/bin/tvbrowser  \
         --prefix PATH : ${jdk}/bin  \
         --prefix XDG_DATA_DIRS : $out/share  \
-        --set PROGRAM_DIR $out/share/${pname}
+        --set PROGRAM_DIR $out/share/tvbrowser
 
     runHook postInstall
   '';
@@ -74,7 +74,6 @@ stdenv.mkDerivation rec {
     changelog = "https://www.tvbrowser.org/index.php?id=news";
     sourceProvenance = with sourceTypes; [ binaryBytecode fromSource ];
     license = licenses.gpl3Plus;
-    mainProgram = pname;
     platforms = platforms.linux;
     maintainers = with maintainers; [ jfrankenau yarny ];
     longDescription = ''
diff --git a/pkgs/applications/misc/tvbrowser/test.nix b/pkgs/applications/misc/tvbrowser/test.nix
index b5d12ac6bad9..bee843ccbecc 100644
--- a/pkgs/applications/misc/tvbrowser/test.nix
+++ b/pkgs/applications/misc/tvbrowser/test.nix
@@ -12,20 +12,20 @@ let
     runtimeInputs = [ xorg.xwininfo tvbrowser ];
     text = ''
       function find_tvbrowser_windows {
-          for window_name in java tvbrowser-TVBrowser 'Setup assistant' ; do
-              grep -q "$window_name" "$1"  ||  return 1
-          done
+        for window_name in java tvbrowser-TVBrowser 'Setup assistant' ; do
+          grep -q "$window_name" "$1"  ||  return 1
+        done
       }
       tvbrowser &
       for _ in {0..900} ; do
-          xwininfo -root -tree  \
-              | sed 's/.*0x[0-9a-f]* \"\([^\"]*\)\".*/\1/; t; d'  \
-              | tee window-names
-          echo
-          if find_tvbrowser_windows window-names ; then
-              break
-          fi
-          sleep 1
+        xwininfo -root -tree  \
+            | sed 's/.*0x[0-9a-f]* \"\([^\"]*\)\".*/\1/; t; d'  \
+            | tee window-names
+        echo
+        if find_tvbrowser_windows window-names ; then
+          break
+        fi
+        sleep 1
       done
       find_tvbrowser_windows window-names
     '';
diff --git a/pkgs/applications/misc/vhs/default.nix b/pkgs/applications/misc/vhs/default.nix
index a86ddda288be..2c594636c0df 100644
--- a/pkgs/applications/misc/vhs/default.nix
+++ b/pkgs/applications/misc/vhs/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, installShellFiles, fetchFromGitHub, ffmpeg, ttyd, chromium, makeWrapper }:
+{ lib, stdenv, buildGoModule, installShellFiles, fetchFromGitHub, ffmpeg, ttyd, chromium, makeWrapper }:
 
 buildGoModule rec {
   pname = "vhs";
@@ -18,7 +18,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
 
   postInstall = ''
-    wrapProgram $out/bin/vhs --prefix PATH : ${lib.makeBinPath [ chromium ffmpeg ttyd ]}
+    wrapProgram $out/bin/vhs --prefix PATH : ${lib.makeBinPath (lib.optionals stdenv.isLinux [ chromium ] ++ [ ffmpeg ttyd ])}
     $out/bin/vhs man > vhs.1
     installManPage vhs.1
     installShellCompletion --cmd vhs \
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 0da93d03624f..e6dcf83e3f3e 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -38,6 +38,8 @@
 , libepoxy
 # postPatch:
 , glibc # gconv + locale
+# postFixup:
+, vulkan-loader
 
 # Package customization:
 , cupsSupport ? true, cups ? null
@@ -341,10 +343,10 @@ let
     in lib.concatStringsSep "\n" commands;
 
     postFixup = ''
-      # Make sure that libGLESv2 is found by dlopen (if using EGL).
+      # Make sure that libGLESv2 and libvulkan are found by dlopen.
       chromiumBinary="$libExecPath/$packageName"
       origRpath="$(patchelf --print-rpath "$chromiumBinary")"
-      patchelf --set-rpath "${libGL}/lib:$origRpath" "$chromiumBinary"
+      patchelf --set-rpath "${lib.makeLibraryPath [ libGL vulkan-loader ]}:$origRpath" "$chromiumBinary"
     '';
 
     passthru = {
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index d867b05d020b..14e256a92b21 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -19,9 +19,9 @@
     }
   },
   "beta": {
-    "version": "112.0.5615.20",
-    "sha256": "0qxifnc2xk2zkmpzc1pzd95ym3i829qzgzd83qh7ah9p64c76f9y",
-    "sha256bin64": "11c7k87fnfhaynhpp2rjzpzydrl096fjx3gw589nvq1lckbg9nsd",
+    "version": "112.0.5615.29",
+    "sha256": "0k9dn1gzfr2j353ppza1nypj0a4b27p9n742cms3z8583da8kw6p",
+    "sha256bin64": "04m77ndsfygpb1g11iyscvfszgykbr5n3s6bh1shnpkpdbvx3dki",
     "deps": {
       "gn": {
         "version": "2023-02-17",
@@ -32,9 +32,9 @@
     }
   },
   "dev": {
-    "version": "113.0.5638.0",
-    "sha256": "0v4hminx765swv0iakg5qw7rk6zc67cn5p9x625jaizz50ahpfib",
-    "sha256bin64": "07snjlizj30mzcm5fbsg6ibd4jqmcwiykdwrpqmdqq902c3gwc3r",
+    "version": "113.0.5653.0",
+    "sha256": "1s1as01javi8z4sax70rx4cn03lwfis75rkv58yk7sfhj3qafzhk",
+    "sha256bin64": "1i1zkdq8qzm8r5lg10qmqaycx45m2qc9fzjql0si0amy81sdkfsn",
     "deps": {
       "gn": {
         "version": "2023-02-24",
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 4cbd9971a1f9..eb35d599e180 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,1005 +1,1005 @@
 {
-  version = "112.0b2";
+  version = "112.0b3";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ach/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ach/firefox-112.0b3.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "55396746ee49a401ea7c82d909f800d7eba326e92dc28a910712ea7a35711718";
+      sha256 = "7e45e3f7a8b985f05fe32c038d8dcf707d4c7f7d544443554923e54222c10f69";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/af/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/af/firefox-112.0b3.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "b73bfa68625ec6e1a6d23077a580678dd0fdf319b8366f65c20185dafc1e978f";
+      sha256 = "3ef52da36f6944f458af7730f3a0052f94dafe7daf81996364930dab63208cb5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/an/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/an/firefox-112.0b3.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "f52aa9bd79c3501eff9662ec065f8e26531c5860fdc32a5228fd12f9a1d69917";
+      sha256 = "c9d4d16d7b6035babc3ca12149dcce628ceea7c6caa05663ca9d7e4a61570cd5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ar/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ar/firefox-112.0b3.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "0fd26c0e7122bc2af38d9c812fb5deddd6f8ca85bda625781fd61de685dd9872";
+      sha256 = "d5dcaa8b76a9699eb9af6cc30c6de560c9b8e7ceaa96d0d208f2e30b29471dd6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ast/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ast/firefox-112.0b3.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "634f8f5b63f4e5103238b0dff6a5de27b63fa0abce5959cab9f22723eb1e7763";
+      sha256 = "d61ba0ee0079683a47163644fd5abbd0dda0c6387c6f30d0de90abfba4f5261f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/az/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/az/firefox-112.0b3.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "2b1dea32824f6bf622e1551ef1501eb0fbc29eef1611d78cf0826bf71f75452a";
+      sha256 = "3cf3a5bf77bce607b26b8cf34aa3d148d9e09b0de9010b7ee6032553e165e6c1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/be/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/be/firefox-112.0b3.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "668735893d389b63613cdd6c35847d5e9842d7fd64f2bb79df98f119f0ae2619";
+      sha256 = "bbbdd7092f34e116d9974303dc224fdbc6cf510413ff45f15d8036e27f2a8bf2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/bg/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/bg/firefox-112.0b3.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "51e874da59d9309c40644ad3d480ad6f50db7c556f5d0873326e65f591e11543";
+      sha256 = "47bf112189e74f5d4e87864a695915e0ecbfd454890b0f709f229869bf15bd7f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/bn/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/bn/firefox-112.0b3.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "60cf87ed845a5b9ec9c25fd0c54422d5df1a220cffa040acdcbab6cac5f90cc9";
+      sha256 = "8d4a77d3eed954c442c91e1f43f83c1abedcd394fa26b3b55594f6879cbfb564";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/br/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/br/firefox-112.0b3.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "78d9409a97934bdc7fea4f55f19830d02abf8212fb019d1d3b36a1dd6fa86e0f";
+      sha256 = "99464a0825965bf95fc20f3f02c5263e6adb9ffe95c5457724d708d7cf35345b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/bs/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/bs/firefox-112.0b3.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "5309007b0605b956cdeb2c4857a2bd475cbdfac1cb2998d081b1931c96415892";
+      sha256 = "d508c6cd95261589e597c3d38555d8182f1d6bb7df3fee6bf51d69ff62bb4ba6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ca-valencia/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ca-valencia/firefox-112.0b3.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "c655f8b4a7cd9501df33aaa0f6dfee6ac0e3cddb91877701eb82b672c62ca70e";
+      sha256 = "66c160faefc80ea3a4d7bdb8bd4ec415d6e6880decc0ae8b785ba41245fe7788";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ca/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ca/firefox-112.0b3.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "7ed53427e009b63002a9770fcefabaf16b695d1362587d5e85421285ac9bc128";
+      sha256 = "81aa78e972989fcfcd36f46698863806853d92514afaac7adf567aa55bd6a60e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/cak/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/cak/firefox-112.0b3.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "f30f034d6604d0d5fa72f5d85a811316cf2812bcb79bee6022de9bec68506022";
+      sha256 = "d9631a4c750b65377210266c8461c529e2ab5fa625b78e971d11a0116ab9d1a3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/cs/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/cs/firefox-112.0b3.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "ac00859c967995db0cc79760e248fa566f42c5301c173a0dabb64d719ce7577b";
+      sha256 = "7f90dc968b6d4c25ffef4708adf2031b29fe4b0b11a694a4d3c4c35c071a73da";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/cy/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/cy/firefox-112.0b3.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "45866ae73478e6e7516b93a23844214e89716542bdcc04e769f7b18d7d3defb6";
+      sha256 = "1a9e15ad5733a86000a31f93a403cbb43578de54c05a97b0e6e40a8f3fd244ac";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/da/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/da/firefox-112.0b3.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "2f0416215cc403e81c326179a65ab9a2af0e836bfccab1877c00fa997228ffdb";
+      sha256 = "ebf834bcae918981e89795434ae40768b826b13371acc7ec9ba08dc72aaa73b1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/de/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/de/firefox-112.0b3.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "4ad318d32e0e26dca381d10becd101afb544a6fadf281ccd3808e5f3ca061904";
+      sha256 = "666dbf7af58657fe9b0b7f99bfbc8d46ae02305d1289e8a91be8f4aea9b46006";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/dsb/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/dsb/firefox-112.0b3.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "0d18ef2b1d134b613dc9851798f5438f82e3a1ec6bdd751fa336a7053ddbc6cc";
+      sha256 = "236a9920e1f6800d5625ce580cbc631a42fd30e5bf25dafe154708a0fbdc677f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/el/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/el/firefox-112.0b3.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "de0c0315b8e67c608b285a33ea707fb8c86af1317d724dd8a9643ed3847aa726";
+      sha256 = "0c93516a4c1902ff9be2f1e3a0e782246f6105142ce0fa2bb77401ce271efb76";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/en-CA/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/en-CA/firefox-112.0b3.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "1f5604d2baba29149341d358a49c9bef2a9975901d635bc111fbf3ccc4fb921a";
+      sha256 = "18e1068a3b3cbac8db7ea9525f2baca3cac3daeb817143069a92ae8684868ae8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/en-GB/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/en-GB/firefox-112.0b3.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "67b1eb3be91530e9da75d7a441b6af4a1f9686fafeaf6b7de92add80d2d1071a";
+      sha256 = "ff19e3ac8ddfcf24c32f497576a5df245846b09242ced4a9da4354597b6d19c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/en-US/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/en-US/firefox-112.0b3.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "8bdf79d6a7acb3f85564ad97fcf5906357b90530e51e7eac09d209475ac56135";
+      sha256 = "96c66b52507aff413b5acaf9bc146908cd6725397189cb535a2e6b411ec5cf25";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/eo/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/eo/firefox-112.0b3.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "8643d3b2eda5b93e61d2091d77c8abfad6089ed600846ead645ca49720214eb2";
+      sha256 = "150b2447d458eb34ca6139aa0046c843971749de0359503c8cbef7106b6a7838";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/es-AR/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/es-AR/firefox-112.0b3.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "48d60dd690e9e1cceaf8f515b8e51b4f26a213acffa55a8bc324e85740cbcde9";
+      sha256 = "33870347b2573594f7118b53d535c4100e3aa5dfd79ead8e3e98594e35f02c44";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/es-CL/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/es-CL/firefox-112.0b3.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "1ed56eeafdc3a7a26004116773c497675fcc30b4f8c3c5e290aca07e66a82391";
+      sha256 = "f6a885941ea044b02823c7ee3e7e59eb7edf9fbd916c207c03a3adb1ac5e9532";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/es-ES/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/es-ES/firefox-112.0b3.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "c927fcf15729383de1c40415e0948f4a7fbedccade5eb6583fdca89250c80931";
+      sha256 = "388d1759395e920f60fc1cdb6b93a936ac59e80cbea18ecab1bd48274ec64241";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/es-MX/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/es-MX/firefox-112.0b3.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "c1f9be15acbf299f52a1c49712508f140e88134de72261b4c6f7014c5143fd15";
+      sha256 = "fc35234ccd7428a0d16a9ed8403912d2f20a145efc89a74c743ba6e187b1a1b5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/et/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/et/firefox-112.0b3.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "6fbd0755b7c32cfada83d6d94adb42a983e8b33bc4610b086256cd4abf913da8";
+      sha256 = "12116fb38aba397c30b61ba0d13f1eb334a2240e0cc16e303dfdb4274678ce00";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/eu/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/eu/firefox-112.0b3.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "c6111ce30274a888a19a17a00bed3ea323c2d327544a4bf97fba671cf19d66ba";
+      sha256 = "c0c3e164e67e31ce5686479f0494749b5eb1badc157ec3b7148afe490a4296a3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/fa/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/fa/firefox-112.0b3.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "8598a16e1d48fbb6beb3e576741795b56c6cc1ebce5ce143d995607341e581c4";
+      sha256 = "b0bd2b70aca166e66d102ab263fa9532dbff40c563ae463aeb2302d7b958e1ff";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ff/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ff/firefox-112.0b3.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "5efbfc006a2e101a3c650963c9ff1cbd216f66c82c7460ce84f6dbf71745eeb5";
+      sha256 = "c456cad156aad5c99f49a697266fa67d273b5bccae9704db6a0106e3f3e363bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/fi/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/fi/firefox-112.0b3.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "729d21e2d57ab76035f06d0d66b29a387d697c5d0a7ce858c2773fc91a7d5338";
+      sha256 = "c63837738b96928de3367fc0a23ba69b339d5ab81f21280681546be5bcc9a03b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/fr/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/fr/firefox-112.0b3.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "35d9f24f0e6d5c907752a08354a6f31eb41da4e3f7a2ca41c05d0ee39432fbf3";
+      sha256 = "d066890f90b57b5f6fc53cb3b4e70630d2f2fc4db6283b4e4c4198a68bdfc556";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/fur/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/fur/firefox-112.0b3.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "7a418568590169aac482da758b3aa36f66bde5bc7d66d92a9af9a90d9a498fda";
+      sha256 = "e081e4e51f0359e41a6ddc27c9d57263c558ea2a7e80f61ce6dac29d9bee6a19";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/fy-NL/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/fy-NL/firefox-112.0b3.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "66e84d4c9c3cccaa0571bcfa074179ffe2506b09435807e8dfca622cda809fa4";
+      sha256 = "e021fcc87736c1ced1a81de06ceb30100e30a39f6db04789ac48f2d1c95a781d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ga-IE/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ga-IE/firefox-112.0b3.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "63ffe4004348fc89fcf9f7356db750c2188c6b70c59b1669f0f00976c8b7ac14";
+      sha256 = "ee95f7e8eae3c1a7c9884bb62c96a886bfcffd41dfb7b46515ed9298720d805e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/gd/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/gd/firefox-112.0b3.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "7bb88fafdb04958ac90c3452581561ea1de3d628cdf0a5aac12d42e26193d240";
+      sha256 = "c111e1f78a1050e8b31b86bcdd8814a691c9b9c8a71f0659027f6c5a33fdb4b0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/gl/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/gl/firefox-112.0b3.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "3b8a1044208be74ae645f2d7ccb2e097310c1bc0ab9bc99a63ed962404bb3625";
+      sha256 = "6eb9e74b87d47ddd1d03792067f27252d9980664e78afd661fc60910687b67a5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/gn/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/gn/firefox-112.0b3.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "6849e381fd05fcf1a98f2477723165efc1261c3a86e937befd92faa553e618b3";
+      sha256 = "3edb762012527ed2c7c404f3fb3eaac4283bb6a8d199861bec1f2cb24fafa416";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/gu-IN/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/gu-IN/firefox-112.0b3.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "cc60d45f0febacfc656df94c9fefe3bc90fccda3afb8255ec7192fb319a02402";
+      sha256 = "db7a2992c6843c7b02686133ebb49cadfdbcb6bbd955a298b3f7b66a73bfc22e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/he/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/he/firefox-112.0b3.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "b74bd9ee031591edb59a6f19bdf4962dc69c6293c6fe5cc1283edfc017dbcb3b";
+      sha256 = "e09c49922bce9515d8c7be8c4b3b732856b6aeddcdc10c0e7190c3cf98495cfd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/hi-IN/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/hi-IN/firefox-112.0b3.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "e799b203ab879a93930d9a357d24a12f8cab342ab59bf84c0184302ce4fdc328";
+      sha256 = "6448f743d9a3522dc45c1b6be1e4c984318e37ff40b04b67c491e5131c27285e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/hr/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/hr/firefox-112.0b3.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "931df65476467ef9f7ba2f93dfccef78abed33bc51959b1a6979377aeed50272";
+      sha256 = "7cb65061d1bcf2e569ec641c636c5088b9fe345ba06fc228d2080f30591407e1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/hsb/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/hsb/firefox-112.0b3.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "d8aec47e9bf5aedeee2cc377aa6a6aff37d8ab87c95944e0dc2858eac4690d92";
+      sha256 = "78a03d24c65f074baba3dd4dee539f29a78fd0d5b269f169e7a23959acbe1b1a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/hu/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/hu/firefox-112.0b3.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "806ffbdd6cdaf50d5bdf7667e94e3b7cc7d6380f9c85d297aa16c08a6a7e31a6";
+      sha256 = "010d3d910887002cdfe0f027192acdbb8ecc020d79ef6533989729ae46233532";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/hy-AM/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/hy-AM/firefox-112.0b3.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "d5899fa4fc5275c2768f32dddc24757567660e75d28bdeab98347048066dc76e";
+      sha256 = "1bb2a3784e45dcc2dc3569d527137b8aaea2ccca3139801a8060acb37a50558e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ia/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ia/firefox-112.0b3.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "4af2425183d662c94597004d0e2806feb8c3bb6f2f47c0bff0c4af105a159569";
+      sha256 = "b067c8cf7007fc3f8afab8b254e88c985b116e09bde24b56ca9f67a645d63b85";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/id/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/id/firefox-112.0b3.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "1a6a234d8832c69256da8d779d33e61e1c5439a9b26224b47d7991b6ffac9388";
+      sha256 = "caa1a74846f17d80dd0694b6b5e45f0e67ac19c9dca2d700ec17df12fb517972";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/is/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/is/firefox-112.0b3.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "4d1877cf223bb4ff2e316076c8daa5d444e7d29d69792f67023fb3a1a648a4f5";
+      sha256 = "a09d2f36353fe3cb39b69f0420ba5cd63629023c534ce95c7ef438d659161eaa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/it/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/it/firefox-112.0b3.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "2a62b2dd7afaf0df7e204b407e4fd1aa3cf2b4eb5432b4dc711a5272714f80a2";
+      sha256 = "6eec2dc4eda3777a040320e85d46b67269f5f3ed455e14cbdeaec7b3183a8c94";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ja/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ja/firefox-112.0b3.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "61467c700234a05e93e8edeb206089b842aa3e4369a04fa0f598e100bd9241db";
+      sha256 = "ac6eea4ed4080f64b6e2a4f1e55fec434a8cfd2177e069c38a4700d9ddcaf2fc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ka/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ka/firefox-112.0b3.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "1f99776b2fd66dc0359835f3b6850cc309cef9b3a6e71a5ddc57bd1cd3cc21f4";
+      sha256 = "764b2cd0b531d06845390c84a68707ba3c590325984ad0eb493050e045554538";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/kab/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/kab/firefox-112.0b3.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "039e07066d2f0d6daf645140d4e76547989ba2317dba1740f871e461513242b5";
+      sha256 = "d3e2481e32f3ce0816f73ee194d16267692cb90dfa44bf0af6257d06b2cb1845";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/kk/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/kk/firefox-112.0b3.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "a987b5f450098524ed168ab2456eae80f44f9af62b11a66549ec09385d44db37";
+      sha256 = "ce9b2e0f7badb1e707ca80aeb65bbf918ed9d8affa2052d93acf150610e669a1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/km/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/km/firefox-112.0b3.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "88e29f0b43f2f4ce1436c0b7037a8f81181d22fc2bb51767af69467626cd8f04";
+      sha256 = "8f9ff69366b06a06baa60ba36f04423b01f846342318646edb1c05efb20e4da8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/kn/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/kn/firefox-112.0b3.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "f3736b3bf2494265969e88c5b9aab181a4db849a5031cd069368619862f6a60d";
+      sha256 = "c05f319cc0d2f63632968dd0491c9452168e56196c83dd6a19f2e4e1b025888e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ko/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ko/firefox-112.0b3.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "dd2b1aec2ca81706b571f071321ebf5ed17406ace002541a1a83241997474e28";
+      sha256 = "ae3dc7e532dd3defc4ece73f04fa593d4108951e28118e47d22ea4469f90981d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/lij/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/lij/firefox-112.0b3.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "f14eb0a22303fd690ccde2785a5d97416549def4e3f257ec76b0a2ac02ed52c2";
+      sha256 = "2892bb5071818ea646ffb1baef35c1e2afd8a1336ccc61f1ca5c2b16dff898a4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/lt/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/lt/firefox-112.0b3.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "183cdf167e94c15904716dffc6eca228260ee0369327f30d500000468a8bf661";
+      sha256 = "c1f2f2ac21ac4aa2baf884e2c33e627a122e5be2cfe28abe7b5955b9ccfa0356";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/lv/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/lv/firefox-112.0b3.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "d44dee85e3872fbb693b493d27d7e3710a8a833abaa355f856a18ea66aacf815";
+      sha256 = "9e8eefe5d71ec1a8f2584c295e9dbcab46bb5c91647ca54a2e0d8e33e609c598";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/mk/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/mk/firefox-112.0b3.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "64e84176db80cba34e4e50762b4760184f4526dc82e2eba91335d95b6b7f3731";
+      sha256 = "5a63aa725162b1915b16b94a237f4adec1f15c982ee4640ac3f1af9207ccd2fc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/mr/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/mr/firefox-112.0b3.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "9f668f8005135354ae1c8f46d2d81e651ee3d7f4427af6837a1e18597d2e84c5";
+      sha256 = "b2ada28e6bc7e5805e802aea02ceff5cc84e05716363c1a57cd38ec10fe6a132";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ms/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ms/firefox-112.0b3.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "3518682aa9aa1013a4148d465a39211c77d83deb95a33647e5f8421586f747df";
+      sha256 = "0205f2ab90af921cd5ba92a1679ef3e2b955f806ab4da4c4817222e25ecbeda3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/my/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/my/firefox-112.0b3.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "3a67b0b9c75f19057fb9a9b01e6fe82f95a9d2db6440ae8ef912ef8e7e340722";
+      sha256 = "6c8620a171bb486d5fb110568f2bcdadd31a012a22d886762286724eb4d299f7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/nb-NO/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/nb-NO/firefox-112.0b3.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "e552c61e6b6989359ff9c3ccaf1356cb454f47ae37d93504d74b6638a5a0e93a";
+      sha256 = "d2ff3b33732ecc1693f4c93f63a8b750cb25c02e5f2df91a6266ff1f54c40692";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ne-NP/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ne-NP/firefox-112.0b3.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "511eca660eb81a5b588fd74f41a45087209ed46ca84889bdb2810f046a199218";
+      sha256 = "c3b25f66028043244a8da57d7d9e091c6a8d8cd0c153a157839b4aeaf66e743b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/nl/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/nl/firefox-112.0b3.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "8aac8ebde87b78016f6b387fcc89c13868cf6e22e2ce0019a9360ef39f869963";
+      sha256 = "66af5afead6aa2b596342d117e6d9aee3df99b5e87a4ff765cd62e98a74c28ee";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/nn-NO/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/nn-NO/firefox-112.0b3.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "23a51c27dc4b3e445ab96248ec8d837a84f7bcec813f3c7152d3ca9a0aaefe1e";
+      sha256 = "fe48675b369b36eebfd6c25907bc12b29540698f8fbd13bc111a85fb80cd710f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/oc/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/oc/firefox-112.0b3.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "db42d7c58e2258af28eef21264775c01821f35502971ee1ae0a55a9e86ed3abe";
+      sha256 = "0a1ef700dd183a4d63fa74fd69e633e808b7049dd6594acd39e99d8a10e4eebe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/pa-IN/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/pa-IN/firefox-112.0b3.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "c8a33f5837b14f526583c490d69cfa2c22570ecf86707d2a4d8dccfedcfe2263";
+      sha256 = "d80243b94c87c6746fb905ea87f17309d646207798e5b9641f19da7a63c2d287";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/pl/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/pl/firefox-112.0b3.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "27d144f7981c2f24ee8593ba7dd9d4e14148caa6b3c410f5330362b80e6b166c";
+      sha256 = "7960a3ca66d1298f5c8d42211e59cbf7445f30f61537bb52e3d62819b8e1ba46";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/pt-BR/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/pt-BR/firefox-112.0b3.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "39101266685e7d5189c14be4d8074556703da991aec3c54bd9706b7c40f8c0a7";
+      sha256 = "239bb21c476967ac08019c463f216a6c0af2ee25a6180f8fea7ddbf98e9e141f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/pt-PT/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/pt-PT/firefox-112.0b3.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "f5ef13f286e8576b9173dc01fde64661b3bdadc931649e0222e5823b13226330";
+      sha256 = "ace072d1c550e9589ff8fc24d12babb625eb72b87fc8a8dbb772675fffa04a28";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/rm/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/rm/firefox-112.0b3.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "c931759b0427b575f8bac8cf5b4b5885c6b87a12d4d352bb250c564e8dd8ac70";
+      sha256 = "933fcbb0cf009af7f6ab8859e935345475a7dbcd64b550ede2ad2ec08b6d349a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ro/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ro/firefox-112.0b3.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "8ac650b0ff186988a0d6f4d57f25bd10f7c7bca64de51255ede8fda5650cf951";
+      sha256 = "aafd262fdfd1565babf682ca8f14d536323a56c580cadfc241b85ddbcdcff9e3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ru/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ru/firefox-112.0b3.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "d87fee506fd1cddc271ebe57d6ffded155527bb8d0e13e5d1b09bc0b3f9a9934";
+      sha256 = "4b0105bf3f127b672caaf6276d7a10484a3d96b1f59d2af08532dd7a7215f002";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/sc/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/sc/firefox-112.0b3.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "e3823b4d874db0db6d204d73221d808d4be165cc7123701f2070f835888121a0";
+      sha256 = "df94931cc329f8b8ee3013dc95f6636450cc9338a4328d0972fe770b7968aff5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/sco/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/sco/firefox-112.0b3.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "3c96b18a9cd9335ca260bdf63081c6045caadc832a299d446ce3e4c9650983ba";
+      sha256 = "d456cc9c89b5746a56c5b446a97c6495a55aac8e18a909a55d3403cd6bb1b2e2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/si/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/si/firefox-112.0b3.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "479b46f22f1cf1d23491a736f0fa4ff5912ccf06c369ad7d4d0bc07859aec05f";
+      sha256 = "99f9511a925b16777df8e1950c56ce68e111bb0ac1eb332e0f7cb6f4de534a3e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/sk/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/sk/firefox-112.0b3.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "6c64b98d54474ec6baef932e9ecfcd3cb573e7d6c1392c6804dcc2f53e3afe38";
+      sha256 = "8aadec2e42537328b890bbcaff86d14a194abb2bd850986cac9dcf21ba7f4ff7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/sl/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/sl/firefox-112.0b3.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "10e1f08f4749baea435fd86757bab0803e91d06a6a861266edfa3cb31bf9d933";
+      sha256 = "4af6d8fa4ec9021bddb98b0b97f940f5e8cf3676e1a32549ed52f8dda3101c7c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/son/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/son/firefox-112.0b3.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "36c7cbcd1484dfeaec8a705f88361907a20c445158d369f8d3cfcab7c62ce3f9";
+      sha256 = "77016e2537c61ebbcd17fd72d4ff2164ab6bfa7dd0824245ed088af842381192";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/sq/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/sq/firefox-112.0b3.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "8546e98da2258e93cec5f0e8644e9527ef350752f5b5c00bbe2c1cfd1714ea35";
+      sha256 = "96f56bee14f7f04bd2996795eb2b805ac45858e7021878aeef9fa4359cfc0435";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/sr/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/sr/firefox-112.0b3.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "882a878e500fd9263beeaa798d39f961d9c5d2eeaa4d888e21ab1ee1af40d4c8";
+      sha256 = "732891efa9a44ef318631031ec04e8b7697cb4cb446acbc95ebaa181f3b8f352";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/sv-SE/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/sv-SE/firefox-112.0b3.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "e3abe18d5c611f9cbbd01d412548ce105e5adae46f1d91c07d0e0b2a9c0b5ea8";
+      sha256 = "d36b1964911bf0d9ab1263eaf74aebe6d9c8cf441957758b53e7a89beb95d583";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/szl/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/szl/firefox-112.0b3.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "8922c6f901b721b9a04a7e312f7ed2f5356b7d242f1eea46e56e451a6d857704";
+      sha256 = "4bff66e23e172c3aa559ac30556a4037ad6ed5c677dbdd9600204eea3fc25425";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ta/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ta/firefox-112.0b3.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "ded7f0b62950c98976dbdf3aae278a9ce276c4af426348584d6ffc64ffb21af9";
+      sha256 = "4903f9b69bb1ca205ea80846cf613bc647895b40af291ed5646678a55e2e18be";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/te/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/te/firefox-112.0b3.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "3cfe5876e38f2e27116c7b6d967307075bf29785b62c8c654b82e10b20ff90b5";
+      sha256 = "a4abc8854330301bc802a3af9cd18417a112f0593dab7d1aecb405dc36ed7af4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/th/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/th/firefox-112.0b3.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "481bbc770777e74f89f9be8e9754ca09ffddf7d27b57fbb69f51a7abb961988e";
+      sha256 = "4763629e8af04123a4e7b8c78d0278865e8d6f89c3f6a3cbe9f651ee4d88e7fc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/tl/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/tl/firefox-112.0b3.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "c6b8955e9e3dfab1df30dbeacaebe6996db8396233744066b097230bd25b255e";
+      sha256 = "497b8b0734acf68dcbcd178b2497cc8ac6035b6149aa6d65d9bb8bbfba9c60c1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/tr/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/tr/firefox-112.0b3.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "5a9b5ac4883f21123e538b90ca46240e7049b431aa3600e7482258b6004e7860";
+      sha256 = "794523fcee761f9bcb6280b0f128593efdcb09ff9b20d88440a2186119605d8f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/trs/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/trs/firefox-112.0b3.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "f3783058be21631d7171655374bab478e774a177933f303625680715abffd35d";
+      sha256 = "363221e20eca037f4e5634f6d8d4fe5486be98b7f0459357914c55fc6818499f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/uk/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/uk/firefox-112.0b3.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "b299304e04b028725b9c9d5717f452bcc401704273afe52287e77e6174263de1";
+      sha256 = "a32b0eeb5b3129cdae61bcbbb504dcf38642c0e1207a99f548ca6aaf4da4c0e3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/ur/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/ur/firefox-112.0b3.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "8133e3d5d0ee4bbc0bfc0a318888fae6550fc991f538c0840631862c5d813ea8";
+      sha256 = "fde4b30f65dcf087ea90cdb07fae9a7b25a828de522fd464fa30a6a6e173660c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/uz/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/uz/firefox-112.0b3.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "a31eff2ff348d6912cfcdd61a8affcb6df273d0f8bf4d335a30a27f4831d9694";
+      sha256 = "8b25e6ee128ca64beeec953984891b771effd17432b5848eccee200cfadfc2be";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/vi/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/vi/firefox-112.0b3.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "4d8b37a549c8563237bb05858fc461ec37f51430502e66d0339d9c05b2e39829";
+      sha256 = "b9c97a1deea781928d37118859211b9294af08e13c816017d0782f454fdb2261";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/xh/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/xh/firefox-112.0b3.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "41d26832882ecf6d27b60179eade9d3dc8cfe1caf3d05f6d9b427e44e3483a7b";
+      sha256 = "a26e56faa92b9cd893d43db669fb7d48b4451df3e0c7011ba1f37aa509cf3d6b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/zh-CN/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/zh-CN/firefox-112.0b3.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "2d3e6f2e8a1c6ec8ba9e6d1b8533b5509abe57f00f191b4dfee4a794196a8057";
+      sha256 = "48ad92a48bc034f00b5b100abc8cb548a74afa5330d44e8582d4dc50eaa6c673";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-x86_64/zh-TW/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-x86_64/zh-TW/firefox-112.0b3.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "9567f87bfe116e7d87a74a4cfb9a62ff9f7b5836660aabbae4b19b35ac501b32";
+      sha256 = "fc02b6787480605a7e6c388a6e912379918dda5c833a27640ba2b81cd674db06";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ach/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ach/firefox-112.0b3.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "86fc72753eda740d36a7d266a40baf1478a7f2f44215ac3b8d933819bf833253";
+      sha256 = "fd6efbb6835cd3b1940d2767c554b288b947d1621da4ec0f521866ce117d3d1d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/af/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/af/firefox-112.0b3.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "d1e3d273ae8deb2c08cc063cc0b190419429b2c4d31f766d01f287f3687da194";
+      sha256 = "2c8ed270f390281869c1024f2859ed31f8f6eb1cdb25111bcc69a5613c824329";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/an/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/an/firefox-112.0b3.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "0424e520e5a607486a0b0ca49b990a246885438db5792e5ae73bcc818814d271";
+      sha256 = "4701be757ce5e6a0cfaa105228cf058393c0dd9b6be17336aa6878fbb51a5bf8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ar/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ar/firefox-112.0b3.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "426e28278444abedc3c89b9a9bd5f3e8bd780604c60fc6aa6d2e3f870f2455e5";
+      sha256 = "c4a1fb484d3567a12875c60647526201c181f6caf487d92f344deb7b8175e421";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ast/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ast/firefox-112.0b3.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "2fc2fa7d00da97e396dd0131280bd5998bc602fac0d958b35e48ba6717140e9c";
+      sha256 = "225deefcab138bc85de7692244a3e4a640f1202e28f9471fddc7d3f1dafd9900";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/az/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/az/firefox-112.0b3.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "1a1920482d20fe5eb103f6196213ad1420af52abb06a936a56d63d42437b1be5";
+      sha256 = "cb5974e3710ed6a24a79169daa53bdddbe35942c5bc000d9b3a0ad2fb7664f4b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/be/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/be/firefox-112.0b3.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "b468fa07d58a4df4084826567895b7686736e248021f01d0b81e73018c8f793c";
+      sha256 = "202fb330e07ae5fabe19f4e30fb6e617598b8d79b1485f2355f09c5d4e5e1c4c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/bg/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/bg/firefox-112.0b3.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "3a69a522c7984a774e58560188b78530f50cec56510d3f3bddc07e76d17d4116";
+      sha256 = "5a8996968a3bebcfa5dcf9c05f5b819ab0a4463e9e2849a38d301f367f079a25";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/bn/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/bn/firefox-112.0b3.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "2ec4fad1bab1ca7141c4a77d30ff0295be3862fbab5d601e57204e01787f9d0d";
+      sha256 = "1ba44bc65faba2ac0bd66dee11d446caff87ffc45ecaf1a417bcca87ebc6ab66";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/br/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/br/firefox-112.0b3.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "7f0952a7c568e2729846f9adc7efd5a68f589dd5a5ca33e085048572b16e0862";
+      sha256 = "36013e74a785dd5f106adcc36721765f6f91ea7553947c63b970f11390d8b5ed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/bs/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/bs/firefox-112.0b3.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "0fab3a39d619f1c618df1da23c7bf38402c14d27c2270a7bad355c2e4153dd62";
+      sha256 = "ca7d6a7ff5694583b20cb10e2e9b5695254245243fe916493bacbc157a8ec027";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ca-valencia/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ca-valencia/firefox-112.0b3.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "b0ce82c7d514798fddce87c7b511636738618d849395797298d692e3c80f194a";
+      sha256 = "3b74ecb0d7a297a11f9f0baa177ef9cdb1bb3c16c0a2f53833c7b247cb52285e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ca/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ca/firefox-112.0b3.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "3f65999a6d05aa92ca2e7c6ee0f2b5d998ca024b02de219330dfd8d55e3975ba";
+      sha256 = "c7f258bf9286e5efd49e85dad6483b6bb64f6743d869d5c89ccde1840cb9e737";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/cak/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/cak/firefox-112.0b3.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "34b9ea098d35a8b3e851ed21ff40883f9e4599401312a03b2340ed6c5b078c0a";
+      sha256 = "75ba9cdf0d382afcb9172c4103ceb14468c0e25f91c1409e233cd471053dd35f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/cs/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/cs/firefox-112.0b3.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "b1641da89fcc3228ed20ed498480c7fa038c8f71952379ccba06e8fb12909f6a";
+      sha256 = "d9268af6747ae4dd093167d3ae221a5fe91a2c3f78614fed313794727bd0245b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/cy/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/cy/firefox-112.0b3.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "504f7a2da4c55da4e8f23f3720957c4c4aef2c5928b828eb1d755add0e2ac662";
+      sha256 = "7e51ee320ad6f1f46f9a026cbb38a87d49044b69022faa39a32912c889646175";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/da/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/da/firefox-112.0b3.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "98d0809c79b84c38a0f3abb9f0f671b1ef9a39af98e81119cfddd57f5896a420";
+      sha256 = "574441bb9df851311e86779f0643975266ebf1a8698191c5ae66d06daca6f35a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/de/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/de/firefox-112.0b3.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "168f86a353e3c957d8f06456c0d812d77594650eee1f9ecb11abde4b3b233c40";
+      sha256 = "402e3a3f52b529e1e16fa5c594235dc80433fc7372024a8e73df57e0597a78bf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/dsb/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/dsb/firefox-112.0b3.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "c8b55f26695561256477ba1cae2a96834b4ec5b4cd1335e15354d60bb87f50ca";
+      sha256 = "b7f23e90d48a112fb003829a6f5e7ba26495ba911f80401b7dbfa56da979050c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/el/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/el/firefox-112.0b3.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "f421644ddd383dcd5ddeda769e089100e9fcd411fbd905de3586bc65aa6472e3";
+      sha256 = "ae6c8b95e69c6ac2055e3055d66e8311f6dfb8712ec9b2103fdb955d351c8a2b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/en-CA/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/en-CA/firefox-112.0b3.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "43ce0669004841271ad56df70bb40737566528fdd76039cf068b9fb0fc5077ee";
+      sha256 = "e79630b19fddcfafd6be36d9213820feaf6c4f317543495a749699e6c03587f8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/en-GB/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/en-GB/firefox-112.0b3.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "5dadea5f50c87add40108d844dd3a9dca7848371e0d23e64a2a012339769b671";
+      sha256 = "56191b9c44c2d8bc6239c01ca9c8de489604bff6b6a38a5d2294f3e71ed9835d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/en-US/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/en-US/firefox-112.0b3.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "fd9070fca4f57b1fcd89bcbcd99af77baceb3a1cf9f6b913ba872b6a6bef7981";
+      sha256 = "b1d9e8244ddfdfae0d649f874afe2f91e56146ef141287e80d84967e950ae49b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/eo/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/eo/firefox-112.0b3.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "2a3fa752b56c66a1c263c895e67b7024dfe3a096faaf0d02d579340b85bb3997";
+      sha256 = "e5eb0fbabbcdfa8b833644d5f155faed0345d5aecca49a04c74e6eda618d873f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/es-AR/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/es-AR/firefox-112.0b3.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "09f714d25a3bbec50acbf1c034331c1d874708efe5a9e2b6d950e62190983bf8";
+      sha256 = "6aca750cd572e1634f76328cb136c40ed6c1b0d95d40af4661c42484b603f15e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/es-CL/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/es-CL/firefox-112.0b3.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "b13ca7876f86848c299631e0748038beab882a79d3d73eccbbe12270ec2e168d";
+      sha256 = "0f05f255ea1f7219ba59b81cb4f955ee85c01aed90b03d2ce6a2594c3fa0b65b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/es-ES/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/es-ES/firefox-112.0b3.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "11c4e97e67a10d83d5449ff5997086e5f5841be8967e906165e3e0d73c3b4361";
+      sha256 = "b26beacd1f722e1ecec27350a5e426e743c0ac095935704e2a930d2a13ee3f9e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/es-MX/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/es-MX/firefox-112.0b3.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "5d816f8ae4d9bc9832cd504942c8149edd6c9b74c5c2e0badde60650405f0449";
+      sha256 = "8d9239e6ae5f40bf13bb7b097deb0db6d5ba4b85bee304116209e34358ccd3da";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/et/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/et/firefox-112.0b3.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "552ab594c7bfeba7349be8e41893384270aefc1ecf2494211ea545de1cefa31b";
+      sha256 = "8cb6366cd787e45884a381acbf9c0feec34da769c91a13b131ff48552e75d45f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/eu/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/eu/firefox-112.0b3.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "f6ffda74095133401b9e46c106d576b7bed246496f36735832e8b61ed19e900e";
+      sha256 = "06c7856729f040335bfbb88faa933e716d6ebd50e584bc9e036aec05cf62af8f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/fa/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/fa/firefox-112.0b3.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "e6e180e29d549c567258e92f8473058ff93c0f06387ca8e01110860d70533ed6";
+      sha256 = "ce29544712a38833c9df54c6de81c3e305de8e12612ce348fba379779c3b3736";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ff/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ff/firefox-112.0b3.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "68ceb489b4644c248318497e03ae30a6bb001c3b04acd0c6090fa5c254ffd210";
+      sha256 = "7b822538f42ac95aefb9ea46e19cd6f5f59b79ad9ee09a6b9d2ddbbdb7ce9a8b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/fi/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/fi/firefox-112.0b3.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "4ce32db7753ffa71a3fdf0f53f5e40dec079aa4ef853b0feb106ef61d77a542d";
+      sha256 = "64e39b57ab5564d5c28cb0332592aedd6d2c793b95e82ece546792d7dfb2687c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/fr/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/fr/firefox-112.0b3.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "05bc65ed25e706c8986399e8b63de60bb0ffc083597076026c765f730a0eeca0";
+      sha256 = "78491283531d63b15b00d980e12d2708be521c2b5a55bd0cabd0d9c293ea8bdd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/fur/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/fur/firefox-112.0b3.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "53f110d7eabae149501169be92f6440a4fb6eb78117c9f4af85706392d79e28b";
+      sha256 = "e6bf78af33ef8364a50a4de4693eed99ed44da076e5c13ae10d0ba60de313a8a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/fy-NL/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/fy-NL/firefox-112.0b3.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "e000e7bcf9895be56486ad6b4c38add84a5040a03e521971ccecea26f3a3be96";
+      sha256 = "76a511d238f1b1b4bbdaa00442af01d01b561b146c6dffbdbce4ded4052bea0d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ga-IE/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ga-IE/firefox-112.0b3.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "c8521aa00842e685ab031a73550515e78c270816c6c2c315b7262c8dc607f3e3";
+      sha256 = "39cb4c00166b9b7f460983dde113e59b8a58186400624d563cc0e8eb1e9666a5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/gd/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/gd/firefox-112.0b3.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "19e8b5db0f621f278cfdf4c455b69ed3dd185f06a5e26a8221495288e39faa2c";
+      sha256 = "65c7bda40ac1d50b9b07153af2110c50fbbe1fb601426d0ffb4ad176ececfae7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/gl/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/gl/firefox-112.0b3.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "6b00b50cbdbac600bb052c26cf3c8f58f39ac9dab4c1a6216f30ab551593a825";
+      sha256 = "c8f62afc3c51e4563a06f111019750a0f953abeeb01e2685c93138da6fca1b77";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/gn/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/gn/firefox-112.0b3.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "954b4c072c73b536c6983ef255c714dd68faeaa024618ee50c8945185d290935";
+      sha256 = "e8c897978b7a943673ce7f45475b5743de57359b4483edfc0e1fc5a39c98c247";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/gu-IN/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/gu-IN/firefox-112.0b3.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "90c07f61193d579227d3a29d366ed1478a16c1896554fc987f43624fc5f09f36";
+      sha256 = "8bb1463039a243fa72412da9ccd9fb8637c980e48bac95db701380056405ccf5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/he/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/he/firefox-112.0b3.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "a5dda773b34679a43984ce90c7cf09b21d7b6ce113fc77693f4620a4fc2d7caf";
+      sha256 = "453a1e79be7733c1b3e757f63966b66a8e253fe6933d4cdb03078992ad005bb1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/hi-IN/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/hi-IN/firefox-112.0b3.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "547b62ecc5fcea06bef7d9ae8289049c923a17a8f93d9ac13dbc44a1052a9ac2";
+      sha256 = "6e38248bb9c1406c97ac98df120ad13d80d47e84b2038300448bbd248801a114";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/hr/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/hr/firefox-112.0b3.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "49eb4f4f4adfdc140dc78e931c161cdcc81665105c65b42c8c42a35c80a30f24";
+      sha256 = "86cf98d857b948f5a154eb0c11eb3c8568cd52b34a1cbc2ebb5317bb4fb1f5a0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/hsb/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/hsb/firefox-112.0b3.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "8c15c32c8ef5b44efd66948a8f0c9cfcaafecddea8ab0d5a1d3af7f7cdda60c8";
+      sha256 = "284dfd8803d3b50ca4c872b5823b24719d7a96cd537fa9638404e0568385465a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/hu/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/hu/firefox-112.0b3.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "a376b005b88e238d72862597462127dd8a1086c072ca133190ecd5ffa31cccf8";
+      sha256 = "f9c2dcfb3ed57e7edc09b9c3381828b1987b6f7f5fc311ed7bc4d3231ba5dc2d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/hy-AM/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/hy-AM/firefox-112.0b3.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "8b8959d88b066a29c0fbdce3674a613840d8b6ee691f7e7633e44a05ad0f455e";
+      sha256 = "fa5474508ade068cf51dd20f3d0ce8fc9e15c5e9df225f4825e93b4ea745d0a5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ia/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ia/firefox-112.0b3.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "ef61b675d573ae28886f99cf8dded130049b7211abaeedafd9ed1cd7b6caeefe";
+      sha256 = "771273640090beeb82641e79d732ddf37adf84d724b931ad443736c58ff9dd3f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/id/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/id/firefox-112.0b3.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "4cad3aadf08bde466e269538bb86126ba24bbc84434ea846148124dcf8aaedab";
+      sha256 = "cf6a81709b810b40aca35f34e81fc9f7a356b83098697980ca9e47fb209797d7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/is/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/is/firefox-112.0b3.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "138d0488679d1404a9008726c14285f84b21923b55fbc0acb13bbaa5bbb4a07c";
+      sha256 = "45b72d161d44e8c84c4938eccfbaeff2fd0bca26132dbafc67bd344bdc0f408a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/it/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/it/firefox-112.0b3.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "e9a48a0143ad94b8d896379d90e8cb6345eb9f83013c0a5af8a65a8a82785e26";
+      sha256 = "f7bcc97abc9fc855c0e63eb36994bcfb0ec7867ec365e4b00c197523f4ea38a5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ja/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ja/firefox-112.0b3.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "9308c18b92d0632044b08b8f379ddc844027c3164e3e7ec0a2334881ddc91bdb";
+      sha256 = "6e0b15e2e06dbf7efce749c78ea4c8e2847b140fb1af0e4fd47cbe24d791c568";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ka/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ka/firefox-112.0b3.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "dff35b11c31c2b88408124ac9bb18dbfacd8ed995757fb1d029c6093cbb0f876";
+      sha256 = "95d80e66bf4ccc98389eadaa9b4c27a658ee5f3557cba61f222a351f9dd5eb25";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/kab/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/kab/firefox-112.0b3.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "8754269b4a19381c8d937549753bc28da50b2a983e50c30ee892d59a577b8466";
+      sha256 = "5fb3bd857d3ca6f01b70a8b57a01eb0d662e2fa48bfd0384fe83ab504fc63eaf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/kk/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/kk/firefox-112.0b3.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "ee6c23c675616aa7914eae572c459ac0d24414e2a8eeccb02c9e1beb7d723a8c";
+      sha256 = "5291f1066c14bdd2ae0fd4d7ed27587bf3700aaef9d3e492cfd2fa70cc38f4b4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/km/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/km/firefox-112.0b3.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "2b5e981a9e4f6c9bf35446c40c7089d050a26e667e1c09de663a1e42561fcb4d";
+      sha256 = "4f0ea7cc4d8f8cbcb531bf833aefd0cff184f8186edec7f8a9f79863e67ade65";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/kn/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/kn/firefox-112.0b3.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "329b868009d91299f6e6986480833088ae3772499760df05c593e09af7cd2372";
+      sha256 = "ceef5951674c987373934fda3d9d658f66a4c302eef2cf8048a59ceb6a1ab23a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ko/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ko/firefox-112.0b3.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "86e1b61b8ea6a684fedd564a7a77306f86a528a1063ecadacbcb6472969c73c3";
+      sha256 = "a76f87be07432079ddc9518ac7b6c6ecce4d80ed7d7f9b11b81d4e191a3da33e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/lij/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/lij/firefox-112.0b3.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "e26f1d2c2907b689e9c3b8e1eec263c6af0ec4a45b6e5a49c60bd9c4106043fc";
+      sha256 = "9d128dc913a66b2d4c9723ef96616306c52e2a89fda1c6cf8a84b3e8db5a8c66";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/lt/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/lt/firefox-112.0b3.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "3611dd950e4e075fd6cfe93cf1971b58b2646338e496f0c1a6c5ce1fe53d75a0";
+      sha256 = "8a01dd960b2589f08bb984993b31ab46b424521b00ce05d427759a3dd2623558";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/lv/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/lv/firefox-112.0b3.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "3d7297474479195d1f6f7b84bd10ab5e3d90d5f5f125428f90030e9d872ec13b";
+      sha256 = "f8a87f1e0f476764610aa7ffa1f77569f35d6fc191f51da8c0a2d512f881121e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/mk/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/mk/firefox-112.0b3.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "abfc67f3309176423b9bc7940ea9051cfe8d9bc37f8479dfae6aa34973c35ed9";
+      sha256 = "566c249066c839d2927bc8c851fa26e1abbd56b8594220ab0b1b8e2870dba11e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/mr/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/mr/firefox-112.0b3.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "7f6cf8f198258974f8eb7dfd8cca9863ce257ef45c9a8d9bc8e47a0a69ad29e5";
+      sha256 = "8c13cc845f43a58f417944deadacd95ae097a41b81ae28f80bddeac8464ad7c1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ms/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ms/firefox-112.0b3.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "a2ee5ace0a082f8044311d8f19be2c85e0a9240c0c0b0fb41de360cbfb089d6b";
+      sha256 = "ae4acae5d58a92d6811aa6d3cefc41441a91973d218f719dc1602c6324602923";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/my/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/my/firefox-112.0b3.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "594a0a72f9e73ae1e0e3457ffd5c0ca9a538cad5b449653ed01bc134a0d9f486";
+      sha256 = "500ba72bcf205b037638bfad91e852a799b0870ffa79ad7c0dea70a820a41fd1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/nb-NO/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/nb-NO/firefox-112.0b3.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "231b5da2221c1b7578c9207be5a66611e4b9a87997a6a9c2eec77ef335875176";
+      sha256 = "3b46885d4191b2eecd7cd02f014bdc34cc2142913e0dc80af8f967eb6b5a8cda";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ne-NP/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ne-NP/firefox-112.0b3.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "fde2520f5560db603f30283fc896a17f6aa60ea1e5b8f2254fb6cc9feb62d850";
+      sha256 = "c161443c4af482335ba1e92186fe6241d4652be9382f3b6d04dc7e1b5998c800";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/nl/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/nl/firefox-112.0b3.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "2ca2eb4aaccd6a79f4e777a68bf583103f22b97e9dc2dd6dcd8e566bceccfa05";
+      sha256 = "4c2dff3098bb943b761e00f5f2677b79f4179eb194d1fd09e22c5097e27a0702";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/nn-NO/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/nn-NO/firefox-112.0b3.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "a1385b042ec255f9891ffda4e0ebb99bfd44449a091d3aeaed1443004fee8df9";
+      sha256 = "51de7ca0c7142615f72a60adc7eda0c776c81a4be7298e08ae3577f0d7180d78";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/oc/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/oc/firefox-112.0b3.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "6cc029e84d57cedf5c605117ad1cb8fae390b725810707bcce58c4832f9f0712";
+      sha256 = "7bd6b02d7b24f32e5726076b4e1fc4e5872cb12b23d9e3042e26beff07c76f30";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/pa-IN/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/pa-IN/firefox-112.0b3.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "6ee37768a1724bf68b4f4031f03c2a2307fb9c16d34094d476b1ff14ceac4b7b";
+      sha256 = "0a7a19e006413bdc77c5230d6c64b523615cc06dd4eb82175beee902c4ad036b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/pl/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/pl/firefox-112.0b3.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "444ce2cdc080c1a61a4c2c4ad007b84dd803bd7f89e44b768af3a90d089dcdcb";
+      sha256 = "4df4b9e7adb488784f5100d126a4c6ad71bc0d8b4ce0d3ea6e48d7f75d54ef4d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/pt-BR/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/pt-BR/firefox-112.0b3.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "c1aa3fa50b5283c5ce19f65e38c919fd98a6a75990ea04b4ac6efa2633e77c4a";
+      sha256 = "e5546555d191d194a7032547c4fe0bd80b105589306d075afe7a0b22fdbe6d15";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/pt-PT/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/pt-PT/firefox-112.0b3.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "a8e057612f8d1851afe3909f65a2c834ad14a3163c2378e75710ce31582fa4ef";
+      sha256 = "23f09232a8b863eb738af2dabbd1f94567641fc17cba85e3664a2e3182eecc48";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/rm/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/rm/firefox-112.0b3.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "2fae5f8a4cfe624b0839bb5041f39f9069968e415fee2a2194a915b944e11223";
+      sha256 = "d01d41c06a2e1772607e6e97396404d19e17d19d3f6cf1ee3c001078ddbabb72";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ro/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ro/firefox-112.0b3.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "4b613170a3804636921d98192be0274c4003862a9abe73db90b3af1f8aaaf119";
+      sha256 = "2a3e6306f376242af8cc412ae23abb0cc80b1dd31093680ba89be10496fa4c70";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ru/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ru/firefox-112.0b3.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "4d98bf5c649863726a6aac51be8b6302ec488bf733182eeba68f613f262ac272";
+      sha256 = "e541d7b0c8e7c2d808171483ad2b6c074cdea110cb2108161859097657c8c3b8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/sc/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/sc/firefox-112.0b3.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "dd681b2f31c328195041dd9fe317d24b1dbccff854c1216d4ca6da416dfbf666";
+      sha256 = "eb72cfb24e9f52ded6ad44a3e070f9a6c351a6c1902336b0fa714e3eac7bda2e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/sco/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/sco/firefox-112.0b3.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "1f0ad138c378639fabbf8e743a17d185eca531642cb12581027274e5c9ca08b9";
+      sha256 = "07c3eb72214d2b4cac0d47edee71aa46f0b821eb2b6d5bdd0e80c5e12031d160";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/si/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/si/firefox-112.0b3.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "ab295cbd4d3ba4dd4dacf54410f343773f0b77d626b8f6fd60bbff037f6c990e";
+      sha256 = "07bc2a11048cb769351d1bb9d5a34b8ecb6b9d3c38f9ef678324eb18d223aebc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/sk/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/sk/firefox-112.0b3.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "0d15d109730e3344042eaf2e8889af553b1d5b5c19bfcfd7a7792f445fc85d79";
+      sha256 = "4ea7716fcc9320d6fd8b760f198bb6ad52129df43395d2b5ccd81a23611d54c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/sl/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/sl/firefox-112.0b3.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "9d76acd56e898fcd44345c5494b5e955cd45424d6decc2ed6760d0fb2e005b2a";
+      sha256 = "4b5aa23325f13265d45527d2f38c14060943a046e3fb0d394dfe2af3903772a9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/son/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/son/firefox-112.0b3.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "c54714ea09a58a9a74f42bd790ecf132a9d47a616b9a8919dec637a1d44aac7f";
+      sha256 = "fbbe7a8d06487eb34b2459de48bc0e9f5751e42bbbf3f8e9dd8fd1d99ac45b43";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/sq/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/sq/firefox-112.0b3.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "63f9e4e802ed33dccf69776ec9943166ede4bc776544844d9ec2353b52a25cfc";
+      sha256 = "7daba093868e7636120d0340b0283fcddb7cd88db11c3525771456decb0ae415";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/sr/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/sr/firefox-112.0b3.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "619add5c2769b48ee10b3b41bd417526b2bf33917e9b5842c0505b76a63f2b04";
+      sha256 = "15b6c1412c86309a7d86107a771d8c74df497e0a7edc7a6e5bc23b753b47a5d0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/sv-SE/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/sv-SE/firefox-112.0b3.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "7016af55f36b24571a40d220a4052dc452f1e5db95a3f6afbca59cdb06f0d6d3";
+      sha256 = "21ffcc5c44079186ffd49ac61c00832118ce39adea2014a6ce79205d16d5a111";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/szl/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/szl/firefox-112.0b3.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "d1e04b8430fa4fd5539461526197615b29d3c5502acba6ab1cc73b608872e25e";
+      sha256 = "2d38fe586e4101ac6167080b811f82d8f4cc06c5e5e3e58d5aff2818730c6614";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ta/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ta/firefox-112.0b3.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "de14f539f653a6b6591914e9a5c28ba2aa15a2c785a1523e245b45cb4538d958";
+      sha256 = "44137e81b556948cf22ff52b4482185d50ad572410848078854fab6dd1f1ba8a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/te/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/te/firefox-112.0b3.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "ad76c68b3d42f153a3be66e9c7136144e80d8d9b5a708f038eed2c9e79012fce";
+      sha256 = "b382ab85234da946f364711911efc6152bf7057e8d3a498b1346db815344391f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/th/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/th/firefox-112.0b3.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "afc74679a4459a83bdc4eef2233c10d7e73ebd224c82fc7a92e3091daa571fd8";
+      sha256 = "dfa0d72ccddbb62c4ecdb5aaebf2bfe2019293fbb82c4861d496976cbda4328e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/tl/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/tl/firefox-112.0b3.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "f934e3c405586e6bf7afa1e0f7c0eadb2d80934c1053042b6860776e1d6ddc99";
+      sha256 = "84ddccb78c589a725e8c2d607cd7eba65f5dff3fd2acf29d66d0464ff135ed93";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/tr/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/tr/firefox-112.0b3.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "208757d985bc26286f5110e7f7f792eaeaae0c66e787549a20abbed223b46256";
+      sha256 = "041eed5a64b2a2c1638c37fc1a497c976c1c56065f4ce308f46edac9d45f164f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/trs/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/trs/firefox-112.0b3.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "6e905c7fbdc204acba757ac6e8edbb64b167dbb96983946281474c1a4b1860f0";
+      sha256 = "deff021046e8ea1cbde7d9e8ae2aff834ebcc206f5abf143eb77a3789c191ddf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/uk/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/uk/firefox-112.0b3.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "bd560a5e68b99505e4ed22f7dad5fa092d50fdeb6fcdae8cae79482f063a0717";
+      sha256 = "c1e55a63ed9cbbf52ab0604d13c4a7e2161c9f1b59a8688a02785cb340e550f0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/ur/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/ur/firefox-112.0b3.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "2fef7230abb9d3c8a7316d1845ddeb18448964e18dd3e2d42fbe97a0fd0b0914";
+      sha256 = "4ea19582fd6b96a2f4617bf499b8c3c07b42ad4cd1b3858cae3698c36efcdecf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/uz/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/uz/firefox-112.0b3.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "e41b97e5330293e90ac8144201c57f8c0790498974dcac76f6619fca2ecc894e";
+      sha256 = "e25aee3dd0d0e219dfc45496022ae52aede9ef757557a532becffaa67f529ac9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/vi/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/vi/firefox-112.0b3.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "96058e17e04669bc6be5bd2a51397a6507c724409f05165157b9f8d8a0624c15";
+      sha256 = "0b292f41a14c89e769aee963d411ed5ca0e29716d2c3793f0525b7f77b1590e1";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/xh/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/xh/firefox-112.0b3.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "819d77f589915cd2d8b93ef56c1925749cb9adb031ee79f1e9ba5d3bacd67645";
+      sha256 = "7ff0aa0707c0c4bd448786466cff1d51c38cc00afd88b6582126b4038f109345";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/zh-CN/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/zh-CN/firefox-112.0b3.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "92e05721680fcafa7fe089574af964876510d5263ef8dbfeebb608aa0b172002";
+      sha256 = "53f0b6d73fd03fb86283ecb55d144dbb261a1b0d17e1a4a8d3a322bd870d0248";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b2/linux-i686/zh-TW/firefox-112.0b2.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/112.0b3/linux-i686/zh-TW/firefox-112.0b3.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "008962e0e26fcbdce8306ae9e55a858539a09f653b284d9d3361ae44b6de4aeb";
+      sha256 = "2f2aa9ba12db48ccfc3fce025e676eee84d23728dd28f2d94ed76ee427410a65";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index d0322eda06b0..d995760924c9 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,1005 +1,1005 @@
 {
-  version = "112.0b1";
+  version = "112.0b5";
   sources = [
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ach/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ach/firefox-112.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "51f1f250a2fff0ee9df3037938a401e49c440adeaadbc919696a2d6899491451";
+      sha256 = "05859db46d62c1c66035a21012f384d7392a42a443f21fae27b1c22519e1a787";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/af/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/af/firefox-112.0b5.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "bf8a85ba0b579556fe67f26ec19c5d90aab84df81f3fea51247c5e9a9cbbed61";
+      sha256 = "49f9073e4426000dcdc008a8f9f52edbdcd7f89d0f6af4463e06ad3c70d493af";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/an/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/an/firefox-112.0b5.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "ec3169495ac16d6bb556528ec4b2964b7154582f960e749678a74dd207722da9";
+      sha256 = "6b07b832993b5142dbd619d8d2e39d7394346be6f1b5580dc6f62fd50226cfd2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ar/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ar/firefox-112.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "b32d5a461349f40677585ebb69e377e17274b205849d6c52abf9de5abe403ff4";
+      sha256 = "a248911af735ce319b559dd97f87734b54377ad70b22aa51f989433ee809f3df";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ast/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ast/firefox-112.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "aaf15df89db57e72c5376f1ffdb9069d2829de2239d05fa6ff259eefaa6cd091";
+      sha256 = "835f1935904afdd4081d82d6c73ebfe6159fa94acd10dda826ccf0b14b86b54c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/az/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/az/firefox-112.0b5.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "6de8e904e2cb8aba079b3feae4b64a41eb5faa654b4f8d4edfb5f88bdffcc65a";
+      sha256 = "63f778e01748faa999374a82f72b58342e72fcc159f0b385ad393d96a9bf1001";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/be/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/be/firefox-112.0b5.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "3bc70120a61306634634c556cad24a73b64d74d0a4172cb6206df19ac9888b5a";
+      sha256 = "e1a9652fcd7b34ddddf80d2c4d1f7d13a44e382af722bf5a2d2f3a1a6d328fdb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/bg/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/bg/firefox-112.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "37d2760c4fb90c3371c1d8fc4c5d82fe3d04bb873857642b1bb32b0403bb0115";
+      sha256 = "e90ff246ea24f285a51d10b31957301b6cc9f104d3cbb8913521ed9413449092";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/bn/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/bn/firefox-112.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "474fa71b1c0ab86162f42b73d92857149df19510f4c7a65e5ff8072b47a584e3";
+      sha256 = "ee9f1665f8c76806fb8ead80b492ab39756d010ab70703b9a806bd511f5b2e5e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/br/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/br/firefox-112.0b5.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "7f6840772618db61c44058bc4e5b052f521e479a350e0e4dde6d66cd0bf868fe";
+      sha256 = "4fc531ffe5ee4970e51723f741df9b1a0d32e0e67497c7296302e2aabdb66c3c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/bs/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/bs/firefox-112.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "b7424e14c2f445503b6f9b5cc2746783bee60bf555bd19e870b38d29166211bf";
+      sha256 = "374fac7c2633e37e148d75ba8ad919e6f9101d155835f624c3bd3f72a5564c52";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ca-valencia/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ca-valencia/firefox-112.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "28e85f3a1838220f88ed466eacb78b9b33b771a3ca5a2e2f92c9f5d1b59fae3d";
+      sha256 = "9a3467b62347a6c022721100f694212b06cdb30d056741bfa393759068352331";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ca/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ca/firefox-112.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "cbd21f6be9a4031115c501b7cf0cfb2fa4b4b44f2183758b870b8a9660052f88";
+      sha256 = "cfd738a5fcdd6b0fc9f07b8a4c6f85e9f38740af7c797a488aa249d86ce49114";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/cak/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/cak/firefox-112.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "8347bdec54a5ec1146b4eda865d4b9c235a169edb6c4a0829ff87d4d3d082191";
+      sha256 = "0508c53ff3ae20712559c429f676b2dcfc5488f15746a5e802b759ae4b9af92e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/cs/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/cs/firefox-112.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "abc75f49aca885329e0ab657b8a2ae554ad983d6748bc281c87a7b82aa8d080c";
+      sha256 = "4f2dac86bc0d29fb86667a93f172a1077e6e18dadc8c9b1c80917cc48d186a5b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/cy/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/cy/firefox-112.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "82959b89547c41c492925a4d9a2c7e4430c95fc1e97d9072a2b4bc4197259174";
+      sha256 = "947a766e64dc318162ce24c02a4e53498a8b261807a2e2f02df348aabe6fd203";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/da/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/da/firefox-112.0b5.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "bb75e38cded06b58203e0013da2430304d896fd6c9ffaafb64704f53e7f87e0c";
+      sha256 = "557d3e24d92af23c2d7847aa156fb961ea6d00b677935eb37573e5d10a431e70";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/de/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/de/firefox-112.0b5.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "017bf08ae063a5c85c938411c2a4b7a7fa1d3cb51aaf64f5b3f640a32794e566";
+      sha256 = "b0ace6526a07016e2b8a7413ee27ba282458854eeca0a563977b6a7dc79df517";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/dsb/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/dsb/firefox-112.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "5ee9c0882863df1724d923d2d021045fef8a19a13f7b5d8ec25c649b8238af6f";
+      sha256 = "a7d34883dee70a0a1a354b19302af4e0a7dd605294489c3e732322fd9b27d471";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/el/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/el/firefox-112.0b5.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "b166521a31c6cea9400e7623d43df3352f96d5fb3c0edc6a0a6666462ee6a72f";
+      sha256 = "1dd23fcfa7d21fa0abd534b7fafcde2ebb68cc5d1082849b65ca853e8c97542e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/en-CA/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/en-CA/firefox-112.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "0da1b2e4a928445ee27781bc585f9778394c2e09cb7e2ee0df442ad488aa2f84";
+      sha256 = "bb07562373692afbb647ff83293e2c73be125ef3d5865e042f6f068e459df240";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/en-GB/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/en-GB/firefox-112.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "3bf1bc8c8b45f99e7166155ed7fa2de7647d3a47f70186fd70f025124d4bfdb1";
+      sha256 = "b0bd2e1e75672b70e66ddef4d69a30cee469178fea807a76fbd3f4a3b54f8377";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/en-US/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/en-US/firefox-112.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "c54c1f52ccc8b6cf39353bb3c034106a09de1ef5577aa5f443d5094696ae750d";
+      sha256 = "d367fac2132309c669bb0e4419d27756ad1c500e8f3753d4ea6020eb7f7ad53c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/eo/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/eo/firefox-112.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "3d6f2b563d63665302c504e5ad1f6f9a4c17a6b0f955b1eccbb81937565113b8";
+      sha256 = "6fbf9f27f70308525b487d2ae308eeb3c704725113f1c23e03c166c1632452c3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/es-AR/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/es-AR/firefox-112.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "053f1fde4bb52c636c08780ea2670c9e81a40be81832bb276bda12be30b689a1";
+      sha256 = "ff5859cd53d94135463d638ca0ea0cfad310f261dece75342d4860baf9e07832";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/es-CL/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/es-CL/firefox-112.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "cbe30f81268b032a757f108476f1fa424e76d1aafb96acb47f48b0008b3e9ebb";
+      sha256 = "22853be89138a70b5a45f1b983bf3d27f872d2ecea8127512848eca9335bc67c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/es-ES/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/es-ES/firefox-112.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "e601fff8d25f15a45811d4ee8e235bf93f0c8dd20d34341eb8da43ade1147391";
+      sha256 = "495c74d78b711eee03f2d376675547aa1bbcacc93817f1141a1cacb9d7a7b359";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/es-MX/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/es-MX/firefox-112.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "3b25544eece15ebd42d4bccebdb7db7907bda7c3b080f7a289052b2577304ae4";
+      sha256 = "cec7c4d65ffd6ce0608f0063c9634f2a9624e0bace5cbe159f9171ae2a0747ec";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/et/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/et/firefox-112.0b5.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "88b3b39a5030a9433e11c68451df172ef7b3bd276973d502d7459e23d0b8abd6";
+      sha256 = "99f6dbfce8f79360d5fe9360b5d2f7e8b721ac9de7ddd958e24c8a8c1608a563";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/eu/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/eu/firefox-112.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "b50f8c3f0422bdcf48069453486268fcde372171c97a3d74289d191852510575";
+      sha256 = "1198890563e45116380b57ee3ec576458b58935a584ecd561bc05b8750808c1e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/fa/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/fa/firefox-112.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "b7b757cf5090f02179e73b792106eebf67d8c06e064eec4ecd0d0f0b1043cf61";
+      sha256 = "cc0bfefb8df93dbf384dd65b23da2ebbc1cc7d3a7c068f72a3ceea58a24e7fd1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ff/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ff/firefox-112.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "3073dc75e9d5526ce7431f866e584ba63553303f8511f76438adb891eb494ef0";
+      sha256 = "ad9d500e301fb94c09d3ea334c9590462eacb7732ab3c43ff9184f09d05e3e94";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/fi/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/fi/firefox-112.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "ade2216cda1cdf01773ad52fb89c04360e491459e775ccc0d8e05fe2c3f1939a";
+      sha256 = "216540e1c2fc59f946ebb0c3968045f928784fc38873bc96d9f5317bfae56df6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/fr/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/fr/firefox-112.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "b44101455cbd19cc065af595aab52059555a251c24100379ce59e26d2880936f";
+      sha256 = "84897d974fcc365287bab6d9e941c03c6aa464fba22b5968e3f5a41d21f8ac7f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/fur/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/fur/firefox-112.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "46d817230f1905b992bde3af2489b753e5830191e852961d07040937062c949c";
+      sha256 = "e03d8761e955becb1f6f542e697d7d64aaf90d1abac9ff0dfe0ae698aab91830";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/fy-NL/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/fy-NL/firefox-112.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "e10d9b7c49c9f0c1225826c729433946cce932302852832d5a70d2b86f2e7c88";
+      sha256 = "e0cb84ee39ed5d8b7cd21bd8283e233a0547a98ff703d15ec001bf30049748ed";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ga-IE/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ga-IE/firefox-112.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "5e38b3875c5dbeabc6f66dd51e1593136b3a45d704921be6f8a36c7c35706bf8";
+      sha256 = "ce2e7c971f787470f38e3b7a96d9670892de6480bb4fe8ac45bcdb0049033265";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/gd/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/gd/firefox-112.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "5062746cad2000f282a85cf5cbafd5757afbcd655e38ab4d6429a52e083cafae";
+      sha256 = "461f3d05b8d1b587111c952be55138d54b6747d9340278e0650f4f963cdb378a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/gl/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/gl/firefox-112.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "93ca5cbc822bc45681e5e06a75400df28f97462de1c1d0981f98c16e94f35013";
+      sha256 = "25664e36f13283c637337b94cc7d90c296a854bb21de1f139b6682a2b39503aa";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/gn/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/gn/firefox-112.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "4746b5b8055d6f212443d9bc551c1a863ce4a9874a8ba19619948cdc6cb9118f";
+      sha256 = "360fbd631fdbeb8ebc876920c8346a4f0f4d903ff931014db197b0ed0170512c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/gu-IN/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/gu-IN/firefox-112.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "85442986bd808d55c4d83a23afcc103c35c0a54ddf31a64b9d3237d805a6f9f9";
+      sha256 = "42229ebfea176d3c0bf174115025fe9bd9d0303821618a2843a48364980c87e5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/he/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/he/firefox-112.0b5.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "d4ebe3166abf22df3f861c6f1e5451ef6edca34a9e9247c654abf5fb85282688";
+      sha256 = "eef8c9609920d4ab26030e697465c38783f6f8c9688d2f2ead3d6d572d57a8f6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/hi-IN/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/hi-IN/firefox-112.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "86cd9fac24b2c6930adb891891f0b199f2422006a43c057f7238b6592c89e258";
+      sha256 = "cdf20283ad2698a16c1977c75d1ff424f75008d2166585d41ef92b1293729ed0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/hr/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/hr/firefox-112.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "ea4ab719fd777065ef8de89fb4f5a57f061268c7fc08a5daed03425746badc06";
+      sha256 = "9441a3683dd0a51360ab84d8c0adcf9bad148e37025e6484995bcdc141acdb67";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/hsb/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/hsb/firefox-112.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "791bf3ac58e54678e933ca220e4009998dbf277c8020ee09030178ee32c5c40e";
+      sha256 = "6a30c59deb36336392794867d12b4c6fbeaf4c8c2f4e98c843bc96799a877a2e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/hu/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/hu/firefox-112.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "342cf4ae783ee6c215daa4942d445ef0e2f74483fb2c3e375e23aef75073f66d";
+      sha256 = "4ba34af1efa0f1b52858c200035d696e60417f36ff4884c88fee01e2589eddcd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/hy-AM/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/hy-AM/firefox-112.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "504bbf5d5cdf1331079ed09a2ba929e8d9e897040894ec0fb0309468764762ce";
+      sha256 = "c20eac2ee61c73b0d5065b7842a4f5daecd3b29d5d508e6aac8512301da428cf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ia/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ia/firefox-112.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "7182cbe1720507c0c5246918dbb100129db039b03006b4cdf06d4f762654e8cf";
+      sha256 = "9c5aa72cb38a505f289df411bf458ec0aadca322b19819b6098ff08d74bf9fe3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/id/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/id/firefox-112.0b5.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "6db9f226593c6133543a9ae6e8cf0b26db72dbfaaebc304189d241a9029ef147";
+      sha256 = "46146a6c4fcd09e091202a20b4a352bbc9dacb84d7459a40079f7b95681d6ad2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/is/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/is/firefox-112.0b5.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "5404b4b03edcd9448d5c81345c9e1ec6f28bddedf0ff90b47f4998568722bb6c";
+      sha256 = "ff47754b70642cc10c151015f67465b4e334945a9d1861f194da6a0ffbd3a549";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/it/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/it/firefox-112.0b5.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "3884d8f3b2571cfa7ca78b49c2a7fda4fca4a328a13956e1d333b4ec61bb9fd8";
+      sha256 = "e67c8c532ddd34cb1dd1195e116e87af8cabae73e4c734614cc8605cf0c2670b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ja/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ja/firefox-112.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "e3f756396454164b3deaa4bedfb2dfcd3b94c891a925a06e52f33705ca48685f";
+      sha256 = "022aee39de289422088628f9b71de28a3d9b994ad87f489c0f4491e7279106bb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ka/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ka/firefox-112.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "b2e5ec6662c71900679016e16830f75d6dc09a2aec59142fb57d017c5d27e9ad";
+      sha256 = "05ee2bf3ee4c90f879b4410ada592c9feb53df9129df23f711896a5fd9e1d349";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/kab/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/kab/firefox-112.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "541be0e1139413ebac9b8af3fa5478497b382768f7e3ea46ade5bfb45e0fad6b";
+      sha256 = "c50c4992077a7cec127be1c648d431a69bca9f135b247e8d17339716c35c6301";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/kk/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/kk/firefox-112.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "a2b5c6944213ca0b379b977def633f19b867fcb42d711368c48005cc390c385f";
+      sha256 = "86bb3a893d3a93b54fb7c9de260fce58f33b7157d9ac67f8cf2e1206153d22b5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/km/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/km/firefox-112.0b5.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "83b50d97ac792db6aa8ab267a83f0b129b07c99befd8c529a139bc55f9db5e15";
+      sha256 = "a0b3a731be915fb4a60bd2fc665733bda240596f1a0560139fa2315343b61ece";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/kn/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/kn/firefox-112.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "3feb801c2cde74d76566084524ba3be38b2e498b7ab0f8d64da87798a8596335";
+      sha256 = "72a4374de710898854a360c8582c1395bf2956084c0cbaba550c1c0e3f9d6cf7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ko/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ko/firefox-112.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "809b806fef98e6e1c25a2d607efaeba8e9efc4c3a86d1ccc36d5d7f7f37e52d3";
+      sha256 = "dccf0da734efcd432d6b3a0f2355e076389abab2195124f47fd718484dc40bdf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/lij/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/lij/firefox-112.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "e8eaf0534574f4972f974ee3e2db8acaca26b96bb685c1181d5665b1177eb4dd";
+      sha256 = "5f6be135e9246d5a866c89afab8cd0e97f57153073cb91d9171fc4710a08175e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/lt/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/lt/firefox-112.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "ca8c52113613a8695a55a988d19ddd3e3830eb19be6f20e7dbe5186087bb2d84";
+      sha256 = "cbe6953543c0d4ed357e963a4fa224bc93a4a6d7b5df3df6519c10427ea0e296";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/lv/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/lv/firefox-112.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "4a78ca9215847981c378091a8942efd687bf428a8c7c0aeb2947f9614ee0435c";
+      sha256 = "7aa9b425e18a65ea87a1ea8f9c53fdbd6c0cea6c1f8e1de969084a30d4fd3ae9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/mk/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/mk/firefox-112.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "c03731a4169782a2c6dab21e60476145f6798b5f99f15724363aa43c8cc9dc2f";
+      sha256 = "149e4d575764ad523b63983b36eac28a0966a7c33b0e54e7e525e75f6cad8511";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/mr/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/mr/firefox-112.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "7e009338695a1742494329b143c755a1d19f653b49f787deb7e4e58983453493";
+      sha256 = "7b89022dfa8ec90607844004a82f6c064b768f0ff26bf4bab96c0f46d0c45321";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ms/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ms/firefox-112.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "24c36cb3a01601fcef177ae4b54e6197f0ffdfec54a6e4417d3c71ef508a7abe";
+      sha256 = "efd9c123189f5cba21a1177f245403bd0b40acfef72a8bf696be3221c87c06c2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/my/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/my/firefox-112.0b5.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "8c37bd11f97208f8f012ca5d7e708b79004e9dcaff4db769f946a10f973e1d57";
+      sha256 = "7d644179700df173a9111c41f3de5863f5d7d72d0552d2fcd99bbfd129b9a3b1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/nb-NO/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/nb-NO/firefox-112.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "0a65b52f4bd6702a407b256b9c2ed83e921c7026287f93f63d447ab9ab0be6b9";
+      sha256 = "233080da37207e934405f033e397d32dee4897b10a96372eafaad1c7c7202b6c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ne-NP/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ne-NP/firefox-112.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "cad43ee48b5788f5bbfe68bc45b8963dcf6869857fb412d4eb07a63a6009d5c7";
+      sha256 = "df8970e2b5cc7f96f3cbc22ea55d88919737478e1984ff651dc691577bbf27e9";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/nl/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/nl/firefox-112.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "66b088403d9c3f4ae8d8e2f28f7c48468a604e3720b76f06797a46b846785378";
+      sha256 = "4c36621ccfe5532781bccf8c4b75889db028b4926f955f2f6f69ecea586c0f74";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/nn-NO/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/nn-NO/firefox-112.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "00d105ce728179bde448554fecdd6052fac598152299a7284788de69423a0d2a";
+      sha256 = "fb08d40b78af79860daa81c061405375ea119a382abf428c62da5a2688de38aa";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/oc/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/oc/firefox-112.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "c6166908cf9eb939fa1e25e88a833329a4392d3968cdc1fbb9375602bb686b77";
+      sha256 = "28c50833f976fcd589e842a85e1befdc9272703491bb224048d7ff7ff9c6a83f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/pa-IN/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/pa-IN/firefox-112.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "b9960d6ca01ce0485c2d80170a9e1fb1de691bf1aa92c5f4e3996a03416338c1";
+      sha256 = "e494e1b1e3c2a7847bd45305f98afe3427ba33145f85890ba01664cd383e4590";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/pl/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/pl/firefox-112.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "5897e9105d9ea69540a526c6ccb2625dd8d706e1448004092f862384c85c44fa";
+      sha256 = "46aa243e6466aad2cf4c9caee954cd420dd5ad095581574d7692f92b7feee57b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/pt-BR/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/pt-BR/firefox-112.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "d1d9040eb16abfb6615e26ba56456bb10b945209e04ba9951349e3a3fad6a03a";
+      sha256 = "e30ce279396acf88a40ae40ac6831ca3a85d6a1051bc3554b51e8a3285d350ad";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/pt-PT/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/pt-PT/firefox-112.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "930fb2bc665ae6d7609a0f87377dbf7b4e48e8238b466b1fa16c14849c8f9ede";
+      sha256 = "1dbd434d60463d59779a4aea948b7fd694f9c0eeb13d62531c3259b45190018f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/rm/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/rm/firefox-112.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "89587145aa8d9d4c681bf304b7370b91bdcbacf88345873b668ab3ea0a501c02";
+      sha256 = "5740e389e978ee285273fb24d12f5fb23b40741c429eecfe44b91f82d27ae414";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ro/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ro/firefox-112.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "c26dac3faae365e377d596b6a4ffa9129825ec21bef2d1b10a06efd13aa327a0";
+      sha256 = "6c77aed73265b6c74cfc2f8126277c806b2d4f9629cbebcab15ddeae697c5477";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ru/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ru/firefox-112.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "93366dcec9c7361af1b41494e7fc053af400a19b269feb4784aaa0f7cfe9d907";
+      sha256 = "0b8b9125a9dd6cbbf76e8f1b060ccbbfbae123b537d427a8ec608fef87effa98";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/sc/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/sc/firefox-112.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "c4b45f3396cc92ecbf89e2ccf26fc42ff81409f3161e8a6a4a62319c6e12440f";
+      sha256 = "08780b4d08bfcfbcb260019e55ceffdce03819e3c50b26f8b0260a854a3f178e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/sco/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/sco/firefox-112.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "c2ddae979704ca1d90a58a6a76209c8a6d9404f8b44ed1e4a71f99203f8566fb";
+      sha256 = "f76f8d4975a5803ae59ed8d7429914d0a67782f3c6ebe8de74c21c9b3dc422f7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/si/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/si/firefox-112.0b5.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "aa550c0da87ed5a750c6547e16670c40fb8abdab47be5c80d0189c7760c06fe3";
+      sha256 = "3ddec5b1eda9ff9dadfa28274b237db1e070bba7602445d0659e56b4d83f5c32";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/sk/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/sk/firefox-112.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "6045f7261ad2afd4915460e15750985448856056891a6e5df95fedd0cfafbbd5";
+      sha256 = "7ba092acc5e90f2f0978e3d462946e647e1cfb20fa076f071668ad7e9a575dfe";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/sl/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/sl/firefox-112.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "93cd8c21a6d41064ad61e62b78b7cc6879e44fdb9efc3cdb6391f667a7f478fe";
+      sha256 = "dbeea39152cfd7515830d7e4a543d6c7bf91768ae39035cf817b2e919c1cc9be";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/son/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/son/firefox-112.0b5.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "62f34485c3b4ef9125835e293878fe537f1a428d757e30d5c39bcc74ea2e5de5";
+      sha256 = "c3b4392bdd6eaf3f7cb4abd769a2389ffd9605b80b52a99a6084973a9c9eed16";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/sq/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/sq/firefox-112.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "41a323ffe21f64067d264208b25a0a1ddf7ca04336913873d8a0f1ae7e228307";
+      sha256 = "372d6f5232a746679a3773ba3ee74762427f9b529f9bb681c8359dd0d5adb6c1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/sr/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/sr/firefox-112.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "5d3cc63dea5f51039cfbf8396ce38a94c0d3a59b4ebfe6bdbc39b5f9e774dfcb";
+      sha256 = "edf3164ba81dae459415f8c41f0fac09372080d3fe413eb282789d3026db8f83";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/sv-SE/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/sv-SE/firefox-112.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "02d1b67022ba0177b52b695f118f979e3e4fb8899085ecf72cc1556889254273";
+      sha256 = "6a5da09f8f5dff0cd147af8b45c341f301b1716b9eebb0cc7bc348124c5fb242";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/szl/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/szl/firefox-112.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "b9d4512190d2a21f368290d4978f4d911cf5568094526c8f8cc02e01becfed02";
+      sha256 = "df07280e6be3573342c5421de2e7137e63fbe691590ab9cc442e63827803dcd8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ta/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ta/firefox-112.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "ead96fa1a6dead8bfd03374547e2405d2f7b1db1a8f238913de42cde13fb298d";
+      sha256 = "44d8ad4cd0dfccef357ef7b2d212a913cafc0433f2aa9a3672fd1df1e2a72c98";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/te/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/te/firefox-112.0b5.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "03b89dab2a291bd2edc614a45df0a83e49bd9875487a810c806d95287c82152e";
+      sha256 = "70488686b28265481ddb882ea66ae03309828353a04123d46e33e19edb0f4c60";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/th/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/th/firefox-112.0b5.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "2af26ca795e150f88f81b4626a858a2633e1e3b2ecfc4445419edab1322de493";
+      sha256 = "70d3bf27c80954553b88fbdb486b310c19726e5953e91edd159e61fda76de6fc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/tl/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/tl/firefox-112.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "cdeea682242fa8773d6ed61860b32a3687b461d279966379b0e0c39146dc3fdf";
+      sha256 = "3126646299c67c74a59801c694e48e5f5402b14a636b4917253259967edbfce3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/tr/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/tr/firefox-112.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "a9190faef756fdfb7b9e4d555c569a6b0131519d8459fb9222e557b3aaa4ef02";
+      sha256 = "2ea8edfff3d4fc495e37d108cd5c8f7d003b929f82d065936a80e6daf4fc7d99";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/trs/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/trs/firefox-112.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "3d58aa7ada7c84b6cbc5ea125007fb6e1faf3a8cdea959909df92d7ee3a836de";
+      sha256 = "fb29e43f65dbf2a550c5d25a170be28a05e96a1f4e3e735835be8db111220b06";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/uk/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/uk/firefox-112.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "8ac79435a653daae5b0dcfaf6ffb9b4a4ad685b67b06f8589b07098367338b35";
+      sha256 = "7a3111f74b3bc9333ebd2ce2db0c1d34c55196710bfe628be37924636feccf3e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/ur/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/ur/firefox-112.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "329fbc0e073c8630ffa4d531d0cb7f26a55d73c07fb437861a613f91b4f21ab5";
+      sha256 = "dcd147e968ce2a97d36a3c2cc8b6c8c224e1f548623c30febf301d1870924315";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/uz/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/uz/firefox-112.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "f71ec3ccb35dfef2fc05092d81b141bb2aefa4faab7f51267376ae1e340c09c8";
+      sha256 = "9421f0b5848d2f15954539d59ae5ec92c4206abb48e608ed26dc5a5c55346b61";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/vi/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/vi/firefox-112.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "73226419139bc03f8febae048d6fd4cc93b50db2e6a19dcd6d22640d3c21a1b7";
+      sha256 = "f3b4f54631e37488ed3444058eed40d060c82eeb67f423ba8a3d500dbfa4ad8f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/xh/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/xh/firefox-112.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "1a59d5bf9511d1a792b62b5dd30d4e877567a59ec514ae5ec45952e1f3ac5f46";
+      sha256 = "ec40e4e8f37f561f8a49a014ef538e7e8d3b78dfa526657cc64f8784ee1f945a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/zh-CN/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/zh-CN/firefox-112.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "ead9b1414763612dec804cb9c2357a1ffc7ae84a8a9f3c0c9d80900dac50a4e8";
+      sha256 = "c4f780ebe92916044c71c48cb58e7dc10c08ff0ad7446d01a3ec5fdbf6c04e70";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-x86_64/zh-TW/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-x86_64/zh-TW/firefox-112.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "969ecb156fe70f0b1c4b2812aab242987a6af9161f65f3bdc1dbfd20776fc578";
+      sha256 = "7556349dda4963f88d79a58de2fd2d557411997485bb16dacd90be297c58769d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ach/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ach/firefox-112.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "66045991569ee79935613b4b2b435aa1dbae5ed36cc9d1380fd8b9599ad61a6b";
+      sha256 = "8c8d1a43cbb010798570dca68fea1502a8d9ec0711bf3c69c2ddd173a3538317";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/af/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/af/firefox-112.0b5.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "f1b1ba98c45cfc9a8dd469248dbefb65e659ce8aaafcb70e1b5b8501a716d98e";
+      sha256 = "7c89e0f7270caf1ef3a69c5514da97cce715f4e3a52ee545ef5aa78cf03dd55c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/an/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/an/firefox-112.0b5.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "9f2c95f64f6b131e1aa8d045cdf67cd899259b2d15534a7bbcadd3441b0ae48a";
+      sha256 = "355596b7006d114efc0a1c75cde51d01cfda3dfa06bd59fc0dd9ce036a54b77b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ar/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ar/firefox-112.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "a5856f4158803ee2c226fdcff8bf522013726284736c692d8faef57591cd3b12";
+      sha256 = "c43c434a8f090343dd718d3549860ca6056ea75cd0a805eb74ac44a7475717ce";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ast/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ast/firefox-112.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "d2d212429ee2820e68aecac6b0b90ff5fc9bd2672493c56477b8151832e2b2d0";
+      sha256 = "c64aca4b338c1633fb0e64f1c5992121dc29908c34d776aa569ebf58fed065fb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/az/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/az/firefox-112.0b5.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "3bb9d637c38e3d1572c8688805c38c23e8212a03619396ac85192feb68e46896";
+      sha256 = "0370b48bd8b3c7f27fa6cc715acfdb0f8d065aaaac00c15250a47bdf7d481faa";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/be/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/be/firefox-112.0b5.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "ab2ee8d2b0c3842bee542b6444731f1e74469cdc6b9329078640800c7633a384";
+      sha256 = "c12a416339347b843990068f016d1fe199efecffeb57c4555f2fbbe71d6e37d0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/bg/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/bg/firefox-112.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "dd80cf61de4cf84e8f3d3ac2209f5a34db4c611ea0e3068731f0132318b2d4eb";
+      sha256 = "d0587424301145187f35ce7474485517e9440f3e4c5e92eb3565a97c39c42d1a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/bn/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/bn/firefox-112.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "2ea5374085f61be6b90c9f6d42679288d58172dd4b2a576e3cce1aab7e1a0eaf";
+      sha256 = "68cd8fb4716dcb2a10b5c332c10d1f8c47ec79b0fc344275b3ac23086cb0b89a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/br/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/br/firefox-112.0b5.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "8200b68bb183265bc8066ba86e7301c41e757ffef4462c820aac64f7e2f5bf4a";
+      sha256 = "7386b53e5c4eabc0f1ac191b6a93acca5b3fb38ce0f5006a0e94f3050d790281";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/bs/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/bs/firefox-112.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "f7f242e3be00e29f2495a21c4b1df25a0bc4135d572134a09943b5f6927074b7";
+      sha256 = "40686fd813e59c155ca4b08c9bf138be20ec655efdeeea9201f78f7b11615422";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ca-valencia/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ca-valencia/firefox-112.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "ad5adfb048a851a95b75436d0c76add2f3b5e422c7c78c35a64f31050d8bf319";
+      sha256 = "b16cd0d27edd8a3477bea72326e9104734c276602b94299b58acdeba10ed1620";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ca/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ca/firefox-112.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "666f7cc6c3bfe215c6f178fcfab36125296ea9da753d00933138a757e51a2fe1";
+      sha256 = "f0e81d340f00c1ded4df4d0967c1183d4ef18c8f3864fdb520ffa32cec2fabfe";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/cak/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/cak/firefox-112.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "a0f24336f6c3bbc3cc215456db8e5f233852ed704aeb300f68844aaa1af18e3c";
+      sha256 = "d6c1545923f780491c3b4d6789b55303c107c533375ffb04401781be56e7315f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/cs/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/cs/firefox-112.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "8cc50eb0c0212c663261094e924ae8d9aa13512a271f9235c3855251445c5e96";
+      sha256 = "5af2de24992583982afbb684c9c6e58a4d98eb35ee89d6cad6e9bd18bbecb470";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/cy/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/cy/firefox-112.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "887e6948fd3249a367d10f9ca6d155a92c8d038208d6c332686b3732f1165757";
+      sha256 = "3aa0dfa96a072c9a2a333666e419e000ab36861058b1cbce6abc11d935fa03be";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/da/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/da/firefox-112.0b5.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "191237d6098a7a3da1d53e37144f328eac704a5547b60e0eb1fb36c952e41a16";
+      sha256 = "6998603e2c5524c38b7b89bec452fc658956b55561c94fc4b0fe08691ec978e3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/de/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/de/firefox-112.0b5.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "6ea53b30f2cb50c854c9dc9e8beea0a18447307a3330a0563c73dbc11b4b1c84";
+      sha256 = "d5b59dc00dc63ad988c9db7f770e31f9e5ea68fb15db894dd3fe90d78797932a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/dsb/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/dsb/firefox-112.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "c9595d2e95f46726f0e9a607e106e8b622254b002475b18190241cc2d30ed731";
+      sha256 = "526ac2c06239a7176422bf37757be3117a3b349e3f2c97c379ed797596047b54";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/el/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/el/firefox-112.0b5.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "313a68a38d70c20ec3c0bf592b9d81cc2c679b121dd32fd810358ef2977173b0";
+      sha256 = "9af390e46e28c9a5e3ab3646a04363ae618303d11bdb1661c0d1e5413e5c5b87";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/en-CA/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/en-CA/firefox-112.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "4b2a24724af2ad8e87a6bc0004441700fac6552e1de595cf26639ad5bfee5337";
+      sha256 = "bb012f07f4e13d95d1ab24bebc9c655dabcf5a3d03e2cce578402cbf9274eb2a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/en-GB/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/en-GB/firefox-112.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "543eee62ec72bc30834e89789c38d31b5dea134aa63fcb0b79a0234c9831d5f4";
+      sha256 = "943f1fe86afa3c0f7ae8d348fc7c80e08a57d5117d1eb4c848b7ca3b75214e1d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/en-US/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/en-US/firefox-112.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "5142e6b3d206fb187548f57a4596650749ed0b6b9f14c7adaac2b063dd364311";
+      sha256 = "ef7b243ce04c41fd438b20522f7f90f47b903c513812606945cf9326ed183cb1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/eo/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/eo/firefox-112.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "f2e4b1cac9c6f36d7ad0f07d74b3578c470c7bf1e34f84dfe42eb1afad52a6b4";
+      sha256 = "3e058915748fa0f50b1b439d5d933ef79f98cc6ff6112fe9a3ea0f9ff34f868f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/es-AR/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/es-AR/firefox-112.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "9f81560be34608bb05aace073d5eea44641c4e46bc6358f9fb3fb5131cc08777";
+      sha256 = "e90bfaaa61c2569ecd6090f151cdbf9c2765ef6fe79ec301f23609ee0006f91c";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/es-CL/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/es-CL/firefox-112.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "88eb3eb8fac7efda8679cabec17cf77401e9bb6409a5e981f801684bec56f1cf";
+      sha256 = "9c0a842c4ad9915e2ae03358277dd60e7935c736b1dd04c66795fa99c90a3dfc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/es-ES/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/es-ES/firefox-112.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "9f34e451d30937fca575b862d5471aab44d9890a70dbce60387088c2e9d82b9e";
+      sha256 = "8f37a758563eddf6f397785c79bd9233f4dd19a9830562ea821e64123c31cb64";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/es-MX/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/es-MX/firefox-112.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "66350c6ae6476eb04e534e8872fdcb373ab82d97af819fd4c3b2db7b54b37a2b";
+      sha256 = "547f4f9ffce5a7ea5ceabc4ba402eb42ec0ce539e5bd4e51374f2dae17ca7949";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/et/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/et/firefox-112.0b5.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "eae317bbd435ae2cbf4537e23a30f98e74b8dd0c36c62fe3f1cadb23682bec19";
+      sha256 = "eff697113a52e31069e4961354eaafe78972dff7a68737fb6153a42780265c43";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/eu/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/eu/firefox-112.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "a568e81cd590d23dd69e533f270305650e8329c182dd2c61d90a450c5f9d3f6d";
+      sha256 = "b9f9aa5538b44f8365276f54f75bcee5725f915f1d57c2816b09254b8fd1d07e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/fa/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/fa/firefox-112.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "62f1b20917aaf084f1dcc98470d6701f49e27dc0144889905ea137fe9578c131";
+      sha256 = "a48b03b41e7fe9f75b8b596ced9fa45c1f6fd709d67413691b93c53193156e75";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ff/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ff/firefox-112.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "df825d4705a712230ec6521be224b425cd64aefa736ebe847417cde407ea8efd";
+      sha256 = "03b86fe75130b180be97340616f9a5995bcb5e81d9900912fa9a324e0d409182";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/fi/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/fi/firefox-112.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "55a0ab072b36dd5d7b82002512988f29d5a18e12503184d468bd56b4dab7b973";
+      sha256 = "e9c3a886e6491d23631f724058d9d435cc9c0e60de3cb5b33ea3acfa8babb0ce";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/fr/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/fr/firefox-112.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "1a9257117d5bbd3794a3cad046f3dcaff41e97b3366b75f04ea0cf2ce43c1567";
+      sha256 = "dcb7513622428d5c91f32667a055e61072fe0d5039545bc683194b36d6bb49a3";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/fur/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/fur/firefox-112.0b5.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "ff25e18bb09efcb9841ab17ea28b8728a0216ff8203359f5ce6a8013c25ab382";
+      sha256 = "33fdd12569cf1b8eec60ded795559286e7cfa41b2db58bfd9c7f4887000a6b82";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/fy-NL/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/fy-NL/firefox-112.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "34bb2c52a729f1b5f7b6f7abbcb44f5fb235849a9cfee347d5ccd02be8da1c40";
+      sha256 = "d95f0bc82184d007d55de86caaf84ac442ba56c840b6798dcfd5b8cc2854c4e6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ga-IE/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ga-IE/firefox-112.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "927d779635bac570ea20bb5e799550bc34896e63a358c09d8234418a61a3ac1c";
+      sha256 = "48d23034a37bdd46385b9974eaa4569c080b4a873e00e33be0abcc8e945e1f42";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/gd/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/gd/firefox-112.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "f6e2d4d65219fb5be08a2f7673665a1333932aecd79179882b315169c563e7e3";
+      sha256 = "b1facf79a7b6fc22d75307954dbb189a72644ee665a2d8dba1706b5421c6e96b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/gl/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/gl/firefox-112.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "4d9bcd0194dde5f22314ce8683dad2a0599166eea2c59857f7275682b6428593";
+      sha256 = "769315eb7186ef37227a43a96ee2a67634d9020f47fef673de9dafa66a2d7436";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/gn/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/gn/firefox-112.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "a39ca41a2719700c807440c889f5a9b465a7f7993f50d5f7fc813175cea25b3f";
+      sha256 = "fb48fe024c20a025084fbe6f261f756b2b609b72ffc59e9645b0bb88ccc00746";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/gu-IN/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/gu-IN/firefox-112.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "8ea50e5afb28136e669d1c550af57f403d98f5c436a053e5e484ef9dad3a1523";
+      sha256 = "f5854e070c36bd433025d60c28ddcfd3ae73dd7f4787198dafb6b1e917cb3975";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/he/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/he/firefox-112.0b5.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "b4fdcf72dc47b4e0740a0c3e3459f01ef20cba6d55007f8902b066300dcc9916";
+      sha256 = "b71d3776631872e549ac310638b51828c8b1b7a600943c73d65b5e9121e10b9e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/hi-IN/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/hi-IN/firefox-112.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "445c778079f54dc60bd0b1e745aa753fb1edc69a3088631898f5db6539f5cc48";
+      sha256 = "61cb5d112085b4185ba21ce1277aebb43701970404a632cd255d2b010a8ca5dd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/hr/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/hr/firefox-112.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "b21ac8a97c4843597dd98dcc51cc7d22413f193a2c6b3a475b130e1bbb63288e";
+      sha256 = "0b3151de29c64199f4be91dd499f4e5b142dc5832fce7465b5ac709b103d2c06";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/hsb/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/hsb/firefox-112.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "137a4c278d80bd50894c5fb690d37fb2f4bf41940db90c89d25cb7cddc69e717";
+      sha256 = "7935f0cddb2f8d79fb3295b286a5ac8a62f5dfe54b72aafa7ed4d90cd09e7e81";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/hu/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/hu/firefox-112.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "3710e67ae0d57c396ab84aae21fa2a8e0e1dfb9d21c6d20ad79529381a982f1e";
+      sha256 = "ef39a9bd38c4e697b2acfc385e4f4b6bf64ee5196530a1f96d922a80f5e96811";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/hy-AM/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/hy-AM/firefox-112.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "e92d90e0274158d3622a949ce3b96d0c1cbed55df313a58b31c93bdd459f6fa0";
+      sha256 = "e4a35e4eb59270c98784fd5956d7576703b8d6f374e63ff99f859b4618a0e957";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ia/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ia/firefox-112.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "a00f57b53c6c0b87fa00c8c20e25f4a0bef59c36cda2af191253fa95bb34515f";
+      sha256 = "f9f6c8df9633b5b04212ca108115b32b7b7d670e105e5eabf971ab6c87ade854";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/id/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/id/firefox-112.0b5.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "ec50266023ae4fb76bf1da464c14db16ff8545361105f5994dd84c86f312f6f2";
+      sha256 = "fea802d675e2ccd2b389e81d3ef2766fa3083ece7a68450f33914421fe8081b5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/is/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/is/firefox-112.0b5.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "d469462327a58fa2c6335c0061c52ab36bb5252ed9fff9802dc0b8849c7433b4";
+      sha256 = "e2a5ea9a8cfe0d769c9b61f5a452e144973017c2e65d6ad03e190413c04a2430";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/it/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/it/firefox-112.0b5.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "82cb4044881b176489644aeb7411aed365db1a97910f21f0d171df6a4ebc3961";
+      sha256 = "211864798e0ff9fb06f10fe9e0c36ab5617ef5447cf24d03b5127f3a456a6249";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ja/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ja/firefox-112.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "328a66fcbb9805b366a540cc0fb34193b7cc74437d60f94660b3ca990e75db93";
+      sha256 = "ad7dba75cc991240315eabd9c99a3d643c8cc9d403f679162961be5c7f9da198";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ka/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ka/firefox-112.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "116cfde2f18ce1edd717c19033283278cc7675d4ca0efb73ab62b3746a16c1bb";
+      sha256 = "9a27a1b23da7c17881466ee52f0fd55de6069fbac45721e74c575a65d39924c5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/kab/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/kab/firefox-112.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "27ccdfba687fbbea6285bb2a7d37dcf110a8777dd52fb5236d5e8fea098d63e6";
+      sha256 = "f9b89268fb6cea643117779d845ca607de48b680c8331123ff9a2213a49c6aab";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/kk/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/kk/firefox-112.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "ab903a0504a0db8ce3cd9a19b82c3bdf6840a4f4bf20591ccc6fa18e31a6d40c";
+      sha256 = "b3995abef49360a373e73d612683a9de37df9da3172f754855977b2a350f02c2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/km/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/km/firefox-112.0b5.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "80e987ed55d5057b8c48e09507186ce2fcbcd449ea96bcc88aca7df6505b4194";
+      sha256 = "b113f611be572fad8d707ef089d1113a840f47341960b0180ce8c8d958c0fac1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/kn/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/kn/firefox-112.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "1bf32ea771d4b9247e6be35033d1dfe5a38e637be489bc15f8b70354fcbabef1";
+      sha256 = "43376fca7535feb95e083abf2cd695d452cb7c3d9e5136d617340f37bfd695e1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ko/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ko/firefox-112.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "dcedfc29aafaea2599f33496b8a876c88c27d9ab260e590e46916ad4c3be989f";
+      sha256 = "cab18f93e0ca6b56d5bbd269e33fc80e16e8048a359d81d6e272582c6c6e9a76";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/lij/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/lij/firefox-112.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "35a483dd9fc037c21c5830500ea4f0e98707a19aa999d2d5373489520a940378";
+      sha256 = "69c0416f559a64bb806ae7e3eca236ec13621cb8ab634e1aea901fdcb80180d6";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/lt/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/lt/firefox-112.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "3b1283c65ae4e3e6a9c8c5d0a98119b8ef16c70526b0cd612f08aa32b5219494";
+      sha256 = "ab662f5812d14e544255c1e708b9c1961ad6d9d37de25986aa4069beb568d9a2";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/lv/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/lv/firefox-112.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "dbaba67cb570ea58cedfa25fd547c86bb9d6e2b1e6da00c7edaeeb8540c39400";
+      sha256 = "39ba8132bb0178ebf707115a2a3c6a6eb2bcda82a3132a21ca8f8fc77f861312";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/mk/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/mk/firefox-112.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "8fc4e1ca58d0c05bb542f525ce3dee272ffba567734482c38680e39f12710f07";
+      sha256 = "124b53c31c874fb32f7f006dd48332d44bb9a139947e52952eeb484d17247ddb";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/mr/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/mr/firefox-112.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "7a61c4cefb5612fb2bccb549cc19b84d6aa329d68c84ca4b48ee64a91ea57d5f";
+      sha256 = "58e7e6b526f00187cad5e032323c39d4efd58a9fd8e2e0a6ca46eca4f45e1c6f";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ms/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ms/firefox-112.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "948815263976cdde9f1a103bb0d497519cb17bdf655f5a20ff8925612fe87c81";
+      sha256 = "fe19152b27b2ad3ba6bcaa127713a0a9191f7c81529ade02e48817f5f6cc12c4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/my/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/my/firefox-112.0b5.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "ca48a482f774ef6725b488f390c15dfdf52077ef701e351fbb574d918e8b96f6";
+      sha256 = "6c39c38301d6e5d845c4a4ad34685d8017cb874665aba823e62cce651b388f56";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/nb-NO/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/nb-NO/firefox-112.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "27a1d390d81865142130f497f76d84bff92be708279945d9e7e3449a91050c22";
+      sha256 = "e297b652111781206672b3c6191897080c3d6dff63e74f7f62c6a0f4292a3389";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ne-NP/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ne-NP/firefox-112.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "7c91efd53579378f7aaf6cbdf4981396199cfbca2bd28e462f225bfa5e547f20";
+      sha256 = "9d25913a2e07c874ede15a3849b396586a32b614ef29087774f244c40a33225e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/nl/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/nl/firefox-112.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "0a5a9d0854ce674c2f9c84d678e1424c4bcf07acb9b611698a210371c168034c";
+      sha256 = "ed3398198b475c4c369a340dbdddb687bdd8b5e0c397e981b3f2489d6e575447";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/nn-NO/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/nn-NO/firefox-112.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "81d9128d72ed9389828a07e4457e76a063dc984208fa948613551df9f406b3d3";
+      sha256 = "91376b1de28595e2050fc0c56024cc89ec4143b590c51612218c2a822860834d";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/oc/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/oc/firefox-112.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "49183189bd729aaeef2970a826aba3096b99a502dcf0b87203ebd55be3f24af6";
+      sha256 = "4ef41fadb4b297b781c8a24fd64302e6e348b455101c5450d9b3011e3bf1d638";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/pa-IN/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/pa-IN/firefox-112.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "4b503f248d495cbb0eee8506c590bac655fe2d8ec51691875f61ff3d44d3a8cb";
+      sha256 = "ca8122bcee87fc1384ea0ebebcf501e659987c58bd8a6a2a54f78681ca6df264";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/pl/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/pl/firefox-112.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "58ef29bcbd101e5b7bc55e414dda6bb4f5c62bdffe98b514fd9cf604eda83fec";
+      sha256 = "6e9835f4ccf62810d4e9500f05bfe7b9be205b8103be642ded328bc85aa84c21";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/pt-BR/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/pt-BR/firefox-112.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "57d99f539ad21e31b802f66cc33606337dfb842ceb089c50df795658397e584a";
+      sha256 = "e9dd785fd994226e747586ab38a2bc503760938180c0aec1e3966ac35776cf85";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/pt-PT/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/pt-PT/firefox-112.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "dc7b9fd92a41cc66a09ae8d1ad8f3194443d97a85fc5373222748bb2377e666e";
+      sha256 = "9f37f69dbdf6748da01c3fa9c581e44184091ac0ad85101da7d58f7115a3cdc4";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/rm/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/rm/firefox-112.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "10f6f81e1e2053a3adfd3ded763fc570d49cb8ab5efed014e4726b3f5c4cd0c3";
+      sha256 = "752b66437a1684c36847ed36f65005e9ca4156b05c93dcadcb842370792ab252";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ro/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ro/firefox-112.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "d2179ab4ff117acc643e42c0ebba2f527a47e969783a821c765b48e1797061f9";
+      sha256 = "3c5e8aed8dddf11964e3070d539377a82e63827ef1517553ae784565a0c241fc";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ru/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ru/firefox-112.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "88a52a4d553880bb23c81474c8938b2a3a0939c28fba5c59fac793e6594dbfaf";
+      sha256 = "b626cfce29b6bce883513057dc4571a489f5e0c392c7222e9853cac419923165";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/sc/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/sc/firefox-112.0b5.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "a1ef861439a0886805f0354fbf22d3013f627a34bf4562498d953318f18bc218";
+      sha256 = "d96abbf55494f33262ba3edf2552b96ba71defb0318a36118a8cbd26dd3ec4a0";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/sco/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/sco/firefox-112.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "afca5820a0ded94fc3706b70c6c25dd151854cac74a55a8a2d601924ef0e60db";
+      sha256 = "b352cf61ef75da6f2ec0c8fd6a16e90aa72961a82ceb7a014dfcb0a9ba35277b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/si/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/si/firefox-112.0b5.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "5aae00a412b2a4ddbf01fa9346ee1aa11ba219674f62f264c4bdacf469bc1e26";
+      sha256 = "a4ebfa843e140b8b7015fc6945dcc166211882662f00a6c4eb27d2334cb2fc97";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/sk/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/sk/firefox-112.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "ca4052e3531f85b6e1129d9f350fed1835eadc1f3e25883fbfa905168a2d6900";
+      sha256 = "83d58804619b82afc9431d048c16cd3738dfa75bf9d6e069b1f020a2b628df1a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/sl/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/sl/firefox-112.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "5e6212fbcb7f3f788bac1824c5f08f1e9e1447324f5e2009a29d53dee6b0b202";
+      sha256 = "1c36099781dc219b1cca5d9796f3df67f0a10412c7dc494f2a8cfb53e4668ee8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/son/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/son/firefox-112.0b5.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "d5ce0f2ba243a5f50c2fb2ef173a29eb8b02bcf9e3579e6ca4cbbc07a4d3badc";
+      sha256 = "4f27373905fed3827c1b74ce3de095d435e4dcc9a163d40690e072cbe42141c5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/sq/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/sq/firefox-112.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "4e3e6f1ae191af877aec4b31f1c8ab400b1695257e1a762f708848c9eb06619f";
+      sha256 = "5080273f3461bf27473fbd4d435d5efc50f6e15ed7cb382f000db313a4df49d7";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/sr/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/sr/firefox-112.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "7f329230d3262e97fc1dedfc27ca53006ae70a9e75aee3f7bbcdaf9c90ed1023";
+      sha256 = "d8589c74b96f1a162d1d37c9e280216af7769cb7f08c151a530fa1d44bf6311b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/sv-SE/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/sv-SE/firefox-112.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "1b916e646338ab8ecdf53ae9f126b9fb9d426906226b693f1c2485b392ff2623";
+      sha256 = "4026373c960ffc40beda3f9dd04b13d274d751247abe23631efe517b57ea23d8";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/szl/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/szl/firefox-112.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "d90988d662bc2e5224fad5b3b7929b020fcb189299f53beb8103303c97314799";
+      sha256 = "697404cbd67c589db561ebc2261fe15af6f272609d17cc5ecd6c434d95cb55e1";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ta/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ta/firefox-112.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "30d463b969eb55d09f2919d5fbfcfb3112a32feb0f5176dccf9de81976910578";
+      sha256 = "187b26a699a3b7f4182433ba6a458420434137ae44fa662eb88e35d592de1dbf";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/te/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/te/firefox-112.0b5.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "e8576d2ad2fd146a2c5acc46f66f68873368d8fe8fff5f77c6132ef372302157";
+      sha256 = "c21f404ae4626101fa63c7c5fb06a515ad76f5113196f8d5490adb1556808d80";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/th/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/th/firefox-112.0b5.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "3d3ab3141e45525264ec0d0373d2d6692ab03f3f05175c3c5dcbe69775bff070";
+      sha256 = "8623f5d172c3148faeb0e67ee22aed2586dba858b3c8283ad8f5a05ab32d493a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/tl/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/tl/firefox-112.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "c64ca24d32f856ccc3e8da9e085f80a1967856f8772afa6e856e073d6f55cabd";
+      sha256 = "b5609b75505ca2a27839ec7519eb4f21f2d84f8eda89b6b76b958b73c7b5e5cd";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/tr/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/tr/firefox-112.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "59cc194034044cc32053f2f2ebae46fec0a3f9c61cc9f162ca3fb16dd03354df";
+      sha256 = "8239a21e49341ea63dec6e000d7854925b8885550148f1bdeed190fdacd54627";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/trs/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/trs/firefox-112.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "7b0b268e6846b99c95a4eed1b60ce09cc312cd0dc1e1067c561cc800c49c477d";
+      sha256 = "e7ecd2309bb66c2b635430e6f001c742d4e67eccc7d3278d64ff0086481ce037";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/uk/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/uk/firefox-112.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "50fb5145b51c218b248034c5298ff09f2601567051d017a4fdb71c440290b284";
+      sha256 = "15eac212a24278055f27bbf9bb7d2bce298ad40d8474a09a64a8d6a82253a730";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/ur/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/ur/firefox-112.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "9d3e6e4146e5572bd360b10dca5a0f60b635c6fe76c685d0a1956d79ea22a5d5";
+      sha256 = "5d59b25da307aef5d9baacb68059d04e5125e9f8c9ad72d229b6f59aed2cc856";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/uz/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/uz/firefox-112.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "bad83d2293487b3cba4e870413f6f46c83cfc0375ec392aa55bb886b6bd7f8c2";
+      sha256 = "b66c8cc522829e6415bf452542d792946c62d6911ecdd8977dc36854a96bb59a";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/vi/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/vi/firefox-112.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "03b43baffe2957754a2d4bad73062f1bca009712c2b03cd6d1eec1610c0cd616";
+      sha256 = "b24e0038f2f8147c9dfa79acfd195e5ce8cfe27f5d7ace9a591a21dcda8889a5";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/xh/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/xh/firefox-112.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "dae05e9946336b2f25a6ae5cb635c406b7b7ed36a3287cd4713b9df5175c3a8d";
+      sha256 = "ba5d40a5cd4653e3f3381b25dee1c7a579986fa187e6a1c9fd6d81bd29c0a73e";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/zh-CN/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/zh-CN/firefox-112.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "295d074d2d686d737e633859e196a76b8d7a4b909697f321439496ae23b27fa9";
+      sha256 = "5b978f0f36e894eda54f0f690edc7e1fa156b898d550e747a8c5b712bbe2846b";
     }
-    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b1/linux-i686/zh-TW/firefox-112.0b1.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/devedition/releases/112.0b5/linux-i686/zh-TW/firefox-112.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "06c50734205a09a5675230fd8a00877603fc3a6927ff46c8d79892d014edaa4b";
+      sha256 = "7d4b52012de5cd28dd21b89c04f2ed1f392fa8637c07747e34619812daf40146";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 2e9fd3ce74d3..f14c4c85de7e 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,1005 +1,1005 @@
 {
-  version = "111.0";
+  version = "111.0.1";
   sources = [
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ach/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ach/firefox-111.0.1.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "afefb6cebc83ba96cb02ff7d92e53f7068f129a7c1df076fc0e775328a6753b9";
+      sha256 = "d091c784f3cba9757c8bd86c9f4404d06f5662212eb70545117a9d082b10a430";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/af/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/af/firefox-111.0.1.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "45af4f5760aff38d4cd925e636a90b80c4299bb7dd14c662e4763c703ff03be4";
+      sha256 = "d4abc2214d4095ef09ff98e59c58d05137ac7ea9b9859563ae91583027286acd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/an/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/an/firefox-111.0.1.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "5809e05e5fa33c51abc69a697ce0db26270e1028cee40ddb5cb305259faae6d8";
+      sha256 = "b1330e47c222b62a06ffacc09e02f48b257e9c92a9308118501684216e7ba459";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ar/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ar/firefox-111.0.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "8d76bdf776089d686f7a120a390cff51aed6b9c8d1d994dbdf87309e7872514f";
+      sha256 = "d50d23d22e245fae1c066520ebf640e6a9d19bb7dc65901a3a0b88ae83b29610";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ast/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ast/firefox-111.0.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "dcb2a442f5694a3417dff3d0b901e3f548f9b856b48043debda2ca3f3c41c30f";
+      sha256 = "edce3eff5add0de1c5b24de84ff9469f41c46169537c386fd1e1e48b11e050d6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/az/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/az/firefox-111.0.1.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "5c5154b8c9b3f69d4977f8128b7a245be6442d53a8119c71610a811ffc45191e";
+      sha256 = "b70b63ebb35d3eaae9b391bf6cbe641b0129ce90d87c235018bcd444d53cc41c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/be/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/be/firefox-111.0.1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "e21652109f0fefd30d9492f3dac2dd22f1a0d89ff525ee7cb3bb8c791f1af42d";
+      sha256 = "2ce1098338ae56025f87c304582966eec5931bb21462a334306e787d73e02a9a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/bg/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/bg/firefox-111.0.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "d5cab77c1054ab627a42a92a4afde061c170d9ebc2ffd12dd497dd11b7f2a8c8";
+      sha256 = "04889789e8096ed4d24876f88eff2de90e5b9987478512a9f9cff2aa48f1c528";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/bn/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/bn/firefox-111.0.1.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "fe159cfe5935a0e80b6f2f1c391ba38e53203e7b5c38456b0bcc166b850bb4f3";
+      sha256 = "e8d2e82af0c6b577ed205ea24a96cf908e45382d4ff7338943c1c5957ac74dfe";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/br/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/br/firefox-111.0.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "fa269a954e340eff4f81347fa29e52f0cf8f738dd15780435b89b9436e09940d";
+      sha256 = "46ff777990bd98c23917c7e8ec875651109cccc1f477a377711ea690cf380028";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/bs/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/bs/firefox-111.0.1.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "612995e89075135cd0a553440601a34695f2c1f29af818624171d2ddc2479208";
+      sha256 = "44fc3acc5b54cc2d5c22b81a0df9adabe3e41cdc7ffd90708d7b2e61c92bfee2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ca-valencia/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ca-valencia/firefox-111.0.1.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "66cce3329b69bb27d5ffcb723d5aa63af95cabaff0529ae21458a0937ba052f3";
+      sha256 = "45632ba3e707288f6564e958653df5f0a03168f7cb4dfd0578a649941aa29605";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ca/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ca/firefox-111.0.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "1ccb1cfdf46c77a8ac2a450bc015ba6555b59edd5371a98e649fa69e45d70321";
+      sha256 = "57c0548a782850b5ea045c753d3a18b7926d7d2ecde87dbb5d7cc4137085e92f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/cak/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/cak/firefox-111.0.1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "e387b01a3ccf421563fdf2884380c89b90a450b8a19c6aec9749cb9f4b2b50c0";
+      sha256 = "cc5de569e4c4ead2e466fdfb8eaafbea6e15c43881134a2888d0895a32a28c34";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/cs/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/cs/firefox-111.0.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "0442b63e8765806a6d0b7f26e3c0a5353c702782d6fb0ede4f4cdca395544eab";
+      sha256 = "24bc4997b0a9ef89d1ad22544e55081e2c1ca7dfaa6f34615741175a1813a9f2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/cy/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/cy/firefox-111.0.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "117738e3bfef38afc360cbb618620c42aeb46ce4b1b5789cda33b3cdd05e9ad4";
+      sha256 = "57de8b383ad683fb2b5bc57f7e8ccd158e952f14493010917c75c362344658de";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/da/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/da/firefox-111.0.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "e049d1619346bcd9aa604136dc37762a4363aa852f38dfac8d5172ba5d626b95";
+      sha256 = "ec3f0374e6b3cd23ab46c9520a3f8c0d17c3fcb3e185b88d4bf3795b3b3ab342";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/de/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/de/firefox-111.0.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "bee54aeb3056f55d15a510830cbd864ba287e682a6b9aeb0fd4d2d62f1ba0153";
+      sha256 = "554c6c5fb379c96aae5ba9d6c685c770d41467a6ddbb29ac37753066f71b6523";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/dsb/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/dsb/firefox-111.0.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "76235bcb385e6b7f6d034543a9c5547c3bdcce57070a90c378e410635c839fd2";
+      sha256 = "70c1ed166ab8fb38cb8584f626db8e454ba9679a97f9bb7db4f8f3b5f1ec0853";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/el/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/el/firefox-111.0.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "4a365b6ac0aa0329badb6e1d11a43f6aa009f3b1d9a77f6b4d66f745c1dab84a";
+      sha256 = "a1028b817d2c427e8c4344091d820c4c3c508615804fa199ccb411202c97ef48";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/en-CA/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/en-CA/firefox-111.0.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "c628a5369923952647f8ac8550835b14609b861ba5f7c53ecac51f596906cdc6";
+      sha256 = "2e2c62f847cb4b9ea233a170bf91c185421e042eafe2a285a5caeb89adfba957";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/en-GB/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/en-GB/firefox-111.0.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "a66a4a795c872b08eb7d5bfd9c51da2014b4f9d5d7e2d11fea4940f915dc7761";
+      sha256 = "b6fb7729a268e496cd98a4b145aa6f7819df91c039e7043d62a664d379209854";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/en-US/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/en-US/firefox-111.0.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "49599b5b0b24400b564af91f4578314c0e069347aea76602e7eca9d8055b6fc0";
+      sha256 = "a4075387fd907882c80a03169df258b329a29d605d7e76afe6f2d4a82a8f66c8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/eo/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/eo/firefox-111.0.1.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "a1fca264db6ca00c181060cb63b80aa06b076a23001af8cd030771f0810514d9";
+      sha256 = "793b1fedf21d80d686eb3d23c5e44b9f047e695eb3401e157d0cd028ded73154";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/es-AR/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/es-AR/firefox-111.0.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "7f79140fed2f84ab284e2337d7e107683878877bb2483a26097f0c2981719a7d";
+      sha256 = "65d1c9ef75c5f771243df2f8161c85bf690163b8d743182d6a7a29461d83a218";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/es-CL/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/es-CL/firefox-111.0.1.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "bed5a2fd201072f0e6f388910c923b0c10715d3931e068eddd2016d5ead01fa8";
+      sha256 = "be4098ea2213d21f7ccefe26d0693817f8aa605cde054fd83cb11e0e0597ab28";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/es-ES/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/es-ES/firefox-111.0.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "70fe15810648f97d35a6c50db9841c73d8500fa71cb7ac499a367901f8e6e83c";
+      sha256 = "1058adeb032b196fa5fc03a8796758d48fe1414cb05e393b290567833ee6fcf4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/es-MX/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/es-MX/firefox-111.0.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "043d5c3cbf028ee3c0ab2564783b09fc7df6c3e03e9d4f48aa62d60debdd2f18";
+      sha256 = "e377bc22615cf9881b5b03b1404aa11652e123e8c98529beff22d103ecbab3cd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/et/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/et/firefox-111.0.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "87a3a6619ef17352cfb77018fe03cc0a75d6a55acc02bb2ff07cc9b96282dc96";
+      sha256 = "73ead886ced43f1c6312d817f89db2bf72f7582f44b4522ee3b536ef02c4b2ab";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/eu/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/eu/firefox-111.0.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "ec0fe2a82f795f076ab8026fa6cc47401eae098afceb7ffe7c70d010ae961344";
+      sha256 = "b6c058d81431c6cbcdbbd4512702364b6855ecfce38182491d48bc5276ea84ec";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/fa/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/fa/firefox-111.0.1.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "cc358a937e33c810b099afcd5118f35c77476c2642379fd4a9095eafe5966517";
+      sha256 = "7a2aa5d43322649cb546c0ad891e2ed174faef4d8553f4a551e49db0479af638";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ff/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ff/firefox-111.0.1.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "5a30cd7ca1e07580a54f8c4e2b8c40025048b56814c4e79e91e01b70477fe4b1";
+      sha256 = "9a2385abd2c8860a0bf8314a127338a759106f838b467b332cb46a6b33b9879e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/fi/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/fi/firefox-111.0.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "f8f4687610e36f0c2b107fc553d0157e322637e66f86c6f086d8eb8b49ae2326";
+      sha256 = "1f3f03f7c85dc0ed66930fd7e8760283be57dc5916762bc409c100eaa9dfcfd8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/fr/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/fr/firefox-111.0.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "7e54d5e4a758cb99526c3f4a394bc0cb744452a845eac8cd969987ea2f51a3c9";
+      sha256 = "2daba84f5cc85d05e6b0359dbb553de3bdb3d16b15716c072a0ea154edf69cc2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/fur/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/fur/firefox-111.0.1.tar.bz2";
       locale = "fur";
       arch = "linux-x86_64";
-      sha256 = "92f67ecfd105448cb14fcde2dd4293ef05c4980e45d61f3044e4462c5851745e";
+      sha256 = "786d5d1e9aedd3cb87e5f6d1dfc30a4f52bb4908aa0df9a9225ddf5b2c4eafa7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/fy-NL/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/fy-NL/firefox-111.0.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "4e4890b9d53fe619934e0b91d59788ad2297fc3404626e8021f92cba8ec993fe";
+      sha256 = "1da0e5b6f6cd5942a5e0d27237077d8020e235ed5b148c61a2b702e113415546";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ga-IE/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ga-IE/firefox-111.0.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "6e16daad967c3c566bd97bfd2abc55d1a53beb523b27c03b71f09efbd2ce7d2c";
+      sha256 = "1a34cb303971c39495a8e30abaf501dd38254e350cb3338b7d42b42293584dc8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/gd/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/gd/firefox-111.0.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "44f615de18617b592bb5dcc553ecba172b2b57e63dcde333f13abccb2d0ce26e";
+      sha256 = "0b14eb99a1b0aa6670faa33fb356e16570232defaa990ee183c5e068cb485371";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/gl/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/gl/firefox-111.0.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "7f703e629c02f3ef53cad9bed6536f5897e92beb4713cf7f2a373bc2a3139f4d";
+      sha256 = "38914a030551a90095c7ba494a1b6c00eddb7a5432b3ad6d418e710acfc71294";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/gn/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/gn/firefox-111.0.1.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "cb300a4c54b3df24d5f395d8d15fb3410b00b17b5dbfdc9c1c9568fda5ede86d";
+      sha256 = "edd12b8e93e4c2a2b85a67b77f727280ae176568598033cddfc38af4b991d0da";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/gu-IN/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/gu-IN/firefox-111.0.1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "116e0a07cf3ee16170135a4b05a011868b898aa8f3f3f58011c09395307132c1";
+      sha256 = "133b28123b30b20a973519a6be23b6af90a60d921a5601779c074f4eb39f21cc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/he/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/he/firefox-111.0.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "5440c637b9a37af1d13d128cded438e04be3bf83a11b1d8bf0b998211edac9ce";
+      sha256 = "0173b2b675290f5bfedd80e43eaffccb440715253af3edf9bc4cda19aaf5cf12";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/hi-IN/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/hi-IN/firefox-111.0.1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "a50e5a379ae0e2cfd62db0a1d03c8b40889431c5dba7506edfdffc24c0198a6c";
+      sha256 = "b01a0b830ff8fe1942ac4bfa1d26828d26c6500a8fada67407f43724690ef2d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/hr/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/hr/firefox-111.0.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "c6b6ed98fbe8f6e89a906aa2c117b88bb197d4e97683af786d2a6cb4c8b01af2";
+      sha256 = "f56f733aeba7076a48ba612e3b4dd394da03a3f1babc17ba898b702231fd8fe6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/hsb/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/hsb/firefox-111.0.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "3246ff5ec617437f948620eba5538f7a3678cfcf997f72b918192a7569b36cc5";
+      sha256 = "c95bd7dc148a64cec9a679d6ded2ca6570f18c6c8d5e38ccb5c59d099c22f721";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/hu/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/hu/firefox-111.0.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "3d2a559a1dbf9cf2723bc52eb37dd79b1a8b5998b90b6f2ed5621d267e913e8d";
+      sha256 = "1c79dd7adc47569f12e80ac89cc2bb75a1789577a8f5fe62e748aa6a71f54aa7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/hy-AM/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/hy-AM/firefox-111.0.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "860c333cfbb1bda62d26792972a8c2220290871cb28e53d27385c9da22798ad8";
+      sha256 = "bd2f401ba297345a46b398e811584b452ee52e6f320807323316c106fdb72099";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ia/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ia/firefox-111.0.1.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "efd6dbf3c92acb060d687f2227df9e1ab4c191f37224792323aa1596cdff5100";
+      sha256 = "3c62b5b953f6ff2b43d2748d591308dfcf43614df051233cd3826af8c88fb136";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/id/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/id/firefox-111.0.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "0c02a5bbe2b6a408b87721887ce118b93c0bde4090b295a55d09b0e3f8db8be7";
+      sha256 = "e1ce4376557447b5cf4d4302dbe0c9f01e7cca68332f54cfe100fc975156be04";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/is/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/is/firefox-111.0.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "84fac1984d6590c550cd17189367c801f39d6d6f7c651555480b1d19a0a9f79e";
+      sha256 = "908b2739f778ecd93626a4e28f49b998c98ff0a6a2d1eb83abd5b56d72702a49";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/it/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/it/firefox-111.0.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "017411001d2a23b1dcc4a1f9cae201b0387028c777244707d19ac704906a4219";
+      sha256 = "af7fc0c3e1636711dbc9f23e6fd1bd69b5e5a2dcc22934d4274a1d5b5cccb488";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ja/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ja/firefox-111.0.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "144d4f1458dc5fded8722d4182f7635fa50266c151141f94a6e9c5e2d504434e";
+      sha256 = "57d7febb733d2342146fdd70effaf0f97e88e8ca506536a9f86f76a065297a14";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ka/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ka/firefox-111.0.1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "19da32917438739b4c6036abba906ea7569da59000e15a8caa11592a06618fad";
+      sha256 = "c5df241197b65a330e10e8697295357da1b5a08b1c63257e050c48eee90ca387";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/kab/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/kab/firefox-111.0.1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "014af62d094671a7a3ee8d350920617ecdc93cf4db52afc51b27c64b51f33515";
+      sha256 = "b35b6904f3115fabfab35bf502888194906377f14d04b6c95a67fcfdd4d86e50";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/kk/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/kk/firefox-111.0.1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "2731feaa80eefe056fd2354efdbed55ece27d9c65a8e66124f14b8ca074fad54";
+      sha256 = "a6fd1e9dce4c1b4173e9cb674c90fa68430ca9f50dc22a3fdca39dc2c88d1389";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/km/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/km/firefox-111.0.1.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "cb3fe0679fb824fb6cb1ffddd684fa4edb36565520fb41a82ff9b2df3487c63a";
+      sha256 = "d741592b7a7fab744303e6929643e8ddd980543947d5bdfe564a5658a87d1183";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/kn/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/kn/firefox-111.0.1.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "98b36344e7788afc1f1a1f15b3e3059b0e31f329ed047fc5c9251e405578638f";
+      sha256 = "0f10f8302b4407d0051fd4e2a07d4c273df67b2446f640b43799e9aee964d433";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ko/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ko/firefox-111.0.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "d62373b033229459bafa760c69706cb331c506e955cb0b6bfd06e9e15e99e2cb";
+      sha256 = "35159ffe1033c9db0b06d53a2182575e49ab519636edfbf69e4a1851e57d1ea4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/lij/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/lij/firefox-111.0.1.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "6f6706846281dc2d061df92ae937dd449523c3cb0d513c02e7a6255cc7edc1a8";
+      sha256 = "c1ebe9213a7662ba03d1bbedab80497282c180b4e5d2452357e65f837499fe0e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/lt/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/lt/firefox-111.0.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "50c1123e650fcf0ae6443b7e5a54c198802f7f8353e53f544fc1a0a87369d221";
+      sha256 = "bdd4eedc22b9f45f2b762548cb0a08ef26e9f3320d8b419d93366c0c09ea0c9e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/lv/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/lv/firefox-111.0.1.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "efdbbaf7627ae197e8fbcc2e5258646096fa35a341b9a2d980d376211aa1d644";
+      sha256 = "949c756f761e5d0cb069845ca59cfb20f2befdafbc36450be5e29a0d5ac943ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/mk/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/mk/firefox-111.0.1.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "9430c27e9f282c0c610c5ebda7f09326d6220253a04922d8e7af1038a3b759a8";
+      sha256 = "e307b333cb9418d3523db97b50dad5ef8461e56f50d1432ce547bed652b509ad";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/mr/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/mr/firefox-111.0.1.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "ae5dc0c04981fac869000263e68a08b2f7254265b9a0f136edaf4da19b1bfaa3";
+      sha256 = "3a5fba3c81aadd958c3d529115ddc4c36a4399e91f395dff0f4b07efd4a19916";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ms/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ms/firefox-111.0.1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "8e97bc2e7bb63d16d8c3a16d2445455e47c1d10c3f6761c00848e020e86b2550";
+      sha256 = "323bc98904bc59f39f11f71aff2165593e2c83841f2271de15a4fdb51a1127dd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/my/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/my/firefox-111.0.1.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "e72f08c2b1a275e3776ac10c1308951a071123bcd53e0365911715e008d1a42b";
+      sha256 = "1da08900adc5853afb6d7f8773e59d46d2b9f43047700b5c026922f1e8fef6e5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/nb-NO/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/nb-NO/firefox-111.0.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "ca91a2d32433e6caf76044bb693cab553b22b00f58fc3b553e1c714433b12d19";
+      sha256 = "503d0fb3c823b3a29f2eefaa73e90c49f3fb12e7fd785ae49b0e042ed46de5d2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ne-NP/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ne-NP/firefox-111.0.1.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "1c055f3ff8392dbaeb2b17d1a1eb4c3d6d57c3d37b69d9cc0ed38e2267ffe6c5";
+      sha256 = "045df0d24a74949ac50259776bf4b21d4d82d3cb13a1e99e2a0a3be8547ff470";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/nl/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/nl/firefox-111.0.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "696afea6f607f7c17c79051ba25ff86c8d4f8e662dafb34d7ad52fdcdbafa9fb";
+      sha256 = "a99d5a0dc143aa3f09c76184d76348667172027c8ece66021192a9790dbc4b15";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/nn-NO/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/nn-NO/firefox-111.0.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "80031795e447eafac303fea9858a13922466f99c6abcc3ede76603a008a368eb";
+      sha256 = "17f6d971330bbd51c6acf17eb8be69f7697a050b41dd09778e44fdcd4562d130";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/oc/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/oc/firefox-111.0.1.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "e9a57f5b9441318430f30513bac3a15a265ac3866054a08dac4debe26389b7c7";
+      sha256 = "de1a0e0a382457896c3783c09ddeecd5bef71859a501a5f0e477dc9a79b08052";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/pa-IN/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/pa-IN/firefox-111.0.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "94dc3b687191c9b214c581dbf475b43b1e7e006d1c968000af63cf1fd1045cda";
+      sha256 = "1545cce400caa37c93748b135f6dab47dc1bb8357d8065072bc377f8728128ed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/pl/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/pl/firefox-111.0.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "f897abf0fd26e54aa88c0a54f1286eeb185ab3577318529b113044bea5d8ef7a";
+      sha256 = "b6a7e2d3b5b0c3fb929df7d4bdb3a1f040d13796686dd2caa5521d6e0d80d7f8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/pt-BR/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/pt-BR/firefox-111.0.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "e775ddfa51b267454ca068db56939214f350ae370aedd8b33c7ff6ba627722ce";
+      sha256 = "4da56eca264d5ec24bd85e438397c65917420b84845c9a215d410e44d4c10a18";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/pt-PT/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/pt-PT/firefox-111.0.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "da2407c38ad5f67e9bcacc2a752d6755dd60f97cc90c8b62c8e15fdff48dd391";
+      sha256 = "df6ac7f7f165beaa3ade2e51f6d550fa442578678725a054b34762fa7dab1a29";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/rm/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/rm/firefox-111.0.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "42180094e90c4be2bf350a081f5d1755c2674783402ef71c74f4ebdc934727b0";
+      sha256 = "d8cd9f9cc6a4b5d3e1e48607b224b71f858d23c03af9c593719ac148c85aa363";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ro/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ro/firefox-111.0.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "9728c18734f61109ccf303fc5a02b94f2fc1409415f4f4e18cc56532dba95d3f";
+      sha256 = "c0cc323bcf3ea976caf3849167406fcf6e240134c6c84067eeffab5b7730b84b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ru/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ru/firefox-111.0.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "8b1504361d770f9172df29d1de6f89d8f85de7a9e2f7a43304c256f544c219b2";
+      sha256 = "1677963f9c060694a375b97ff1b60061976b3327337604ebd6d133d1142813ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/sc/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sc/firefox-111.0.1.tar.bz2";
       locale = "sc";
       arch = "linux-x86_64";
-      sha256 = "ab34aa83308ce3119fe89353ed826374c7d7332b82f9a2f77aa2d337d326aa57";
+      sha256 = "eb31836c39642e0e6b2704936c7a0017299a5cac7a110cdc852979da26c36c4a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/sco/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sco/firefox-111.0.1.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "7cffe7426a65a809acdfbfebcbdbc5a6e8915307bc061873b6ee528015d02319";
+      sha256 = "052d6aeb44d257a4691a90b9e799fb4b19933282345868eb9cfd752707425759";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/si/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/si/firefox-111.0.1.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "72fc27400234ad3cf25a334afa295a4e7de1a78551343eec240953816e424d80";
+      sha256 = "4ae7a8080f6ca3afd2a3bf62b06783d552330512bdc344e4daee0fc39566caf8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/sk/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sk/firefox-111.0.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "bef4f7b91af046c0f908210e2643f2cec4991a016a9ce2dddb3c2a7d3c028f3b";
+      sha256 = "98667dd948c4fc340f2757a92bbcc78e1d0b623bfcfb3aa9019b35b19a4ae2ac";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/sl/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sl/firefox-111.0.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "cacabc1bb2142070b3833f95b8adcc36f14bafd0254263bb245b56d5a3438a6a";
+      sha256 = "fd363be65cae243b14be236a9c952e5ba0a507157b667a6b911aabf7644fec57";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/son/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/son/firefox-111.0.1.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "50b5a60972d0f9ba7deb768cf0147e0c9107885a023238e9e853b08868454493";
+      sha256 = "ea89884cc645b20aac8e22f52ca37992769eda1777f7c940c0307477030973f5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/sq/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sq/firefox-111.0.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "c5587ed36e11082b7232251a9918b2edd4ebe8f455456e1c43ae951089fc16ac";
+      sha256 = "29b9b1c4b1d60af873926cfd89d8ceda61926e742c49810b6511988e593bc492";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/sr/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sr/firefox-111.0.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "ce218ddac2f9c6d5db2f3b25234578c38dfb93ce158e00fe506431b9db3261a6";
+      sha256 = "c4bad92c4e1b6ee8c7545dc37c7f5225247bcd5261e5d846c8b056a006fb826e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/sv-SE/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sv-SE/firefox-111.0.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "3ec80748ef14a5f575e4120f7ac8083ef6a1b5510147296930e42f926cb4ca24";
+      sha256 = "809508b95a4550afb2388a2e3e671b2af1c2ddfae5d2046c1bf56692d6792e26";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/szl/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/szl/firefox-111.0.1.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "953df7d933e39c4f6e76600bfab762f5438789dba335e9256cf3b512fb99f16c";
+      sha256 = "358c4dc8a661d9f6860da9307055c709111f476ca955f1d944d58cc281be5621";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ta/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ta/firefox-111.0.1.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "646a9c33ba9c9fd77ec655f00ca60c3c41a054afe38fccfa31a304d9d356ef0b";
+      sha256 = "aa6aafa35e0e12f4b363cf402a718bc4330d646c9d172e269703e8ea9d85df29";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/te/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/te/firefox-111.0.1.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "757ed7120834d236023104cb548cc4d4b9f459c4216083be1dfe734e2638da1a";
+      sha256 = "83ced5c4bd46bcf5d2944cc28d6917abe527709e66ab9749f340c41b150ecabf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/th/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/th/firefox-111.0.1.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "e55cd8e25b2d3c91c64a146c0be3ca09323bde960bd3cecd36e0f66ead0d66f5";
+      sha256 = "e1772b2e625119923a9268cfdb661516c1bfca302a8383a83d2e1e2566a4a46a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/tl/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/tl/firefox-111.0.1.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "55368061387cff4ed175ccd1bc24e0f1047333bdaa57b974985f69082b5e412b";
+      sha256 = "b59a43703dcc8707d6a01fe997b8ec19291d2a671db8e7099fe3acedd44e4786";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/tr/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/tr/firefox-111.0.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "0d0054c160b915603a5b5e8d491e4929febc911a7f3dd6c29fb78a13125be08d";
+      sha256 = "06e32ebe547fa10a38b732487fb9145e520bc1e50a9700f85f7636aa95bedf33";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/trs/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/trs/firefox-111.0.1.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "3a8f982ba868a9305cf47c3f16ef8b3645292d36ad206f603faff70b1fbc2e67";
+      sha256 = "6a2b7b5a83cd043acb005f987f7efb970bfb68e9d4b88f0f9666d1df3bccaff0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/uk/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/uk/firefox-111.0.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "6bc78bb1064fbad687b71875f63d0edffd664b3eefbc4c10955faa0675785a87";
+      sha256 = "b9f03249efd133c432997c1c5ff65f2f810d5fbe246a54d72d7658181de728c2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/ur/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ur/firefox-111.0.1.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "9003d49d3693595735fa32f3d3be2b817b1b938a78cdbca533898887a89f49c6";
+      sha256 = "f689c3cf37afe1ee59b1407f0b34ad5ba6146630eb92ff4466a3f48533da7178";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/uz/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/uz/firefox-111.0.1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "b37d867a32a8db632c4741522bddd7e0df284a6c117f58b3eec510013a24e279";
+      sha256 = "c162efa511d6bb34a1f81f3ca621f49e07a9a53c3403a2a8f3b9a25e476288b8";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/vi/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/vi/firefox-111.0.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "f8434917998728025b4974500651edd91adbd10be8ad4b334582af6a2416bbef";
+      sha256 = "44ae40e5dc2a5fc387c90059eabb436f352917222b1a89cc072514b2ca2403d0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/xh/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/xh/firefox-111.0.1.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "f4e90092a134d578697fd44b802db4259c6ab0d077d189fa22f930ecd3df561c";
+      sha256 = "6fe1d8fdb958d0360cc77330682d5522b7e05ececc7db8477f07f8dc2c96ab8d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/zh-CN/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/zh-CN/firefox-111.0.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "c1d870d2357d55de760ce1d5db2c304c00b7325958d800c0a28b701798c8566a";
+      sha256 = "476f05dde96d321cd9920ae2d56ad6334248ca6d53fdf342942dc6c4d3ce4f7d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-x86_64/zh-TW/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/zh-TW/firefox-111.0.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "8e2946fea13a94ac3c2e19a9295b7f87ca217987c801959eaf0cb4b5cb270338";
+      sha256 = "e5d62c2a4fecf41ac3523a420b2021e6ab12db56d7f882008da9212bf4e90873";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ach/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ach/firefox-111.0.1.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "2edd033a3dfc8cae6faca2bffacc5214808ff1ab3c71eae339ab1eca87283ab0";
+      sha256 = "de718f2f4be00686fa88fa9bb0fddabc9e58325ed232f5a63bf2aad845f98756";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/af/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/af/firefox-111.0.1.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "7b535d02e41bbe3f6d111c03773114b5cc5486eecf607556f35218c387591029";
+      sha256 = "8dea9ea3b74a271f66e9999c9b7ac09cc7264c7391d76d6989af704ab86200eb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/an/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/an/firefox-111.0.1.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "7388104d4ee5f54ab19502eab3200542ce46f341a1b32888e0468681c7e6d437";
+      sha256 = "aa512e0b4b2561a85c1b0b3320406d580e260def4beb4ef9f46c2d43015a4cb9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ar/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ar/firefox-111.0.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "a2f48730993a4b0c181af176a5dab354aee555c8ed9a650c38d77dd458249998";
+      sha256 = "97de18e57a0d447980cfc1e55e965704d0583d4cff4f96b3c22cba0e0731928e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ast/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ast/firefox-111.0.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "7a336be253cd46d88b601fdce3a8edb65421c3fa4d51975d7d80577aad71137f";
+      sha256 = "45096b2c62ac30241ffe6edf39a6c7db8a5f4f9f296f727c7cc64bc784ee6688";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/az/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/az/firefox-111.0.1.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "6509b02a539bee0b5d6238bb2e94e5111d2f39fcda2430c28c4b8f1e88446f9b";
+      sha256 = "5fda8812aff0629c0b75f783faf409672790f9a23812157057f4361dc9ab89fa";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/be/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/be/firefox-111.0.1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "07965cdf25d163b17786eb7df112ec9b32ce547443d5543395e4b3dca2edf5d1";
+      sha256 = "3866b6cccda2cbd9a48f4f02941b50d2384d19f86a163aa9c5c6e57c8965c4b2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/bg/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/bg/firefox-111.0.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "b4270cd64d158caaac1ecd0503baebd01ecca58c3d2164cdfa20d05c7547b0ff";
+      sha256 = "f62ec62d303e36b30ec4daed4d6e76de6519fc39ed0c805ddcf8c0dc7da1b60c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/bn/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/bn/firefox-111.0.1.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "22e1e3b0ebe4500e37bb257a6433a4dd0ec68d7d03f49984b120adf8d7465566";
+      sha256 = "3a6f4ed95eaa7d8205772d7109ca694c8617a0f0ea541e4970bdd9c7508d1f91";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/br/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/br/firefox-111.0.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "c4586afd90bc359ed3665595b7959be7f39dd19720bf130fb9a45ff328e09b6c";
+      sha256 = "d2ad4fba0244e01e19ee46b53ccd287df74d5a031b0c9358a8befbd19cd2eea2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/bs/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/bs/firefox-111.0.1.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "cffde25504eab63469568a4f17c725e496ff08646f709c4fd2dbfb025bca2ae2";
+      sha256 = "d1449c8b142f4a367af79a072b21f2999df128d9f720e11e1e6be293d40792d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ca-valencia/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ca-valencia/firefox-111.0.1.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "eb14e88f47e3113170f9853ae9c679761fb4510a942787a18793d40da48dc2fb";
+      sha256 = "1e0b294a10946eed7e3b0d3956fdf53782fbae2549a652ddecbc223cfd7c1470";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ca/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ca/firefox-111.0.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "44b8f7cfab0007adeefaa2d5aada49e2e4aebd9c5170e2975b2ed6489c7d9bf0";
+      sha256 = "2f610717623248a73495ff48c27b3e86cca6bd5b59496e010cd19753ea518482";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/cak/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/cak/firefox-111.0.1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "b3a9ade3967383195429851d59af018b9b95ddb15d5f37d666dcdec1d80e4ddd";
+      sha256 = "97a92f3d2533121ea2e400555518233d1b59093aabf86ffd292884028a888a4c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/cs/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/cs/firefox-111.0.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "ad3498ed7526abffc0e6102427a196d8fd5a476fb4e86cdb54a07ca688ca6f43";
+      sha256 = "c6029a1228543ef738d9b918c6f49d51ac3398c0a4cedaa0a6ebebdd721fffb5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/cy/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/cy/firefox-111.0.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "dff10cdd1f5a167f855aeea40d80a5f60fc10b86820e7fd4e2d5855334060190";
+      sha256 = "6e7be2fb7f8a6fa2fff64e38cbac748e3beff14ecc15fcf010c46b7dfb7fe38e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/da/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/da/firefox-111.0.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "5434f2e9cf31d4d8d53f11b3750ed5d8694ba447b10bee6f6731c336e06abc3d";
+      sha256 = "a2dd09832e3811a0bd3bfeeee0ddcdc2ce84d5b6709b990b9284477877d5f1bb";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/de/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/de/firefox-111.0.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "686676283dfb43ae880ed92ae107800fdf486dc0e3e2331a87d60e3411fc3175";
+      sha256 = "b0445b5440a512f7dbeb72d8cb79d2ff5b86f4f730bc2400437e162a812f26ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/dsb/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/dsb/firefox-111.0.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "ea85e5accbbfae39c8bac5c6eef0b501961270e6bd1a813b408c802d1f6575ae";
+      sha256 = "f2d93f7d93a4180f8ea76090ea56d25aa41931ffef01c7dc320adeeba7c9b7e7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/el/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/el/firefox-111.0.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "f836f8905729374d19cb9b1a8b27db7f13d42bd96606c563e1ec9d372a7d12b0";
+      sha256 = "52caf93cbcb555adaab82659c0a4236fb64fb505a2cdbc1eee6885a6786d146a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/en-CA/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/en-CA/firefox-111.0.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "a9f5c3602e09e345d9e0ec2b0f2f675f585279d8157461b42dd98836b40c28f3";
+      sha256 = "84e937e4a2eb48f3d54579cdb83ddd6ae91fdc1f642bf61fff08ccd34003458f";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/en-GB/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/en-GB/firefox-111.0.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "31d555c5410cb0d1676bc37fec0aea26b1693fd83360d1e630d5857e40bcaecd";
+      sha256 = "0a7718421cb9cda64a2ca7fadb56e5a718eff6a267f49485b89f97880d589fd4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/en-US/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/en-US/firefox-111.0.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "ff03b4429f4d1000a8caf9d7958600d03322874ccfe1b51ccf44fd53c7ecad18";
+      sha256 = "d857a16de03b072b802b6acd2528f1d7ec931379159faf0a0f6f92fa113c40ee";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/eo/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/eo/firefox-111.0.1.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "aea289bfe913a19d7ef6a29f5209c5b4849cd3c4383bead02f359743b35ab774";
+      sha256 = "6ea0a9850d0e228c4ee1e704ed72efe7dc5129ed3af32cd459c2ec0c5ad87fdf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/es-AR/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/es-AR/firefox-111.0.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "162c65c62dca5666230b6c8c5b312e2c5a37230ff26919176cd830b8b7ca3ddd";
+      sha256 = "085d8decae199ad5a958d6b517a3a3542fb021fb4f95fd383ee27d1bee91e4d2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/es-CL/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/es-CL/firefox-111.0.1.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "8b1d4166fd40f0dfc21ee09b81d6d6e6b083b3bd8160eb5567d5e97229c95c63";
+      sha256 = "7e0e91299815d87b8f440e40a85e59bd9a5117e6814abbc48eba2176587adecc";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/es-ES/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/es-ES/firefox-111.0.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "15b1af9175050f45d4c8cc1607a13d154f7bf7c933e5819e1ffefee260a72ac6";
+      sha256 = "fb558a9d460af1c18adba0a04ca4ab8fedc1216f8088b41c60b66fbbd5ae639d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/es-MX/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/es-MX/firefox-111.0.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "8d6354b7aa8d07f88533b9db8e11eea17248312dfd043e87292277539b2fece7";
+      sha256 = "c35c80fbb2d7329dd3bd3e305f7b7343139b1689914835f0f4ab5cc93db7f9b2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/et/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/et/firefox-111.0.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "e3e8437db0576c5b12067d9f862a7313d9354f94661dd84e86b2b23f1fb442d0";
+      sha256 = "edc572e3c3174b6729bd67fccecfae711904312a3b3ea6189b1e289ae0decf22";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/eu/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/eu/firefox-111.0.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "8e360e7afc70fc2cd069d414aecb02591af750b3101203593556b76a655b2bc9";
+      sha256 = "a0cbde53721106f05a702af6f6355f7d476918ad7b6119a89e528685c8ea9ef9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/fa/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/fa/firefox-111.0.1.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "1d416ebc39f76066c67b645f057cc076d527bb5964926c0c6f2bcd31a721c331";
+      sha256 = "4322e2b0365cc61f02fa4667879216be1811c4671bea9ffe7c87900780517646";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ff/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ff/firefox-111.0.1.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "50b1a48c8def2ce403f4a05d69768511f26a66b1d3f3464ad1a6a8c512a461f2";
+      sha256 = "721ff01f42c10990877d75750f9e8e842d775b827f94683e5043906c339ac6e5";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/fi/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/fi/firefox-111.0.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "0e1c6d46e481613573b57ea94276582d986583295850f460f7803096d5ee8bb2";
+      sha256 = "a3a5c66f3024906c156ce212ef429d674b2aeff0b332fdb1a1812509a701e3ea";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/fr/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/fr/firefox-111.0.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "7c39efc4c8ffd14dfbcf99fc678e22864821a549d2a3e1e8d70ad1f55d99977e";
+      sha256 = "34ee8c6d655e09196544684c7699abb103be376860b950d7f0996d07978015ba";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/fur/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/fur/firefox-111.0.1.tar.bz2";
       locale = "fur";
       arch = "linux-i686";
-      sha256 = "5bb52cccc0882b164b358d4151963b244870e89e4b9d483f9dbfc42a52266eda";
+      sha256 = "c6f893afff5d8dfe9279f1b92dd6f02e4e4081fcbf589db12b46b44bc84d7171";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/fy-NL/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/fy-NL/firefox-111.0.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "1bc572fde073998c45642bcbd3f6fdf263d90696d6b26a16554eecca5c12da3a";
+      sha256 = "830a780a5c1b6b8f60590ead7a9ac6bec10e07b2934a0532cd77132426dceb37";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ga-IE/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ga-IE/firefox-111.0.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "ab4e7244539e4c74a5ed9d4c1f5c940d4b19ec50add3cdfd8f4ae82355018631";
+      sha256 = "72bf033f4168cb7905971582ad32de38bf957c535d6d638abbd77f03a573c75e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/gd/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/gd/firefox-111.0.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "aacef4c1c494b5cdb03ad1d304c3e3846202a2bae88a2a518e09ead717ff93f1";
+      sha256 = "8c5cdc6798bfb82748986d5c6c04d1a91f21510cef53093970d635e6d460e9f9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/gl/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/gl/firefox-111.0.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "92a6211f9c5f589e3cccf9e5251ae1830290404bf5e798bf2e976e123cf30a25";
+      sha256 = "4dc7e306027e1305798f7df3cfe55c1dd54626e4c8d14a2e072cfbbf0968ce87";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/gn/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/gn/firefox-111.0.1.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "6d730a0a907776ac9d7ef0f2307a1c50580e2bc3ac18e1632acf0df0bf71431e";
+      sha256 = "ede50b9d975a314d1306d8d53cc1f860f60f085d3fadaf08d26041fedf167f18";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/gu-IN/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/gu-IN/firefox-111.0.1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "73b85bb939fc9b060609c388af4fdfec0d688b3cf049aa3f367767a28338de95";
+      sha256 = "13de190cdab7b6af3773f9326af856822668cf4a0e60163942d1297a91e65ff7";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/he/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/he/firefox-111.0.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "daddd138196c51c1c1cc7d078f6ca7fd5d1ef79c98cd837ff77c6c0bb792fec1";
+      sha256 = "a7d3bd7a4951b13458957db29d76d0e3db0a04ceb9e8c2af4ce2a85e6a676c5a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/hi-IN/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/hi-IN/firefox-111.0.1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "0b24705e24c7bc567e8906ff249c18156a563c131f5839942f5de95bf6681498";
+      sha256 = "3946158cd33859b9a33e4c4cb1ea82fc3435be819f84f72828143ab09d82f63e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/hr/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/hr/firefox-111.0.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "1f1e422623a33e3f1dd9730f39aa556afbd52cf3a262983142fca62e70aa5b33";
+      sha256 = "1f0a43f7f17037d00a87d5604135fa47909873ce763e660da89fb042bdf4c041";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/hsb/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/hsb/firefox-111.0.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "5a2395f3fba9c8cb958e3582b5c310ff219a61aef237962be2c0c704f4f3841e";
+      sha256 = "1c1b18be27f08d262dc4742191d988bb41de9310f1ec0cb594e515dd2dd18423";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/hu/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/hu/firefox-111.0.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "a4f7cacf5266ab6e9d01828bad5449d678ac02d8ed2afe7e757e8969551ee522";
+      sha256 = "23fe4493b1204043c6d63e7f4b94bd3c7aa63bb74bff4ec10a4d49191130b75a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/hy-AM/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/hy-AM/firefox-111.0.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "e096ea3bdba3feef50a7c1306158d19d726cacbad0ecf1fbbc816a47e9fc0a99";
+      sha256 = "cac5ace4bbcb2b3a68c6b39e0245dd74863f5782d25f40d812447aaa46feb19c";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ia/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ia/firefox-111.0.1.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "1f80532dc5fe6befad5e97c1d716b04afd1c3219ab2c339bc160270e4a79720b";
+      sha256 = "b0217c2bd618ad60cf7fcaf7daea0fad9c0ac1aa131c9b6018adbeed085aa645";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/id/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/id/firefox-111.0.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "ca770c4785387cc9cc49e0889f713a9b338c37aedd2786ab3ed3d2c31c750fc5";
+      sha256 = "e69960d1d33c7a7c7ac8532942c8df19c36b8acd38ea9d1fa64f39daf56cb7cd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/is/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/is/firefox-111.0.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "d7ba61e087082abeec88ec86299820600228ab106a8716b7688dad521520a8a1";
+      sha256 = "893ffc7f282f868fefbe90998ab661369544cc2fda94cd8aa35e1df28c174862";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/it/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/it/firefox-111.0.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "c1e9969129b81006b20be4e18f2367b371f979d9e4698baf93fd98519da7b0b3";
+      sha256 = "ac00b01a1eb13feb0391a7b0305eabfbcfa6bfedcaf6f0da81546cc344779e9e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ja/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ja/firefox-111.0.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "29024317efc65466dd87985202a85e1a3594244c341749c7eea2d41228629583";
+      sha256 = "e3e09ce43f2ec940f2ce7cfcc1e9c3977ca32373666e021616a3c1a70511c672";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ka/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ka/firefox-111.0.1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "ccfbf252806d78b47cd033d565a731cc9fed7e7909f89403b974b2569b10628a";
+      sha256 = "27981ed3f705a0b8680b34315cebe744dc642a7306c8b951a08034cf06724090";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/kab/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/kab/firefox-111.0.1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "f8ca6a0101e895e5c323f9fa79863c18e680c9ffbbcc964d0e1768d6258bac51";
+      sha256 = "c0d39ef2095fe95a8fe8bbadf2f8436a7d8f3fb35f0f5091e2a72228990a7898";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/kk/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/kk/firefox-111.0.1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "675272a6ddecd1cb6467b7a1ff3b5483d4d142ad965c50583fa1db1619a811ca";
+      sha256 = "36cb0966178e92647eecba2c7c716f45216f8e7bfa9e25ecb7a5a1744088c598";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/km/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/km/firefox-111.0.1.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "a268bbc5ddc70406bca694c12682b58aa62762379d8ebbe1d4c0c2373d1c380b";
+      sha256 = "a8e512fea6bd6b57813b47829fc89fab79adaa0fcb49d5f1f35157282b9d1a0a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/kn/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/kn/firefox-111.0.1.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "34803e76b443991a428c28c0c505c441278833afd4fc2dcbba8c94126611cd26";
+      sha256 = "67ec72c4f961c8f29401d925b741f86f3778cb9fb185b1bd14c1e0bec67327a9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ko/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ko/firefox-111.0.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "e9b75fd75e50599a80a7285e6ad0887895f9b74b111d646ea1099b3a9789e1cf";
+      sha256 = "4a1c5e777ad9a965029de9abeec12775923b39b9bf9c73cc7a2395d5a6163b96";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/lij/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/lij/firefox-111.0.1.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "005d6bb5d08fda7bbddc59c2cdeec283cb17f714ca3e6693abab461ef237f21a";
+      sha256 = "acb60e57696496263914ac308229c1434047d34f64711098a779ab72d03674d9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/lt/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/lt/firefox-111.0.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "dfea7e7644c1a69b129b23242cce0f3ea3d9587035d2ec0a33550528ecfdd7ed";
+      sha256 = "10982738a19da19346a343aa5b1ec82fa040b838cad52a3bb302cbe474895ca0";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/lv/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/lv/firefox-111.0.1.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "1ecb7618776760060481535641b9905850d8a66d2496fc332a326bf216da1461";
+      sha256 = "5e654f88c3a18e68d97996355ad025573899da7550a089dcbf525158624afe88";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/mk/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/mk/firefox-111.0.1.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "2708e52d1d6c047ec6ac9b98a714056a50e3e9c5f5f15855b13ecfa71e8b583e";
+      sha256 = "25b0cddd4efd914fcf157d3ccb53e814f410e9430915a35b82e43fcd335c5b05";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/mr/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/mr/firefox-111.0.1.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "1cb1899d4638c7db3a52c44020f4ed7b3a81711bdf045b2f022c3ef9bb16883f";
+      sha256 = "3af959edb7f7a200d6ae4ba2aaf4c45e85a96c02cc8c2accca40b283eb27c299";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ms/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ms/firefox-111.0.1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "abdb0ff3cf77146be3487c0009e645b916ef40aac8ef7b263f726988fcc5e536";
+      sha256 = "b229119cd8564b5044c9da1003cc135bfef8b16fab117108cf175b4fe89ad76e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/my/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/my/firefox-111.0.1.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "ade7e016e889fded2ac53ddd53aa74ff342eec3d09c72251194565398574972b";
+      sha256 = "f52aa2f21139e18fc5550381d2f0a7980b181001491cd3daf35696c8fb1306f9";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/nb-NO/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/nb-NO/firefox-111.0.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "ec75b1c853699624de4f9c3f1457aa39af8e1f3dc5cce9ded36c04b838bee02e";
+      sha256 = "25bb3b0e60c9724ce6170bcd200be2f1ea09892e0c42e7e4629875d5c71e1b73";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ne-NP/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ne-NP/firefox-111.0.1.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "d6a04cdd3d8e0408862969521af28a64d62c3a73f60a4a9b28d935abddd239c8";
+      sha256 = "e28a206d92658e66fbab650fd394fb28947b46d1f3d18c538cbb37d33340ce54";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/nl/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/nl/firefox-111.0.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "c63738bc818d0b9db1c445b96259f198a0747ab68a8a89fe7d6165a95c731db5";
+      sha256 = "de91b7f4b96ad277bbd92ac41353aa42e972b95a588846f34b29402dac03e4a2";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/nn-NO/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/nn-NO/firefox-111.0.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "d63d9e431ba6f7c9f1be51bdaf84a3e819d3660ac71a69c01cbbe65b025469fe";
+      sha256 = "bfdcedb2e9caeb8c83c0a8a1c462961842284d2d2a56cf91d1fee807300e3b22";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/oc/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/oc/firefox-111.0.1.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "5eabe6b94c56df1371ce2ecafb6812d87c167aa4204be40bb277164f5c0ab2c8";
+      sha256 = "b40a4b06c4f12a172453d41b20cc51d54a0869babb80c359984f34a2c44900c6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/pa-IN/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/pa-IN/firefox-111.0.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "0f85bd21115fa09e1a26b3b811ded0d4974a6d99fb47a323940d39fb3e289955";
+      sha256 = "1b40f46895055e6c3d5d956f5ca3b34ea7e7d73658a7beb3306fb63865504f20";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/pl/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/pl/firefox-111.0.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "29c3a67c89c462863d3ff25681ea4f80231417141e32939d712b4f68fc565539";
+      sha256 = "78af19869ce30f66077ac160a97932800a3711bbfd3fb6847c3fb747d445d1dd";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/pt-BR/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/pt-BR/firefox-111.0.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "c7206f5979e904bf27ca77ca6998e3cc0220c698ff41c2cf647e0421f75645f0";
+      sha256 = "dc24ba9da33fa6b18824ff9ab0026fdca7b19af44e8066a35c03c68b58f62708";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/pt-PT/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/pt-PT/firefox-111.0.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "8d9c7b5e5869615199ed71deea9696369e7a1a4b46d067c295c940baea449944";
+      sha256 = "355c54ad8e4b1576574b7579d9fee9fe13e528ca8bf69185dd8d9fb2f4c2337a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/rm/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/rm/firefox-111.0.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "77262880e59bd51d3f5dbff95b0deaddda9e32f6b10b2bb53b96a40c0c3595cc";
+      sha256 = "c4ab238e9284cb3dc3c338ccc67f140a1cdb3b3a7ab8b2382a1fa159da548184";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ro/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ro/firefox-111.0.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "47211ad1e395f45bcdd95eb2ad648d63fda25b7eac6a86aa43c40798530ee215";
+      sha256 = "2959e44d2ce1a8529465246ef016c188ed8b6b42adfb7f364987a530200ac578";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ru/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ru/firefox-111.0.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "8ab2cbb516d649c130e6c582a031d39f0adfb18dfd3753a4c5e8a7a45075fbd7";
+      sha256 = "21c41f61cbe1685ee0a042f63957c492da59a8633e8cc3b11d02fc24d78c8423";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/sc/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sc/firefox-111.0.1.tar.bz2";
       locale = "sc";
       arch = "linux-i686";
-      sha256 = "afe2f0e0525a0baff3072d72122ba40526081c4d77982061d5d67d2af073a296";
+      sha256 = "0518d1a0465d8a7b02ae64403e44609b69c92f4411621f3d679bf84615baae40";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/sco/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sco/firefox-111.0.1.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "81b34620ed7a6b4e1e138faf8d239ac019ab419f859a65f8a92fdc74381b655c";
+      sha256 = "241f6513370f5d4f5fd107ae5dcf8e6c3f7d108fcf4836b26a7d2f1d7e2d59ac";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/si/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/si/firefox-111.0.1.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "65cd1ac50ab9946024f301ebb20a1b31f9ae782d151e02adc3598a32cdc42f07";
+      sha256 = "4beb66736c4f6060ec58923e70428fa57867ac63d5370b2684aabc869736edcf";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/sk/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sk/firefox-111.0.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "0f589bc376f0eb1686f101efb9fd5da988a171f7938b974061d98fdcc4414877";
+      sha256 = "9ed77e6b854f6eef491969e57383dafd1e33425ccf18e4ba6544e801c92afd5d";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/sl/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sl/firefox-111.0.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "a5577a8fe2acb01e4855d5452ba3dc04373ae2d58774bb6d5b5e5e7c72307508";
+      sha256 = "913842241c2d4751126131d60e7e1127ebfad6a0cdee626a8fad9fd704d63311";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/son/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/son/firefox-111.0.1.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "1a7de2a74ee7cec14e4d645190b203ee0b7a99e1960a370ad08cea23699ba116";
+      sha256 = "de585f93a911b7c4ce86f8ca9c583b87484829e0ee07f8a8d050f911c2b25456";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/sq/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sq/firefox-111.0.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "1a96908eb887cc9cd610d8c8e04e4db63ca01f1ea6c18c85c642c0d8104ec7d5";
+      sha256 = "54bbdd8faa7300ec1447672c47ef041f7bde18e0a4a171cb85d0341f20565d03";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/sr/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sr/firefox-111.0.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "b3c149d0cb0cdb964dbee5520b6b10233ea76c566ad49d2399619bcc0899cdac";
+      sha256 = "8daeb4d77fa9125edbe9adb953ca529e603330d3f0fa0ca1eeef7db10a3dbb44";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/sv-SE/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sv-SE/firefox-111.0.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "07ef7c75ee2b53c9a219b4d825a9abb5a3f00deae8b6ed248d3caae3ebd88336";
+      sha256 = "9ede3595b3d8e44731a71f1985fa0c1d11d4bf2229ab33ef1cb30123ef3ffb57";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/szl/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/szl/firefox-111.0.1.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "111c95b0fffc5850fab54b92339c7397ef12b3a0ea084c22570ea9488f8053f9";
+      sha256 = "8eee20c681aad5cfb5d7cf2d05fb4a37b6c6cd6c3126956a5a9b27f3ad1d1081";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ta/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ta/firefox-111.0.1.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "921907453ad0d590142b71327202efe88736975e23abf96960de27f6577a77bd";
+      sha256 = "63465227c8cadbac1c891315e365a42f79570de8406dc74c0aedc0fabfd2c017";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/te/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/te/firefox-111.0.1.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "a7a11c969f38bbcc8cf41d208c87d528c94c1808fd1e58d8878a730acd0ec831";
+      sha256 = "176cf25debf05a5f31e20a34ae6d4d7e24774475b3addc6d9af18b7e267b2d2e";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/th/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/th/firefox-111.0.1.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "4f3d560492b1e7e484edd39e281324007df211e836228e953fdda2e025da2de3";
+      sha256 = "0ccf17d4dea55e151178571865d5b00b4e0043a4e1336a943e471e458b47aa31";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/tl/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/tl/firefox-111.0.1.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "6df020e1ddf18899f28cf5a1305a7c6720bc3e3e48b9685ef849c6277df0edbf";
+      sha256 = "e9a3d66de74a5c25ae630aeea709abb301ec1ea527d694bf72ffd89fc7c9f247";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/tr/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/tr/firefox-111.0.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "5cb90ccdae0d3a5de79767d471fa3f753f7f8eb3941caee7b99ca6b2a5e8e5fd";
+      sha256 = "f154888cff96484b0918fb29f32237d53099a0ecaf38b62499444a9f5f1eb2ce";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/trs/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/trs/firefox-111.0.1.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "682c8ac7c88003675f2e8964b5d0c4e09b1596b67247b4bc4c05a79a37560ede";
+      sha256 = "0544708695fd913b20806443ec4efc3f80ba7d258a382cd9e8e18f4c109ea31b";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/uk/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/uk/firefox-111.0.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "badf22eb39bc44a712af0260b3115b5b40aead85a22bbe723f183ec597e974d9";
+      sha256 = "0bc4e807f8dd53c3bcc55e9c5aefd079ed14ff5f34c4d1eea497da755e0a80c6";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/ur/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ur/firefox-111.0.1.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "d9d1452f33314c14090b3205b3e91991a82f337a46f554659daec4f75d057365";
+      sha256 = "dd2550e4644f0dad92b19e236b3a83e45770316d7959f63c650c720f44e5f4ed";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/uz/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/uz/firefox-111.0.1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "0cc2508bc15f6329c1cdced01c892332d003280650eb3d713e3cefe412b5e8b6";
+      sha256 = "dda2c6c00de2b27d46e407762a553b40cd1c1dc1d912b2905e069a44604f0b6a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/vi/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/vi/firefox-111.0.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "5b98a99d2139502a4dd53aef49ab2464a94e579a2c7b9a5134e41b9721bf6cf7";
+      sha256 = "a8ad1ef8998b1e123bd7117273014cfe26976fb25b0d72e64c6c49d4c9c4033a";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/xh/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/xh/firefox-111.0.1.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "5822cbb3adaeefc7f7058f4b80a78a91b2c7ad762a7bb7ee3d445aabeede8e4a";
+      sha256 = "5bb93cc12a12e71d3a943140607f3d7156843da66c36ab83826f483bcad1d8c3";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/zh-CN/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/zh-CN/firefox-111.0.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "5c427ecb9f0d8e06611f5301d704dc4ffa74aa50f588ab751d33b2cf73191816";
+      sha256 = "65155babc3a4d99f4f846a0e9fde1dced68582401f03f45474cd981395bb45d4";
     }
-    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0/linux-i686/zh-TW/firefox-111.0.tar.bz2";
+    { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/zh-TW/firefox-111.0.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "4348f3c2f563ffb8fd5e253206a934f1506c8ec0fe1f0f48b437e66eae047b69";
+      sha256 = "a53de9571d098f1b0bc5df94438bd7f3f805dba82c696b91f42ebc075da3de77";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index d8a236185809..bc4637b641a8 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -3,10 +3,10 @@
 rec {
   firefox = buildMozillaMach rec {
     pname = "firefox";
-    version = "111.0";
+    version = "111.0.1";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "cdb300fdbb2b60068b0fc10a18df587b417e484901d36f52dd174d320d3440a42b02ea000f325c5781fd8853a5171b1a5184562fb535ece90619e4c64d46bb82";
+      sha512 = "b16c9399a19cb1de2d865a023d54fbe71c23a363ea4d36cd58f41f64f7ad04bc1b9d8a8448943417516e17337e0ee2afd370c29a72b51b0947161f4ffab6935f";
     };
 
     meta = {
diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json
index a1a60ff909fc..63cf728a0cbf 100644
--- a/pkgs/applications/networking/browsers/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/librewolf/src.json
@@ -1,8 +1,8 @@
 {
-  "packageVersion": "111.0-2",
+  "packageVersion": "111.0-3",
   "source": {
-    "rev": "111.0-2",
-    "sha256": "0kz365pldyancbq029b3v0wpc1jchzywqjriy6276f1kwssyp8pr"
+    "rev": "111.0-3",
+    "sha256": "09vb9vi9rrm5y8ym21g52lrbbp6w4k6qpk9q13k0vxzf26wmwk5n"
   },
   "firefox": {
     "version": "111.0",
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 0c3bf4cd5cdc..13e0c8b8174e 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -38,8 +38,7 @@
   buildPythonApplication = if isQt6 then python3Packages.buildPythonApplication else mkDerivationWith python3Packages.buildPythonApplication;
 
   pname = "qutebrowser";
-  version = if isQt6 then "unstable-2022-09-16" else "2.5.3";
-
+  version = if isQt6 then "unstable-2023-03-19" else "2.5.3";
 in
 
 assert withMediaPlayback -> gst_all_1 != null;
@@ -49,13 +48,14 @@ buildPythonApplication {
   inherit pname version;
 
   src = if isQt6 then
-    # comes from qt6-v2 branch of upstream
+    # comes from the master branch of upstream
     # https://github.com/qutebrowser/qutebrowser/issues/7202
+    # https://github.com/qutebrowser/qutebrowser/discussions/7628
     fetchFromGitHub {
       owner = "qutebrowser";
       repo = "qutebrowser";
-      rev = "5e11e6c7d413cf5c77056ba871a545aae1cfd66a";
-      sha256 = "sha256-5HNzPO07lUQe/Q3Nb4JiS9kb9GMQ5/FqM5029vLNNWo=";
+      rev = "294e73660c1f3d1aff50843c25e2f8f7574c4332";
+      sha256 = "sha256-vXMME9vqB4C4MScT9j7lOz4Bvu5R8nHFKi+uz9mbqtg=";
     }
   # the release tarballs are different from the git checkout!
    else fetchurl {
@@ -143,6 +143,7 @@ buildPythonApplication {
       "''${qtWrapperArgs[@]}"
       --add-flags '--backend ${backend}'
       --set QUTE_QTWEBENGINE_VERSION_OVERRIDE "${lib.getVersion qtwebengine}"
+      ${lib.optionalString isQt6 ''--set QUTE_QT_WRAPPER "PyQt6"''}
       ${lib.optionalString (pipewireSupport && backend == "webengine") ''--prefix LD_LIBRARY_PATH : ${libPath}''}
       ${lib.optionalString enableWideVine ''--add-flags "--qt-flag widevine-path=${widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"''}
     )
diff --git a/pkgs/applications/networking/clash-verge/default.nix b/pkgs/applications/networking/clash-verge/default.nix
index 96c3a5a2f25f..cb1474bfebe1 100644
--- a/pkgs/applications/networking/clash-verge/default.nix
+++ b/pkgs/applications/networking/clash-verge/default.nix
@@ -7,17 +7,16 @@
 , openssl
 , webkitgtk
 , udev
-, libappindicator-gtk3
 , libayatana-appindicator
 }:
 
 stdenv.mkDerivation rec {
   pname = "clash-verge";
-  version = "1.2.3";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://github.com/zzzgydi/clash-verge/releases/download/v${version}/clash-verge_${version}_amd64.deb";
-    hash = "sha256-uiw9kcXJ4ZEu+naUbUrgN/zBYE2bSWVPmMQ+HiAP4D4=";
+    hash = "sha256-HaBr1QHU3SZix3NFEkTmMrGuk/J1dfP3Lhst79rkUl0=";
   };
 
   unpackPhase = "dpkg-deb -x $src .";
@@ -36,7 +35,6 @@ stdenv.mkDerivation rec {
 
   runtimeDependencies = [
     (lib.getLib udev)
-    libappindicator-gtk3
     libayatana-appindicator
   ];
 
diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix
index dbfcebfe6d94..a6d04ad7005e 100644
--- a/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -1,9 +1,9 @@
 { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles, stdenv }:
 
 let
-  version = "0.41.1";
-  sha256 = "0nrwhq336n0aj1c51difgxk9an8d1j4yfkxn9sgzw9dq50rrrinf";
-  manifestsSha256 = "1rrmdbaian8wskcyaa2nifp4mp4bz0nqgwz6ah5r0ywg48cfq2gm";
+  version = "0.41.2";
+  sha256 = "0c4in6k6l9kjskcapi6gap9jkbrrfd106z6nbs48afr30cv2wp24";
+  manifestsSha256 = "0kc9s5289s5b1slk2w3sr28yk9hg3lmrpy00mw3im3k6aqgrk9j0";
 
   manifests = fetchzip {
     url =
@@ -23,13 +23,14 @@ in buildGoModule rec {
     inherit sha256;
   };
 
-  vendorSha256 = "sha256-Oh1FBTHkICQZ79qf8XCL7ifi5Wd3jrIDupBKzYo+AEA=";
+  vendorSha256 = "sha256-ez4yaFZ5JROdu9boN5wI/XGMqLo8OKW6b0FZsJeFw4w=";
 
   postUnpack = ''
     cp -r ${manifests} source/cmd/flux/manifests
-  '';
 
-  patches = [ ./patches/disable-tests-ssh_key.patch ];
+    # disable tests that require network access
+    rm source/cmd/flux/create_secret_git_test.go
+  '';
 
   ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ];
 
diff --git a/pkgs/applications/networking/cluster/fluxcd/patches/disable-tests-ssh_key.patch b/pkgs/applications/networking/cluster/fluxcd/patches/disable-tests-ssh_key.patch
deleted file mode 100644
index 3229cf333b40..000000000000
--- a/pkgs/applications/networking/cluster/fluxcd/patches/disable-tests-ssh_key.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- flux/cmd/flux/create_secret_git_test.go.orig	2021-12-07 13:46:21.196278468 +0100
-+++ flux/cmd/flux/create_secret_git_test.go	2021-12-07 13:49:51.668566955 +0100
-@@ -20,16 +20,6 @@
- 			args:   "create secret git podinfo-auth --url=https://github.com/stefanprodan/podinfo --username=my-username --password=my-password --namespace=my-namespace --export",
- 			assert: assertGoldenFile("./testdata/create_secret/git/secret-git-basic.yaml"),
- 		},
--		{
--			name:   "ssh key",
--			args:   "create secret git podinfo-auth --url=ssh://git@github.com/stefanprodan/podinfo --private-key-file=./testdata/create_secret/git/ecdsa.private --namespace=my-namespace --export",
--			assert: assertGoldenFile("testdata/create_secret/git/git-ssh-secret.yaml"),
--		},
--		{
--			name:   "ssh key with password",
--			args:   "create secret git podinfo-auth --url=ssh://git@github.com/stefanprodan/podinfo --private-key-file=./testdata/create_secret/git/ecdsa-password.private --password=password --namespace=my-namespace --export",
--			assert: assertGoldenFile("testdata/create_secret/git/git-ssh-secret-password.yaml"),
--		},
- 	}
- 
- 	for _, tt := range tests {
diff --git a/pkgs/applications/networking/cluster/k3s/1_23/default.nix b/pkgs/applications/networking/cluster/k3s/1_23/default.nix
index 3abe8c675539..d19ae321ad65 100644
--- a/pkgs/applications/networking/cluster/k3s/1_23/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/1_23/default.nix
@@ -22,6 +22,7 @@
 , fetchgit
 , zstd
 , yq-go
+, sqlite
 , nixosTests
 , k3s
 , pkgsBuildBuild
@@ -174,11 +175,13 @@ let
     vendorSha256 = k3sVendorSha256;
 
     nativeBuildInputs = [ pkg-config ];
-    buildInputs = [ libseccomp ];
+    buildInputs = [ libseccomp sqlite.dev ];
 
     subPackages = [ "cmd/server" ];
     ldflags = versionldflags;
 
+    tags = [ "libsqlite3" "linux" ];
+
     # create the multicall symlinks for k3s
     postInstall = ''
       mv $out/bin/server $out/bin/k3s
diff --git a/pkgs/applications/networking/cluster/k3s/1_24/default.nix b/pkgs/applications/networking/cluster/k3s/1_24/default.nix
index 2ff642f35111..8ead6e5fc82a 100644
--- a/pkgs/applications/networking/cluster/k3s/1_24/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/1_24/default.nix
@@ -22,6 +22,7 @@
 , fetchgit
 , zstd
 , yq-go
+, sqlite
 , nixosTests
 , k3s
 , pkgsBuildBuild
@@ -172,11 +173,13 @@ let
     vendorSha256 = k3sVendorSha256;
 
     nativeBuildInputs = [ pkg-config ];
-    buildInputs = [ libseccomp ];
+    buildInputs = [ libseccomp sqlite.dev ];
 
     subPackages = [ "cmd/server" ];
     ldflags = versionldflags;
 
+    tags = [ "libsqlite3" "linux" ];
+
     # create the multicall symlinks for k3s
     postInstall = ''
       mv $out/bin/server $out/bin/k3s
diff --git a/pkgs/applications/networking/cluster/k3s/1_25/default.nix b/pkgs/applications/networking/cluster/k3s/1_25/default.nix
index 5b5fc097e77d..25234f1d4423 100644
--- a/pkgs/applications/networking/cluster/k3s/1_25/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/1_25/default.nix
@@ -22,6 +22,7 @@
 , fetchgit
 , zstd
 , yq-go
+, sqlite
 , nixosTests
 , pkgsBuildBuild
 , k3s
@@ -171,11 +172,13 @@ let
     vendorSha256 = k3sVendorSha256;
 
     nativeBuildInputs = [ pkg-config ];
-    buildInputs = [ libseccomp ];
+    buildInputs = [ libseccomp sqlite.dev ];
 
     subPackages = [ "cmd/server" ];
     ldflags = versionldflags;
 
+    tags = [ "libsqlite3" "linux" ];
+
     # create the multicall symlinks for k3s
     postInstall = ''
       mv $out/bin/server $out/bin/k3s
diff --git a/pkgs/applications/networking/cluster/k3s/1_26/default.nix b/pkgs/applications/networking/cluster/k3s/1_26/default.nix
index ecd8b4005652..b52cb70ca930 100644
--- a/pkgs/applications/networking/cluster/k3s/1_26/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/1_26/default.nix
@@ -22,6 +22,7 @@
 , fetchgit
 , zstd
 , yq-go
+, sqlite
 , nixosTests
 , pkgsBuildBuild
 }:
@@ -175,11 +176,13 @@ let
     vendorSha256 = k3sVendorSha256;
 
     nativeBuildInputs = [ pkg-config ];
-    buildInputs = [ libseccomp ];
+    buildInputs = [ libseccomp sqlite.dev ];
 
     subPackages = [ "cmd/server" ];
     ldflags = versionldflags;
 
+    tags = [ "libsqlite3" "linux" ];
+
     # create the multicall symlinks for k3s
     postInstall = ''
       mv $out/bin/server $out/bin/k3s
diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix
index 555af740b926..107117c08b89 100644
--- a/pkgs/applications/networking/cluster/kops/default.nix
+++ b/pkgs/applications/networking/cluster/kops/default.nix
@@ -49,21 +49,21 @@ in
 rec {
   mkKops = generic;
 
-  kops_1_23 = mkKops rec {
-    version = "1.23.4";
-    sha256 = "sha256-hUj/kUyaqo8q3SJTkd5+9Ld8kfE8wCYNJ2qIATjXqhU=";
-    rev = "v${version}";
-  };
-
   kops_1_24 = mkKops rec {
-    version = "1.24.3";
-    sha256 = "sha256-o84060P2aHTIm61lSkz2/GqzYd2NYk1zKgGdNaHlWfA=";
+    version = "1.24.5";
+    sha256 = "sha256-U5OSiU0t2gyvyNd07y68Fb+HaXp5wQN4t0CBPOOMd/M=";
     rev = "v${version}";
   };
 
   kops_1_25 = mkKops rec {
-    version = "1.25.3";
+    version = "1.25.4";
     sha256 = "sha256-Q40d62D+H7CpLmrjweCy75U3LgnHEV2pFZs2Ze+koqo=";
     rev = "v${version}";
   };
+
+  kops_1_26 = mkKops rec {
+    version = "1.26.2";
+    sha256 = "sha256-PY/dcKyciPg3OyUPeBwYed6ADprpI2/+8d8SuGTXWqc=";
+    rev = "v${version}";
+  };
 }
diff --git a/pkgs/applications/networking/cluster/kubectl-gadget/default.nix b/pkgs/applications/networking/cluster/kubectl-gadget/default.nix
new file mode 100644
index 000000000000..f6642588a939
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubectl-gadget/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubectl-gadget";
+  version = "0.14.0";
+
+  src = fetchFromGitHub {
+    owner = "inspektor-gadget";
+    repo = "inspektor-gadget";
+    rev = "v${version}";
+    hash = "sha256:16i9biyvzkpgxyfb41afaarnlm59vy02nspln5zq69prg6mp8rwa";
+  };
+
+  vendorHash = "sha256-Kj8gP5393++nPeX38TX6duB9OO/ql7hpRA5gTTtTl+M=";
+
+  CGO_ENABLED = 0;
+
+  ldflags = [
+    "-X main.version=v${version}"
+  ];
+
+  subPackages = [ "cmd/kubectl-gadget" ];
+
+  meta = with lib; {
+    description = "A collection of gadgets for troubleshooting Kubernetes applications using eBPF";
+    homepage = "https://inspektor-gadget.io";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ kranurag7 ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index c17c6f81438d..90fe28eee72c 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -28,13 +28,13 @@
     "vendorHash": "sha256-jK7JuARpoxq7hvq5+vTtUwcYot0YqlOZdtDwq4IqKvk="
   },
   "aiven": {
-    "hash": "sha256-unOLrWai4oMd+1Jc+s6OHLEZLew7HM+zVyZkIprBN7k=",
+    "hash": "sha256-wVgfT/1o5Hz7xbX3OOfjF2P5bhV7kPxnXZOU/3erRpk=",
     "homepage": "https://registry.terraform.io/providers/aiven/aiven",
     "owner": "aiven",
     "repo": "terraform-provider-aiven",
-    "rev": "v4.1.1",
+    "rev": "v4.1.3",
     "spdx": "MIT",
-    "vendorHash": "sha256-VAYCx0DHG+J8zzYFP2UyZ+W6cOgi8G+PQktEBOWbjSk="
+    "vendorHash": "sha256-wz1Wy/4GI8/Wlu828RX7OE+XJHzCS/X45tW3Jb7Tx3E="
   },
   "akamai": {
     "hash": "sha256-j9KQWgcBjZiQrWjRdhQp82GawF/U6Y469MKN5V2R6xU=",
@@ -73,13 +73,13 @@
     "vendorHash": "sha256-DqAHkNxfI1txtW9PadHzgWuRCiuV/CVqq/qba+e0O7M="
   },
   "argocd": {
-    "hash": "sha256-FDI/kmgTWVhxJcy3ss8VABntOXJAIDIcz4cB6WtJd2Y=",
+    "hash": "sha256-nxNZ0W8tcnnUhqf2S8tM6CvupYS4ALamYg3zYZQScA8=",
     "homepage": "https://registry.terraform.io/providers/oboukili/argocd",
     "owner": "oboukili",
     "repo": "terraform-provider-argocd",
-    "rev": "v4.3.0",
+    "rev": "v5.0.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-99PwwxVHfRGC0QCQGhifRzqWFOHZ1R7Ge2ou7OjiggQ="
+    "vendorHash": "sha256-KgEX0h+WgcVjMMgNb5QJJNQjqAxQ8ATolVXZBro+adQ="
   },
   "auth0": {
     "hash": "sha256-y2pjk+rSLAM7H4XjwvwZSNFW4+9EhN3fb01cml6RTb0=",
@@ -173,13 +173,13 @@
     "vendorHash": "sha256-rtPbHItqsgHoHs85QO6Uix2yvJkHE6B2XYMOdcJvoGc="
   },
   "brightbox": {
-    "hash": "sha256-YmgzzDLNJg7zm8smboI0gE2kOgjb2RwPf5v1CbzgvGA=",
+    "hash": "sha256-e4WvQKtf6zVEZ74c+lE3ZkbX24rPazp8MrJCNQDTz2c=",
     "homepage": "https://registry.terraform.io/providers/brightbox/brightbox",
     "owner": "brightbox",
     "repo": "terraform-provider-brightbox",
-    "rev": "v3.2.1",
+    "rev": "v3.3.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-IiP1LvAX8fknB56gJoI75kGGkRIIoSfpmPkoTxujVDU="
+    "vendorHash": "sha256-dm+2SseBeS49/QoepRwJ1VFwPCtU+6VymvyEH/sLkvI="
   },
   "buildkite": {
     "hash": "sha256-H9kVHGnIzOHViTAuJnLJqcxDjSRXVqyKBAFfOd8fkHo=",
@@ -192,13 +192,13 @@
     "vendorHash": "sha256-C7bm9wDNEO7fJuqssUxQ4t9poVkPkKd8MU7S9MJTOW4="
   },
   "checkly": {
-    "hash": "sha256-LhqdFNTc0RdKmivHI6CnBPmtMW8Sml+5MT8ZjNA4rLY=",
+    "hash": "sha256-tdimESlkfRO/kdA6JOX72vQNXFLJZ9VKwPRxsJo5WFI=",
     "homepage": "https://registry.terraform.io/providers/checkly/checkly",
     "owner": "checkly",
     "repo": "terraform-provider-checkly",
-    "rev": "v1.6.4",
+    "rev": "v1.6.5",
     "spdx": null,
-    "vendorHash": "sha256-63M0cOD5QodGMFK0GrxaJsvVFVHXDS5HdgTv4sOmaBA="
+    "vendorHash": "sha256-AFmQU1+dh6HPYaTLX54egmP57mITJ/lVQq8SJ9+vXLY="
   },
   "ciscoasa": {
     "hash": "sha256-xzc44FEy2MPo51Faq/VFwg411JK9e0kQucpt0vdN8yg=",
@@ -219,13 +219,13 @@
     "vendorHash": "sha256-V5nI7B45VJb7j7AoPrKQknJbVW5C9oyDs9q2u8LXD+M="
   },
   "cloudflare": {
-    "hash": "sha256-LBMFszTXxiK1ZvqP6VjSCWk06/IVbJV9yEGkn6olM6k=",
+    "hash": "sha256-jf2NAhiavSWsKTRIJF8Ypm7tobzvTlESKEkDRre4ZVo=",
     "homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
     "owner": "cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v4.1.0",
+    "rev": "v4.2.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-ofuLOrJSztgwtohDoZdgd9DMJSK77z93L2NlqO5bmCM="
+    "vendorHash": "sha256-9YmvaKPZVu+Fi0zlmJbKcU2iw2WUdzZJzgWPfkI1C24="
   },
   "cloudfoundry": {
     "hash": "sha256-Js/UBblHkCkfaBVOpYFGyrleOjpNE1mo+Sf3OpXLkfM=",
@@ -283,13 +283,13 @@
     "vendorHash": "sha256-QlmVrcC1ctjAHOd7qsqc9gpqttKplEy4hlT++cFUZfM="
   },
   "datadog": {
-    "hash": "sha256-7z7NjQ6JBZOCEn8ZiyrgiAlzbzWpzNEhveydBmh841E=",
+    "hash": "sha256-rbBLyCxGB1W7VCPs1f/7PQnyvdWo+uhze6p4cucdEG0=",
     "homepage": "https://registry.terraform.io/providers/DataDog/datadog",
     "owner": "DataDog",
     "repo": "terraform-provider-datadog",
-    "rev": "v3.22.0",
+    "rev": "v3.23.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-2cv7ffNuis91C2iUaYqq5uKx7wwpi2ohwU1q7wjurbA="
+    "vendorHash": "sha256-hy4GQKhY+6bYdVAZensLU0EswZXfxZWY2YNyiTA2UaE="
   },
   "dhall": {
     "hash": "sha256-K0j90YAzYqdyJD4aofyxAJF9QBYNMbhSVm/s1GvWuJ4=",
@@ -301,11 +301,11 @@
     "vendorHash": "sha256-BpXhKjfxyCLdGRHn1GexW0MoLj4/C6Bn7scZ76JARxQ="
   },
   "digitalocean": {
-    "hash": "sha256-ZTt/lfHWD9G/SbZ7mLKPjJAsva5bgRqvvX8Lh1Ci+ts=",
+    "hash": "sha256-fnABnzEMDJBzUl6/K1rgWdW4oCqrKZ+3RSXVvT1sHVk=",
     "homepage": "https://registry.terraform.io/providers/digitalocean/digitalocean",
     "owner": "digitalocean",
     "repo": "terraform-provider-digitalocean",
-    "rev": "v2.26.0",
+    "rev": "v2.27.1",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -429,31 +429,31 @@
     "vendorHash": null
   },
   "gitlab": {
-    "hash": "sha256-nBmb+wHl6FEHIH/P9SsDCtvDKVHzcL4/iaQwtuSjbVg=",
+    "hash": "sha256-bn02BLLSgdo7/Oh95rNOxVUVvwflSvU43DOsii5LM0E=",
     "homepage": "https://registry.terraform.io/providers/gitlabhq/gitlab",
     "owner": "gitlabhq",
     "repo": "terraform-provider-gitlab",
-    "rev": "v15.9.0",
+    "rev": "v15.10.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-yK2M07+FmMEE9YuCJk86qLncHr2ToeZQAzWRQz1lLNM="
+    "vendorHash": "sha256-s4FynUO6bT+8uZYkecbQCtFw1jFTAAYUkSzONI6Ba9g="
   },
   "google": {
-    "hash": "sha256-tdsMjgGR9Tmk5wonihYlFqy8wzx60jEfnIh4dujvabY=",
+    "hash": "sha256-RLWfaJX7ytU8xKcXUp+ON2//rO6R0cw0beXdiH9E3SU=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/google",
     "owner": "hashicorp",
     "proxyVendor": true,
     "repo": "terraform-provider-google",
-    "rev": "v4.57.0",
+    "rev": "v4.58.0",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-2dJAoDisGQOE21NBTjbFPM0hAYjHqo6QH/ONiHQU6hk="
   },
   "google-beta": {
-    "hash": "sha256-e0Qnlu1O6h9s9+vo9yELifl5AmNNqhQc3Y6XorNCRQ8=",
+    "hash": "sha256-O0BQSeS+XDCq82q0aGwM0GlSfByMugoOQLWXenlO8fk=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
     "owner": "hashicorp",
     "proxyVendor": true,
     "repo": "terraform-provider-google-beta",
-    "rev": "v4.57.0",
+    "rev": "v4.58.0",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-2dJAoDisGQOE21NBTjbFPM0hAYjHqo6QH/ONiHQU6hk="
   },
@@ -476,11 +476,11 @@
     "vendorHash": "sha256-zPO+TbJsFrgfjSaSrX5YRop/0LDDw/grNNntaIGiBU0="
   },
   "gridscale": {
-    "hash": "sha256-deEP1x5rGIgX/CcRK4gWYbCsV1IKY7CFkwQl+uKhbEk=",
+    "hash": "sha256-61LZyXqb+1kWHBk1/lw5C5hmeL4aHwSSS++9/9L/tDw=",
     "homepage": "https://registry.terraform.io/providers/gridscale/gridscale",
     "owner": "gridscale",
     "repo": "terraform-provider-gridscale",
-    "rev": "v1.18.0",
+    "rev": "v1.18.1",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -621,11 +621,11 @@
     "vendorHash": "sha256-UnWHUD9T4nTT6Y2UrvBIdIk9eA8l0vWJ/IpEY3PIzDU="
   },
   "ksyun": {
-    "hash": "sha256-1P4iv9UbSUepsKP+xKvy+YTHAIemMkwQruTrHyAsxsI=",
+    "hash": "sha256-NcXYCdWNpH5sX9+LMASCRWsgNRtbYOTK0sOailPw+44=",
     "homepage": "https://registry.terraform.io/providers/kingsoftcloud/ksyun",
     "owner": "kingsoftcloud",
     "repo": "terraform-provider-ksyun",
-    "rev": "v1.3.67",
+    "rev": "v1.3.68",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-miHKAz+ONXtuC1DNukcyZbbaYReY69dz9Zk6cJdORdQ="
   },
@@ -765,13 +765,13 @@
     "vendorHash": null
   },
   "newrelic": {
-    "hash": "sha256-EJpIITB6OF6TuFgQ4e9UIP7zaaFGc6DgR1fJ1pK2isc=",
+    "hash": "sha256-2MbzXcdtP4O+zWGhBCp+uryVJmZoA2kXDe8AH3vZ0zA=",
     "homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
     "owner": "newrelic",
     "repo": "terraform-provider-newrelic",
-    "rev": "v3.17.1",
+    "rev": "v3.18.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-QL9uEO89PwU8UFbLWCytXpzgrVeXKmaPmFm844ABAvI="
+    "vendorHash": "sha256-dEbJTeHWhfR+8o/s4fi4I0sio1uuh6OIzJhVF5Rup04="
   },
   "nomad": {
     "hash": "sha256-oHY+jM4JQgLlE1wd+/H9H8H2g0e9ZuxI6OMlz3Izfjg=",
@@ -811,11 +811,11 @@
     "vendorHash": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI="
   },
   "oci": {
-    "hash": "sha256-OceXVqPbjJnPNKbf5vKzbTBEES1+CNCa/dTfPFgdACM=",
+    "hash": "sha256-KxhX9QJ7VssZz388xhmNsyDcnDKxu5MDL0nDWMOfEXQ=",
     "homepage": "https://registry.terraform.io/providers/oracle/oci",
     "owner": "oracle",
     "repo": "terraform-provider-oci",
-    "rev": "v4.112.0",
+    "rev": "v4.113.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -847,11 +847,11 @@
     "vendorHash": "sha256-zKtBDnvlQHe+q0OZUMUGu1gNsx2wIrIoArtJrt0VaBk="
   },
   "openstack": {
-    "hash": "sha256-XjOij2mgBoQIgIMkk6U54O+0+ye80qUNJCuwjZx6Nu8=",
+    "hash": "sha256-UGs2Os7cWSd69ekzyoDLwzJxhGgUJbDJyrCIc6ipcwY=",
     "homepage": "https://registry.terraform.io/providers/terraform-provider-openstack/openstack",
     "owner": "terraform-provider-openstack",
     "repo": "terraform-provider-openstack",
-    "rev": "v1.51.0",
+    "rev": "v1.51.1",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-62q67aaOZA3fQmyL8bEHB+W497bcx9Xy7kKrbkjkbaI="
   },
@@ -901,13 +901,13 @@
     "vendorHash": "sha256-sV6JPKzpA1+uoUBmdWpUSk70cl9ofQqr7USbK+4RVDs="
   },
   "postgresql": {
-    "hash": "sha256-6QqXp0riYy6pJPmESrUv3J9BDY9Sl44/U2sIB663Gfw=",
+    "hash": "sha256-VQu0NrBbBx951V+H10Q1/pmYjtwg2vuFW25mNXZ3NoI=",
     "homepage": "https://registry.terraform.io/providers/cyrilgdn/postgresql",
     "owner": "cyrilgdn",
     "repo": "terraform-provider-postgresql",
-    "rev": "v1.18.0",
+    "rev": "v1.19.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-o2+Uuz0dStf33WZuTFLkJX5rg4G7sJ23/+q+xtQ4mhE="
+    "vendorHash": "sha256-JsKxNS2JlYIfTsiV/2WVB51i2OuZI1PNZDrxOuloaX0="
   },
   "powerdns": {
     "hash": "sha256-NtJs2oNJbjUYNFsbrfo2RYhqOlKA15GJt9gi1HuTIw0=",
@@ -964,13 +964,13 @@
     "vendorHash": null
   },
   "scaleway": {
-    "hash": "sha256-aWn/w7k+gxCodN7W9GBM9Ontkg6Ir2LNLYkY34ORxzI=",
+    "hash": "sha256-Ru3jcpnZR3guA3kGxO3iS/ZADtekTOy48kPFpv84wp8=",
     "homepage": "https://registry.terraform.io/providers/scaleway/scaleway",
     "owner": "scaleway",
     "repo": "terraform-provider-scaleway",
-    "rev": "v2.13.1",
+    "rev": "v2.14.1",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-kh1wv7cuWCC1rP0WBQW95pFg53gZTakqGoMIDMDSmt0="
+    "vendorHash": "sha256-7uatC3EI9IEgGEAaYWUNzPStGqtf+0vp8Liuru9NMZI="
   },
   "secret": {
     "hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
@@ -1027,11 +1027,11 @@
     "vendorHash": null
   },
   "snowflake": {
-    "hash": "sha256-kkkpXIpioLHBbJCv7t6b17e3Coj4GoYORZaVp14K4nw=",
+    "hash": "sha256-cgh93oDVlV+Om17UdJyxzHqhKwy4d41TBcPV5Z3FJig=",
     "homepage": "https://registry.terraform.io/providers/Snowflake-Labs/snowflake",
     "owner": "Snowflake-Labs",
     "repo": "terraform-provider-snowflake",
-    "rev": "v0.58.2",
+    "rev": "v0.59.0",
     "spdx": "MIT",
     "vendorHash": "sha256-vxJGQkrbGITool/45JpBqdqrlSeP3xeWMkSLmFh4K+s="
   },
@@ -1045,13 +1045,13 @@
     "vendorHash": "sha256-NO1r/EWLgH1Gogru+qPeZ4sW7FuDENxzNnpLSKstnE8="
   },
   "spotinst": {
-    "hash": "sha256-mbqnFKxHSh4IF+zPpT2wIz1/dJKpuM7TUHS0Cvt/srg=",
+    "hash": "sha256-4zD2/0s7zeZhreM1dauJ6BSMxTKL16HH530bNCiKNv4=",
     "homepage": "https://registry.terraform.io/providers/spotinst/spotinst",
     "owner": "spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.106.0",
+    "rev": "v1.108.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-TxTw+13HJDHDdLhGjM3SXOL87RJdRFs0Y+t/oK81DfI="
+    "vendorHash": "sha256-Ac8cWoaTj18DFZOf8FYbI9FPb17GcA9r7ZkOMNV7iI4="
   },
   "stackpath": {
     "hash": "sha256-7KQUddq+M35WYyAIAL8sxBjAaXFcsczBRO1R5HURUZg=",
@@ -1063,13 +1063,13 @@
     "vendorHash": "sha256-OGYiynCwbJU2KisS7Y6xmLuBKOtQvh3MWPrvBk/x95U="
   },
   "statuscake": {
-    "hash": "sha256-PcA0t/G11w9ud+56NdiRXi82ubJ+wpL4XcexT1O2ADw=",
+    "hash": "sha256-yky6aCRK1I9NOEWcz6n6uvU+6HBJcLPQr1LLVO+34jE=",
     "homepage": "https://registry.terraform.io/providers/StatusCakeDev/statuscake",
     "owner": "StatusCakeDev",
     "repo": "terraform-provider-statuscake",
-    "rev": "v2.0.6",
+    "rev": "v2.1.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-0D36uboEHqw968MKqkgARib9R04JH5FlXAfPL8OEpgU="
+    "vendorHash": "sha256-fgvNdBwkz+YHOrLRQSe1D+3/VUhttKkJGzV6cg57g8s="
   },
   "sumologic": {
     "hash": "sha256-1BwhcyEJs7Xm+p2ChA9K7g+qBzqoh3eyAT9qKMfHB1g=",
@@ -1163,11 +1163,11 @@
     "vendorHash": null
   },
   "ucloud": {
-    "hash": "sha256-Rh1X4AboPlHWikL/PIWTAf0f2/i3vSVsxzDp1kRuNiA=",
+    "hash": "sha256-1gKDd1lLGkDDKfg9a98J8W7kO2RZG1Q0XUM182WCdhU=",
     "homepage": "https://registry.terraform.io/providers/ucloud/ucloud",
     "owner": "ucloud",
     "repo": "terraform-provider-ucloud",
-    "rev": "v1.34.1",
+    "rev": "v1.35.1",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index 1c116d5ec20d..3708ad4132c4 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.44.5";
+  version = "0.45.0";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-1wuK3rdc17fCAZjqJNReYYPy284BHyB3gp+xUt09oIY=";
+    hash = "sha256-SyA1DP9xm8NbgDfGOyzNZwaWq6Wn8IOiiL/m516/cLw=";
   };
 
   vendorHash = "sha256-eY9YwXSIOrXbVWUIfVrUIRso1F5weBGKbPFv43k8t2Y=";
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index e594e7d4ec35..be34a925ab6b 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.207";
+  version = "1.2.214";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    hash = "sha256-qAptDffM4ZufEPmrhxlGgMyNoih7JYptUVnPfyXy7ok=";
+    hash = "sha256-ITSOzn1+5pIlSSpXi7I5JxtZ0mXUXxIONgvngrYrHEU=";
   };
 
-  vendorHash = "sha256-QQ0CjyBz1gY6o2I45DA9iD7rrJGVTvWvl4u8ZHuHNeg=";
+  vendorHash = "sha256-u9/ZtNNSO/NGXgxyOjjGDjSe9ZyesREhg+E9HjaFhBk=";
 
   proxyVendor = true;
 
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 2612aef79d1d..29badfb1ca42 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -1,19 +1,33 @@
 { lib
-, python3Packages
+, python3
 , fetchFromGitHub
 }:
 
-python3Packages.buildPythonApplication rec {
+let
+  python = python3.override {
+    packageOverrides = self: super: {
+      sqlalchemy = super.sqlalchemy.overridePythonAttrs (old: rec {
+        version = "1.4.47";
+        src = self.fetchPypi {
+          pname = "SQLAlchemy";
+          inherit version;
+          hash = "sha256-lfwC9/wfMZmqpHqKdXQ3E0z2GOnZlMhO/9U/Uww4WG8=";
+        };
+      });
+    };
+  };
+in
+python.pkgs.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.5.31";
+  version = "3.5.33";
   format = "pyproject";
 
   # Fetch from GitHub in order to use `requirements.in`
   src = fetchFromGitHub {
-    owner = "flexget";
-    repo = "flexget";
+    owner = "Flexget";
+    repo = "Flexget";
     rev = "refs/tags/v${version}";
-    hash = "sha256-v6N1isaTVPwV/LC/a2lzrboLI6V/4W586RE5esfR500=";
+    hash = "sha256-LzDXNl2IQ3+j9uP+nE6JS8E+pO0n9zwmA7wrMeKR6Ms=";
   };
 
   postPatch = ''
@@ -28,7 +42,7 @@ python3Packages.buildPythonApplication rec {
   # ~400 failures
   doCheck = false;
 
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = with python.pkgs; [
     # See https://github.com/Flexget/Flexget/blob/master/requirements.txt
     apscheduler
     beautifulsoup4
diff --git a/pkgs/applications/networking/hydroxide/default.nix b/pkgs/applications/networking/hydroxide/default.nix
index aa1877a17b02..42ff69127553 100644
--- a/pkgs/applications/networking/hydroxide/default.nix
+++ b/pkgs/applications/networking/hydroxide/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "hydroxide";
-  version = "0.2.24";
+  version = "0.2.25";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Bstrg/TtGpC4zeJEYgycwdzBMfMbQX0S6okdtUiVMIQ=";
+    sha256 = "sha256-YBaimsHRmmh5d98c9x56JIyOOnkZsypxdqlSCG6pVJ4=";
   };
 
-  vendorSha256 = "sha256-OLsJc/AMtD03KA8SN5rsnaq57/cB7bMB/f7FfEjErEU=";
+  vendorHash = "sha256-OLsJc/AMtD03KA8SN5rsnaq57/cB7bMB/f7FfEjErEU=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index f76a4c984d5e..5aa3629bd38e 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -23,6 +23,8 @@
 , spandsp3
 , libuuid
 , libvpx
+, cmake
+, dbusSupport ? true
 }:
 stdenv.mkDerivation rec {
   version = "2.9.0";
@@ -33,7 +35,10 @@ stdenv.mkDerivation rec {
     rev = "v${version}";
     sha256 = "sha256-B4d8D4IfLYAIYVN80Lrh5bywD5iacSnUVwEzbc6Xq7g=";
   };
-  nativeBuildInputs = [ pkg-config ];
+  prePatch = lib.optionalString (!dbusSupport) ''
+    substituteInPlace cmake/modules.cmake --replace 'list(APPEND MODULES ctrl_dbus)' ""
+  '';
+  nativeBuildInputs = [ pkg-config cmake ];
   buildInputs = [
     zlib
     openssl
@@ -56,9 +61,14 @@ stdenv.mkDerivation rec {
     libuuid
     libvpx
   ] ++ (with gst_all_1; [ gstreamer gst-libav gst-plugins-base gst-plugins-bad gst-plugins-good ]);
+
+  cmakeFlags = [
+    "-DCMAKE_SKIP_BUILD_RPATH=ON"
+    "-Dre_DIR=${libre}/include/re"
+  ];
+
   makeFlags = [
     "LIBRE_MK=${libre}/share/re/re.mk"
-    "LIBRE_INC=${libre}/include/re"
     "LIBRE_SO=${libre}/lib"
     "LIBREM_PATH=${librem}"
     "PREFIX=$(out)"
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 48ba7275fe74..804deb10eb8c 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -3,9 +3,9 @@ let
   versions = if stdenv.isLinux then {
     stable = "0.0.25";
     ptb = "0.0.39";
-    canary = "0.0.149";
+    canary = "0.0.150";
   } else {
-    stable = "0.0.264";
+    stable = "0.0.273";
     ptb = "0.0.59";
     canary = "0.0.283";
   };
@@ -22,13 +22,13 @@ let
       };
       canary = fetchurl {
         url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-        sha256 = "sha256-8DHr7adczIv9FXaxPxSfZPn+8ogWLWHRp9l0JpKhoiY=";
+        sha256 = "sha256-8huDp1u0t9/kZbeB7bPqQUw8+HQ6rIyzKYUVN02gQfo=";
       };
     };
     x86_64-darwin = {
       stable = fetchurl {
         url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
-        sha256 = "1jvlxmbfqhslsr16prsgbki77kq7i3ipbkbn67pnwlnis40y9s7p";
+        sha256 = "1vz2g83gz9ks9mxwx7gl7kys2xaw8ksnywwadrpsbj999fzlyyal";
       };
       ptb = fetchurl {
         url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index 22638a4c2083..6f3b7cfb022f 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -43,13 +43,13 @@ assert enablePsiMedia -> enablePlugins;
 
 mkDerivation rec {
   pname = "psi-plus";
-  version = "1.5.1644";
+  version = "1.5.1646";
 
   src = fetchFromGitHub {
     owner = "psi-plus";
     repo = "psi-plus-snapshots";
     rev = version;
-    sha256 = "sha256-wSfgV0moBar27xa91ywky7Apr5QHISZ27lQlp02J1Mg=";
+    sha256 = "sha256-FeZlJAJHmNGd7hbpjmthe2/yGxh0zIl3zXnA+vRjNCM=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/session-desktop/default.nix b/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
index bb7c49c3106a..3cf6b2e1c433 100644
--- a/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/session-desktop/default.nix
@@ -61,5 +61,6 @@ stdenvNoCC.mkDerivation {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ alexnortung ];
     platforms = [ "x86_64-linux" ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
index e6116c9b4286..bfc72e75cc13 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/generic.nix
@@ -151,7 +151,8 @@ stdenv.mkDerivation rec {
   preFixup = ''
     gappsWrapperArgs+=(
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc ] }"
-      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
+      # Currently crashes see https://github.com/NixOS/nixpkgs/issues/222043
+      #--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
       --suffix PATH : ${lib.makeBinPath [ xdg-utils ]}
     )
 
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 3066a3aa745b..648af9a92dec 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , callPackage
 , pkg-config
 , cmake
@@ -54,7 +55,6 @@
 , microsoft_gsl
 , rlottie
 , stdenv
-, gcc10Stdenv
 }:
 
 # Main reference:
@@ -70,10 +70,8 @@ let
       cxxStandard = "20";
     };
   };
-  # Aarch64 default gcc9 will cause ICE. For reference #108305
-  env = if stdenv.isAarch64 then gcc10Stdenv else stdenv;
 in
-env.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "telegram-desktop";
   version = "4.6.5";
   # Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
@@ -87,6 +85,16 @@ env.mkDerivation rec {
     sha256 = "0c65ry82ffmh1qzc2lnsyjs78r9jllv62p9vglpz0ikg86zf36sk";
   };
 
+  patches = [
+    # the generated .desktop files contains references to unwrapped tdesktop, breaking scheme handling
+    # and the scheme handler is already registered in the packaged .desktop file, rendering this unnecessary
+    # see https://github.com/NixOS/nixpkgs/issues/218370
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian/telegram-desktop/-/raw/09b363ed5a4fcd8ecc3282b9bfede5fbb83f97ef/debian/patches/Disable-register-custom-scheme.patch";
+      hash = "sha256-B8X5lnSpwwdp1HlvyXJWQPybEN+plOwimdV5gW6aY2Y=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioInputALSA.cpp \
       --replace '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"'
diff --git a/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix
index 34bd755b7835..00f413b3d68e 100644
--- a/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix
@@ -5,22 +5,35 @@
 , glib-networking
 , gst_all_1
 , gtkmm3
-, libappindicator-gtk3
+, libayatana-appindicator
+, libcanberra
+, libepoxy
+, libpsl
+, libdatrie
+, libdeflate
+, libselinux
+, libsepol
+, libsysprof-capture
+, libthai
+, libxkbcommon
+, sqlite
 , pcre
+, pcre2
 , pkg-config
 , webkitgtk
 , wrapGAppsHook
+, xorg
 }:
 
 stdenv.mkDerivation rec {
   pname = "whatsapp-for-linux";
-  version = "1.3.1";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "eneshecan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-TX6fMuhe6VHbhWJSsPM0iOV4CuCfULD5McJyHuTW4lI=";
+    sha256 = "sha256-oghO6DNVJqWFHRjUAkqfnoWc7qHJnK3givVLq6xGJeo=";
   };
 
   nativeBuildInputs = [
@@ -36,9 +49,23 @@ stdenv.mkDerivation rec {
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
     gtkmm3
-    libappindicator-gtk3
+    libayatana-appindicator
+    libcanberra
+    libdatrie
+    libdeflate
+    libepoxy
+    libpsl
+    libselinux
+    libsepol
+    libsysprof-capture
+    libthai
+    libxkbcommon
     pcre
+    pcre2
+    sqlite
     webkitgtk
+    xorg.libXdmcp
+    xorg.libXtst
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/p2p/freenet/default.nix b/pkgs/applications/networking/p2p/freenet/default.nix
index 05cc0466264f..c7a1a02fc241 100644
--- a/pkgs/applications/networking/p2p/freenet/default.nix
+++ b/pkgs/applications/networking/p2p/freenet/default.nix
@@ -1,61 +1,118 @@
-{ lib, stdenv, fetchurl, jdk, bash, coreutils, substituteAll, nixosTests, jna }:
+{ lib, stdenv, fetchurl, fetchFromGitHub, jdk, gradle, bash, coreutils
+, substituteAll, nixosTests, perl, fetchpatch, writeText }:
 
 let
-  version = "build01494";
+  version = "01497";
+
   freenet_ext = fetchurl {
-    url = "https://github.com/freenet/fred/releases/download/${version}/freenet-ext.jar";
+    url = "https://github.com/freenet/fred/releases/download/build01495/freenet-ext.jar";
     sha256 = "sha256-MvKz1r7t9UE36i+aPr72dmbXafCWawjNF/19tZuk158=";
   };
-  bcprov = fetchurl {
-    url = "https://github.com/freenet/fred/releases/download/${version}/bcprov-jdk15on-1.59.jar";
-    sha256 = "sha256-HDHkTjMdJeRtKTs+juLQcCimfbAR50yyRDKFrtHVnIU=";
-  };
+
   seednodes = fetchurl {
     url = "https://downloads.freenetproject.org/alpha/opennet/seednodes.fref";
     sha256 = "08awwr8n80b4cdzzb3y8hf2fzkr1f2ly4nlq779d6pvi5jymqdvv";
   };
 
-  freenet-jars = stdenv.mkDerivation {
-    pname = "freenet-jars";
-    inherit version;
+  patches = [
+    # gradle 7 support
+    (fetchpatch {
+      url = "https://github.com/freenet/fred/pull/827.patch";
+      sha256 = "sha256-T1zymxRTADVhhwp2TyB+BC/J4gZsT/CUuMrT4COlpTY=";
+    })
+  ];
 
-    src = fetchurl {
-      url = "https://github.com/freenet/fred/releases/download/${version}/freenet.jar";
-      sha256 = "sha256-1Pjc8Ob4EN7N05QkGTMKBn7z3myTDaQ98N48nNSLstg=";
-    };
-
-    dontUnpack = true;
+in stdenv.mkDerivation rec {
+  pname = "freenet";
+  inherit version patches;
 
-    installPhase = ''
-      mkdir -p $out/share/freenet
-      ln -s ${bcprov} $out/share/freenet/bcprov.jar
-      ln -s ${freenet_ext} $out/share/freenet/freenet-ext.jar
-      ln -s ${jna}/share/java/jna-platform.jar $out/share/freenet/jna_platform.jar
-      ln -s ${jna}/share/java/jna.jar $out/share/freenet/jna.jar
-      ln -s $src $out/share/freenet/freenet.jar
-    '';
+  src = fetchFromGitHub {
+    owner = "freenet";
+    repo = "fred";
+    rev = "refs/tags/build${version}";
+    hash = "sha256-pywNPekofF/QotNVF28McojqK7c1Zzucds5rWV0R7BQ=";
   };
 
-in stdenv.mkDerivation {
-  pname = "freenet";
-  inherit version;
+  postPatch = ''
+    rm gradle/verification-{keyring.keys,metadata.xml}
+  '';
 
-  src = substituteAll {
+  nativeBuildInputs = [ gradle jdk ];
+
+  wrapper = substituteAll {
     src = ./freenetWrapper;
     inherit bash coreutils jdk seednodes;
-    freenet = freenet-jars;
   };
 
-  dontUnpack = true;
+  # https://github.com/freenet/fred/blob/next/build-offline.sh
+  # fake build to pre-download deps into fixed-output derivation
+  deps = stdenv.mkDerivation {
+    pname = "${pname}-deps";
+    inherit src version patches;
 
-  passthru.tests = { inherit (nixosTests) freenet; };
+    nativeBuildInputs = [ gradle perl ];
+    buildPhase = ''
+      export GRADLE_USER_HOME=$(mktemp -d)
+      gradle --no-daemon build
+    '';
+    # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
+    installPhase = ''
+      find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/''${\($5 =~ s/okio-jvm/okio/r)}" #e' \
+        | sh
+    '';
+    # Don't move info to share/
+    forceShare = [ "dummy" ];
+    outputHashMode = "recursive";
+    # Downloaded jars differ by platform
+    outputHash = "sha256-CZf5M3lI7Lz9Pl8U/lNoQ6V6Jxbmkxau8L273XFFS2E=";
+    outputHashAlgo = "sha256";
+  };
+
+  # Point to our local deps repo
+  gradleInit = writeText "init.gradle" ''
+    gradle.projectsLoaded {
+      rootProject.allprojects {
+        buildscript {
+          repositories {
+            clear()
+            maven { url '${deps}/'; metadataSources {mavenPom(); artifact()} }
+          }
+        }
+        repositories {
+          clear()
+          maven { url '${deps}/'; metadataSources {mavenPom(); artifact()} }
+        }
+      }
+    }
+
+    settingsEvaluated { settings ->
+      settings.pluginManagement {
+        repositories {
+          maven { url '${deps}/'; metadataSources {mavenPom(); artifact()} }
+        }
+      }
+    }
+  '';
+
+  buildPhase = ''
+    gradle jar -Dorg.gradle.java.home=${jdk} --offline --no-daemon --info --init-script $gradleInit
+  '';
 
   installPhase = ''
+    runHook preInstall
+    install -Dm444 build/libs/freenet.jar $out/share/freenet/freenet.jar
+    ln -s ${freenet_ext} $out/share/freenet/freenet-ext.jar
     mkdir -p $out/bin
-    install -Dm555 $src $out/bin/freenet
-    ln -s ${freenet-jars}/share $out/share
+    install -Dm555 ${wrapper} $out/bin/freenet
+    substituteInPlace $out/bin/freenet \
+      --subst-var-by outFreenet $out
+    ln -s ${deps} $out/deps
+    runHook postInstall
   '';
 
+  passthru.tests = { inherit (nixosTests) freenet; };
+
   meta = {
     description = "Decentralised and censorship-resistant network";
     homepage = "https://freenetproject.org/";
diff --git a/pkgs/applications/networking/p2p/freenet/freenetWrapper b/pkgs/applications/networking/p2p/freenet/freenetWrapper
index 76faf601e69c..f8292615de7a 100755
--- a/pkgs/applications/networking/p2p/freenet/freenetWrapper
+++ b/pkgs/applications/networking/p2p/freenet/freenetWrapper
@@ -1,7 +1,8 @@
 #! @bash@/bin/bash
 set -eo pipefail
 PATH=@coreutils@/bin:$PATH
-export CLASSPATH=@freenet@/share/freenet/bcprov.jar:@freenet@/share/freenet/freenet-ext.jar:@freenet@/share/freenet/jna_platform.jar:@freenet@/share/freenet/jna.jar:@freenet@/share/freenet/freenet.jar
+export CLASSPATH=$(find @outFreenet@/deps/ -name "*.jar"|grep -v bcprov-jdk15on-1.48.jar|tr $'\n' :)
+CLASSPATH=$CLASSPATH:@outFreenet@/share/freenet/freenet-ext.jar:@outFreenet@/share/freenet/freenet.jar
 
 export FREENET_HOME="$HOME/.local/share/freenet"
 if [ -n "$XDG_DATA_HOME" ] ; then
diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix
index 33747e2d669b..db76d3f58611 100644
--- a/pkgs/applications/networking/pjsip/default.nix
+++ b/pkgs/applications/networking/pjsip/default.nix
@@ -7,10 +7,13 @@
 , swig
 , alsa-lib
 , AppKit
+, CoreFoundation
+, Security
 , python3
 , pythonSupport ? true
+, pjsip
+, runCommand
 }:
-
 stdenv.mkDerivation rec {
   pname = "pjsip";
   version = "2.13";
@@ -41,21 +44,23 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ openssl libsamplerate ]
     ++ lib.optional stdenv.isLinux alsa-lib
-    ++ lib.optional stdenv.isDarwin AppKit;
+    ++ lib.optionals stdenv.isDarwin [ AppKit CoreFoundation Security ];
 
   preConfigure = ''
     export LD=$CC
   '';
 
+  NIX_CFLAGS_LINK = lib.optionalString stdenv.isDarwin "-headerpad_max_install_names";
+
   postBuild = lib.optionalString pythonSupport ''
     make -C pjsip-apps/src/swig/python
   '';
 
+  configureFlags = [ "--enable-shared" ];
+
   outputs = [ "out" ]
     ++ lib.optional pythonSupport "py";
 
-  configureFlags = [ "--enable-shared" ];
-
   postInstall = ''
     mkdir -p $out/bin
     cp pjsip-apps/bin/pjsua-* $out/bin/pjsua
@@ -65,13 +70,44 @@ stdenv.mkDerivation rec {
     (cd pjsip-apps/src/swig/python && \
       python setup.py install --prefix=$py
     )
+  '' + lib.optionalString stdenv.isDarwin ''
+    # On MacOS relative paths are used to refer to libraries. All libraries use
+    # a relative path like ../lib/*.dylib or ../../lib/*.dylib. We need to
+    # rewrite these to use absolute ones.
+
+    # First, find all libraries (and their symlinks) in our outputs to define
+    # the install_name_tool -change arguments we should pass.
+    readarray -t libraries < <(
+      for outputName in $(getAllOutputNames); do
+        find "''${!outputName}" \( -name '*.dylib*' -o -name '*.so*' \)
+      done
+    )
+
+    # Determine the install_name_tool -change arguments that are going to be
+    # applied to all libraries.
+    change_args=()
+    for lib in "''${libraries[@]}"; do
+      lib_name="$(basename $lib)"
+      change_args+=(-change ../lib/$lib_name $lib)
+      change_args+=(-change ../../lib/$lib_name $lib)
+    done
+
+    # Rewrite id and library refences for all non-symlinked libraries.
+    for lib in "''${libraries[@]}"; do
+      if [ -f "$lib" ]; then
+        install_name_tool -id $lib "''${change_args[@]}" $lib
+      fi
+    done
   '';
 
   # We need the libgcc_s.so.1 loadable (for pthread_cancel to work)
   dontPatchELF = true;
 
+  passthru.tests.python-pjsua2 = runCommand "python-pjsua2" { } ''
+    ${(python3.withPackages (pkgs: [ pkgs.pjsua2 ])).interpreter} -c "import pjsua2" > $out
+  '';
+
   meta = with lib; {
-    broken = stdenv.isDarwin;
     description = "A multimedia communication library written in C, implementing standard based protocols such as SIP, SDP, RTP, STUN, TURN, and ICE";
     homepage = "https://pjsip.org/";
     license = licenses.gpl2Plus;
diff --git a/pkgs/applications/networking/remote/aws-workspaces/default.nix b/pkgs/applications/networking/remote/aws-workspaces/default.nix
index 71a3080a4951..984dd3e90958 100644
--- a/pkgs/applications/networking/remote/aws-workspaces/default.nix
+++ b/pkgs/applications/networking/remote/aws-workspaces/default.nix
@@ -1,19 +1,19 @@
 { stdenv, lib
 , makeWrapper, dpkg, fetchurl, autoPatchelfHook
-, curl, libkrb5, lttng-ust, libpulseaudio, gtk3, openssl_1_1, icu70, webkitgtk, librsvg, gdk-pixbuf, libsoup, glib-networking, graphicsmagick_q16
+, curl, libkrb5, lttng-ust, libpulseaudio, gtk3, openssl_1_1, icu70, webkitgtk, librsvg, gdk-pixbuf, libsoup, glib-networking, graphicsmagick_q16, libva, libusb, hiredis
 }:
 
 stdenv.mkDerivation rec {
   pname = "aws-workspaces";
-  version = "4.1.0.1523";
+  version = "4.5.0.2006";
 
   src = fetchurl {
-    # ref https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/Packages
+    # ref https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/focal/main/binary-amd64/Packages
     urls = [
-      "https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
-      "https://web.archive.org/web/20220709124028/https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
+      "https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/focal/main/binary-amd64/workspacesclient_${version}_amd64.deb"
+      "https://archive.org/download/workspacesclient_${version}_amd64/workspacesclient_${version}_amd64.deb"
     ];
-    sha256 = "sha256-nOrIOPZ0yOBGOQgNQxnm1cVR9NJ+BTEC12UB7Ux1yuk=";
+    sha256 = "sha256-1ysj020fYOmIRvZR27+7ZNqdzqkA2QbrCwDU18ouxaI=";
   };
 
   nativeBuildInputs = [
@@ -40,6 +40,9 @@ stdenv.mkDerivation rec {
     libsoup
     glib-networking
     graphicsmagick_q16
+    hiredis
+    libusb
+    libva
   ];
 
   unpackPhase = ''
@@ -49,6 +52,7 @@ stdenv.mkDerivation rec {
   preFixup = ''
     patchelf --replace-needed liblttng-ust.so.0 liblttng-ust.so $out/lib/libcoreclrtraceptprovider.so
     patchelf --replace-needed libGraphicsMagick++-Q16.so.12 libGraphicsMagick++.so.12 $out/usr/lib/x86_64-linux-gnu/pcoip-client/vchan_plugins/libvchan-plugin-clipboard.so
+    patchelf --replace-needed libhiredis.so.0.14 libhiredis.so $out/lib/libpcoip_core.so
   '';
 
   installPhase = ''
@@ -70,6 +74,6 @@ stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ]; # TODO Mac support
-    maintainers = [ maintainers.mausch ];
+    maintainers = with maintainers; [ mausch dylanmtaylor ];
   };
 }
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
index ee75ee6df648..7d493b7e4993 100644
--- a/pkgs/applications/networking/seaweedfs/default.nix
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "3.43";
+  version = "3.44";
 
   src = fetchFromGitHub {
     owner = "seaweedfs";
     repo = "seaweedfs";
     rev = version;
-    hash = "sha256-u2HGawshd2OdkchgpZUN6P2fTBSwJk+RjHAYYEpPgCg=";
+    hash = "sha256-buis2OSN/mvI38LvRthy+9xPbpHj+guXNoTEuDUcKYw=";
   };
 
-  vendorHash = "sha256-Q6B+iqUb97ZayjYDe4OOhkWj1Cxy+ILQxxEU2Jw/Als=";
+  vendorHash = "sha256-U8K2aQMVJsJWESN5BWjwrEWGzGTB8c/eMh0GJ75Xs7U=";
 
   subPackages = [ "weed" ];
 
diff --git a/pkgs/applications/networking/sniffnet/default.nix b/pkgs/applications/networking/sniffnet/default.nix
index a5c0c73fac92..246dac24972b 100644
--- a/pkgs/applications/networking/sniffnet/default.nix
+++ b/pkgs/applications/networking/sniffnet/default.nix
@@ -7,23 +7,23 @@
 , alsa-lib
 , expat
 , fontconfig
-, libGL
+, vulkan-loader
 , xorg
 , darwin
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "sniffnet";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "gyulyvgc";
     repo = "sniffnet";
-    rev = "v${version}";
-    hash = "sha256-o971F3JxZUfTCaLRPYxCsU5UZ2VcvZftVEl/sZAQwpA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-QEMd/vOi0DFCq7AJHhii7rnBAHS89XP3/b2UIewAgLc=";
   };
 
-  cargoHash = "sha256-Otn5FvZZkzO0MHiopjU2/+redyusituDQb7DT5bdbPE=";
+  cargoHash = "sha256-VcmiM7prK5l8Ow8K9TGUR2xfx9648IoU6i40hOGAqGQ=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
     alsa-lib
     expat
     fontconfig
-    libGL
+    vulkan-loader
     xorg.libX11
     xorg.libXcursor
     xorg.libXi
@@ -45,13 +45,13 @@ rustPlatform.buildRustPackage rec {
 
   postFixup = lib.optionalString stdenv.isLinux ''
     patchelf $out/bin/sniffnet \
-      --add-rpath ${lib.makeLibraryPath [ libGL xorg.libX11 ]}
+      --add-rpath ${lib.makeLibraryPath [ vulkan-loader xorg.libX11 ]}
   '';
 
   meta = with lib; {
     description = "Cross-platform application to monitor your network traffic with ease";
     homepage = "https://github.com/gyulyvgc/sniffnet";
-    changelog = "https://github.com/gyulyvgc/sniffnet/blob/main/CHANGELOG.md";
+    changelog = "https://github.com/gyulyvgc/sniffnet/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit /* or */ asl20 ];
     maintainers = with maintainers; [ figsoda ];
   };
diff --git a/pkgs/applications/networking/sniproxy/default.nix b/pkgs/applications/networking/sniproxy/default.nix
index 7c8e3dfd93dc..8d2b619ab718 100644
--- a/pkgs/applications/networking/sniproxy/default.nix
+++ b/pkgs/applications/networking/sniproxy/default.nix
@@ -1,34 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, gettext, libev, pcre, pkg-config, udns }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, gettext, libev, pcre, pkg-config, udns }:
 
 stdenv.mkDerivation rec {
   pname = "sniproxy";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "dlundquist";
     repo = "sniproxy";
     rev = version;
-    sha256 = "0isgl2lyq8vz5kkxpgyh1sgjlb6sqqybakr64w2mfh29k5ls8xzm";
+    sha256 = "sha256-htM9CrzaGnn1dnsWQ+0V6N65Og7rsFob3BlSc4UGfFU=";
   };
 
-  patches = [
-    # Pull upstream fix for -fno-common toolchain support:
-    #   https://github.com/dlundquist/sniproxy/pull/349
-    (fetchpatch {
-      name = "fno-common.patch";
-      url = "https://github.com/dlundquist/sniproxy/commit/711dd14affd5d0d918cd5fd245328450e60c7111.patch";
-      sha256 = "1vlszib2gzxnkl9zbbrf2jz632j1nhs4aanpw7qqnx826zmli0a6";
-    })
-  ];
-
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ gettext libev pcre udns ];
 
   meta = with lib; {
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/dlundquist/sniproxy";
     description = "Transparent TLS and HTTP layer 4 proxy with SNI support";
     license = licenses.bsd2;
-    maintainers = [ maintainers.womfoo ];
+    maintainers = with maintainers; [ womfoo raitobezarius ];
     platforms = platforms.linux;
   };
 
diff --git a/pkgs/applications/office/appflowy/default.nix b/pkgs/applications/office/appflowy/default.nix
index e8910d950929..a7fa809de1fa 100644
--- a/pkgs/applications/office/appflowy/default.nix
+++ b/pkgs/applications/office/appflowy/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "appflowy";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchzip {
     url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy_x86_64-unknown-linux-gnu_ubuntu-20.04.tar.gz";
-    sha256 = "sha256-WuEwhJ1YhbldFfisfUsp3GCV2vQy9oTam6BkL/7QEgI=";
+    sha256 = "sha256-H4xVUXC7cRCgC1fHMXPucGRTBlGRcyzskhNBaNVGAns=";
     stripRoot = false;
   };
 
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    mv AppFlowy/* ./
+    cd AppFlowy/
 
     mkdir -p $out/opt/
     mkdir -p $out/bin/
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     # Add missing libraries to appflowy using the ones it comes with
-    makeWrapper $out/opt/app_flowy $out/bin/appflowy \
+    makeWrapper $out/opt/AppFlowy $out/bin/appflowy \
       --set LD_LIBRARY_PATH "$out/opt/lib/" \
       --prefix PATH : "${lib.makeBinPath [ xdg-user-dirs ]}"
   '';
diff --git a/pkgs/applications/office/paperwork/paperwork-backend.nix b/pkgs/applications/office/paperwork/paperwork-backend.nix
index b67dfe436fa2..c7ddfa09e234 100644
--- a/pkgs/applications/office/paperwork/paperwork-backend.nix
+++ b/pkgs/applications/office/paperwork/paperwork-backend.nix
@@ -1,5 +1,6 @@
 { buildPythonPackage
 , lib
+, fetchpatch
 , fetchFromGitLab
 , pyenchant
 , scikit-learn
@@ -34,6 +35,10 @@ buildPythonPackage rec {
   patches = [
     # disables a flaky test https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/issues/1035#note_1493700
     ./flaky_test.patch
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/commit/0f5cf0fe7ef223000e02c28e4c7576f74a778fe6.patch";
+      hash = "sha256-NIK3j2TdydfeK3/udS/Pc+tJa/pPkfAmSPPeaYuaCq4=";
+    })
   ];
 
   patchFlags = [ "-p2" ];
diff --git a/pkgs/applications/office/timeline/default.nix b/pkgs/applications/office/timeline/default.nix
index 2295071b09c6..f3f404cda89f 100644
--- a/pkgs/applications/office/timeline/default.nix
+++ b/pkgs/applications/office/timeline/default.nix
@@ -9,6 +9,7 @@
 python3.pkgs.buildPythonApplication rec {
   pname = "timeline";
   version = "2.6.0";
+  format = "other";
 
   src = fetchurl {
     url = "mirror://sourceforge/thetimelineproj/${pname}-${version}.zip";
@@ -18,7 +19,7 @@ python3.pkgs.buildPythonApplication rec {
   nativeBuildInputs = [ python3.pkgs.wrapPython copyDesktopItems ];
 
   pythonPath = with python3.pkgs; [
-    wxPython_4_0
+    wxPython_4_2
     humblewx
     icalendar
     markdown
diff --git a/pkgs/applications/plasma-mobile/default.nix b/pkgs/applications/plasma-mobile/default.nix
index 34f28ae7ff5d..255b3828f768 100644
--- a/pkgs/applications/plasma-mobile/default.nix
+++ b/pkgs/applications/plasma-mobile/default.nix
@@ -75,7 +75,7 @@ let
       plasma-settings = callPackage ./plasma-settings.nix {};
       plasmatube = callPackage ./plasmatube {};
       qmlkonsole = callPackage ./qmlkonsole.nix {};
-      spacebar = callPackage ./spacebar.nix { inherit srcs; };
+      spacebar = callPackage ./spacebar.nix {};
       tokodon = callPackage ./tokodon.nix {};
     };
 
diff --git a/pkgs/applications/plasma-mobile/spacebar.nix b/pkgs/applications/plasma-mobile/spacebar.nix
index c120851e5b2e..659b92228d2c 100644
--- a/pkgs/applications/plasma-mobile/spacebar.nix
+++ b/pkgs/applications/plasma-mobile/spacebar.nix
@@ -1,7 +1,5 @@
 { lib
 , mkDerivation
-, gcc12Stdenv
-, srcs
 
 , cmake
 , extra-cmake-modules
@@ -17,17 +15,14 @@
 , knotifications
 , kpeople
 , libphonenumber
-, libqofono
 , modemmanager-qt
 , protobuf
 , qcoro
 , qtquickcontrols2
 }:
 
-# Workaround for AArch64 still using GCC9.
-gcc12Stdenv.mkDerivation rec {
+mkDerivation {
   pname = "spacebar";
-  inherit (srcs.spacebar) version src;
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/applications/radio/qradiolink/default.nix b/pkgs/applications/radio/qradiolink/default.nix
index a0b7dd8c7821..b5aaa390a7b4 100644
--- a/pkgs/applications/radio/qradiolink/default.nix
+++ b/pkgs/applications/radio/qradiolink/default.nix
@@ -24,13 +24,13 @@
 
 gnuradio3_8.pkgs.mkDerivation rec {
   pname = "qradiolink";
-  version = "0.8.8-1";
+  version = "0.8.9-1";
 
   src = fetchFromGitHub {
     owner = "qradiolink";
     repo = "qradiolink";
     rev = version;
-    sha256 = "sha256-2M5TSTNbbH188GiKqjP+IfBqks379Fw0fiGLBNiaxEg=";
+    sha256 = "sha256-yY9sdLFaG0fX/4obImxVAyJk13RklYjX99Ch9hgzTe8=";
   };
 
   preBuild = ''
diff --git a/pkgs/applications/radio/quisk/default.nix b/pkgs/applications/radio/quisk/default.nix
index 34e83ab95ca2..5fcd11a17523 100644
--- a/pkgs/applications/radio/quisk/default.nix
+++ b/pkgs/applications/radio/quisk/default.nix
@@ -1,5 +1,5 @@
 { lib, python39Packages, fetchPypi
-, fftw, alsa-lib, pulseaudio, pyusb, wxPython_4_0 }:
+, fftw, alsa-lib, pulseaudio, pyusb, wxPython_4_2 }:
 
 python39Packages.buildPythonApplication rec {
   pname = "quisk";
@@ -12,7 +12,7 @@ python39Packages.buildPythonApplication rec {
 
   buildInputs = [ fftw alsa-lib pulseaudio ];
 
-  propagatedBuildInputs = [ pyusb wxPython_4_0 ];
+  propagatedBuildInputs = [ pyusb wxPython_4_2 ];
 
   doCheck = false;
 
diff --git a/pkgs/applications/radio/sdrangel/default.nix b/pkgs/applications/radio/sdrangel/default.nix
index 0bda52d425e4..e6e867f477ba 100644
--- a/pkgs/applications/radio/sdrangel/default.nix
+++ b/pkgs/applications/radio/sdrangel/default.nix
@@ -24,14 +24,20 @@
 , libbladeRF
 , mbelib
 , mkDerivation
+, ninja
 , ocl-icd
 , opencv3
 , pkg-config
 , qtcharts
+, qtdeclarative
+, qtgraphicaleffects
 , qtlocation
 , qtmultimedia
+, qtquickcontrols
+, qtquickcontrols2
 , qtserialport
 , qtspeech
+, qttools
 , qtwebsockets
 , qtwebengine
 , rtl-sdr
@@ -39,6 +45,7 @@
 , sgp4
 , soapysdr-with-plugins
 , uhd
+, zlib
 }:
 
 mkDerivation rec {
@@ -49,10 +56,10 @@ mkDerivation rec {
     owner = "f4exb";
     repo = "sdrangel";
     rev = "v${version}";
-    sha256 = "sha256-hsYt7zGG6CSWeQ9A3GPt65efjZGPu33O5pIhnZjFgmY=";
+    hash = "sha256-hsYt7zGG6CSWeQ9A3GPt65efjZGPu33O5pIhnZjFgmY=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [ cmake ninja pkg-config ];
 
   buildInputs = [
     airspy
@@ -78,10 +85,15 @@ mkDerivation rec {
     mbelib
     opencv3
     qtcharts
+    qtdeclarative
+    qtgraphicaleffects
     qtlocation
     qtmultimedia
+    qtquickcontrols
+    qtquickcontrols2
     qtserialport
     qtspeech
+    qttools
     qtwebsockets
     qtwebengine
     rtl-sdr
@@ -89,11 +101,12 @@ mkDerivation rec {
     sgp4
     soapysdr-with-plugins
     uhd
+    zlib
   ];
 
   cmakeFlags = [
     "-DAPT_DIR=${aptdec}"
-    "-DDAB_LIB=${dab_lib}"
+    "-DDAB_INCLUDE_DIR:PATH=${dab_lib}/include/dab_lib"
     "-DLIBSERIALDV_INCLUDE_DIR:PATH=${serialdv}/include/serialdv"
     "-DLIMESUITE_INCLUDE_DIR:PATH=${limesuite}/include"
     "-DLIMESUITE_LIBRARY:FILEPATH=${limesuite}/lib/libLimeSuite${stdenv.hostPlatform.extensions.sharedLibrary}"
diff --git a/pkgs/applications/science/biology/gatk/default.nix b/pkgs/applications/science/biology/gatk/default.nix
index 7ace47804828..43e5382b5d50 100644
--- a/pkgs/applications/science/biology/gatk/default.nix
+++ b/pkgs/applications/science/biology/gatk/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "gatk";
-  version = "4.3.0.0";
+  version = "4.4.0.0";
   src = fetchzip {
     url = "https://github.com/broadinstitute/gatk/releases/download/${version}/gatk-${version}.zip";
-    sha256 = "sha256-AhXZyWbAXM5iwqxkYkMlqYUN838BjvIf5X95MVEfJ2I=";
+    sha256 = "sha256-svOtIS6gz9nwVgVmVQbk9z6Ufyobpn6bFbZY4zurvUI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/biology/mafft/default.nix b/pkgs/applications/science/biology/mafft/default.nix
index 19d0d93c58df..6b317b43de6e 100644
--- a/pkgs/applications/science/biology/mafft/default.nix
+++ b/pkgs/applications/science/biology/mafft/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mafft";
-  version = "7.508";
+  version = "7.515";
 
   src = fetchFromGitLab {
     owner = "sysimm";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-XQllmTgLntCBUFJzV2HL4f4oMilcUVTRgcfeZBdD5c0=";
+    rev = "v${version}";
+    sha256 = "sha256-ssZvjOHJLsBjB48sKr1U7VrRZUIduFkme22MdVbzoNk=";
   };
 
   preBuild = ''
diff --git a/pkgs/applications/science/biology/seqkit/default.nix b/pkgs/applications/science/biology/seqkit/default.nix
index 27ba07481f0e..598c8248bfb4 100644
--- a/pkgs/applications/science/biology/seqkit/default.nix
+++ b/pkgs/applications/science/biology/seqkit/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "seqkit";
-  version = "2.3.1";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "shenwei356";
     repo = "seqkit";
     rev = "v${version}";
-    sha256 = "sha256-2DWb6PIYT9VfJeqbZ9+E1jk/xJ2+h0GARKF6XWdMhkI=";
+    sha256 = "sha256-v2Z94UDuXnT7eVFX+uLSxXR34eIBzRm1bHwD7gO9SVA=";
   };
 
-  vendorSha256 = "sha256-RQNthtPYuOSCenA0hs5EhybimrftjEJlQNkfnKGXTiM=";
+  vendorHash = "sha256-dDMSwZnTWC60zvPDvUT+9T/mUUrhW0Itn87XO/+Ef2Q=";
 
   meta = with lib; {
     description = "cross-platform and ultrafast toolkit for FASTA/Q file manipulation";
diff --git a/pkgs/applications/science/biology/trf/default.nix b/pkgs/applications/science/biology/trf/default.nix
new file mode 100644
index 000000000000..f36788eb612c
--- /dev/null
+++ b/pkgs/applications/science/biology/trf/default.nix
@@ -0,0 +1,21 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "trf";
+  version = "4.09.1";
+
+  src = fetchFromGitHub {
+    owner = "Benson-Genomics-Lab";
+    repo = "trf";
+    rev = "v${version}";
+    sha256 = "sha256-73LypVqBdlRdDCblf9JNZQmS5Za8xpId4ha5GjTJHDo=";
+  };
+
+  meta = with lib; {
+    description = "Tandem Repeats Finder: a program to analyze DNA sequences";
+    homepage = "https://tandem.bu.edu/trf/trf.html";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ natsukium ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/logic/acgtk/default.nix b/pkgs/applications/science/logic/acgtk/default.nix
index c627b8a3c8f5..693bc306f21e 100644
--- a/pkgs/applications/science/logic/acgtk/default.nix
+++ b/pkgs/applications/science/logic/acgtk/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitLab, dune_2, ocamlPackages }:
+{ lib, stdenv, fetchFromGitLab, dune_3, ocamlPackages }:
 
 stdenv.mkDerivation {
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
 
   strictDeps = true;
 
-  nativeBuildInputs = with ocamlPackages; [ menhir ocaml findlib dune_2 ];
+  nativeBuildInputs = with ocamlPackages; [ menhir ocaml findlib dune_3 ];
 
   buildInputs = with ocamlPackages; [
     ansiterminal cairo2 cmdliner fmt logs menhirLib mtime sedlex yojson
diff --git a/pkgs/applications/science/logic/easycrypt/default.nix b/pkgs/applications/science/logic/easycrypt/default.nix
index da4ff212e294..abd2b0cb2758 100644
--- a/pkgs/applications/science/logic/easycrypt/default.nix
+++ b/pkgs/applications/science/logic/easycrypt/default.nix
@@ -11,11 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256:09rdwcj70lkamkhd895p284rfpz4bcnsf55mcimhiqncd2a21ml7";
   };
 
-  # Fix build with Why3 1.5
-  patches = fetchpatch {
-    url = "https://github.com/EasyCrypt/easycrypt/commit/d226387432deb7f22738e1d5579346a2cbc9be7a.patch";
-    sha256 = "sha256:1zvxij35fnr3h9b5wdl8ml17aqfx3a39rd4mgwmdvkapbg3pa4lm";
-  };
+  patches = lib.lists.map fetchpatch [
+    # Fix build with Why3 1.5
+    { url = "https://github.com/EasyCrypt/easycrypt/commit/d226387432deb7f22738e1d5579346a2cbc9be7a.patch";
+      hash = "sha256:1zvxij35fnr3h9b5wdl8ml17aqfx3a39rd4mgwmdvkapbg3pa4lm"; }
+    # Fix build with Why3 1.6
+    { url = "https://github.com/EasyCrypt/easycrypt/commit/876f2ed50a0434afdf2fb20e7c50b8a3e26bb06e.patch";
+      hash = "sha256-UycfLZWYHNsppb7qHSRaAF4Y0UnwoFueEG0wUcBUPYE="; }
+  ];
 
   nativeBuildInputs = with ocamlPackages; [
     dune_3
diff --git a/pkgs/applications/science/logic/glucose/default.nix b/pkgs/applications/science/logic/glucose/default.nix
index b9ca741a3477..5a0873b53f04 100644
--- a/pkgs/applications/science/logic/glucose/default.nix
+++ b/pkgs/applications/science/logic/glucose/default.nix
@@ -1,13 +1,21 @@
-{ lib, stdenv, fetchurl, zlib }:
+{ lib
+, stdenv
+, fetchurl
+, zlib
+, enableUnfree ? false
+}:
+
 stdenv.mkDerivation rec {
-  pname = "glucose";
+  pname = "glucose" + lib.optionalString enableUnfree "-syrup";
   version = "4.1";
 
   src = fetchurl {
     url = "http://www.labri.fr/perso/lsimon/downloads/softwares/glucose-syrup-${version}.tgz";
-    sha256 = "0aahrkaq7n0z986fpqz66yz946nxardfi6dh8calzcfjpvqiraji";
+    hash = "sha256-Uaoc8b7SsU8VQ7CZ6FpW3RqSvjfm4+sMSh/Yg9XMUCk=";
   };
 
+  sourceRoot = "glucose-syrup-${version}/${if enableUnfree then "parallel" else "simp"}";
+
   postPatch = ''
     substituteInPlace Main.cc \
       --replace "defined(__linux__)" "defined(__linux__) && defined(__x86_64__)"
@@ -15,17 +23,22 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib ];
 
-  sourceRoot = "glucose-syrup-${version}/simp";
   makeFlags = [ "r" ];
+
   installPhase = ''
-    install -Dm0755 glucose_release $out/bin/glucose
+    runHook preInstall
+
+    install -Dm0755 ${pname}_release $out/bin/${pname}
     mkdir -p "$out/share/doc/${pname}-${version}/"
     install -Dm0755 ../{LICEN?E,README*,Changelog*} "$out/share/doc/${pname}-${version}/"
+
+    runHook postInstall
   '';
 
   meta = with lib; {
-    description = "Modern, parallel SAT solver (sequential version)";
-    license = licenses.mit;
+    description = "Modern, parallel SAT solver (${if enableUnfree then "parallel" else "sequential"} version)";
+    homepage = "https://www.labri.fr/perso/lsimon/research/glucose/";
+    license = if enableUnfree then licenses.unfreeRedistributable else licenses.mit;
     platforms = platforms.unix;
     maintainers = with maintainers; [ gebner ];
   };
diff --git a/pkgs/applications/science/logic/glucose/syrup.nix b/pkgs/applications/science/logic/glucose/syrup.nix
deleted file mode 100644
index 17342858fb8f..000000000000
--- a/pkgs/applications/science/logic/glucose/syrup.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, zlib, glucose }:
-stdenv.mkDerivation rec {
-  pname = "glucose-syrup";
-  version = glucose.version;
-
-  src = glucose.src;
-
-  buildInputs = [ zlib ];
-
-  sourceRoot = "glucose-syrup-${version}/parallel";
-  makeFlags = [ "r" ];
-  installPhase = ''
-    install -Dm0755 glucose-syrup_release $out/bin/glucose-syrup
-    mkdir -p "$out/share/doc/${pname}-${version}/"
-    install -Dm0755 ../{LICEN?E,README*,Changelog*} "$out/share/doc/${pname}-${version}/"
-  '';
-
-  meta = with lib; {
-    description = "Modern, parallel SAT solver (parallel version)";
-    license = licenses.unfreeRedistributable;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ gebner ];
-  };
-}
diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix
index d2326d2d4d0e..2cb96bbc0a37 100644
--- a/pkgs/applications/science/logic/isabelle/default.nix
+++ b/pkgs/applications/science/logic/isabelle/default.nix
@@ -58,10 +58,16 @@ in stdenv.mkDerivation (finalAttrs: rec {
           url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_macos.tar.gz";
           sha256 = "0b84rx9b7b5y8m1sg7xdp17j6yngd2dkx6v5bkd8h7ly102lai18";
         }
-    else
+    else if stdenv.hostPlatform.isx86
+    then
       fetchurl {
         url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux.tar.gz";
         sha256 = "1ih4gykkp1an43qdgc5xzyvf30fhs0dah3y0a5ksbmvmjsfnxyp7";
+      }
+    else
+      fetchurl {
+        url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux_arm.tar.gz";
+        hash = "sha256-qI/BR/KZwLjnkO5q/yYeW4lN4xyUe78VOM2INC/Z/io=";
       };
 
   nativeBuildInputs = [ java ];
@@ -71,7 +77,7 @@ in stdenv.mkDerivation (finalAttrs: rec {
 
   sourceRoot = "${dirname}${lib.optionalString stdenv.isDarwin ".app"}";
 
-  doCheck = true;
+  doCheck = stdenv.hostPlatform.system != "aarch64-linux";
   checkPhase = "bin/isabelle build -v HOL-SMT_Examples";
 
   postUnpack = lib.optionalString stdenv.isDarwin ''
@@ -112,13 +118,15 @@ in stdenv.mkDerivation (finalAttrs: rec {
       ISABELLE_JDK_HOME=${java}
     EOF
 
+  '' + lib.optionalString stdenv.hostPlatform.isx86 ''
     rm contrib/naproche-*/x86*/Naproche-SAD
     ln -s ${naproche}/bin/Naproche-SAD contrib/naproche-*/x86*/
+  '' + ''
 
     echo ISABELLE_LINE_EDITOR=${rlwrap}/bin/rlwrap >>etc/settings
 
     for comp in contrib/jdk* contrib/polyml-* contrib/verit-* contrib/vampire-* contrib/e-*; do
-      rm -rf $comp/x86*
+      rm -rf $comp/${if stdenv.hostPlatform.isx86 then "x86" else "arm"}*
     done
 
     substituteInPlace lib/Tools/env \
@@ -137,9 +145,11 @@ in stdenv.mkDerivation (finalAttrs: rec {
     substituteInPlace lib/scripts/isabelle-platform \
       --replace 'ISABELLE_APPLE_PLATFORM64=arm64-darwin' ""
   '' + lib.optionalString stdenv.isLinux ''
-    arch=${if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64-linux" else "x86-linux"}
+    arch=${if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64-linux"
+           else if stdenv.hostPlatform.isx86 then "x86-linux"
+           else "arm64-linux"}
     for f in contrib/*/$arch/{z3,epclextract,nunchaku,SPASS,zipperposition}; do
-      patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f"
+      patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f"${lib.optionalString stdenv.isAarch64 " || true"}
     done
     patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) contrib/bash_process-*/platform_$arch/bash_process
     for d in contrib/kodkodi-*/jni/$arch; do
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 55b59ff2e3b0..df8be359d123 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "why3";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "https://why3.gitlabpages.inria.fr/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-vNR7WeiSvg+763GcovoZBFDfncekJMeqNegP4fVw06I=";
+    hash = "sha256-hFvM6kHScaCtcHCc6Vezl9CR7BFbiKPoTEh7kj0ZJxw=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix
index 83fbb6d6546b..b97245cab476 100644
--- a/pkgs/applications/science/logic/yices/default.nix
+++ b/pkgs/applications/science/logic/yices/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    # musl las no ldconfig, create symlinks explicitly
+    # musl has no ldconfig, create symlinks explicitly
     ./linux-no-ldconfig.patch
   ];
   postPatch = "patchShebangs tests/regress/check.sh";
diff --git a/pkgs/applications/science/math/sage/patches/numpy-1.24-upgrade.patch b/pkgs/applications/science/math/sage/patches/numpy-1.24-upgrade.patch
new file mode 100644
index 000000000000..93b18ce028f0
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/numpy-1.24-upgrade.patch
@@ -0,0 +1,58 @@
+diff --git a/src/sage/misc/persist.pyx b/src/sage/misc/persist.pyx
+index 3ac5f1cc2b..cb1f327c19 100644
+--- a/src/sage/misc/persist.pyx
++++ b/src/sage/misc/persist.pyx
+@@ -157,7 +157,7 @@ def load(*filename, compress=True, verbose=True, **kwargs):
+         ....:     _ = f.write(code)
+         sage: load(t)
+         sage: hello
+-        <fortran object>
++        <fortran ...>
+     """
+     import sage.repl.load
+     if len(filename) != 1:
+diff --git a/src/sage/plot/complex_plot.pyx b/src/sage/plot/complex_plot.pyx
+index 6f0aeab87a..b77c69b2f7 100644
+--- a/src/sage/plot/complex_plot.pyx
++++ b/src/sage/plot/complex_plot.pyx
+@@ -461,6 +461,8 @@ def complex_to_rgb(z_values, contoured=False, tiled=False,
+             rgb[i, j, 2] = b
+ 
+     sig_off()
++    nan_indices = np.isnan(rgb).any(-1)     # Mask for undefined points
++    rgb[nan_indices] = 1                    # Make nan_indices white
+     return rgb
+ 
+ 
+diff --git a/src/sage/plot/histogram.py b/src/sage/plot/histogram.py
+index 3bc2b76b58..388c2d1391 100644
+--- a/src/sage/plot/histogram.py
++++ b/src/sage/plot/histogram.py
+@@ -87,13 +87,8 @@ class Histogram(GraphicPrimitive):
+ 
+         TESTS::
+ 
+-            sage: h = histogram([10,3,5], normed=True)[0]
+-            doctest:warning...:
+-            DeprecationWarning: the 'normed' option is deprecated. Use 'density' instead.
+-            See https://trac.sagemath.org/25260 for details.
++            sage: h = histogram([10,3,5], density=True)[0]
+             sage: h.get_minmax_data()
+-            doctest:warning ...
+-            ...VisibleDeprecationWarning: Passing `normed=True` on non-uniform bins has always been broken, and computes neither the probability density function nor the probability mass function. The result is only correct if the bins are uniform, when density=True will produce the same result anyway. The argument will be removed in a future version of numpy.
+             {'xmax': 10.0, 'xmin': 3.0, 'ymax': 0.476190476190..., 'ymin': 0}
+         """
+         import numpy
+diff --git a/src/sage/repl/ipython_extension.py b/src/sage/repl/ipython_extension.py
+index 798671aab4..cad6a47ca8 100644
+--- a/src/sage/repl/ipython_extension.py
++++ b/src/sage/repl/ipython_extension.py
+@@ -405,7 +405,7 @@ class SageMagics(Magics):
+             ....: C END FILE FIB1.F
+             ....: ''')
+             sage: fib
+-            <fortran object>
++            <fortran ...>
+             sage: from numpy import array
+             sage: a = array(range(10), dtype=float)
+             sage: fib(a, 10)
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 5e18b7415632..8913d636fae9 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -127,6 +127,23 @@ stdenv.mkDerivation rec {
       sha256 = "sha256-9BhQLFB3wUhiXRQsK9L+I62lSjvTfrqMNi7QUIQvH4U=";
     })
 
+    # https://github.com/sagemath/sage/pull/35235
+    (fetchpatch {
+      name = "ipython-8.11-upgrade.patch";
+      url = "https://github.com/sagemath/sage/commit/23471e2d242c4de8789d7b1fc8b07a4b1d1e595a.diff";
+      sha256 = "sha256-wvH4BvDiaBv7jbOP8LvOE5Vs16Kcwz/C9jLpEMohzLQ=";
+    })
+
+    # positively reviewed
+    (fetchpatch {
+      name = "matplotlib-3.7.0-upgrade.patch";
+      url = "https://github.com/sagemath/sage/pull/35177.diff";
+      sha256 = "sha256-YdPnMsjXBm9ZRm6a8hH8rSynkrABjLoIzqwp3F/rKAw=";
+    })
+
+    # rebased from https://github.com/sagemath/sage/pull/34994, merged in sage 10.0.beta2
+    ./patches/numpy-1.24-upgrade.patch
+
     # temporarily paper over https://github.com/jupyter-widgets/ipywidgets/issues/3669
     ./patches/ipywidgets-on_submit-deprecationwarning.patch
 
diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix
index 143e5a2a22b3..3d1c319a2f22 100644
--- a/pkgs/applications/science/math/sage/sagelib.nix
+++ b/pkgs/applications/science/math/sage/sagelib.nix
@@ -22,6 +22,7 @@
 , gsl
 , iml
 , jinja2
+, libpng
 , lcalc
 , lrcalc
 , gap
@@ -99,6 +100,7 @@ buildPythonPackage rec {
     gd
     readline
     iml
+    libpng
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/science/robotics/mavproxy/default.nix b/pkgs/applications/science/robotics/mavproxy/default.nix
index c7a7315f70de..3b81b9ed0884 100644
--- a/pkgs/applications/science/robotics/mavproxy/default.nix
+++ b/pkgs/applications/science/robotics/mavproxy/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, buildPythonApplication, fetchPypi, lxml, matplotlib, numpy
-, opencv4, pymavlink, pyserial, setuptools, wxPython_4_0, billiard
+, opencv4, pymavlink, pyserial, setuptools, wxPython_4_2, billiard
 , gnureadline }:
 
 buildPythonApplication rec {
@@ -24,7 +24,7 @@ buildPythonApplication rec {
     pymavlink
     pyserial
     setuptools
-    wxPython_4_0
+    wxPython_4_2
   ] ++ lib.optionals stdenv.isDarwin [ billiard gnureadline ];
 
   # No tests
diff --git a/pkgs/applications/terminal-emulators/havoc/default.nix b/pkgs/applications/terminal-emulators/havoc/default.nix
index e31d119d6cf9..304bab6499bf 100644
--- a/pkgs/applications/terminal-emulators/havoc/default.nix
+++ b/pkgs/applications/terminal-emulators/havoc/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
     description = "A minimal terminal emulator for Wayland";
     license = with licenses; [ mit publicDomain ];
     platforms = with platforms; unix;
+    broken = stdenv.isDarwin; # no wayland support
     maintainers = with maintainers; [ AndersonTorres ];
   };
 }
diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix
index 5eb565227a94..78c64e9ca3c3 100644
--- a/pkgs/applications/terminal-emulators/xterm/default.nix
+++ b/pkgs/applications/terminal-emulators/xterm/default.nix
@@ -54,8 +54,13 @@ stdenv.mkDerivation rec {
     "--with-app-defaults=$(out)/lib/X11/app-defaults"
   ] ++ lib.optional enableDecLocator "--enable-dec-locator";
 
-  # Work around broken "plink.sh".
-  NIX_LDFLAGS = "-lXmu -lXt -lICE -lX11 -lfontconfig";
+  env = {
+    # Work around broken "plink.sh".
+    NIX_LDFLAGS = "-lXmu -lXt -lICE -lX11 -lfontconfig";
+  } // lib.optionalAttrs stdenv.hostPlatform.isMusl {
+    # Various symbols missing without this define: TAB3, NLDLY, CRDLY, BSDLY, FFDLY, CBAUD
+    NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
+  };
 
   # Hack to get xterm built with the feature of releasing a possible setgid of 'utmp',
   # decided by the sysadmin to allow the xterm reporting to /var/run/utmp
diff --git a/pkgs/applications/version-management/bcompare/default.nix b/pkgs/applications/version-management/bcompare/default.nix
index 409652888caf..015fca96182b 100644
--- a/pkgs/applications/version-management/bcompare/default.nix
+++ b/pkgs/applications/version-management/bcompare/default.nix
@@ -41,7 +41,7 @@ let
 
       substituteInPlace $out/bin/${pname} \
         --replace "/usr/lib/beyondcompare" "$out/lib/beyondcompare" \
-        --replace "ldd" "${glibc.out}/bin/ldd" \
+        --replace "ldd" "${glibc.bin}/bin/ldd" \
         --replace "/bin/bash" "${runtimeShell}"
 
       # Create symlink bzip2 library
diff --git a/pkgs/applications/version-management/forgejo/default.nix b/pkgs/applications/version-management/forgejo/default.nix
index 8693e6d208fa..346d17d8c794 100644
--- a/pkgs/applications/version-management/forgejo/default.nix
+++ b/pkgs/applications/version-management/forgejo/default.nix
@@ -1,9 +1,11 @@
 { bash
+, brotli
 , buildGoModule
 , common-updater-scripts
 , coreutils
 , curl
 , fetchurl
+, forgejo
 , git
 , gzip
 , jq
@@ -15,19 +17,21 @@
 , pam
 , pamSupport ? true
 , sqliteSupport ? true
+, xorg
+, runCommand
 , stdenv
 , writeShellApplication
 }:
 
 buildGoModule rec {
   pname = "forgejo";
-  version = "1.18.5-0";
+  version = "1.19.0-2";
 
   src = fetchurl {
     name = "${pname}-src-${version}.tar.gz";
     # see https://codeberg.org/forgejo/forgejo/releases
-    url = "https://codeberg.org/attachments/bb93c0c9-98c4-465c-bcff-e07ac3ee72a3";
-    hash = "sha256-jyaJ7W/K1Nn44ZhyJHZD+dKObU3hYx6mmDzvbvrR7gw=";
+    url = "https://codeberg.org/attachments/2bf497db-fa91-4260-9c98-5c791b6b397c";
+    hash = "sha256-neDIT+V3qHR8xgP4iy4TJQ6PCWO3svpSA7FLCacQSMI=";
   };
 
   vendorHash = null;
@@ -66,46 +70,60 @@ buildGoModule rec {
       --prefix PATH : ${lib.makeBinPath [ bash git gzip openssh ]}
   '';
 
-  passthru.tests = nixosTests.forgejo;
-
-  passthru.updateScript = lib.getExe (writeShellApplication {
-    name = "update-forgejo";
-    runtimeInputs = [
-      common-updater-scripts
-      coreutils
-      curl
-      jq
-      nix
-    ];
-    text = ''
-      releases=$(curl "https://codeberg.org/api/v1/repos/forgejo/forgejo/releases?draft=false&pre-release=false&limit=1" \
-        --silent \
-        --header "accept: application/json")
-
-      stable=$(jq '.[0]
-        | .tag_name[1:] as $version
-        | ("forgejo-src-\($version).tar.gz") as $filename
-        | { $version, html_url } + (.assets | map(select(.name | startswith($filename)) | {(.name | split(".") | last): .browser_download_url}) | add)' \
-        <<< "$releases")
-
-      archive_url=$(jq -r .gz <<< "$stable")
-      checksum_url=$(jq -r .sha256 <<< "$stable")
-      release_url=$(jq -r .html_url <<< "$stable")
-      version=$(jq -r .version <<< "$stable")
-
-      if [[ "${version}" = "$version" ]]; then
-        echo "No new version found (already at $version)"
-        exit 0
-      fi
-
-      echo "Release: $release_url"
-
-      sha256=$(curl "$checksum_url" --silent | cut --delimiter " " --fields 1)
-      sri_hash=$(nix hash to-sri --type sha256 "$sha256")
-
-      update-source-version "${pname}" "$version" "$sri_hash" "$archive_url"
+  passthru = {
+    data-compressed = runCommand "forgejo-data-compressed" {
+      nativeBuildInputs = [ brotli xorg.lndir ];
+    } ''
+      mkdir $out
+      lndir ${forgejo.data}/ $out/
+
+      # Create static gzip and brotli files
+      find -L $out -type f -regextype posix-extended -iregex '.*\.(css|html|js|svg|ttf|txt)' \
+        -exec gzip --best --keep --force {} ';' \
+        -exec brotli --best --keep --no-copy-stat {} ';'
     '';
-  });
+
+    tests = nixosTests.forgejo;
+
+    updateScript = lib.getExe (writeShellApplication {
+      name = "update-forgejo";
+      runtimeInputs = [
+        common-updater-scripts
+        coreutils
+        curl
+        jq
+        nix
+      ];
+      text = ''
+        releases=$(curl "https://codeberg.org/api/v1/repos/forgejo/forgejo/releases?draft=false&pre-release=false&limit=1" \
+          --silent \
+          --header "accept: application/json")
+
+        stable=$(jq '.[0]
+          | .tag_name[1:] as $version
+          | ("forgejo-src-\($version).tar.gz") as $filename
+          | { $version, html_url } + (.assets | map(select(.name | startswith($filename)) | {(.name | split(".") | last): .browser_download_url}) | add)' \
+          <<< "$releases")
+
+        archive_url=$(jq -r .gz <<< "$stable")
+        checksum_url=$(jq -r .sha256 <<< "$stable")
+        release_url=$(jq -r .html_url <<< "$stable")
+        version=$(jq -r .version <<< "$stable")
+
+        if [[ "${version}" = "$version" ]]; then
+          echo "No new version found (already at $version)"
+          exit 0
+        fi
+
+        echo "Release: $release_url"
+
+        sha256=$(curl "$checksum_url" --silent | cut --delimiter " " --fields 1)
+        sri_hash=$(nix hash to-sri --type sha256 "$sha256")
+
+        update-source-version "${pname}" "$version" "$sri_hash" "$archive_url"
+      '';
+    });
+  };
 
   meta = with lib; {
     description = "A self-hosted lightweight software forge";
diff --git a/pkgs/applications/version-management/gh/default.nix b/pkgs/applications/version-management/gh/default.nix
index 8c3e6ea42b3f..1d284681e440 100644
--- a/pkgs/applications/version-management/gh/default.nix
+++ b/pkgs/applications/version-management/gh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.24.3";
+  version = "2.25.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-Z0Z8mMTk1uAgegL4swJswCJ3D5Zi7DMTai9oQXH+2WM=";
+    hash = "sha256-CE3Ds9z5CB49Hb9IVuDKwRjGwuw+0d5zBpw2IVsO7Tc=";
   };
 
   vendorHash = "sha256-nn2DzjcXHiuSaiEuWNZTAZ3+OKrEpRzUPzqmH+gZ9sY=";
diff --git a/pkgs/applications/version-management/git-branchless/default.nix b/pkgs/applications/version-management/git-branchless/default.nix
index 40a5efece9ff..a1d94748e798 100644
--- a/pkgs/applications/version-management/git-branchless/default.nix
+++ b/pkgs/applications/version-management/git-branchless/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-branchless";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "arxanas";
     repo = "git-branchless";
     rev = "v${version}";
-    sha256 = "sha256-t3nzElicRbOTI+1nD+CGQk9u83FUUNgJ0OpylPZdlOs=";
+    sha256 = "sha256-9kyC9Uwmc2WNHgfKpnS3v8vNF2o+168ULWqE+2eX1cE=";
   };
 
-  cargoHash = "sha256-RfZnPQN+BSJ2YmCEMCPWY477sJue/L++3aL+U15C1Ro=";
+  cargoHash = "sha256-k+Jx5PcA8TaFQQDYqZ6dTy8bwNtYeALF75ucoFjVGUc=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/version-management/git-credential-keepassxc/default.nix b/pkgs/applications/version-management/git-credential-keepassxc/default.nix
index e9b4d75bf64a..1595c470e2ab 100644
--- a/pkgs/applications/version-management/git-credential-keepassxc/default.nix
+++ b/pkgs/applications/version-management/git-credential-keepassxc/default.nix
@@ -4,6 +4,10 @@
 , fetchFromGitHub
 , DiskArbitration
 , Foundation
+, withNotification ? false
+, withYubikey ? false
+, withStrictCaller ? false
+, withAll ? false
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -21,6 +25,12 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = lib.optionals stdenv.isDarwin [ DiskArbitration Foundation ];
 
+  buildFeatures = []
+    ++ lib.optional withNotification "notification"
+    ++ lib.optional withYubikey "yubikey"
+    ++ lib.optional withStrictCaller "strict-caller"
+    ++ lib.optional withAll "all";
+
   meta = with lib; {
     description = "Helper that allows Git (and shell scripts) to use KeePassXC as credential store";
     longDescription = ''
diff --git a/pkgs/applications/version-management/git-trim/default.nix b/pkgs/applications/version-management/git-trim/default.nix
index a7dbf0c6ba4b..7e90b6e38035 100644
--- a/pkgs/applications/version-management/git-trim/default.nix
+++ b/pkgs/applications/version-management/git-trim/default.nix
@@ -7,6 +7,7 @@
 , libgit2
 , IOKit
 , CoreFoundation
+, Security
 , fetchpatch
 }:
 
@@ -36,7 +37,7 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ openssl libgit2 ]
-    ++ lib.optionals stdenv.isDarwin [ IOKit CoreFoundation ];
+    ++ lib.optionals stdenv.isDarwin [ IOKit CoreFoundation Security ];
 
   postInstall = ''
     install -Dm644 -t $out/share/man/man1/ docs/git-trim.1
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 3141d08cdcec..b7dd682e24a4 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -5,22 +5,26 @@
 , makeWrapper
 , git
 , bash
+, gitea
 , gzip
 , openssh
 , pam
 , sqliteSupport ? true
 , pamSupport ? true
+, runCommand
+, brotli
+, xorg
 , nixosTests
 }:
 
 buildGoModule rec {
   pname = "gitea";
-  version = "1.18.5";
+  version = "1.19.0";
 
   # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://dl.gitea.io/gitea/${version}/gitea-src-${version}.tar.gz";
-    hash = "sha256-OGPn4fknYfzmuAi6CL8m/Ih4uRNraVDmpBm20qT3lKk=";
+    hash = "sha256-9nDzXSGYxYw34/Ekmj44VdGLVhRsGL2e5gfyoyPUqGQ=";
   };
 
   vendorHash = null;
@@ -61,7 +65,21 @@ buildGoModule rec {
       --prefix PATH : ${lib.makeBinPath [ bash git gzip openssh ]}
   '';
 
-  passthru.tests = nixosTests.gitea;
+  passthru = {
+    data-compressed = runCommand "gitea-data-compressed" {
+      nativeBuildInputs = [ brotli xorg.lndir ];
+    } ''
+      mkdir $out
+      lndir ${gitea.data}/ $out/
+
+      # Create static gzip and brotli files
+      find -L $out -type f -regextype posix-extended -iregex '.*\.(css|html|js|svg|ttf|txt)' \
+        -exec gzip --best --keep --force {} ';' \
+        -exec brotli --best --keep --no-copy-stat {} ';'
+    '';
+
+    tests = nixosTests.gitea;
+  };
 
   meta = with lib; {
     description = "Git with a cup of tea";
diff --git a/pkgs/applications/version-management/gitea/static-root-path.patch b/pkgs/applications/version-management/gitea/static-root-path.patch
index e486397d9cf1..7f70329c6040 100644
--- a/pkgs/applications/version-management/gitea/static-root-path.patch
+++ b/pkgs/applications/version-management/gitea/static-root-path.patch
@@ -1,10 +1,10 @@
-diff --git a/modules/setting/setting.go b/modules/setting/setting.go
-index 45e55a2..9d18ee4 100644
---- a/modules/setting/setting.go
-+++ b/modules/setting/setting.go
-@@ -667,7 +667,7 @@ func NewContext() {
+diff --git a/modules/setting/server.go b/modules/setting/server.go
+index 183906268..fa02e8915 100644
+--- a/modules/setting/server.go
++++ b/modules/setting/server.go
+@@ -319,7 +319,7 @@ func loadServerFrom(rootCfg ConfigProvider) {
  	OfflineMode = sec.Key("OFFLINE_MODE").MustBool()
- 	DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool()
+ 	Log.DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool()
  	if len(StaticRootPath) == 0 {
 -		StaticRootPath = AppWorkPath
 +		StaticRootPath = "@data@"
diff --git a/pkgs/applications/version-management/got/default.nix b/pkgs/applications/version-management/got/default.nix
index e601b1165f5d..be57a4cf5bb1 100644
--- a/pkgs/applications/version-management/got/default.nix
+++ b/pkgs/applications/version-management/got/default.nix
@@ -1,28 +1,37 @@
 { lib, stdenv, fetchurl
 , pkg-config, openssl, libbsd, libevent, libuuid, libossp_uuid, libmd, zlib, ncurses, bison
+, autoPatchelfHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "got";
-  version = "0.83";
+  version = "0.86";
 
   src = fetchurl {
     url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
-    sha256 = "sha256-kNhU6OR9IUNPL72D90nhq2X5vmVW7YUmpnq/EOUvG/8=";
+    hash = "sha256-FHjLEkxsvkYz4tK1k/pEUfDT9rfvN+K68gRc8fPVp7A=";
   };
 
-  nativeBuildInputs = [ pkg-config bison ];
+  nativeBuildInputs = [ pkg-config bison ]
+    ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
 
   buildInputs = [ openssl libbsd libevent libuuid libmd zlib ncurses ]
   ++ lib.optionals stdenv.isDarwin [ libossp_uuid ];
 
-  preConfigure = lib.optionals stdenv.isDarwin ''
+  preConfigure = lib.optionalString stdenv.isDarwin ''
     # The configure script assumes dependencies on Darwin are install via
     # Homebrew or MacPorts and hardcodes assumptions about the paths of
     # dependencies which fails the nixpkgs configurePhase.
     substituteInPlace configure --replace 'xdarwin' 'xhomebrew'
   '';
 
+  env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.isDarwin [
+    # error: conflicting types for 'strmode'
+    "-DHAVE_STRMODE=1"
+    # Undefined symbols for architecture arm64: "_bsd_getopt"
+    "-include getopt.h"
+  ]);
+
   doInstallCheck = true;
 
   installCheckPhase = ''
diff --git a/pkgs/applications/version-management/lefthook/default.nix b/pkgs/applications/version-management/lefthook/default.nix
index c69931baceb6..a8d68ef12605 100644
--- a/pkgs/applications/version-management/lefthook/default.nix
+++ b/pkgs/applications/version-management/lefthook/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lefthook";
-  version = "1.3.5";
+  version = "1.3.7";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "evilmartians";
     repo = "lefthook";
-    sha256 = "sha256-v4ES3TbuDRUBK8xH/viP5QOZmp3eWjsy0YRaSxfTZV4=";
+    hash = "sha256-6wVzl2hu6bH2dqB/m/kgUQxRxOxMQltcGlo/TIIgh/Y=";
   };
 
-  vendorHash = "sha256-VeR/lyrQrjXWvHdxpG4H+XPlAud9rrlzX8GqhVzn1sg=";
+  vendorHash = "sha256-cMRl+TqSLlfoAja+JNaNKfHDR9fkvMTWdB1FT3XxPd4=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/rapidsvn/default.nix b/pkgs/applications/version-management/rapidsvn/default.nix
index 5c1499139ca0..7c2972538e9e 100644
--- a/pkgs/applications/version-management/rapidsvn/default.nix
+++ b/pkgs/applications/version-management/rapidsvn/default.nix
@@ -1,44 +1,51 @@
-{ lib, stdenv, fetchurl, wxGTK30, subversion, apr, aprutil, python3, fetchpatch }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, wxGTK32
+, subversion
+, apr
+, aprutil
+, python3
+, darwin
+}:
 
 stdenv.mkDerivation rec {
   pname = "rapidsvn";
-  version = "0.12.1";
+  version = "unstable-2021-08-02";
 
-  src = fetchurl {
-    url = "http://www.rapidsvn.org/download/release/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1bmcqjc12k5w0z40k7fkk8iysqv4fw33i80gvcmbakby3d4d4i4p";
+  src = fetchFromGitHub {
+    owner = "RapidSVN";
+    repo = "RapidSVN";
+    rev = "3a564e071c3c792f5d733a9433b9765031f8eed0";
+    hash = "sha256-6bQTHAOZAP+06kZDHjDx9VnGm4vrZUDyLHZdTpiyP08=";
   };
 
-  buildInputs = [ wxGTK30 subversion apr aprutil python3 ];
+  postPatch = ''
+    substituteInPlace configure.ac \
+      --replace "[3.0.*]" "[3.*]"
+  '';
 
-  env.NIX_CFLAGS_COMPILE = toString [ "-std=c++14" ];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  buildInputs = [
+    wxGTK32
+    subversion
+    apr
+    aprutil
+    python3
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Cocoa
+  ];
 
   configureFlags = [
     "--with-svn-include=${subversion.dev}/include"
     "--with-svn-lib=${subversion.out}/lib"
   ];
 
-  patches = [
-    ./fix-build.patch
-    # Python 3 compatibility patches
-    (fetchpatch {
-      url = "https://github.com/RapidSVN/RapidSVN/pull/44/commits/2e26fd5d6a413d6c3a055c17ac4840b95d1537e9.patch";
-      hash = "sha256-8acABzscgZh1bfAt35KHfU+nfaiO7P1b+lh34Bj0REI=";
-    })
-    (fetchpatch {
-      url = "https://github.com/RapidSVN/RapidSVN/pull/44/commits/92927af764f92b3731333ed3dba637f98611167a.patch";
-      hash = "sha256-4PdShGcfFwxjdI3ygbnKFAa8l9dGERq/xSl54WisgKM=";
-    })
-    (fetchpatch {
-      url = "https://github.com/RapidSVN/RapidSVN/pull/44/commits/3e375f11d94cb8faddb8b7417354a9fb51f304ec.patch";
-      hash = "sha256-BUpCMEH7jctOLtJktDUE52bxexfLemLItZ0IgdAnq9g=";
-    })
-    # wxWidgets 3.0 compatibility patches
-    (fetchpatch {
-      url = "https://sources.debian.org/data/main/r/rapidsvn/0.12.1dfsg-3.1/debian/patches/wx3.0.patch";
-      sha256 = "sha256-/07+FoOrNw/Pc+wlVt4sGOITfIIEu8ZbI3/ym0u8bs4=";
-    })
-  ];
+  env.NIX_CFLAGS_COMPILE = "-std=c++14";
 
   meta = {
     description = "Multi-platform GUI front-end for the Subversion revision system";
@@ -46,6 +53,5 @@ stdenv.mkDerivation rec {
     license = lib.licenses.gpl3Plus;
     maintainers = [ lib.maintainers.viric ];
     platforms = lib.platforms.unix;
-    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/version-management/sapling/default.nix b/pkgs/applications/version-management/sapling/default.nix
index 4028c41232ff..222d77ca7163 100644
--- a/pkgs/applications/version-management/sapling/default.nix
+++ b/pkgs/applications/version-management/sapling/default.nix
@@ -166,15 +166,20 @@ python3Packages.buildPythonApplication {
 
   HGNAME = "sl";
   SAPLING_OSS_BUILD = "true";
-  SAPLING_VERSION = version;
   SAPLING_VERSION_HASH = versionHash;
 
+  # Python setuptools version 66 and newer does not support upstream Sapling's
+  # version numbers (e.g. "0.2.20230124-180750-hf8cd450a"). Change the version
+  # number to something supported by setuptools (e.g. "0.2.20230124").
+  # https://github.com/facebook/sapling/issues/571
+  SAPLING_VERSION = builtins.elemAt (builtins.split "-" version) 0;
+
   # just a simple check phase, until we have a running test suite. this should
   # help catch issues like lack of a LOCALE_ARCHIVE setting (see GH PR #202760)
   doCheck = true;
   installCheckPhase = ''
-    echo -n "testing sapling version; should be \"${version}\"... "
-    $out/bin/sl version | grep -qw "${version}"
+    echo -n "testing sapling version; should be \"$SAPLING_VERSION\"... "
+    $out/bin/sl version | grep -qw "$SAPLING_VERSION"
     echo "OK!"
   '';
 
diff --git a/pkgs/applications/version-management/srvc/default.nix b/pkgs/applications/version-management/srvc/default.nix
index 258f03eb7831..1d2e5b46e46b 100644
--- a/pkgs/applications/version-management/srvc/default.nix
+++ b/pkgs/applications/version-management/srvc/default.nix
@@ -1,20 +1,21 @@
-{ lib, rustPlatform, fetchFromGitHub, stdenv, Security, git }:
+{ lib, rustPlatform, fetchFromGitHub, stdenv, darwin, git }:
 
 rustPlatform.buildRustPackage rec {
   pname = "srvc";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "insilica";
     repo = "rs-srvc";
     rev = "v${version}";
-    sha256 = "sha256-6wA2dnUUgS6HNQo2vMFqoT+seZHqcNLoTN+f5+Ok1AQ=";
+    hash = "sha256-vShPc+Tz8n2o8E13npr7ZbDzRaAesWBOJQaCO5ljypM=";
   };
 
-  cargoHash = "sha256-XkRnbfTaCo0J1+yOOvIxhDTjtaZURkjFOPWsFRk8iNU=";
+  cargoHash = "sha256-fHHJR1OvqCYfJkXe9mVQXJeTETDadR65kf8LMsPdAds=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
-    Security
+    darwin.apple_sdk.frameworks.CoreServices
+    darwin.apple_sdk.frameworks.Security
   ];
 
   nativeCheckInputs = [ git ];
diff --git a/pkgs/applications/version-management/sublime-merge/default.nix b/pkgs/applications/version-management/sublime-merge/default.nix
index 2bed38959c13..01bd8b3573ff 100644
--- a/pkgs/applications/version-management/sublime-merge/default.nix
+++ b/pkgs/applications/version-management/sublime-merge/default.nix
@@ -9,8 +9,8 @@ in {
   } {};
 
   sublime-merge-dev = common {
-    buildVersion = "2082";
-    x64sha256 = "Gl1BrLTSDLRTgrYQW/99o0XRjSIxvnNYRIViZEidcsM=";
+    buildVersion = "2085";
+    x64sha256 = "40yI6EtP2l22aPP50an3ycvdEcAqJphhGhYYoOPyHw0=";
     dev = true;
   } {};
 }
diff --git a/pkgs/applications/video/go2tv/default.nix b/pkgs/applications/video/go2tv/default.nix
index 1137193ef41c..7a163040f9ee 100644
--- a/pkgs/applications/video/go2tv/default.nix
+++ b/pkgs/applications/video/go2tv/default.nix
@@ -14,16 +14,16 @@
 
 buildGoModule rec {
   pname = "go2tv" + lib.optionalString (!withGui) "-lite";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "alexballas";
     repo = "go2tv";
     rev = "v${version}";
-    sha256 = "sha256-ZHKfBKOX3/kVR6Nc+jSmLgfmpihc6QMb6NvTFlsBr5E=";
+    sha256 = "sha256-jzQLQCD5kAl7G8S8ihW52JuQ/d5Ma+LQwznBGLI3+Ac=";
   };
 
-  vendorSha256 = "sha256-msXfXFWXyZeT6zrRPZkBV7PEyPqYkx+JlpTWUwgFavI=";
+  vendorHash = null;
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/video/kodi/addons/youtube/default.nix b/pkgs/applications/video/kodi/addons/youtube/default.nix
index 5957d8a2208d..8a9ccc5554f9 100644
--- a/pkgs/applications/video/kodi/addons/youtube/default.nix
+++ b/pkgs/applications/video/kodi/addons/youtube/default.nix
@@ -3,11 +3,11 @@
 buildKodiAddon rec {
   pname = "youtube";
   namespace = "plugin.video.youtube";
-  version = "7.0.0";
+  version = "7.0.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
-    sha256 = "sha256-azluf+CATsgjotTqBUAbqB3PvWuHpsS6weakKAbk9F8=";
+    sha256 = "sha256-Wdju7d2kFX0V1J1TB75qEVq0UWN2xYYFNlD8UTt1New=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/kodi/unwrapped.nix b/pkgs/applications/video/kodi/unwrapped.nix
index 1a3b8135e017..b08978bcf59d 100644
--- a/pkgs/applications/video/kodi/unwrapped.nix
+++ b/pkgs/applications/video/kodi/unwrapped.nix
@@ -15,7 +15,7 @@
 , curl, bzip2, zip, unzip, glxinfo
 , libcec, libcec_platform, dcadec, libuuid
 , libcrossguid, libmicrohttpd
-, bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn, libpthreadstubs, libtasn1
+, bluez, doxygen, giflib, glib, harfbuzz, lcms2, libidn2, libpthreadstubs, libtasn1
 , libplist, p11-kit, zlib, flatbuffers, fstrcmp, rapidjson
 , lirc
 , x11Support ? true, libX11, xorgproto, libXt, libXmu, libXext, libXinerama, libXrandr, libXtst, libXfixes, xdpyinfo, libXdmcp
@@ -38,19 +38,21 @@ assert usbSupport -> !udevSupport; # libusb-compat-0_1 won't be used if udev is
 assert gbmSupport || waylandSupport || x11Support;
 
 let
-  kodiReleaseDate = "20230115";
-  kodiVersion = "20.0";
+  kodiReleaseDate = "20230312";
+  kodiVersion = "20.1";
   rel = "Nexus";
 
   kodi_src = fetchFromGitHub {
-    owner  = "xbmc";
-    repo   = "xbmc";
-    rev    = "${kodiVersion}-${rel}";
-    sha256 = "sha256-0BkbA1iovouwjQVtiKFw3+64i7sMWZNiCUfOQ0EsslY=";
+    owner = "xbmc";
+    repo = "xbmc";
+    rev = "${kodiVersion}-${rel}";
+    hash = "sha256-2nwjW0MYrMVk+dllrAv9yn+YNA6/loZzoK8mbFIZ8Xs=";
   };
 
   # see https://github.com/xbmc/xbmc/blob/${kodiVersion}-${rel}/tools/depends/target/ to get suggested versions for all dependencies
 
+  # kodi 20.0 moved to ffmpeg 5, *but* there is a bug making the compilation fail which will
+  # only been fixed in kodi 21, so stick to ffmpeg 4 for now
   ffmpeg = stdenv.mkDerivation rec {
     pname = "kodi-ffmpeg";
     version = "4.4.1";
@@ -71,7 +73,7 @@ let
       "-DOS=${stdenv.hostPlatform.parsed.kernel.name}"
       "-DPKG_CONFIG_EXECUTABLE=pkg-config"
     ];
-    buildInputs = [ libidn libtasn1 p11-kit zlib libva ]
+    buildInputs = [ libidn2 libtasn1 p11-kit zlib libva ]
       ++ lib.optional vdpauSupport libvdpau;
     nativeBuildInputs = [ cmake nasm pkg-config gnutls ];
   };
@@ -110,7 +112,7 @@ in stdenv.mkDerivation {
     src = kodi_src;
 
     buildInputs = [
-      gnutls libidn libtasn1 nasm p11-kit
+      gnutls libidn2 libtasn1 nasm p11-kit
       libxml2 python3Packages.python
       boost libmicrohttpd
       gettext pcre-cpp yajl fribidi libva libdrm
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix b/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix
index d3fc0e15bda0..b58d702b2dd6 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-pipewire-audio-capture";
-  version = "1.0.5";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "dimtpap";
     repo = pname;
     rev = "${version}";
-    sha256 = "sha256-AXqBdwu5ayzQPIVOhqspDHnQo422y3WGA+kmW1DzoL0=";
+    sha256 = "sha256-gcOH8gJuP03MxhJbgl941yTtm2XIHmqHWVwkRCVATkQ=";
   };
 
   nativeBuildInputs = [ cmake ninja pkg-config ];
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index 1c2dce886536..a335e058b9f1 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    hash = "sha256-Pm96fOfbBqf7mc9llv3sFi00Ioa3f9WNoDmLBPhB2eI=";
+    hash = "sha256-3L+rhDfvxu9MhU/VvyJTIkDV+1h4Y56PbZRLS2a5rjY=";
     fetchSubmodules = true;
   };
 
@@ -73,6 +73,7 @@ stdenv.mkDerivation rec {
   passthru.tests = { inherit (nixosTests) podman; };
 
   meta = with lib; {
+    changelog = "https://github.com/containers/crun/releases/tag/${version}";
     description = "A fast and lightweight fully featured OCI runtime and C library for running containers";
     homepage = "https://github.com/containers/crun";
     license = licenses.gpl2Plus;
diff --git a/pkgs/applications/virtualization/docker/buildx.nix b/pkgs/applications/virtualization/docker/buildx.nix
index d703f39bed77..67c8995a61f3 100644
--- a/pkgs/applications/virtualization/docker/buildx.nix
+++ b/pkgs/applications/virtualization/docker/buildx.nix
@@ -2,15 +2,17 @@
 
 buildGoModule rec {
   pname = "docker-buildx";
-  version = "0.9.1";
+  version = "0.10.4";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "buildx";
     rev = "v${version}";
-    sha256 = "sha256-nJR+wpWa7y8Mq6WWj1ZH/FRCtar40XP2fwyl1hMgELI=";
+    sha256 = "sha256-hYEFboZa6RGiy0wr7NEWaf5KCz/O7KGXTc6c9hMmoXk=";
   };
 
+  doCheck = false;
+
   vendorSha256 = null;
 
   ldflags = [
@@ -32,6 +34,6 @@ buildGoModule rec {
     description = "Docker CLI plugin for extended build capabilities with BuildKit";
     homepage = "https://github.com/docker/buildx";
     license = licenses.asl20;
-    maintainers = [ maintainers.ivan-babrou ];
+    maintainers = with maintainers; [ ivan-babrou developer-guy ];
   };
 }
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 120bd2670f64..8db3c0e90fa4 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -145,6 +145,11 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://podman.io/";
     description = "A program for managing pods, containers and container images";
+    longDescription = ''
+      Podman (the POD MANager) is a tool for managing containers and images, volumes mounted into those containers, and pods made from groups of containers. Podman runs containers on Linux, but can also be used on Mac and Windows systems using a Podman-managed virtual machine. Podman is based on libpod, a library for container lifecycle management that is also contained in this repository. The libpod library provides APIs for managing containers, pods, container images, and volumes.
+
+      To install on NixOS, please use the option `virtualisation.podman.enable = true`.
+    '';
     changelog = "https://github.com/containers/podman/blob/v${version}/RELEASE_NOTES.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ marsam ] ++ teams.podman.members;
diff --git a/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix b/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix
index 176b0de54e0b..dcc6ea9c1cf3 100644
--- a/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix
+++ b/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix
@@ -13,7 +13,7 @@
 , libthai
 , pango
 , pcre
-, utillinux
+, util-linux
 , wayland
 , wayland-protocols
 , wayland-scanner
@@ -55,7 +55,7 @@ stdenv.mkDerivation {
     wayland-scanner
     wlroots
     libXdmcp
-    utillinux
+    util-linux
   ];
 
   configurePhase = ''
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index 52a213cda86f..20f73952eebf 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -41,13 +41,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "icewm";
-  version = "3.3.1";
+  version = "3.3.2";
 
   src = fetchFromGitHub {
     owner = "ice-wm";
     repo = "icewm";
     rev = finalAttrs.version;
-    hash = "sha256-2gEZRkym21X4rvj6kzZh9WChZUkfqgS1wiWh7LBioZM=";
+    hash = "sha256-9fw3vqcorWZZROYm1vbDOrlkzEbuk7X2dOO/Edo3AOg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/leftwm/default.nix b/pkgs/applications/window-managers/leftwm/default.nix
index 70d7476432a2..d12180148d1c 100644
--- a/pkgs/applications/window-managers/leftwm/default.nix
+++ b/pkgs/applications/window-managers/leftwm/default.nix
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = rpathLibs;
 
   postInstall = ''
-    for p in $out/bin/leftwm*; do
+    for p in $out/bin/left*; do
       patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}" $p
     done
   '';
diff --git a/pkgs/applications/window-managers/miriway/default.nix b/pkgs/applications/window-managers/miriway/default.nix
index fd3e82e43aa5..3b9f483bb917 100644
--- a/pkgs/applications/window-managers/miriway/default.nix
+++ b/pkgs/applications/window-managers/miriway/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "miriway";
-  version = "unstable-2023-02-18";
+  version = "unstable-2023-03-17";
 
   src = fetchFromGitHub {
     owner = "Miriway";
     repo = "Miriway";
-    rev = "1363ae0452c5093f84418bc65354e93796caec65";
-    hash = "sha256-hQ2z3GlTJG9qewJLkPpoRMSn0D7xCLyl+1O+G4NnedA=";
+    rev = "f4c52fee6c1aeba40fc3e8cb1d6ec7354da0765b";
+    hash = "sha256-/Av/gRTK3y0TlW3BqS+LPj8nS/4SXQpavYDpdvHwPqI=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix
index 093b6d1884c2..c5f6886c6590 100644
--- a/pkgs/applications/window-managers/openbox/default.nix
+++ b/pkgs/applications/window-managers/openbox/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, python3
+{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, pkg-config, python3
 , libxml2, libXinerama, libXcursor, libXau, libXrandr, libICE, libSM
 , imlib2, pango, libstartup_notification, makeWrapper }:
 
@@ -45,6 +45,13 @@ stdenv.mkDerivation rec {
       url = "https://raw.githubusercontent.com/archlinux/svntogit-community/90cb57ef53d952bb6ab4c33a184f815bbe1791c0/openbox/trunk/py3.patch";
       sha256 = "1ks99awlkhd5ph9kz94s1r6m1bfvh42g4rmxd14dyg5b421p1ljc";
     })
+
+    # Fix crash with GLib 2.76. This is proposed on https://bugzilla.icculus.org/show_bug.cgi?id=6669
+    # and commited to a work branch in the upstream repo. See https://bugs.archlinux.org/task/77853.
+    (fetchpatch {
+      url = "https://github.com/Mikachu/openbox/commit/d41128e5a1002af41c976c8860f8299cfcd3cd72.patch";
+      sha256 = "sha256-4/aoI4y98JPybZ1MNI7egOhkroQgh/oeGnYrhNGX4t4=";
+    })
   ];
 
   postBuild = "gcc -O2 -o setlayout $(pkg-config --cflags --libs x11) $setlayoutSrc";
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/default.nix b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
index 311eb2b293e5..32e8cbd2b1ad 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/default.nix
+++ b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
@@ -121,11 +121,13 @@ let
   # this contains all the nuget packages that are implicitly referenced by the dotnet
   # build system. having them as separate deps allows us to avoid having to regenerate
   # a packages dependencies when the dotnet-sdk version changes
-  sdkDeps = dotnet-sdk.packages;
+  sdkDeps = lib.lists.flatten [ dotnet-sdk.packages ];
 
-  sdkSource = mkNugetSource {
-    name = "dotnet-sdk-${dotnet-sdk.version}-source";
-    deps = [ sdkDeps ];
+  sdkSource = let
+    version = dotnet-sdk.version or (lib.concatStringsSep "-" dotnet-sdk.versions);
+  in mkNugetSource {
+    name = "dotnet-sdk-${version}-source";
+    deps = sdkDeps;
   };
 
   nuget-source = symlinkJoin {
@@ -271,7 +273,12 @@ stdenvNoCC.mkDerivation (args // {
 
         echo "Writing lockfile..."
         echo -e "# This file was automatically generated by passthru.fetch-deps.\n# Please dont edit it manually, your changes might get overwritten!\n" > "$depsFile"
-        nuget-to-nix "$tmp/nuget_pkgs" "${sdkDeps}" >> "$depsFile"
+
+        excluded_sources="${lib.concatStringsSep " " sdkDeps}"
+        for excluded_source in ''${excluded_sources[@]}; do
+          ls "$excluded_source" >> "$tmp/excluded_list"
+        done
+        nuget-to-nix "$tmp/nuget_pkgs" "$tmp/excluded_list" >> "$depsFile"
         echo "Succesfully wrote lockfile to $depsFile"
       '';
   } // args.passthru or { };
diff --git a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
index 390c96751fac..ce2a7070ea31 100755
--- a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
+++ b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
@@ -7,14 +7,15 @@ export PATH="@binPath@"
 export LC_ALL=C
 
 if [ $# -eq 0 ]; then
-  >&2 echo "Usage: $0 <packages directory> [path to excluded package source] > deps.nix"
+  >&2 echo "Usage: $0 <packages directory> [path to a file with a list of excluded packages] > deps.nix"
   exit 1
 fi
 
 pkgs=$1
 tmp=$(realpath "$(mktemp -td nuget-to-nix.XXXXXX)")
 trap 'rm -r "$tmp"' EXIT
-excluded_source=$(realpath "${2:-$tmp/empty}")
+
+excluded_list=$(realpath "${2:-/dev/null}")
 
 export DOTNET_NOLOGO=1
 export DOTNET_CLI_TELEMETRY_OPTOUT=1
@@ -37,7 +38,7 @@ for package in *; do
   for version in *; do
     id=$(xq -r .package.metadata.id "$version/$package".nuspec)
 
-    if [[ -e "$excluded_source/$id.$version".nupkg ]]; then
+    if grep -qxF "$id.$version.nupkg" "$excluded_list"; then
       continue
     fi
 
diff --git a/pkgs/build-support/rust/import-cargo-lock.nix b/pkgs/build-support/rust/import-cargo-lock.nix
index 9ff9c2f6289c..1c739933af16 100644
--- a/pkgs/build-support/rust/import-cargo-lock.nix
+++ b/pkgs/build-support/rust/import-cargo-lock.nix
@@ -1,4 +1,4 @@
-{ fetchgit, fetchurl, lib, runCommand, cargo, jq }:
+{ fetchgit, fetchurl, lib, writers, python3Packages, runCommand, cargo, jq }:
 
 {
   # Cargo lock file
@@ -93,6 +93,11 @@ let
       sha256 = checksum;
     };
 
+  # Replaces values inherited by workspace members.
+  replaceWorkspaceValues = writers.writePython3 "replace-workspace-values"
+    { libraries = with python3Packages; [ tomli tomli-w ]; flakeIgnore = [ "E501" ]; }
+    (builtins.readFile ./replace-workspace-values.py);
+
   # Fetch and unpack a crate.
   mkCrate = pkg:
     let
@@ -171,6 +176,11 @@ let
         cp -prvd "$tree/" $out
         chmod u+w $out
 
+        if grep -q workspace "$out/Cargo.toml"; then
+          chmod u+w "$out/Cargo.toml"
+          ${replaceWorkspaceValues} "$out/Cargo.toml" "${tree}/Cargo.toml"
+        fi
+
         # Cargo is happy with empty metadata.
         printf '{"files":{},"package":null}' > "$out/.cargo-checksum.json"
 
diff --git a/pkgs/build-support/rust/replace-workspace-values.py b/pkgs/build-support/rust/replace-workspace-values.py
new file mode 100644
index 000000000000..fe5462883302
--- /dev/null
+++ b/pkgs/build-support/rust/replace-workspace-values.py
@@ -0,0 +1,95 @@
+# This script implements the workspace inheritance mechanism described
+# here: https://doc.rust-lang.org/cargo/reference/workspaces.html#the-package-table
+#
+# Please run `mypy --strict`, `black`, and `isort --profile black` on this after editing, thanks!
+
+import sys
+from typing import Any
+
+import tomli
+import tomli_w
+
+
+def load_file(path: str) -> dict[str, Any]:
+    with open(path, "rb") as f:
+        return tomli.load(f)
+
+
+def replace_key(
+    workspace_manifest: dict[str, Any], table: dict[str, Any], section: str, key: str
+) -> bool:
+    if "workspace" in table[key] and table[key]["workspace"] is True:
+        print("replacing " + key)
+
+        replaced = table[key]
+        del replaced["workspace"]
+
+        workspace_copy = workspace_manifest[section][key]
+
+        if section == "dependencies":
+            crate_features = replaced.get("features")
+
+            if type(workspace_copy) is str:
+                replaced["version"] = workspace_copy
+            else:
+                replaced.update(workspace_copy)
+
+                merged_features = (crate_features or []) + (
+                    workspace_copy.get("features") or []
+                )
+
+                if len(merged_features) > 0:
+                    # Dictionaries are guaranteed to be ordered (https://stackoverflow.com/a/7961425)
+                    replaced["features"] = list(dict.fromkeys(merged_features))
+        elif section == "package":
+            table[key] = replaced = workspace_copy
+
+        return True
+
+    return False
+
+
+def replace_dependencies(
+    workspace_manifest: dict[str, Any], root: dict[str, Any]
+) -> bool:
+    changed = False
+
+    for key in ["dependencies", "dev-dependencies", "build-dependencies"]:
+        if key in root:
+            for k in root[key].keys():
+                changed |= replace_key(workspace_manifest, root[key], "dependencies", k)
+
+    return changed
+
+
+def main() -> None:
+    crate_manifest = load_file(sys.argv[1])
+    workspace_manifest = load_file(sys.argv[2])["workspace"]
+
+    if "workspace" in crate_manifest:
+        return
+
+    changed = False
+
+    for key in crate_manifest["package"].keys():
+        changed |= replace_key(
+            workspace_manifest, crate_manifest["package"], "package", key
+        )
+
+    changed |= replace_dependencies(workspace_manifest, crate_manifest)
+
+    if "target" in crate_manifest:
+        for key in crate_manifest["target"].keys():
+            changed |= replace_dependencies(
+                workspace_manifest, crate_manifest["target"][key]
+            )
+
+    if not changed:
+        return
+
+    with open(sys.argv[1], "wb") as f:
+        tomli_w.dump(crate_manifest, f)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/pkgs/build-support/rust/test/import-cargo-lock/default.nix b/pkgs/build-support/rust/test/import-cargo-lock/default.nix
index 74be68b2c356..f399107eb982 100644
--- a/pkgs/build-support/rust/test/import-cargo-lock/default.nix
+++ b/pkgs/build-support/rust/test/import-cargo-lock/default.nix
@@ -1,4 +1,4 @@
-{ callPackage }:
+{ callPackage, writers, python3Packages }:
 
 # Build like this from nixpkgs root:
 # $ nix-build -A tests.importCargoLock
@@ -12,4 +12,9 @@
   gitDependencyBranch = callPackage ./git-dependency-branch { };
   maturin = callPackage ./maturin { };
   v1 = callPackage ./v1 { };
+  gitDependencyWorkspaceInheritance = callPackage ./git-dependency-workspace-inheritance {
+    replaceWorkspaceValues = writers.writePython3 "replace-workspace-values"
+      { libraries = with python3Packages; [ tomli tomli-w ]; flakeIgnore = [ "E501" ]; }
+      (builtins.readFile ../../replace-workspace-values.py);
+  };
 }
diff --git a/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/crate.toml b/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/crate.toml
new file mode 100644
index 000000000000..a50855706dff
--- /dev/null
+++ b/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/crate.toml
@@ -0,0 +1,6 @@
+[package]
+version = { workspace = true }
+
+[dependencies]
+foo = { workspace = true, features = ["cat"] }
+bar = "1.0.0"
diff --git a/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/default.nix b/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/default.nix
new file mode 100644
index 000000000000..138b7179b95f
--- /dev/null
+++ b/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/default.nix
@@ -0,0 +1,7 @@
+{ replaceWorkspaceValues, runCommand }:
+
+runCommand "git-dependency-workspace-inheritance-test" { } ''
+  cp --no-preserve=mode ${./crate.toml} "$out"
+  ${replaceWorkspaceValues} "$out" ${./workspace.toml}
+  diff -u "$out" ${./want.toml}
+''
diff --git a/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/want.toml b/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/want.toml
new file mode 100644
index 000000000000..3c11228e97c2
--- /dev/null
+++ b/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/want.toml
@@ -0,0 +1,12 @@
+[package]
+version = "1.0.0"
+
+[dependencies]
+bar = "1.0.0"
+
+[dependencies.foo]
+features = [
+    "cat",
+    "meow",
+]
+version = "1.0.0"
diff --git a/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/workspace.toml b/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/workspace.toml
new file mode 100644
index 000000000000..c58112a782d0
--- /dev/null
+++ b/pkgs/build-support/rust/test/import-cargo-lock/git-dependency-workspace-inheritance/workspace.toml
@@ -0,0 +1,5 @@
+[workspace.package]
+version = "1.0.0"
+
+[workspace.dependencies]
+foo = { version = "1.0.0", features = ["meow"] }
diff --git a/pkgs/data/fonts/bqn386/default.nix b/pkgs/data/fonts/bqn386/default.nix
new file mode 100644
index 000000000000..b908e2e2381e
--- /dev/null
+++ b/pkgs/data/fonts/bqn386/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenvNoCC, fetchFromGitHub }:
+
+stdenvNoCC.mkDerivation {
+  pname = "bqn386";
+  version = "unstable-2022-05-16";
+
+  src = fetchFromGitHub {
+    owner = "dzaima";
+    repo = "BQN386";
+    rev = "81e18d1eb8cb6b66df9e311b3b63ec086d910d18";
+    hash = "sha256-f0MbrxdkEiOqod41U07BvdDFDbFCqJuGyDIcx2Y24D0=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm644 -t $out/share/fonts/truetype *.ttf
+    install -Dm644 -t $out/share/fonts/woff2 *.woff2
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "An APL and BQN font extending on APL386";
+    homepage = "https://dzaima.github.io/BQN386/";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ skykanin ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index be8080b81fe3..805704e9c61f 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -11,7 +11,7 @@ let
     (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
 in stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "21.0.0";
+  version = "21.1.0";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index bea579bf3bc6..b859d17cf93d 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,95 +1,95 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  iosevka = "120a4b0ywmiwi2rl2kwbv38ws1sazjxx153z3jnxhb94k2bwd97w";
-  iosevka-aile = "1561vshhkwina9vfj1a8081xxx4sx43khwmfnkp2vscfnbd5mmm1";
-  iosevka-curly = "05n9n0x8scn0v1d4gyg61q5ga22bpsz1dhvpci2xp8xya9n8sj9m";
-  iosevka-curly-slab = "12qm0vpycpgqw3p0akl7mgj7rhy3mk1j6dwy2k5xv8h77mxbx7x5";
-  iosevka-etoile = "06x9q985vic0zqsrmj9664czlw7ka6x4av5sz3jq74xm0pw8ss8a";
-  iosevka-slab = "14d94zd20v9yiwkrkp5kh99i8dzw947a0lvnzcc568xlfadyjmkv";
-  iosevka-ss01 = "04xll8a7c1v36w2zrjvc1h24kxrhv3fq89p70niyi75rsrcfh7gq";
-  iosevka-ss02 = "0wfwzcybp1bh1ka7ky099yy58bg8z4bk0ih1xv63l9rcsyr01jki";
-  iosevka-ss03 = "1k8qn7hwzn15md92fhc2j2kbfbi19l8apah80vrc6mrix0kik2m3";
-  iosevka-ss04 = "0vcv4l26vbi7sagsf7kicpkif9kz05hm9xfhdqim1mglb3m1ixpb";
-  iosevka-ss05 = "128c89afpvy58kn3cca7iwwq451ihv1f0x0485sm9r0hbm0ql007";
-  iosevka-ss06 = "1qsjzza08bvhvgfhcwki7ikayj0di78slm659xhwzj05lh83pzvz";
-  iosevka-ss07 = "0jrkfri5basrlp1q8hy1sadj2j7p76nbj8madw8xq29l60nwkr47";
-  iosevka-ss08 = "18jka9jnckszb0s9r681bmvd9nxxcajz46wpf0hmxfbnrwzwdqh5";
-  iosevka-ss09 = "1131i5vxbd6wwvwidm2xqsgp1mrpnvkmcqzyws88izgya7fywhfj";
-  iosevka-ss10 = "0rsxkhidna7w4r5x6d8gjv7f137f123iswj1i9bbr8grd62x3lii";
-  iosevka-ss11 = "1fzm8g72r2chaq10a3jmnv59j8cbkms107i056yxly8jgc79ajxx";
-  iosevka-ss12 = "0c8cxqyni0vg1ywfcm2hdn4djjbfz2g7cj7ikr68v8v4prpc6pkv";
-  iosevka-ss13 = "18a88v8g3hlq0g26pcz9xj072dki3whb6ls4jqzsdmvs5lrs1msg";
-  iosevka-ss14 = "11h75i727q3g3s1332nl507bllbddrqgh3vvyhfzny5ryq2z2826";
-  iosevka-ss15 = "15isyshl0wjdp6h4cp0birhff2ma53ss3sh5xwpj8jp3ndyjlk37";
-  iosevka-ss16 = "00jjwqk2n6ig06v1h7w7j19f14y3l58ckaci2x3fnsj810vqhpmg";
-  iosevka-ss17 = "1jk0840q7lgw1jn115jsdxkw133g3c7yp7jqffvl760p1447b328";
-  iosevka-ss18 = "0jk6vm4clxcq9f60wa49vhyvxsk66plbawcj57cyj6nb4ihigmdx";
-  sgr-iosevka = "14gkjca8mmkp0j02k5i2x8rs8nz9nj81s1w4qczn4a9dnzj0si63";
-  sgr-iosevka-aile = "102wd1bpy1bfsijn607r5qhpjnxs4hlp5hfzvy1s37jmvm632sd0";
-  sgr-iosevka-curly = "0qcbj4ccvbf6dj7z76hzmynv5p6dsm6zd43qd4vxcdb06g8gg3g0";
-  sgr-iosevka-curly-slab = "0s9mkfn5j035iy0yjr3j9fd3064km5l8614r9js55zcbw00lq2xk";
-  sgr-iosevka-etoile = "0qg874iq1acadwjnqzks2kb8ywx1wpri96w9jl4z8r7wwwj1g91p";
-  sgr-iosevka-fixed = "1hp3bjnp6qbb0pv32d37cg3l69f1jnyd58wjvwxyh0jr02pazska";
-  sgr-iosevka-fixed-curly = "0idfwlnrk4wdz5k994s94y51gza56nfdl0y23lv6iyj2zahqz5jc";
-  sgr-iosevka-fixed-curly-slab = "1k13vc81s32yh180h9cjqclg4dsy9dhjxdw9zi5zmm6vgf08120z";
-  sgr-iosevka-fixed-slab = "01cfk6jsahjg78840gci3fb02475jrk9lvz0llpfkpzyckbjdch3";
-  sgr-iosevka-fixed-ss01 = "1bd4069myw7bgpldy82fkz2p65i02smhnbns0n5gw0k8d7q22b07";
-  sgr-iosevka-fixed-ss02 = "0svvrf0wdq2s96gk53n4r5cpgb7zsj0z7d41wdjj208h0pdlpdd3";
-  sgr-iosevka-fixed-ss03 = "0kwix24d5xw7g5wjvim8f51wp747k64w1r1ycf0375lakyz3h1dv";
-  sgr-iosevka-fixed-ss04 = "173rxlnvj7cakfll01dz9a3c7mv3jp4w5yfkyw6x3ydbhsnh8wgs";
-  sgr-iosevka-fixed-ss05 = "0r6mgz4hbca39izxbdsr56v1f9v700qdmr1qid36kd6nqd22lwrm";
-  sgr-iosevka-fixed-ss06 = "0mda1y26w76ha1bpy53ch93p21z4ccz62g0dcqjwsalimq6nnfj4";
-  sgr-iosevka-fixed-ss07 = "1xz24srcdw03xifvh6bfrx89n2xra3bl2zyyfalpwcnw0r2ck1kh";
-  sgr-iosevka-fixed-ss08 = "0rxfp13pjypb2alhh56mymbzss307lgjljcci4fmbpd3bfdndnp7";
-  sgr-iosevka-fixed-ss09 = "1s1xgmr68gblmyn5zkj5w8rl99rvv23ykyyh2w6bk5vp4zra75rx";
-  sgr-iosevka-fixed-ss10 = "0jr9jd7x6kfiil61dz1gldnyj8v0gc5fvfhvpgsbk8a9q3w4qqz4";
-  sgr-iosevka-fixed-ss11 = "1bbwgwrqcyqc3ghcpmprprpp5y4kp6wa07dw97qmi52v86mdghp3";
-  sgr-iosevka-fixed-ss12 = "1l12hvf02f29656k7pnwsbij9avp99jgzrqy1i1zz50cg2qk8jsa";
-  sgr-iosevka-fixed-ss13 = "1ynbi1wd9nbx2drd6dwlmr1g0753bwx6cxf3ldddcz6hhvi1glgz";
-  sgr-iosevka-fixed-ss14 = "008anx3skj8yfxpjpfcp76b4isn8sx0bykqxhc14wp9jfdg603n5";
-  sgr-iosevka-fixed-ss15 = "0gpmsp70xbc88gl39jqbzli1vpab2776lziyk41zjy09y1sg34sd";
-  sgr-iosevka-fixed-ss16 = "0xc4nbdgfkixxw8wj3gyxwrca82605nwwmfz1kq513xjyr3ggj05";
-  sgr-iosevka-fixed-ss17 = "17fc32zr89kfb3gfpj6s8rk6p3nzri0qcyq0b5dwgi0wl9kc89x6";
-  sgr-iosevka-fixed-ss18 = "1yfjkjyyvxpr546sgc960qqf7j6q36aj79p004279c4anxj8m585";
-  sgr-iosevka-slab = "0l1ws8ig2kv7rixss3yd5294wiwa8gd6mqpcsmmm37zh107m7lqk";
-  sgr-iosevka-ss01 = "1241smh42xifvz4asyjk9q497v8jy7jiq8sak3sp1xi60r3vdlp7";
-  sgr-iosevka-ss02 = "0rlhzclwzcdjl00kj4hhvrvjyw423a9cxih02hs0p3mg5ak7blkz";
-  sgr-iosevka-ss03 = "1bva2jp4g5a3rf492c1giy7lbbxgp0vbjgs518r0bdwgmnw133ms";
-  sgr-iosevka-ss04 = "07470abd2mg4ws5g18755zw1graf09jcbp16b4n7887mksib0m5j";
-  sgr-iosevka-ss05 = "0s8r4c46r4qdly566zx1nhavsipbbr68dwqs8yfi4qxxlywjqi23";
-  sgr-iosevka-ss06 = "1h490zwghdfgjp1ijmb5wl5r91byz3xg07jlyp6hdfx75csxqpzb";
-  sgr-iosevka-ss07 = "170633416ci2rkbqr60f528zz2id6xk46x5s301jlf9ywafcnzmx";
-  sgr-iosevka-ss08 = "034cafgcm3iklnf6rjwdhvscgh9bf3p5l55zg4jmrcjvvazj35f5";
-  sgr-iosevka-ss09 = "0h9dv2awr9vrxinncizpjz044mxx6v4cfr24fpalbazr67q123la";
-  sgr-iosevka-ss10 = "0ixbhqrglkbdid4xcfbwgxvd9pzq31b1307926pjiwsh0fwsfnjj";
-  sgr-iosevka-ss11 = "1jap6jk1zr2910p8i6x7k996zfpd196y577lmq0xpc3cr2zzz9sz";
-  sgr-iosevka-ss12 = "1bh3g7grvf9rk8vyiprryj7kf1jr5qbf1v14zwlidmjr56s144fj";
-  sgr-iosevka-ss13 = "0v55a62a4ffia7ai8b7gh70mf67ndwzcknrsv6p427jfyc9vx4pp";
-  sgr-iosevka-ss14 = "086bim6dvjx7v7q9qy4c9jwgfc6bjgxml8mal6drjhg3bfrk2l0b";
-  sgr-iosevka-ss15 = "1llxs2xszcivy4y0x32177vgi7qq412mk8g26npxlxgqjlid5qdf";
-  sgr-iosevka-ss16 = "07dh2hkdf4bfhywlclmpph7f0sbz3hhpgczm51xrqxnda3rdn7cr";
-  sgr-iosevka-ss17 = "11468pqx6qhma6cdm7bhr44kamh6n890pq2fla9bxf4dvv1jk4xb";
-  sgr-iosevka-ss18 = "0bmbrwwxsyi3ad1b2f95y09kmn2a32da936p77rwbzki81351qqy";
-  sgr-iosevka-term = "19hc7hygnizk4i9dv3y276fangrz759wnvj1vzvzfid4s7drjipj";
-  sgr-iosevka-term-curly = "09ialv6dvh3cdk74b3lwm330ra2d8j1hx0by19xx7i1j3njiqxk3";
-  sgr-iosevka-term-curly-slab = "0rgarx80vfrfyyqd341s8ddvqji1gwqhg4wcxl7z77rmdqfj1mw8";
-  sgr-iosevka-term-slab = "05sdmkqbgr9pix9na6ac7xqw1q6nbbjq0kyqkar7cbsal82b1jbx";
-  sgr-iosevka-term-ss01 = "1wgapryk0659s7dxaasfyyl4vhbq5sg5nvkczqd016fzi23syr78";
-  sgr-iosevka-term-ss02 = "0gcgvpw5d8s9wpd0yh574s5ww3lh6wf2xp1sf4bfs1n3d7ym7gdi";
-  sgr-iosevka-term-ss03 = "00qfvwj4p2ld14i4v6qjjcs6k4vr5c97jiq1wx8yxd3hm462n0h6";
-  sgr-iosevka-term-ss04 = "1jxnvsadf17k1shr84329knkys3675lv8ls8m1xld7r39fh1ysqr";
-  sgr-iosevka-term-ss05 = "0alpg5qf61bf5dg84jkvl96llsfiyn3viz1yzlz6rzzp0f83khlr";
-  sgr-iosevka-term-ss06 = "1hsh3bl465v1xsz4aihc87q4aff4k1p934sh5yr4nkfjfk1hgw1f";
-  sgr-iosevka-term-ss07 = "0707bcxcy2j3bx5jgcf2rvz3f8iy2vqc1m4l3mm5k0xkfx4yx3nw";
-  sgr-iosevka-term-ss08 = "1lmw903nb6anzpigsc6d1vcxb1xrw9s6ylxsdka05vd18rlhg93x";
-  sgr-iosevka-term-ss09 = "09pyywsigqaaa1gz3480nvvpcc4lgdcrrxg06kad5ai216mh7r3j";
-  sgr-iosevka-term-ss10 = "1h523adv39z29lh5d5l5n58b68gz8w7cq5x33ncpdvlz5wqhnwja";
-  sgr-iosevka-term-ss11 = "09sz03cdgba5j2gjq45ll3f9z3xghy1xvdcm6ki1px1wgs43298j";
-  sgr-iosevka-term-ss12 = "1q1gl5l42bgxxkn839ilfzqw5nxfjq4d9rf84k084dn9a0293840";
-  sgr-iosevka-term-ss13 = "12qvrjr1lilfgnzdciy485iqalcxwkrd4ckxgbaq15sfc7bicz6b";
-  sgr-iosevka-term-ss14 = "0172qzqxqs2fisg847nnda94nyairiz6wikgkil3rrwdscdvcvi8";
-  sgr-iosevka-term-ss15 = "1kww6qsln0y0l8i31hfss2h1b4pjpmspvplpb9j7lbv5fyhyyqdn";
-  sgr-iosevka-term-ss16 = "0vwaal8y4jry3syzlm1dvprr8r7hapddak59jh7vi3hcggfwavi4";
-  sgr-iosevka-term-ss17 = "0v1w58bi7hcj8i3b2k1w6y6j5wjjadvclpk2r7k6qi3g7jvs0zj0";
-  sgr-iosevka-term-ss18 = "1jddxa01qp95dkhli7ckv3nafanfywlslw21w3pmcdgyss3z4z7h";
+  iosevka = "0kw1jynkl3dfvs8pm54sr1rlg1zd0g57jqnnfnlm1jrpwh28b1ba";
+  iosevka-aile = "1jsp3nhkf9a5vgnxq57p7fqqj352r7kvqvdmzvw8y3snppxk3czf";
+  iosevka-curly = "1bdwgadvwksyrq5m209jliwr3ywfkn090j5q07hm9zzpygnwgw8m";
+  iosevka-curly-slab = "059yv1b1h8ksglaly20mf5jyhsbfi3y2lvr8jhg5fhmcp6mginqj";
+  iosevka-etoile = "11l29xc4s9yb56f6n2q7hh6bvzq9pjfc3j9zpd15y11cm382a70s";
+  iosevka-slab = "1vzansf0a8zfif7i2g5znwgdzkcjj16qga19y1386fci0z1vm9ib";
+  iosevka-ss01 = "0179zprfy8l27jyk4hjb0da2z5qq4pgkvnbmnxvlrf5mqbrmph6v";
+  iosevka-ss02 = "0kmfyp3hgacgdrbh6rkyig9m95j33nxx1xlmcsi7rq7i6rxj9ixs";
+  iosevka-ss03 = "0irlr2r1lnlb56zmq3blq84r5sy4gsmr50chw5g6b01ygx6263hk";
+  iosevka-ss04 = "0dyw52i73msayy76w77r79pgali1rjas8zgpfq2l2q9z2d7m945i";
+  iosevka-ss05 = "0ynm24xdhsl9jkdhjadc7ks4rrrl8ri2fj1vndw7ymrp95mh8kia";
+  iosevka-ss06 = "1md6zgvj30fw6hbsx6vx5n56lxavlr5wzsmyw0a4y37lb9q5ch61";
+  iosevka-ss07 = "09qyxicbq7kalxxll5mcs5vgd9g80lxzw8zin6yrclm5hghz9x8x";
+  iosevka-ss08 = "14mvfpc17n5lzn3amp3s27c3r513jlbffcw084wsppjbvaqyv063";
+  iosevka-ss09 = "1h06sp9s6dqn0inki37h3qv350a6jaf82xjad8wlx3kbgbs5vr7d";
+  iosevka-ss10 = "0j0ryw12c21z7qijplws7fhhvd3p0xvfvx17b38i9yf1m3i9lswv";
+  iosevka-ss11 = "0kknvqqxhp9qdjg172s75j8mhm49204528xsylabifpf9225qxm7";
+  iosevka-ss12 = "1skvr7vp9p0ndbic5l2j3zp5rq1mnfjv91s15msi96pqdsg3acr4";
+  iosevka-ss13 = "185b0zyg0gz3560fpr7crzan3jdymvhap2hw789yzygswl6mqz8b";
+  iosevka-ss14 = "1sdzi8ncm6mypqza7yl2c3f25jf9596d8a0z6d6ppad9x00jrx32";
+  iosevka-ss15 = "1jkjcag0zx5rnh2hv847q6fvh0v2vypc6l981kkrql3qbqd4lk9q";
+  iosevka-ss16 = "1dbkc950lw5iv3rh0x1zxlr52iwsvvxpr1cilr54hqiq8qjv6rc9";
+  iosevka-ss17 = "0iyfis5mfmf7s1k45a8pbmdz5wj2q444vgqj1a4ndk0r1aphvrnp";
+  iosevka-ss18 = "0jdi9vgq07sf9s1fs1syd6acj37s1cymrm0i9id2g2yjnr1vm947";
+  sgr-iosevka = "0cihnnf51a3kwjmpd7iblwjanj0x9w69l7yx2isn3fs9y7r6dzbm";
+  sgr-iosevka-aile = "0bgcbm900j20yh6jkmqx1aji87410j2nfz84p96rdzcq8zyicf6i";
+  sgr-iosevka-curly = "0hf8hbn61pb5b9p0dnx5vzhx0ivb8x8x9abf91dlr5n20qs8gyzg";
+  sgr-iosevka-curly-slab = "0kc19qapsqq9l6g59k3kjbz4x6c4fl3xyg6wirp5p2nfiyhb8ww1";
+  sgr-iosevka-etoile = "1w9znis6f59x2l0i2x94qmvawxx3jzwz4d06b4sw066329fazbbx";
+  sgr-iosevka-fixed = "0xymjy1i2472p741iv5gr6366s6g9llmvkdkpx579dyk3shpabnl";
+  sgr-iosevka-fixed-curly = "14sgb2j66hv64nslhy5cq0zdv0yr4x3175w8dkyzvhagvlx3ra5h";
+  sgr-iosevka-fixed-curly-slab = "096b9jykaf2l9mqyji462ga4hy8s25qb5j0c000lsja8674f1mip";
+  sgr-iosevka-fixed-slab = "12cim6i3wydx6adzvcdg8knfajjzxvgxq021m65k7icw5yi47rpk";
+  sgr-iosevka-fixed-ss01 = "1gjl7swgg5vkrzq7fsr80bpnw68a0gsq2dhm3mfcjv24rqdhprxf";
+  sgr-iosevka-fixed-ss02 = "1cih7cp5lp1456d4q7nk6zk0yk6iybhrhixx926yc04vjl3iaali";
+  sgr-iosevka-fixed-ss03 = "02i8wipf12dxkkh92g2yqdh3cy6nvcl77q67pzl5746zgy48h987";
+  sgr-iosevka-fixed-ss04 = "01cl31s26lzfdrf5k8r4rgbwp69gczg0m107psda903x95hiyd6a";
+  sgr-iosevka-fixed-ss05 = "10cd8hvjzflkcv929radp9hj08hdr1a6da01fvr3gg59m1jg7hkp";
+  sgr-iosevka-fixed-ss06 = "01mpq5qsiws9ag4izq34mj15cilxkp529in29v2zc0vsi68a3n1s";
+  sgr-iosevka-fixed-ss07 = "00wd0valk2jhw82hlv9zdcdp97ysc361bm665rsncplnd97nx2jj";
+  sgr-iosevka-fixed-ss08 = "0ihgx6arv585k8p1rk5byhqm2f6ypbq26rnzihm2r11lg8hxyvqj";
+  sgr-iosevka-fixed-ss09 = "05zl4wz61sfjfa68zpjbvq7awibkxfkdnpimf5mikivhb13rmjjn";
+  sgr-iosevka-fixed-ss10 = "0k8p1ld2i9xiagahxhfabb7fhr9sq7cv7dpcyrja20hmwnm28qrl";
+  sgr-iosevka-fixed-ss11 = "159zaybnlrxd4q5iwhq7dsp09skvh13g734zk2l89xwsk5h2w4ns";
+  sgr-iosevka-fixed-ss12 = "0d2hzhlpl6rb9nqyygifbd09ylfvj4a9wlpmzpibbx06mrqcinri";
+  sgr-iosevka-fixed-ss13 = "0p99i58cwj39h1r2qhdrs3fasr75nw50m47iqjijn9mvgd01k82z";
+  sgr-iosevka-fixed-ss14 = "1m2s9wclk6xjxf4kjw0w0nffzx41s16www2nhm1v0lx1ikyj5pvl";
+  sgr-iosevka-fixed-ss15 = "04ykxwxibl1k3zxr9swywrg9v78hbf8vm4cbgscv78nm88srwykw";
+  sgr-iosevka-fixed-ss16 = "1kzj8b3356mh0ls2w5mv5hbqv3fwxk3izlw7xxd8q65cvrfs3gzq";
+  sgr-iosevka-fixed-ss17 = "1hnbni2f3lhr15j3y80rwihwjc4vvvnidjswan3ahwhh2qc8krlf";
+  sgr-iosevka-fixed-ss18 = "1cd5lhpkjcqlv0cr7nzh24xlc9912pnjfcppkcvmg7p0slg0zlkn";
+  sgr-iosevka-slab = "1zpmn157j5jpc9xmjqv0jga1hh8bc4b86f1xq651633ckf6ly6cq";
+  sgr-iosevka-ss01 = "0nacmqlh8rzkzhlzrsnpgrsznr8grd9kyxz77sfxyvn4d2i6lnwy";
+  sgr-iosevka-ss02 = "07hpwpbxj8z0zzya0zs1c5i4yssjmgv05w7q1xr64zsjffpd7m9k";
+  sgr-iosevka-ss03 = "19pcnyspbyq0bc33l9jsnmc808d9q20aglxnwv2jx97rwg2sv2mh";
+  sgr-iosevka-ss04 = "0wg8hi2465agxvx3yyflff5mbwfgvgayx2zvvjwakiy4sq0ymib6";
+  sgr-iosevka-ss05 = "1lr9brpkhb28ziw56idyk2k5vx5bw4zwbg6d1p4iwrirmwrxrjgi";
+  sgr-iosevka-ss06 = "1bwgmsdirfhqnri6lnrmwjiwm4xy0qscbkx3j6rx68j9x4fk4991";
+  sgr-iosevka-ss07 = "00p8slkgzivkikc9nxlhsda50vxm7bdj1gh95p7kvmnkxksckx7f";
+  sgr-iosevka-ss08 = "0yas5iq36dckl0zzgkz8qbqz4zlzapg4cgq89676n64wmhxpifci";
+  sgr-iosevka-ss09 = "1ds6gkm9rpxwg5vafm0vaadv6ww9hrh51q30n1f7vblk3mvj6wz4";
+  sgr-iosevka-ss10 = "01qldfwld13n1j340a3kl4b9ixd0y4kjws9ym4cp8l84p4ylk9h5";
+  sgr-iosevka-ss11 = "0z57jq0l5f7nqi04i9hr22hxwx350pkkhcis7lzh799gc9av2rp5";
+  sgr-iosevka-ss12 = "1zvns2g30918hcgwbhswp2645mqkkq3b07i8z6w7vg61y1zylgqp";
+  sgr-iosevka-ss13 = "1gydqrscy94v6iidhz7vak5xr5aln5127b3f3m1bb3x6gz5154wz";
+  sgr-iosevka-ss14 = "1g91lbmkw1r7prs7wbfdqhkrixil71zgnsd2zrr9v68g75r3gwyl";
+  sgr-iosevka-ss15 = "0zpb2jk7r6kfmjgirkyxcilxw92hya8v10xd7ad28cvr9p4jngwj";
+  sgr-iosevka-ss16 = "056rnnnzqc5wwfk92wik8sndyj7mlwmzvz0vd4imx5pa0x7cgznk";
+  sgr-iosevka-ss17 = "0qg7rm664anvsjbnrh3r039md3a68b5pxvgkpq9ls9mard4jd2zr";
+  sgr-iosevka-ss18 = "19hgnj7afpsy2n8ydqrkyl97s10893qxyaqg898xs2552prazcx5";
+  sgr-iosevka-term = "0qd1dx0q4x8km3222g9znimvzw9nzhhj4g3d4n2dq3hir0biwvkw";
+  sgr-iosevka-term-curly = "111lriaizsg80c4qljxsflm7p9la68kkh7ssqykkjs91a6qfsfs0";
+  sgr-iosevka-term-curly-slab = "08qbpwzzmnql92vwisb4bmsa9ajnffa50qy4kan34qpanrkgnps7";
+  sgr-iosevka-term-slab = "1gkfvp97vv3p2llxzk1zpvfr5lm0npg56gac083wy8jds837wzl9";
+  sgr-iosevka-term-ss01 = "123r80pciasa1gvyri4gn7706zf0f7shv5w0jyn88cgpklrbpjgx";
+  sgr-iosevka-term-ss02 = "0l4fzq1g93bmv24r7r9fjkkyzyyp8sgzq7501ayrzdc9yxj3hcs4";
+  sgr-iosevka-term-ss03 = "1jq9xm7qfx3jf603njfm9y1dbhj3dv2gbsyx1plch8q5x2kfpn49";
+  sgr-iosevka-term-ss04 = "07mv1pxy0smk7p549iz7jn030h3f6c2k5km62v54xhd47zmkmcqz";
+  sgr-iosevka-term-ss05 = "1n0szq4h32qbmrsyn942gn2w3rwbv2wa9l3nrrpdqn6bn33dhisl";
+  sgr-iosevka-term-ss06 = "1rhhk2cbmd3yr6pry8v1hl1kw84dgv84mbs9qi4lvfjfj5pknai9";
+  sgr-iosevka-term-ss07 = "1fnhld17m9ggfvjajm3cygx9n07w0bazdxz5jv6d2whczhbqgiqs";
+  sgr-iosevka-term-ss08 = "0w4fmznj9i7qg2ygzcnia1l0wg5sm85vqlij22g55ycw87fxi1l2";
+  sgr-iosevka-term-ss09 = "19z86rbdmszd5qzxlfsacdvg4dmcsm6fl17yna8sgkxhh562x7kj";
+  sgr-iosevka-term-ss10 = "19mhyqqbs7jfnlpx5dl5p7gp2i0kslmb9wzvkm4i3fs7cy06hzc7";
+  sgr-iosevka-term-ss11 = "1kg67yhc3adw0ahm940bsabnsr46k0z8m2d8q7jmml1w45llfxsf";
+  sgr-iosevka-term-ss12 = "1jc8d0hm0hh7p6wixr37qg36nb3jr5vfkwwc9qfvjv3snq38z139";
+  sgr-iosevka-term-ss13 = "1ksyzlafcph69a2mqajdavd2r5f88dfq3hbglwm3b14ijifgzj92";
+  sgr-iosevka-term-ss14 = "11ay1smy18qbn3qh6nbxyr58ldzc7x7aib51hvbnjrgx666f4lhp";
+  sgr-iosevka-term-ss15 = "0dnspjglxshn9qrc5ib5ygma03djj2n3kvkqss6sxl7lp27b9nz0";
+  sgr-iosevka-term-ss16 = "17hvq2x0zmpr93dym2i1izy3nnkplpszwjlwq35r07k7nikcs4ir";
+  sgr-iosevka-term-ss17 = "1jdk38a1q0s4my3n7kjrpas010j85yxxy1qylz48h0makw4vfmfy";
+  sgr-iosevka-term-ss18 = "1n57dzf7ks5plk6zprk8yyjvsj87l6jfkhsh4xmmzvwk78rkn4w4";
 }
diff --git a/pkgs/data/fonts/lxgw-neoxihei/default.nix b/pkgs/data/fonts/lxgw-neoxihei/default.nix
index 2ca2473b3647..6b93826d4d99 100644
--- a/pkgs/data/fonts/lxgw-neoxihei/default.nix
+++ b/pkgs/data/fonts/lxgw-neoxihei/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "lxgw-neoxihei";
-  version = "1.007";
+  version = "1.009";
 
   src = fetchurl {
     url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
-    hash = "sha256-ChYpRCw8DAo8bo6fJ+5LyF+FGmER+4nY2aEx1GIROdU=";
+    hash = "sha256-Q7rrgqrjALLY2y40mNfNmzSeGwcVwhZUmDj08nlWsao=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix
index a15e0d50ae0b..c8a3a65a00b7 100644
--- a/pkgs/data/fonts/sarasa-gothic/default.nix
+++ b/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "sarasa-gothic";
-  version = "0.40.3";
+  version = "0.40.4";
 
   src = fetchurl {
     # Use the 'ttc' files here for a smaller closure size.
     # (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
     url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
-    hash = "sha256-lhjsmsgFEXMX5byp50qRoHoX9nuKcsrAp6NGDdfXo3I=";
+    hash = "sha256-PVlozsWYomsQKp8WxHD8+pxzlTmIKGPK71HDLWMR9S0=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/data/icons/numix-icon-theme-circle/default.nix b/pkgs/data/icons/numix-icon-theme-circle/default.nix
index 0aff16a31f71..f7890c54aa34 100644
--- a/pkgs/data/icons/numix-icon-theme-circle/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "numix-icon-theme-circle";
-  version = "23.03.04";
+  version = "23.03.19";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2do/8NKO47zj3+V5+P79el41jy7q6aXdhYXVRRoVusI=";
+    sha256 = "sha256-kvIPtPJkBIioz/ScES3xmzjJ0IH4eK5wYSj5Jb2U47g=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix
index 1e771d289013..9aa84ad472ab 100644
--- a/pkgs/data/icons/numix-icon-theme-square/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "numix-icon-theme-square";
-  version = "23.03.04";
+  version = "23.03.19";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-sxrgjlO4xKgk4QoJ6XvHBg9h5kaZd4l8ERp+7CLf6Cg=";
+    sha256 = "sha256-Hdwby8U9D+k4AjKyDeWhCfGr7z7ETNQPr1lnwweAp7g=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix
index adbbbb201e3e..3ecc56cec5d4 100644
--- a/pkgs/data/misc/v2ray-domain-list-community/default.nix
+++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix
@@ -3,14 +3,14 @@
 let
   generator = pkgsBuildBuild.buildGoModule rec {
     pname = "v2ray-domain-list-community";
-    version = "20230311145412";
+    version = "20230320093818";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      hash = "sha256-dHXfj1f/wnv7W8e1jTclt7qaag5OzP4zCZflN8p0v3M=";
+      hash = "sha256-KEA3hsrlDs+GpxBrc6CeNwoyXvu1OBJJ8UaB6iwFyyg=";
     };
-    vendorHash = "sha256-wqOpZ5MSWN3L+rVKdA2E/Zbwqb/KHwMKoGlSIPBKgv0=";
+    vendorHash = "sha256-zkf2neI1HiPkCrcw+cYoZ2L/OGkM8HPIv5gUqc05Wak=";
     meta = with lib; {
       description = "community managed domain list";
       homepage = "https://github.com/v2fly/domain-list-community";
diff --git a/pkgs/data/themes/jade1/default.nix b/pkgs/data/themes/jade1/default.nix
index 42979c8c81b3..30857639dd76 100644
--- a/pkgs/data/themes/jade1/default.nix
+++ b/pkgs/data/themes/jade1/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "theme-jade1";
-  version = "1.14";
+  version = "1.15";
 
   src = fetchurl {
     url = "https://github.com/madmaxms/theme-jade-1/releases/download/v${version}/jade-1-theme.tar.xz";
-    sha256 = "01p1g0gy6d1c8aa9y7inhn6zhm0qy0fzmwlniiv07h15g32appvd";
+    sha256 = "sha256-VfV3dVpA3P0ChRjpxuh6C9loxr5t3s1xK0BP3DOCeQ4=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/desktops/cinnamon/cinnamon-common/default.nix b/pkgs/desktops/cinnamon/cinnamon-common/default.nix
index ef3013f2e404..e50e14ea8d94 100644
--- a/pkgs/desktops/cinnamon/cinnamon-common/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-common/default.nix
@@ -72,13 +72,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cinnamon-common";
-  version = "5.6.7";
+  version = "5.6.8";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "cinnamon";
     rev = version;
-    hash = "sha256-oBD9jpZSOB7R3bbMv1qOQkkQyFTKkNnNagJ1INeA0s4=";
+    hash = "sha256-qL8GaEH/0d4yEwwdaR55fTp0RitbyptoxKOBO3nmbic=";
   };
 
   patches = [
@@ -159,8 +159,6 @@ stdenv.mkDerivation rec {
 
     sed "s|'python3'|'${pythonEnv.interpreter}'|g" -i ./files/usr/share/cinnamon/cinnamon-settings/bin/CinnamonGtkSettings.py
 
-    sed "s|/usr/share/%s|/run/current-system/sw/share/%s|g" -i ./files/usr/share/cinnamon/cinnamon-settings/modules/cs_themes.py
-
     sed "s|/usr/bin/cinnamon-screensaver-command|/run/current-system/sw/bin/cinnamon-screensaver-command|g" \
       -i ./files/usr/share/cinnamon/applets/menu@cinnamon.org/applet.js -i ./files/usr/share/cinnamon/applets/user@cinnamon.org/applet.js
 
diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
index 1fcc9fb6a29a..5f7ad87d83cb 100644
--- a/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-settings-daemon";
-  version = "5.6.1";
+  version = "5.6.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-QR77O3rFfY0+6cKoS75xoFRplNo4nvTMtR2rNKZERYE=";
+    hash = "sha256-IqYfHMjKe7gVsM6HgihQMNkcXSYBOft1lamXOLa1Y8k=";
   };
 
   patches = [
diff --git a/pkgs/desktops/cinnamon/muffin/default.nix b/pkgs/desktops/cinnamon/muffin/default.nix
index 58a9008e3387..ba4eb95a5e95 100644
--- a/pkgs/desktops/cinnamon/muffin/default.nix
+++ b/pkgs/desktops/cinnamon/muffin/default.nix
@@ -35,7 +35,7 @@
 
 stdenv.mkDerivation rec {
   pname = "muffin";
-  version = "5.6.3";
+  version = "5.6.4";
 
   outputs = [ "out" "dev" "man" ];
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-qcm1CRUMKFx4KDXBnaIVLHuZTzSMEWEBFTWMe85pJDE=";
+    hash = "sha256-NnQ7KF979HnsEc4X/Wf1YOfUvByHvVIdTAcJyUjhsp8=";
   };
 
   patches = [
diff --git a/pkgs/desktops/cinnamon/nemo/default.nix b/pkgs/desktops/cinnamon/nemo/default.nix
index e25db028fa86..3e9a3e81eb1f 100644
--- a/pkgs/desktops/cinnamon/nemo/default.nix
+++ b/pkgs/desktops/cinnamon/nemo/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nemo";
-  version = "5.6.3";
+  version = "5.6.4";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-CuG0s2gtuYwuIvti5xGiGJa5C5IcruFtNhv6s1vcuUA=";
+    sha256 = "sha256-zvELN9ggfmfIEPeD0VEWM25kRi8RWA/aKlrdO5dKX1k=";
   };
 
   patches = [
diff --git a/pkgs/desktops/cinnamon/xapp/default.nix b/pkgs/desktops/cinnamon/xapp/default.nix
index 07b557d65c0d..1c4330221a66 100644
--- a/pkgs/desktops/cinnamon/xapp/default.nix
+++ b/pkgs/desktops/cinnamon/xapp/default.nix
@@ -1,4 +1,5 @@
 { fetchFromGitHub
+, fetchpatch
 , glib
 , gobject-introspection
 , gtk3
@@ -33,6 +34,15 @@ stdenv.mkDerivation rec {
     hash = "sha256-etB+q7FIwbApTUk8RohAy3kHX8Vb4cSY/qkvhj94yTM=";
   };
 
+  patches = [
+    # xapp-sn-watcher crashes on cinnamon with glib 2.76.0
+    # https://github.com/linuxmint/xapp/issues/165
+    (fetchpatch {
+      url = "https://github.com/linuxmint/xapp/commit/3ef9861d6228c2061fbde2c0554be5ae6f42befa.patch";
+      sha256 = "sha256-7hYXA43UQpBLLjRVPoACc8xdhKyKnt3cDUBL4PhEtJY=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/desktops/deepin/apps/deepin-shortcut-viewer/default.nix b/pkgs/desktops/deepin/apps/deepin-shortcut-viewer/default.nix
new file mode 100644
index 000000000000..dcc8a2e41c8e
--- /dev/null
+++ b/pkgs/desktops/deepin/apps/deepin-shortcut-viewer/default.nix
@@ -0,0 +1,56 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, dtkwidget
+, qt5integration
+, qt5platform-plugins
+, qmake
+, qtbase
+, qttools
+, pkg-config
+, wrapQtAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "deepin-shortcut-viewer";
+  version = "5.0.7";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-r/ZhA9yiPnJNTrBkVOvaTqfRvGO/NTod5tiQCquG5Gw=";
+  };
+
+  nativeBuildInputs = [
+    qmake
+    qttools
+    pkg-config
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    qtbase
+    dtkwidget
+    qt5platform-plugins
+  ];
+
+  qmakeFlags = [
+    "VERSION=${version}"
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  # qt5integration must be placed before qtsvg in QT_PLUGIN_PATH
+  qtWrapperArgs = [
+    "--prefix QT_PLUGIN_PATH : ${qt5integration}/${qtbase.qtPluginPrefix}"
+  ];
+
+  meta = with lib; {
+    description = "Deepin Shortcut Viewer";
+    homepage = "https://github.com/linuxdeepin/deepin-shortcut-viewer";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = teams.deepin.members;
+  };
+}
+
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index f9bbf7df5eb7..96c3d08b65dc 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -45,6 +45,7 @@ let
     deepin-movie-reborn = callPackage ./apps/deepin-movie-reborn { };
     deepin-music = callPackage ./apps/deepin-music { };
     deepin-picker = callPackage ./apps/deepin-picker { };
+    deepin-shortcut-viewer = callPackage ./apps/deepin-shortcut-viewer { };
     deepin-terminal = callPackage ./apps/deepin-terminal { };
     deepin-reader = callPackage ./apps/deepin-reader { };
     deepin-voice-note = callPackage ./apps/deepin-voice-note { };
diff --git a/pkgs/desktops/plasma-5/kpipewire.nix b/pkgs/desktops/plasma-5/kpipewire.nix
index fd412711e4a2..59169cd510c8 100644
--- a/pkgs/desktops/plasma-5/kpipewire.nix
+++ b/pkgs/desktops/plasma-5/kpipewire.nix
@@ -19,10 +19,10 @@ mkDerivation {
     ki18n
     kcoreaddons
     plasma-wayland-protocols
-    libepoxy
     ffmpeg
     mesa
     pipewire
     wayland
   ];
+  propagatedBuildInputs = [ libepoxy ];
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix b/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix
index 4ac72b02da1a..2fa9766f8d52 100644
--- a/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix
@@ -8,6 +8,7 @@
 , libXrandr
 , libwnck
 , libxfce4ui
+, libxfce4util
 , libxklavier
 , pam
 , systemd
@@ -18,9 +19,9 @@
 mkXfceDerivation {
   category = "apps";
   pname = "xfce4-screensaver";
-  version = "4.16.0";
+  version = "4.18.0";
 
-  sha256 = "1vblqhhzhv85yd5bz1xg14yli82ys5qrjdcabg3l53glbk61n99p";
+  sha256 = "sha256-W9rEssR6jHMBM2m1lCBvj7YMOGOTaqBAOP7grQ01880=";
 
   buildInputs = [
     dbus-glib
@@ -32,6 +33,7 @@ mkXfceDerivation {
     libXrandr
     libwnck
     libxfce4ui
+    libxfce4util
     libxklavier
     pam
     systemd
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
index 0d6782dc821e..4c5a726f2f1d 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
@@ -13,11 +13,11 @@ let
   category = "panel-plugins";
 in stdenv.mkDerivation rec {
   pname  = "xfce4-notes-plugin";
-  version = "1.9.0";
+  version = "1.10.0";
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-E/kJyUi2Oflt5kz3k+t0yxd5WJIB05M+/yFO6PNasIg=";
+    sha256 = "sha256-LuRAYELt01KpHhZsg7YNEyIO8E3OP6a54OsTY21jaSk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
index 53c154bdeecc..6c0a7bafe39e 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
@@ -1,37 +1,47 @@
-{ lib
-, mkXfceDerivation
-, imagemagick
+{ stdenv
+, lib
+, fetchurl
+, intltool
+, pkg-config
 , libwnck
 , libxfce4ui
-, python3
 , xfce4-panel
 , xfconf
+, gitUpdater
 }:
 
-mkXfceDerivation {
-  category = "panel-plugins";
+stdenv.mkDerivation rec {
   pname = "xfce4-windowck-plugin";
-  version = "0.5.0";
-  rev-prefix = "v";
-  odd-unstable = false;
-  sha256 = "sha256-MhNSgI74VLdoS5yL6nfRrVrPvv7+0P5meO4zQheYFzo=";
+  version = "0.5.1";
+
+  src = fetchurl {
+    # Use dist tarballs to avoid pulling extra deps and generating images ourselves.
+    url = "mirror://xfce/src/panel-plugins/xfce4-windowck-plugin/${lib.versions.majorMinor version}/xfce4-windowck-plugin-${version}.tar.bz2";
+    sha256 = "sha256-p4FEi3gemE072lmw2qsNGE1M7CJSMW9zcKxKmO/kgfQ=";
+  };
+
+  nativeBuildInputs = [
+    intltool
+    pkg-config
+  ];
 
   buildInputs = [
-    imagemagick
     libwnck
     libxfce4ui
-    python3
     xfce4-panel
     xfconf
   ];
 
-  postPatch = ''
-    patchShebangs themes/windowck{,-dark}/{xfwm4,unity}/generator.py
-  '';
+  passthru.updateScript = gitUpdater {
+    url = "https://gitlab.xfce.org/panel-plugins/xfce4-windowck-plugin";
+    rev-prefix = "xfce4-windowck-plugin-";
+  };
 
   meta = with lib; {
     description = "Xfce panel plugin for displaying window title and buttons";
+    homepage = "https://gitlab.xfce.org/panel-plugins/xfce4-windowck-plugin";
     license = licenses.gpl3Plus;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ ] ++ teams.xfce.members;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
index 97332cf36e98..40ac161879b7 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
@@ -1,6 +1,7 @@
 { lib
 , mkXfceDerivation
 , gtk3
+, libnotify
 , librsvg
 , libwnck
 , libxklavier
@@ -14,13 +15,13 @@
 mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-xkb-plugin";
-  version = "0.8.2";
-  rev-prefix = "";
-  sha256 = "sha256-xmCoNMxykeaThYEJo6BcbraFo9CruFZL6YPjovzb6hg=";
+  version = "0.8.3";
+  sha256 = "sha256-qWxjULrBpueQS3gxwRg49cQ3ovlQ8iWvYZ6Z/THm+/s=";
 
   buildInputs = [
     garcon
     gtk3
+    libnotify # optional notification support
     librsvg
     libxfce4ui
     libxfce4util
diff --git a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
index ef1271bcba82..dfe6824375bb 100644
--- a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
@@ -11,9 +11,10 @@
 mkXfceDerivation {
   category = "thunar-plugins";
   pname  = "thunar-archive-plugin";
-  version = "0.4.0";
+  version = "0.5.0";
+  odd-unstable = false;
 
-  sha256 = "sha256-aEAErm87K2k8TAz2ZtMQEhmzhOeR2hkJjcoBUFn8I50=";
+  sha256 = "sha256-3a42chfv4UQYkvWKCX0FShAcEwt9icJARTHGEgs6/8M=";
 
   nativeBuildInputs = [
     intltool
diff --git a/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix b/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix
index 65f9942b3a53..570f0aeafcfe 100644
--- a/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/media-tags/default.nix
@@ -1,8 +1,8 @@
 { lib
 , mkXfceDerivation
+, glib
 , gtk3
 , thunar
-, exo
 , libxfce4util
 , intltool
 , gettext
@@ -12,10 +12,10 @@
 mkXfceDerivation {
   category = "thunar-plugins";
   pname = "thunar-media-tags-plugin";
-  version = "0.3.0";
+  version = "0.4.0";
   odd-unstable = false;
 
-  sha256 = "sha256-jtgcHH5U5GOvzDVUwPEreMtTdk5DT6sXvFPDbzbF684=";
+  sha256 = "sha256-2WA7EtDmNl8XP0wK00iyQcSqV3mnfHNJZTKhBJ/YWPQ=";
 
   nativeBuildInputs = [
     intltool
@@ -24,7 +24,7 @@ mkXfceDerivation {
 
   buildInputs = [
     thunar
-    exo
+    glib
     gtk3
     libxfce4util
     taglib
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix
index 23982fb2a789..98d9de9e70b2 100644
--- a/pkgs/development/beam-modules/default.nix
+++ b/pkgs/development/beam-modules/default.nix
@@ -73,10 +73,10 @@ let
       # Remove old versions of elixir, when the supports fades out:
       # https://hexdocs.pm/elixir/compatibility-and-deprecations.html
 
-      elixir_ls = callPackage ./elixir-ls { inherit elixir fetchMixDeps mixRelease; };
+      elixir-ls = callPackage ./elixir-ls { inherit elixir fetchMixDeps mixRelease; };
 
-      lfe = lfe_1_3;
-      lfe_1_3 = lib'.callLFE ../interpreters/lfe/1.3.nix { inherit erlang buildRebar3 buildHex; };
+      lfe = lfe_2_1;
+      lfe_2_1 = lib'.callLFE ../interpreters/lfe/2.1.nix { inherit erlang buildRebar3 buildHex; };
 
       # Non hex packages. Examples how to build Rebar/Mix packages with and
       # without helper functions buildRebar3 and buildMix.
diff --git a/pkgs/development/beam-modules/elixir-ls/default.nix b/pkgs/development/beam-modules/elixir-ls/default.nix
index 72862d5b9689..dd7ea4cacf74 100644
--- a/pkgs/development/beam-modules/elixir-ls/default.nix
+++ b/pkgs/development/beam-modules/elixir-ls/default.nix
@@ -23,7 +23,7 @@ mixRelease  {
     sha256 = pinData.depsSha256;
   };
 
-  # elixir_ls is an umbrella app
+  # elixir-ls is an umbrella app
   # override configurePhase to not skip umbrella children
   configurePhase = ''
     runHook preConfigure
@@ -31,7 +31,7 @@ mixRelease  {
     runHook postConfigure
   '';
 
-  # elixir_ls require a special step for release
+  # elixir-ls require a special step for release
   # compile and release need to be performed together because
   # of the no-deps-check requirement
   buildPhase = ''
diff --git a/pkgs/development/beam-modules/elixir-ls/update.sh b/pkgs/development/beam-modules/elixir-ls/update.sh
index eaa73815d735..be85b4c6d642 100755
--- a/pkgs/development/beam-modules/elixir-ls/update.sh
+++ b/pkgs/development/beam-modules/elixir-ls/update.sh
@@ -23,7 +23,7 @@ if ("$latest_version" === "$current_version") {
       .\"sha256\" = \"$tarball_hash\" | \
       .\"depsSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json
 
-  const new_mix_hash = $(nix-build -A elixir_ls.mixFodDeps 2>&1 | \
+  const new_mix_hash = $(nix-build -A elixir-ls.mixFodDeps 2>&1 | \
     tail -n 1 | \
     sd '\s+got:\s+' '')
 
diff --git a/pkgs/development/beam-modules/erlang-ls/default.nix b/pkgs/development/beam-modules/erlang-ls/default.nix
index f5390e186c08..25dd9879eeea 100644
--- a/pkgs/development/beam-modules/erlang-ls/default.nix
+++ b/pkgs/development/beam-modules/erlang-ls/default.nix
@@ -56,6 +56,7 @@ rebar3Relx {
     description = "The Erlang Language Server";
     platforms = platforms.unix;
     license = licenses.asl20;
+    mainProgram = "erlang_ls";
   };
   passthru.updateScript = writeScript "update.sh" ''
     #!/usr/bin/env nix-shell
diff --git a/pkgs/development/compilers/bigloo/default.nix b/pkgs/development/compilers/bigloo/default.nix
index d61d34276a30..759a8aaeaa60 100644
--- a/pkgs/development/compilers/bigloo/default.nix
+++ b/pkgs/development/compilers/bigloo/default.nix
@@ -54,6 +54,7 @@ stdenv.mkDerivation rec {
     license     = lib.licenses.gpl2Plus;
     platforms   = lib.platforms.unix;
     maintainers = with lib.maintainers; [ thoughtpolice ];
+    broken      = stdenv.isDarwin && stdenv.isAarch64; # segfault during build
 
     longDescription = ''
       Bigloo is a Scheme implementation devoted to one goal: enabling
diff --git a/pkgs/development/compilers/binaryen/default.nix b/pkgs/development/compilers/binaryen/default.nix
index 3dbc61be4197..73f32af28e19 100644
--- a/pkgs/development/compilers/binaryen/default.nix
+++ b/pkgs/development/compilers/binaryen/default.nix
@@ -1,31 +1,18 @@
 { lib, stdenv, cmake, python3, fetchFromGitHub, emscripten,
-  gtest, lit, nodejs, filecheck, fetchpatch
+  gtest, lit, nodejs, filecheck
 }:
 
 stdenv.mkDerivation rec {
   pname = "binaryen";
-  version = "111";
+  version = "112";
 
   src = fetchFromGitHub {
     owner = "WebAssembly";
     repo = "binaryen";
     rev = "version_${version}";
-    sha256 = "sha256-wSwLs/YvrH7nswDSbtR6onOMArCdPE2zi6G7oA10U4Y=";
+    hash = "sha256-xVumVmiLMHJp3SItE8eL8OBPeq58HtOOiK9LL8SP4CQ=";
   };
 
-  patches = [
-    # https://github.com/WebAssembly/binaryen/pull/5378
-    (fetchpatch {
-      url = "https://github.com/WebAssembly/binaryen/commit/a96fe1a8422140072db7ad7db421378b87898a0d.patch";
-      sha256 = "sha256-Wred1IoRxcQBi0nLBWpiUSgt2ApGoGsq9GkoO3mSS6o=";
-    })
-    # https://github.com/WebAssembly/binaryen/pull/5391
-    (fetchpatch {
-      url = "https://github.com/WebAssembly/binaryen/commit/f92350d2949934c0e0ce4a27ec8b799ac2a85e45.patch";
-      sha256 = "sha256-fBwdGSIPjF2WKNnD8I0/2hnQvqevdk3NS9fAxutkZG0=";
-    })
-  ];
-
   nativeBuildInputs = [ cmake python3 ];
 
   preConfigure = ''
diff --git a/pkgs/development/compilers/dart/default.nix b/pkgs/development/compilers/dart/default.nix
index 461e359d3711..b0893562c2dd 100644
--- a/pkgs/development/compilers/dart/default.nix
+++ b/pkgs/development/compilers/dart/default.nix
@@ -4,43 +4,11 @@
 , unzip
 , runCommand
 , darwin
-# we need a way to build other dart versions
-# than the latest, because flutter might want
-# another version
-, version ? "2.19.3"
-, sources ? let
-    base = "https://storage.googleapis.com/dart-archive/channels";
-    x86_64 = "x64";
-    i686 = "ia32";
-    aarch64 = "arm64";
-in
-  {
-    "${version}-aarch64-darwin" = fetchurl {
-      url = "${base}/stable/release/${version}/sdk/dartsdk-macos-${aarch64}-release.zip";
-      sha256 = "sha256-wfUh6rXy8jAC0TVQJzXh4SrV2DQs9SvY8PGtNgZx+cA=";
-    };
-    "${version}-x86_64-darwin" = fetchurl {
-      url = "${base}/stable/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip";
-      sha256 = "sha256-zyu6r8akId/AHpBKH95wJXXu1LD9CKShWYKfppnSRx4=";
-    };
-    "${version}-x86_64-linux" = fetchurl {
-      url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip";
-      sha256 = "sha256-45HE7Y9iO5dI+JfLWF1ikFfBFB+er46bK+EYkyuhFjI=";
-    };
-    "${version}-i686-linux" = fetchurl {
-      url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${i686}-release.zip";
-      sha256 = "sha256-IkSJWfAocT1l8F2igAkR+Y5PNYD5PZ0j21D8aJk9JCY=";
-    };
-    "${version}-aarch64-linux" = fetchurl {
-      url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip";
-      sha256 = "sha256-Bt18brbJA/XfiyP5o197HDXMuGm+a1AZx92Thoriv78=";
-    };
-  }
+, sources ? import ./sources.nix {inherit fetchurl;}
+, version ? sources.versionUsed
 }:
 
-assert version != null && version != "";
 assert sources != null && (builtins.isAttrs sources);
-
 stdenv.mkDerivation (finalAttrs: {
   pname = "dart";
   inherit version;
@@ -59,29 +27,33 @@ stdenv.mkDerivation (finalAttrs: {
 
   libPath = lib.makeLibraryPath [ stdenv.cc.cc ];
   dontStrip = true;
-  passthru.tests = {
-    testCreate = runCommand "dart-test-create" { nativeBuildInputs = [ finalAttrs.finalPackage ]; } ''
-      PROJECTNAME="dart_test_project"
-      dart create --no-pub $PROJECTNAME
+  passthru = {
+    updateScript = ./update.sh;
+    tests = {
+      testCreate = runCommand "dart-test-create" { nativeBuildInputs = [ finalAttrs.finalPackage ]; } ''
+        PROJECTNAME="dart_test_project"
+        dart create --no-pub $PROJECTNAME
 
-      [[ -d $PROJECTNAME ]]
-      [[ -f $PROJECTNAME/bin/$PROJECTNAME.dart ]]
-      touch $out
-    '';
+        [[ -d $PROJECTNAME ]]
+        [[ -f $PROJECTNAME/bin/$PROJECTNAME.dart ]]
+        touch $out
+      '';
 
-    testCompile = runCommand "dart-test-compile" {
-      nativeBuildInputs = [ finalAttrs.finalPackage ]
-        ++ lib.optionals stdenv.isDarwin [ darwin.cctools darwin.sigtool ];
-    } ''
-      HELLO_MESSAGE="Hello, world!"
-      echo "void main() => print('$HELLO_MESSAGE');" > hello.dart
-      dart compile exe hello.dart
-      PROGRAM_OUT=$(./hello.exe)
+      testCompile = runCommand "dart-test-compile" {
+        nativeBuildInputs = [ finalAttrs.finalPackage ]
+          ++ lib.optionals stdenv.isDarwin [ darwin.cctools darwin.sigtool ];
+      } ''
+        HELLO_MESSAGE="Hello, world!"
+        echo "void main() => print('$HELLO_MESSAGE');" > hello.dart
+        dart compile exe hello.dart
+        PROGRAM_OUT=$(./hello.exe)
 
-      [[ "$PROGRAM_OUT" == "$HELLO_MESSAGE" ]]
-      touch $out
-    '';
+        [[ "$PROGRAM_OUT" == "$HELLO_MESSAGE" ]]
+        touch $out
+      '';
+    };
   };
+
   meta = with lib; {
     homepage = "https://www.dartlang.org/";
     maintainers = with maintainers; [ grburst ];
diff --git a/pkgs/development/compilers/dart/sources.nix b/pkgs/development/compilers/dart/sources.nix
new file mode 100644
index 000000000000..40e25d358477
--- /dev/null
+++ b/pkgs/development/compilers/dart/sources.nix
@@ -0,0 +1,24 @@
+let version = "2.19.3"; in
+{  fetchurl }: {
+  versionUsed = version;
+  "${version}-x86_64-darwin" = fetchurl {
+    url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-x64-release.zip";
+    sha256 = "193hf56j7bws8bzqxxzz2sgbn2d80g5s8vp8ihi22cm3mmppfi4v";
+  };
+  "${version}-aarch64-darwin" = fetchurl {
+    url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-arm64-release.zip";
+    sha256 = "0b30l8kfcsl1j6w2vbq08p0v4h4gca013l5fpznjqq0midxhybnw";
+  };
+  "${version}-aarch64-linux" = fetchurl {
+    url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-arm64-release.zip";
+    sha256 = "0qyi7ppsf4rmzx1qgx3qbn4k7bgbncxjql6a9f2b1aj6l6lllvmg";
+  };
+  "${version}-x86_64-linux" = fetchurl {
+    url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-x64-release.zip";
+    sha256 = "0iq7mdwpsnykk3j2bsgmazg30m4qg7i2lpv1ygbhy2lbhrkdpdck";
+  };
+  "${version}-i686-linux" = fetchurl {
+    url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-ia32-release.zip";
+    sha256 = "0xksis14ff6bzjvycgxgldg96n88rh42adjyrrhcay2s183vh480";
+  };
+}
diff --git a/pkgs/development/compilers/dart/update.sh b/pkgs/development/compilers/dart/update.sh
new file mode 100755
index 000000000000..87f430cd5d2d
--- /dev/null
+++ b/pkgs/development/compilers/dart/update.sh
@@ -0,0 +1,77 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq
+
+set -euo pipefail
+
+# so if the script fails, debug logs are on stderr
+log() {
+  >&2 echo "DART_UPDATER: $@"
+}
+
+# fetch the latest version number from upstream
+NEW_VER_DETAILS=$(curl -sL https://storage.googleapis.com/dart-archive/channels/stable/release/latest/VERSION)
+NEW_VER=$(jq -r '.version' <<< "$NEW_VER_DETAILS")
+
+MY_PATH=$(dirname $(realpath "$0"))
+SRC_FILE=$(mktemp)
+
+log "file to write is $SRC_FILE"
+
+PRELUDE="let version = \"$NEW_VER\"; in
+{ fetchurl }: {
+  versionUsed = version;"
+echo "$PRELUDE" > "$SRC_FILE"
+log "wrote prelude"
+
+# Fetches the source, then  writes the fetcher and hash into the sources file.
+# Arguments:
+#   - $1: VARIABLE NAME of (table of nix platform -> dart platform mappings) ("DARWIN_PLATFORMS"|"LIN_PLATFORMS")
+#   - $2: Dart-OS ("macos"|"linux")
+write_for_platform() {
+  BASE_OF_ALL_URLS='https://storage.googleapis.com/dart-archive/channels/stable/release'
+  BASE_URL_WRITTEN="$BASE_OF_ALL_URLS/\${version}/sdk"
+  BASE_URL_FETCHED="$BASE_OF_ALL_URLS/$NEW_VER/sdk"
+
+  TABLE_NAME=$1
+  declare -n TABLE=$TABLE_NAME
+
+  for platform in "${!TABLE[@]}"; do
+    DART_PLATFORM="${TABLE[$platform]}"
+    log "trying for dartplatform $DART_PLATFORM (platform $platform) (OS $2)"
+
+    URL_POSTFIX="dartsdk-$2-$DART_PLATFORM-release.zip"
+    URL="$BASE_URL_FETCHED/$URL_POSTFIX"
+    log "URL for $DART_PLATFORM: $URL"
+
+    HASH=$(nix-prefetch-url "$URL" --type sha256)
+    log "hash for platform $platform: $HASH"
+
+    FETCHER="  \"\${version}-$platform\" = fetchurl {
+    url = \"$BASE_URL_WRITTEN/$URL_POSTFIX\";
+    sha256 = \"$HASH\";
+  };"
+
+    echo "$FETCHER" >> $SRC_FILE
+  done
+  log "finished for $1"
+
+}
+
+# Map nix platforms -> Dart platforms
+X8664="x64"
+AARCH64="arm64"
+I686="ia32"
+declare -A DARWIN_PLATFORMS=(["aarch64-darwin"]="$AARCH64"
+        ["x86_64-darwin"]="$X8664")
+
+declare -A LIN_PLATFORMS=( ["x86_64-linux"]="$X8664"
+        ["i686-linux"]="$I686"
+        ["aarch64-linux"]="$AARCH64")
+
+write_for_platform "DARWIN_PLATFORMS" "macos"
+write_for_platform "LIN_PLATFORMS" "linux"
+
+echo '}' >> $SRC_FILE
+
+log "moving tempfile to target directory"
+mv "$SRC_FILE" "$MY_PATH/sources.nix"
diff --git a/pkgs/development/compilers/dotnet/build-dotnet.nix b/pkgs/development/compilers/dotnet/build-dotnet.nix
index c51eca24b58c..05e145c48f6f 100644
--- a/pkgs/development/compilers/dotnet/build-dotnet.nix
+++ b/pkgs/development/compilers/dotnet/build-dotnet.nix
@@ -42,10 +42,10 @@ let
     sdk = ".NET SDK ${version}";
   };
 
-  packageDeps = mkNugetDeps {
+  packageDeps = if type == "sdk" then mkNugetDeps {
     name = "${pname}-${version}-deps";
     nugetDeps = packages;
-  };
+  } else null;
 
 in
 stdenv.mkDerivation (finalAttrs: rec {
diff --git a/pkgs/development/compilers/dotnet/combine-packages.nix b/pkgs/development/compilers/dotnet/combine-packages.nix
index 7ca28e2fdc43..930339d8dbbd 100644
--- a/pkgs/development/compilers/dotnet/combine-packages.nix
+++ b/pkgs/development/compilers/dotnet/combine-packages.nix
@@ -1,20 +1,20 @@
-packages:
+dotnetPackages:
 { buildEnv, makeWrapper, lib }:
 # TODO: Rethink how we determine and/or get the CLI.
 #       Possible options raised in #187118:
 #         1. A separate argument for the CLI (as suggested by IvarWithoutBones
 #         2. Use the highest version SDK for the CLI (as suggested by GGG)
 #         3. Something else?
-let cli = builtins.head packages;
+let cli = builtins.head dotnetPackages;
 in
-assert lib.assertMsg ((builtins.length packages) > 0)
+assert lib.assertMsg ((builtins.length dotnetPackages) > 0)
     ''You must include at least one package, e.g
       `with dotnetCorePackages; combinePackages [
           sdk_3_1 aspnetcore_5_0
        ];`'' ;
   buildEnv {
     name = "dotnet-core-combined";
-    paths = packages;
+    paths = dotnetPackages;
     pathsToLink = [ "/host" "/packs" "/sdk" "/sdk-manifests" "/shared" "/templates" ];
     ignoreCollisions = true;
     nativeBuildInputs = [
@@ -29,6 +29,11 @@ assert lib.assertMsg ((builtins.length packages) > 0)
         --prefix LD_LIBRARY_PATH : ${cli.icu}/lib
     '';
     passthru = {
-      inherit (cli) icu packages;
+      inherit (cli) icu;
+
+      versions = lib.catAttrs "version" dotnetPackages;
+      packages = lib.remove null (lib.catAttrs "packages" dotnetPackages);
     };
+
+    inherit (cli) meta;
   }
diff --git a/pkgs/development/compilers/dotnet/versions/6.0.nix b/pkgs/development/compilers/dotnet/versions/6.0.nix
index 840822d1e0d2..d6603aae2500 100644
--- a/pkgs/development/compilers/dotnet/versions/6.0.nix
+++ b/pkgs/development/compilers/dotnet/versions/6.0.nix
@@ -4,171 +4,171 @@
 {
   aspnetcore_6_0 = buildAspNetCore {
     inherit icu;
-    version = "6.0.14";
+    version = "6.0.15";
     srcs = {
       x86_64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/092f7e69-2e23-40b3-8f36-628d25ac7109/4995e4e141b26ea049163af84592222c/aspnetcore-runtime-6.0.14-linux-x64.tar.gz";
-        sha512  = "87f22bef951d00f6d55f30855e947f37f19a44b93e52bebe568d0aa0ace01462e9e6081140a0e771712ef9f032e7ab806d122ff99247a5725ae382828e8b394b";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/4518a0d8-9a6b-4836-ada9-096afa24efd0/ad0d8ccefb6b6a36dc108417b74775cb/aspnetcore-runtime-6.0.15-linux-x64.tar.gz";
+        sha512  = "db41bbd6ffb061402acee12f498f41fe5987d355c9004091ff63010303cc9ea969ab233986dc11556bc6def5194883f50fdf216e1c50b26bb60cacd4f2ecd98a";
       };
       aarch64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/10762208-8896-423a-b7f3-5084c7548ce7/620af5c42e5a4087478890294dbe39fb/aspnetcore-runtime-6.0.14-linux-arm64.tar.gz";
-        sha512  = "9f60b61c7ff41d4635181f8a361796ec390041a307b131e8b29a97776bf0539ca8991159123ff4bc80e0b88d65d245e0d311c320bca29285d5499d255ff4372f";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/0d9619a1-af06-40c6-9816-46d08c9e42d6/744ecc09a1058822dc08ae17a3dc9c77/aspnetcore-runtime-6.0.15-linux-arm64.tar.gz";
+        sha512  = "3968cc6984627a521e68658f61dd0d97caf061a2582b3a133e4d13ff90718954e881f1dd1180f48458550fb02e2122a71fb2bc0463bba38f6812e173202c2c68";
       };
       x86_64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/80906b59-d713-4d5f-ae1b-32823ff1aa0b/6ac94e7a5652c33595f393d4941c57d1/aspnetcore-runtime-6.0.14-osx-x64.tar.gz";
-        sha512  = "71d1d293e6e1812bfa0f95f0acfd17d1f9cc0545dda3b70e2188c8b2214e94f4b2af2976d71691bd1636bb4c614a55cc9ca1041a56c2902266a12b3285de8dcb";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/183c7035-79ba-4438-a96f-39cebae901c7/14358a3d95afb3af618abea80a8106db/aspnetcore-runtime-6.0.15-osx-x64.tar.gz";
+        sha512  = "2e73fc14f85e6cf01fd53439fdbb451496391530cf9af0b4775445383b6f70b5bacd78a0408a8cd6fda23569999fec5809a5cb6325f353fcf72cbb0524e0444e";
       };
       aarch64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/e5afea43-c8ce-4876-8dad-efb09033baab/2b49d236aa076a9934381d9f7db88738/aspnetcore-runtime-6.0.14-osx-arm64.tar.gz";
-        sha512  = "8801c5e80a94d19daea21e30d3365b39124d26e106582814a1d9c06a4d6b27e9e277416acabc28f135b1c95a88625e33521902039a1f56c88520578529842c5e";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/8c038a1c-2c5a-4223-b863-3c7ace6b96f0/92b7538b884350b055a22c7877775fa1/aspnetcore-runtime-6.0.15-osx-arm64.tar.gz";
+        sha512  = "9295d3931af3b7b74c5fa2c61d49f0c270d00fbf0ab15d130f5b70e28297051341b390d36a1f09cc79a46f044099a3830f652d8a294239821d473f946d82ee25";
       };
     };
   };
 
   runtime_6_0 = buildNetRuntime {
     inherit icu;
-    version = "6.0.14";
+    version = "6.0.15";
     srcs = {
       x86_64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/bdd6ca22-dd29-4b4d-a9bf-535a04151a39/cd4e2e686ea044729cfa8eab80ba12a9/dotnet-runtime-6.0.14-linux-x64.tar.gz";
-        sha512  = "2eb1d0a35b21c1f03c0dacce94923d77e85c929a813fa9fcc885c7b045bcb6d6755511dee58f41e001aec294ba6e2163934b451c8c66065bb0bd1723c236e470";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/a8db1a39-3418-4bd3-871e-5d13509ee724/2fac3893cffd4948c67dc3a2ef96a99d/dotnet-runtime-6.0.15-linux-x64.tar.gz";
+        sha512  = "681928ab5050da89302518445f4e7e00738530b3941434fad363724ad5b1f9bcdc52717332613d2e33733ebf835eb550628e87cebba1a12ffb4f881c8e767749";
       };
       aarch64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/52cef887-8713-4085-a8e1-57e18d9a8c2c/85f217a96356c6cb3553883585f44625/dotnet-runtime-6.0.14-linux-arm64.tar.gz";
-        sha512  = "4f559d5da668c67ed61c3e342e5ca77f2059b45bfa84f8c35b5ab4d5acb56ce75daf05713ef7b3ce299c1084fc863d5e43a4c14b1e04ce86db084b1fdd465a1c";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/2151a562-4991-4496-afac-12ae22e4710d/90644d83484758da592719d9946ca1b8/dotnet-runtime-6.0.15-linux-arm64.tar.gz";
+        sha512  = "639153616c316832970b57faebb95a405d52549d60588a2e515323640a9ec0b7d5826a8434a7759ac890c841541f52551ae21895320749b80ab5ce29290d0c8f";
       };
       x86_64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/c25fd07e-9ebe-4bef-b53e-8fab7e3cfe0d/87dcc85e499fe8ec272819734822412d/dotnet-runtime-6.0.14-osx-x64.tar.gz";
-        sha512  = "dc6ebb5d005c9e524ce99cb2c189d963e4399bbe8845c3c517282c601a884d62b126581e6238bbd83c173ca3fa45aeff119d6a91900780f7c4b1394f28bff803";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/002ce092-a45c-4c52-baae-067879173e64/a6b706f9b30cb74210ce87ca651b3f4b/dotnet-runtime-6.0.15-osx-x64.tar.gz";
+        sha512  = "7aff9d90424433d35f4152dc6e31b974d35bf636547d4d1c93e7ada25703023a915a232010267842defcbeec95be0a0e0a11f568a07b225ee23dfcbff85cf898";
       };
       aarch64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/d88d581c-66c4-494d-8bea-922886d27a95/9617e9b18e88e1b02fab40c566b480bd/dotnet-runtime-6.0.14-osx-arm64.tar.gz";
-        sha512  = "7c1cdab62768c293e2ba0de73400de9f4cdc061cefefcdb22030c367147f979dea241797400768370a68449270222955753d6df099236836889863915d38de7c";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/b809e06f-b836-45d4-b080-06b263579478/4690f65020f04e6579085df1aad7421d/dotnet-runtime-6.0.15-osx-arm64.tar.gz";
+        sha512  = "23043de9e69ee01570d7a99be997a38d43da69dc77a59945df780eae772b9f02d8d427062a3c9d0468a41f3783ce9755c1ebc5986f3e02bd661113ca3a3051e8";
       };
     };
   };
 
   sdk_6_0 = buildNetSdk {
     inherit icu;
-    version = "6.0.406";
+    version = "6.0.407";
     srcs = {
       x86_64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/265a56e6-bb98-4b17-948b-bf9884ee3bb3/e2a2587b9a964d155763b706dffaeb8b/dotnet-sdk-6.0.406-linux-x64.tar.gz";
-        sha512  = "4553aed8455501e506ee7498a07bff56e434249406266f9fd50eb653743e8fc9c032798f75e34c2a2a2c134ce87a8f05a0288fc8f53ddc1d7a91826c36899692";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/868b2f38-62ca-4fd8-93ea-e640cf4d2c5b/1e615b6044c0cf99806b8f6e19c97e03/dotnet-sdk-6.0.407-linux-x64.tar.gz";
+        sha512  = "3cc230f21c0d60ffa4955c01d79cbb41887a41f4e97d0708170e4be8e4dc5bc261269c788c738416c28bbc7e8c6940a89cf3d010f16d1dc4cf25bbb0e2c033c1";
       };
       aarch64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/0a569135-1e0d-4273-ab56-f732a11f6199/6fb7eb4813c1cc1a7354cb665d2389c3/dotnet-sdk-6.0.406-linux-arm64.tar.gz";
-        sha512  = "7653939414bfbd06b4a218fe17c0c8e0af20f7b5e6929949a0adc23ac515a76622fa863bd6c46bbcc0128238f4c1aba6b7ff5ace331fde43e89921737a20eeee";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/72d1f83c-ad2c-4c9b-88b1-15196f411b9d/a0b863cabea9ac0fe7b92dc70c8d4ef0/dotnet-sdk-6.0.407-linux-arm64.tar.gz";
+        sha512  = "7d48d8a3814694a978b09a7c4b61c8e0dae9b5efe8195c15339d2f777fa4b85084d386117ee03b05f543d3d64b9484942e1e212001382b2e67277b30f5254b9f";
       };
       x86_64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/61c6fa00-1ebb-4faf-aaf8-30d39ca5c38e/e3d1785f5805093bcb6d778448d3611d/dotnet-sdk-6.0.406-osx-x64.tar.gz";
-        sha512  = "e0249710b8dcf380179b4f57559e2f6745b855d387d4bbda861c94605763bf1f4c09293edb31e33b6271395c0211aed9b2b83f9cf5cc1831ccb1bc34b45e58c0";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/3309662c-cf75-4bae-9317-b0441971084a/91c1112b15c070c03a0d5e6f61434fc7/dotnet-sdk-6.0.407-osx-x64.tar.gz";
+        sha512  = "3e4cfbd15ee138c8d1582ebd33a443edc7d8e055d579abc0335a288b2c26bac15d7e4fe3b80f91d56513c82318b6a62803558e3d41a28b6716d2296d12d3003c";
       };
       aarch64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/bd1b3132-b61a-47cf-bacc-130e31003021/002152a1050fbc9eb723bd741453c9d9/dotnet-sdk-6.0.406-osx-arm64.tar.gz";
-        sha512  = "1eb56eaafaef3b81593169374e44aa19e16606ec14e24dc2225f9e79466f08f904be052f24a6d2ee231b2f89473922c4386e3f0525570356817b90f9990b7a87";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/a23756f7-af64-424e-824f-35fd816a5144/0c7789d67cef2037efba35649d643004/dotnet-sdk-6.0.407-osx-arm64.tar.gz";
+        sha512  = "75b2cd3a679c3d156ec9f7fdefa9637f8684be17254636acfdddb3bb3d56da4dbac05e9f178acf46a631a21ab96a270aa20256bb3518d89fdcdf6a8d3d21e73d";
       };
     };
     packages = { fetchNuGet }: [
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.14"; sha256 = "0la135plb47d1j2x4di3r1b01aysnlpmxbjdpfpab18yc04gqpa9"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.14"; sha256 = "16qzgzgr4b0pl471mvdd9kzaw77hzgrsqmlj4ry7gq0vcn3vpx1p"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; version = "6.0.14"; sha256 = "0qr7xjy08ygz1zw5vn9bqn3ij5dlmf6hvbzm4jsjszfqpna63i9n"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; version = "6.0.14"; sha256 = "1dnqyhkx7i850as4nswjmahc2gv7xblqr57rzc019d14gs9ghaf4"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.14"; sha256 = "0jq2sk2mmgwxm0c3f6yls2swksmpqdjrr9s3i65g0r001f475dds"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.14"; sha256 = "1xc28c1qh5dmkilfrw1q89ghi5awr505p6dc28qbi5nknkvimbb1"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-arm"; version = "6.0.14"; sha256 = "16ymdi679vj9inpz5lbsb2wiyw3dkflawhl3aj0lpfgb1d7kb5sf"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; version = "6.0.14"; sha256 = "089dlyq9fbaavicxd79iwq5h1xghn2a2x5jjaicy9zbapp5wng7f"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.14"; sha256 = "0z2642jf4sq82mxxp0p9rf74l2qs3qqszq6f10khv1n72aafdaad"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; version = "6.0.14"; sha256 = "16fqif9v4wifq5mqkd8vir2j6dsfp14rgv290z8msps6cqx63n5m"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.14"; sha256 = "0q43lxc5wdw5vaypzc068yx8q1s85sj3yw1lcdjr0ps7nzzv4laa"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; version = "6.0.14"; sha256 = "05dz56dv8vk07nbpnadarks2ms1sk8a463r7s5a1va8wm7a6rcir"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.14"; sha256 = "0sgxgh84hdkq56vylvkpbas8qbfzzqwg2np04m6fz6hqagmnqv0z"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.14"; sha256 = "0ki9yrqk7763b6wxdxy91l8r56gyp63k5kxbjnfidlb1nj84i9d3"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.14"; sha256 = "04pnpxxgisy1zqwc0yx6blsbn6v9dyx6hklpf97702xkvc3rnp8n"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; version = "6.0.14"; sha256 = "1qkx9i8l177r82ywyyxg6nzzz9g8mpjgmis34ix8svr7swf9jl6k"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; version = "6.0.14"; sha256 = "16v30vgmn0frzm8xwn2inkiwa51jhyn5wlnpw5mplfzfrm5m1gmd"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.14"; sha256 = "1mmmv3jlf99qkp2n79v2x20x0c6h7j8vp24qnh3shdcqxmj3b6w7"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.14"; sha256 = "04yp0fijjz5l2fqcw7lnmvf8lmgnzwhv1353lnr170cxjn356fhx"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-arm"; version = "6.0.14"; sha256 = "0gg23k87ln59adbig8yi2i84cxshia61wwjpp9fk8i7fb80n8mgd"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-arm64"; version = "6.0.14"; sha256 = "1dpd3kib06ih9j59vavz1f40wm2qb57zj1y0j24b5lilwpki9295"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.14"; sha256 = "083z3gf7ngchkp64gm9yjq94434gb8iz2m7pbimblfgp3gjpfnvg"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x86"; version = "6.0.14"; sha256 = "0sb97sf4qg5j7c2g9vr1c0fffghfwqpbirxl2x7ynrrj451apl2f"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.14"; sha256 = "1jiji4076r8xd3g1wx3h4c8ghsdll9g9qxff717xv4wy7m0vnk4m"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.14"; sha256 = "0z73vf33fj4qya582mzha24c98qhg69y6qkcvbg5zs03h7333zyz"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; version = "6.0.14"; sha256 = "0kmpsyggqr2m5m2cxb4sszr9jqd0wlvvdiz83270fss5v4l0hm5a"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; version = "6.0.14"; sha256 = "0dn23cddij0w83wa7rlgq56n4jxbjkd2svimix2lzj9znpdd1i49"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.14"; sha256 = "0jq6xa6pj6fa6sbims848a2gz827az8rks644ml59rj1iylhrr38"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.14"; sha256 = "04xlq5yhbm2i68zzjdgr7y64c91kwyg8hysn1wglijkmrq9w93hb"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-arm"; version = "6.0.14"; sha256 = "1arw27bfrhxpqaydcqa7mh5viqg2kkhyj92lspm6xgjhz5fncjnv"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-arm64"; version = "6.0.14"; sha256 = "1ahs36dw4wz4rbl0sgmnpwiny19h31mb7n0rilfhn61xpyi90xai"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.14"; sha256 = "15flqfm1lmn0h527nh3vwwgmlan5if0y29a58lfk45ck3nsvjp9b"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x86"; version = "6.0.14"; sha256 = "17j4r0qsm0s8kpj0i538s0w1zn6jlzmgkvdczbddik1cfzl0mgi8"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "1hh6mbb25agxkbv0n843jnvxjppq4gp6a3av1gjak7a8k9105k32"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "1q7ssasrzvdjw4sr41m8g9njm9z1r3y5vg65jzan6ahldx315x6g"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "0wqjnzrz0mdpd90naxhbbqws104rlzb0wdg5zk0wpm20y895zqnr"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "07qhxawl2rxks0b1iyzhyd201hf7iaf1vaw9k2h5zp9r1pyq743m"; })
-      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "0q92pv3x83i5h3wd8br8k8gbdcbsmdzdpys1xx5ms383x6197lkc"; })
-      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "1q41lxiqpmyjb288lpjxa947d2yk03h07grn8w51560yx3h65wsh"; })
-      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "1dn6mikdwshn7vqvwqsi0p67pw0ssn487k6cxsqm9nsqm54cd5q4"; })
-      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "03iyj2nlc8a1iw0ablbmmj13vxc5al9r85isg4g014fywx3hysbk"; })
-      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "1w6454q0q43l2r2qffacxr60m3cl913nxmzi7hwq91pnb7s0rv2f"; })
-      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "0aaj13rkxgi2544gwrm5h15wrpp1ik3kvpd2zb88mplcknyhhljg"; })
-      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "1sqsq4bmwg832g63k8k28c6nrvln4sparph7785k7hz0xw44nvb6"; })
-      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "07dr8zxx05fvxljx5dn71nalq6nvkabf74bwsqy82ibirx5g4adv"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "023c10649nvxlmzb4w4im1r33198dx0kk4rmr4psc1gw1wismz58"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "01872qqfkw2xvh3ngvn3nx80pjkdqdgyq623ippw0wm04kmpqb81"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "1x0z471pjl65p3hrxmv5wbzssp35vki351ryy123z421yww9ackb"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "08p40wk03fzy8dg91psliymzrbl3ypj5d8fkz5rsvxap2dbihi3n"; })
-      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "0r2hsb16bwnj996hxs64rv2dpwcs20isk2gkzf69061sh76m80hp"; })
-      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "0a2kz1cm8l7f12n8dyjyd42kii6hg3yp1h41670lwfq8as5mixr4"; })
-      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "1l8cfpm6ypx75l0sm3v11wqq5mbpyji2hx2q4549m90319lpx19h"; })
-      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "1srpr3yhjqa81zpimk12jsh0979zglxfhz4jm7jiqf6bmfy3s79i"; })
-      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "15sjik3krwnypc8vlb3vyi10kgzhvkvrw9lhzl36hbvmzsz65ah8"; })
-      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "1yxp23xb5md39xz6xh0d0jpy6nyrbwkijsh9ii6vnfdl0jl9wj9p"; })
-      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "1m8mzcqxndich8z0b4zr3d5nx5n9pxpmi4bv36sv6cvnanikym84"; })
-      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "0s4v3qnpwm17jp97bkx6qya28jb2vj6z86kg6scrb7r3szw49l00"; })
-      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "0rq210qyzdyjqn6kjpdw28wcidi4kb14f3wmjb21491p1sqkdx9r"; })
-      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "0zbsgh9qhn1asmqs3abaxkld2isj9wp3yzcrmx9sfi8sdfwjf8dz"; })
-      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "0zhl1rxx4l1hwfd829ys231hxh6w5g2q1zi7rbpk980cbrvm8jmg"; })
-      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "1g8s3v0md0wvqjsmlw9zbz028bm03l3xmqc21v9fys19gfdrsr5z"; })
-      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "0byix4d873k8v6c0xv3daxdb328g7bj0w9qfzmdwn5y0ps2xj9sd"; })
-      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "1zv8mqd2kmzildakwcsqvvp1ry11xj9cy5fxrjn52sc7hvcvjzdp"; })
-      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "0hmpnki3hsgfqmq3vg4jcasx48c3zbif2dm4w8hqh2r6jx83m1n1"; })
-      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "0wjmq056d9lq89gcprj6bbm7ywdw6ssgnp3mjfm1mmp4r0jk7a2z"; })
-      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "1884rz8gsa0ck5hrm9dqmir60kzcv1x47mamwl4dcv8ncrwdz61d"; })
-      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "1nxcc3j2d0s19ys064nvbif07rsi56gfbrc1giiw2l7b2z19zmn4"; })
-      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "0xx0c6s0v3fylpz9wphd72ay2a09lpnlgswbhjiyb8phymw7jgrv"; })
-      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "0nn7qmwyh6w5fjhl9nqibvn6h8qjdf7pk1spnmrlll1y48s2wzjw"; })
-      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "0dp7cgqry8dqpzl2zwj63b7218p0hinhlqz9qaiqzh9c7c2wk121"; })
-      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "0r5hnv4zck79ml3gxxzn3hk0gpqyzw0f0aqw4wfhgjjbisa6ir4l"; })
-      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "168jhx2dlj1j95d37d6b4blkwynddbafs4n26cf26x1ibjysr6g5"; })
-      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "0z8scys0rjba5wgmjq8024r380gcwqr0xcggzi6qm20vxhbfix3k"; })
-      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "19s13k0v9mb17iyr35i0d75sscdrrgbvcv36rcpygpazy9ydmgsa"; })
-      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "041kxxa495gn21nfichdi8vsyhyhfy64fm0jzcr9l5z87m4ywf66"; })
-      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "100hrhb7mgffxm3wc8gcyzpgp6bsz7gjylagpiwazld14yb8c4mq"; })
-      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "1vzk9pzhqsww427zgcax0bvs2banhs2wgaxc9yn18y6f2fq8whl8"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Composite"; version = "6.0.14"; sha256 = "1k7iss51zfxj17sbxkqfky7f4k63a931v0qzgrmbljwvjhk6xhfz"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; version = "6.0.14"; sha256 = "19aar4mxraih1vcshnl2sl6y536v4m9a3k7ymnwrl6yhnmmhn3sa"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.14"; sha256 = "0rifg8ibxq2h8z98hrw9xlng7a7zvfzfr5fizgs89brr2ng7s898"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; version = "6.0.14"; sha256 = "1hiaanggpc5xk08c29mh3nfdj3il38jd8wr0xiv0r73ld6nfbfxz"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.14"; sha256 = "1lpngik3n1knv10lm7h3y7yac5pcbq1if8bim2vvvkjmiqxxybnw"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.14"; sha256 = "1047xhl0dxc1b9rrzv7q353v3nb4q6r140ks93gdag24fi0m9qin"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; version = "6.0.14"; sha256 = "0lnlmhwff480idav33yss0ii6vlgfjzmnz5h4kx264h48c6jr370"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; version = "6.0.14"; sha256 = "1gp6ws83zh3nznrlfr9gh3xnjj9wj2m452y922vkfqhwx9h2w1fy"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; version = "6.0.14"; sha256 = "0xqmpz5hxdaqzvfbd5yicgsfsql7h84jjqnsdg47cplk2vrd91qf"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; version = "6.0.14"; sha256 = "0av7q4kbqdkzksh24dmjbfalah6w1mmmshqmpwn78q4xhkyldawi"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; version = "6.0.14"; sha256 = "0vqrsq8dan5m5jvsd666ri3v8pyxkl300b90jh3k6l0yn2rhwm42"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; version = "6.0.14"; sha256 = "1m6lmadlsq878k6cbz4slv0hvng3h04wvj4c87fybywa2fvk0ykn"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; version = "6.0.14"; sha256 = "151hy2gharkdq6xvzknac55rgn7vd01v61r1by4w1yascw7ppckk"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; version = "6.0.14"; sha256 = "106nr57pkwp5k4sjv1313wci5fmgajcpkvn1q2sbpglf8bv2rm6p"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "0sii3jvgkgc3w9s9xdn8gjylwdx1bqvi5v92svc7br1l4jrd8yg8"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "0imi5f11zhm548392j44gdw0i7b2yn1k5yqnrfnhgbrfd6mf4dcw"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "0d70ndlwhc60dai1f731miz7s1408dbw8jv8mxdza0z9b8wkww92"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "1j2ydjxngbm8rdpvh34w7qsa54sa0dbqyq5rjxx5kgq85qg1ddv2"; })
-      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.14"; sha256 = "1bfgpzjpgl5v3av2wlqmxj78yap47gz92lv0zfwvmn3phghhcn5x"; })
-      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.14"; sha256 = "0nyv8w6m383mw0bnqik9avn1n9f321sy9l6iy1ygv8f6mk85gsim"; })
-      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.14"; sha256 = "1cf587x7prxbxadv9jl32dz45dp9g5dkrxanq382f7jj96zxwh0z"; })
-      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.14"; sha256 = "1v8rdvgbh0bq495h4dfjgddls9aa4qa31xzcbx5pnsi0j9b3cf1j"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.15"; sha256 = "03gcvmkxpwgw3mfpcwc4mpfaqvjzvj3gvn1gc360bzs9ivd49ipp"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.15"; sha256 = "0wdw9f122byk3m1gcw5zdq2024iqc4r0q8l1bsgjxqmldsdd6rl1"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; version = "6.0.15"; sha256 = "0bg352cbgb5dc12h3c0rsb2zl66f6vh0280s23z3kqy0q474g1fv"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; version = "6.0.15"; sha256 = "1zn25wpq7lq1y45m4ipv17yrr4k6dd7ckdx21js9pny0dbrbvyhb"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.15"; sha256 = "1swlzfnxs81cxkrbwp7dw25n5yl4wyn5iy4mxkalcpzvr5br1ayg"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.15"; sha256 = "1dk03n8gpc7lpd8bhv88pdv83j9mp5l2mvqbrli0s493rdrklhi0"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-arm"; version = "6.0.15"; sha256 = "1agmcldhb8hmrha2bsibpqy3j11q4l8jmqyb13a1llq5bykhkcaj"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; version = "6.0.15"; sha256 = "19l7pw2rnkyb6davphi4m04s88vf2x1kskxi0ic9nv2k11lm46rz"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.15"; sha256 = "0x7jxdk8ayijv90cph06dmhl3jvsd2gkcj8rigl5lsawc58w13hz"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; version = "6.0.15"; sha256 = "1gvbmba1dnas4qa5bnkb0d3wks4jfjnh8y09a42ccr3h7pl1h3hm"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.15"; sha256 = "0w3y8pazgsa17m8zwjwjhnz37r9pxkssrbi4rg18l7rk4bjd1c91"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; version = "6.0.15"; sha256 = "1xbzj0yi39kh8rdllw0diycv3k87isklyyw932gmryf9bdf2v8jl"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.15"; sha256 = "15p3b8qpzg84f18kk55ddvd07apkjy54q1gkcslp5b985r2anrda"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.15"; sha256 = "0d6s4m03v21b2gqlp6mm5hr5rdig6hl5344c3jg7kczsxx75fzya"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.15"; sha256 = "1h9x9k6pyqf822z44nawyi2hz4fia1nzgwzxm4xxyy26cav425zy"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; version = "6.0.15"; sha256 = "0jrnd1v8j5nlzcg20mgn21by7yfdjpmn5fmacqj63dvq65mfz2i6"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; version = "6.0.15"; sha256 = "02lrxi3cx5lbzsgvd51bccpqcxs3l358l07436whal3hzz45sh7x"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.15"; sha256 = "1wf8dmhb9yvlic0rf2d24zj2rzasr679vpf0r7vy9iggvl8gsw25"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.15"; sha256 = "0k470z95phdc57f7jqmj1x69qwj3s44nzai0j42q4al2wh047bqa"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-arm"; version = "6.0.15"; sha256 = "00j0jcfj23qray0y8ahz3s5v0g3bkazkygn68s8r79rw1ddlyhcs"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-arm64"; version = "6.0.15"; sha256 = "0i7v5wpfmx2kizhrwplgq636dcsrrhqpib3w04z91a0ckvva73if"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.15"; sha256 = "05ykar9ymvm68szzznc30yf5jfg2galqd7lzyxjmkz61bfx7q3h1"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x86"; version = "6.0.15"; sha256 = "1cv3vclygi5mfci9d2i9wxzq1m0g9nxgmfbf38kpcyyrvrwx692n"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.15"; sha256 = "1d4s9j3lpa647bfblfh578pj5h0irg4vk471j47b7l4qlgzhi5bl"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.15"; sha256 = "1x5wkrlc9j1bsg90nrb2ag26ncwljxwcsi2ca1hhaphb18kzr09a"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; version = "6.0.15"; sha256 = "10dr4i9x6gqbrni52053ywnrvaq0s9cf71wxy7yzxjn8q0lwhi7c"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; version = "6.0.15"; sha256 = "1gncnrfl8aawa7b8qf8klfk8dvnpac6zm5ck9ak0vd7n4lzblc58"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.15"; sha256 = "0x8mg0nlylmp0wfnkmx3l70q83nda7dhlzc7xr3i83ds32mcjzjw"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.15"; sha256 = "1y5aijd2jagiql8h2xq7zjmmfpl9icq0nm15vm7m1rpcszi6sdn0"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-arm"; version = "6.0.15"; sha256 = "070gk1r6p7wsgbclv68xjsm3lsyg04yvjb1smpnldq0r4s9qz88x"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-arm64"; version = "6.0.15"; sha256 = "0rzsacp91ci2phikfwlbkch6fw38hgabqfqirs82a3y4h0cn4n6j"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.15"; sha256 = "0y9sd4ni56irwr4dhmvf502554frcn0hqc23al9hld016wcmk6kp"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x86"; version = "6.0.15"; sha256 = "16y63km1gch1v009b3hwzfyvbqn53ilfjw9vmx3qyxjmxmd9jjp0"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "0mri7888cbxybsqw6j7vc59ly1bgyczyapzsvvmjqmmzc81bwcac"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "0y0qb98i7456v9k9l31pzilrlvflgk3nwidqqnj8df45i6sid7b8"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "090dw123n6pchiphknvfgc310nk5gljljf2km1lkpyr3gsmqphkh"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "0dbh8839kd07x7ss1m9clslhr96bdlgz7ylk0b9bcqfbrsbd300x"; })
+      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "01195cqvw3hbix5wxgifpz4qbc8cgh3gfab909m03y4j3a9mi31y"; })
+      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "131b2rh22lyq7n4pf4vbr7n66a9hqjryys8s20rgqkx9bcrrn955"; })
+      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "0hcwrqf6vnjccjxpy5dwzxfqk225rabj3y21jzkd0i07c166piw5"; })
+      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "04j9is7xl6bpn9y2fi5bh3q77960xsqbydlx6b8nqyw35b5cyacf"; })
+      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "0gji6ayia67nq3zdccny6jbqqw4bmip9jzh8whlkf1ajim74719v"; })
+      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "10drlw56pn10mi5v2wrhsg5cj1l03myf089hq2dp7blp4ia0g7zz"; })
+      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "0sxfrsqrpx5iibaw5xh6lxyzm8qcql0cp8v3c0rv1zfzsx7g140y"; })
+      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "1xygx7jqvf7fr2b884djzfxv89kbm683ziddzyzbh2mlf32g5ki9"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "0g1d96xklajf5xm75538sna28d8a3vdlws95f43r1ql1cd76bmrr"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "0d7wa63nlh94imi0gl6fs7l09gj275gqj9gln3bbn240anycyhz7"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "1h6dk3dgvffr59ryxkavzz3xf46jkswp31wgdadqkn7j88yga8mr"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "0pcllj60xahcp6y7dhgdx0zbcc89f0ciqa43a2bk7nl3l9vbf3gn"; })
+      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "0rrqdms8fgjlwspip557w6i7db7r5dnl0ifdh7qmwrviblapxgmw"; })
+      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "1zh4rw7xyzwmamd6rbh7z4057mahz1fs2l34vy0wvl50zrca754l"; })
+      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "0nlw7hjnchfq5rq13pd9vdpmggq15k8jsnfkjmpyyrnkx3gf3kw2"; })
+      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "0w3zpbaqfcf1grn3z71539v6b5r7b6rn8v4bgkm2wgv8bw0nylfc"; })
+      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "169whcllarss487v10gh1n1i03mcs9py38n4w60k3v6dir5z6wq7"; })
+      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "05fx9gssyig1a1vdnrj8k9xwxa9v17j53xyl0ppcl2gl07ykhghz"; })
+      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "17vv8pqc76yb2ag45f08az2rys48v69an3vihbmlf1nsqld51idb"; })
+      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "1y3hxrla2j8l6g1n0p00i25xnvw4l207390q87aqx98i61xi9hxy"; })
+      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "0kbjmpbwjpfb5r4zplx76lgljc06mbqb7rg77vgw6j0wjmlsjb6q"; })
+      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "1x3nyi61zp9808rha84s74cvv6ps0lcs61jdm3m1gg38ci6dc3ad"; })
+      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "0nzdnl3p8jgpzn3vdfjgq7n6i9vj2lq860k45x87lihmdqzjbvcy"; })
+      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "0rz0cfdpjwwac6hhk793n113g52g3v6wcgp2qyiyjb31fz9kyfmh"; })
+      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "17p0ms06jhhmsk190j23khywyzgxmg2qzrc0hw8x2y2n84fq6sgm"; })
+      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "0bypmkg429ksdssghlvlv4k2ca8bdrgmmkmhjvpg77ravq3g5n5f"; })
+      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "14jl9gykh5i84jpxb57nmybq0p6zrw8xmlqzjnd5gb7scnxrcn15"; })
+      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "11f2g2mhd66y9s2f9xibdvb7wwvggkcwb6w5fm0c7y96vc17xjn1"; })
+      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "1f9pkkz3f7hq46vwxjgxvdy0ky5pv6fj4jnrpyi9hw25q9305fg7"; })
+      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "0y951cnsk1qpqsmb7chqpfmjdpg190vvph7lpqp3hhxmazia6pax"; })
+      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "0fqylsxnkmd2v2v4xsh1xid7hjv4zgajj84fgav7d9a5znqfy0cr"; })
+      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "15nsmqcfda845vj2x1rhxv938bgr3x2ifdyfdi7vvhcv4p1ff1vq"; })
+      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "1frhmlvii5xhgb3zr93k2slwmx248cgxcmhnn5az71za2m2mpb3m"; })
+      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "04gbrfk2kbpjibgdm7nqmdk8c8p33ykx51pjs4p1imda5zppbvf0"; })
+      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "08qbgcr77xhscxq1qcv63qadlvr0d1wv56ghxiz06fwzih7j5208"; })
+      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "0c19dlxx9z76z737zb9z5cxfma5mv9hg7f15mcchmapj3bbbc793"; })
+      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "0val73zagng2sfsd3s8q3850ajp1qm2pcsa14fyrzbpnj0c8rcp5"; })
+      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "0kknq7nblz0i007lfbxmbhvndwlknc8gx154awdc3kbw45qim9fh"; })
+      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "1b60lfq35z04jrynhnr8266a405hrkrw191cdnxfjprqprj0p11p"; })
+      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "0ca5lfgnl2f668iplv1r04aw8790s31x4qpg1ip0i4hb7bdparmp"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Composite"; version = "6.0.15"; sha256 = "05z03an4j2h8bwnr0n7yzf968w2bfr2vfrmw8m6yp1cs1m64w9vk"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; version = "6.0.15"; sha256 = "0gm95gqlnbnc729jli18if9y5l4fkkf9fwqisjz4shvk6gc05isl"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.15"; sha256 = "1jbkd72q5wv6266lyb7fhrbvj2n2qf4m0zqxkbba5zxrm0ndj01s"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; version = "6.0.15"; sha256 = "17bza5p3nahcc1bzyv9avwmb5mgpf1w8mz8z6j8nrpsjnbaq5kjl"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.15"; sha256 = "1gm088agn762mzimhq9yg6d5qr5l5zya9hzw9k6mkbmp7jwdsy4p"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.15"; sha256 = "1apmjy7gg6lrc6p5v33qh4b65gp05ypy0g1gbz8r0wn00yjbv5n5"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; version = "6.0.15"; sha256 = "0sg37vd0jwmjl8yfy3pxx81zw82ra0fbz3g31gdcbq7mz2g39rfm"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; version = "6.0.15"; sha256 = "1vjnnzbdb5rwq7izkn6icy9fwk5rq5qxhp9zxj2p2zk270cz4ss3"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; version = "6.0.15"; sha256 = "1pszxiialajv1zzlpqqvg5l3yyn0w87yya5wmav7cxvijcm49rmf"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; version = "6.0.15"; sha256 = "0mfdqp6x13c5r3bmwy1pkj1gvmmi80rgaaghigm0yps3816vrf63"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; version = "6.0.15"; sha256 = "0l679nzyhmyn3i0fixv5pgk5lbqwf5ql5xs15vqmrfbha2l800js"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; version = "6.0.15"; sha256 = "0zxpmdwb7kvzgwis94k2ffayf0lih5h0i4lzqyf3zfj4mxif9ady"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; version = "6.0.15"; sha256 = "1fpbq5gc42llk1iiyvsxcv694rcjnd5yg5y15vy71b0yf6l4sf31"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; version = "6.0.15"; sha256 = "017czf4ysdd9iyb5v00v2s6765gd9iz3a2hqcpv06hyzpdkfasf5"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "192mh75vxi2yss1hfhlw4zbp7b38i1d7vmp1dbamqjxc6dficrlp"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "09xqyhgilh9zw656jx523njl9dkmn2lwhqc6pwfqx3ajmfrc3d6g"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "1fb8kklr4zbh8b36icvfbny26whd1094j1hmmx1fgi1xphx7js80"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "1d19hfkd3y89i49i82f7r42fsv6y8vgvwalffjbkqa83iwynp88b"; })
+      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; version = "6.0.15"; sha256 = "1hq40bdi3734wwfc8kncsdhwsanyhmad1w6d1ff4b6jqjy0i299v"; })
+      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; version = "6.0.15"; sha256 = "11sllp5qyvzqaicandm6az48xhrj2q8skq44adcc5xjdqpyknwcc"; })
+      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "6.0.15"; sha256 = "0n84rxd63gkpkdsw2zbv6xyiynzivpb6cpvqi28xn6jpx6d25d87"; })
+      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "6.0.15"; sha256 = "1hrizmq240qwqm5hjfy15h0y1blxhg03ygxcxbpkjgi7zc4v9fsi"; })
     ];
   };
 }
diff --git a/pkgs/development/compilers/dotnet/versions/7.0.nix b/pkgs/development/compilers/dotnet/versions/7.0.nix
index 4d63be883f58..824533dbfc9e 100644
--- a/pkgs/development/compilers/dotnet/versions/7.0.nix
+++ b/pkgs/development/compilers/dotnet/versions/7.0.nix
@@ -4,178 +4,178 @@
 {
   aspnetcore_7_0 = buildAspNetCore {
     inherit icu;
-    version = "7.0.3";
+    version = "7.0.4";
     srcs = {
       x86_64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/29b10b5f-6e65-4a08-a348-488c7b2f98c0/ab7b72e8669d7edf3966cbfefcd532ca/aspnetcore-runtime-7.0.3-linux-x64.tar.gz";
-        sha512  = "fff857e44179270d937543ab429ca43a4706f9189ee8f60afb67813d3690652d9da08bd3e69c7acbb7c0b2e613b9659c4d1ee7bbe089c841126efd07dc23a758";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/f2e33ca2-e597-4d7c-b34d-60e47b5fe2fc/a22feac281b4bf63c8b5195a30e6cce1/aspnetcore-runtime-7.0.4-linux-x64.tar.gz";
+        sha512  = "b0d2896928c003abf79c539c1c6be13ad560a34d8fdbe9438d916a977aa59e648d0737b57aafb25fda1c3de7c95997eccbea28ae04e4131ebfcd18c36940bcb4";
       };
       aarch64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/b6b539fc-e39d-4fe0-861d-f95b92e9d9fc/0f2f004f2b6bd4409959c821bb61f97c/aspnetcore-runtime-7.0.3-linux-arm64.tar.gz";
-        sha512  = "95ead701041655d9a0ab19dc8f53b7780eeca127499fc294124d466aa12daf930d756de59d7e8e8cd563a6a744b74bd5372d82fa95eca0973c94cbb1595451c1";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/639aae36-b8fe-4bb7-86d7-0216554b6183/3b5caffe27bb78bbb10aff729d65ae03/aspnetcore-runtime-7.0.4-linux-arm64.tar.gz";
+        sha512  = "5e149ccdd003dfc4413927f23b07b2f27ce915c63146e514b2f88446bd44f64df51755644b56c316b0a1388c873404fc1d39b24a0bf8066f09fc37d6f32cc03f";
       };
       x86_64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/f836c792-49e6-4a81-b440-b5aeb561425d/c21cad25b413027b8ab2bc6993210675/aspnetcore-runtime-7.0.3-osx-x64.tar.gz";
-        sha512  = "784d8655406535cc6844af63066e51377594de17162ff2431acd8444a5ba0c6434271b592c38f3ace2da0cdec693f3bd2e681316b972789a577e05ad1e9c2e9e";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/eb055f27-b58f-47db-b291-91a2700396a4/7b313614b3ba0cd2f9e57b288c82f0b7/aspnetcore-runtime-7.0.4-osx-x64.tar.gz";
+        sha512  = "36a573380caeac220cd7d4bb1a008f440f37eee21be4c0156b95974739264ed5b3ae1776462a5dee286f387719d3241b57141d2604463d8367038bc718d9178f";
       };
       aarch64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/09261fcb-ce1b-468c-8c5d-54058e75e5be/d96eac7765210eb09f37362b793b0934/aspnetcore-runtime-7.0.3-osx-arm64.tar.gz";
-        sha512  = "379dc7aea65cf0c97a919386f0e4e756321f522c6f658de303543763b0820ff9a6efc0e27c908065a5f95ff740d6ba469eaf264b1f36b017f2fd748d76787458";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/d70d5370-7f1c-4fd9-88cb-504569112323/32a23f276392a1fb04f2f3cdd35f961b/aspnetcore-runtime-7.0.4-osx-arm64.tar.gz";
+        sha512  = "07771022448fbda4248ac153d401c11ff0c9cd33ffd9a6c480e7a8618b802e7e33152673557dd92a5467199c275ff8b0fd007e132ed650d594759743d3da7f8d";
       };
     };
   };
 
   runtime_7_0 = buildNetRuntime {
     inherit icu;
-    version = "7.0.3";
+    version = "7.0.4";
     srcs = {
       x86_64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/2431d5ac-f5db-4bb1-bcf0-4a2d9725d4e4/1b0747add72af919754509f83ad08660/dotnet-runtime-7.0.3-linux-x64.tar.gz";
-        sha512  = "d5cea2e674e9430174da793942b4ff5dc1b64d12c731dd3324ef520a2fb11787782f2f8ffa83023c41a0282ecb174e2a49a2c0aae1b327a58fcbd2bb06c4e256";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/08c89e27-b593-438e-8303-af765b90e5da/28b1b06748b86a694ac4ddf43d546a32/dotnet-runtime-7.0.4-linux-x64.tar.gz";
+        sha512  = "23e6aa3714410d794bd25af781046757003e3326cb8b13dc256649011815038893718b44ec2162767c7da76f1e16b170656d5726e7c01e99b9577682ecfe281e";
       };
       aarch64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/9a7f3ac4-7692-4474-951e-c86beada28e0/0842fba93ad196897ce6bda3bcfd7edf/dotnet-runtime-7.0.3-linux-arm64.tar.gz";
-        sha512  = "605f4d9657396eb2c9825d1576836115492221a7733f36638d9c6f14f1c15481c908b6c8dcc619ead34beb4d4991d810e2a69a8bccd7c49ed0f4d72411d1a5f4";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/47a77eda-2e32-4106-bc84-375b873a9839/c6d88de403b103248f67f429507ea269/dotnet-runtime-7.0.4-linux-arm64.tar.gz";
+        sha512  = "2726dc5a0b7b97c0e1ad22990b31133a1af46cb62d625778a9864a0047462d12ef705eebe08e73514bd10af50c06b5c9714df070f29c5203cf1c2587645d84ce";
       };
       x86_64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/c8f49e77-4d55-4a33-aa87-ddc034be61a2/77a50b1726446bee5a3a4dc6573568e2/dotnet-runtime-7.0.3-osx-x64.tar.gz";
-        sha512  = "0c3facc23e8db48bca33e3133ca85c2c6893a56d79f83d87179e8520712cb76c699df0040dda5999591c47a128a7a3b365f62b500cf802091989a23b41eefded";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/e4dd643a-16b8-4f1e-ba38-cdbe32cc24df/67b307accc4abbbc2238310d6ea3c516/dotnet-runtime-7.0.4-osx-x64.tar.gz";
+        sha512  = "3042f6c711da88a669c92101ad3f6bd008e475230d68802f52b2748a8db6eecfd2af40665669a3d846910bcaf63ea27277f6a33bb76ec6fb3e256320e2f6dbf0";
       };
       aarch64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/1dd7d303-2c33-4fa9-bb3b-150f768f75a6/2df66ae5492711c468f1e6c582a440b7/dotnet-runtime-7.0.3-osx-arm64.tar.gz";
-        sha512  = "2bebf2296eb65916bf4b88c9447df442b328047794fefe4f5117a9ce2053547b6df64afbfa8f36eed9a1650af37824fb2c325568deb3e171d8e5970a4eef6520";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/bf2d81d2-d793-43c6-af0f-763a48e1fdea/0457d06cc4e7dea7fff49e944691c72e/dotnet-runtime-7.0.4-osx-arm64.tar.gz";
+        sha512  = "4451ef94395eba2dfdc1af4b43f619d58fdfdd444fb122ddf1666d6f9002d792a52c52f64940433797920fde680b999095872edc1233c5721994c2092978cc85";
       };
     };
   };
 
   sdk_7_0 = buildNetSdk {
     inherit icu;
-    version = "7.0.201";
+    version = "7.0.202";
     srcs = {
       x86_64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/ec76d8ee-8776-42ce-b158-f723a221fc56/0baa1089edf0e0674d719f6a5d847b75/dotnet-sdk-7.0.201-linux-x64.tar.gz";
-        sha512  = "fc9d224bf1d3600e878991fc1e8d3b1a0f21c7a8aac7b3cae0e4925ad33172cc12f56210eabfd66cfedd5f70f85918b889673401172b3999cecbeb8f2fe58863";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/bda88810-e1a6-4cf0-8139-7fd7fe7b2c7a/7a9ffa3e12e5f1c3d8b640e326c1eb14/dotnet-sdk-7.0.202-linux-x64.tar.gz";
+        sha512  = "f415a8e6c078421759a963aa0b232c092ecf2f0a8e014ba72092390aac792ed35e8f3c822b2ce91ed636cdee9342bba2b89fb4fdfd2d28dbb0ac856d828cb29f";
       };
       aarch64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/35901872-1f00-48e4-9f55-e6c79823e7fd/8af43bb5e25d090c0af921974287ac2c/dotnet-sdk-7.0.201-linux-arm64.tar.gz";
-        sha512  = "a4c4d0e7d51643d6a7ff3322f795f0cdf174f62689606304e4dbfb6b38717b111d0a21ecfe2efea0234947deb87383b7cdf38e96b7e4b7bc13127b0d70431b9b";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/c1fd11b0-186a-4aa1-a578-bb1b6613886e/b67e1c9d6d90b1c99b23935273921fa1/dotnet-sdk-7.0.202-linux-arm64.tar.gz";
+        sha512  = "6f03de4ef1d0f67bcf8f794beea1a1497c9b1d31c484675382ad63a686ad3047ba2e12b2739ef2bf70c12e61a462ee8abd87e96a7c48200dceab92094144b332";
       };
       x86_64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/71de3463-3644-4159-a7cc-e3b613eb7167/785a9b41cc226c368f44b5742bef466b/dotnet-sdk-7.0.201-osx-x64.tar.gz";
-        sha512  = "c5f9ac1ec09f78433baebdcdfe47b715ece63df89b37bd4c919afb09cbb3183f2aa85e5fb12b9842582a343ba2524c5f1d764e607d7465ecd781744473c3fce0";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/d3fe9043-0ff4-4584-aacf-1ad41c47407b/7b84ed341359488cd0de21de1b4df6d0/dotnet-sdk-7.0.202-osx-x64.tar.gz";
+        sha512  = "3e99224ecb4a6ad06b96daf7017a749dfab1a9059daed1304a35acab9eb4fcb0a97f8e1b4d8c3074536b9dd8dd98dc89db3603057ae59a59e01d459bf26f4fcc";
       };
       aarch64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/92a51981-d618-43e3-a93d-d6f0d178ecc3/020dcb1797b5a73e690bd6ad511619e1/dotnet-sdk-7.0.201-osx-arm64.tar.gz";
-        sha512  = "33264819fc928e2206127060935cc01f443f564c2e28eb9aecbc83865697347967c639820496f21c0a7039aacd83b548944fc2a3385f32f01079760e9d0cb677";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/4402413a-ef81-4732-a0c0-38f11694b226/e205b8bf48d95902a6dbe1c3cccca272/dotnet-sdk-7.0.202-osx-arm64.tar.gz";
+        sha512  = "9f5cc528d5d229cf2f63384afa52176f049c8d9e0d9d9be0ccb1a169be78a65a61dba7a4e74357685d434447b3d2697c062e9f240a8d8ad6b588fd433ee67acf";
       };
     };
     packages = { fetchNuGet }: [
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "7.0.3"; sha256 = "1lswf2zcc29nrdx03gy2s5km8d3zaap5y6zdx3p90a89z767szcg"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "7.0.3"; sha256 = "1gfyqn029r3s9hdm0lqkd781m8p3y11gjsj7pwki7a65bh1ynlaa"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; version = "7.0.3"; sha256 = "03qb7ycpbsbn684n43gcf78d5zrq44vxayfp9160z7lld65lq876"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; version = "7.0.3"; sha256 = "1x439wq5kavzwn4h12g7pw70vg6pkwfq6zvxdmlh2iks6mi43zzk"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "7.0.3"; sha256 = "0lj6a130wqw6vzdik5xfgjb4nids6p500aihwb0hjavzfn172njy"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "7.0.3"; sha256 = "05rxqaqcx82mwjddh32wnchi2zhs8fdqvcgmbgk126s0yswbzwsp"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-arm"; version = "7.0.3"; sha256 = "16rhk79fd6v56bww92nv9d57k7gw71sr9y1yypp7zhwagx4b3jfp"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; version = "7.0.3"; sha256 = "1lnw63y4j8v0l3j0c6khr8asb794819n56rfkmcnxgg700s3vsg2"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "7.0.3"; sha256 = "1jmh6dgziin9igjnfdw3mg631akfbz2g2jnpddrgjajj9zs10zlq"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; version = "7.0.3"; sha256 = "1r34n2qyh5q762dj78fd3b4z9z4fi0mgdr3ha7js8dva70cnrywd"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "7.0.3"; sha256 = "03hw0wsbqqz8fm2zvpnxyvr6z93i0pg512snvkc95vk5szcxkx33"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; version = "7.0.3"; sha256 = "1662dh2di0dfr640v1964n0861ysv1h731gdkqsl6sqsr501wdad"; })
-      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "7.0.3"; sha256 = "1hqmgxj0w7ihrpv9sdqx04iv8pmjz0zsinyymc1gbv82vfg16374"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "7.0.3"; sha256 = "1c1l23k2xxidpcgxgmf1n9zns48lhajxzac24pnzxjf22jq0nsxb"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "7.0.3"; sha256 = "1flz3v6yvm2c9sncnlbxp7y374kirham4sb98y5sz4zijbgp03ps"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; version = "7.0.3"; sha256 = "1x5i8v3n88bsv64xh456fgsa61ga589wapc3f3yliip26p1n5jxh"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; version = "7.0.3"; sha256 = "06ga185vqg9v3nqjy4ifvj4jx4nc7n0394bd9j0s2s5mhhbca0p2"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "7.0.3"; sha256 = "14yqbljchrhbg2zs78lfl6fjy747ms15sqijslsslcim3mhki8bs"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "7.0.3"; sha256 = "0dcz8vk84wvdc1xfz095sg3a9szc1wmlcmm0yf3ghiy2ifbsjf4g"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-arm"; version = "7.0.3"; sha256 = "1bby14npfw5frb372aw8cijb93slfp3n51563azbkxwzxk05xcpw"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-arm64"; version = "7.0.3"; sha256 = "0l889zs93zr3640lm9r5bymk3mc070v1d35jzix2f7450pqnbgmc"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "7.0.3"; sha256 = "0435w7rpqvjc6nnrw748bjl8dbm2dmc4gdyx2i7539cjf9kdvjlm"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x86"; version = "7.0.3"; sha256 = "0qdbp2i4v6rslnbxb23hx0gzk2554k2x3ph6z7f0d3hivr1vip4i"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "7.0.3"; sha256 = "0hciqnac7dxmsim97bz0bwpw67jf6xbdhbzvgih9lckhdillfa6l"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "7.0.3"; sha256 = "111nsld40834z1q1cqgnlqrvxqlj54gnkhrys444ipikgzkp9qr0"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; version = "7.0.3"; sha256 = "1b71yipj8lsq3sri78hwbrlwrqc10rbi2zpa96vmn3ksahchdkla"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; version = "7.0.3"; sha256 = "0k34vf3b7r0n2qw863rz2x4cp0zw1grjmp47dcca68dzmpd8ziz6"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "7.0.3"; sha256 = "104czw878d5mwfwyxac337a0wbzrk50nchbrclv1jprm2kq6alsw"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "7.0.3"; sha256 = "0ma5h44ibira1991czdww1pfj8g5jpgjrlzvgi8y87yl8idfs25d"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-arm"; version = "7.0.3"; sha256 = "0l5j5if39zp24i61pggf6b9fi1i4i0ky831yvwpij7f4rgfgv9np"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-arm64"; version = "7.0.3"; sha256 = "1m8wyr2f5nk784rl0q8x0ffafi0glxy1mp4j2003c4x7lnaa7a5n"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "7.0.3"; sha256 = "070gnnk6pdjjwbv8l9njfq1j9pac4m4j01sidwdra2bxq94mq0zz"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x86"; version = "7.0.3"; sha256 = "1dpy66haz3myjvycf64r8csmscfy389g6pnc4shpnqfc0fzh78ha"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "1xbnr4x91m52kjz4n553kpnp0lx9walnw6hjadgh22711nglhxqg"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "0sv95qx5hr9k156m7b30pv9dx96kqrwz9gdcdc8mcwvj52wjazrx"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "1p5pa62laj15i4ycd3czkn4zpb3pwk8kdfyvhqi2v037j7i97ch9"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "183c48q29cqcj443hm1ssmxcgr9w28g8ffrd3fvbzxxpw7s09msa"; })
-      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "0p7c8djwz214asmmmnzlrc71rl3hydw55r788m315vndck17zwsf"; })
-      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "1mxz8k155pyqwmfj11kwnzjin1c01ggns8c7xwgby92nmkr1psan"; })
-      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "1znc4khv11f8zfg03v4mpksi667h252hwqn871ahzrq7qin3av1l"; })
-      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "0smps1sbmiq803mvmg6ix41jys0fqwfhm0ajy5sbfa9bh52lafr2"; })
-      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "10f043gigv7gwl5ic3rb109vq7cmkmfqcd479d52qscw2znfvf88"; })
-      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "10rpibw85k1b6008lqkn31w37gnljbqfa0ywc9x6skydmiwzilka"; })
-      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "1kif2kqka5frcb1ka6n955fw7qlcrsca77a308q2ypga2gwrzk56"; })
-      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "1350ckgbvszryh7vjhlggcns4p0qm65zrs34z3wn1639vq3brrsv"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "1l3b9ysrd77xsi7r49653m7szhrxaln9dhfx1gdhcy7dl3nj6aij"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "0z388z36ql8ynbxgmwlm0y3hka8w9m3qw1a5p76prl3vb7z27qc0"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "0gi7lx0bwfiv1ibgdfhf0ajs65ns1q5z1201q2mky9ps6jz5ixwi"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "18nd7xgl9ka9nqaj3fqlgc5547b70w9ab265p5avf4mimmyjy9pz"; })
-      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "0ds7p7gxldkcdnlfxpz7xsjdfj2kksfrgwkx85wdhxhc9qr1kg9f"; })
-      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "0qlv9vrv11q8v9gf6dva3jssnyaxj7lnrapl82mpl2qncfcrkv1y"; })
-      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "0gf650jwh432isj3xj0d92s7h6prag2k7psgnlxb92b82vsannaz"; })
-      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "1q9574y6d4cfn91m4rqm2ylkhr0l9yy66x9yf7nyrq9y09r37s1g"; })
-      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "0r0vjza5g53k037gnjzm15h2aib2m4flxsjixni8hk1nj6aa9gj0"; })
-      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "0z55wh5w2fph0xwvy4gs28bv7f6dlw2h0gk1qibka0dxsh331ikd"; })
-      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "1i3ycqz3dczfxrxqfw1wlly7dwqr6bmbgsihn1q8rg785ahssyjh"; })
-      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "1884cf4xg7wn8pivd0k5zkdp4m5lgpz3sc6j3qpa6szwcs362g2q"; })
-      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "02r060dpa0mqrcbzwkc0392xz3q226vmjfa5kfilsr572fsaibc5"; })
-      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "0n8r2gplffqixibllvxi0sn52yww472d9yvknpp5zy08pngdglpq"; })
-      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "1hmd53jhd3b4p4lhx1vc4ydixmi7ncpz8s7cr64dfy0ja5if5wlh"; })
-      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "1kqz6k0dmfa56x64hsa1im35q421n9c5vy8987wr8a6d3f28qg7d"; })
-      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "0sgsar8azkjifxvzgyd91xb6k52nlzxw7668vpci27f68y1zkgnw"; })
-      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "008qqamcf7yspzb66z1xp47xzzninf1p28nr2jzpg0acvzx6rwmf"; })
-      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "1biv9j628ldca94pl3s4s52q9xi6z9afv903cz21rhcj76n2n2a9"; })
-      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "12dfsrhh01m9v655w76n5yb3nilb668ca353s2q95qfijx1s4bry"; })
-      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "04bpbjsf7azamh1z7cvq60m1lv68ggw705cvard1x0hxjmk1sndr"; })
-      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "08g798gz9dfxd5123m92cpgyw00ffsc5am7pz0fgwsv06vkvfqji"; })
-      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "0qy16596waicfgvhvjbiy98cizr9xa9r0qkr4dax87394qinvg0x"; })
-      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "17abxsl6wvm5cblibxnxs2yl9cag6p8qkvykpw29hwzl4vb1mlz8"; })
-      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "0k3x9klqn43f9k23x9x8acyjn90dlacx5lwq5bviy6b4izzsj496"; })
-      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "1hn2z2vvy8bahkl9i3sjsgg08q6zbvif2a3jynhn6lgdm5maxj77"; })
-      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "1q7mppvcg9skbqh8v7mihq2q0192z7p1p7c9b5llbdwhl3rb72a7"; })
-      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "105qjpxy4lr8i62sys7i9rkpdkr32f049fm4nals1sdyl7dwxzzi"; })
-      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "1z2pp0879nfp4sb5vpzr7snfgakpl1gs075581rvp0n419gnlvsj"; })
-      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "106qg62vcsz57fi8qql5ly1vfl13w34clbj88gg8shqqv87h7v5z"; })
-      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "0hga95snhadszc41njg0wzrcp0fnb7iqsprp4pvzyzfw4m2x1b9l"; })
-      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "07crnpbma9mw6mya2fd0qpkkv8zks55p5fcdn8jff2q4p187khf1"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Composite"; version = "7.0.3"; sha256 = "0qa95ybxyb49dlv9i03klli5wg27bf4cj2km27fyw3vwz4g4dra2"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; version = "7.0.3"; sha256 = "00mrwbxy17j71divsnvw73sga7lm5s2a7nnlrc90c41bh6bchw2z"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "7.0.3"; sha256 = "1rx8i4fflrjbkd9xgqj6kh4ygcc7pvbvkjsdspjbyviyrvis533l"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; version = "7.0.3"; sha256 = "1gk7nnaw6ykqsiq1sqj768q4rg26ggijgarr3ncjnjxybl2q243b"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "7.0.3"; sha256 = "1adxcf1wbpk3fn311kr50p1hwvyk52d64jv9hmg68kbv9df9zivs"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "7.0.3"; sha256 = "1jxrm0pchlg1pmdy8kp5f3idjvn13g0dcvklzfzpswvwwjk3bfsg"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; version = "7.0.3"; sha256 = "0isaks5p31zzq7gmi1z5ma1j0224205iblg0hxlgz1q8aaxhmxsi"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; version = "7.0.3"; sha256 = "16x8kxyn07wjsf7mr6apkrcpqsix8icrgp246g177zl0xw9f6xv1"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; version = "7.0.3"; sha256 = "00r3r8plrmavkhqbj0zlrmni5yvrwhfvp8sdpm492yy8mpp8983y"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; version = "7.0.3"; sha256 = "1hg8kdp6f50r3qdjgg3bjdl1g3ns42qvhf0rk3f7rxxcqqbkqxic"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; version = "7.0.3"; sha256 = "17ccj3r5yd1y06m4qn9z0plllrzqh5r9ljyhi12h0q0f27s1q6fh"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; version = "7.0.3"; sha256 = "10dch69yplclksfnckkg5q3mzivkh36nfdfixqak4w0xxs8kpcya"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; version = "7.0.3"; sha256 = "0xrqdvr4gn0j800did7894ygsy07pxxb12n5mn0m576mbg2lqf33"; })
-      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; version = "7.0.3"; sha256 = "1a7gqklr9bh37aarw905qshdcynk79xnyklsyiblynb8bpcsjy2f"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "0jlgdkkh1g23dl994565qglg68ky6f7fyp9a3swqyvv7pgm864p7"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "0j7iz4ciqzl7f5hvyqy0cark0bhwp6yjk9mvd3l25li0n76fydzf"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "1z86fdwx9clqrza77biia27jh74r3i4f22xrwdqk65f5id7fls7x"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "0h8fs13jkqq78a1jxc0nv8z4pijzhd2yfa7llfmdn35yqz69iq5g"; })
-      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.3"; sha256 = "1ycb27kcf3gs11rv6ivhx4dwc7b8c7zshmicfslpms471hg318dr"; })
-      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.3"; sha256 = "1xjwkq843wqbidfd9qdv1cwn1lq552n3yrk80frxz0gm3jz8g84s"; })
-      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.3"; sha256 = "141nq2nchdwjvpi3s61svk9lk6bq6hvd808fspszacq7v4fd71kg"; })
-      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.3"; sha256 = "0dyb7hs3g2hzflssd2wxkl1bk8zscskr7d93w5fyvpb5x7pj2qwq"; })
-      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; version = "7.0.3"; sha256 = "18yxk532qjjvpc2pw480k31mikw3kq2g51i3rnaa0jz7h7kv1g2j"; })
-      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; version = "7.0.3"; sha256 = "0xiv8xvak5nsgfqy1171d309d4a8xi9hgar3ns1ndray9m7iv565"; })
-      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.3"; sha256 = "0j24dvvbqxiskn9xvmw3kdmnxx062l13jsal98bmaxidmhgyvi72"; })
-      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.3"; sha256 = "1mbp9fkiqfnbr5azl0fpln6w357nj8yfqfqqpg2wnf8lggv7jm8z"; })
-      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.3"; sha256 = "0a4lyv6sj0h4sj0m04zijd58p4lpz65rj89wqyw5ccihx7fma02w"; })
-      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; version = "7.0.3"; sha256 = "18768p9d0f5cv0x929hbrcwpgbvipngfkac1p81b6r0cnmmfsl45"; })
-      (fetchNuGet { pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.3"; sha256 = "0cj5i6c3dhd84zwspbvihvrfq4irxcq8h1np3xx8zg5xk72hnnsl"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "7.0.4"; sha256 = "0frxqid2k3ccz5iyijanyqvcdfw6a13igglg6nw8mjn8yl5r5anz"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "7.0.4"; sha256 = "14r8zilwl2242n1dlz83wzaqs27g54a96my8m03x2cfdfpzq3l73"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm64"; version = "7.0.4"; sha256 = "0vxh3fgfzlbr3jk00pjl70269x37nb63x7ginih6rrhxql9qjp90"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-x64"; version = "7.0.4"; sha256 = "0f746iqqh3qr74j9a1snj91a4q9vb0aikjsckvagydm4fmrisi5s"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "7.0.4"; sha256 = "03dl7fraly0yfx1fkkdcds87vgw60aqaxzr34pqkv26ac9c980sr"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "7.0.4"; sha256 = "1mf4zb7rhbqhnw6bm5nhrgw4ly9bmk1q8vag30rglp9yb9fkd1i2"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-arm"; version = "7.0.4"; sha256 = "1ycf9hwd31mcks6vgdhiicimrhjn3s4ddznyziflrdn2dcayxap4"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-arm64"; version = "7.0.4"; sha256 = "170p3q2mjy31vdz43gw8202lz172ja45fzlwz9y3wz9x0cb9sfly"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "7.0.4"; sha256 = "1jz2gafjhhr34q8fk3qi82jd4x480hpgjz8h217ww9yk94qyw548"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x86"; version = "7.0.4"; sha256 = "1wvlpfjqc395amj6dwfv4sm0299s3hcvnv2yrwmllnrqx9zz6kvf"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "7.0.4"; sha256 = "1hldg057gnlxyzsx57bq1wvsjixf6yc18v9slp71c3f0j5qa2ch8"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-musl-arm"; version = "7.0.4"; sha256 = "1g7z7sgs89qmj3q2j21g5bbna1ypsryk6b3vgicbg5laqhi2j2hg"; })
+      (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "7.0.4"; sha256 = "0qvwp5dzbhlmfxy8pmvm2qyma24q1nylp2g9mfjxjb87lgxgf3m6"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "7.0.4"; sha256 = "00pqnl8rnyasmzjri9pya19k6w3cis7r8hhg0vpigsyw16daaf5c"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "7.0.4"; sha256 = "1w4b1priz3cvxb70p1f4qi01qx22vykxq6wcdcgmwmffgvqw2v36"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-arm64"; version = "7.0.4"; sha256 = "1wyj7mxwlzs49f50rnm89b13yvcz4a86hfsl1pdcafibww2bdzkn"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-x64"; version = "7.0.4"; sha256 = "1nrfahgj0zgagc1d0hp6pc5prwwdfd72di5w3vn9cpr2kkiy9dfi"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "7.0.4"; sha256 = "0pnrj15q3nmc64r052gmx1b4anxy4ighmy8jsgb9zm0pggc0izgp"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "7.0.4"; sha256 = "17pfi66zww58inq7irwhyf6vaa5zaxm59p36z0sv3qg1fz1gi19j"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-arm"; version = "7.0.4"; sha256 = "1kh8ryb0gj11d1qm51rnwg6d7flh6dki0vgqhfr863mb6kr95cav"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-arm64"; version = "7.0.4"; sha256 = "1sk3gki48n3slj91k9fgcpa7ijcsqka77y9wnvc3smkh6zkp0rh4"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "7.0.4"; sha256 = "12r0cykaj5fj3zahlnwsf9msnf0j0iwmk8b357q4vm3f3farx49c"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x86"; version = "7.0.4"; sha256 = "0k46cf73fsn9n0xf815qwyqlblczx5hfavbazcbllv31s58r3873"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "7.0.4"; sha256 = "1zd2sy71b3yzp9jskr968cpk0klbw48aw973pfaxpxn1az8nsncb"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "7.0.4"; sha256 = "1782qv428qmn2xxkcbnc2x1szznxlclpy20bn296sn3cly09kzcx"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm64"; version = "7.0.4"; sha256 = "05hfz20xnlxxxz2f28cd6250bvlc0myisp7xwklqk3hl4lf1rpkp"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-x64"; version = "7.0.4"; sha256 = "03v1ld1vmsiamqv8pl7ddbdv1fywsqgfa35qfpi0gvijya416skp"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "7.0.4"; sha256 = "1n17qqnc63g0ggc4j76j1irxii4ykjg7pw4zhy95wd63hn8r46c1"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "7.0.4"; sha256 = "1fjzqxi6z0mjk75pigf2k975jchxs86zxa8ymg3j8f400qkx8hv5"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-arm"; version = "7.0.4"; sha256 = "0q3y5cnliixqcj2690msdm49yf4f4w0wnzzfkgwg0x3zsln98aml"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-arm64"; version = "7.0.4"; sha256 = "sha256-GtMfaHjEzh1CSQWX+R+sWkyx0gy5LPk9Qk5GuU6nxNc="; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "7.0.4"; sha256 = "19l4fvgapfkqc8bx9mp1b195gzsmwcqxc8913xh1y16hg7byha4q"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x86"; version = "7.0.4"; sha256 = "0lkwpypzh8z0c4blqx3dd6s5zbrh4d1xwc6dral4jdl8ajmqvhsv"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "1c3blrivlvjx0v4ijf5wli2iby8kx9ckm5ysnqfbqw3x6yfj048w"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "0hzkf49nq149xywpgf0k8yya5krq5wlxxncmslf9sdznahkbv75x"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "1vshi2j7vxhl805nr2z1cc0h0dyi3d31nakk70y1zbsl9k0a3zil"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "1nk336rzmcbg46d9lq71w0r9x5nra69x9vz8ggv6bqk58d6ghrr1"; })
+      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "1p8aya13an835n6ddgjjhbap4v4xagikfpp3laiq0kxjwwrc3rln"; })
+      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "1raw3wscfqwxb5sb05sl9hx886j3s9s31i8dgnmyjbcns92413hm"; })
+      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "0xylj1sr8qqn5zqy0hg4xq23by1fn8kbjrlls4zl695h348b611f"; })
+      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "1s9m0gmg02zjlnrxylqys5lydj05d7qlha9q2iqyb74aiv32r63c"; })
+      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "0pfcihbg7yxpw05i2n6cx43y9k1wzyqfqsy12ij1q9ahmzmnxf0j"; })
+      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "0iks6j0iz6wxghlnzi96jd5kf60g86g15qk887nv8w09c98ydia4"; })
+      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "02nh00kkijmrbw3815m1jpvj1hz6g1rjhkwd7f73crsaf3q8bqvi"; })
+      (fetchNuGet { pname = "runtime.linux-arm.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "0n6c62mzzq19c37ljfr7vl7hx005lc9qs7jc200jb74vmhx0r5n7"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "1ryn34y245fy5hq0mw0c4b0lc35f790kmmym78mmazyvxkla1irc"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "19wy98bbg41rp04sbm0ix8bsl419dqmvz3nv18hc44nk8rn7s5m9"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "1wq1ccqdkbr0j90crs6fixvigqcq4axkwabbfzii2zqszpzj24n5"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "15wzkpcdqmzmzkdn5k35b7zhw6pym4g2kx5w8ydbz5yw9hz4maiq"; })
+      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "0a60h1rgmg051s2kizsy4hxpjl0ic4av668n71hmzyhrckd6g7ir"; })
+      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "13yfrfi414gkmddandcm974xpk6gwcxvjl17w8h2wjq9irdv4cdh"; })
+      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "132lj52hfjm42dyrlcmbkfja7zqnpv5x047q4v36nfk6szcz4d2n"; })
+      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "1nqcvmvmsaz64b9ml5s605yv6ghv9flvn40h4y8mnpc1md5rm0rp"; })
+      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "0q51v088sfvw89bwfijkn7da21xq2zpgq8b1i6yirngc91511yha"; })
+      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "0sg3x7cnrr39pymcylbd1sk2q1x8dn09f94d8i103x5jny2mqzvd"; })
+      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "0a7rjc5g2x21w755mpgjah3m96cw96lvl3hjisn0667ldc2qkmym"; })
+      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "1kmd8kjj2ncimnyv9npiddxpbw9b65ga6kv0h4nrvwkv8pfh7xsh"; })
+      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "05wd92drm5rmazv57bbj27y7nvi70ham9574jm28im1fxblysjcd"; })
+      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "1ivd1wck702igbvnwppvv64pcgqyvfic0wlhd62pykd62ffi2yp5"; })
+      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "054jl9819fwzxqv3m69icxq0s1fcsfhalfd116pbzv0zwcynaka6"; })
+      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "146nnyc027my95fn45yi494hli40dgy1w38akw8n2a784276hbf2"; })
+      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "0d3p7sznr4axlg0klhf47zhbzapn7km7rbmx5837hdkx1c637j8v"; })
+      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "0iwj64c01nmcwcqmgc1gcz47wn5anh0dl5vq0n5ihj1shp7f4z8p"; })
+      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "1c5swz49px7akdlijbcsd6dv2km0xyz7i2p8c5915lf4hni5pzvv"; })
+      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "0cskh5npdchjqdr30csvzflsh82vwr9zp06816243n0kwixlw36k"; })
+      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "0xmwf15jp14ydzmk4xf16gcpaddx7pjfyqfaadp86mpcny5jb9w4"; })
+      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "05pcfnq8gyrkrv970zg75yqnc5nc8gxk9qnx5qx9lrds9jjrp6xf"; })
+      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "1m7p6gwa66f1f1b0rnwja8w4fjh6kw3xvmvbbcfjqhc869knhx7n"; })
+      (fetchNuGet { pname = "runtime.win-arm.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "02y8h66b92sw88xadih2wgqkmb1ndciwkg231xlnb8sjdzsa7ax6"; })
+      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "12g23wdsv0k8v97ja873gv20asw1m9k76zj57z9knm0iskgc23yz"; })
+      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "0m43mmlchpaihfp8chhjgbysfvapbhyx69y194yfh86sj4h5yhkk"; })
+      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "16ygc2rbjank2psnqyb55r87i9y8prw1r1h0qc696wi1cfwwvs60"; })
+      (fetchNuGet { pname = "runtime.win-x64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "0hlprdbrs4f9799j8ai4dm5ds73pn97513nxq2gh6n8hvy4dvkxp"; })
+      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "1sf08lmm6210bmbbn36qswqdxig1s5mpmikz0bqiljk5nqx4h4lk"; })
+      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "0knw2cmph9vjwbpjvgg0mb2lc6phjghjprfk1g9ars10g0amwvc8"; })
+      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "11l360qg8bjd18nkvzsgn9fvbmgpzj8i5g8rdyaic17rqsyqhlb1"; })
+      (fetchNuGet { pname = "runtime.win-x86.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "010z2117rh9a9zycfqxnnbfwyy42aq3fxfqdd1g2aqnrijyaxz5b"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Composite"; version = "7.0.4"; sha256 = "0zkl287jycd8v43x2s6zrhl97ww7i0h2lr9jbwgf3vl2p5hph3rq"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-musl-arm"; version = "7.0.4"; sha256 = "1gv4z67ig2k2fm4529l8k255d36j1795nv42a93z1ljdvm00hxck"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "7.0.4"; sha256 = "0ryc1x9h6vy5vpjxswmy3cycqr61d82zz2ipfxywcqzaisfcga5q"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-musl-arm"; version = "7.0.4"; sha256 = "0ig02wwn9hvxv8v9mgn220bljfdfpar2cjia257cvg7qrpbkmq4v"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "7.0.4"; sha256 = "04hlqhav56p9iwbbf0qmkqq4hfc4dvi4az2xf9clyc472a5drzvd"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "7.0.4"; sha256 = "0wcla38nsskgd2fh7knc3d1f9hm2hmgw8254c1hrkni97z1fc59b"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm"; version = "7.0.4"; sha256 = "052ddbl11ldq9h1sp139lbhnsw6ykaw6fmplirvv6hjgfiswb62p"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-arm64"; version = "7.0.4"; sha256 = "06mpp52grwzqw2j5nvcmmnd7kwrgk6d3mca8rfypwfdaa2y532dy"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64"; version = "7.0.4"; sha256 = "sha256-BXCVsf43e/1teOcBPdrS5R/dLns7rsQTRLMQsdbB8BQ="; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.linux-x64"; version = "7.0.4"; sha256 = "0kangki5hkq4py7xalvh600nc9n11la4dbb7hkak40472hz4mzsz"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-arm64"; version = "7.0.4"; sha256 = "1lzia5py84ksr9i24vm6c31cd5vq5qdbc7m81kmxybbwnlj0nl96"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.osx-x64"; version = "7.0.4"; sha256 = "06vszg959k3qib181qxz5q8w4v9di2a2ksvmf9wxgxc8lp285fbz"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x64"; version = "7.0.4"; sha256 = "1a642v302cldbvgdygbzix6cj9b6rb9g3iadsaxdsnjhpc9xmmyl"; })
+      (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.Mono.win-x86"; version = "7.0.4"; sha256 = "1ihl8airysgz4y289ynbnbc4zy4rrckcq4n2c3gf4d33ghh3sq2v"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "0ihw34gp8d2q3wc1vg34pk7p94xll4mib88csv4h9kqynpayfjdr"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "1a1p3r7d7m7441zdvms6g86i5lsfxwkw1rzi6f3kp6av41xrmz07"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "194fj00ksr5pjy2disnxgk4nwyb8cx00dsgq1mrvvm3qvwvw0nlb"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "0gc527gmj7da24880gg3lbxgff7551jbqkzwk9dwvc8b4kvw7b72"; })
+      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost"; version = "7.0.4"; sha256 = "0095zjp2f2i06ybdm68x7b6ymxk70d1gyrkmwk31k5xv5f4wzh8v"; })
+      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHost"; version = "7.0.4"; sha256 = "01parlmhjdgs5xsg9x87743l5nd6pyprvf9a6y2w0zsj00ijv36s"; })
+      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy"; version = "7.0.4"; sha256 = "1sky1i97zphj0b2j3b9sbsq22qqs2wlv7ri92cqf4rmp6j8nzxjp"; })
+      (fetchNuGet { pname = "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver"; version = "7.0.4"; sha256 = "1683262zb7wsigjsyb87dyz9rflsmr5p3nlg1nqkshgdl11z8h2c"; })
+      (fetchNuGet { pname = "runtime.linux-arm64.Microsoft.DotNet.ILCompiler"; version = "7.0.4"; sha256 = "18231pjsfgb62x2ciwz8vdq195firbhha1v4k3w7115d94vqf8nb"; })
+      (fetchNuGet { pname = "runtime.linux-musl-arm64.Microsoft.DotNet.ILCompiler"; version = "7.0.4"; sha256 = "11liny45arxmlxss93hv58mnx3shqsnh1qdw76kl5hmh7x4cgh73"; })
+      (fetchNuGet { pname = "runtime.linux-musl-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.4"; sha256 = "1r5qngcrk6d8h3sivz04mlyly61pzb5z84bjbrgspyvnzqg4dnnj"; })
+      (fetchNuGet { pname = "runtime.linux-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.4"; sha256 = "15i5agj7zj026mqni4dbfwfyhglx0kjkqdfl1qnmg5xgyihbj76q"; })
+      (fetchNuGet { pname = "runtime.osx-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.4"; sha256 = "03k8045r8br5wyhinq3spriy81gav3157cvh8hb31f651lprz5ij"; })
+      (fetchNuGet { pname = "runtime.win-arm64.Microsoft.DotNet.ILCompiler"; version = "7.0.4"; sha256 = "1am7sahsajrlmgp4rj1d79v1ncgaa94b2cw68jhmkx5za7hcssmp"; })
+      (fetchNuGet { pname = "runtime.win-x64.Microsoft.DotNet.ILCompiler"; version = "7.0.4"; sha256 = "1kax8b4l3sxna6lgazzazzfagxawhjm0dhpymdmh9p76ghm101x4"; })
     ];
   };
 }
diff --git a/pkgs/development/compilers/gcc-arm-embedded/10/default.nix b/pkgs/development/compilers/gcc-arm-embedded/10/default.nix
index b10ac198430b..71d66e83afd7 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/10/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/10/default.nix
@@ -49,5 +49,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
     maintainers = with maintainers; [ prusnak ];
     platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
 }
diff --git a/pkgs/development/compilers/gcc-arm-embedded/11/default.nix b/pkgs/development/compilers/gcc-arm-embedded/11/default.nix
index 62f5df9dd870..d36bd66aa3cb 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/11/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/11/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
     maintainers = with maintainers; [ prusnak ];
     platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
 }
diff --git a/pkgs/development/compilers/gcc-arm-embedded/12/default.nix b/pkgs/development/compilers/gcc-arm-embedded/12/default.nix
index 668391b2645b..1fac31680fb5 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/12/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/12/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
     maintainers = with maintainers; [ prusnak ];
     platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
 }
diff --git a/pkgs/development/compilers/gcc-arm-embedded/6/default.nix b/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
index 51f3c10f6735..d805c24e002c 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
     maintainers = with maintainers; [ prusnak ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
 }
diff --git a/pkgs/development/compilers/gcc-arm-embedded/7/default.nix b/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
index 4d63f7c3ecdc..13d8c12f52ce 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
     maintainers = with maintainers; [ prusnak ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
 }
diff --git a/pkgs/development/compilers/gcc-arm-embedded/8/default.nix b/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
index 6673cb823485..a6448baa7919 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
     maintainers = with maintainers; [ prusnak ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
 }
diff --git a/pkgs/development/compilers/gcc-arm-embedded/9/default.nix b/pkgs/development/compilers/gcc-arm-embedded/9/default.nix
index 841084904cf9..4c2b34b0c5b7 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/9/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/9/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
     maintainers = with maintainers; [ prusnak ];
     platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
   };
 }
diff --git a/pkgs/development/compilers/gforth/default.nix b/pkgs/development/compilers/gforth/default.nix
index c84fa5975abf..c5508d2e043d 100644
--- a/pkgs/development/compilers/gforth/default.nix
+++ b/pkgs/development/compilers/gforth/default.nix
@@ -41,6 +41,7 @@ in stdenv.mkDerivation rec {
     description = "The Forth implementation of the GNU project";
     homepage = "https://github.com/forthy42/gforth";
     license = lib.licenses.gpl3;
+    broken = stdenv.isDarwin && stdenv.isAarch64; # segfault when running ./gforthmi
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix
index a05c59a6ef87..f673eb6d0340 100644
--- a/pkgs/development/compilers/haxe/default.nix
+++ b/pkgs/development/compilers/haxe/default.nix
@@ -14,8 +14,7 @@ let
       dune_3
       luv
       extlib
-    ] else if lib.versionAtLeast version "4.0"
-    then with ocaml-ng.ocamlPackages_4_10; [
+    ] else with ocaml-ng.ocamlPackages_4_10; [
       ocaml
       findlib
       sedlex
@@ -26,9 +25,6 @@ let
       dune_3
       luv
       extlib-1-7-7
-    ] else with ocaml-ng.ocamlPackages_4_05; [
-      ocaml
-      camlp4
     ];
 
   defaultPatch = ''
@@ -120,24 +116,6 @@ let
       };
     };
 in {
-  # this old version is required to compile some libraries
-  haxe_3_2 = generic {
-    version = "3.2.1";
-    sha256 = "1x9ay5a2llq46fww3k07jxx8h1vfpyxb522snc6702a050ki5vz3";
-    prePatch = ''
-      sed -i -e 's|"/usr/lib/haxe/std/";|"'"$out/lib/haxe/std/"'";\n&|g' main.ml
-      substituteInPlace extra/haxelib_src/src/tools/haxelib/Main.hx \
-        --replace '"neko"' '"${neko}/bin/neko"'
-    '';
-  };
-  haxe_3_4 = generic {
-    version = "3.4.6";
-    sha256 = "1myc4b8fwp0f9vky17wv45n34a583f5sjvajsc93f5gm1wanp4if";
-    prePatch = ''
-      ${defaultPatch}
-      sed -i -re 's!(let +prefix_path += +).*( +in)!\1"'"$out/"'"\2!' src/main.ml
-    '';
-  };
   haxe_4_0 = generic {
     version = "4.0.5";
     sha256 = "0f534pchdx0m057ixnk07ab4s518ica958pvpd0vfjsrxg5yjkqa";
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
index bdd8022e69de..318a7ac34052 100644
--- a/pkgs/development/compilers/nim/default.nix
+++ b/pkgs/development/compilers/nim/default.nix
@@ -86,12 +86,12 @@ in {
 
   nim-unwrapped = stdenv.mkDerivation rec {
     pname = "nim-unwrapped";
-    version = "1.6.10";
+    version = "1.6.12";
     strictDeps = true;
 
     src = fetchurl {
       url = "https://nim-lang.org/download/nim-${version}.tar.xz";
-      hash = "sha256-E9dwL4tXCHur6M0FHBO8VqMXFBi6hntJxrvQmynST+o=";
+      hash = "sha256-rO8LCrdzYE1Nc5S2hRntt0+zD0aRIpSyi8J+DHtLTcI=";
     };
 
     buildInputs = [ boehmgc openssl pcre readline sqlite ];
@@ -153,14 +153,14 @@ in {
 
   nimble-unwrapped = stdenv.mkDerivation rec {
     pname = "nimble-unwrapped";
-    version = "0.13.1";
+    version = "0.14.2";
     strictDeps = true;
 
     src = fetchFromGitHub {
       owner = "nim-lang";
       repo = "nimble";
       rev = "v${version}";
-      sha256 = "1idb4r0kjbqv16r6bgmxlr13w2vgq5332hmnc8pjbxiyfwm075x8";
+      hash = "sha256-8b5yKvEl7c7wA/8cpdaN2CSvawQJzuRce6mULj3z/mI=";
     };
 
     depsBuildBuild = [ nim-unwrapped ];
diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix
deleted file mode 100644
index 0eb4240d12f4..000000000000
--- a/pkgs/development/compilers/opa/default.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, which, perl, jdk
-, ocamlPackages, openssl
-, coreutils, zlib, ncurses, makeWrapper
-, gcc, binutils, gnumake, nodejs
-}:
-
-stdenv.mkDerivation rec {
-  pname = "opa";
-  version = "4310";
-
-  src = fetchFromGitHub {
-    owner = "MLstate";
-    repo = "opalang";
-    rev = "a13d45af30bc955c40c4b320353fb21e4ecacbc5";
-    sha256 = "1qs91rq9xrafv2mf2v415k8lv91ab3ycz0xkpjh1mng5ca3pjlf3";
-  };
-
-  patches = [
-    ./ocaml-4.03.patch
-    ./ocaml-4.04.patch
-    ./ocaml-4.14.patch
-    ./ocaml-4.14-tags.patch
-  ];
-
-  # Paths so the opa compiler code generation will use the same programs as were
-  # used to build opa.
-  codeGeneratorPaths = lib.makeBinPath [ ocamlPackages.ocaml gcc binutils gnumake nodejs ];
-
-  preConfigure = ''
-    patchShebangs .
-    (
-    cat ./compiler/buildinfos/buildInfos.ml.pre
-    ./compiler/buildinfos/generate_buildinfos.sh . --release --version ./compiler/buildinfos/version_major.txt
-    echo let opa_git_version = ${version}
-    echo 'let opa_git_sha = "xxxx"'
-    cat ./compiler/buildinfos/buildInfos.ml.post
-    )> ./compiler/buildinfos/buildInfos.ml
-    for p in configure tools/platform_helper.sh
-    do
-      substituteInPlace $p --replace 'IS_MAC=1' 'IS_LINUX=1'
-    done
-    export CAMLP4O=${ocamlPackages.camlp4}/bin/camlp4o
-    export CAMLP4ORF=${ocamlPackages.camlp4}/bin/camlp4orf
-    export OCAMLBUILD=${ocamlPackages.ocamlbuild}/bin/ocamlbuild
-  '';
-
-  prefixKey = "-prefix ";
-
-  configureFlags = [ "-ocamlfind ${ocamlPackages.findlib}/bin/ocamlfind" ];
-
-  nativeBuildInputs = [ gcc binutils nodejs which makeWrapper ];
-  buildInputs = [ perl jdk openssl coreutils zlib ncurses
-  ] ++ (with ocamlPackages; [
-    ocaml findlib ssl camlzip ulex ocamlgraph camlp4 num
-  ]);
-
-  NIX_LDFLAGS = lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
-
-  postInstall = ''
-    # Have compiler use same tools for code generation as used to build it.
-    for p in $out/bin/opa ; do
-      wrapProgram $p --prefix PATH ":" "${codeGeneratorPaths}" ;
-    done
-
-    # Install emacs mode.
-    mkdir -p $out/share/emacs/site-lisp/opa
-    install -m 0644 -v ./tools/editors/emacs/{opa-mode.el,site-start.el} $out/share/emacs/site-lisp/opa
-  '';
-
-  meta = {
-    description = "A concise and elegant language for writing distributed web applications";
-    longDescription = ''
-      Opa is a new generation of web development platform that lets you write distributed
-      web applications using a single technology. Among the the many features of Opa are these:
-      Opa is concise, simple, concurrent, dynamically distributed, and secure.
-    '';
-    homepage = "http://opalang.org/";
-    license = lib.licenses.gpl3;
-    maintainers = [ ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
-  };
-}
diff --git a/pkgs/development/compilers/opa/ocaml-4.03.patch b/pkgs/development/compilers/opa/ocaml-4.03.patch
deleted file mode 100644
index 5e2a3e2522e6..000000000000
--- a/pkgs/development/compilers/opa/ocaml-4.03.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/compiler/passes/surfaceAstRenaming.ml
-+++ b/compiler/passes/surfaceAstRenaming.ml
-@@ -1110,7 +1110,7 @@ let find_opt_local_or_global name all_env =
-     | None -> find_opt_global name all_env
-     | v -> v
- 
--let path_expr_to_module_aux p = function
-+let path_expr_to_module_aux p : _ -> _ result = function
-   | Some (OpenedIdent (tree, ident, path)) ->
-       (match Tree.get_path_opt tree p with
-            (* the path is not in the tree, which means a 'dot' access
-diff --git a/ocamllib/libbase/baseInt64.mli b/ocamllib/libbase/baseInt64.mli
-index fb544706..734437f9 100644
---- a/ocamllib/libbase/baseInt64.mli
-+++ b/ocamllib/libbase/baseInt64.mli
-@@ -40,7 +40,9 @@ external shift_right_logical : int64 -> int -> int64 = "%int64_lsr"
- external of_int : int -> int64 = "%int64_of_int"
- external to_int : int64 -> int = "%int64_to_int"
- external of_float : float -> int64 = "caml_int64_of_float"
-+ "caml_int64_of_float_unboxed" [@@unboxed] [@@noalloc]
- external to_float : int64 -> float = "caml_int64_to_float"
-+ "caml_int64_to_float_unboxed" [@@unboxed] [@@noalloc]
- external of_int32 : int32 -> int64 = "%int64_of_int32"
- external to_int32 : int64 -> int32 = "%int64_to_int32"
- external of_nativeint : nativeint -> int64 = "%int64_of_nativeint"
-@@ -48,7 +50,9 @@ external to_nativeint : int64 -> nativeint = "%int64_to_nativeint"
- external of_string : string -> int64 = "caml_int64_of_string"
- val to_string : int64 -> string
- external bits_of_float : float -> int64 = "caml_int64_bits_of_float"
-+ "caml_int64_bits_of_float_unboxed" [@@unboxed] [@@noalloc]
- external float_of_bits : int64 -> float = "caml_int64_float_of_bits"
-+ "caml_int64_float_of_bits_unboxed" [@@unboxed] [@@noalloc]
- type t = int64
- val compare : t -> t -> int
- external format : string -> int64 -> string = "caml_int64_format"
diff --git a/pkgs/development/compilers/opa/ocaml-4.04.patch b/pkgs/development/compilers/opa/ocaml-4.04.patch
deleted file mode 100644
index 45cae411fb34..000000000000
--- a/pkgs/development/compilers/opa/ocaml-4.04.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff --git a/compiler/libbsl/bslLib.ml b/compiler/libbsl/bslLib.ml
-index b9f75bd1..171af065 100644
---- a/compiler/libbsl/bslLib.ml
-+++ b/compiler/libbsl/bslLib.ml
-@@ -726,7 +726,7 @@ struct
-       let root elt = !(elt.root)
-       let elt_name elt = elt.name
-       let elts e = e
--      let children = List.map (fun e -> e.name, e)
-+      let children m = List.map (fun e -> e.name, e) m
-       let is_root e = Path.is_root e.pwd
- 
-       let parent e =
-diff --git a/compiler/passes/surfaceAstDependencies.ml b/compiler/passes/surfaceAstDependencies.ml
-index f4354a3f..81253d32 100644
---- a/compiler/passes/surfaceAstDependencies.ml
-+++ b/compiler/passes/surfaceAstDependencies.ml
-@@ -66,7 +66,6 @@ open SurfaceAst
- 
- (* shorthands *)
- module SAH = SurfaceAstHelper
--module C = SurfaceAstCons.ExprIdentCons
- module D = SurfaceAstDecons
- module S = SurfaceAst
- 
-diff --git a/compiler/passes/surfaceAstPasses.ml b/compiler/passes/surfaceAstPasses.ml
-index 10edf5cb..00de59fa 100644
---- a/compiler/passes/surfaceAstPasses.ml
-+++ b/compiler/passes/surfaceAstPasses.ml
-@@ -25,7 +25,6 @@ open SurfaceAstPassesTypes
- 
- (* alias *)
- module C = SurfaceAstCons.ExprIdentCons
--module CS = SurfaceAstCons.StringCons
- 
- 
- 
-diff --git a/compiler/qmlslicer/qmlSimpleSlicer.ml b/compiler/qmlslicer/qmlSimpleSlicer.ml
-index 2eebd96b..04ce77c8 100644
---- a/compiler/qmlslicer/qmlSimpleSlicer.ml
-+++ b/compiler/qmlslicer/qmlSimpleSlicer.ml
-@@ -17,7 +17,6 @@
- *)
- module Format = Base.Format
- module List = Base.List
--module String = Base.String
- module Q = QmlAst
- module Package = ObjectFiles.Package
- 
-diff --git a/ocamllib/libbase/baseObj.mli b/ocamllib/libbase/baseObj.mli
-index da2d9736..82d72963 100644
---- a/ocamllib/libbase/baseObj.mli
-+++ b/ocamllib/libbase/baseObj.mli
-@@ -21,7 +21,7 @@ type t = Obj.t
- external repr : 'a -> t = "%identity"
- external obj : t -> 'a = "%identity"
- external magic : 'a -> 'b = "%identity"
--external is_block : t -> bool = "caml_obj_is_block"
-+val [@inline always] is_block : t -> bool
- external is_int : t -> bool = "%obj_is_int"
- external tag : t -> int = "caml_obj_tag"
- external set_tag : t -> int -> unit = "caml_obj_set_tag"
-diff --git a/ocamllib/libbase/baseString.ml b/ocamllib/libbase/baseString.ml
-index 640ce2fa..6931c608 100644
---- a/ocamllib/libbase/baseString.ml
-+++ b/ocamllib/libbase/baseString.ml
-@@ -20,7 +20,7 @@
- (* depends *)
- module Char = BaseChar
- 
--include Bytes
-+include String
- 
- let compare_int (a:int) b = Pervasives.compare a b
- 
diff --git a/pkgs/development/compilers/opa/ocaml-4.14-tags.patch b/pkgs/development/compilers/opa/ocaml-4.14-tags.patch
deleted file mode 100644
index b620cd0ceaed..000000000000
--- a/pkgs/development/compilers/opa/ocaml-4.14-tags.patch
+++ /dev/null
@@ -1,191 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 37589e1..10d3418 100644
---- a/Makefile
-+++ b/Makefile
-@@ -14,6 +14,7 @@ OPALANG_DIR ?= .
- 
- MAKE ?= $_
- OCAMLBUILD_OPT ?= -j 6
-+OCAMLBUILD_OPT += -use-ocamlfind -package num
- 
- ifndef NO_REBUILD_OPA_PACKAGES
- OPAOPT += --rebuild
-diff --git a/_tags b/_tags
-index 5d8d922..b6bdd5e 100644
---- a/_tags
-+++ b/_tags
-@@ -15,4 +15,4 @@
- <{ocamllib,compiler,lib,tools}>: include
- 
- # Warnings
--<**/*.ml>: warn_L, warn_Z, warn_error_A
-+<**/*.ml>: warn_L, warn_Z
-diff --git a/compiler/_tags b/compiler/_tags
-index b33eeeb..7afa493 100644
---- a/compiler/_tags
-+++ b/compiler/_tags
-@@ -7,6 +7,6 @@
- 
- <main.ml>: use_opalib, use_opalang, use_opapasses, use_libqmlcompil, use_passlib, use_libbsl, use_qmloptions, use_qml2js, use_js_passes, use_opa
- 
--<main.{byte,native}>: thread, use_dynlink, use_graph, use_str, use_unix, use_nums, use_zip, use_buildinfos, use_libbase, use_ulex, use_libtrx, use_libqmlcompil, use_libbsl, use_opalib, use_opalang, use_opapasses, use_qmlfakecompiler, use_qmloptions, use_qmljsimp, use_qml2js, use_opabsl_for_compiler, use_qmlslicer, use_jslang, use_qmlcpsrewriter, use_ocamllang, use_passlib, use_compilerlib, use_pplib, use_qmlpasses, use_opacapi, use_js_passes, use_opa
-+<main.{byte,native}>: thread, use_dynlink, use_graph, use_str, use_zip, use_buildinfos, use_libbase, use_ulex, use_libtrx, use_libqmlcompil, use_libbsl, use_opalib, use_opalang, use_opapasses, use_qmlfakecompiler, use_qmloptions, use_qmljsimp, use_qml2js, use_opabsl_for_compiler, use_qmlslicer, use_jslang, use_qmlcpsrewriter, use_ocamllang, use_passlib, use_compilerlib, use_pplib, use_qmlpasses, use_opacapi, use_js_passes, use_opa
- 
- <main.ml>: with_mlstate_debug
-diff --git a/compiler/jslang/_tags b/compiler/jslang/_tags
-index f33b592..8925703 100644
---- a/compiler/jslang/_tags
-+++ b/compiler/jslang/_tags
-@@ -4,7 +4,7 @@
- <jsParse.ml>:           use_camlp4, camlp4orf_fixed
- 
- # todo: find a way to link fewer libs
--<{jspp,jsstat,globalizer}.{byte,native}>: use_passlib, use_opacapi, use_libtrx, use_ulex, use_str, use_unix, use_buildinfos, use_libbase, use_libqmlcompil, use_compilerlib, use_graph, use_nums, use_dynlink, use_jslang, use_ocamllang, use_libbsl, use_opalang, use_pplib, use_qmloptions, use_qml2js, use_qmlcpsrewriter, use_qmlpasses
-+<{jspp,jsstat,globalizer}.{byte,native}>: use_passlib, use_opacapi, use_libtrx, use_ulex, use_str, use_unix, use_buildinfos, use_libbase, use_libqmlcompil, use_compilerlib, use_graph, use_dynlink, use_jslang, use_ocamllang, use_libbsl, use_opalang, use_pplib, use_qmloptions, use_qml2js, use_qmlcpsrewriter, use_qmlpasses
- <{jspp,jsstat,globalizer}.{ml,byte,native}>: use_qmljsimp
- 
- <jsstat.{ml,byte,native}>: use_libjsminify
-diff --git a/compiler/libbsl/_tags b/compiler/libbsl/_tags
-index cad1fe4..8ef238b 100644
---- a/compiler/libbsl/_tags
-+++ b/compiler/libbsl/_tags
-@@ -20,7 +20,7 @@
- <bslRegisterParser.{ml,mli,byte,native}>: use_libtrx
- <bslTinyShell.{ml,mli,byte,native}>: use_libtrx
- <bslregister.*>: use_jslang
--<bslregister.{byte,native}>: use_ulex, use_libbsl, use_dynlink, use_zip, use_nums
-+<bslregister.{byte,native}>: use_ulex, use_libbsl, use_dynlink, use_zip
- <portingBsl.{ml,byte,native}>: use_ulex, use_libbsl, use_dynlink, use_zip, use_nums
- <bslGeneration.{ml,mli}>: use_ulex, use_dynlink, use_zip, use_nums, use_jslang
- <bslMarshalPlugin.*>: use_jslang
-@@ -30,7 +30,7 @@
- <tests>: ignore
- 
- # applications, linking
--<*.{byte,native}>:use_buildinfos, use_ulex, use_libtrx, use_dynlink, use_unix, thread, use_graph, use_libbsl, use_passlib, use_zip, use_nums, use_opalang, use_ocamllang, use_langlang, use_jslang, use_opacapi
-+<*.{byte,native}>:use_buildinfos, use_ulex, use_libtrx, use_dynlink, thread, use_graph, use_libbsl, use_passlib, use_zip, use_opalang, use_ocamllang, use_langlang, use_jslang, use_opacapi
- 
- # ppdebug (pl. be very specific with the use of ppdebug)
- <bslLib.ml*>        : with_mlstate_debug
-diff --git a/compiler/opa/_tags b/compiler/opa/_tags
-index cfe97a1..702af34 100644
---- a/compiler/opa/_tags
-+++ b/compiler/opa/_tags
-@@ -62,7 +62,7 @@
- <syntaxHelper.ml>: use_opalib, use_opalang, use_opapasses, use_libqmlcompil, use_passlib
- 
- # linking
--<{opa_parse,checkopacapi,gen_opa_manpage,syntaxHelper}.{byte,native}>: thread, use_dynlink, use_graph, use_str, use_unix, use_nums, use_zip, use_buildinfos, use_libbase, use_ulex, use_libtrx, use_libqmlcompil, use_libbsl, use_opalib, use_opalang, use_opapasses, use_qmlfakecompiler, use_qmljsimp, use_qml2js, use_opabsl_for_compiler, use_qmlslicer, use_jslang, use_qmlcpsrewriter, use_ocamllang, use_passlib, use_compilerlib, use_pplib, use_qmlpasses, use_opacapi, use_qmloptions
-+<{opa_parse,checkopacapi,gen_opa_manpage,syntaxHelper}.{byte,native}>: thread, use_dynlink, use_graph, use_str, use_zip, use_buildinfos, use_libbase, use_ulex, use_libtrx, use_libqmlcompil, use_libbsl, use_opalib, use_opalang, use_opapasses, use_qmlfakecompiler, use_qmljsimp, use_qml2js, use_opabsl_for_compiler, use_qmlslicer, use_jslang, use_qmlcpsrewriter, use_ocamllang, use_passlib, use_compilerlib, use_pplib, use_qmlpasses, use_opacapi, use_qmloptions
- 
- <opa_InsertRemote.ml>: with_mlstate_debug
- <main_utils.ml>: with_mlstate_debug
-diff --git a/compiler/opalang/_tags b/compiler/opalang/_tags
-index 6844281..8f0eaec 100644
---- a/compiler/opalang/_tags
-+++ b/compiler/opalang/_tags
-@@ -14,7 +14,7 @@ true: warn_Z
- <standaloneparser.ml>: use_buildinfos, use_compilerlib, use_pplib
- <**/*.{ml,mli}>: use_libbase, use_compilerlib, use_libqmlcompil, use_passlib
- 
--<{opa2opa,standaloneparser}.{native,byte}>: use_unix, use_libbase, use_mutex, use_graph, use_str, use_zlib, thread, use_nums, use_libtrx, use_passlib, use_libqmlcompil, use_buildinfos, use_ulex, use_compilerlib, use_pplib, use_opacapi
-+<{opa2opa,standaloneparser}.{native,byte}>: use_libbase, use_mutex, use_graph, use_str, use_zlib, thread, use_libtrx, use_passlib, use_libqmlcompil, use_buildinfos, use_ulex, use_compilerlib, use_pplib, use_opacapi
- 
- <opaMapToIdent.ml>: use_opacapi
- <surfaceAstCons.ml>: use_opacapi
-diff --git a/compiler/opx2js/_tags b/compiler/opx2js/_tags
-index 7e9b9cc..3e257ea 100644
---- a/compiler/opx2js/_tags
-+++ b/compiler/opx2js/_tags
-@@ -2,7 +2,7 @@
- 
- <**/*.{ml,mli}>: use_buildinfos, use_libbase, use_compilerlib, use_passlib
- 
--<**/*.native>: thread, use_dynlink, use_graph, use_str, use_unix, use_nums, use_zip, use_buildinfos, use_libbase, use_ulex, use_libtrx, use_libqmlcompil, use_libbsl, use_opalib, use_opalang, use_opapasses, use_qmlfakecompiler, use_qmlflatcompiler, use_qmloptions, use_qmljsimp, use_qml2js, use_opabsl_for_compiler, use_qmlslicer, use_jslang, use_qmlcpsrewriter, use_ocamllang, use_passlib, use_compilerlib, use_pplib, use_qmlpasses, use_opacapi, use_libopa
-+<**/*.native>: thread, use_dynlink, use_graph, use_str, use_zip, use_buildinfos, use_libbase, use_ulex, use_libtrx, use_libqmlcompil, use_libbsl, use_opalib, use_opalang, use_opapasses, use_qmlfakecompiler, use_qmlflatcompiler, use_qmloptions, use_qmljsimp, use_qml2js, use_opabsl_for_compiler, use_qmlslicer, use_jslang, use_qmlcpsrewriter, use_ocamllang, use_passlib, use_compilerlib, use_pplib, use_qmlpasses, use_opacapi, use_libopa
- 
- <**/opx2jsPasses.{ml,mli}>: use_jslang, use_opalib, use_opalang, use_opapasses, use_libopa, use_libqmlcompil, use_qmlpasses, use_qmlcpsrewriter, use_qmlslicer
- 
-diff --git a/compiler/passes/_tags b/compiler/passes/_tags
-index a0daff4..9644d3a 100644
---- a/compiler/passes/_tags
-+++ b/compiler/passes/_tags
-@@ -1,7 +1,7 @@
- # -*- conf -*- (for emacs)
- 
- # preprocessing
--true: with_mlstate_debug, warn_A, warn_e, warn_error_A, warnno_48
-+true: with_mlstate_debug, warn_A, warn_e, warnno_48
- 
- <**/*.{ml,mli}>: use_libbase, use_libqmlcompil, use_passlib, use_opalang, use_compilerlib, use_opacapi
- <surfaceAst*.{ml,mli}>: use_opalib, use_libbsl
-diff --git a/compiler/passlib/_tags b/compiler/passlib/_tags
-index 2b9cfcf..5cb3145 100644
---- a/compiler/passlib/_tags
-+++ b/compiler/passlib/_tags
-@@ -1,6 +1,6 @@
- # -*- conf -*- (for emacs)
- 
--<*.{ml,mli,byte,native}>: use_libbase, use_compilerlib, thread, use_ulex, use_unix, use_str
-+<*.{ml,mli,byte,native}>: use_libbase, use_compilerlib, thread, use_ulex, use_str
- 
- <passHandler.ml>: use_buildinfos
- <passdesign.{byte,native}>: use_buildinfos, use_graph
-diff --git a/compiler/qmlcompilers/_tags b/compiler/qmlcompilers/_tags
-index 087165c..87ae918 100644
---- a/compiler/qmlcompilers/_tags
-+++ b/compiler/qmlcompilers/_tags
-@@ -5,7 +5,7 @@
- 
- # application, linkink
- # common
--<{qmljs_exe}.{ml,mli,byte,native}>: thread, use_unix, use_dynlink, use_str, use_graph, use_ulex, use_libtrx, use_pplib, use_opabsl_for_compiler, use_passlib, use_nums, use_buildinfos, use_opalang, use_compilerlib, use_opacapi
-+<{qmljs_exe}.{ml,mli,byte,native}>: thread, use_dynlink, use_str, use_graph, use_ulex, use_libtrx, use_pplib, use_opabsl_for_compiler, use_passlib, use_buildinfos, use_opalang, use_compilerlib, use_opacapi
- 
- # specific
- <qmljs_exe.{ml,byte,native}>: use_qmljsimp, use_qml2js, use_zip
-diff --git a/ocamllib/libbase/_tags b/ocamllib/libbase/_tags
-index 42d067d..6b7e690 100644
---- a/ocamllib/libbase/_tags
-+++ b/ocamllib/libbase/_tags
-@@ -27,4 +27,4 @@
- <mongo.ml>: with_mlstate_debug
- 
- 
--<{testconsole,testfilepos}.{ml,mli,byte,native}>: thread, use_str, use_unix, use_libbase, use_ulex
-+<{testconsole,testfilepos}.{ml,mli,byte,native}>: thread, use_str, use_libbase, use_ulex
-diff --git a/tools/_tags b/tools/_tags
-index 549752b..44c97b3 100644
---- a/tools/_tags
-+++ b/tools/_tags
-@@ -8,7 +8,7 @@
- <build>: include
- 
- # Odep
--<odep*.{ml,byte,native}>: thread, use_str, use_unix, use_graph, use_zip, use_libbase, use_ulex
-+<odep*.{ml,byte,native}>: thread, use_str, use_graph, use_zip, use_libbase, use_ulex
- 
- ###
- # Ofile
-@@ -16,7 +16,7 @@
- <ofile.ml>: use_libbase
- 
- # linking
--<ofile.{byte,native}>: use_unix, use_str, thread, use_ulex, use_libbase, use_zip
-+<ofile.{byte,native}>: use_str, thread, use_ulex, use_libbase, use_zip
- 
- ###
- # jschecker
-diff --git a/tools/teerex/_tags b/tools/teerex/_tags
-index d662b49..366ea01 100644
---- a/tools/teerex/_tags
-+++ b/tools/teerex/_tags
-@@ -6,6 +6,6 @@
- 
- <*.{ml,mli,byte,native}>: use_str, use_libbase, use_compilerlib, use_graph, use_libtrx, use_ocamllang, use_zip, use_buildinfos, use_passlib
- 
--<trx_ocaml.{byte,native}>: thread, use_unix
-+<trx_ocaml.{byte,native}>: thread
- <trx_ocaml_main.{byte,native}>: thread, use_unix
--<trx_interpreter.{byte,native}>: thread, use_unix
-+<trx_interpreter.{byte,native}>: thread
diff --git a/pkgs/development/compilers/opa/ocaml-4.14.patch b/pkgs/development/compilers/opa/ocaml-4.14.patch
deleted file mode 100644
index 7df254f3af49..000000000000
--- a/pkgs/development/compilers/opa/ocaml-4.14.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff --git a/compiler/compilerlib/objectFiles.ml b/compiler/compilerlib/objectFiles.ml
-index d0e7223..5fee601 100644
---- a/compiler/compilerlib/objectFiles.ml
-+++ b/compiler/compilerlib/objectFiles.ml
-@@ -339,8 +339,9 @@ let dirname (package:package_name) : filename = Filename.concat !opxdir (unprefi
- let unprefixed_dirname_plugin (package:package_name) : filename = package ^ "." ^ Name.plugin_ext
- let dirname_plugin (package:package_name) : filename = Filename.concat !opxdir (unprefixed_dirname_plugin package)
- let dirname_from_package ((package_name,_):package) = dirname package_name
--let undirname filename : package_name = Filename.chop_suffix (Filename.basename filename) ("."^Name.object_ext)
--let undirname_plugin filename : package_name = Filename.chop_suffix (Filename.basename filename) ("."^Name.plugin_ext)
-+let chop_suffix name suff = try Filename.chop_suffix name suff with _ -> name
-+let undirname filename : package_name = chop_suffix (Filename.basename filename) ("."^Name.object_ext)
-+let undirname_plugin filename : package_name = chop_suffix (Filename.basename filename) ("."^Name.plugin_ext)
- let filename_from_dir dir pass = Filename.concat dir pass
- let filename_from_package package pass = filename_from_dir (dirname_from_package package) pass
- 
-diff --git a/ocamllib/libbase/baseHashtbl.ml b/ocamllib/libbase/baseHashtbl.ml
-index 439d76c..7be6cf9 100644
---- a/ocamllib/libbase/baseHashtbl.ml
-+++ b/ocamllib/libbase/baseHashtbl.ml
-@@ -29,7 +29,6 @@ let iter = Hashtbl.iter
- let fold = Hashtbl.fold
- let length = Hashtbl.length
- let hash = Hashtbl.hash
--external hash_param : int -> int -> 'a -> int = "caml_hash_univ_param" "noalloc"
- module type HashedType = Hashtbl.HashedType
- 
- (* could be done (with magic) more efficiently
-diff --git a/ocamllib/libbase/baseHashtbl.mli b/ocamllib/libbase/baseHashtbl.mli
-index 1a2b146..10e448b 100644
---- a/ocamllib/libbase/baseHashtbl.mli
-+++ b/ocamllib/libbase/baseHashtbl.mli
-@@ -41,7 +41,6 @@ end
- module Make (H : HashedType) : S with type key = H.t
- 
- val hash : 'a -> int
--external hash_param : int -> int -> 'a -> int = "caml_hash_univ_param" "noalloc"
- 
- (**
-    additional functions
-diff --git a/ocamllib/libbase/baseObj.mli b/ocamllib/libbase/baseObj.mli
-index da2d973..5eb77b5 100644
---- a/ocamllib/libbase/baseObj.mli
-+++ b/ocamllib/libbase/baseObj.mli
-@@ -23,7 +23,7 @@ external obj : t -> 'a = "%identity"
- external magic : 'a -> 'b = "%identity"
- external is_block : t -> bool = "caml_obj_is_block"
- external is_int : t -> bool = "%obj_is_int"
--external tag : t -> int = "caml_obj_tag"
-+external tag : t -> int = "caml_obj_tag" [@@noalloc]
- external set_tag : t -> int -> unit = "caml_obj_set_tag"
- external size : t -> int = "%obj_size"
- external truncate : t -> int -> unit = "caml_obj_truncate"
-@@ -49,9 +49,6 @@ val int_tag : int
- val out_of_heap_tag : int
- val unaligned_tag : int
- 
--val marshal : t -> string
--val unmarshal : string -> int -> t * int
--
- (** Additional functions *)
- 
- val dump : ?custom:(Obj.t -> (Buffer.t -> Obj.t -> unit) option) -> ?depth:int -> 'a -> string
diff --git a/pkgs/development/compilers/open-watcom/v2.nix b/pkgs/development/compilers/open-watcom/v2.nix
index a61a66ada934..68961350e3ae 100644
--- a/pkgs/development/compilers/open-watcom/v2.nix
+++ b/pkgs/development/compilers/open-watcom/v2.nix
@@ -13,13 +13,13 @@
 stdenv.mkDerivation rec {
   pname = "${passthru.prettyName}-unwrapped";
   # nixpkgs-update: no auto update
-  version = "unstable-2023-01-30";
+  version = "unstable-2023-03-20";
 
   src = fetchFromGitHub {
     owner = "open-watcom";
     repo = "open-watcom-v2";
-    rev = "996740acdbb173499ec1bf2ba6c8942f2a374220";
-    sha256 = "sha256-9m+0e2v1Hk8jYZHqJwb1mN02WgGDArsWbF7Ut3Z5OIg=";
+    rev = "d9181a345b9301a64380eb40d78c74c197a3fa1e";
+    sha256 = "sha256-2kT4OZJk6m6Z/XN2q17jXJPgAG4nD2U1+J5CZl4+tAs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/embedded/arduino/arduino-cli/default.nix b/pkgs/development/embedded/arduino/arduino-cli/default.nix
index 99f1f6e78407..a23bf5d433bb 100644
--- a/pkgs/development/embedded/arduino/arduino-cli/default.nix
+++ b/pkgs/development/embedded/arduino/arduino-cli/default.nix
@@ -4,13 +4,13 @@ let
 
   pkg = buildGoModule rec {
     pname = "arduino-cli";
-    version = "0.29.0";
+    version = "0.31.0";
 
     src = fetchFromGitHub {
       owner = "arduino";
       repo = pname;
       rev = version;
-      sha256 = "sha256-jew4KLpOOXE9N/h4qFqof8y26DQrvm78E/ARbbwocD4=";
+      hash = "sha256-y51/5Gu6nTaL+XLP7hLk/gaksIdRahecl5q5jYBWATE=";
     };
 
     nativeBuildInputs = [
@@ -19,7 +19,7 @@ let
 
     subPackages = [ "." ];
 
-    vendorSha256 = "sha256-BunonnjzGnpcmGJXxEQXvjJLGvdSXUOK9zAhXoAemHY=";
+    vendorSha256 = "sha256-JuuGJuSax2tfuQHH/Hqk1JpQE2OboYJKJjzPjIZ1UD8=";
 
     doCheck = false;
 
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
index e063268f9680..e0cae8546585 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
@@ -194,6 +194,28 @@ in {
     hls-stylish-haskell-plugin = null;
   };
 
+  # needed to build servant
+  http-api-data = super.http-api-data_0_5;
+  attoparsec-iso8601 = super.attoparsec-iso8601_1_1_0_0;
+
+  # requires newer versions to work with GHC 9.4
+  swagger2 = dontCheck super.swagger2;
+  servant = doJailbreak super.servant;
+  servant-server = doJailbreak super.servant-server;
+  servant-auth = doJailbreak super.servant-auth;
+  servant-auth-swagger = doJailbreak super.servant-auth-swagger;
+  servant-swagger = doJailbreak super.servant-swagger;
+  servant-client-core = doJailbreak super.servant-client-core;
+  servant-client = doJailbreak super.servant-client;
+  relude = doJailbreak super.relude;
+
+  cborg = appendPatch (pkgs.fetchpatch {
+    name = "cborg-support-ghc-9.4.patch";
+    url = "https://github.com/well-typed/cborg/pull/304.diff";
+    sha256 = "sha256-W4HldlESKOVkTPhz9nkFrvbj9akCOtF1SbIt5eJqtj8=";
+    relative = "cborg";
+  }) super.cborg;
+
   # https://github.com/tweag/ormolu/issues/941
   ormolu = doDistribute self.ormolu_0_5_3_0;
   fourmolu = overrideCabal (drv: {
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 0642f04e36a4..988d9a9f0b4d 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -230,8 +230,8 @@ self: super: builtins.intersectAttrs super {
 
   # wxc supports wxGTX >= 3.0, but our current default version points to 2.8.
   # http://hydra.cryp.to/build/1331287/log/raw
-  wxc = (addBuildDepend self.split super.wxc).override { wxGTK = pkgs.wxGTK30; };
-  wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; };
+  wxc = (addBuildDepend self.split super.wxc).override { wxGTK = pkgs.wxGTK32; };
+  wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK32; };
 
   # Test suite wants to connect to $DISPLAY.
   bindings-GLFW = dontCheck super.bindings-GLFW;
@@ -879,17 +879,17 @@ self: super: builtins.intersectAttrs super {
   domaindriven-core = dontCheck super.domaindriven-core;
 
   cachix = overrideCabal (drv: {
-    version = "1.3.1";
+    version = "1.3.3";
     src = pkgs.fetchFromGitHub {
       owner = "cachix";
       repo = "cachix";
-      rev = "v1.3.1";
-      sha256 = "sha256-fYQrAgxEMdtMAYadff9Hg4MAh0PSfGPiYw5Z4BrvgFU=";
+      rev = "v1.3.3";
+      sha256 = "sha256-xhLCsAkz5c+XIqQ4eGY9bSp3zBgCDCaHXZ2HLk8vqmE=";
     };
     buildDepends = [ self.conduit-concurrent-map ];
     postUnpack = "sourceRoot=$sourceRoot/cachix";
     postPatch = ''
-      sed -i 's/1.3/1.3.1/' cachix.cabal
+      sed -i 's/1.3.2/1.3.3/' cachix.cabal
     '';
   }) (super.cachix.override {
     nix = self.hercules-ci-cnix-store.passthru.nixPackage;
@@ -897,12 +897,12 @@ self: super: builtins.intersectAttrs super {
     hnix-store-core = super.hnix-store-core_0_6_1_0;
   });
   cachix-api = overrideCabal (drv: {
-    version = "1.3.1";
+    version = "1.3.3";
     src = pkgs.fetchFromGitHub {
       owner = "cachix";
       repo = "cachix";
-      rev = "v1.3.1";
-      sha256 = "sha256-fYQrAgxEMdtMAYadff9Hg4MAh0PSfGPiYw5Z4BrvgFU=";
+      rev = "v1.3.3";
+      sha256 = "sha256-xhLCsAkz5c+XIqQ4eGY9bSp3zBgCDCaHXZ2HLk8vqmE=";
     };
     postUnpack = "sourceRoot=$sourceRoot/cachix-api";
   }) super.cachix-api;
diff --git a/pkgs/development/interpreters/angelscript/2.22.nix b/pkgs/development/interpreters/angelscript/2.22.nix
deleted file mode 100644
index 26625f612366..000000000000
--- a/pkgs/development/interpreters/angelscript/2.22.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, stdenv, fetchurl, unzip }:
-
-stdenv.mkDerivation rec {
-  pname = "angelscript";
-  version = "2.22.2";
-  nativeBuildInputs = [ unzip ];
-
-  src = fetchurl {
-    url = "http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip";
-    sha256 = "sha256-gzR96GSZJNV+bei3OPqlx7aw+WBv8XRpHGh8u+go6N4=";
-  };
-  preConfigure = ''
-    cd angelscript/projects/gnuc
-    sed -i makefile -e "s@LOCAL = .*@LOCAL = $out@"
-    export SHARED=1
-    export VERSION="${version}"
-    mkdir -p "$out/lib" "$out/bin" "$out/share" "$out/include"
-  '';
-  postBuild = ''
-    rm ../../lib/*
-  '';
-  postInstall = ''
-    mkdir -p "$out/share/docs/angelscript"
-    cp -r ../../../docs/* "$out/share/docs/angelscript"
-  '';
-  meta = with lib; {
-    description = "Light-weight scripting library";
-    license = licenses.zlib;
-    maintainers = with maintainers; [ raskin ];
-    platforms = platforms.linux;
-    badPlatforms = [ "aarch64-linux" ];
-    downloadPage = "http://www.angelcode.com/angelscript/downloads.html";
-    homepage = "http://www.angelcode.com/angelscript/";
-  };
-}
diff --git a/pkgs/development/interpreters/bqn/cbqn/cbqn-bytecode.nix b/pkgs/development/interpreters/bqn/cbqn/cbqn-bytecode.nix
new file mode 100644
index 000000000000..85e78f86cc3b
--- /dev/null
+++ b/pkgs/development/interpreters/bqn/cbqn/cbqn-bytecode.nix
@@ -0,0 +1,35 @@
+{ lib
+, fetchFromGitHub
+, stdenvNoCC
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "cbqn-bytecode";
+  version = "unstable-2023-01-27";
+
+  src = fetchFromGitHub {
+    owner = "dzaima";
+    repo = "cbqnBytecode";
+    rev = "b2f47806ea770451d06d04e20177baeaec92e6dd";
+    hash = "sha256-dukpEB5qg6jF4AIHKK+atTvCKZTVtJ1M/nw7+SNp250=";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D $src/gen/{compiles,explain,formatter,runtime0,runtime1,src} -t $out/dev
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/dzaima/cbqnBytecode";
+    description = "CBQN precompiled bytecode";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres sternenseemann synthetica shnarazk ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/interpreters/bqn/cbqn/default.nix b/pkgs/development/interpreters/bqn/cbqn/default.nix
index bd07f3ca7ede..632aa8ca1e48 100644
--- a/pkgs/development/interpreters/bqn/cbqn/default.nix
+++ b/pkgs/development/interpreters/bqn/cbqn/default.nix
@@ -1,10 +1,13 @@
-{ lib
+{ callPackage
+, lib
 , stdenv
+, stdenvNoCC
 , fetchFromGitHub
 , genBytecode ? false
 , bqn-path ? null
 , mbqn-source ? null
 , enableReplxx ? false
+, enableSingeli ? stdenv.hostPlatform.avx2Support
   # No support for macOS' .dylib on the CBQN side
 , enableLibcbqn ? stdenv.hostPlatform.isLinux
 , libffi
@@ -12,33 +15,22 @@
 }:
 
 let
-  # TODO: these submodules should be separated libraries
-  cbqn-bytecode-files = fetchFromGitHub {
-    name = "cbqn-bytecode-files";
-    owner = "dzaima";
-    repo = "CBQN";
-    rev = "3df8ae563a626ff7ae0683643092f0c3bc2481e5";
-    hash = "sha256:0rh9qp1bdm9aa77l0kn9n4jdy08gl6l7898lncskxiq9id6xvyb8";
-  };
-  replxx-submodule = fetchFromGitHub {
-    name = "replxx-submodule";
-    owner = "dzaima";
-    repo = "replxx";
-    rev = "ba94c293caad52486df8712e808783df9a8f4501";
-    hash = "sha256-pMLvURksj/5k5b6BTwWxjomoROMOE5+GRjyaoqu/iYE=";
-  };
+  cbqn-bytecode-submodule =
+    callPackage ./cbqn-bytecode.nix { inherit lib fetchFromGitHub stdenvNoCC; };
+  replxx-submodule = callPackage ./replxx.nix { inherit lib fetchFromGitHub stdenvNoCC; };
+  singeli-submodule = callPackage ./singeli.nix { inherit lib fetchFromGitHub stdenvNoCC; };
 in
 assert genBytecode -> ((bqn-path != null) && (mbqn-source != null));
 
 stdenv.mkDerivation rec {
   pname = "cbqn" + lib.optionalString (!genBytecode) "-standalone";
-  version = "0.pre+date=2022-11-27";
+  version = "unstable-2023-02-01";
 
   src = fetchFromGitHub {
     owner = "dzaima";
     repo = "CBQN";
-    rev = "49c0d9a355698f54fff2c0caa177e2b341fabb45";
-    hash = "sha256-jm2ZzFxhr9o4nFR2rjYJz/4GH+WFnfU4QDovrOPI3jQ=";
+    rev = "05c1270344908e98c9f2d06b3671c3646f8634c3";
+    hash = "sha256-wKeyYWMgTZPr+Ienz3xnsXeD67vwdK4sXbQlW+GpQho=";
   };
 
   nativeBuildInputs = [
@@ -62,7 +54,7 @@ stdenv.mkDerivation rec {
 
   buildFlags = [
     # interpreter binary
-    "o3"
+    (lib.flatten (if enableSingeli then ["o3n-singeli" "f='-mavx2'"] else ["o3"]))
   ] ++ lib.optionals enableLibcbqn [
     # embeddable interpreter as a shared lib
     "shared-o3"
@@ -74,11 +66,14 @@ stdenv.mkDerivation rec {
   '' + (if genBytecode then ''
     ${bqn-path} ./build/genRuntime ${mbqn-source} build/bytecodeLocal/
   '' else ''
-    cp ${cbqn-bytecode-files}/src/gen/{compiles,explain,formatter,runtime0,runtime1,src} build/bytecodeLocal/gen/
+    cp -r ${cbqn-bytecode-submodule}/dev/* build/bytecodeLocal/gen/
   '')
   + lib.optionalString enableReplxx ''
-    cp -r ${replxx-submodule} build/replxxLocal/
-  '';
+    cp -r ${replxx-submodule}/dev/* build/replxxLocal/
+  ''
+  + lib.optionalString enableSingeli ''
+    cp -r ${singeli-submodule}/dev/* build/singeliLocal/
+ '';
 
   outputs = [
     "out"
@@ -88,20 +83,20 @@ stdenv.mkDerivation rec {
   ];
 
   installPhase = ''
-     runHook preInstall
+    runHook preInstall
 
-     mkdir -p $out/bin/
-     cp BQN -t $out/bin/
-     # note guard condition for case-insensitive filesystems
-     [ -e $out/bin/bqn ] || ln -s $out/bin/BQN $out/bin/bqn
-     [ -e $out/bin/cbqn ] || ln -s $out/bin/BQN $out/bin/cbqn
+    mkdir -p $out/bin/
+    cp BQN -t $out/bin/
+    # note guard condition for case-insensitive filesystems
+    [ -e $out/bin/bqn ] || ln -s $out/bin/BQN $out/bin/bqn
+    [ -e $out/bin/cbqn ] || ln -s $out/bin/BQN $out/bin/cbqn
   ''
   + lib.optionalString enableLibcbqn ''
-     install -Dm644 include/bqnffi.h -t "$dev/include"
-     install -Dm755 libcbqn${stdenv.hostPlatform.extensions.sharedLibrary} -t "$lib/lib"
+    install -Dm644 include/bqnffi.h -t "$dev/include"
+    install -Dm755 libcbqn${stdenv.hostPlatform.extensions.sharedLibrary} -t "$lib/lib"
   ''
   + ''
-     runHook postInstall
+    runHook postInstall
   '';
 
   meta = with lib; {
@@ -112,5 +107,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
   };
 }
-# TODO: version cbqn-bytecode-files
 # TODO: test suite
diff --git a/pkgs/development/interpreters/bqn/cbqn/replxx.nix b/pkgs/development/interpreters/bqn/cbqn/replxx.nix
new file mode 100644
index 000000000000..afe6cef2aed3
--- /dev/null
+++ b/pkgs/development/interpreters/bqn/cbqn/replxx.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, stdenvNoCC
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "replxx";
+  version = "unstable-2023-01-21";
+
+  src = fetchFromGitHub {
+    owner = "dzaima";
+    repo = "replxx";
+    rev = "eb6bcecff4ca6051120c99e9dd64c3bd20fcc42f";
+    hash = "sha256-cb486FGF+4sUxgBbRfnbTTnZn2WQ3p93fSwDRCEtFJg=";
+  };
+
+  dontConfigure = true;
+  # The CBQN derivation will build replxx, here we just provide the source files.
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/dev
+    cp -r $src $out/dev
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/dzaima/replxx";
+    description = "A replxx fork for CBQN";
+    license = licenses.free;
+    maintainers = with maintainers; [ AndersonTorres sternenseemann synthetica shnarazk ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/interpreters/bqn/cbqn/singeli.nix b/pkgs/development/interpreters/bqn/cbqn/singeli.nix
new file mode 100644
index 000000000000..3dfade53dfc2
--- /dev/null
+++ b/pkgs/development/interpreters/bqn/cbqn/singeli.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, stdenvNoCC
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "singeli";
+  version = "unstable-2023-01-23";
+
+  src = fetchFromGitHub {
+    owner = "mlochbaum";
+    repo = "Singeli";
+    rev = "0bc519ccbbe4051204d40bfc861a5bed7132e95f";
+    hash = "sha256-zo4yr9t3hp6BOX1ac3md6R/O+hl5MphZdCmI8nNP9Yc=";
+  };
+
+  dontConfigure = true;
+  # The CBQN derivation will build Singeli, here we just provide the source files.
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/dev
+    cp -r $src $out/dev
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/mlochbaum/Singeli";
+    description = "A metaprogramming DSL for SIMD";
+    license = licenses.isc;
+    maintainers = with maintainers; [ AndersonTorres sternenseemann synthetica shnarazk ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix
index 04c605f29236..e8ed1a25224f 100644
--- a/pkgs/development/interpreters/clojure/babashka.nix
+++ b/pkgs/development/interpreters/clojure/babashka.nix
@@ -7,11 +7,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "babashka";
-  version = "1.2.174";
+  version = "1.3.176";
 
   src = fetchurl {
     url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-5ZvqbOU69ZZNIT5Mh7+Cg5s+gLhOnFMSIO4ZI9t6D/8=";
+    sha256 = "sha256-Kf7Yb7IrXiX5MGbpxvXSKqx3LEdHFV8+hgq43SAoe00=";
   };
 
   graalvmDrv = graalvmCEPackages.graalvm19-ce;
diff --git a/pkgs/development/interpreters/erlang/R23.nix b/pkgs/development/interpreters/erlang/23.nix
index 89faebdde128..89faebdde128 100644
--- a/pkgs/development/interpreters/erlang/R23.nix
+++ b/pkgs/development/interpreters/erlang/23.nix
diff --git a/pkgs/development/interpreters/erlang/R24.nix b/pkgs/development/interpreters/erlang/24.nix
index 747c2a90cb7f..747c2a90cb7f 100644
--- a/pkgs/development/interpreters/erlang/R24.nix
+++ b/pkgs/development/interpreters/erlang/24.nix
diff --git a/pkgs/development/interpreters/erlang/R25.nix b/pkgs/development/interpreters/erlang/25.nix
index 16481441ccc8..16481441ccc8 100644
--- a/pkgs/development/interpreters/erlang/R25.nix
+++ b/pkgs/development/interpreters/erlang/25.nix
diff --git a/pkgs/development/interpreters/erlang/R21.nix b/pkgs/development/interpreters/erlang/R21.nix
deleted file mode 100644
index 3af1198bdd54..000000000000
--- a/pkgs/development/interpreters/erlang/R21.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ mkDerivation }:
-
-mkDerivation {
-  version = "21.3.8.24";
-  sha256 = "sha256-FNs+M4KFFKzfb4EG513HtyQ9eRRtxSPMpYq0bmRgY3g=";
-  meta.knownVulnerabilities = [ "CVE-2022-37026" ];
-}
diff --git a/pkgs/development/interpreters/erlang/R22.nix b/pkgs/development/interpreters/erlang/R22.nix
deleted file mode 100644
index c42af71eacc8..000000000000
--- a/pkgs/development/interpreters/erlang/R22.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ mkDerivation }:
-
-mkDerivation {
-  version = "22.3.4.24";
-  sha256 = "0c9713xa8sjw7nr55hysgcnbvj7gzbrpzdl94y1nqn7vw4ni8is3";
-  meta.knownVulnerabilities = [ "CVE-2022-37026" ];
-}
diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix
index 59e2286f84ee..0c6eec868fa0 100644
--- a/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -158,7 +158,7 @@ stdenv.mkDerivation ({
         latest=$(list-git-tags --url=https://github.com/erlang/otp.git | sed -n 's/^OTP-${major}/${major}/p' | sort -V | tail -1)
         if [ "$latest" != "${version}" ]; then
           nixpkgs="$(git rev-parse --show-toplevel)"
-          nix_file="$nixpkgs/pkgs/development/interpreters/erlang/R${major}.nix"
+          nix_file="$nixpkgs/pkgs/development/interpreters/erlang/${major}.nix"
           update-source-version ${baseName}R${major} "$latest" --version-key=version --print-changes --file="$nix_file"
         else
           echo "${baseName}R${major} is already up-to-date"
diff --git a/pkgs/development/interpreters/lfe/1.2.nix b/pkgs/development/interpreters/lfe/1.2.nix
deleted file mode 100644
index b81acdaa499e..000000000000
--- a/pkgs/development/interpreters/lfe/1.2.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ mkDerivation }:
-
-mkDerivation {
-  version = "1.2.1";
-  sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz";
-  maximumOTPVersion = "19";
-}
diff --git a/pkgs/development/interpreters/lfe/1.3.nix b/pkgs/development/interpreters/lfe/1.3.nix
deleted file mode 100644
index 52df5c025447..000000000000
--- a/pkgs/development/interpreters/lfe/1.3.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ fetchpatch, mkDerivation }:
-
-let
-  _fetchpatch =
-    { rev, sha256 }:
-    fetchpatch {
-      url = "https://github.com/rvirding/lfe/commit/${rev}.patch";
-      inherit sha256;
-    };
-  fetchPatches = map _fetchpatch;
-in
-
-mkDerivation {
-  version = "1.3";
-  sha256 = "0pgwi0h0d34353m39jin8dxw4yykgfcg90k6pc4qkjyrg40hh4l6";
-  maximumOTPVersion = "21";
-  patches = fetchPatches [
-    {
-      rev = "b457e5d521bb35008e6049fab31b4073cc10d583";
-      sha256 = "1zrq1b3291xhb0jsirgb5s8hacq5xvz7xidsp29aqcnpazdvivdc";
-    }
-    {
-      rev = "5fe9f37741b7d53bd43109fd3435e1437f124a0d";
-      sha256 = "1anqlcbih52lc0wynf58r67w1jhn264lz49rczwgh19pqg92dvqf";
-    }
-    {
-      rev = "b8f3e06511cb6805cf3a904c1589b27f33f3958d";
-      sha256 = "1zqafc0asm9m6cq7r0brvfawv69fqggy1phif3zknjmpicf25pqf";
-    }
-    {
-      rev = "40c239a608460e55563edb68c1b6faca57518b54";
-      sha256 = "03av5115jwyammw337xzy50l6api5h0wbwwda5vzw0w10zwb2z8y";
-    }
-    {
-      rev = "5faa7106419263689bfc0bc08a7451ccb1fba718";
-      sha256 = "0ml5yh5b3rn4ympks4bpx409hkra0i79zvq80azk0kmbjd869fxp";
-    }
-    {
-      rev = "9ff978693babcfd043d741b5c6940920b8315892";
-      sha256 = "04968dmp527wbkdv7dqpaj3nsyjls93whc1b5hx73b39dvl3n3y1";
-    }
-  ];
-}
diff --git a/pkgs/development/interpreters/lfe/2.1.nix b/pkgs/development/interpreters/lfe/2.1.nix
new file mode 100644
index 000000000000..2dff2ade66c1
--- /dev/null
+++ b/pkgs/development/interpreters/lfe/2.1.nix
@@ -0,0 +1,7 @@
+{ fetchpatch, mkDerivation }:
+
+mkDerivation {
+  version = "2.1.1";
+  sha256 = "sha256-HUOVBzUaU0ixIfPPctwR2TPijxJjcFY3dJ8Z7Ot2bpE=";
+  maximumOTPVersion = "25";
+}
diff --git a/pkgs/development/interpreters/lfe/fix-rebar-config.patch b/pkgs/development/interpreters/lfe/fix-rebar-config.patch
index ac385351b1cf..991ee4225dbd 100644
--- a/pkgs/development/interpreters/lfe/fix-rebar-config.patch
+++ b/pkgs/development/interpreters/lfe/fix-rebar-config.patch
@@ -1,29 +1,24 @@
 diff --git a/rebar.config b/rebar.config
-index 1d5a68e..a86ee39 100644
+index 1204a6f..7e2c102 100644
 --- a/rebar.config
 +++ b/rebar.config
-@@ -2,20 +2,20 @@
- 
- {erl_opts, [debug_info]}.
- 
--{profiles, [{test, [{deps, [proper]}]}]}.
-+%%{profiles, [{test, [{deps, [proper]}]}]}.
+@@ -23,16 +23,16 @@
  
  {pre_hooks, [{"(linux|darwin|solaris|freebsd|netbsd|openbsd)", ct,
-               "bin/lfe bin/lfec"
+               "bin/lfescript bin/lfec"
 -              " -o $REBAR_DEPS_DIR/lfe/test"
 +              " -o test"
                " test/*_SUITE.lfe"},
               {"(linux|darwin|solaris|freebsd|netbsd|openbsd)", eunit,
-               "bin/lfe bin/lfec"
+               "bin/lfescript bin/lfec"
 -              " -o $REBAR_DEPS_DIR/lfe/ebin"
 +              " -o ebin"
-               " test/clj-tests.lfe"},
+               " test/clj-tests.lfe test/maps-tests.lfe"},
               %% TODO: Test this on a win32 box
               %%  {"win32", ct,
-              %%   "bin/lfe bin/lfec -o $REBAR_DEPS_DIR/lfe/test test/*_SUITE.lfe"}
+              %%   "bin/lfescript bin/lfec -o $REBAR_DEPS_DIR/lfe/test test/*_SUITE.lfe"}
               {"(linux|darwin|solaris|freebsd|netbsd|openbsd)", app_compile,
--              "bin/lfe bin/lfec -o $REBAR_DEPS_DIR/lfe/ebin src/*.lfe"}
-+              "bin/lfe bin/lfec -o ebin src/*.lfe"}
+-              "bin/lfescript bin/lfec -o $REBAR_DEPS_DIR/lfe/ebin src/*.lfe"}
++              "bin/lfescript bin/lfec -o ebin src/*.lfe"}
               %% TODO: equivalent win32 hook
              ]}.
diff --git a/pkgs/development/interpreters/lfe/generic-builder.nix b/pkgs/development/interpreters/lfe/generic-builder.nix
index ada99e525c81..5e6016d4e97e 100644
--- a/pkgs/development/interpreters/lfe/generic-builder.nix
+++ b/pkgs/development/interpreters/lfe/generic-builder.nix
@@ -18,13 +18,9 @@ let
 
   proper = buildHex {
     name = "proper";
-    version = "1.1.1-beta";
+    version = "1.4.0";
 
-    sha256  = "0hnkhs761yjynw9382w8wm4j3x0r7lllzavaq2kh9n7qy3zc1rdx";
-
-    configurePhase = ''
-      ${erlang}/bin/escript write_compile_flags include/compile_flags.hrl
-    '';
+    sha256  = "sha256-GChYQhhb0z772pfRNKXLWgiEOE2zYRn+4OPPpIhWjLs=";
   };
 
 in
diff --git a/pkgs/development/interpreters/luau/default.nix b/pkgs/development/interpreters/luau/default.nix
index ad45dd299fbe..1a084d8b94ba 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.567";
+  version = "0.568";
 
   src = fetchFromGitHub {
     owner = "Roblox";
     repo = "luau";
     rev = version;
-    hash = "sha256-x1P9/TZUU/XITH1/8NtPXzM46fwk0VxHNphlWqzhoog=";
+    hash = "sha256-ToNAduAKc4gJqO+fMZ2ZT43lnobonytdaSN5Yh0Q6A8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/interpreters/octave/build-octave-package.nix b/pkgs/development/interpreters/octave/build-octave-package.nix
index 065992f91271..30f9bc3b5e1c 100644
--- a/pkgs/development/interpreters/octave/build-octave-package.nix
+++ b/pkgs/development/interpreters/octave/build-octave-package.nix
@@ -62,13 +62,21 @@ let
   ]
   ++ nativeBuildInputs;
 
+  passthru' = {
+    updateScript = [
+      ../../../../maintainers/scripts/update-octave-packages
+      (builtins.unsafeGetAttrPos "pname" octave.pkgs.${attrs.pname}).file
+    ];
+  }
+  // passthru;
+
   # This step is required because when
   # a = { test = [ "a" "b" ]; }; b = { test = [ "c" "d" ]; };
   # (a // b).test = [ "c" "d" ];
   # This used to mean that if a package defined extra nativeBuildInputs, it
   # would override the ones for building an Octave package (the hook and Octave
   # itself, causing everything to fail.
-  attrs' = builtins.removeAttrs attrs [ "nativeBuildInputs" ];
+  attrs' = builtins.removeAttrs attrs [ "nativeBuildInputs" "passthru" ];
 
 in stdenv.mkDerivation ({
   packageName = "${fullLibName}";
@@ -121,5 +129,7 @@ in stdenv.mkDerivation ({
   # together with Octave.
   dontInstall = true;
 
+  passthru = passthru';
+
   inherit meta;
 } // attrs')
diff --git a/pkgs/development/interpreters/php/8.1.nix b/pkgs/development/interpreters/php/8.1.nix
index 48cf458178b6..95edce456c9b 100644
--- a/pkgs/development/interpreters/php/8.1.nix
+++ b/pkgs/development/interpreters/php/8.1.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.1.16";
-    hash = "sha256-zZ8OoU2C2UVVh6SaC2yAKnuNj/eXA/n0ixfbAQ+2M84=";
+    version = "8.1.17";
+    hash = "sha256-9Pspig6wkflE7OusV7dtqudoqXDC9RYQpask802MDK8=";
   });
 
 in
diff --git a/pkgs/development/interpreters/php/8.2.nix b/pkgs/development/interpreters/php/8.2.nix
index 6dea1c8f9076..3b990e61bf5b 100644
--- a/pkgs/development/interpreters/php/8.2.nix
+++ b/pkgs/development/interpreters/php/8.2.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.2.3";
-    hash = "sha256-h7tYhl849eKUGBMCkVLOohAv4pYbtNaLiPgx3dBUjQ8=";
+    version = "8.2.4";
+    hash = "sha256-eRhvlL1RDbhuMeU13USCd6Hrkqh4eDA6Hq1EYC2LEZc=";
   });
 
 in
diff --git a/pkgs/development/interpreters/rakudo/zef.nix b/pkgs/development/interpreters/rakudo/zef.nix
index db3c6f92a8ed..b9388663ca36 100644
--- a/pkgs/development/interpreters/rakudo/zef.nix
+++ b/pkgs/development/interpreters/rakudo/zef.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zef";
-  version = "0.18.0";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "ugexe";
     repo = "zef";
     rev = "v${version}";
-    sha256 = "sha256-u/K1R0ILoDvHvHb0QzGB4YHlIf70jVeVEmrquv2U0S8=";
+    sha256 = "sha256-F4q8cHM1CLp9FLZTo6WmxEiK2sqmAx3LOHevNXn2kOw=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/interpreters/wasmtime/default.nix b/pkgs/development/interpreters/wasmtime/default.nix
index f07ddfb0e606..7a3297ba7f07 100644
--- a/pkgs/development/interpreters/wasmtime/default.nix
+++ b/pkgs/development/interpreters/wasmtime/default.nix
@@ -2,17 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasmtime";
-  version = "6.0.1";
+  version = "7.0.0";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-vVdvj3Q3weK+yohSaEDaagqWWZkA+KV4gRRbcE3UiPQ=";
+    hash = "sha256-vbsjUJH6wHmSTwUV5tXrTUljPJNLTms8K6EyWi0mipA=";
     fetchSubmodules = true;
   };
 
-  cargoHash = "sha256-7FYXKEN17I7sLQid2JGTxFHMhGPka2coEMS6y4HvwPU=";
+  cargoHash = "sha256-eTm0FfWiNpEwj2egLrQGPA1lZ0K5GfVOeULsbNyf18Q=";
 
   cargoBuildFlags = [
     "--package wasmtime-cli"
diff --git a/pkgs/development/libraries/alembic/default.nix b/pkgs/development/libraries/alembic/default.nix
index bff46622d45e..4efa425ee28b 100644
--- a/pkgs/development/libraries/alembic/default.nix
+++ b/pkgs/development/libraries/alembic/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   pname = "alembic";
-  version = "1.8.4";
+  version = "1.8.5";
 
   src = fetchFromGitHub {
     owner = "alembic";
     repo = "alembic";
     rev = version;
-    sha256 = "sha256-8dQhOQN0t2Y2kC2wOpQUqbu6Woy4DUmiLqXjf1D+mxE=";
+    sha256 = "sha256-wJVx0rwK0Qk07jlP0DyEAZUrAD+47qcVXSnTh5ngZG8=";
   };
 
   # note: out is unused (but required for outputDoc anyway)
diff --git a/pkgs/development/libraries/belle-sip/default.nix b/pkgs/development/libraries/belle-sip/default.nix
index b40ea68a48a6..2a0abc3a338e 100644
--- a/pkgs/development/libraries/belle-sip/default.nix
+++ b/pkgs/development/libraries/belle-sip/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation rec {
   pname = "belle-sip";
-  version = "5.2.23";
+  version = "5.2.37";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-c73PCM+bRz6CjGRY2AapEcvKC1UqyEfzb7qsicmrkQU=";
+    sha256 = "sha256-e5CwLzpvW5ktv5R8PZkNmSXAi/SaTltJs9LY26iKsLo=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/catch2/3.nix b/pkgs/development/libraries/catch2/3.nix
index 38b025d8dda4..72dd4552bf97 100644
--- a/pkgs/development/libraries/catch2/3.nix
+++ b/pkgs/development/libraries/catch2/3.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "catch2";
-  version = "3.3.1";
+  version = "3.3.2";
 
   src = fetchFromGitHub {
     owner = "catchorg";
     repo = "Catch2";
     rev = "v${version}";
-    hash = "sha256-JVxBYhKTejc8lfqgxz5Ig5G9H90YuIcGAUopGJG/3Dg=";
+    hash = "sha256-t/4iCrzPeDZNNlgibVqx5rhe+d3lXwm1GmBMDDId0VQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix
index 941abaf0ba0b..b0173d3fa8ae 100644
--- a/pkgs/development/libraries/cimg/default.nix
+++ b/pkgs/development/libraries/cimg/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cimg";
-  version = "3.2.1";
+  version = "3.2.2";
 
   src = fetchFromGitHub {
-    owner = "dtschump";
+    owner = "GreycLab";
     repo = "CImg";
     rev = "v.${version}";
-    hash = "sha256-MPkZGKewusCw5TsW5NOtnrjqEK2dxRSCal1fn7Yiaio=";
+    hash = "sha256-koXew0Lwb7wW8MQctTjxpo7TNVtrS5MzxQFfUS1gwZs=";
   };
 
   outputs = [ "out" "doc" ];
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
       processing applications.
     '';
     license = licenses.cecill-c;
-    maintainers = [ maintainers.AndersonTorres ];
+    maintainers = [ maintainers.AndersonTorres maintainers.lilyinstarlight ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/cl/default.nix b/pkgs/development/libraries/cl/default.nix
index a4b526ea25d3..1f98635f15dd 100644
--- a/pkgs/development/libraries/cl/default.nix
+++ b/pkgs/development/libraries/cl/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchFromGitHub, rebar, erlang, opencl-headers, ocl-icd }:
+{ lib, stdenv, fetchFromGitHub, rebar, erlang, opencl-headers, ocl-icd }:
 
 stdenv.mkDerivation rec {
   version = "1.2.4";
@@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "1gwkjl305a0231hz3k0w448dsgbgdriaq764sizs5qfn59nzvinz";
   };
 
+  # https://github.com/tonyrog/cl/issues/39
+  postPatch = ''
+    substituteInPlace c_src/Makefile \
+      --replace "-m64" ""
+  '';
+
   buildInputs = [ erlang rebar opencl-headers ocl-icd ];
 
   buildPhase = ''
@@ -29,8 +35,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/tonyrog/cl";
     description = "OpenCL binding for Erlang";
     license = licenses.mit;
-    # https://github.com/tonyrog/cl/issues/39
-    broken = stdenv.isAarch64;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/cln/default.nix b/pkgs/development/libraries/cln/default.nix
index 23bbd84a2096..faa6fde2a7e8 100644
--- a/pkgs/development/libraries/cln/default.nix
+++ b/pkgs/development/libraries/cln/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv, fetchurl, gmp }:
+{ lib, gccStdenv, fetchurl, gmp }:
 
-stdenv.mkDerivation rec {
+gccStdenv.mkDerivation rec {
   pname = "cln";
   version = "1.3.6";
 
diff --git a/pkgs/development/libraries/epoll-shim/default.nix b/pkgs/development/libraries/epoll-shim/default.nix
new file mode 100644
index 000000000000..311496fe07b4
--- /dev/null
+++ b/pkgs/development/libraries/epoll-shim/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "epoll-shim";
+  version = "unstable-2023-02-05";
+
+  src = fetchFromGitHub {
+    owner = "jiixyj";
+    repo = finalAttrs.pname;
+    rev = "702e845d7850e30a7b9e29f759c9c8f7bb40784b";
+    hash = "sha256-QfBnF0/P2KjQggEdJCdqVJDeV/+iaN0OZIwIGyIyr68=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_PKGCONFIGDIR=${placeholder "out"}/lib/pkgconfig"
+    "-DBUILD_TESTING=${lib.boolToString finalAttrs.doCheck}"
+  ];
+
+  # https://github.com/jiixyj/epoll-shim/issues/41
+  # https://github.com/jiixyj/epoll-shim/pull/34
+  doCheck = !stdenv.isDarwin;
+
+  meta = with lib; {
+    description = "Small epoll implementation using kqueue";
+    homepage = "https://github.com/jiixyj/epoll-shim";
+    license = licenses.mit;
+    platforms = platforms.darwin ++ platforms.freebsd ++ platforms.netbsd ++ platforms.openbsd;
+    maintainers = with maintainers; [ wegank ];
+  };
+})
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index 955b459f4ab6..9faef1ac14fb 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -61,13 +61,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gdal";
-  version = "3.6.2";
+  version = "3.6.3";
 
   src = fetchFromGitHub {
     owner = "OSGeo";
     repo = "gdal";
     rev = "v${version}";
-    hash = "sha256-fdj/o+dm7V8QLrjnaQobaFX80+penn+ohx/yNmUryRA=";
+    hash = "sha256-Rg/dvSkq1Hn8NgZEE0ID92Vihyw7MA78OBnON8Riy38=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/grantlee/5/default.nix b/pkgs/development/libraries/grantlee/5/default.nix
index 56899b1f8978..b115e1c8d7b6 100644
--- a/pkgs/development/libraries/grantlee/5/default.nix
+++ b/pkgs/development/libraries/grantlee/5/default.nix
@@ -2,14 +2,14 @@
 
 mkDerivation rec {
   pname = "grantlee";
-  version = "5.2.0";
+  version = "5.3.1";
   grantleePluginPrefix = "lib/grantlee/${lib.versions.majorMinor version}";
 
   src = fetchFromGitHub {
     owner = "steveire";
     repo = "grantlee";
     rev = "v${version}";
-    sha256 = "sha256-mAbgzdBdIW1wOTQNBePQuyTgkKdpn1c+zR3H7mXHvgk=";
+    sha256 = "sha256-enP7b6A7Ndew2LJH569fN3IgPu2/KL5rCmU/jmKb9sY=";
   };
 
   buildInputs = [ qtbase qtscript ];
diff --git a/pkgs/development/libraries/grantlee/5/grantlee-no-canonicalize-filepath.patch b/pkgs/development/libraries/grantlee/5/grantlee-no-canonicalize-filepath.patch
index 64eb11c3f156..b29911bcfcdb 100644
--- a/pkgs/development/libraries/grantlee/5/grantlee-no-canonicalize-filepath.patch
+++ b/pkgs/development/libraries/grantlee/5/grantlee-no-canonicalize-filepath.patch
@@ -9,7 +9,7 @@ Index: grantlee-5.1.0/templates/lib/templateloader.cpp
 -    if (file.exists()
 -        && !fi.canonicalFilePath().contains(
 -            QDir(d->m_templateDirs.at(i)).canonicalPath()))
--      return Template();
+-      return {};
      ++i;
    }
 
diff --git a/pkgs/development/libraries/hipfort/default.nix b/pkgs/development/libraries/hipfort/default.nix
index 66b2a8a6033e..e22d09fbee84 100644
--- a/pkgs/development/libraries/hipfort/default.nix
+++ b/pkgs/development/libraries/hipfort/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "hipfort";
-  version = "5.4.2";
+  version = "5.4.3";
 
   src = fetchFromGitHub {
     owner = "ROCmSoftwarePlatform";
diff --git a/pkgs/development/libraries/hunspell/dictionaries.nix b/pkgs/development/libraries/hunspell/dictionaries.nix
index 17c73c118cec..1f1f5a687a4b 100644
--- a/pkgs/development/libraries/hunspell/dictionaries.nix
+++ b/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -828,14 +828,14 @@ rec {
   th_TH = th-th;
   th-th = mkDict {
     pname = "hunspell-dict-th-th";
-    version = "experimental-2021-12-20";
+    version = "experimental-2023-03-01";
     dictFileName = "th_TH";
     readmeFile = "README.md";
     src = fetchFromGitHub {
       owner = "SyafiqHadzir";
       repo = "Hunspell-TH";
-      rev = "f119e58e5f6954965d6abd683e7d4c4b9be2684f";
-      sha256 = "sha256-hwqKvuLxbtzxfyQ5YhC/sdb3QQwxCfzgDOHeatxDjxM=";
+      rev = "9c09f1b7c0eb4d04b9f6f427901686c5c3d9fa54";
+      sha256 = "1wszpnbgj31k72x1vvcfkzcpmxsncdpqsi3zagah7swilpi7cqm4";
     };
     meta = with lib; {
       description = "Hunspell dictionary for Central Thai (Thailand)";
diff --git a/pkgs/development/libraries/irr1/default.nix b/pkgs/development/libraries/iir1/default.nix
index 8740919ce3ae..d277e14f567a 100644
--- a/pkgs/development/libraries/irr1/default.nix
+++ b/pkgs/development/libraries/iir1/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "irr1";
+  pname = "iir1";
   version = "1.9.4";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/java/jdom/default.nix b/pkgs/development/libraries/java/jdom/default.nix
index cbbec60ad32b..f05b45cf0489 100644
--- a/pkgs/development/libraries/java/jdom/default.nix
+++ b/pkgs/development/libraries/java/jdom/default.nix
@@ -1,16 +1,25 @@
-{ lib, stdenv, fetchurl }:
+{ lib
+, stdenv
+, fetchzip
+}:
 
 stdenv.mkDerivation rec {
   pname = "jdom";
-  version = "1.0";
+  version = "2.0.6.1";
 
-  src = fetchurl {
-    url = "http://www.jdom.org/dist/binary/jdom-${version}.tar.gz";
-    sha256 = "1igmxzcy0s25zcy9vmcw0kd13lh60r0b4qg8lnp1jic33f427pxf";
+  src = fetchzip {
+    url = "http://www.jdom.org/dist/binary/jdom-${version}.zip";
+    stripRoot = false;
+    hash = "sha256-Y++mlO+7N5EU2NhRzLl5x5WXNqu/2tDO/NpNhfRegcg=";
   };
 
-  buildCommand = ''
-    cp -r ./ $out
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/java
+    cp -a . $out/share/java
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix b/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
index f807193718d5..564e3ae25371 100644
--- a/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation,
+  mkDerivation, fetchpatch,
   extra-cmake-modules,
   breeze-icons, karchive, kcoreaddons, kconfigwidgets, ki18n, kitemviews,
   qtbase, qtsvg, qttools,
@@ -9,6 +9,12 @@ mkDerivation {
   pname = "kiconthemes";
   patches = [
     ./default-theme-breeze.patch
+
+    # fix compile error
+    (fetchpatch {
+      url = "https://invent.kde.org/frameworks/kiconthemes/-/commit/d5d04e3c3fa92fbfd95eced39c3e272b8980563d.patch";
+      hash = "sha256-8YGWJg7+LrPpezW8ubObcFovI5DCVn3gbdH7KDdEeQw=";
+    })
   ];
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
diff --git a/pkgs/development/libraries/kirigami-addons/default.nix b/pkgs/development/libraries/kirigami-addons/default.nix
index fec795c5748f..ec3c19fe31bc 100644
--- a/pkgs/development/libraries/kirigami-addons/default.nix
+++ b/pkgs/development/libraries/kirigami-addons/default.nix
@@ -12,14 +12,14 @@
 
 mkDerivation rec {
   pname = "kirigami-addons";
-  version = "0.6";
+  version = "0.7.2";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "libraries";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-RUu/0O/YRVRsRYeASfW8UQ/Ql2VbLOdVySVo9/hAmLw=";
+    sha256 = "sha256-2s9ShwYd2hOb18WRA2nLst6Q4UBHvFL+g7Grpjclz9I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/ktextaddons/default.nix b/pkgs/development/libraries/ktextaddons/default.nix
new file mode 100644
index 000000000000..b7286e7bea29
--- /dev/null
+++ b/pkgs/development/libraries/ktextaddons/default.nix
@@ -0,0 +1,20 @@
+{ lib, mkDerivation, fetchurl, cmake, extra-cmake-modules, karchive, kconfigwidgets, kcoreaddons, ki18n, kxmlgui, qtkeychain }:
+mkDerivation rec {
+  pname = "ktextaddons";
+  version = "1.1.0";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/${pname}/${pname}-${version}.tar.xz";
+    hash = "sha256-BV1tHCD6kGI5Zj8PRZcEanLi1O7huS+qUijjtePDvik=";
+  };
+
+  nativeBuildInputs = [ cmake extra-cmake-modules ];
+  buildInputs = [ karchive kconfigwidgets kcoreaddons ki18n kxmlgui qtkeychain ];
+
+  meta = with lib; {
+    description = "Various text handling addons for KDE applications";
+    homepage = "https://invent.kde.org/libraries/ktextaddons/";
+    license = licenses.gpl2Plus;
+    maintainers = [];
+  };
+}
diff --git a/pkgs/development/libraries/libgourou/default.nix b/pkgs/development/libraries/libgourou/default.nix
new file mode 100644
index 000000000000..2d1b90675590
--- /dev/null
+++ b/pkgs/development/libraries/libgourou/default.nix
@@ -0,0 +1,48 @@
+{ lib, stdenv, fetchzip, pugixml, updfparser, curl, openssl, libzip
+, installShellFiles }:
+
+stdenv.mkDerivation rec {
+  name = "libgourou";
+  version = "0.8.1";
+
+  src = fetchzip {
+    url = "https://indefero.soutade.fr/p/${name}/source/download/v${version}/";
+    sha256 = "sha256-X56K4z1+k62Q9pxnN8kx35oc7+uJJN/o/tpnKx1FjwE=";
+    extension = "zip";
+  };
+
+  postPatch = ''
+    patchShebangs scripts/setup.sh
+  '';
+
+  postConfigure = ''
+    mkdir lib
+    ln -s ${updfparser}/lib lib/updfparser
+  '';
+
+  nativeBuildInputs = [ installShellFiles ];
+  buildInputs = [ pugixml updfparser curl openssl libzip ];
+
+  makeFlags = [ "BUILD_STATIC=1" "BUILD_SHARED=1" ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dt $out/include include/libgourou*.h
+    install -Dt $out/lib libgourou.so
+    install -Dt $out/lib libgourou.so.${version}
+    install -Dt $out/lib libgourou.a
+    install -Dt $out/bin utils/acsmdownloader
+    install -Dt $out/bin utils/adept_{activate,loan_mgt,remove}
+    installManPage utils/man/*.1
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Implementation of Adobe's ADEPT protocol for ePub/PDF DRM";
+    homepage = "https://indefero.soutade.fr/p/libgourou";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ autumnal ];
+    platforms = platforms.all;
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/development/libraries/libkrun/default.nix b/pkgs/development/libraries/libkrun/default.nix
index c931489057e7..e2d804050689 100644
--- a/pkgs/development/libraries/libkrun/default.nix
+++ b/pkgs/development/libraries/libkrun/default.nix
@@ -15,21 +15,21 @@
 
 stdenv.mkDerivation rec {
   pname = "libkrun";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = if stdenv.isLinux then fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-3WYxGpZ3uRbnh/VEDVSNOxp25SE7GQgC5t3ROuKNRE0=";
+    hash = "sha256-N9AkG+zkjQHNaaCVrEpMfWUN9bQNHjMA2xi5NUulF5A=";
   } else fetchurl {
     url = "https://github.com/containers/libkrun/releases/download/v${version}/v${version}-with_macos_prebuilts.tar.gz";
-    hash = "sha256-T1nYzrzxEJaVBnI00CQPKoT2OYJxdW7y6WNkabNsQYI=";
+    hash = "sha256-8hPbnZtDbiVdwBrtxt4nZ/QA2OFtui2VsQlaoOmWybo=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
-    hash = "sha256-Clb6PNwLuzx42Qr1tgpjG1WHq9NcDr2bbfnyp4UVVLU=";
+    hash = "sha256-nbtp7FP+ObVGfDOEzTt4Z7TZwcNlREczTKIAXGSflZU=";
   };
 
   nativeBuildInputs = with rustPlatform; [
diff --git a/pkgs/development/libraries/libkrunfw/default.nix b/pkgs/development/libraries/libkrunfw/default.nix
index 13090776405a..83f62cdb381d 100644
--- a/pkgs/development/libraries/libkrunfw/default.nix
+++ b/pkgs/development/libraries/libkrunfw/default.nix
@@ -13,28 +13,26 @@
 assert sevVariant -> stdenv.isx86_64;
 stdenv.mkDerivation rec {
   pname = "libkrunfw";
-  version = "3.9.0";
+  version = "3.10.0";
 
   src = if stdenv.isLinux then fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-hpVE7g6V3nquZ3R5fQCcfRWuFDHJ3rgisezwdsDMaGg=";
+    hash = "sha256-yL5D8oOGucLWi4kFPxan5Gq+jIkVSDOW/v1+zKg3G+o=";
   } else fetchurl {
     url = "https://github.com/containers/libkrunfw/releases/download/v${version}/v${version}-with_macos_prebuilts.tar.gz";
-    hash = "sha256-moZ2LYLhZDb8Y8jgWbdgK6SbJ8lY8f356d5vKHc/54Q=";
+    hash = "sha256-Q7n+Og+eAnHSQm7kLUN0uV+CKcdtLBYAgt7Q0+CxEfA=";
   };
 
   kernelSrc = fetchurl {
-    url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.6.tar.xz";
-    hash = "sha256-Pk2OVh2lcDogWujXsr7WxcZPxCme68v9IEgeY7V9XuM=";
+    url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.2.1.tar.xz";
+    hash = "sha256-L8wH4ckOpM4Uj1D5vusNygtuSzeado3oq8ekom8lJTQ=";
   };
 
   preBuild = ''
     substituteInPlace Makefile \
       --replace 'curl $(KERNEL_REMOTE) -o $(KERNEL_TARBALL)' 'ln -s $(kernelSrc) $(KERNEL_TARBALL)' \
-      --replace 'tar xf $(KERNEL_TARBALL)' \
-                'tar xf $(KERNEL_TARBALL); sed -i "s|/usr/bin/env bash|$(SHELL)|" $(KERNEL_SOURCES)/scripts/check-local-export' \
       --replace 'gcc' '$(CC)'
   '';
 
diff --git a/pkgs/development/libraries/liblinear/default.nix b/pkgs/development/libraries/liblinear/default.nix
index f30d4a2d73bd..56d81e0481d0 100644
--- a/pkgs/development/libraries/liblinear/default.nix
+++ b/pkgs/development/libraries/liblinear/default.nix
@@ -1,28 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, fixDarwinDylibNames }:
+{ lib, stdenv, fetchFromGitHub }:
 
 let
-  soVersion = "4";
+  soVersion = "5";
 in stdenv.mkDerivation rec {
   pname = "liblinear";
-  version = "2.43";
+  version = "2.46";
 
   src = fetchFromGitHub {
     owner = "cjlin1";
     repo = "liblinear";
     rev = "v${builtins.replaceStrings ["."] [""] version}";
-    sha256 = "sha256-qcSMuWHJgsapWs1xgxv3fKSXcx18q8cwyIn3E4RCGKA=";
+    sha256 = "sha256-mKd6idfr6mIIDEie8DCS+drtfpgKoS/5UXI0JenTxlA=";
   };
 
-  postPatch = ''
-    substituteInPlace blas/Makefile \
-      --replace "ar rcv" "${stdenv.cc.targetPrefix}ar rcv" \
-      --replace "ranlib" "${stdenv.cc.targetPrefix}ranlib"
-  '';
+  makeFlags = [ "AR=${stdenv.cc.targetPrefix}ar" "RANLIB=${stdenv.cc.targetPrefix}ranlib" ];
 
   outputs = [ "bin" "dev" "out" ];
 
-  nativeBuildInputs = lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
-
   buildFlags = [ "lib" "predict" "train" ];
 
   installPhase = ''
diff --git a/pkgs/development/libraries/libslirp/default.nix b/pkgs/development/libraries/libslirp/default.nix
index 06fb0d41b8bc..9ce3241e8fbb 100644
--- a/pkgs/development/libraries/libslirp/default.nix
+++ b/pkgs/development/libraries/libslirp/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-avUbgXPPV3IhUwZyARxCvctbVlLqDKWmMhAjdVBA3jY=";
   };
 
+  separateDebugInfo = true;
+
   nativeBuildInputs = [ meson ninja pkg-config ];
 
   buildInputs = [ glib ];
diff --git a/pkgs/development/libraries/libsvm/default.nix b/pkgs/development/libraries/libsvm/default.nix
index fbc9bc4d3314..e1f1830b134a 100644
--- a/pkgs/development/libraries/libsvm/default.nix
+++ b/pkgs/development/libraries/libsvm/default.nix
@@ -1,33 +1,49 @@
-{lib, stdenv, fetchurl}:
+{ lib
+, stdenv
+, fetchurl
+, fixDarwinDylibNames
+, llvmPackages
+, withOpenMP ? true
+}:
 
 stdenv.mkDerivation rec {
   pname = "libsvm";
-  version = "3.25";
+  version = "3.31";
 
   src = fetchurl {
     url = "https://www.csie.ntu.edu.tw/~cjlin/libsvm/libsvm-${version}.tar.gz";
-    sha256 = "sha256-UjUOiqdAsXbh13Pp3AjxNAIYw34BvsN6uQ2wEn5LteU=";
+    sha256 = "sha256-AKtWH0jfX8kqhCCa2P5Rmery5Rmzwnm6z8k1l4p1zx8=";
   };
 
-  buildPhase = ''
-    make
-    make lib
-  '';
-
-  installPhase = let
-    libSuff = stdenv.hostPlatform.extensions.sharedLibrary;
-  in ''
-    install -D libsvm.so.2 $out/lib/libsvm.2${libSuff}
-    ln -s $out/lib/libsvm.2${libSuff} $out/lib/libsvm${libSuff}
-    install -Dt $out/bin/ svm-scale svm-train svm-predict
-    install -Dm644 -t $out/include svm.h
-    mkdir $out/include/libsvm
-    ln -s $out/include/svm.h $out/include/libsvm/svm.h
-  '';
-
-  postFixup = lib.optionalString stdenv.isDarwin ''
-    install_name_tool -id libsvm.2.dylib $out/lib/libsvm.2.dylib;
-  '';
+  patches = lib.optionals withOpenMP [ ./openmp.patch ];
+
+  buildInputs = lib.optionals (stdenv.cc.isClang && withOpenMP) [ llvmPackages.openmp ];
+
+  buildFlags = [ "lib" "all" ];
+
+  outputs = [ "out" "bin" "dev" ];
+
+  nativeBuildInputs = lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
+
+  installPhase =
+    let
+      libSuff = stdenv.hostPlatform.extensions.sharedLibrary;
+      soVersion = "3";
+    in
+    ''
+      runHook preInstall
+
+      install -D libsvm.so.${soVersion} $out/lib/libsvm.${soVersion}${libSuff}
+      ln -s $out/lib/libsvm.${soVersion}${libSuff} $out/lib/libsvm${libSuff}
+
+      install -Dt $bin/bin/ svm-scale svm-train svm-predict
+
+      install -Dm644 -t $dev/include svm.h
+      mkdir $dev/include/libsvm
+      ln -s $dev/include/svm.h $dev/include/libsvm/svm.h
+
+      runHook postInstall
+    '';
 
   meta = with lib; {
     description = "A library for support vector machines";
diff --git a/pkgs/development/libraries/libsvm/openmp.patch b/pkgs/development/libraries/libsvm/openmp.patch
new file mode 100644
index 000000000000..b48fbae1f43f
--- /dev/null
+++ b/pkgs/development/libraries/libsvm/openmp.patch
@@ -0,0 +1,13 @@
+--- /Makefile	1970-01-01 01:00:01.000000000 +0100
++++ /Makefile	1970-01-01 01:00:01.000000000 +0100
+@@ -9,8 +9,8 @@
+ endif
+ 
+ # Uncomment the following lines to enable parallelization with OpenMP
+-# CFLAGS += -fopenmp
+-# SHARED_LIB_FLAG += -fopenmp
++CFLAGS += -fopenmp
++SHARED_LIB_FLAG += -fopenmp
+ 
+ all: svm-train svm-predict svm-scale
+ 
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index c74f70892c5f..9a012e401eed 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -22,6 +22,7 @@
 , makeWrapper
 , meson
 , ninja
+, openssh
 , perl
 , perlPackages
 , polkit
@@ -91,6 +92,7 @@ let
     lvm2
     numactl
     numad
+    openssh
     pmutils
     systemd
   ] ++ lib.optionals enableIscsi [
diff --git a/pkgs/development/libraries/llhttp/default.nix b/pkgs/development/libraries/llhttp/default.nix
new file mode 100644
index 000000000000..90f274c9e560
--- /dev/null
+++ b/pkgs/development/libraries/llhttp/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "llhttp";
+  version = "8.1.0";
+
+  src = fetchFromGitHub {
+    owner = "nodejs";
+    repo = "llhttp";
+    rev = "release/v${version}";
+    hash = "sha256-pBGjcT5MiCSJI12TiH1XH5eAzIeylCdP/82L3o38BJo=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeFlags = [
+    "-DBUILD_STATIC_LIBS=ON"
+  ];
+
+  meta = with lib; {
+    description = "Port of http_parser to llparse";
+    homepage = "https://llhttp.org/";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/minixml/default.nix b/pkgs/development/libraries/minixml/default.nix
index ed862eaecfe3..1c9a4ab110b4 100644
--- a/pkgs/development/libraries/minixml/default.nix
+++ b/pkgs/development/libraries/minixml/default.nix
@@ -11,6 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-l7GUA+vlSECi/72eU3Y9COpGtLTRh3vYcHUi+uRkCn8=";
   };
 
+  # remove the -arch flags which are set by default in the build
+  configureFlags = lib.optionals stdenv.isDarwin [
+    "--with-archflags=\"-mmacosx-version-min=10.14\""
+  ];
+
   enableParallelBuilding = true;
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/mysocketw/default.nix b/pkgs/development/libraries/mysocketw/default.nix
deleted file mode 100644
index 880f5d50a042..000000000000
--- a/pkgs/development/libraries/mysocketw/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, fetchpatch
-, fetchurl
-, openssl
-, cmake
-}:
-
-let
-
-  joinpaths-src = fetchurl {
-    url = "https://github.com/AnotherFoxGuy/CMakeCM/raw/afe41f4536ae21f6f11f83e8c0b8b8c450ef1332/modules/JoinPaths.cmake";
-    hash = "sha256-eUsNj6YqO3mMffEtUBFFgNGkeiNL+2tNgwkutkam7MQ=";
-  };
-
-in
-stdenv.mkDerivation rec {
-  pname = "mysocketw";
-  version = "3.11.0";
-
-  src = fetchFromGitHub {
-    owner = "RigsOfRods";
-    repo = "socketw";
-    rev = version;
-    hash = "sha256-mpfhmKE2l59BllkOjmURIfl17lAakXpmGh2x9SFSaAo=";
-  };
-
-  patches = [
-    # in master post 3.11.0, see https://github.com/RigsOfRods/socketw/issues/16
-    (fetchpatch {
-      name = "fix-pkg-config.patch";
-      url = "https://github.com/RigsOfRods/socketw/commit/17cad062c3673bd0da74a2fecadb01dbf9813a07.patch";
-      sha256 = "01b019gfm01g0r1548cizrf7mqigsda8jnrzhg8dhi9c49nfw1bp";
-    })
-  ];
-
-  nativeBuildInputs = [
-    cmake
-  ];
-
-  buildInputs = [
-    openssl
-  ];
-
-  postUnpack = ''(
-    mkdir -p source/build/_cmcm-modules/resolved && cd $_
-    cp ${joinpaths-src} JoinPaths.cmake
-    printf %s 'https://AnotherFoxGuy.com/CMakeCM::modules/JoinPaths.cmake.1' > JoinPaths.cmake.whence
-  )'';
-
-  meta = with lib; {
-    description = "Cross platform (Linux/FreeBSD/Unix/Win32) streaming socket C++";
-    homepage = "https://github.com/RigsOfRods/socketw";
-    license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/mysocketw/gcc.patch b/pkgs/development/libraries/mysocketw/gcc.patch
deleted file mode 100644
index 7779a18fa528..000000000000
--- a/pkgs/development/libraries/mysocketw/gcc.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-I picked it up from:
-http://www.rigsofrods.com/wiki/images/c/c0/Socketw.patch
-
---- a/src/sw_base.cxx.old	2009-12-19 21:19:31.057051328 -0800
-+++ b/src/sw_base.cxx	2009-12-19 21:19:44.939551918 -0800
-@@ -19,6 +19,7 @@
- #include <time.h>
- #include <stdio.h>
- #include <string.h>
-+#include <stdlib.h>
- 
- #ifndef __WIN32__
-   #include <netdb.h>
diff --git a/pkgs/development/libraries/nco/default.nix b/pkgs/development/libraries/nco/default.nix
index 46861f216c88..0a8e31273431 100644
--- a/pkgs/development/libraries/nco/default.nix
+++ b/pkgs/development/libraries/nco/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nco";
-  version = "5.1.4";
+  version = "5.1.5";
 
   src = fetchFromGitHub {
     owner = "nco";
     repo = "nco";
     rev = version;
-    sha256 = "sha256-M2GP92SIs4B92Re8McGKIIjQJ+qXAr/TwDtFKcH/zsk=";
+    sha256 = "sha256-L1aAACWDVrPdl8IHSpch3l8EhdjAxOcUAZchKMYKWqY=";
   };
 
   nativeBuildInputs = [ flex which antlr2 ];
diff --git a/pkgs/development/libraries/ogre/1.9.x.nix b/pkgs/development/libraries/ogre/1.9.x.nix
deleted file mode 100644
index 7548ed48e7ae..000000000000
--- a/pkgs/development/libraries/ogre/1.9.x.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ fetchFromGitHub, stdenv, lib
-, cmake, libGLU, libGL
-, freetype, freeimage, zziplib, xorgproto, libXrandr
-, libXaw, freeglut, libXt, libpng, boost, ois
-, libX11, libXmu, libSM, pkg-config
-, libXxf86vm, libICE
-, libXrender
-, withNvidiaCg ? false, nvidia_cg_toolkit
-, withSamples ? false }:
-
-stdenv.mkDerivation rec {
-  pname = "ogre";
-  version = "1.9.1";
-
-  src = fetchFromGitHub {
-    owner = "OGRECave";
-    repo = "ogre";
-    rev = "v${version}";
-    sha256 = "11lfgzqaps3728dswrq3cbwk7aicigyz08q4hfyy6ikc6m35r4wg";
-  };
-
-  # fix for ARM. sys/sysctl.h has moved in later glibcs, and
-  # https://github.com/OGRECave/ogre-next/issues/132 suggests it isn't
-  # needed anyway.
-  postPatch = ''
-    substituteInPlace OgreMain/src/OgrePlatformInformation.cpp \
-      --replace '#include <sys/sysctl.h>' ""
-  '';
-
-  cmakeFlags = [ "-DOGRE_BUILD_SAMPLES=${toString withSamples}" ]
-    ++ map (x: "-DOGRE_BUILD_PLUGIN_${x}=on")
-           ([ "BSP" "OCTREE" "PCZ" "PFX" ] ++ lib.optional withNvidiaCg "CG")
-    ++ map (x: "-DOGRE_BUILD_RENDERSYSTEM_${x}=on") [ "GL" ];
-
-
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs =
-   [ libGLU libGL
-     freetype freeimage zziplib xorgproto libXrandr
-     libXaw freeglut libXt libpng boost ois
-     libX11 libXmu libSM
-     libXxf86vm libICE
-     libXrender
-   ] ++ lib.optional withNvidiaCg nvidia_cg_toolkit;
-
-  meta = {
-    description = "A 3D engine";
-    homepage = "https://www.ogre3d.org/";
-    maintainers = [ lib.maintainers.raskin ];
-    platforms = lib.platforms.linux;
-    license = lib.licenses.mit;
-  };
-}
diff --git a/pkgs/development/libraries/ogrepaged/default.nix b/pkgs/development/libraries/ogrepaged/default.nix
deleted file mode 100644
index 8209d32f759a..000000000000
--- a/pkgs/development/libraries/ogrepaged/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, ois, ogre, libX11, boost }:
-
-stdenv.mkDerivation rec {
-  pname = "ogre-paged";
-  version = "1.2.0";
-
-  src = fetchFromGitHub {
-    owner = "RigsOfRods";
-    repo = "ogre-pagedgeometry";
-    rev = "v${version}";
-    sha256 = "sha256-EwtTV8cbhDv0Bgj7i3qgq4hLETwd5B2GFEegwozlY9U=";
-  };
-
-  patches = [
-    # These patches come from https://github.com/RigsOfRods/ogre-pagedgeometry/pull/6
-    # and make ogre-paged build with ogre-1.10.
-    (fetchpatch {
-      url = "https://github.com/RigsOfRods/ogre-pagedgeometry/commit/2d4df577decba37ec3cdafc965deae0f6d31fe45.patch";
-      sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
-    })
-    (fetchpatch {
-      url = "https://github.com/RigsOfRods/ogre-pagedgeometry/commit/4d81789ec6f55e294a5ad040ea7abe2b415cbc92.patch";
-      sha256 = "17q8djdz2y3g46azxc3idhyvi6vf0sqkxld4bbyp3l9zn7dq76rp";
-    })
-    (fetchpatch {
-      url = "https://github.com/RigsOfRods/ogre-pagedgeometry/commit/10f7c5ce5b422e9cbac59d466f3567a24c8831a4.patch";
-      sha256 = "1kk0dbadzg73ai99l3w04q51sil36vzbkaqc79mdwy0vjrn4ardb";
-    })
-  ];
-
-  buildInputs = [ ois ogre libX11 boost ];
-  nativeBuildInputs = [ cmake pkg-config ];
-
-  cmakeFlags = [ "-DPAGEDGEOMETRY_BUILD_SAMPLES=OFF" ];
-
-  meta = {
-    description = "Paged Geometry for Ogre3D";
-    homepage = "https://github.com/RigsOfRods/ogre-paged";
-    license = lib.licenses.mit;
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 1a9a5deb0d9a..e9a0fece56fc 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, gfortran, perl, libnl
+{ lib, stdenv, fetchurl, gfortran, perl, libnl
 , rdma-core, zlib, numactl, libevent, hwloc, targetPackages, symlinkJoin
 , libpsm2, libfabric, pmix, ucx
 
@@ -25,21 +25,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "openmpi";
-  version = "4.1.4";
+  version = "4.1.5";
 
   src = with lib.versions; fetchurl {
     url = "https://www.open-mpi.org/software/ompi/v${major version}.${minor version}/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "03ckngrff1cl0l81vfvrfhp99rbgk7s0633kr1l468yibwbjx4cj";
+    sha256 = "sha256-pkCYa8JXOJ3TeYhv2uYmTIz6VryYtxzjrj372M5h2+M=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "RDMA-osc-perform-CAS-in-shared-memory-if-possible.patch";
-      url = "https://github.com/open-mpi/ompi/pull/10513/commits/0512c135a77a0278e5288e0e119dce24c95ebed4.patch";
-      sha256 = "sha256-K1Gc+hBUkTPY1WqLP6JWo623EUhkoL4ONrqPVDNfFuE=";
-    })
-  ];
-
   postPatch = ''
     patchShebangs ./
 
diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix
index 3a6a7b57c40f..891c5121b0e7 100644
--- a/pkgs/development/libraries/openscenegraph/default.nix
+++ b/pkgs/development/libraries/openscenegraph/default.nix
@@ -23,7 +23,7 @@
   sdlSupport ? false, SDL2,
   restSupport ? false, asio,
   withApps ? false,
-  withExamples ? false, fltk, wxGTK30,
+  withExamples ? false, fltk,
 }:
 
 stdenv.mkDerivation rec {
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional luaSupport lua
     ++ lib.optional sdlSupport SDL2
     ++ lib.optional restSupport asio
-    ++ lib.optionals withExamples [ fltk wxGTK30 ]
+    ++ lib.optionals withExamples [ fltk ]
     ++ lib.optionals stdenv.isDarwin [ AGL Carbon Cocoa Foundation ]
     ++ lib.optional (restSupport || colladaSupport) boost
   ;
diff --git a/pkgs/development/libraries/physics/geant4/default.nix b/pkgs/development/libraries/physics/geant4/default.nix
index 58fc0c07cd5b..4e635a08414b 100644
--- a/pkgs/development/libraries/physics/geant4/default.nix
+++ b/pkgs/development/libraries/physics/geant4/default.nix
@@ -47,12 +47,12 @@ in
 lib.warnIf (enableQT != false) "geant4: enableQT is deprecated, please use enableQt"
 
 stdenv.mkDerivation rec {
-  version = "11.0.3";
+  version = "11.0.4";
   pname = "geant4";
 
-  src = fetchurl{
+  src = fetchurl {
     url = "https://cern.ch/geant4-data/releases/geant4-v${version}.tar.gz";
-    hash = "sha256-cvi2h1EtbmMNxsZMXEG6cRIgRoVAEymZ0A5PzhkIrkg=";
+    hash = "sha256-4wofoo0vLPd8/9CFY8EonpL8R9mcg5Wa9H/ve9UDSyc=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/proj/default.nix b/pkgs/development/libraries/proj/default.nix
index e6675ae99507..5e063b59f3de 100644
--- a/pkgs/development/libraries/proj/default.nix
+++ b/pkgs/development/libraries/proj/default.nix
@@ -17,22 +17,18 @@
 
 stdenv.mkDerivation (finalAttrs: rec {
   pname = "proj";
-  version = "9.1.1";
+  version = "9.2.0";
 
   src = fetchFromGitHub {
     owner = "OSGeo";
     repo = "PROJ";
     rev = version;
-    hash = "sha256-yw7eSm64qFFt9egJWKVyVo0e7xQRSmfUY7pk6Cwvwdk=";
+    hash = "sha256-NC5H7ufIXit+PVDwNDhz5cv44fduTytsdmNOWyqDDYQ=";
   };
 
   patches = [
     # https://github.com/OSGeo/PROJ/pull/3252
-    (fetchpatch {
-      name = "only-add-find_dependencyCURL-for-static-builds.patch";
-      url = "https://github.com/OSGeo/PROJ/commit/11f4597bbb7069bd5d4391597808703bd96df849.patch";
-      hash = "sha256-4w5Cu2m5VJZr6E2dUVRyWJdED2TyS8cI8G20EwfQ4u0=";
-    })
+    ./only-add-curl-for-static-builds.patch
   ];
 
   outputs = [ "out" "dev" ];
@@ -68,6 +64,7 @@ stdenv.mkDerivation (finalAttrs: rec {
   };
 
   meta = with lib; {
+    changelog = "https://github.com/OSGeo/PROJ/blob/${src.rev}/docs/source/news.rst";
     description = "Cartographic Projections Library";
     homepage = "https://proj.org/";
     license = licenses.mit;
diff --git a/pkgs/development/libraries/proj/only-add-curl-for-static-builds.patch b/pkgs/development/libraries/proj/only-add-curl-for-static-builds.patch
new file mode 100644
index 000000000000..2997edd8957a
--- /dev/null
+++ b/pkgs/development/libraries/proj/only-add-curl-for-static-builds.patch
@@ -0,0 +1,55 @@
+From 831063f8206cab1ad3e90b204a1c3f8c87c3d5cc Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Tue, 5 Jul 2022 19:40:53 +0200
+Subject: [PATCH] proj-config.cmake generation: only add find_dependency(CURL)
+ for static builds
+
+---
+ cmake/project-config.cmake.in | 30 +++++++++++++++++-------------
+ 1 file changed, 17 insertions(+), 13 deletions(-)
+
+diff --git a/cmake/project-config.cmake.in b/cmake/project-config.cmake.in
+index 40dbaaa2..c1ecd601 100644
+--- a/cmake/project-config.cmake.in
++++ b/cmake/project-config.cmake.in
+@@ -15,20 +15,24 @@ include(CMakeFindDependencyMacro)
+ 
+ cmake_policy(PUSH)
+ cmake_policy(SET CMP0012 NEW)
+-if("@ENABLE_TIFF@")
+-    find_dependency(TIFF)
++if(NOT "@BUILD_SHARED_LIBS@")
++    if("@ENABLE_TIFF@")
++        find_dependency(TIFF)
++    endif()
+ endif()
+-if("@CURL_ENABLED@")
+-  # Chainload CURL usage requirements
+-  find_dependency(CURL)
+-  # Target CURL::libcurl only defined since CMake 3.12
+-  if(NOT TARGET CURL::libcurl)
+-      add_library(CURL::libcurl INTERFACE IMPORTED)
+-      set_target_properties(CURL::libcurl PROPERTIES
+-        INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}"
+-        INTERFACE_LINK_LIBRARIES      "${CURL_LIBRARIES}"
+-      )
+-  endif()
++if(NOT "@BUILD_SHARED_LIBS@")
++    if("@CURL_ENABLED@")
++      # Chainload CURL usage requirements
++      find_dependency(CURL)
++      # Target CURL::libcurl only defined since CMake 3.12
++      if(NOT TARGET CURL::libcurl)
++          add_library(CURL::libcurl INTERFACE IMPORTED)
++          set_target_properties(CURL::libcurl PROPERTIES
++            INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIRS}"
++            INTERFACE_LINK_LIBRARIES      "${CURL_LIBRARIES}"
++          )
++      endif()
++    endif()
+ endif()
+ cmake_policy(POP)
+ 
+-- 
+2.39.2
+
diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix
index 2577806b5c43..f0cfc91ac014 100644
--- a/pkgs/development/libraries/qt-6/default.nix
+++ b/pkgs/development/libraries/qt-6/default.nix
@@ -59,6 +59,7 @@ let
           ./patches/qtbase-qmake-mkspecs-mac.patch
           ./patches/qtbase-qmake-pkg-config.patch
           ./patches/qtbase-tzdir.patch
+          ./patches/qtbase-variable-fonts.patch
           # Remove symlink check causing build to bail out and fail.
           # https://gitlab.kitware.com/cmake/cmake/-/issues/23251
           (fetchpatch {
diff --git a/pkgs/development/libraries/qt-6/patches/qtbase-variable-fonts.patch b/pkgs/development/libraries/qt-6/patches/qtbase-variable-fonts.patch
new file mode 100644
index 000000000000..96952d1ad160
--- /dev/null
+++ b/pkgs/development/libraries/qt-6/patches/qtbase-variable-fonts.patch
@@ -0,0 +1,26 @@
+From 9ba9c690fb16188ff524b53def104e68e45cf5c3 Mon Sep 17 00:00:00 2001
+From: Nick Cao <nickcao@nichi.co>
+Date: Tue, 21 Mar 2023 15:48:49 +0800
+Subject: [PATCH] Deal with a font face at index 0 as Regular for Variable
+ fonts
+
+Reference: https://bugreports.qt.io/browse/QTBUG-111994
+---
+ src/gui/text/unix/qfontconfigdatabase.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/gui/text/unix/qfontconfigdatabase.cpp b/src/gui/text/unix/qfontconfigdatabase.cpp
+index 9b60cf2963..5a42ef6a68 100644
+--- a/src/gui/text/unix/qfontconfigdatabase.cpp
++++ b/src/gui/text/unix/qfontconfigdatabase.cpp
+@@ -554,6 +554,7 @@ void QFontconfigDatabase::populateFontDatabase()
+             FcObjectSetAdd(os, *p);
+             ++p;
+         }
++        FcPatternAddBool(pattern, FC_VARIABLE, FcFalse);
+         fonts = FcFontList(nullptr, pattern, os);
+         FcObjectSetDestroy(os);
+         FcPatternDestroy(pattern);
+-- 
+2.39.2
+
diff --git a/pkgs/development/libraries/s2n-tls/default.nix b/pkgs/development/libraries/s2n-tls/default.nix
index ddf4257afeee..3484e98bfbaf 100644
--- a/pkgs/development/libraries/s2n-tls/default.nix
+++ b/pkgs/development/libraries/s2n-tls/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s2n-tls";
-  version = "1.3.37";
+  version = "1.3.39";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-NqOr2R61s4aUjHWI2QkyLpxUm/+c4vkAUg+UDduu3j4=";
+    sha256 = "sha256-2vMEzHgwvcjHJZ4eloAWv1ioUXAatGfHT9OEclwKB3A=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/science/math/magma/generic.nix b/pkgs/development/libraries/science/math/magma/generic.nix
index 6ab68e297c2c..49efda96829c 100644
--- a/pkgs/development/libraries/science/math/magma/generic.nix
+++ b/pkgs/development/libraries/science/math/magma/generic.nix
@@ -35,7 +35,7 @@
 
 let
   inherit (lib) lists strings trivial;
-  inherit (cudaPackages) cudatoolkit cudaFlags cudaVersion;
+  inherit (cudaPackages) backendStdenv cudaFlags cudaVersion;
   inherit (magmaRelease) version hash supportedGpuTargets;
 
   # NOTE: The lists.subtractLists function is perhaps a bit unintuitive. It subtracts the elements
@@ -80,26 +80,33 @@ let
   cudaArchitecturesString = strings.concatStringsSep ";" cudaArchitectures;
   minArch =
     let
-      minArch' = builtins.head (builtins.sort builtins.lessThan cudaArchitectures);
+      minArch' = builtins.head (builtins.sort strings.versionOlder cudaArchitectures);
     in
-    # If this fails some day, something must've changed and we should re-validate our assumptions
-    assert builtins.stringLength minArch' == 2;
     # "75" -> "750"  Cf. https://bitbucket.org/icl/magma/src/f4ec79e2c13a2347eff8a77a3be6f83bc2daec20/CMakeLists.txt#lines-273
     "${minArch'}0";
 
+  cuda-common-redist = with cudaPackages; [
+    libcublas # cublas_v2.h
+    libcusparse # cusparse.h
+  ];
 
-  cuda_joined = symlinkJoin {
-    name = "cuda-redist-${cudaVersion}";
+  # Build-time dependencies
+  cuda-native-redist = symlinkJoin {
+    name = "cuda-native-redist-${cudaVersion}";
     paths = with cudaPackages; [
-      cuda_nvcc
       cuda_cudart # cuda_runtime.h
-      libcublas
-      libcusparse
+      cuda_nvcc
     ] ++ lists.optionals (strings.versionOlder cudaVersion "11.8") [
       cuda_nvprof # <cuda_profiler_api.h>
     ] ++ lists.optionals (strings.versionAtLeast cudaVersion "11.8") [
       cuda_profiler_api # <cuda_profiler_api.h>
-    ];
+    ] ++ cuda-common-redist;
+  };
+
+  # Run-time dependencies
+  cuda-redist = symlinkJoin {
+    name = "cuda-redist-${cudaVersion}";
+    paths = cuda-common-redist;
   };
 in
 
@@ -119,6 +126,8 @@ stdenv.mkDerivation {
     cmake
     ninja
     gfortran
+  ] ++ lists.optionals cudaSupport [
+    cuda-native-redist
   ];
 
   buildInputs = [
@@ -126,7 +135,7 @@ stdenv.mkDerivation {
     lapack
     blas
   ] ++ lists.optionals cudaSupport [
-    cuda_joined
+    cuda-redist
   ] ++ lists.optionals rocmSupport [
     hip
     hipblas
@@ -139,8 +148,8 @@ stdenv.mkDerivation {
   ] ++ lists.optionals cudaSupport [
     "-DCMAKE_CUDA_ARCHITECTURES=${cudaArchitecturesString}"
     "-DMIN_ARCH=${minArch}" # Disarms magma's asserts
-    "-DCMAKE_C_COMPILER=${cudatoolkit.cc}/bin/cc"
-    "-DCMAKE_CXX_COMPILER=${cudatoolkit.cc}/bin/c++"
+    "-DCMAKE_C_COMPILER=${backendStdenv.cc}/bin/cc"
+    "-DCMAKE_CXX_COMPILER=${backendStdenv.cc}/bin/c++"
     "-DMAGMA_ENABLE_CUDA=ON"
   ] ++ lists.optionals rocmSupport [
     "-DCMAKE_C_COMPILER=${hip}/bin/hipcc"
@@ -148,13 +157,6 @@ stdenv.mkDerivation {
     "-DMAGMA_ENABLE_HIP=ON"
   ];
 
-  # NOTE: The stdenv's CXX is used when compiling the CMake test to determine the version of
-  #   CUDA available. This isn't necessarily the same as cudatoolkit.cc, so we must set
-  #   CUDAHOSTCXX.
-  preConfigure = strings.optionalString cudaSupport ''
-    export CUDAHOSTCXX=${cudatoolkit.cc}/bin/c++
-  '';
-
   buildFlags = [
     "magma"
     "magma_sparse"
@@ -171,7 +173,7 @@ stdenv.mkDerivation {
     license = licenses.bsd3;
     homepage = "http://icl.cs.utk.edu/magma/index.html";
     platforms = platforms.unix;
-    maintainers = with maintainers; [ tbenst ];
+    maintainers = with maintainers; [ connorbaker ];
     # CUDA and ROCm are mutually exclusive
     broken = cudaSupport && rocmSupport || cudaSupport && strings.versionOlder cudaVersion "9";
   };
diff --git a/pkgs/development/libraries/science/math/mkl/default.nix b/pkgs/development/libraries/science/math/mkl/default.nix
index 9becf229c9ef..d6bc1050c5c5 100644
--- a/pkgs/development/libraries/science/math/mkl/default.nix
+++ b/pkgs/development/libraries/science/math/mkl/default.nix
@@ -139,6 +139,9 @@ in stdenvNoCC.mkDerivation ({
 
     # Headers
     cp -r opt/intel/oneapi/mkl/${mklVersion}/include $out/
+
+    # CMake config
+    cp -r opt/intel/oneapi/mkl/${mklVersion}/lib/cmake $out/lib
   '' +
     (if enableStatic then ''
       install -Dm0644 -t $out/lib opt/intel/oneapi/mkl/${mklVersion}/lib/intel64/*.a
diff --git a/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix b/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix
new file mode 100644
index 000000000000..ef501dfd09a0
--- /dev/null
+++ b/pkgs/development/libraries/science/math/tiny-cuda-nn/default.nix
@@ -0,0 +1,152 @@
+{ cmake
+, cudaPackages
+, fetchFromGitHub
+, lib
+, ninja
+, pkgs
+, python3Packages ? { }
+, pythonSupport ? false
+, stdenv
+, symlinkJoin
+, which
+}:
+let
+  inherit (lib) lists strings;
+  inherit (cudaPackages) backendStdenv cudaFlags;
+
+  cuda-common-redist = with cudaPackages; [
+    libcublas # cublas_v2.h
+    libcusolver # cusolverDn.h
+    libcusparse # cusparse.h
+  ];
+
+  cuda-native-redist = symlinkJoin {
+    name = "cuda-redist";
+    paths = with cudaPackages; [
+      cuda_cudart # cuda_runtime.h
+      cuda_nvcc
+    ] ++ cuda-common-redist;
+  };
+
+  cuda-redist = symlinkJoin {
+    name = "cuda-redist";
+    paths = cuda-common-redist;
+  };
+in
+stdenv.mkDerivation (finalAttrs: {
+  name = "tiny-cuda-nn";
+  version = "1.6";
+
+  format = strings.optionalString pythonSupport "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "NVlabs";
+    repo = finalAttrs.name;
+    rev = "v${finalAttrs.version}";
+    fetchSubmodules = true;
+    hash = "sha256-qW6Fk2GB71fvZSsfu+mykabSxEKvaikZ/pQQZUycOy0=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    cuda-native-redist
+    ninja
+    which
+  ] ++ lists.optionals pythonSupport (with python3Packages; [
+    pip
+    setuptools
+    wheel
+  ]);
+
+  buildInputs = [
+    cuda-redist
+  ] ++ lib.optionals pythonSupport (
+    with python3Packages; [
+      pybind11
+      python
+    ]
+  );
+
+  propagatedBuildInputs = lib.optionals pythonSupport (
+    with python3Packages; [
+      torch
+    ]
+  );
+
+  # NOTE: We cannot use pythonImportsCheck for this module because it uses torch to immediately
+  #   initailize CUDA and GPU access is not allowed in the nix build environment.
+  # NOTE: There are no tests for the C++ library or the python bindings, so we just skip the check
+  #   phase -- we're not missing anything.
+  doCheck = false;
+
+  preConfigure = ''
+    export TCNN_CUDA_ARCHITECTURES=${
+      strings.concatStringsSep ";" (lists.map cudaFlags.dropDot cudaFlags.cudaCapabilities)
+    }
+    export CUDA_HOME=${cuda-native-redist}
+    export LIBRARY_PATH=${cuda-native-redist}/lib/stubs:$LIBRARY_PATH
+    export CC=${backendStdenv.cc}/bin/cc
+    export CXX=${backendStdenv.cc}/bin/c++
+  '';
+
+  # When building the python bindings, we cannot re-use the artifacts from the C++ build so we
+  # skip the CMake confurePhase and the buildPhase.
+  dontUseCmakeConfigure = pythonSupport;
+
+  # The configurePhase usually puts you in the build directory, so for the python bindings we
+  # need to change directories to the source directory.
+  configurePhase = strings.optionalString pythonSupport ''
+    runHook preConfigure
+    mkdir -p $NIX_BUILD_TOP/build
+    cd $NIX_BUILD_TOP/build
+    runHook postConfigure
+  '';
+
+  buildPhase = strings.optionalString pythonSupport ''
+    runHook preBuild
+    python -m pip wheel \
+      --no-build-isolation \
+      --no-clean \
+      --no-deps \
+      --no-index \
+      --verbose \
+      --wheel-dir $NIX_BUILD_TOP/build \
+      $NIX_BUILD_TOP/source/bindings/torch
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/lib
+  ''
+  # Installing the C++ library just requires copying the static library to the output directory
+  + strings.optionalString (!pythonSupport) ''
+    cp libtiny-cuda-nn.a $out/lib/
+  ''
+  # Installing the python bindings requires building the wheel and installing it
+  + strings.optionalString pythonSupport ''
+    python -m pip install \
+      --no-build-isolation \
+      --no-cache-dir \
+      --no-deps \
+      --no-index \
+      --no-warn-script-location \
+      --prefix="$out" \
+      --verbose \
+      ./*.whl
+  '' + ''
+    runHook postInstall
+  '';
+
+  passthru = {
+    inherit cudaPackages;
+  };
+
+  meta = with lib; {
+    description = "Lightning fast C++/CUDA neural network framework";
+    homepage = "https://github.com/NVlabs/tiny-cuda-nn";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ connorbaker ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/development/libraries/timezonemap/default.nix b/pkgs/development/libraries/timezonemap/default.nix
index ae8c956d88cd..25efaa6518c6 100644
--- a/pkgs/development/libraries/timezonemap/default.nix
+++ b/pkgs/development/libraries/timezonemap/default.nix
@@ -1,6 +1,8 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , autoreconfHook
 , fetchbzr
+, fetchpatch
 , pkg-config
 , gtk3
 , glib
@@ -20,6 +22,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-wCJXwgnN+aZVerjQCm8oT3xIcwmc4ArcEoCh9pMrt+E=";
   };
 
+  patches = [
+    # Fix crashes when running in GLib 2.76
+    # https://bugs.launchpad.net/ubuntu/+source/libtimezonemap/+bug/2012116
+    (fetchpatch {
+      url = "https://git.launchpad.net/ubuntu/+source/libtimezonemap/plain/debian/patches/timezone-map-Never-try-to-access-to-free-d-or-null-values.patch?id=88f72f724e63df061204f6818c9a1e7d8c003e29";
+      sha256 = "sha256-M5eR0uaqpJOeW2Ya1Al+3ZciXukzHpnjJTMVvdO0dPE=";
+    })
+  ];
+
   nativeBuildInputs = [
     pkg-config
     autoreconfHook
diff --git a/pkgs/development/libraries/ucx/default.nix b/pkgs/development/libraries/ucx/default.nix
index b7c76434392f..aa3b59faef63 100644
--- a/pkgs/development/libraries/ucx/default.nix
+++ b/pkgs/development/libraries/ucx/default.nix
@@ -1,7 +1,9 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, doxygen
-, numactl, rdma-core, libbfd, libiberty, perl, zlib, symlinkJoin
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, doxygen, numactl
+, rdma-core, libbfd, libiberty, perl, zlib, symlinkJoin, pkg-config
 , enableCuda ? false
 , cudatoolkit
+, enableRocm ? false
+, rocm-core, rocm-runtime, rocm-device-libs, hip
 }:
 
 let
@@ -10,29 +12,24 @@ let
     inherit (cudatoolkit) name meta;
     paths = [ cudatoolkit cudatoolkit.lib ];
   };
+  rocm = symlinkJoin {
+    name = "rocm";
+    paths = [ rocm-core rocm-runtime rocm-device-libs hip ];
+  };
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "ucx";
-  version = "1.13.1";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "openucx";
     repo = "ucx";
     rev = "v${version}";
-    sha256 = "sha256-NhtN8xrHc6UnUrMbq9LHpb25JO+/LDGcLLGebCfGnv4=";
+    sha256 = "sha256-OSYeJfMi57KABt8l3Yj0glqx54C5cwM2FqlijszJIk4=";
   };
 
-  patches = [
-    # Pull upstream fix for binutils-2.39:
-    #   https://github.com/openucx/ucx/pull/8450
-    (fetchpatch {
-      name = "binutils-2.39.patch";
-      url = "https://github.com/openucx/ucx/commit/6b6128efd416831cec3a1820f7d1c8e648b79448.patch";
-      sha256 = "sha256-ci00nZG8iOUEFXbmgr/5XkIfiw4eAAdG1wcEYjQSiT8=";
-    })
-  ];
-
-  nativeBuildInputs = [ autoreconfHook doxygen ];
+  nativeBuildInputs = [ autoreconfHook doxygen pkg-config ];
 
   buildInputs = [
     libbfd
@@ -41,7 +38,8 @@ in stdenv.mkDerivation rec {
     perl
     rdma-core
     zlib
-  ] ++ lib.optional enableCuda cudatoolkit;
+  ] ++ lib.optional enableCuda cudatoolkit
+  ++ lib.optional enableRocm [ rocm-core rocm-runtime rocm-device-libs hip ];
 
   configureFlags = [
     "--with-rdmacm=${rdma-core}"
@@ -49,7 +47,8 @@ in stdenv.mkDerivation rec {
     "--with-rc"
     "--with-dm"
     "--with-verbs=${rdma-core}"
-  ] ++ lib.optional enableCuda "--with-cuda=${cudatoolkit'}";
+  ] ++ lib.optional enableCuda "--with-cuda=${cudatoolkit'}"
+  ++ lib.optional enableRocm "--with-rocm=${rocm}";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/updfparser/default.nix b/pkgs/development/libraries/updfparser/default.nix
new file mode 100644
index 000000000000..1eae1782b77c
--- /dev/null
+++ b/pkgs/development/libraries/updfparser/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  name = "updfparser";
+  version = "unstable-2023-01-10";
+  rev = "a421098092ba600fb1686a7df8fc58cd67429f59";
+
+  src = fetchzip {
+    url = "https://indefero.soutade.fr/p/updfparser/source/download/${rev}/";
+    sha256 = "sha256-Kt1QDj7E0GaT615kJW2MQKF9BeU5U7/95TQKODpxgNI=";
+    extension = "zip";
+  };
+
+  makeFlags = [ "BUILD_STATIC=1" "BUILD_SHARED=1" ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dt $out/include include/*.h
+    install -Dt $out/lib libupdfparser.so
+    install -Dt $out/lib libupdfparser.a
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A very simple PDF parser";
+    homepage = "https://indefero.soutade.fr/p/updfparser";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ autumnal ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix
index bb764d641436..20b809560e89 100644
--- a/pkgs/development/libraries/wayland/default.nix
+++ b/pkgs/development/libraries/wayland/default.nix
@@ -9,6 +9,7 @@
 , expat
 , libxml2
 , withLibraries ? stdenv.isLinux
+, withTests ? stdenv.isLinux
 , libffi
 , withDocumentation ? withLibraries && stdenv.hostPlatform == stdenv.buildPlatform
 , graphviz-nox
@@ -24,6 +25,9 @@
 # Documentation is only built when building libraries.
 assert withDocumentation -> withLibraries;
 
+# Tests are only built when building libraries.
+assert withTests -> withLibraries;
+
 let
   isCross = stdenv.buildPlatform != stdenv.hostPlatform;
 in
@@ -50,7 +54,7 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Ddocumentation=${lib.boolToString withDocumentation}"
     "-Dlibraries=${lib.boolToString withLibraries}"
-    "-Dtests=${lib.boolToString withLibraries}"
+    "-Dtests=${lib.boolToString withTests}"
   ];
 
   depsBuildBuild = [
diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix
index f9dc3c4e8073..429fae7feb36 100644
--- a/pkgs/development/libraries/wayland/protocols.nix
+++ b/pkgs/development/libraries/wayland/protocols.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
   pname = "wayland-protocols";
   version = "1.31";
 
-  doCheck = stdenv.hostPlatform == stdenv.buildPlatform && wayland.withLibraries;
+  # https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/48
+  doCheck = stdenv.hostPlatform == stdenv.buildPlatform && stdenv.targetPlatform.linker == "bfd" && wayland.withLibraries;
 
   src = fetchurl {
     url = "https://gitlab.freedesktop.org/wayland/${pname}/-/releases/${version}/downloads/${pname}-${version}.tar.xz";
diff --git a/pkgs/development/libraries/wxsqlite3/default.nix b/pkgs/development/libraries/wxsqlite3/default.nix
index f09b5277d6a1..10b5558589a6 100644
--- a/pkgs/development/libraries/wxsqlite3/default.nix
+++ b/pkgs/development/libraries/wxsqlite3/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wxsqlite3";
-  version = "4.9.2";
+  version = "4.9.3";
 
   src = fetchFromGitHub {
     owner = "utelle";
     repo = "wxsqlite3";
     rev = "v${version}";
-    hash = "sha256-LYQky0tIzZrxroa4korlE+RK2MJTVLgw3T2kGZOyY2s=";
+    hash = "sha256-HdsPCdZF1wMTGYFaXzq+f4bUFjgCAklsKhhdyMKaxp8=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/wxwidgets/wxGTK30.nix b/pkgs/development/libraries/wxwidgets/wxGTK30.nix
deleted file mode 100644
index b60e1f486dc8..000000000000
--- a/pkgs/development/libraries/wxwidgets/wxGTK30.nix
+++ /dev/null
@@ -1,146 +0,0 @@
-{ lib
-, stdenv
-, expat
-, fetchFromGitHub
-, gst_all_1
-, gtk3
-, libGL
-, libGLU
-, libSM
-, libXinerama
-, libXxf86vm
-, libpng
-, libtiff
-, libjpeg_turbo
-, zlib
-, pkg-config
-, xorgproto
-, compat26 ? false
-, compat28 ? true
-, unicode ? true
-, withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, withWebKit ? false
-, webkitgtk
-, setfile
-, AGL
-, Carbon
-, Cocoa
-, Kernel
-, QTKit
-, AVFoundation
-, AVKit
-, WebKit
-}:
-
-stdenv.mkDerivation rec {
-  pname = "wxwidgets";
-  version = "3.0.5.1";
-
-  src = fetchFromGitHub {
-    owner = "wxWidgets";
-    repo = "wxWidgets";
-    rev = "v${version}";
-    hash = "sha256-I91douzXDAfDgm4Pplf17iepv4vIRhXZDRFl9keJJq0=";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [
-    gst_all_1.gst-plugins-base
-    gst_all_1.gstreamer
-    libpng
-    libtiff
-    libjpeg_turbo
-    zlib
-  ] ++ lib.optionals stdenv.isLinux [
-    gtk3
-    libSM
-    libXinerama
-    libXxf86vm
-    xorgproto
-  ]
-  ++ lib.optional withMesa libGLU
-  ++ lib.optional (withWebKit && stdenv.isLinux) webkitgtk
-  ++ lib.optional (withWebKit && stdenv.isDarwin) WebKit
-  ++ lib.optionals stdenv.isDarwin [
-    expat
-    setfile
-    Carbon
-    Cocoa
-    Kernel
-    QTKit
-    AVFoundation
-    AVKit
-  ];
-
-  propagatedBuildInputs = lib.optional stdenv.isDarwin AGL;
-
-  patches = [
-    # https://github.com/wxWidgets/wxWidgets/issues/17942
-    ./patches/0001-fix-assertion-using-hide-in-destroy.patch
-  ];
-
-  configureFlags = [
-    "--disable-precomp-headers"
-    "--enable-mediactrl"
-    (if compat26 then "--enable-compat26" else "--disable-compat26")
-    (if compat28 then "--enable-compat28" else "--disable-compat28")
-  ] ++ lib.optional unicode "--enable-unicode"
-  ++ lib.optional withMesa "--with-opengl"
-  ++ lib.optionals stdenv.isDarwin [
-    # allow building on 64-bit
-    "--enable-universal-binaries"
-    "--with-macosx-version-min=10.7"
-    "--with-osx_cocoa"
-    "--with-libiconv"
-  ] ++ lib.optionals withWebKit [
-    "--enable-webview"
-    "--enable-webviewwebkit"
-  ];
-
-  SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib";
-
-  preConfigure = ''
-    substituteInPlace configure --replace \
-      'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
-    substituteInPlace configure --replace \
-      'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
-    substituteInPlace configure --replace \
-      /usr /no-such-path
-  '' + lib.optionalString stdenv.isDarwin ''
-    substituteInPlace configure \
-      --replace 'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' 'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
-    substituteInPlace configure \
-      --replace "-framework System" "-lSystem"
-  '';
-
-  postInstall = ''
-    pushd $out/include
-    ln -s wx-*/* .
-    popd
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    homepage = "https://www.wxwidgets.org/";
-    description = "A Cross-Platform C++ GUI Library";
-    longDescription = ''
-      wxWidgets gives you a single, easy-to-use API for writing GUI applications
-      on multiple platforms that still utilize the native platform's controls
-      and utilities. Link with the appropriate library for your platform and
-      compiler, and your application will adopt the look and feel appropriate to
-      that platform. On top of great GUI functionality, wxWidgets gives you:
-      online help, network programming, streams, clipboard and drag and drop,
-      multithreading, image loading and saving in a variety of popular formats,
-      database support, HTML viewing and printing, and much more.
-    '';
-    license = licenses.wxWindows;
-    maintainers = with maintainers; [ wegank ];
-    platforms = platforms.unix;
-  };
-
-  passthru = {
-    inherit compat26 compat28 unicode;
-  };
-}
diff --git a/pkgs/development/libraries/wxwidgets/wxmac30.nix b/pkgs/development/libraries/wxwidgets/wxmac30.nix
deleted file mode 100644
index d4509295969d..000000000000
--- a/pkgs/development/libraries/wxwidgets/wxmac30.nix
+++ /dev/null
@@ -1,101 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, expat
-, libiconv
-, libjpeg
-, libpng
-, libtiff
-, zlib
-, AGL
-, Cocoa
-, Kernel
-, WebKit
-, derez
-, rez
-, setfile
-}:
-
-stdenv.mkDerivation rec {
-  pname = "wxmac";
-  version = "3.0.5.1";
-
-  src = fetchFromGitHub {
-    owner = "wxWidgets";
-    repo = "wxWidgets";
-    rev = "v${version}";
-    hash = "sha256-I91douzXDAfDgm4Pplf17iepv4vIRhXZDRFl9keJJq0=";
-  };
-
-  buildInputs = [
-    expat
-    libiconv
-    libjpeg
-    libpng
-    libtiff
-    zlib
-    AGL
-    Cocoa
-    Kernel
-    WebKit
-    derez
-    rez
-    setfile
-  ];
-
-  postPatch = ''
-    substituteInPlace configure --replace "-framework System" "-lSystem"
-  '';
-
-  configureFlags = [
-    "--disable-mediactrl"
-    "--disable-precomp-headers"
-    "--enable-clipboard"
-    "--enable-controls"
-    "--enable-dataviewctrl"
-    "--enable-display"
-    "--enable-dnd"
-    "--enable-graphics_ctx"
-    "--enable-std_string"
-    "--enable-svg"
-    "--enable-unicode"
-    "--enable-webkit"
-    "--with-expat"
-    "--with-libjpeg"
-    "--with-libpng"
-    "--with-libtiff"
-    "--with-macosx-version-min=10.7"
-    "--with-opengl"
-    "--with-osx_cocoa"
-    "--with-zlib"
-    "--without-liblzma"
-    "wx_cv_std_libfullpath=/var/empty"
-  ];
-
-  doCheck = true;
-  checkPhase = ''
-    ./wx-config --libs
-  '';
-
-  env.NIX_CFLAGS_COMPILE = "-Wno-undef";
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    homepage = "https://www.wxwidgets.org/";
-    description = "A Cross-Platform C++ GUI Library - MacOS-only build";
-    longDescription = ''
-      wxWidgets gives you a single, easy-to-use API for writing GUI applications
-      on multiple platforms that still utilize the native platform's controls
-      and utilities. Link with the appropriate library for your platform and
-      compiler, and your application will adopt the look and feel appropriate to
-      that platform. On top of great GUI functionality, wxWidgets gives you:
-      online help, network programming, streams, clipboard and drag and drop,
-      multithreading, image loading and saving in a variety of popular formats,
-      database support, HTML viewing and printing, and much more.
-    '';
-    license = licenses.wxWindows;
-    maintainers = with maintainers; [ lnl7 ];
-    platforms = platforms.darwin;
-  };
-}
diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix
index 44c3eca6597b..375d73aef9d1 100644
--- a/pkgs/development/node-packages/overrides.nix
+++ b/pkgs/development/node-packages/overrides.nix
@@ -625,6 +625,7 @@ final: prev: {
     # These dependencies are required by
     # https://github.com/Automattic/node-canvas.
     buildInputs = with pkgs; [
+      giflib
       pixman
       cairo
       pango
diff --git a/pkgs/development/ocaml-modules/bigstring/default.nix b/pkgs/development/ocaml-modules/bigstring/default.nix
index f966e0b90b1b..650522363d31 100644
--- a/pkgs/development/ocaml-modules/bigstring/default.nix
+++ b/pkgs/development/ocaml-modules/bigstring/default.nix
@@ -1,12 +1,16 @@
-{ lib, fetchFromGitHub, buildDunePackage }:
+{ lib, fetchFromGitHub, buildDunePackage, ocaml }:
 
 buildDunePackage rec {
   pname = "bigstring";
   version = "0.3";
 
-  useDune2 = true;
+  duneVersion = "3";
+  minimalOCamlVersion = "4.03";
 
-  minimumOCamlVersion = "4.03";
+  # Ensure compatibility with OCaml ≥ 5.0
+  preConfigure = lib.optional (lib.versionAtLeast ocaml.version "4.08") ''
+    substituteInPlace src/dune --replace '(libraries bytes bigarray)' ""
+  '';
 
   src = fetchFromGitHub {
     owner = "c-cube";
diff --git a/pkgs/development/ocaml-modules/containers/data.nix b/pkgs/development/ocaml-modules/containers/data.nix
index 980984c6ec05..bdad78cdf6f6 100644
--- a/pkgs/development/ocaml-modules/containers/data.nix
+++ b/pkgs/development/ocaml-modules/containers/data.nix
@@ -8,6 +8,8 @@ buildDunePackage {
 
   inherit (containers) src version doCheck;
 
+  duneVersion = "3";
+
   buildInputs = [ dune-configurator ];
   checkInputs = [ gen iter qcheck-core ];
 
diff --git a/pkgs/development/ocaml-modules/containers/default.nix b/pkgs/development/ocaml-modules/containers/default.nix
index 4cd6413293e5..f1c82f189bba 100644
--- a/pkgs/development/ocaml-modules/containers/default.nix
+++ b/pkgs/development/ocaml-modules/containers/default.nix
@@ -5,14 +5,16 @@
 }:
 
 buildDunePackage rec {
-  version = "3.10";
+  version = "3.11";
   pname = "containers";
 
+  duneVersion = "3";
+
   src = fetchFromGitHub {
     owner = "c-cube";
     repo = "ocaml-containers";
     rev = "v${version}";
-    hash = "sha256-eWmju4CD30+wX3sKI8rOUEbqbQygdOtc0U4sb9vYuNA=";
+    hash = "sha256-tGAsg98/T6VKvG95I4qioabWM3TEKrDKlsrfUJqxCyM=";
   };
 
   buildInputs = [ dune-configurator ];
diff --git a/pkgs/development/ocaml-modules/cooltt/default.nix b/pkgs/development/ocaml-modules/cooltt/default.nix
index 180a09e4d4a1..837a06a2fdee 100644
--- a/pkgs/development/ocaml-modules/cooltt/default.nix
+++ b/pkgs/development/ocaml-modules/cooltt/default.nix
@@ -6,6 +6,7 @@
 , cmdliner
 , containers
 , ezjsonm
+, findlib
 , menhir
 , menhirLib
 , ppx_deriving
@@ -28,7 +29,9 @@ let
       sha256 = "sha256:15v1cggm7awp11iwl3lzpaar91jzivhdxggp5mr48gd28kfipzk2";
     };
 
-    propagatedBuildInputs = [ ezjsonm ];
+    duneVersion = "3";
+
+    propagatedBuildInputs = [ ezjsonm findlib ];
 
     meta = {
       description = "Extensible Library Management and Path Resolution";
@@ -63,6 +66,7 @@ buildDunePackage {
   version = "unstable-2022-04-28";
 
   minimalOCamlVersion = "4.13";
+  duneVersion = "3";
 
   src = fetchFromGitHub {
     owner = "RedPRL";
diff --git a/pkgs/development/ocaml-modules/cow/default.nix b/pkgs/development/ocaml-modules/cow/default.nix
index 4688ec4ef328..eade22efc6e1 100644
--- a/pkgs/development/ocaml-modules/cow/default.nix
+++ b/pkgs/development/ocaml-modules/cow/default.nix
@@ -1,10 +1,10 @@
-{ lib, fetchurl, buildDunePackage, ocaml, alcotest
+{ lib, fetchurl, buildDunePackage, alcotest
 , uri, xmlm, omd, ezjsonm
 }:
 
 buildDunePackage rec {
-  useDune2 = true;
-  minimumOCamlVersion = "4.02.3";
+  duneVersion = "3";
+  minimalOCamlVersion = "4.08";
 
   version = "2.4.0";
   pname = "cow";
@@ -16,7 +16,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ xmlm uri ezjsonm omd ];
   checkInputs = [ alcotest ];
-  doCheck = lib.versionAtLeast ocaml.version "4.08";
+  doCheck = true;
 
   meta = with lib; {
     description = "Caml on the Web";
diff --git a/pkgs/development/ocaml-modules/csv/1.5.nix b/pkgs/development/ocaml-modules/csv/1.5.nix
deleted file mode 100644
index ef4ae4484d83..000000000000
--- a/pkgs/development/ocaml-modules/csv/1.5.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, stdenv, fetchzip, ocaml, findlib, ocamlbuild }:
-
-stdenv.mkDerivation rec {
-  pname = "ocaml${ocaml.version}-csv";
-  version = "1.5";
-
-  src = fetchzip {
-    url = "https://github.com/Chris00/ocaml-csv/releases/download/${version}/csv-${version}.tar.gz";
-    sha256 = "1ca7jgg58j24pccs5fshis726s06fdcjshnwza5kwxpjgdbvc63g";
-  };
-
-  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
-
-  strictDeps = true;
-
-  createFindlibDestdir = true;
-
-  configurePhase = "ocaml setup.ml -configure --prefix $out --enable-tests";
-
-  buildPhase = "ocaml setup.ml -build";
-
-  doCheck = true;
-  checkPhase = "ocaml setup.ml -test";
-
-  installPhase = ''
-    runHook preInstall
-    ocaml setup.ml -install
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "A pure OCaml library to read and write CSV files";
-    homepage = "https://github.com/Chris00/ocaml-csv";
-    license = licenses.lgpl21;
-    maintainers = [ maintainers.vbgl ];
-    inherit (ocaml.meta) platforms;
-  };
-}
diff --git a/pkgs/development/ocaml-modules/csv/csvtool.nix b/pkgs/development/ocaml-modules/csv/csvtool.nix
index 12c0dfa160e6..05d9a440f9c1 100644
--- a/pkgs/development/ocaml-modules/csv/csvtool.nix
+++ b/pkgs/development/ocaml-modules/csv/csvtool.nix
@@ -4,7 +4,9 @@ let inherit (ocamlPackages) buildDunePackage csv uutf; in
 
 buildDunePackage {
   pname = "csvtool";
-  inherit (csv) src version useDune2;
+  inherit (csv) src version;
+
+  duneVersion = "3";
 
   buildInputs = [ csv uutf ];
 
diff --git a/pkgs/development/ocaml-modules/csv/default.nix b/pkgs/development/ocaml-modules/csv/default.nix
index d4c3d72a6d80..7510dcede3a9 100644
--- a/pkgs/development/ocaml-modules/csv/default.nix
+++ b/pkgs/development/ocaml-modules/csv/default.nix
@@ -9,7 +9,11 @@ buildDunePackage rec {
     sha256 = "13m9n8mdss6jfbiw7d5bybxn4n85vmg4zw7dc968qrgjfy0w9zhk";
   };
 
-  useDune2 = true;
+  preConfigure = ''
+    substituteInPlace src/dune --replace '(libraries bytes)' ""
+  '';
+
+  duneVersion = "3";
 
   meta = {
     description = "A pure OCaml library to read and write CSV files";
diff --git a/pkgs/development/ocaml-modules/csv/lwt.nix b/pkgs/development/ocaml-modules/csv/lwt.nix
index c90dc019b9d4..8e91decfd65f 100644
--- a/pkgs/development/ocaml-modules/csv/lwt.nix
+++ b/pkgs/development/ocaml-modules/csv/lwt.nix
@@ -1,14 +1,16 @@
-{ lib, buildDunePackage, ocaml, csv, ocaml_lwt }:
-
-if lib.versionOlder ocaml.version "4.02"
-then throw "csv-lwt is not available for OCaml ${ocaml.version}"
-else
+{ lib, buildDunePackage, csv, lwt }:
 
 buildDunePackage {
   pname = "csv-lwt";
-  inherit (csv) src version useDune2 meta;
+  inherit (csv) src version meta;
+
+  preConfigure = ''
+    substituteInPlace lwt/dune --replace '(libraries   bytes' '(libraries '
+  '';
+
+  duneVersion = "3";
 
-  propagatedBuildInputs = [ csv ocaml_lwt ];
+  propagatedBuildInputs = [ csv lwt ];
 
-  doCheck = lib.versionAtLeast ocaml.version "4.03";
+  doCheck = true;
 }
diff --git a/pkgs/development/ocaml-modules/ezjsonm/default.nix b/pkgs/development/ocaml-modules/ezjsonm/default.nix
index fd3187055126..ae66f5fbc0c2 100644
--- a/pkgs/development/ocaml-modules/ezjsonm/default.nix
+++ b/pkgs/development/ocaml-modules/ezjsonm/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "ezjsonm";
-  version = "1.2.0";
+  version = "1.3.0";
 
-  useDune2 = true;
+  duneVersion = "3";
 
   src = fetchurl {
-    url = "https://github.com/mirage/ezjsonm/releases/download/v${version}/ezjsonm-v${version}.tbz";
-    sha256 = "1q6cf63cc614lr141rzhm2w4rhi1snfqai6fmkhvfjs84hfbw2w7";
+    url = "https://github.com/mirage/ezjsonm/releases/download/v${version}/ezjsonm-${version}.tbz";
+    hash = "sha256-CGM+Dw52eoroGTXKfnTxaTuFp5xFAtVo7t/1Fw8M13s=";
   };
 
   propagatedBuildInputs = [ jsonm hex sexplib0 ];
diff --git a/pkgs/development/ocaml-modules/gen/default.nix b/pkgs/development/ocaml-modules/gen/default.nix
index ee932bffd5e6..86dbc61f6faf 100644
--- a/pkgs/development/ocaml-modules/gen/default.nix
+++ b/pkgs/development/ocaml-modules/gen/default.nix
@@ -1,22 +1,21 @@
 { lib, buildDunePackage, fetchFromGitHub, ocaml
-, dune-configurator
 , seq
 , qcheck, ounit2
 }:
 
 buildDunePackage rec {
-  version = "1.0";
+  version = "1.1";
   pname = "gen";
   minimalOCamlVersion = "4.03";
+  duneVersion = "3";
 
   src = fetchFromGitHub {
     owner = "c-cube";
     repo = "gen";
     rev = "v${version}";
-    hash = "sha256-YWoVcl2TQoMIgU1LoKL16ia31zJjwAMwuphtSXnhtvw=";
+    hash = "sha256-ZytPPGhmt/uANaSgkgsUBOwyQ9ka5H4J+5CnJpEdrNk=";
   };
 
-  buildInputs = [ dune-configurator ];
   propagatedBuildInputs = [ seq ];
   checkInputs = [ qcheck ounit2 ];
 
diff --git a/pkgs/development/ocaml-modules/hidapi/default.nix b/pkgs/development/ocaml-modules/hidapi/default.nix
index 68fc506222de..b47c153a4974 100644
--- a/pkgs/development/ocaml-modules/hidapi/default.nix
+++ b/pkgs/development/ocaml-modules/hidapi/default.nix
@@ -1,19 +1,21 @@
-{ pkgs, lib, fetchurl, buildDunePackage, pkg-config, dune-configurator
+{ pkgs, lib, fetchFromGitHub, buildDunePackage, pkg-config, dune-configurator
 , bigstring,
 }:
 
 buildDunePackage rec {
   pname = "hidapi";
-  version = "1.1.1";
+  version = "1.1.2";
 
-  useDune2 = true;
+  duneVersion = "3";
 
-  src = fetchurl {
-    url = "https://github.com/vbmithr/ocaml-hidapi/releases/download/${version}/${pname}-${version}.tbz";
-    sha256 = "1j7rd7ajrzla76r3sxljx6fb18f4f4s3jd7vhv59l2ilxyxycai2";
+  src = fetchFromGitHub {
+    owner = "vbmithr";
+    repo = "ocaml-hidapi";
+    rev = version;
+    hash = "sha256-SNQ1/i5wJJgcslIUBe+z5QgHns/waHnILyMUJ46cUwg=";
   };
 
-  minimumOCamlVersion = "4.03";
+  minimalOCamlVersion = "4.03";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ pkgs.hidapi dune-configurator ];
diff --git a/pkgs/development/ocaml-modules/higlo/default.nix b/pkgs/development/ocaml-modules/higlo/default.nix
index 87a4186a68c3..da843fe15112 100644
--- a/pkgs/development/ocaml-modules/higlo/default.nix
+++ b/pkgs/development/ocaml-modules/higlo/default.nix
@@ -3,7 +3,7 @@
 buildDunePackage rec {
   pname = "higlo";
   version = "0.8";
-  useDune2 = true;
+  duneVersion = "3";
   src = fetchFromGitLab {
     domain = "framagit.org";
     owner = "zoggy";
diff --git a/pkgs/development/ocaml-modules/iri/default.nix b/pkgs/development/ocaml-modules/iri/default.nix
index 22f106975868..0ea05cb7b9ba 100644
--- a/pkgs/development/ocaml-modules/iri/default.nix
+++ b/pkgs/development/ocaml-modules/iri/default.nix
@@ -5,7 +5,7 @@
 buildDunePackage rec {
   pname = "iri";
   version = "0.6.0";
-  useDune2 = true;
+  duneVersion = "3";
 
   src = fetchFromGitLab {
     domain = "framagit.org";
diff --git a/pkgs/development/ocaml-modules/lambdapi/default.nix b/pkgs/development/ocaml-modules/lambdapi/default.nix
index 1478687fe5e3..ddb428f720ee 100644
--- a/pkgs/development/ocaml-modules/lambdapi/default.nix
+++ b/pkgs/development/ocaml-modules/lambdapi/default.nix
@@ -1,5 +1,5 @@
 { lib
-, fetchFromGitHub
+, fetchurl
 , buildDunePackage
 , alcotest
 , dedukti
@@ -17,15 +17,14 @@
 
 buildDunePackage rec {
   pname = "lambdapi";
-  version = "2.2.1";
+  version = "2.3.1";
 
   minimalOCamlVersion = "4.08";
+  duneVersion = "3";
 
-  src = fetchFromGitHub {
-    owner = "Deducteam";
-    repo = pname;
-    rev = version;
-    hash = "sha256-p2ZjSfiZwkf8X4fSNJx7bAVpTFl4UBHIEANIWF7NGCs=";
+  src = fetchurl {
+    url = "https://github.com/Deducteam/lambdapi/releases/download/${version}/lambdapi-${version}.tbz";
+    hash = "sha256-7ww2TjVcbEQyfmLnnEhLGAjW4US9a4mdOfDJw6NR1fI=";
   };
 
   nativeBuildInputs = [ menhir ];
diff --git a/pkgs/development/ocaml-modules/lustre-v6/default.nix b/pkgs/development/ocaml-modules/lustre-v6/default.nix
index 97084b913edb..102977634c29 100644
--- a/pkgs/development/ocaml-modules/lustre-v6/default.nix
+++ b/pkgs/development/ocaml-modules/lustre-v6/default.nix
@@ -5,6 +5,7 @@ buildDunePackage rec {
   version = "6.107.3";
 
   minimalOCamlVersion = "4.12";
+  duneVersion = "3";
 
   src = fetchurl {
     url = "https://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/pool/lustre-v6.v${version}.tgz";
diff --git a/pkgs/development/ocaml-modules/lwd/default.nix b/pkgs/development/ocaml-modules/lwd/default.nix
new file mode 100644
index 000000000000..43e13bbcc893
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lwd/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchurl, buildDunePackage, seq }:
+
+buildDunePackage rec {
+  pname = "lwd";
+  version = "0.3";
+
+  minimalOCamlVersion = "4.08";
+  duneVersion = "3";
+
+  src = fetchurl {
+    url =
+      "https://github.com/let-def/lwd/releases/download/v${version}/lwd-${version}.tbz";
+    sha256 = "sha256-H/vyW2tn2OBuWwcmPs8NcINXgFe93MSxRd8dzeoXARI=";
+  };
+
+  propagatedBuildInputs = [ seq ];
+
+  meta = with lib; {
+    description = "Lightweight reactive documents";
+    license = licenses.mit;
+    maintainers = [ maintainers.alizter ];
+    homepage = "https://github.com/let-def/lwd";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lwd/nottui-lwt.nix b/pkgs/development/ocaml-modules/lwd/nottui-lwt.nix
new file mode 100644
index 000000000000..84df8db4ea37
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lwd/nottui-lwt.nix
@@ -0,0 +1,19 @@
+{ lib, fetchurl, buildDunePackage, lwd, lwt, nottui }:
+
+buildDunePackage {
+  pname = "nottui-lwt";
+
+  inherit (lwd) version src;
+
+  minimalOCamlVersion = "4.08";
+  duneVersion = "3";
+
+  propagatedBuildInputs = [ lwt nottui ];
+
+  meta = with lib; {
+    description = "Run Nottui UIs in Lwt";
+    license = licenses.mit;
+    maintainers = [ maintainers.alizter ];
+    homepage = "https://github.com/let-def/lwd";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lwd/nottui-pretty.nix b/pkgs/development/ocaml-modules/lwd/nottui-pretty.nix
new file mode 100644
index 000000000000..e411255c58c4
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lwd/nottui-pretty.nix
@@ -0,0 +1,19 @@
+{ lib, fetchurl, buildDunePackage, lwd, nottui }:
+
+buildDunePackage {
+  pname = "nottui-pretty";
+
+  inherit (lwd) version src;
+
+  minimalOCamlVersion = "4.08";
+  duneVersion = "3";
+
+  propagatedBuildInputs = [ nottui ];
+
+  meta = with lib; {
+    description = "A pretty-printer based on PPrint rendering UIs";
+    license = licenses.mit;
+    maintainers = [ maintainers.alizter ];
+    homepage = "https://github.com/let-def/lwd";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lwd/nottui.nix b/pkgs/development/ocaml-modules/lwd/nottui.nix
new file mode 100644
index 000000000000..6427ca9630c4
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lwd/nottui.nix
@@ -0,0 +1,19 @@
+{ lib, fetchurl, buildDunePackage, lwd, notty }:
+
+buildDunePackage {
+  pname = "nottui";
+
+  inherit (lwd) version src;
+
+  minimalOCamlVersion = "4.08";
+  duneVersion = "3";
+
+  propagatedBuildInputs = [ lwd notty ];
+
+  meta = with lib; {
+    description = "UI toolkit for the terminal built on top of Notty and Lwd";
+    license = licenses.mit;
+    maintainers = [ maintainers.alizter ];
+    homepage = "https://github.com/let-def/lwd";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lwd/tyxml-lwd.nix b/pkgs/development/ocaml-modules/lwd/tyxml-lwd.nix
new file mode 100644
index 000000000000..0832847be3d6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lwd/tyxml-lwd.nix
@@ -0,0 +1,20 @@
+{ lib, fetchurl, buildDunePackage, js_of_ocaml, js_of_ocaml-ppx, lwd, tyxml }:
+
+buildDunePackage {
+  pname = "tyxml-lwd";
+
+  inherit (lwd) version src;
+
+  minimalOCamlVersion = "4.08";
+  duneVersion = "3";
+
+  buildInputs = [ js_of_ocaml-ppx ];
+  propagatedBuildInputs = [ js_of_ocaml lwd tyxml ];
+
+  meta = with lib; {
+    description = "Make reactive webpages in Js_of_ocaml using Tyxml and Lwd";
+    license = licenses.mit;
+    maintainers = [ maintainers.alizter ];
+    homepage = "https://github.com/let-def/lwd";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/mustache/default.nix b/pkgs/development/ocaml-modules/mustache/default.nix
index 5d4b39b21aa8..ce2201c37873 100644
--- a/pkgs/development/ocaml-modules/mustache/default.nix
+++ b/pkgs/development/ocaml-modules/mustache/default.nix
@@ -3,7 +3,7 @@
 buildDunePackage rec {
   pname = "mustache";
   version = "3.1.0";
-  useDune2 = true;
+  duneVersion = "3";
   src = fetchFromGitHub {
     owner = "rgrinberg";
     repo = "ocaml-mustache";
diff --git a/pkgs/development/ocaml-modules/pgocaml/default.nix b/pkgs/development/ocaml-modules/pgocaml/default.nix
index 5c00f2c8991f..22ef94af92e1 100644
--- a/pkgs/development/ocaml-modules/pgocaml/default.nix
+++ b/pkgs/development/ocaml-modules/pgocaml/default.nix
@@ -4,16 +4,16 @@
 
 buildDunePackage rec {
   pname = "pgocaml";
-  version = "4.2.2-dev-20210111";
+  version = "4.3.0";
   src = fetchFromGitHub {
     owner = "darioteixeira";
     repo = "pgocaml";
-    rev = "1bb0025deeb3d14029afdcc69aaa7847026e243e";
-    sha256 = "11inbjf87gclc2xmpq56ag4cm4467y9q9hjgbdn69fa1bman2zn2";
+    rev = version;
+    hash = "sha256-W1fbRnU1l61qqxfVY2qiBnVpGD81xrBO8k0tWr+RXMY=";
   };
 
-  minimumOCamlVersion = "4.08";
-  useDune2 = true;
+  minimalOCamlVersion = "4.08";
+  duneVersion = "3";
 
   propagatedBuildInputs = [ calendar csv hex ppx_deriving ppx_sexp_conv re rresult sexplib ];
 
diff --git a/pkgs/development/ocaml-modules/pgocaml/ppx.nix b/pkgs/development/ocaml-modules/pgocaml/ppx.nix
index dce2e2b0c99d..b649f70d198c 100644
--- a/pkgs/development/ocaml-modules/pgocaml/ppx.nix
+++ b/pkgs/development/ocaml-modules/pgocaml/ppx.nix
@@ -2,7 +2,10 @@
 
 buildDunePackage {
   pname = "pgocaml_ppx";
-  inherit (pgocaml) src version useDune2 meta;
+  inherit (pgocaml) src version meta;
 
-  propagatedBuildInputs = [ pgocaml ppx_optcomp ];
+  duneVersion = "3";
+
+  buildInputs = [ ppx_optcomp ];
+  propagatedBuildInputs = [ pgocaml ];
 }
diff --git a/pkgs/development/ocaml-modules/ppx_cstubs/default.nix b/pkgs/development/ocaml-modules/ppx_cstubs/default.nix
index 88f187cc706a..1b5e96a2d8de 100644
--- a/pkgs/development/ocaml-modules/ppx_cstubs/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_cstubs/default.nix
@@ -18,20 +18,21 @@ buildDunePackage rec {
 
   minimalOCamlVersion = "4.08";
 
-  useDune2 = true;
+  duneVersion = "3";
 
   src = fetchFromGitHub {
     owner = "fdopen";
     repo = "ppx_cstubs";
     rev = version;
-    sha256 = "sha256-qMmwRWCIfNyhCQYPKLiufnb57sTR3P+WInOqtPDywFs=";
+    hash = "sha256-qMmwRWCIfNyhCQYPKLiufnb57sTR3P+WInOqtPDywFs=";
   };
 
-  nativeBuildInputs = [ cppo findlib ];
+  nativeBuildInputs = [ cppo ];
 
   buildInputs = [
     bigarray-compat
     containers
+    findlib
     integers
     num
     ppxlib
diff --git a/pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix
index c6a0f6d0af65..3fb52de2b8e0 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix
@@ -7,6 +7,7 @@ buildDunePackage rec {
   version = "0.1.1";
 
   minimalOCamlVersion = "4.08";
+  duneVersion = "3";
 
   src = fetchurl {
     url = "https://github.com/patricoferris/ppx_deriving_yaml/releases/download/v${version}/ppx_deriving_yaml-${version}.tbz";
diff --git a/pkgs/development/ocaml-modules/secp256k1-internal/default.nix b/pkgs/development/ocaml-modules/secp256k1-internal/default.nix
index 4a9a761ab30c..b403b997027b 100644
--- a/pkgs/development/ocaml-modules/secp256k1-internal/default.nix
+++ b/pkgs/development/ocaml-modules/secp256k1-internal/default.nix
@@ -11,15 +11,16 @@
 
 buildDunePackage rec {
   pname = "secp256k1-internal";
-  version = "0.3";
+  version = "0.4";
   src = fetchFromGitLab {
     owner = "nomadic-labs";
     repo = "ocaml-secp256k1-internal";
-    rev = version;
-    sha256 = "sha256-1wvQ4RW7avcGsIc0qgDzhGrwOBY0KHrtNVHCj2cgNzo=";
+    rev = "v${version}";
+    hash = "sha256-amVtp94cE1NxClWJgcJvRmilnQlC7z44mORUaxvPn00=";
   };
 
   minimalOCamlVersion = "4.08";
+  duneVersion = "3";
 
   propagatedBuildInputs = [
     gmp
diff --git a/pkgs/development/ocaml-modules/sedlex/default.nix b/pkgs/development/ocaml-modules/sedlex/default.nix
index 27756fdcd26e..0ce962417ed7 100644
--- a/pkgs/development/ocaml-modules/sedlex/default.nix
+++ b/pkgs/development/ocaml-modules/sedlex/default.nix
@@ -47,6 +47,7 @@ buildDunePackage rec {
   inherit (param) version;
 
   minimalOCamlVersion = "4.08";
+  duneVersion = "3";
 
   src = fetchFromGitHub {
     owner = "ocaml-community";
diff --git a/pkgs/development/ocaml-modules/uecc/default.nix b/pkgs/development/ocaml-modules/uecc/default.nix
index efb86d862476..1185977132dd 100644
--- a/pkgs/development/ocaml-modules/uecc/default.nix
+++ b/pkgs/development/ocaml-modules/uecc/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "uecc";
   version = "0.4";
 
+  duneVersion = "3";
+
   src = fetchFromGitLab {
     owner = "nomadic-labs";
     repo = "ocaml-uecc";
diff --git a/pkgs/development/ocaml-modules/xtmpl/default.nix b/pkgs/development/ocaml-modules/xtmpl/default.nix
index 6b4771fe1ff4..47e153e53c2d 100644
--- a/pkgs/development/ocaml-modules/xtmpl/default.nix
+++ b/pkgs/development/ocaml-modules/xtmpl/default.nix
@@ -3,7 +3,7 @@
 buildDunePackage rec {
   pname = "xtmpl";
   version = "0.19.0";
-  useDune2 = true;
+  duneVersion = "3";
   src = fetchFromGitLab {
     domain = "framagit.org";
     owner = "zoggy";
diff --git a/pkgs/development/ocaml-modules/xtmpl/ppx.nix b/pkgs/development/ocaml-modules/xtmpl/ppx.nix
index b6f5bd65000f..0e23cdc48f70 100644
--- a/pkgs/development/ocaml-modules/xtmpl/ppx.nix
+++ b/pkgs/development/ocaml-modules/xtmpl/ppx.nix
@@ -3,8 +3,9 @@
 buildDunePackage {
   pname = "xtmpl_ppx";
   minimalOCamlVersion = "4.11";
+  duneVersion = "3";
 
-  inherit (xtmpl) src version useDune2;
+  inherit (xtmpl) src version;
 
   buildInputs = [ ppxlib xtmpl ];
 
diff --git a/pkgs/development/ocaml-modules/yaml/default.nix b/pkgs/development/ocaml-modules/yaml/default.nix
index 61a5a326395d..416438dafbd3 100644
--- a/pkgs/development/ocaml-modules/yaml/default.nix
+++ b/pkgs/development/ocaml-modules/yaml/default.nix
@@ -10,10 +10,11 @@ buildDunePackage rec {
 
   src = fetchurl {
     url = "https://github.com/avsm/ocaml-yaml/releases/download/v${version}/yaml-${version}.tbz";
-    sha256 = "sha256-0KngriGEpp5tcgK/43B9EEOdMacSQYYCNLGfAgRS7Mc=";
+    hash = "sha256-0KngriGEpp5tcgK/43B9EEOdMacSQYYCNLGfAgRS7Mc=";
   };
 
   minimalOCamlVersion = "4.13";
+  duneVersion = "3";
 
   buildInputs = [ dune-configurator ];
   propagatedBuildInputs = [ bos ctypes ];
diff --git a/pkgs/development/ocaml-modules/yaml/yaml-sexp.nix b/pkgs/development/ocaml-modules/yaml/yaml-sexp.nix
index d6cab9cf7f2b..aa8566ea6087 100644
--- a/pkgs/development/ocaml-modules/yaml/yaml-sexp.nix
+++ b/pkgs/development/ocaml-modules/yaml/yaml-sexp.nix
@@ -5,6 +5,8 @@ buildDunePackage rec {
 
   inherit (yaml) version src;
 
+  duneVersion = "3";
+
   propagatedBuildInputs = [ yaml ppx_sexp_conv sexplib ];
 
   meta = yaml.meta // {
diff --git a/pkgs/development/octave-modules/arduino/default.nix b/pkgs/development/octave-modules/arduino/default.nix
index fd97c55a40e9..3cd5838590f8 100644
--- a/pkgs/development/octave-modules/arduino/default.nix
+++ b/pkgs/development/octave-modules/arduino/default.nix
@@ -7,11 +7,11 @@
 
 buildOctavePackage rec {
   pname = "arduino";
-  version = "0.7.0";
+  version = "0.10.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0r0bcq2zkwba6ab6yi6czbhrj4adm9m9ggxmzzcd9h40ckqg6wjv";
+    sha256 = "sha256-p9SDTXkIwnrkNXeVhzAHks7EL4NdwBokrH2j9hqAJqQ=";
   };
 
   requiredOctavePackages = [
diff --git a/pkgs/development/octave-modules/audio/default.nix b/pkgs/development/octave-modules/audio/default.nix
index c0b4551ceca7..6e00dd05fdd4 100644
--- a/pkgs/development/octave-modules/audio/default.nix
+++ b/pkgs/development/octave-modules/audio/default.nix
@@ -9,11 +9,11 @@
 
 buildOctavePackage rec {
   pname = "audio";
-  version = "2.0.3";
+  version = "2.0.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1431pf7mhxsrnzrx8r3hsy537kha7jhaligmp2rghwyxhq25hs0r";
+    sha256 = "sha256-/4akeeOQnvTlk9ah+e8RJfwJG2Eq2HAGOCejhiIUjF4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/octave-modules/bim/default.nix b/pkgs/development/octave-modules/bim/default.nix
index 5dc8ca88710d..dc018ae6143e 100644
--- a/pkgs/development/octave-modules/bim/default.nix
+++ b/pkgs/development/octave-modules/bim/default.nix
@@ -1,17 +1,19 @@
 { buildOctavePackage
 , lib
-, fetchurl
+, fetchFromGitHub
 , fpl
 , msh
 }:
 
 buildOctavePackage rec {
   pname = "bim";
-  version = "1.1.5";
+  version = "1.1.6";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0y70w8mj80c5yns1j7nwngwwrxp1pa87kyz2n2yvmc3zdigcd6g8";
+  src = fetchFromGitHub {
+    owner = "carlodefalco";
+    repo = "bim";
+    rev = "v${version}";
+    sha256 = "sha256-hgFb1KFE1KJC8skIaeT/7h/fg1aqRpedGnEPY24zZSI=";
   };
 
   requiredOctavePackages = [
diff --git a/pkgs/development/octave-modules/communications/default.nix b/pkgs/development/octave-modules/communications/default.nix
index 6c517ec6e5b6..8348aba3c3e9 100644
--- a/pkgs/development/octave-modules/communications/default.nix
+++ b/pkgs/development/octave-modules/communications/default.nix
@@ -7,11 +7,11 @@
 
 buildOctavePackage rec {
   pname = "communications";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1r4r0cia5l5fann1n78c1qdc6q8nizgb09n2fdwb76xnwjan23g3";
+    sha256 = "sha256-SfA81UP0c7VgroxSA/RZVVKZ4arl8Uhpf324F7yGFTo=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/octave-modules/control/default.nix b/pkgs/development/octave-modules/control/default.nix
index 79dbb99fadff..c265fe71d492 100644
--- a/pkgs/development/octave-modules/control/default.nix
+++ b/pkgs/development/octave-modules/control/default.nix
@@ -7,11 +7,11 @@
 
 buildOctavePackage rec {
   pname = "control";
-  version = "3.3.1";
+  version = "3.4.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0vndbzix34vfzdlsz57bgkyg31as4kv6hfg9pwrcqn75bzzjsivw";
+    sha256 = "sha256-bsagbhOtKIr62GMcxB9yR+RwlvoejQQkDU7QHvvkp3o=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/octave-modules/dicom/default.nix b/pkgs/development/octave-modules/dicom/default.nix
index e16b6447805e..e8f02deff546 100644
--- a/pkgs/development/octave-modules/dicom/default.nix
+++ b/pkgs/development/octave-modules/dicom/default.nix
@@ -7,11 +7,11 @@
 
 buildOctavePackage rec {
   pname = "dicom";
-  version = "0.4.0";
+  version = "0.5.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "131wn6mrv20np10plirvqia8dlpz3g0aqi3mmn2wyl7r95p3dnza";
+    sha256 = "sha256-0qNqjpJWWBA0N5IgjV0e0SPQlCvbzIwnIgaWo+2wKw0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/octave-modules/ga/default.nix b/pkgs/development/octave-modules/ga/default.nix
index a5265a4ce450..83d444959423 100644
--- a/pkgs/development/octave-modules/ga/default.nix
+++ b/pkgs/development/octave-modules/ga/default.nix
@@ -5,11 +5,11 @@
 
 buildOctavePackage rec {
   pname = "ga";
-  version = "0.10.2";
+  version = "0.10.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0s5azn4n174avlmh5gw21zfqfkyxkzn4v09q4l9swv7ldmg3mirv";
+    sha256 = "sha256-cbP7ucua7DdxLL422INxjZxz/x1pHoIq+jkjrtfaabE=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/octave-modules/general/default.nix b/pkgs/development/octave-modules/general/default.nix
index 52ad9af93b0f..8dabd86ef933 100644
--- a/pkgs/development/octave-modules/general/default.nix
+++ b/pkgs/development/octave-modules/general/default.nix
@@ -7,11 +7,11 @@
 
 buildOctavePackage rec {
   pname = "general";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0jmvczssqz1aa665v9h8k9cchb7mg3n9af6b5kh9b2qcjl4r9l7v";
+    sha256 = "sha256-owzRp5dDxiUo2uRuvUqD+EiuRqHB2sPqq8NmYtQilM8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/octave-modules/generate_html/default.nix b/pkgs/development/octave-modules/generate_html/default.nix
index 83f3a65bedc2..2082aa7f8207 100644
--- a/pkgs/development/octave-modules/generate_html/default.nix
+++ b/pkgs/development/octave-modules/generate_html/default.nix
@@ -5,11 +5,11 @@
 
 buildOctavePackage rec {
   pname = "generate_html";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1ai4h7jf9fqi7w565iprzylsh94pg4rhyf51hfj9kfdgdpb1abfs";
+    sha256 = "sha256-CHJ0+90+SNXmslLrQc+8aetSnHK0m9PqEBipFuFjwHw=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/octave-modules/geometry/default.nix b/pkgs/development/octave-modules/geometry/default.nix
index b4bf57262fae..86ef985fd1b0 100644
--- a/pkgs/development/octave-modules/geometry/default.nix
+++ b/pkgs/development/octave-modules/geometry/default.nix
@@ -1,16 +1,17 @@
 { buildOctavePackage
 , lib
-, fetchurl
+, fetchhg
 , matgeom
 }:
 
 buildOctavePackage rec {
   pname = "geometry";
-  version = "4.0.0";
+  version = "unstable-2021-07-07";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1zmd97xir62fr5v57xifh2cvna5fg67h9yb7bp2vm3ll04y41lhs";
+  src = fetchhg {
+    url = "http://hg.code.sf.net/p/octave/${pname}";
+    rev = "04965cda30b5f9e51774194c67879e7336df1710";
+    sha256 = "sha256-ECysYOJMF4gPiCFung9hFSlyyO60X3MGirQ9FlYDix8=";
   };
 
   requiredOctavePackages = [
diff --git a/pkgs/development/octave-modules/instrument-control/default.nix b/pkgs/development/octave-modules/instrument-control/default.nix
index 17d9186da745..0b5429bd278c 100644
--- a/pkgs/development/octave-modules/instrument-control/default.nix
+++ b/pkgs/development/octave-modules/instrument-control/default.nix
@@ -5,11 +5,11 @@
 
 buildOctavePackage rec {
   pname = "instrument-control";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0cdnnbxihz7chdkhkcgy46pvkij43z9alwr88627z7jaiaah6xby";
+    sha256 = "sha256-g3Pyz2b8hvg0MkFGA7cduYozcAd2UnqorBHzNs+Uuro=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/octave-modules/interval/default.nix b/pkgs/development/octave-modules/interval/default.nix
index 0891a6143852..8cf9d555678c 100644
--- a/pkgs/development/octave-modules/interval/default.nix
+++ b/pkgs/development/octave-modules/interval/default.nix
@@ -6,11 +6,11 @@
 
 buildOctavePackage rec {
   pname = "interval";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0a0sz7b4y53qgk1xr4pannn4w7xiin2pf74x7r54hrr1wf4abp20";
+    sha256 = "sha256-OOUmQnN1cTIpqz2Gpf4/WghVB0fYQgVBcG/eqQk/3Og=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/octave-modules/io/default.nix b/pkgs/development/octave-modules/io/default.nix
index 57058c5f95de..42effce5a045 100644
--- a/pkgs/development/octave-modules/io/default.nix
+++ b/pkgs/development/octave-modules/io/default.nix
@@ -8,11 +8,11 @@
 
 buildOctavePackage rec {
   pname = "io";
-  version = "2.6.3";
+  version = "2.6.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "044y8lfp93fx0592mv6x2ss0nvjkjgvlci3c3ahav76pk1j3rikb";
+    sha256 = "sha256-p0pAC70ZIn9sB8WFiS3oec165S2CDaH2nxo+PolFL1o=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/octave-modules/mapping/default.nix b/pkgs/development/octave-modules/mapping/default.nix
index 26cea27a7253..13d7fd5dd526 100644
--- a/pkgs/development/octave-modules/mapping/default.nix
+++ b/pkgs/development/octave-modules/mapping/default.nix
@@ -3,17 +3,22 @@
 , fetchurl
 , io # >= 2.2.7
 , geometry # >= 4.0.0
+, gdal
 }:
 
 buildOctavePackage rec {
   pname = "mapping";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0wj0q1rkrqs4qgpjh4vn9kcpdh94pzr6v4jc1vcrjwkp87yjv8c0";
+    sha256 = "sha256-mrUQWqC15Ul5AHDvhMlNStqIMG2Zxa+hB2vDyeizLaI=";
   };
 
+  buildInputs = [
+    gdal
+  ];
+
   requiredOctavePackages = [
     io
     geometry
diff --git a/pkgs/development/octave-modules/msh/default.nix b/pkgs/development/octave-modules/msh/default.nix
index a4e876c8128f..e147b9a9c2a2 100644
--- a/pkgs/development/octave-modules/msh/default.nix
+++ b/pkgs/development/octave-modules/msh/default.nix
@@ -1,6 +1,6 @@
 { buildOctavePackage
 , lib
-, fetchurl
+, fetchFromGitHub
 # Octave Dependencies
 , splines
 # Other Dependencies
@@ -13,11 +13,13 @@
 
 buildOctavePackage rec {
   pname = "msh";
-  version = "1.0.10";
+  version = "1.0.12";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1mb5qrp9y1w1cbzrd9v84430ldy57ca843yspnrgbcqpxyyxbgfz";
+  src = fetchFromGitHub {
+    owner = "carlodefalco";
+    repo = "msh";
+    rev = "v${version}";
+    sha256 = "sha256-UnMrIruzm3ARoTgUlMMxfjTOMZw/znZUQJmj3VEOw8I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/octave-modules/nan/default.nix b/pkgs/development/octave-modules/nan/default.nix
index 3a972b76fdc6..e71d984a5eac 100644
--- a/pkgs/development/octave-modules/nan/default.nix
+++ b/pkgs/development/octave-modules/nan/default.nix
@@ -6,11 +6,11 @@
 
 buildOctavePackage rec {
   pname = "nan";
-  version = "3.6.0";
+  version = "3.7.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1zxdg0yg5jnwq6ppnikd13zprazia6w6zpgw99f62mc03iqk5c4q";
+    sha256 = "sha256-d9J6BfNFeM5LtMqth0boSPd9giYU42KBnxrsUCmKK1s=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/octave-modules/ncarray/default.nix b/pkgs/development/octave-modules/ncarray/default.nix
index 10db554c87fc..c028ba7f1d3e 100644
--- a/pkgs/development/octave-modules/ncarray/default.nix
+++ b/pkgs/development/octave-modules/ncarray/default.nix
@@ -7,11 +7,11 @@
 
 buildOctavePackage rec {
   pname = "ncarray";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0v96iziikvq2v7hczhbfs9zmk49v99kn6z3lgibqqpwam175yqgd";
+    sha256 = "sha256-HhQWLUA/6wqYi6TP3PC+N2zgi4UojDxbG9pgQzFaQ8c=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/octave-modules/netcdf/default.nix b/pkgs/development/octave-modules/netcdf/default.nix
index 9292da6918cd..1eed28253580 100644
--- a/pkgs/development/octave-modules/netcdf/default.nix
+++ b/pkgs/development/octave-modules/netcdf/default.nix
@@ -6,11 +6,11 @@
 
 buildOctavePackage rec {
   pname = "netcdf";
-  version = "1.0.14";
+  version = "1.0.16";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1wdwl76zgcg7kkdxjfjgf23ylzb0x4dyfliffylyl40g6cjym9lf";
+    sha256 = "sha256-1Lr+6xLRXxSeUhM9+WdCUPFRZSWdxtAQlxpiv4CHJrs=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/octave-modules/ocl/default.nix b/pkgs/development/octave-modules/ocl/default.nix
index 095b386e0736..21ba508500e9 100644
--- a/pkgs/development/octave-modules/ocl/default.nix
+++ b/pkgs/development/octave-modules/ocl/default.nix
@@ -6,11 +6,11 @@
 
 buildOctavePackage rec {
   pname = "ocl";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0ayi5x9zk9p4zm0qsr3i94lyp5468c9d1a7mqrqjqpdvkhrw0xnm";
+    sha256 = "sha256-jQdwZwQNU3PZZFa3lp0hIr0GDt/XFHLJoq4waLI4gS8=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/octave-modules/octclip/default.nix b/pkgs/development/octave-modules/octclip/default.nix
index 43bcfcd7d849..c70a5ffc137a 100644
--- a/pkgs/development/octave-modules/octclip/default.nix
+++ b/pkgs/development/octave-modules/octclip/default.nix
@@ -1,15 +1,17 @@
 { buildOctavePackage
 , lib
-, fetchurl
+, fetchFromBitbucket
 }:
 
 buildOctavePackage rec {
   pname = "octclip";
-  version = "2.0.1";
+  version = "2.0.3";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "05ijh3izgfaan84n6zp690nap9vnz0zicjd0cgvd1c6askm7vxql";
+  src = fetchFromBitbucket {
+    owner = "jgpallero";
+    repo = pname;
+    rev = "OctCLIP-${version}";
+    sha256 = "sha256-gG2b8Ix6bzO6O7GRACE81JCVxfXW/+ZdfoniigAEq3g=";
   };
 
   # The only compilation problem is that no formatting specifier was provided
diff --git a/pkgs/development/octave-modules/octproj/default.nix b/pkgs/development/octave-modules/octproj/default.nix
index 4bb2962ed6e1..bc0dd4ea2132 100644
--- a/pkgs/development/octave-modules/octproj/default.nix
+++ b/pkgs/development/octave-modules/octproj/default.nix
@@ -1,16 +1,18 @@
 { buildOctavePackage
 , lib
-, fetchurl
+, fetchFromBitbucket
 , proj # >= 6.3.0
 }:
 
 buildOctavePackage rec {
   pname = "octproj";
-  version = "2.0.1";
+  version = "3.0.2";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1mb8gb0r8kky47ap85h9qqdvs40mjp3ya0nkh45gqhy67ml06paq";
+  src = fetchFromBitbucket {
+    owner = "jgpallero";
+    repo = pname;
+    rev = "OctPROJ-${version}";
+    sha256 = "sha256-d/Zf172Etj+GA0cnGsQaKMjOmirE7Hwyj4UECpg7QFM=";
   };
 
   # The sed changes below allow for the package to be compiled.
@@ -28,6 +30,5 @@ buildOctavePackage rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ KarlJoad ];
     description = "GNU Octave bindings to PROJ library for cartographic projections and CRS transformations";
-    broken = true; # error: unlink: operation failed: No such file or directory
   };
 }
diff --git a/pkgs/development/octave-modules/optim/default.nix b/pkgs/development/octave-modules/optim/default.nix
index 57a606d3d58d..5a99fc3f9a68 100644
--- a/pkgs/development/octave-modules/optim/default.nix
+++ b/pkgs/development/octave-modules/optim/default.nix
@@ -9,11 +9,11 @@
 
 buildOctavePackage rec {
   pname = "optim";
-  version = "1.6.1";
+  version = "1.6.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1175bckiryz0i6zm8zvq7y5rq3lwkmhyiky1gbn33np9qzxcsl3i";
+    sha256 = "sha256-VUqOGLtxla6GH1BZwU8aVXhEJlwa3bW/vzq5iFUkeH4=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/octave-modules/optiminterp/default.nix b/pkgs/development/octave-modules/optiminterp/default.nix
index 8409a10104e6..d830c563f73c 100644
--- a/pkgs/development/octave-modules/optiminterp/default.nix
+++ b/pkgs/development/octave-modules/optiminterp/default.nix
@@ -6,11 +6,11 @@
 
 buildOctavePackage rec {
   pname = "optiminterp";
-  version = "0.3.6";
+  version = "0.3.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "05nzj2jmrczbnsr64w2a7kww19s6yialdqnsbg797v11ii7aiylc";
+    sha256 = "sha256-ubh/iOZlWTOYsTA6hJfPOituNBKTn2LbBnx+tmmSEug=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/octave-modules/signal/default.nix b/pkgs/development/octave-modules/signal/default.nix
index b879b9f313a8..2579efc51889 100644
--- a/pkgs/development/octave-modules/signal/default.nix
+++ b/pkgs/development/octave-modules/signal/default.nix
@@ -6,11 +6,11 @@
 
 buildOctavePackage rec {
   pname = "signal";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "YqTgYRfcxDw2FpkF+CVdAVSBypgq6ukBOw2d8+SOcGI=";
+    sha256 = "sha256-VFuXVA6+ujtCDwiQb905d/wpOzvI/Db2uosJTOqI8zk=";
   };
 
   requiredOctavePackages = [
diff --git a/pkgs/development/octave-modules/sockets/default.nix b/pkgs/development/octave-modules/sockets/default.nix
index 688bd6a0e929..690c775f67e9 100644
--- a/pkgs/development/octave-modules/sockets/default.nix
+++ b/pkgs/development/octave-modules/sockets/default.nix
@@ -5,11 +5,11 @@
 
 buildOctavePackage rec {
   pname = "sockets";
-  version = "1.2.1";
+  version = "1.4.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "18f1zpqcf6h9b4fb0x2c5nvc3mvgj1141f1s8d9gnlhlrjlq8vqg";
+    sha256 = "sha256-GNwFLNV1u3UKJp9lhLtCclD2VSKC9Mko1hBoSn5dTpI=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/octave-modules/statistics/default.nix b/pkgs/development/octave-modules/statistics/default.nix
index 61133ec49e54..433a70f19bdc 100644
--- a/pkgs/development/octave-modules/statistics/default.nix
+++ b/pkgs/development/octave-modules/statistics/default.nix
@@ -1,16 +1,18 @@
 { buildOctavePackage
 , lib
-, fetchurl
+, fetchFromGitHub
 , io
 }:
 
 buildOctavePackage rec {
   pname = "statistics";
-  version = "1.4.2";
+  version = "1.5.4";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0iv2hw3zp7h69n8ncfjfgm29xaihdl5gp2slcw1yf23mhd7q2xkr";
+  src = fetchFromGitHub {
+    owner = "gnu-octave";
+    repo = "statistics";
+    rev = "refs/tags/release-${version}";
+    sha256 = "sha256-gFauFIaXKzcPeNvpWHv5FAxYQvZNh7ELrSUIvn43IfQ=";
   };
 
   requiredOctavePackages = [
diff --git a/pkgs/development/octave-modules/stk/default.nix b/pkgs/development/octave-modules/stk/default.nix
index 16ac7b7d03dc..fa67936d2bcd 100644
--- a/pkgs/development/octave-modules/stk/default.nix
+++ b/pkgs/development/octave-modules/stk/default.nix
@@ -5,11 +5,11 @@
 
 buildOctavePackage rec {
   pname = "stk";
-  version = "2.6.1";
+  version = "2.7.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1rqndfankwlwm4igw3xqpnrrl749zz1d5pjzh1qbfns7ixwrm19a";
+    sha256 = "sha256-vIf+XDLvLNOMwptFCgiqfl+o3PIQ+KLpsJhOArd7gMM=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/octave-modules/strings/default.nix b/pkgs/development/octave-modules/strings/default.nix
index cf5acd36855b..77353faa4e84 100644
--- a/pkgs/development/octave-modules/strings/default.nix
+++ b/pkgs/development/octave-modules/strings/default.nix
@@ -2,20 +2,25 @@
 , stdenv
 , lib
 , fetchurl
-, pcre
+, pkg-config
+, pcre2
 }:
 
 buildOctavePackage rec {
   pname = "strings";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1b0ravfvq3bxd0w3axjfsx13mmmkifmqz6pfdgyf2s8vkqnp1qng";
+    sha256 = "sha256-agpTD9FN1qdp+BYdW5f+GZV0zqZMNzeOdymdo27mTOI=";
   };
 
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
   buildInputs = [
-    pcre
+    pcre2
   ];
 
   # The gripes library no longer exists.
diff --git a/pkgs/development/octave-modules/struct/default.nix b/pkgs/development/octave-modules/struct/default.nix
index bd173aab1e37..91597d94f03e 100644
--- a/pkgs/development/octave-modules/struct/default.nix
+++ b/pkgs/development/octave-modules/struct/default.nix
@@ -5,11 +5,11 @@
 
 buildOctavePackage rec {
   pname = "struct";
-  version = "1.0.17";
+  version = "1.0.18";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0cw4cspkm553v019zsj2bsmal0i378pm0hv29w82j3v5vysvndq1";
+    sha256 = "sha256-/M6n3YTBEE7TurtHoo8F4AEqicKE85qwlAkEUJFSlM4=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/octave-modules/video/default.nix b/pkgs/development/octave-modules/video/default.nix
index 57868e83f55e..985ec3cfbf4e 100644
--- a/pkgs/development/octave-modules/video/default.nix
+++ b/pkgs/development/octave-modules/video/default.nix
@@ -8,11 +8,11 @@
 
 buildOctavePackage rec {
   pname = "video";
-  version = "2.0.0";
+  version = "2.0.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "0s6j3c4dh5nsbh84s7vnd2ajcayy1gn07b4fcyrcynch3wl28mrv";
+    sha256 = "sha256-bZNaRnmJl5UF0bQMNoEWvoIXJaB0E6/V9eChE725OHY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/octave-modules/windows/default.nix b/pkgs/development/octave-modules/windows/default.nix
index bed63aef9263..2bcff7c48ea3 100644
--- a/pkgs/development/octave-modules/windows/default.nix
+++ b/pkgs/development/octave-modules/windows/default.nix
@@ -5,11 +5,11 @@
 
 buildOctavePackage rec {
   pname = "windows";
-  version = "1.6.1";
+  version = "1.6.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "110dh6jz088c4fxp9gw79kfib0dl7r3rkcavxx4xpk7bjl2l3xb6";
+    sha256 = "sha256-U5Fe5mTn/ms8w9j6NdEtiRFZkKeyV0I3aR+zYQw4yIs=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/octave-modules/zeromq/default.nix b/pkgs/development/octave-modules/zeromq/default.nix
index 557a43a9820c..33c0d70464af 100644
--- a/pkgs/development/octave-modules/zeromq/default.nix
+++ b/pkgs/development/octave-modules/zeromq/default.nix
@@ -8,11 +8,11 @@
 
 buildOctavePackage rec {
   pname = "zeromq";
-  version = "1.5.3";
+  version = "1.5.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1h0pb2pqbnyiavf7r05j8bqxqd8syz16ab48hc74nlnx727anfwl";
+    sha256 = "sha256-MAZEpbVuragVuXrMJ8q5/jU5cTchosAtrAR6ElLwfss=";
   };
 
   preAutoreconf = ''
diff --git a/pkgs/development/php-packages/composer/default.nix b/pkgs/development/php-packages/composer/default.nix
index c8ee78a3c5d0..9b6779af04d6 100644
--- a/pkgs/development/php-packages/composer/default.nix
+++ b/pkgs/development/php-packages/composer/default.nix
@@ -1,20 +1,17 @@
-{ mkDerivation, fetchurl, makeWrapper, unzip, lib, php }:
+{ mkDerivation, fetchurl, makeBinaryWrapper, unzip, lib, php }:
 
-let
+mkDerivation rec {
   pname = "composer";
-  version = "2.5.1";
-in
-mkDerivation {
-  inherit pname version;
+  version = "2.5.4";
 
   src = fetchurl {
     url = "https://github.com/composer/composer/releases/download/${version}/composer.phar";
-    sha256 = "sha256-8blP7hGlvWoarl13yNomnfJ8cF/MgG6/TIwub6hkXCA=";
+    sha256 = "sha256-kc5sv5Rj6uhq6dXCHUL6pgGlGfP7srYjpV7iRngHm9M=";
   };
 
   dontUnpack = true;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeBinaryWrapper ];
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/development/python-modules/aardwolf/default.nix b/pkgs/development/python-modules/aardwolf/default.nix
index 9e4cac5855e6..debfd054c6e0 100644
--- a/pkgs/development/python-modules/aardwolf/default.nix
+++ b/pkgs/development/python-modules/aardwolf/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , arc4
 , asn1crypto
 , asn1tools
@@ -7,6 +8,7 @@
 , buildPythonPackage
 , colorama
 , fetchFromGitHub
+, iconv
 , minikerberos
 , pillow
 , pyperclip
@@ -20,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "aardwolf";
-  version = "0.2.1";
+  version = "0.2.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -28,15 +30,15 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "skelsec";
     repo = "aardwolf";
-    rev = "86c4b511e0dfeeb767081902af2244f6297a68eb";
-    hash = "sha256-ULczCJWVLrj0is6UYZxJNyLV6opzoJAFStqsjEmjaIA=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-xz3461QgZ2tySj2cTlKQ5faYQDSECvbk1U6QCbzM86w=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     sourceRoot = "source/aardwolf/utils/rlers";
     name = "${pname}-${version}";
-    hash = "sha256-F6NLWc5B577iH0uKAdj2y2TtQfo4eeXkMIK6he1tpvQ=";
+    hash = "sha256-JGXTCCyC20EuUX0pP3xSZG3qFB5jRL7+wW2YRC3EiCc=";
   };
 
   cargoRoot = "aardwolf/utils/rlers";
@@ -62,6 +64,8 @@ buildPythonPackage rec {
     tqdm
     unicrypto
     winsspi
+  ] ++ lib.optionals (stdenv.isDarwin) [
+    iconv
   ];
 
   # Module doesn't have tests
@@ -74,6 +78,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Asynchronous RDP protocol implementation";
     homepage = "https://github.com/skelsec/aardwolf";
+    changelog = "https://github.com/skelsec/aardwolf/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index 20853b133955..f92071b27a82 100644
--- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.41.0";
+  version = "3.42.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    hash = "sha256-NWdY1ykuF8mYxXPCwaVq6mEkQXHrUmhEy/BXDFYn2V0=";
+    hash = "sha256-nFpPJKQv7UNsza1PAcTsZNVp9nFVa/pHlvNRVM4UIUY=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/adblock/default.nix b/pkgs/development/python-modules/adblock/default.nix
index 7dfe54fddbc4..87f42fbd35b6 100644
--- a/pkgs/development/python-modules/adblock/default.nix
+++ b/pkgs/development/python-modules/adblock/default.nix
@@ -39,6 +39,11 @@ buildPythonPackage rec {
     })
   ];
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "0.0.0" "${version}"
+  '';
+
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
@@ -85,6 +90,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python wrapper for Brave's adblocking library";
     homepage = "https://github.com/ArniDagur/python-adblock/";
+    changelog = "https://github.com/ArniDagur/python-adblock/blob/${version}/CHANGELOG.md";
     maintainers = with maintainers; [ dotlambda ];
     license = with licenses; [ asl20 /* or */ mit ];
   };
diff --git a/pkgs/development/python-modules/aeppl/default.nix b/pkgs/development/python-modules/aeppl/default.nix
index 7be777cef026..5940bc86a599 100644
--- a/pkgs/development/python-modules/aeppl/default.nix
+++ b/pkgs/development/python-modules/aeppl/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aeppl";
-  version = "0.1.2";
+  version = "0.1.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "aesara-devs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-SxMuYKnV4VBv38CcAI7NCvHutSEB+coHnw5b1RPEpzY=";
+    hash = "sha256-IVABUFGOLHexiiQrtXWertddYqGfFEqqWG9+ca10p+U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aesara/default.nix b/pkgs/development/python-modules/aesara/default.nix
index 9e053547835e..1d6abad17b49 100644
--- a/pkgs/development/python-modules/aesara/default.nix
+++ b/pkgs/development/python-modules/aesara/default.nix
@@ -1,11 +1,13 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
 , buildPythonPackage
 , cons
 , cython
 , etuples
 , fetchFromGitHub
 , filelock
+, hatch-vcs
+, hatchling
 , jax
 , jaxlib
 , logical-unification
@@ -22,7 +24,7 @@
 buildPythonPackage rec {
   pname = "aesara";
   version = "2.8.12";
-  format = "setuptools";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -35,6 +37,8 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     cython
+    hatch-vcs
+    hatchling
   ];
 
   propagatedBuildInputs = [
@@ -57,7 +61,7 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
-    substituteInPlace setup.cfg \
+    substituteInPlace pyproject.toml \
       --replace "--durations=50" ""
   '';
 
@@ -75,12 +79,20 @@ buildPythonPackage rec {
     "tests/tensor/"
     "tests/sandbox/"
     "tests/sparse/sandbox/"
+    # JAX is not available on all platform and often broken
+    "tests/link/jax/"
+  ];
+
+  disabledTests = [
+    # Disable all benchmark tests
+    "test_scan_multiple_output"
+    "test_logsumexp_benchmark"
   ];
 
   meta = with lib; {
     description = "Python library to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays";
     homepage = "https://github.com/aesara-devs/aesara";
-    changelog = "https://github.com/aesara-devs/aesara/releases";
+    changelog = "https://github.com/aesara-devs/aesara/releases/tag/rel-${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ Etjean ];
     broken = (stdenv.isLinux && stdenv.isAarch64);
diff --git a/pkgs/development/python-modules/affine/default.nix b/pkgs/development/python-modules/affine/default.nix
index d474caa938de..4f121cbdbf94 100644
--- a/pkgs/development/python-modules/affine/default.nix
+++ b/pkgs/development/python-modules/affine/default.nix
@@ -1,21 +1,37 @@
-{ buildPythonPackage, pytest, lib, fetchPypi }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, flit-core
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "affine";
   version = "2.4.0";
 
+  disabled = pythonOlder "3.7";
+
+  format = "pyproject";
+
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-ok2BjWqDbBMZdtIvjCe408oy0K9kwdjSnet7r6TaHuo=";
   };
 
-  nativeCheckInputs = [ pytest ];
-  checkPhase = "py.test";
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
+    changelog = "https://github.com/rasterio/affine/blob/${version}/CHANGES.txt";
     description = "Matrices describing affine transformation of the plane";
     license = licenses.bsd3;
-    homepage = "https://github.com/sgillies/affine";
+    homepage = "https://github.com/rasterio/affine";
     maintainers = with maintainers; [ mredaelli ];
   };
 
diff --git a/pkgs/development/python-modules/aiomusiccast/default.nix b/pkgs/development/python-modules/aiomusiccast/default.nix
index 51c43d5cf96a..f2639400bb72 100644
--- a/pkgs/development/python-modules/aiomusiccast/default.nix
+++ b/pkgs/development/python-modules/aiomusiccast/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aiomusiccast";
-  version = "0.14.7";
+  version = "0.14.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "vigonotion";
     repo = "aiomusiccast";
     rev = "refs/tags/${version}";
-    hash = "sha256-6fHTZ5zFiXuyFtZj9cNH5ejLbzx/1cEBUy+fs+Q6O4Y=";
+    hash = "sha256-V4xl2QY+pPEnJtx7dxSNj/aXqHvV9Z6uuWgbVHNyLjA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aws-lambda-builders/default.nix b/pkgs/development/python-modules/aws-lambda-builders/default.nix
index 28c1c2c7fef8..f33dae1b1b7f 100644
--- a/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -50,6 +50,7 @@ buildPythonPackage rec {
     "TestPipRunner"
     "TestPythonPipWorkflow"
     "TestRubyWorkflow"
+    "TestRustCargo"
     # Tests which are passing locally but not on Hydra
     "test_copy_dependencies_action_1_multiple_files"
     "test_move_dependencies_action_1_multiple_files"
diff --git a/pkgs/development/python-modules/azure-keyvault-administration/default.nix b/pkgs/development/python-modules/azure-keyvault-administration/default.nix
index eddb6f05ad0d..07d608dfa56f 100644
--- a/pkgs/development/python-modules/azure-keyvault-administration/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault-administration/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "azure-keyvault-administration";
-  version = "4.2.0";
+  version = "4.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-2Xuyx1dAJRgiDEetQu1qnzTua7l/G5eSWOTI/UI/z00=";
+    hash = "sha256-PuKjui0OP0ODNErjbjJ90hOgee97JDrVT2sh+MufxWY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-storage-file-share/default.nix b/pkgs/development/python-modules/azure-storage-file-share/default.nix
index 2b2d22ec13c0..ffd578524ebf 100644
--- a/pkgs/development/python-modules/azure-storage-file-share/default.nix
+++ b/pkgs/development/python-modules/azure-storage-file-share/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "azure-storage-file-share";
-  version = "12.11.0";
+  version = "12.11.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-RlKL2q3O2gazyK7kCZLjgZZJ1K6vD0H2jpUV8epuhmQ=";
+    hash = "sha256-lyVbyZUDWyHZIuFPM47kY2LXlNjDXjF6soyhhIdayLA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/basemap/default.nix b/pkgs/development/python-modules/basemap/default.nix
index aa7bfea43157..07ebb4ebc475 100644
--- a/pkgs/development/python-modules/basemap/default.nix
+++ b/pkgs/development/python-modules/basemap/default.nix
@@ -11,6 +11,7 @@
 , pyproj
 , pyshp
 , python
+, pythonRelaxDepsHook
 , setuptools
 }:
 
@@ -30,9 +31,12 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     cython
     geos
+    pythonRelaxDepsHook
     setuptools
   ];
 
+  pythonRelaxDeps = true;
+
   propagatedBuildInputs = [
     basemap-data
     numpy
diff --git a/pkgs/development/python-modules/blebox-uniapi/default.nix b/pkgs/development/python-modules/blebox-uniapi/default.nix
index 82bdbe2fdd70..0bd3562e6025 100644
--- a/pkgs/development/python-modules/blebox-uniapi/default.nix
+++ b/pkgs/development/python-modules/blebox-uniapi/default.nix
@@ -3,7 +3,6 @@
 , fetchFromGitHub
 , aiohttp
 , semver
-, asynctest
 , deepmerge
 , pytest-asyncio
 , pytestCheckHook
@@ -35,7 +34,6 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    asynctest
     deepmerge
     pytest-asyncio
     pytestCheckHook
@@ -46,7 +44,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/blebox/blebox_uniapi/blob/${src.rev}/HISTORY.rst";
+    changelog = "https://github.com/blebox/blebox_uniapi/blob/${version}/HISTORY.rst";
     description = "Python API for accessing BleBox smart home devices";
     homepage = "https://github.com/blebox/blebox_uniapi";
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/clintermission/default.nix b/pkgs/development/python-modules/clintermission/default.nix
index b5df005978c4..c4bf46135aa8 100644
--- a/pkgs/development/python-modules/clintermission/default.nix
+++ b/pkgs/development/python-modules/clintermission/default.nix
@@ -1,21 +1,22 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, isPy3k
-, prompt-toolkit }:
+, pythonOlder
+, prompt-toolkit
+}:
 
 buildPythonPackage rec {
   pname = "clintermission";
-  version = "0.2.0";
+  version = "0.3.0";
   format = "setuptools";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "sebageek";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "09wl0rpw6c9hab51rs957z64b0v9j4fcbqbn726wnapf4z5w6yxv";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-HPeO9K91a0MacSUN0SR0lPEWRTQgP/cF1FZaNvZLxAg=";
   };
 
   propagatedBuildInputs = [
@@ -32,6 +33,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Non-fullscreen command-line selection menu";
     homepage = "https://github.com/sebageek/clintermission";
+    changelog = "https://github.com/sebageek/clintermission/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ SuperSandro2000 ];
   };
diff --git a/pkgs/development/python-modules/debugpy/default.nix b/pkgs/development/python-modules/debugpy/default.nix
index d6dfff0ad795..95f2d8b21eef 100644
--- a/pkgs/development/python-modules/debugpy/default.nix
+++ b/pkgs/development/python-modules/debugpy/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, fetchpatch
 , substituteAll
 , gdb
 , django
@@ -37,6 +38,12 @@ buildPythonPackage rec {
       inherit version;
     })
 
+    # https://github.com/microsoft/debugpy/issues/1230
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/microsoft/debugpy/pull/1232.patch";
+      sha256 = "sha256-m5p+xYiJ4w4GcaFIaPmlnErp/7WLwcvJmaCqa2SeSxU=";
+    })
+
     # Fix importing debugpy in:
     # - test_nodebug[module-launch(externalTerminal)]
     # - test_nodebug[module-launch(integratedTerminal)]
@@ -100,10 +107,14 @@ buildPythonPackage rec {
   pytestFlagsArray = [
     "--timeout=0"
   ];
-
   # Fixes hanging tests on Darwin
   __darwinAllowLocalNetworking = true;
 
+  disabledTests = [
+    # https://github.com/microsoft/debugpy/issues/1241
+    "test_flask_breakpoint_multiproc"
+  ];
+
   pythonImportsCheck = [
     "debugpy"
   ];
diff --git a/pkgs/development/python-modules/easyenergy/default.nix b/pkgs/development/python-modules/easyenergy/default.nix
index 99a6a72d499b..a77cd77b05ca 100644
--- a/pkgs/development/python-modules/easyenergy/default.nix
+++ b/pkgs/development/python-modules/easyenergy/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "easyenergy";
-  version = "0.2.1";
+  version = "0.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "klaasnicolaas";
     repo = "python-easyenergy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FjqkePMD55LWLwL6ZWzKwCI0tcYACPdRuci5fy6n02s=";
+    hash = "sha256-jo9Gn5ZPm9jSTB4m1yy779hqzby9abFFDSnKLxYqccg=";
   };
 
   postPatch = ''
@@ -51,6 +51,20 @@ buildPythonPackage rec {
     "easyenergy"
   ];
 
+  disabledTests = [
+    # Tests require network access
+    "test_json_request"
+    "test_internal_session"
+    "test_electricity_model_usage"
+    "test_electricity_model_return"
+    "test_electricity_none_data"
+    "test_no_electricity_data"
+    "test_gas_morning_model"
+    "test_gas_model"
+    "test_gas_none_data"
+    "test_no_gas_data"
+  ];
+
   meta = with lib; {
     description = "Module for getting energy/gas prices from easyEnergy";
     homepage = "https://github.com/klaasnicolaas/python-easyenergy";
diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix
index 379fa2b7d06b..b71ba532c2e6 100644
--- a/pkgs/development/python-modules/fakeredis/default.nix
+++ b/pkgs/development/python-modules/fakeredis/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "fakeredis";
-  version = "2.10.1";
+  version = "2.10.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "dsoftwareinc";
     repo = "fakeredis-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5jtI7EemKi0w/ezr/jLFQFndvqOjVE0SUm1urluKusY=";
+    hash = "sha256-ZQC8KNHM6Nnytkr6frZMl5mBVPkpduWZwwooCPymbFY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix b/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix
index 8c532925834d..299e34d6db14 100644
--- a/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix
+++ b/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix
@@ -39,6 +39,11 @@ buildPythonPackage rec {
     "faraday_agent_parameters_types.utils"
   ];
 
+  disabledTests = [
+    # assert 'Version requested not valid' in "Invalid version: 'hola'"
+    "test_incorrect_version_requested"
+  ];
+
   meta = with lib; {
     description = "Collection of Faraday agent parameters types";
     homepage = "https://github.com/infobyte/faraday_agent_parameters_types";
diff --git a/pkgs/development/python-modules/flask-restx/default.nix b/pkgs/development/python-modules/flask-restx/default.nix
index d2b30ba052fd..cdee90d222a6 100644
--- a/pkgs/development/python-modules/flask-restx/default.nix
+++ b/pkgs/development/python-modules/flask-restx/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "flask-restx";
-  version = "1.0.6";
+  version = "1.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "python-restx";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Rp+TQjAZqgIS6jmj0PAqshD+5a3JPOr2Qw5l4INxK/Y=";
+    hash = "sha256-alXuo6TGDX2ko6VIKpAtyrg0EBkxEnC3DabH8GYqEs0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/humblewx/default.nix b/pkgs/development/python-modules/humblewx/default.nix
index 58672a3663e5..a134981485c6 100644
--- a/pkgs/development/python-modules/humblewx/default.nix
+++ b/pkgs/development/python-modules/humblewx/default.nix
@@ -1,7 +1,7 @@
 { lib
 , fetchFromGitHub
 , buildPythonPackage
-, wxPython_4_0
+, wxPython_4_2
 , python
 }:
 
@@ -16,8 +16,7 @@ buildPythonPackage rec {
     sha256 = "0fv8gwlbcj000qq34inbwgxf0xgibs590dsyqnw0mmyb7f1iq210";
   };
 
-  # timeline is not compatible with wxPython_4_1. reported upstream
-  propagatedBuildInputs = [ wxPython_4_0 ];
+  propagatedBuildInputs = [ wxPython_4_2 ];
 
   checkPhase = ''
     runHook preCheck
diff --git a/pkgs/development/python-modules/idasen/default.nix b/pkgs/development/python-modules/idasen/default.nix
index 544ecba1c40d..56523d538d5d 100644
--- a/pkgs/development/python-modules/idasen/default.nix
+++ b/pkgs/development/python-modules/idasen/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "idasen";
-  version = "0.9.5";
+  version = "0.9.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "newAM";
     repo = "idasen";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tjjoKUaX1v06I43TkkvKRHmd1rDuXqjEIHSTatbzyQk=";
+    hash = "sha256-t8w4USDzyS0k5yk0XtQF8fVffzdf+udKSkdveMlseHk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/installer/default.nix b/pkgs/development/python-modules/installer/default.nix
index b52e6c7283e1..9d3c8185322a 100644
--- a/pkgs/development/python-modules/installer/default.nix
+++ b/pkgs/development/python-modules/installer/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "installer";
-  version = "0.6.0";
+  version = "0.7.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pradyunsg";
     repo = pname;
     rev = version;
-    hash = "sha256-IXznSrc/4LopgZDGFSC6cAOCbts+siKpdl5SvN1FFvA=";
+    hash = "sha256-thHghU+1Alpay5r9Dc3v7ATRFfYKV8l9qR0nbGOOX/A=";
   };
 
   nativeBuildInputs = [ flit-core ];
@@ -27,8 +27,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/pypa/installer/blob/${src.rev}/docs/changelog.md";
     homepage = "https://github.com/pradyunsg/installer";
-    description = "A low-level library for installing a Python package from a wheel distribution.";
+    description = "A low-level library for installing a Python package from a wheel distribution";
     license = licenses.mit;
     maintainers = with maintainers; [ cpcloud fridh ];
   };
diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix
index cac243e72b1d..f5c9bdfed9e2 100644
--- a/pkgs/development/python-modules/labelbox/default.nix
+++ b/pkgs/development/python-modules/labelbox/default.nix
@@ -5,6 +5,8 @@
 , geojson
 , google-api-core
 , imagesize
+, nbconvert
+, nbformat
 , ndjson
 , numpy
 , opencv
@@ -42,7 +44,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pytest.ini \
-      --replace "-s -vv -x --reruns 5 --reruns-delay 10 --durations=20" "-s -vv -x --durations=20"
+      --replace "--reruns 5 --reruns-delay 10" ""
   '';
 
   nativeBuildInputs = [
@@ -79,6 +81,8 @@ buildPythonPackage rec {
   };
 
   nativeCheckInputs = [
+    nbconvert
+    nbformat
     pytest-cases
     pytestCheckHook
   ] ++ passthru.optional-dependencies.data;
@@ -90,6 +94,11 @@ buildPythonPackage rec {
     "tests/data"
   ];
 
+  pytestFlagsArray = [
+    # see tox.ini
+    "-k 'not notebooks'"
+  ];
+
   pythonImportsCheck = [
     "labelbox"
   ];
diff --git a/pkgs/development/python-modules/lightwave2/default.nix b/pkgs/development/python-modules/lightwave2/default.nix
index 964806911d94..07f23d4312ed 100644
--- a/pkgs/development/python-modules/lightwave2/default.nix
+++ b/pkgs/development/python-modules/lightwave2/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "lightwave2";
-  version = "0.8.19";
+  version = "0.8.21";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-S4nHJMaSX8qCYoUnMqb6AbObTR96Wg098FJAM+dQJTc=";
+    hash = "sha256-Zgsgt78ll/5NVSca4lnxXYkiw5FE2WgcO10o/IZaHgQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/m2crypto/default.nix b/pkgs/development/python-modules/m2crypto/default.nix
index 3d8475530bd8..350f081db8ba 100644
--- a/pkgs/development/python-modules/m2crypto/default.nix
+++ b/pkgs/development/python-modules/m2crypto/default.nix
@@ -34,6 +34,11 @@ buildPythonPackage rec {
       url = "https://src.fedoraproject.org/rpms/m2crypto/raw/42951285c800f72e0f0511cec39a7f49e970a05c/f/m2crypto-0.38-ossl3-tests-evp.patch";
       hash = "sha256-jMUAphVBQMFaOJSeYUCQMV3WSe9VDQqG6GY5fDQXZnA=";
     })
+    # Fix the readline test https://gitlab.com/m2crypto/m2crypto/-/issues/286
+    (fetchpatch {
+      url = "https://gitlab.com/m2crypto/m2crypto/-/commit/b8addc7ad9990d1ba3786830ebd74aa8c939849d.patch";
+      hash = "sha256-M5mrmJVCT0fASvERLKa/MR+EY2hzRGIkyUfguVBPKNk=";
+    })
   ];
 
   nativeBuildInputs = [ swig2 openssl ];
diff --git a/pkgs/development/python-modules/mautrix/default.nix b/pkgs/development/python-modules/mautrix/default.nix
index 528dc2da3e66..6ceab3ef3362 100644
--- a/pkgs/development/python-modules/mautrix/default.nix
+++ b/pkgs/development/python-modules/mautrix/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "mautrix";
-  version = "0.19.4";
+  version = "0.19.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "mautrix";
     repo = "python";
     rev = "v${version}";
-    hash = "sha256-zPcqM+Ge7K4pJD4K0MkkGdSiYvXxe0K1qbfHzVYmGx0=";
+    hash = "sha256-Km6Lh4iKUBwQcsChTrV9yCaPhVBINJotp/5XnPfoOMk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix
index e7debfaceb87..012c952a9800 100644
--- a/pkgs/development/python-modules/mypy/default.nix
+++ b/pkgs/development/python-modules/mypy/default.nix
@@ -53,8 +53,9 @@ buildPythonPackage rec {
     })
     (fetchpatch {
       # https://github.com/python/mypy/pull/14787
-      url = "https://github.com/AlexWaygood/mypy/commit/8e459eab40ac0fae9740e985ee4aeb348cde28c5.patch";
-      hash = "sha256-R7DU6MFnaeHPobUb8ADhssTKDwdPBXBhDN2mxrrQ51M=";
+      url = "https://github.com/python/mypy/commit/243f584d43e6eb316920f3155067ce7c1b65d473.patch";
+      hash = "sha256-uuh3S5ZyuJeTXyMvav2uSEao2qq23xMjK8rJjkY8RCY=";
+      includes = [ "mypyc/build.py" ];
     })
   ];
 
diff --git a/pkgs/development/python-modules/nextcloudmonitor/default.nix b/pkgs/development/python-modules/nextcloudmonitor/default.nix
index d8e05f8459eb..35ac2a4b6ce7 100644
--- a/pkgs/development/python-modules/nextcloudmonitor/default.nix
+++ b/pkgs/development/python-modules/nextcloudmonitor/default.nix
@@ -6,13 +6,15 @@
 
 buildPythonPackage rec {
   pname = "nextcloudmonitor";
-  version = "1.2.0";
+  version = "1.3.0";
+
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "meichthys";
     repo = "nextcloud_monitor";
     rev = "v${version}";
-    sha256 = "0b0c7gzx1d5kgbsfj1lbrqsirc5g5br6v8w2njaj1ys03kj669cx";
+    hash = "sha256-Ivo5dqKcvE1e+1crZNzKHydprtMXkZdzDl4MsZviLQQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/oralb-ble/default.nix b/pkgs/development/python-modules/oralb-ble/default.nix
index 689cd7903368..5eb5d0ce83fe 100644
--- a/pkgs/development/python-modules/oralb-ble/default.nix
+++ b/pkgs/development/python-modules/oralb-ble/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "oralb-ble";
-  version = "0.17.5";
+  version = "0.17.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Lwrr5XzU2pbx3cYkvYtHgXFhGnz3cMBnNFWCpuY3ltg=";
+    hash = "sha256-6LnZ+Y68sl0uA5i764n4fFJnPeo+bAi/xgEvTK6LkXY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
index 2c65ef85183c..3e9d3534a314 100644
--- a/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/pkgs/development/python-modules/peaqevcore/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "peaqevcore";
-  version = "13.2.2";
+  version = "13.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-N/tLoZNiMY1rzzToVvE9U4buUsmsDEcnKPOuifh7qg0=";
+    hash = "sha256-1faEVqSGhRr+CaRHgZMS093fSC3hBgK2CX0oCxAIjCU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/py-serializable/default.nix b/pkgs/development/python-modules/py-serializable/default.nix
new file mode 100644
index 000000000000..c27296e851c6
--- /dev/null
+++ b/pkgs/development/python-modules/py-serializable/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, defusedxml
+, fetchFromGitHub
+, lxml
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, xmldiff
+}:
+
+buildPythonPackage rec {
+  pname = "py-serializable";
+  version = "0.12.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "madpah";
+    repo = "serializable";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-TnO8mkRJfdTO1sA26bqh46EMes2TpLXJwpDdrvPPC9g=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    defusedxml
+  ];
+
+  nativeCheckInputs = [
+    lxml
+    pytestCheckHook
+    xmldiff
+  ];
+
+  pythonImportsCheck = [
+    "serializable"
+  ];
+
+  meta = with lib; {
+    description = "Pythonic library to aid with serialisation and deserialisation to/from JSON and XML";
+    homepage = "https://github.com/madpah/serializable";
+    changelog = "https://github.com/madpah/serializable/blob/${version}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/py-synologydsm-api/default.nix b/pkgs/development/python-modules/py-synologydsm-api/default.nix
index 0ae3cf8bd0d1..3fe4fb711dbf 100644
--- a/pkgs/development/python-modules/py-synologydsm-api/default.nix
+++ b/pkgs/development/python-modules/py-synologydsm-api/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "py-synologydsm-api";
-  version = "2.1.4";
+  version = "2.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "mib1185";
     repo = "py-synologydsm-api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-37JzdhMny6YDTBO9NRzfrZJAVAOPnpcr95fOKxisbTg=";
+    hash = "sha256-L+i6PpN+3CgPp1X/EUQTXz1IUW3S0BJuuPPT4LKBtWs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pygls/default.nix b/pkgs/development/python-modules/pygls/default.nix
index 5560e855d87f..7ca6b344c9a2 100644
--- a/pkgs/development/python-modules/pygls/default.nix
+++ b/pkgs/development/python-modules/pygls/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
@@ -45,6 +46,11 @@ buildPythonPackage rec {
   # Fixes hanging tests on Darwin
   __darwinAllowLocalNetworking = true;
 
+  preCheck = lib.optionalString stdenv.isDarwin ''
+    # Darwin issue: OSError: [Errno 24] Too many open files
+    ulimit -n 1024
+  '';
+
   pythonImportsCheck = [ "pygls" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pymodbus/default.nix b/pkgs/development/python-modules/pymodbus/default.nix
index e9cf439d36c1..bc2fa19032f2 100644
--- a/pkgs/development/python-modules/pymodbus/default.nix
+++ b/pkgs/development/python-modules/pymodbus/default.nix
@@ -1,6 +1,5 @@
 { lib
 , aiohttp
-, asynctest
 , buildPythonPackage
 , click
 , fetchFromGitHub
@@ -43,7 +42,6 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    asynctest
     mock
     pytest-asyncio
     pytest-rerunfailures
diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix
index 075444ca17bd..d1b4d15bc87d 100644
--- a/pkgs/development/python-modules/pymupdf/default.nix
+++ b/pkgs/development/python-modules/pymupdf/default.nix
@@ -1,15 +1,18 @@
 { lib
+, stdenv
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
-, mupdf
 , swig
+, xcbuild
+, mupdf
 , freetype
 , harfbuzz
 , openjpeg
 , jbig2dec
 , libjpeg_turbo
 , gumbo
-, pythonOlder
+, memstreamHook
 }:
 
 buildPythonPackage rec {
@@ -31,6 +34,8 @@ buildPythonPackage rec {
   '';
   nativeBuildInputs = [
     swig
+  ] ++ lib.optionals stdenv.isDarwin [
+    xcbuild
   ];
 
   buildInputs = [
@@ -41,6 +46,8 @@ buildPythonPackage rec {
     jbig2dec
     libjpeg_turbo
     gumbo
+  ] ++ lib.optionals (stdenv.system == "x86_64-darwin") [
+    memstreamHook
   ];
 
   doCheck = false;
@@ -55,6 +62,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/pymupdf/PyMuPDF/releases/tag/${version}";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ teto ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/pyproj/default.nix b/pkgs/development/python-modules/pyproj/default.nix
index f847fedc5ec1..3d781098dbed 100644
--- a/pkgs/development/python-modules/pyproj/default.nix
+++ b/pkgs/development/python-modules/pyproj/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , python
 , proj
 , pythonOlder
@@ -34,6 +35,23 @@ buildPythonPackage rec {
       proj = proj;
       projdev = proj.dev;
     })
+    # update tests for PROJ 9.2
+    (fetchpatch {
+      url = "https://github.com/pyproj4/pyproj/commit/59d16f57387bbd09b4d61ab95ac520cfec103af1.patch";
+      hash = "sha256-pSDkb+c02KNNlGPwBN/9TQdVJorLr2xvvFB92h84OsQ=";
+    })
+    (fetchpatch {
+      url = "https://github.com/pyproj4/pyproj/commit/dd06b3fee4eaafe80da3414560107ecdda42f5e0.patch";
+      hash = "sha256-6CFVdtovfGqWGXq4auX2DtY7sT4Y0amTJ7phjq5emYM=";
+    })
+    (fetchpatch {
+      url = "https://github.com/pyproj4/pyproj/commit/9283f962e4792da2a7f05ba3735c1ed7f3479502.patch";
+      hash = "sha256-GVYXOAQBHL5WkAF7OczHyGxo7vq8LmT7I/R1jUPCxi4=";
+    })
+    (fetchpatch {
+      url = "https://github.com/pyproj4/pyproj/commit/9dfbb2465296cc8f0de2ff1d68a9b65f7cef52e1.patch";
+      hash = "sha256-F+qS9JZF0JjqyapFhEhIcZ/WHJyfI3jiMC8K7uTpWUA=";
+    })
   ];
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/pyscreenshot/default.nix b/pkgs/development/python-modules/pyscreenshot/default.nix
index 0457edb1450e..1daeb9408778 100644
--- a/pkgs/development/python-modules/pyscreenshot/default.nix
+++ b/pkgs/development/python-modules/pyscreenshot/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pyscreenshot";
-  version = "3.0";
+  version = "3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dd4fdfaeb617483913a6b16845b9f428de5db28758979f4b6cf8f236d292b908";
+    sha256 = "sha256-jA6T8K72amv+Vahqv87WvTlq5LT2zB428EoorSYlWU0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-twisted/default.nix b/pkgs/development/python-modules/pytest-twisted/default.nix
index 789af6769415..198d21083e27 100644
--- a/pkgs/development/python-modules/pytest-twisted/default.nix
+++ b/pkgs/development/python-modules/pytest-twisted/default.nix
@@ -4,21 +4,37 @@
 , greenlet
 , pytest
 , decorator
+, twisted
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pytest-twisted";
-  version = "1.13.2";
+  version = "1.14.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    sha256 = "cee2320becc5625050ab221b8f38533e636651a24644612f4726891fdf1f1847";
+    sha256 = "sha256-IJv1pkUs+/th3o8BWQLBTsgSZACRFQcHS7LuTOjf4xM=";
   };
 
-  buildInputs = [ pytest ];
+  buildInputs = [
+    pytest
+  ];
 
-  propagatedBuildInputs = [ greenlet decorator ];
+  propagatedBuildInputs = [
+    decorator
+    greenlet
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    twisted
+  ];
+
+  pythonImportsCheck = [
+    "pytest_twisted"
+  ];
 
   meta = with lib; {
     description = "A twisted plugin for py.test";
diff --git a/pkgs/development/python-modules/python-songpal/default.nix b/pkgs/development/python-modules/python-songpal/default.nix
index c01819d67305..44deb68dc6d9 100644
--- a/pkgs/development/python-modules/python-songpal/default.nix
+++ b/pkgs/development/python-modules/python-songpal/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "python-songpal";
-  version = "0.15.1";
+  version = "0.15.2";
 
   format = "pyproject";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "rytilahti";
     repo = "python-songpal";
     rev = "refs/tags/release/${version}";
-    hash = "sha256-FX5pDWjUhrhK5B7zEfvihN77pSNi2QltRu0xbkUdc/c=";
+    hash = "sha256-bAlMOxX4rx4URk+xvlte7l005i3H0VDaH67AWMdhTeY=";
   };
 
   nativeBuildInputs = [
@@ -45,6 +45,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library for interfacing with Sony's Songpal devices";
     homepage = "https://github.com/rytilahti/python-songpal";
+    changelog = "https://github.com/rytilahti/python-songpal/blob/release/${version}/CHANGELOG.md";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/pyvista/default.nix b/pkgs/development/python-modules/pyvista/default.nix
index 58887ed32468..6b2903d7ba20 100644
--- a/pkgs/development/python-modules/pyvista/default.nix
+++ b/pkgs/development/python-modules/pyvista/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pyvista";
-  version = "0.38.4";
+  version = "0.38.5";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-lOubi5di7K/Q/N/VMPMqC5hr3q69PR+4EgL+zde9j78=";
+    hash = "sha256-2EH9S67xj3Z2wHWAvBt7alZPZj5/K5787cQnE53lzA0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pywebview/default.nix b/pkgs/development/python-modules/pywebview/default.nix
index d4bbe0b590e9..913b116c29ec 100644
--- a/pkgs/development/python-modules/pywebview/default.nix
+++ b/pkgs/development/python-modules/pywebview/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, bottle
 , importlib-resources
 , proxy_tools
 , pygobject3
@@ -32,6 +33,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    bottle
     pyqtwebengine
     proxy_tools
     six
diff --git a/pkgs/development/python-modules/pywlroots/default.nix b/pkgs/development/python-modules/pywlroots/default.nix
index 8d547239f089..68a4753ba06d 100644
--- a/pkgs/development/python-modules/pywlroots/default.nix
+++ b/pkgs/development/python-modules/pywlroots/default.nix
@@ -9,29 +9,30 @@
 , pixman
 , pythonOlder
 , udev
-, wlroots_0_16
+, wlroots
 , wayland
 , pywayland
 , xkbcommon
 , xorg
 , pytestCheckHook
+, qtile
 }:
 
 buildPythonPackage rec {
   pname = "pywlroots";
-  version = "0.16.1";
+  version = "0.15.24";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GFJw88N0313PudM0o/jOvtoE3u8kSoV+lYgKlNya4wM=";
+    hash = "sha256-TvYhxiAbK+mpcEE9y79WH96dzeDnvI0xPaUxSYQqyHE=";
   };
 
   nativeBuildInputs = [ pkg-config ];
   propagatedNativeBuildInputs = [ cffi ];
-  buildInputs = [ libinput libxkbcommon pixman xorg.libxcb udev wayland wlroots_0_16 ];
+  buildInputs = [ libinput libxkbcommon pixman xorg.libxcb udev wayland wlroots ];
   propagatedBuildInputs = [ cffi pywayland xkbcommon ];
   nativeCheckInputs = [ pytestCheckHook ];
 
@@ -41,6 +42,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "wlroots" ];
 
+  passthru.tests = { inherit qtile; };
+
   meta = with lib; {
     homepage = "https://github.com/flacjacket/pywlroots";
     description = "Python bindings to wlroots using cffi";
diff --git a/pkgs/development/python-modules/rpy2/default.nix b/pkgs/development/python-modules/rpy2/default.nix
index 94e5027c5b3f..58af90fe076c 100644
--- a/pkgs/development/python-modules/rpy2/default.nix
+++ b/pkgs/development/python-modules/rpy2/default.nix
@@ -24,13 +24,13 @@
 }:
 
 buildPythonPackage rec {
-    version = "3.5.9";
+    version = "3.5.10";
     pname = "rpy2";
 
     disabled = isPyPy;
     src = fetchPypi {
       inherit version pname;
-      hash = "sha256-iaDX40Bld5VVjg22v52PE5VCi6EYr5AjUV3ako5pRPA=";
+      hash = "sha256-+B8K+wHjxvUVwJVzvFhcDhx+OF7IFBXOCmImjGBex/w=";
     };
 
     patches = [
diff --git a/pkgs/development/python-modules/rst2pdf/default.nix b/pkgs/development/python-modules/rst2pdf/default.nix
index ecf06468f7c8..7bb8ac8545a0 100644
--- a/pkgs/development/python-modules/rst2pdf/default.nix
+++ b/pkgs/development/python-modules/rst2pdf/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "rst2pdf";
-  version = "0.99";
+  version = "0.100";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8fa23fa93bddd1f52d058ceaeab6582c145546d80f2f8a95974f3703bd6c8152";
+    sha256 = "sha256-Zkw8FubT3qJ06ECkNurE26bLUKtq8xYvydVxa+PLe0I=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/python-modules/schema-salad/default.nix b/pkgs/development/python-modules/schema-salad/default.nix
index 323406e15283..7e0e7bdbd8bc 100644
--- a/pkgs/development/python-modules/schema-salad/default.nix
+++ b/pkgs/development/python-modules/schema-salad/default.nix
@@ -50,6 +50,7 @@ buildPythonPackage rec {
     "test_outputBinding"
     # Test requires network
     "test_yaml_tab_error"
+    "test_bad_schemas"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/skodaconnect/default.nix b/pkgs/development/python-modules/skodaconnect/default.nix
index 8ea58cbf7b73..e13bb2b57d80 100644
--- a/pkgs/development/python-modules/skodaconnect/default.nix
+++ b/pkgs/development/python-modules/skodaconnect/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "skodaconnect";
-  version = "1.3.4";
+  version = "1.3.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "lendy007";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-bjFXrhwIGB50upL++VnrrfzFhxFOrxgYhoNZqkbvZ9w=";
+    hash = "sha256-gLk+Dj2x2OHa6VIIoA7FesDKtg180MuCud2nYk9mYpM=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/strenum/default.nix b/pkgs/development/python-modules/strenum/default.nix
index 963680c4113b..195999cbe47b 100644
--- a/pkgs/development/python-modules/strenum/default.nix
+++ b/pkgs/development/python-modules/strenum/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "strenum";
-  version = "0.4.9";
+  version = "0.4.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "irgeek";
     repo = "StrEnum";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tElXpwyjrgTw9eHqGPgXakY+G9JXkBQYG7jSZSjv6P0=";
+    hash = "sha256-OkNV4kUXGgYPGuyylGOtAr0e0spgZQ1MrftKKL2HmV8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/subliminal/default.nix b/pkgs/development/python-modules/subliminal/default.nix
index 8c904808be25..0b6d801c8ed0 100644
--- a/pkgs/development/python-modules/subliminal/default.nix
+++ b/pkgs/development/python-modules/subliminal/default.nix
@@ -1,55 +1,95 @@
 { lib
-, fetchPypi
-, buildPythonPackage
-, guessit
+, appdirs
 , babelfish
-, enzyme
 , beautifulsoup4
-, requests
+, buildPythonPackage
+, chardet
 , click
 , dogpile-cache
-, stevedore
-, chardet
+, enzyme
+, fetchFromGitHub
+, guessit
 , pysrt
-, six
-, appdirs
-, rarfile
+, pytestCheckHook
+, pythonOlder
 , pytz
+, rarfile
+, requests
+, six
+, stevedore
 , sympy
 , vcrpy
-, pytest
-, pytest-flakes
-, pytest-cov
-, pytest-runner
 }:
 
 buildPythonPackage rec {
   pname = "subliminal";
   version = "2.1.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "12v2clnbic8320fjsvkg3xfxfa7x8inhjk61z00pzwx46g3rqhy6";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "Diaoul";
+    repo = pname;
+    rev = "refs/tags/${version}";
+    hash = "sha256-P4gVxKKCGKS3MC4F3yTAaOSv36TtdoYfrf61tBHg8VY=";
   };
 
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace " --pep8 --flakes" ""
+  '';
+
   propagatedBuildInputs = [
-    guessit babelfish enzyme beautifulsoup4 requests
-    click dogpile-cache stevedore chardet pysrt six
-    appdirs rarfile pytz
+    appdirs
+    babelfish
+    beautifulsoup4
+    chardet
+    click
+    dogpile-cache
+    enzyme
+    guessit
+    pysrt
+    pytz
+    rarfile
+    requests
+    six
+    stevedore
   ];
 
   nativeCheckInputs = [
-    sympy vcrpy pytest pytest-flakes
-    pytest-cov pytest-runner
+    sympy
+    vcrpy
+    pytestCheckHook
   ];
 
-  # https://github.com/Diaoul/subliminal/pull/963
-  doCheck = false;
-  pythonImportsCheck = [ "subliminal" ];
+  pythonImportsCheck = [
+    "subliminal"
+  ];
+
+  disabledTests = [
+    # Tests rewuire network access
+    "test_refine_video_metadata"
+    "test_scan"
+    "test_hash"
+    "test_provider_pool_list_subtitles"
+    "test_async_provider_pool_list_subtitles"
+    "test_list_subtitles"
+    "test_download_bad_subtitle"
+    # Not implemented
+    "test_save_subtitles"
+  ];
+
+  disabledTestPaths = [
+    # AttributeError: module 'rarfile' has no attribute 'custom_check'
+    "tests/test_legendastv.py"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/Diaoul/subliminal";
     description = "Python library to search and download subtitles";
+    homepage = "https://github.com/Diaoul/subliminal";
+    changelog = "https://github.com/Diaoul/subliminal/blob/${version}/HISTORY.rst";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix
index 12fdd29bff01..fda171a9bd87 100644
--- a/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -6,6 +6,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , httpx
+, orjson
 , poetry-core
 , pytest-asyncio
 , pytestCheckHook
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "3.7.2";
+  version = "3.7.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     owner = "zabuldon";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-VOxdX6O6MG2F2ENiFI5+i7Yh+onHq755DsL7obm6Tcg=";
+    hash = "sha256-MOFC8jMJsBernY1/aFobgBNsnt7MYjSUPVoum0e4hUg=";
   };
 
   nativeBuildInputs = [
@@ -38,6 +39,7 @@ buildPythonPackage rec {
     backoff
     beautifulsoup4
     httpx
+    orjson
     tenacity
     wrapt
   ];
diff --git a/pkgs/development/python-modules/tesserocr/default.nix b/pkgs/development/python-modules/tesserocr/default.nix
index f852e29c002c..ce272b9d7a46 100644
--- a/pkgs/development/python-modules/tesserocr/default.nix
+++ b/pkgs/development/python-modules/tesserocr/default.nix
@@ -17,11 +17,11 @@
 
 buildPythonPackage rec {
   pname = "tesserocr";
-  version = "2.5.2";
+  version = "2.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bmj76gi8401lcqdaaznfmz9yf11myy1bzivqwwq08z3dwzxswck";
+    sha256 = "sha256-d0MNJytT2s073Ur11WP9wkrlG4b9vJzy6BRvKceryaQ=";
   };
 
   # https://github.com/sirfz/tesserocr/issues/314
diff --git a/pkgs/development/python-modules/torchvision/default.nix b/pkgs/development/python-modules/torchvision/default.nix
index 9539b1bb0bfe..449d635372a0 100644
--- a/pkgs/development/python-modules/torchvision/default.nix
+++ b/pkgs/development/python-modules/torchvision/default.nix
@@ -15,7 +15,7 @@
 
 let
   inherit (torch) cudaCapabilities cudaPackages cudaSupport;
-  inherit (cudaPackages) cudatoolkit cudaFlags cudaVersion;
+  inherit (cudaPackages) backendStdenv cudaVersion;
 
   # NOTE: torchvision doesn't use cudnn; torch does!
   #   For this reason it is not included.
@@ -65,8 +65,8 @@ buildPythonPackage {
   # NOTE: We essentially override the compilers provided by stdenv because we don't have a hook
   #   for cudaPackages to swap in compilers supported by NVCC.
   + lib.optionalString cudaSupport ''
-    export CC=${cudatoolkit.cc}/bin/cc
-    export CXX=${cudatoolkit.cc}/bin/c++
+    export CC=${backendStdenv.cc}/bin/cc
+    export CXX=${backendStdenv.cc}/bin/c++
     export TORCH_CUDA_ARCH_LIST="${lib.concatStringsSep ";" cudaCapabilities}"
     export FORCE_CUDA=1
   '';
diff --git a/pkgs/development/python-modules/transaction/default.nix b/pkgs/development/python-modules/transaction/default.nix
index 78022cdba5ba..12a86a134457 100644
--- a/pkgs/development/python-modules/transaction/default.nix
+++ b/pkgs/development/python-modules/transaction/default.nix
@@ -3,23 +3,35 @@
 , buildPythonPackage
 , zope_interface
 , mock
+, pythonOlder
 }:
 
-
 buildPythonPackage rec {
   pname = "transaction";
-  version = "3.0.1";
+  version = "3.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c15ef0b7ff3518357ceea75722a30d974c3f85e11aa5cec5d5a2b6a40cfcf68";
+    hash = "sha256-ZdCx6pLb58Tjsjf7a9i0Heoj10Wee92MOIC//a+RL6Q=";
   };
 
-  propagatedBuildInputs = [ zope_interface mock ];
+  propagatedBuildInputs = [
+    zope_interface
+    mock
+  ];
+
+  pythonImportsCheck = [
+    "transaction"
+  ];
 
   meta = with lib; {
     description = "Transaction management";
-    homepage = "https://pypi.python.org/pypi/transaction";
+    homepage = "https://transaction.readthedocs.io/";
+    changelog = "https://github.com/zopefoundation/transaction/blob/${version}/CHANGES.rst";
     license = licenses.zpl20;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/twentemilieu/default.nix b/pkgs/development/python-modules/twentemilieu/default.nix
index 17f14b8e8f74..aa91f01686c7 100644
--- a/pkgs/development/python-modules/twentemilieu/default.nix
+++ b/pkgs/development/python-modules/twentemilieu/default.nix
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "twentemilieu";
-  version = "0.6.1";
+  version = "1.0.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "frenck";
     repo = "python-twentemilieu";
     rev = "v${version}";
-    hash = "sha256-k2jdw2H/bNejNUjIEQlEA1KkHHpkyFlSDC1HKUoMIqQ=";
+    hash = "sha256-MTAVa5gP5e8TIE/i1DjfmwKm1zDVC/WEcYKxZSV/+Ug=";
   };
 
   postPatch = ''
@@ -50,6 +50,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python client for Twente Milieu";
     homepage = "https://github.com/frenck/python-twentemilieu";
+    changelog = "https://github.com/frenck/python-twentemilieu/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/ulid-transform/default.nix b/pkgs/development/python-modules/ulid-transform/default.nix
index 171b1dc499a9..4d899fc76740 100644
--- a/pkgs/development/python-modules/ulid-transform/default.nix
+++ b/pkgs/development/python-modules/ulid-transform/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "ulid-transform";
-  version = "0.4.2";
+  version = "0.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-eRLmA/8fKfG0qEl0QbX6FziEviU34uU7SP0iyZmbku8=";
+    hash = "sha256-tgCNjvI9e7GpZKG8Q6tykU+WKBPGm0FTsw3gwUU3+so=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/woob/default.nix b/pkgs/development/python-modules/woob/default.nix
index ee71b7cae4f1..53a1b877c05d 100644
--- a/pkgs/development/python-modules/woob/default.nix
+++ b/pkgs/development/python-modules/woob/default.nix
@@ -5,6 +5,7 @@
 , cssselect
 , feedparser
 , fetchFromGitLab
+, fetchpatch
 , gdata
 , gnupg
 , google-api-python-client
@@ -13,6 +14,7 @@
 , lxml
 , mechanize
 , nose
+, packaging
 , pdfminer-six
 , pillow
 , prettytable
@@ -23,12 +25,14 @@
 , requests
 , simplejson
 , termcolor
+, testers
 , unidecode
+, woob
 }:
 
 buildPythonPackage rec {
   pname = "woob";
-  version = "3.0";
+  version = "3.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -37,10 +41,11 @@ buildPythonPackage rec {
     owner = "woob";
     repo = pname;
     rev = version;
-    hash = "sha256-XLcHNidclORbxVXgcsHY6Ja/dak+EVSKTaVQmg1f/rw=";
+    hash = "sha256-aPkMfPRDjPfHIlGDEvorGwk09yQuEWwOkJJUST0vLAs=";
   };
 
   nativeBuildInputs = [
+    packaging
     pyqt5
   ];
 
@@ -57,6 +62,7 @@ buildPythonPackage rec {
     libyaml
     lxml
     mechanize
+    packaging
     pdfminer-six
     pillow
     prettytable
@@ -68,11 +74,12 @@ buildPythonPackage rec {
     unidecode
   ];
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "with-doctest = 1" "" \
-      --replace "with-coverage = 1" ""
-  '';
+  patches = [
+    (fetchpatch {
+      url = "https://gitlab.com/woob/woob/-/commit/861b1bb92be53998d8174dcca6fa643d1c7cde12.patch";
+      sha256 = "sha256-IXcE59pMFtPLTOYa2inIvuA14USQvck6Q4hrKZTC0DE=";
+    })
+  ];
 
   nativeCheckInputs = [
     nose
@@ -86,6 +93,11 @@ buildPythonPackage rec {
     "woob"
   ];
 
+  passthru.tests.version = testers.testVersion {
+    package = woob;
+    version = "v${version}";
+  };
+
   meta = with lib; {
     description = "Collection of applications and APIs to interact with websites";
     homepage = "https://woob.tech";
diff --git a/pkgs/development/python-modules/wxPython/4.0.nix b/pkgs/development/python-modules/wxPython/4.0.nix
deleted file mode 100644
index 64123cafd4a1..000000000000
--- a/pkgs/development/python-modules/wxPython/4.0.nix
+++ /dev/null
@@ -1,88 +0,0 @@
-{ lib
-, stdenv
-, buildPythonPackage
-, fetchPypi
-, setuptools
-, pkg-config
-, which
-, cairo
-, pango
-, python
-, doxygen
-, ncurses
-, libintl
-, wxGTK
-, gtk3
-, IOKit
-, Carbon
-, Cocoa
-, AudioToolbox
-, OpenGL
-, CoreFoundation
-, pillow
-, numpy
-, six
-}:
-
-buildPythonPackage rec {
-  pname = "wxPython";
-  version = "4.0.7.post2";
-  format = "other";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "5a229e695b64f9864d30a5315e0c1e4ff5e02effede0a07f16e8d856737a0c4e";
-  };
-
-  doCheck = false;
-
-  nativeBuildInputs = [ pkg-config which doxygen setuptools wxGTK ];
-
-  buildInputs = [ ncurses libintl ]
-  ++ (if stdenv.isDarwin
-  then
-    [ AudioToolbox Carbon Cocoa CoreFoundation IOKit OpenGL ]
-  else
-    [ gtk3 ]
-  );
-
-  propagatedBuildInputs = [
-    numpy
-    pillow
-    six
-  ];
-
-  DOXYGEN = "${doxygen}/bin/doxygen";
-
-  preConfigure = lib.optionalString (!stdenv.isDarwin) ''
-    substituteInPlace wx/lib/wxcairo/wx_pycairo.py \
-      --replace 'cairoLib = None' 'cairoLib = ctypes.CDLL("${cairo}/lib/libcairo.so")'
-    substituteInPlace wx/lib/wxcairo/wx_pycairo.py \
-      --replace '_dlls = dict()' '_dlls = {k: ctypes.CDLL(v) for k, v in [
-        ("gdk",        "${gtk3}/lib/libgtk-x11-2.0.so"),
-        ("pangocairo", "${pango.out}/lib/libpangocairo-1.0.so"),
-        ("appsvc",     None)
-      ]}'
-  '' + lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) ''
-    # Remove the OSX-Only wx.webkit module
-    sed -i "s/makeETGRule(.*'WXWEBKIT')/pass/" wscript
-  '';
-
-  buildPhase = ''
-    ${python.pythonForBuild.interpreter} build.py -v --use_syswx dox etg --nodoc sip build_py
-  '';
-
-  installPhase = ''
-    ${python.pythonForBuild.interpreter} setup.py install --skip-build --prefix=$out
-  '';
-
-  passthru = { wxWidgets = wxGTK; };
-
-
-  meta = {
-    description = "Cross platform GUI toolkit for Python, Phoenix version";
-    homepage = "http://wxpython.org/";
-    license = lib.licenses.wxWindows;
-  };
-
-}
diff --git a/pkgs/development/python-modules/wxPython/4.1.nix b/pkgs/development/python-modules/wxPython/4.1.nix
deleted file mode 100644
index 4b3e62a2eece..000000000000
--- a/pkgs/development/python-modules/wxPython/4.1.nix
+++ /dev/null
@@ -1,146 +0,0 @@
-{ lib
-, stdenv
-, fetchPypi
-, fetchpatch
-, buildPythonPackage
-, setuptools
-, which
-, pkg-config
-, python
-, isPy27
-, doxygen
-, cairo
-, ncurses
-, pango
-, wxGTK
-, gtk3
-, AGL
-, AudioToolbox
-, AVFoundation
-, AVKit
-, Carbon
-, Cocoa
-, CoreFoundation
-, CoreMedia
-, IOKit
-, Kernel
-, OpenGL
-, Security
-, WebKit
-, pillow
-, numpy
-, six
-, libXinerama
-, libSM
-, libXxf86vm
-, libXtst
-, libGLU
-, libGL
-, xorgproto
-, gst_all_1
-, libglvnd
-, mesa
-, webkitgtk
-, autoPatchelfHook
-}:
-let
-  dynamic-linker = stdenv.cc.bintools.dynamicLinker;
-in
-buildPythonPackage rec {
-  pname = "wxPython";
-  version = "4.1.1";
-  disabled = isPy27;
-  format = "other";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0a1mdhdkda64lnwm1dg0dlrf9rs4gkal3lra6hpqbwn718cf7r80";
-  };
-
-  # ld: framework not found System
-  postPatch = ''
-    for file in ext/wxWidgets/configure*; do
-      substituteInPlace $file --replace "-framework System" ""
-    done
-  '';
-
-  # https://github.com/NixOS/nixpkgs/issues/75759
-  # https://github.com/wxWidgets/Phoenix/issues/1316
-  doCheck = false;
-
-  nativeBuildInputs = [
-    which
-    doxygen
-    gtk3
-    pkg-config
-    setuptools
-  ] ++ lib.optionals stdenv.isLinux [
-    autoPatchelfHook
-  ];
-
-  buildInputs = [
-    gtk3
-    ncurses
-  ] ++ lib.optionals stdenv.isLinux [
-    libXinerama
-    libSM
-    libXxf86vm
-    libXtst
-    xorgproto
-    gst_all_1.gstreamer
-    gst_all_1.gst-plugins-base
-    libGLU
-    libGL
-    libglvnd
-    mesa
-    webkitgtk
-  ] ++ lib.optionals stdenv.isDarwin [
-    AGL
-    AudioToolbox
-    AVFoundation
-    AVKit
-    Carbon
-    Cocoa
-    CoreFoundation
-    CoreMedia
-    IOKit
-    Kernel
-    OpenGL
-    Security
-    WebKit
-  ];
-
-  propagatedBuildInputs = [
-    pillow
-    numpy
-    six
-  ];
-
-  DOXYGEN = "${doxygen}/bin/doxygen";
-
-  preConfigure = lib.optionalString (!stdenv.isDarwin) ''
-    substituteInPlace wx/lib/wxcairo/wx_pycairo.py \
-      --replace '_dlls = dict()' '_dlls = {k: ctypes.CDLL(v) for k, v in [
-        ("gdk",        "${gtk3}/lib/libgtk-x11-3.0.so"),
-        ("pangocairo", "${pango.out}/lib/libpangocairo-1.0.so"),
-        ("cairoLib = None", "cairoLib = ctypes.CDLL('${cairo}/lib/libcairo.so')"),
-        ("appsvc",     None)
-      ]}'
-  '';
-
-  buildPhase = ''
-    ${python.pythonForBuild.interpreter} build.py -v build_wx dox etg --nodoc sip build_py
-  '';
-
-  installPhase = ''
-    ${python.pythonForBuild.interpreter} setup.py install --skip-build --prefix=$out
-    wrapPythonPrograms
-  '';
-
-  meta = with lib; {
-    description = "Cross platform GUI toolkit for Python, Phoenix version";
-    homepage = "http://wxpython.org/";
-    license = licenses.wxWindows;
-    maintainers = with maintainers; [ tfmoraes ];
-  };
-}
diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix
index ff8451da3c08..54b462203bfd 100644
--- a/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/pkgs/development/python-modules/xml2rfc/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "3.16.0";
+  version = "3.17.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "ietf-tools";
     repo = "xml2rfc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-H2m6WZTIu2xLIz3ysOZcicIibPj8mErrxYM2+F07aS0=";
+    hash = "sha256-xG0MCAOA5LmyX5LgJVOKfZS7xM7sJHs9L4kZP2lmlnY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/yalexs-ble/default.nix b/pkgs/development/python-modules/yalexs-ble/default.nix
index 8075bf8a7d37..68c7681c5ce7 100644
--- a/pkgs/development/python-modules/yalexs-ble/default.nix
+++ b/pkgs/development/python-modules/yalexs-ble/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "yalexs-ble";
-  version = "2.1.0";
+  version = "2.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-BF2jGEFtUYckFNJwddLGjwQYIhYKhM7q6Q2mCil6Z3Y=";
+    hash = "sha256-tYdm6XrjltQtN9m23GB9WDWLbXb4pMNiLQWpxxeqsLY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 60824f2601e7..93f26dc7d598 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "10.8.1";
+  version = "10.9.2";
   pname = "checkstyle";
 
   src = fetchurl {
     url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
-    sha256 = "sha256-xVtouHBS5zR62WsPSn2mPlxce4Hn6JZLDwg2saCOrL0=";
+    sha256 = "sha256-XsWzSg/bwP+O454oQSVDrvmjWKVZpLyfGB47olqRSUY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix
index 20d16066f282..d1cab19d0846 100644
--- a/pkgs/development/tools/analysis/codeql/default.nix
+++ b/pkgs/development/tools/analysis/codeql/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
 
     ln -sf $out/codeql/tools/linux64/lib64trace.so $out/codeql/tools/linux64/libtrace.so
 
+    sed -i 's%\$CODEQL_DIST/tools/\$CODEQL_PLATFORM/java-aarch64%\${jdk17}%g' $out/codeql/codeql
     sed -i 's%\$CODEQL_DIST/tools/\$CODEQL_PLATFORM/java%\${jdk17}%g' $out/codeql/codeql
 
     ln -s $out/codeql/codeql $out/bin/
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index 1039a549d93e..491da08310bf 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -4,6 +4,15 @@
 , gdk-pixbuf, wrapGAppsHook
 }:
 
+let why3_1_5 = why3.overrideAttrs (o: rec {
+    version = "1.5.1";
+    src = fetchurl {
+      url = "https://why3.gitlabpages.inria.fr/releases/${o.pname}-${version}.tar.gz";
+      hash = "sha256-vNR7WeiSvg+763GcovoZBFDfncekJMeqNegP4fVw06I=";
+    };
+  }); in
+let why3 = why3_1_5; in
+
 let
   mkocamlpath = p: "${p}/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib";
   runtimeDeps = with ocamlPackages; [
diff --git a/pkgs/development/tools/analysis/kcov/default.nix b/pkgs/development/tools/analysis/kcov/default.nix
index 6a0fb74af51f..95838c9c27fd 100644
--- a/pkgs/development/tools/analysis/kcov/default.nix
+++ b/pkgs/development/tools/analysis/kcov/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , pkg-config
 , zlib
@@ -10,8 +9,7 @@
 , python3
 , libiberty
 , libopcodes
-, runCommand
-, gcc
+, runCommandCC
 , rustc
 }:
 
@@ -19,25 +17,15 @@ let
   self =
     stdenv.mkDerivation rec {
       pname = "kcov";
-      version = "38";
+      version = "41";
 
       src = fetchFromGitHub {
         owner = "SimonKagstrom";
         repo = "kcov";
         rev = "v${version}";
-        sha256 = "sha256-6LoIo2/yMUz8qIpwJVcA3qZjjF+8KEM1MyHuyHsQD38=";
+        sha256 = "sha256-Kit4Yn5Qeg3uAc6+RxwlVEhDKN6at+Uc7V38yhDPrAY=";
       };
 
-      patches = [
-        # Pull upstream patch for binutils-2/39 support:
-        #   https://github.com/SimonKagstrom/kcov/pull/383
-        (fetchpatch {
-          name = "binutils-2.39.patch";
-          url = "https://github.com/SimonKagstrom/kcov/commit/fd1a4fd2f02cee49afd74e427e38c61b89154582.patch";
-          hash = "sha256-licQkC8qDg2i6No3j0yKEU6i+Owi4lhrnfGvETkzz7w=";
-        })
-      ];
-
       preConfigure = "patchShebangs src/bin-to-c-source.py";
       nativeBuildInputs = [ cmake pkg-config python3 ];
 
@@ -46,25 +34,25 @@ let
       strictDeps = true;
 
       passthru.tests = {
-        works-on-c = runCommand "works-on-c" {} ''
+        works-on-c = runCommandCC "works-on-c" { } ''
           set -ex
           cat - > a.c <<EOF
           int main() {}
           EOF
-          ${gcc}/bin/gcc a.c -o a.out
+          $CC a.c -o a.out
           ${self}/bin/kcov /tmp/kcov ./a.out
           test -e /tmp/kcov/index.html
           touch $out
           set +x
         '';
 
-        works-on-rust = runCommand "works-on-rust" {} ''
+        works-on-rust = runCommandCC "works-on-rust" { nativeBuildInputs = [ rustc ]; } ''
           set -ex
           cat - > a.rs <<EOF
           fn main() {}
           EOF
           # Put gcc in the path so that `cc` is found
-          PATH=${gcc}/bin:$PATH ${rustc}/bin/rustc a.rs -o a.out
+          rustc a.rs -o a.out
           ${self}/bin/kcov /tmp/kcov ./a.out
           test -e /tmp/kcov/index.html
           touch $out
diff --git a/pkgs/development/tools/argc/default.nix b/pkgs/development/tools/argc/default.nix
index a6920dfe8481..ce1e569b56de 100644
--- a/pkgs/development/tools/argc/default.nix
+++ b/pkgs/development/tools/argc/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "argc";
-  version = "0.14.0";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "sigoden";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vvGeC+5dsO26ALfHoZ9+zVlpl+63Nj/VqtSBQo1Gl/c=";
+    sha256 = "sha256-hN8M12evYxqNSsQKm0oRf3/b7WUf8k8pWa+0vRHstv4=";
   };
 
-  cargoSha256 = "sha256-A45txIc5AcJtWx6Jl4w7Ys2H3UgTjRsEiMySuUv9+Ds=";
+  cargoSha256 = "sha256-JCFBA9LuNILJs4flzD/bGpv/R2vxMlA0aFTVdGKKs5I=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/azure-static-sites-client/versions.json b/pkgs/development/tools/azure-static-sites-client/versions.json
index 82df086db3bd..af7423939eb1 100644
--- a/pkgs/development/tools/azure-static-sites-client/versions.json
+++ b/pkgs/development/tools/azure-static-sites-client/versions.json
@@ -1,58 +1,58 @@
 [
   {
     "version": "latest",
-    "buildId": "1.0.022431",
-    "publishDate": "2023-02-21T18:46:09.9616432Z",
+    "buildId": "1.0.022651",
+    "publishDate": "2023-03-15T19:45:57.9352112Z",
     "files": {
       "linux-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022431/linux/StaticSitesClient",
-        "sha": "a0424f02b72b0e292e23fa1774a579f3a83cc2280af46a19682c11423e55a134"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022651/linux/StaticSitesClient",
+        "sha": "89816326d56d4653cf8431b73d742d69222e87d2df9e7f87dca4c3819faed289"
       },
       "win-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022431/windows/StaticSitesClient.exe",
-        "sha": "78476f93e8357ebd5b6676c66747c6f0432084615a5cecaa43e4afbda2533176"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022651/windows/StaticSitesClient.exe",
+        "sha": "d6f66a390e20634e320f7abfae5463705ba56d1f81e43015b78d6613a27881a3"
       },
       "osx-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022431/macOS/StaticSitesClient",
-        "sha": "0f2dc106903167d5900d9875321fd99a11349d21177b4794495b45e3df175755"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022651/macOS/StaticSitesClient",
+        "sha": "2a8a9d9d47d9c4f1bc4d8a87508f9f2d95bfb4568803d8fe2ce1feb6a032ef1f"
       }
     }
   },
   {
     "version": "stable",
-    "buildId": "1.0.022291",
-    "publishDate": "2023-02-07T21:07:28.1304112Z",
+    "buildId": "1.0.022651",
+    "publishDate": "2023-03-15T19:45:57.9352112Z",
     "files": {
       "linux-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022291/linux/StaticSitesClient",
-        "sha": "65ca5599a37cd41ab6d88557b0e33179ffc0f86cb81fe1c72db30b021d8e63c0"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022651/linux/StaticSitesClient",
+        "sha": "89816326d56d4653cf8431b73d742d69222e87d2df9e7f87dca4c3819faed289"
       },
       "win-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022291/windows/StaticSitesClient.exe",
-        "sha": "b94f11e62441339882bfd9f0e8fc496d7c77f9b6d9c2fe305b64d53e87e9814c"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022651/windows/StaticSitesClient.exe",
+        "sha": "d6f66a390e20634e320f7abfae5463705ba56d1f81e43015b78d6613a27881a3"
       },
       "osx-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022291/macOS/StaticSitesClient",
-        "sha": "3f5808e91fe24a3afee25297fce42cff4b1ab4fbbfaaf0c510662b14277485c6"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022651/macOS/StaticSitesClient",
+        "sha": "2a8a9d9d47d9c4f1bc4d8a87508f9f2d95bfb4568803d8fe2ce1feb6a032ef1f"
       }
     }
   },
   {
     "version": "backup",
-    "buildId": "1.0.022152",
-    "publishDate": "2023-01-24T18:38:40.5584174Z",
+    "buildId": "1.0.022431",
+    "publishDate": "2023-02-21T18:46:09.9616432Z",
     "files": {
       "linux-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022152/linux/StaticSitesClient",
-        "sha": "40e1639efc239151b3021a262ee85a747403fbf1c9ffce3de1aa0cbf273a3069"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022431/linux/StaticSitesClient",
+        "sha": "a0424f02b72b0e292e23fa1774a579f3a83cc2280af46a19682c11423e55a134"
       },
       "win-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022152/windows/StaticSitesClient.exe",
-        "sha": "e3287b8b63b00faa501573cd205ce8f7bb9743f7107f3e4f01639d0b297f21fc"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022431/windows/StaticSitesClient.exe",
+        "sha": "78476f93e8357ebd5b6676c66747c6f0432084615a5cecaa43e4afbda2533176"
       },
       "osx-x64": {
-        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022152/macOS/StaticSitesClient",
-        "sha": "396f5fefe087399c78521b2f5456c79e58c771ca64785e4be055a149738a2e6a"
+        "url": "https://swalocaldeploy.azureedge.net/downloads/1.0.022431/macOS/StaticSitesClient",
+        "sha": "0f2dc106903167d5900d9875321fd99a11349d21177b4794495b45e3df175755"
       }
     }
   }
diff --git a/pkgs/development/tools/b4/default.nix b/pkgs/development/tools/b4/default.nix
index 8ef941653e41..2e6f1f42a74a 100644
--- a/pkgs/development/tools/b4/default.nix
+++ b/pkgs/development/tools/b4/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "b4";
-  version = "0.12.1";
+  version = "0.12.2";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "sha256-BFvuxwcHG2KCv5LAeus50IDJ2mBCyixg3ETq9UzPmSA=";
+    sha256 = "tvSv14v3iigFWzifCQl5Kxx4Bfs1V/XXHvvaNoKqvm4=";
   };
 
   # tests make dns requests and fails
diff --git a/pkgs/development/tools/benthos/default.nix b/pkgs/development/tools/benthos/default.nix
index 57235c3085ae..a9691e5b0f5c 100644
--- a/pkgs/development/tools/benthos/default.nix
+++ b/pkgs/development/tools/benthos/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "benthos";
-  version = "4.12.1";
+  version = "4.13.0";
 
   src = fetchFromGitHub {
     owner = "benthosdev";
     repo = "benthos";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6qBeMQSBleZTsq6sExIqkkyxJUx1yt2YhUogKYEWii0=";
+    hash = "sha256-i4WsoZg22HCaDq6c9bQI3oAVGzW57Y6DrULyki3Hh+U=";
   };
 
-  vendorHash = "sha256-sNqWTgVgcjYEzFlneQaV3g80NTrVKeKz+mtahEOdyIw=";
+  vendorHash = "sha256-Q+oEYP/IpCDdwj/mLl5nVZ+t+mPYtRpNrAwta4viPMo=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix
index 5fd6d8cbff0d..d8d7c9da3a1d 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_6/default.nix
@@ -24,12 +24,12 @@
 }:
 
 let
-  version = "6.1.0";
+  version = "6.1.1";
   sourceRoot = ".";
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    hash = "sha256-xLhWdVQc9m7ny3FRQJf91sX8DgJSckNhek8gymtPKTI=";
+    hash = "sha256-a5APJtZ2x+yh0uff+bcYkNq9P/WcqyotIXi8igOVNCo=";
   };
 
   # Update with
diff --git a/pkgs/development/tools/build-managers/rake/Gemfile.lock b/pkgs/development/tools/build-managers/rake/Gemfile.lock
index f89ceae93442..a8c82c508bd9 100644
--- a/pkgs/development/tools/build-managers/rake/Gemfile.lock
+++ b/pkgs/development/tools/build-managers/rake/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    rake (12.3.2)
+    rake (13.0.6)
 
 PLATFORMS
   ruby
@@ -10,4 +10,4 @@ DEPENDENCIES
   rake
 
 BUNDLED WITH
-   2.1.4
+   2.4.6
diff --git a/pkgs/development/tools/build-managers/rake/gemset.nix b/pkgs/development/tools/build-managers/rake/gemset.nix
index 534c5efcfb13..b389469840d0 100644
--- a/pkgs/development/tools/build-managers/rake/gemset.nix
+++ b/pkgs/development/tools/build-managers/rake/gemset.nix
@@ -4,9 +4,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
+      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
       type = "gem";
     };
-    version = "12.3.2";
+    version = "13.0.6";
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
index 3d1932f3eb04..0655246fc671 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
@@ -3,16 +3,16 @@
   nixosTests }:
 buildGoModule rec {
   pname = "buildkite-agent";
-  version = "3.44.0";
+  version = "3.45.0";
 
   src = fetchFromGitHub {
     owner = "buildkite";
     repo = "agent";
     rev = "v${version}";
-    sha256 = "sha256-iN6Q+HXaZgUt8kXDGG5e1hY0/g/JYSHQ768YYRwZsuw=";
+    sha256 = "sha256-T1B9eo0LVN5FMI76TJQ4yxIXOfqT9wHNO5DHfVaWHBA=";
   };
 
-  vendorHash = "sha256-I+tjSBfAvRyE0bjVRloAkb5Jftb6dxoq8lNSgWHAcVk=";
+  vendorHash = "sha256-kxqwGJBm5cT0ay29TlAqq3cFWheLqMwX/MtHpaHohBc=";
 
   postPatch = ''
     substituteInPlace bootstrap/shell/shell.go --replace /bin/bash ${bash}/bin/bash
diff --git a/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix
index c1f08ce74d5b..13a877a6848a 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.95.0";
+  version = "0.96.0";
 
   src = fetchFromGitHub {
     owner = "cirruslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-s+mScSSVjzCZ+9lwFdcC/F5oCdT51JNxlqP7uKlx+Y8=";
+    sha256 = "sha256-gX1c10oDGt3n+W6/s4k5JX7V6SuYL8lNRewAmJf8gqQ=";
   };
 
-  vendorHash = "sha256-TZOBIivaoaO7EWBqV2zuL3Em5o4MButq4+TxvePu+qY=";
+  vendorHash = "sha256-Qirv06KhisEmQ+v9Z5jgkJFV4McnH+5r2xbU3wRc0DI=";
 
   ldflags = [
     "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
diff --git a/pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix b/pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix
index cb5338e210b0..95be9bdaa482 100644
--- a/pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix
@@ -2,17 +2,23 @@
 
 buildGoModule rec {
   pname = "gitea-actions-runner";
-  version = "unstable-2023-02-08";
+  version = "unstable-2023-03-18";
 
   src = fetchFromGitea {
     domain = "gitea.com";
     owner = "gitea";
     repo = "act_runner";
-    rev = "990cf93c7136669408eb1832cd05df3ad4dd81b3";
-    sha256 = "1ysp7g199dzh1zpxxhki88pn96qghln7a5g8zfjip9173q1rgiyb";
+    rev = "9eb8b08a69e8b1c699c9c07a06c1ff8e5f6ad0fe";
+    sha256 = "sha256-B8vD+86X8cqZhPmDmEjHgSsq3TdJuCf9h3XgdXC7hQY=";
   };
 
-  vendorSha256 = "0a3q7rsk37dc6v3vnqaywkimaqvyjmkrwljhcjcnswsdfcgng62b";
+  vendorSha256 = "sha256-K/d/ip8icc+rjTmajsGxw5aij1VMW6wJJu4LCkKqaVQ=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X gitea.com/gitea/act_runner/cmd.version=${version}"
+  ];
 
   meta = with lib; {
     mainProgram = "act_runner";
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 98aff1787616..34f0b58f4b41 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.375.3";
+  version = "2.387.1";
 
   src = fetchurl {
     url = "https://get.jenkins.io/war-stable/${version}/jenkins.war";
-    hash = "sha256-1WBl8eXEMj/sNqlqv3cQskUeNLxPudoXnn3xKaTMwaw=";
+    hash = "sha256-wTKh4AtoWvx5luulML5CijJ5xkk5lBf5+jj8vA2+wCc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -51,11 +51,10 @@ stdenv.mkDerivation rec {
 
       version="$(jq -r .version <<<$core_json)"
       sha256="$(jq -r .sha256 <<<$core_json)"
-      hash="$(nix-hash --type sha256 --to-base32 "$sha256")"
-      url="$(jq -r .url <<<$core_json)"
+      hash="$(nix hash to-sri --type sha256 "$sha256")"
 
       if [ ! "$oldVersion" = "$version" ]; then
-        update-source-version jenkins "$version" "$hash" "$url"
+        update-source-version jenkins "$version" "$hash"
         nixpkgs="$(git rev-parse --show-toplevel)"
         default_nix="$nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix"
         nixfmt "$default_nix"
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/common.nix b/pkgs/development/tools/continuous-integration/woodpecker/common.nix
index e94e83b7e6b9..cae74c86b320 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/common.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/common.nix
@@ -1,7 +1,7 @@
 { lib, fetchFromGitHub }:
 let
-  version = "0.15.6";
-  srcSha256 = "sha256-8XXeGEw7+NGULsD5/g1j9+P2h82oRpEuMJT6sMp+z38=";
+  version = "0.15.7";
+  srcSha256 = "sha256-Y6ew9CychStC26A7uyjChvkR+oDis3GZq8kYLHS7AXQ=";
   yarnSha256 = "sha256-PY0BIBbjyi2DG+n5x/IPc0AwrFSwII4huMDU+FeZ/Sc=";
 in
 {
diff --git a/pkgs/development/tools/database/sqlcmd/default.nix b/pkgs/development/tools/database/sqlcmd/default.nix
new file mode 100644
index 000000000000..36055cc2b882
--- /dev/null
+++ b/pkgs/development/tools/database/sqlcmd/default.nix
@@ -0,0 +1,55 @@
+{ buildGoModule
+, fetchFromGitHub
+, installShellFiles
+, lib
+, sqlcmd
+, testers
+}:
+
+buildGoModule rec {
+  pname = "sqlcmd";
+  version = "0.15.3";
+
+  src = fetchFromGitHub {
+    repo = "go-sqlcmd";
+    owner = "microsoft";
+    rev = "v${version}";
+    sha256 = "sha256-1CdZVh7pbupCNOE1ydgYEqX4rYo2LRddlNRNf0QjlN0=";
+  };
+
+  vendorSha256 = "sha256-6JfxKzYAjSQ9JFuFGDUZ0ALS1D7f2LK3bP0Fbl2ivo0=";
+  proxyVendor = true;
+
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
+
+  subPackages = [ "cmd/modern" ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  postInstall = ''
+    mv $out/bin/modern $out/bin/sqlcmd
+
+    installShellCompletion --cmd sqlcmd \
+      --bash <($out/bin/sqlcmd completion bash) \
+      --fish <($out/bin/sqlcmd completion fish) \
+      --zsh <($out/bin/sqlcmd completion zsh)
+  '';
+
+  passthru.tests.version = testers.testVersion {
+    package = sqlcmd;
+    command = "sqlcmd --version";
+    inherit version;
+  };
+
+  meta = {
+    description = "A command line tool for working with Microsoft SQL Server, Azure SQL Database, and Azure Synapse";
+    homepage = "https://github.com/microsoft/go-sqlcmd";
+    changelog = "https://github.com/microsoft/go-sqlcmd/releases/tag/v${version}";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.ratsclub ];
+  };
+}
diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix
index 1bbeee4f55bd..777c9c1689cc 100644
--- a/pkgs/development/tools/database/sqlfluff/default.nix
+++ b/pkgs/development/tools/database/sqlfluff/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sqlfluff";
-  version = "2.0.0";
+  version = "2.0.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-2WKRB4mMiML7POCAd9G0IROTKujcsJT591h1bmSX63E=";
+    hash = "sha256-aEM+kQoqF2p9oSqh/qqwyw8BDSM2qvcDjGc6qD2e0Bg=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/datree/default.nix b/pkgs/development/tools/datree/default.nix
index ec8dcf94a698..293fb5b1e1f6 100644
--- a/pkgs/development/tools/datree/default.nix
+++ b/pkgs/development/tools/datree/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "datree";
-  version = "1.8.39";
+  version = "1.8.42";
 
   src = fetchFromGitHub {
     owner = "datreeio";
     repo = "datree";
     rev = "refs/tags/${version}";
-    hash = "sha256-kTN1c16AIXnnSi1lN378u/kmuC1axZT2LAOH+LGLVbA=";
+    hash = "sha256-8oA0AgmEARlX8q1FjeFFOSMN9hing/4z3zqfqzhMyfs=";
   };
 
-  vendorHash = "sha256-mkVguYzjNGgFUdATjGfenCx3h97LS3SEOkYo3CuP9fA=";
+  vendorHash = "sha256-MrVIpr2iwddW3yUeBuDfeg+Xo9Iarr/fp4Rc4WGYGeU=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/ddosify/default.nix b/pkgs/development/tools/ddosify/default.nix
index d83e6048d993..e2af4178117d 100644
--- a/pkgs/development/tools/ddosify/default.nix
+++ b/pkgs/development/tools/ddosify/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ddosify";
-  version = "0.15.0";
+  version = "0.15.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pY4rgval017KX2I7ZNbvEbqRAqluC7rS3VzYJos7C94=";
+    sha256 = "sha256-xTalStFym/8l2YDuk2F0ydHnT46sxRj/KmOdIbYAMsQ=";
   };
 
   vendorHash = "sha256-3y5ppTtvGqwWhgnVBpP4gf26DHKPnSNYK4jfhBiYDwY=";
diff --git a/pkgs/development/tools/git-ps-rs/default.nix b/pkgs/development/tools/git-ps-rs/default.nix
new file mode 100644
index 000000000000..c7306bb24dcd
--- /dev/null
+++ b/pkgs/development/tools/git-ps-rs/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, stdenv
+, pkg-config
+, libgpg-error
+, gpgme
+, dbus
+, openssl
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "git-ps-rs";
+  version = "6.5.0";
+
+  src = fetchFromGitHub {
+    owner = "uptech";
+    repo = "git-ps-rs";
+    rev = version;
+    hash = "sha256-4wSm3H+98ZJZ+fZdLYshPKafRkPq98Pv3Lwh9o0be6U=";
+  };
+
+  cargoHash = "sha256-1p46xvo7abMPlVP8BeQ1j/8QQpK3kCgbTL3cdidfq04=";
+
+  nativeBuildInputs = [
+    pkg-config
+    gpgme # gpgme runs a small script at build time so has to go here
+  ];
+
+  buildInputs = [ openssl dbus libgpg-error ]
+    ++ lib.optionals stdenv.isDarwin [ Security ];
+
+  meta = with lib; {
+    description = "Tool for working with a stack of patches";
+    homepage = "https://git-ps.sh/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ alizter ];
+  };
+}
diff --git a/pkgs/development/tools/goa/default.nix b/pkgs/development/tools/goa/default.nix
index eac91732be11..10d9e275b3a3 100644
--- a/pkgs/development/tools/goa/default.nix
+++ b/pkgs/development/tools/goa/default.nix
@@ -5,15 +5,15 @@
 
 buildGoModule rec {
   pname = "goa";
-  version = "3.11.0";
+  version = "3.11.2";
 
   src = fetchFromGitHub {
     owner = "goadesign";
     repo = "goa";
     rev = "v${version}";
-    sha256 = "sha256-KgCF44kpr8dAHzLgoRKXfd9warQUiFggGZ/Dy/49j1Q=";
+    sha256 = "sha256-zKiGPXkVAeWj9RXuFWvlSz1SYO+uGNBM65+ypIPZpmc=";
   };
-  vendorHash = "sha256-d76aeiSkW0sZeFylWIkCoquWzX78s2iaDeX3VE8cYfI=";
+  vendorHash = "sha256-vND29xb5bG+MnBiOCP9PWC+VGqIwdUO0uVOcP5Wc4zA=";
 
   subPackages = [ "cmd/goa" ];
 
diff --git a/pkgs/development/tools/language-servers/metals/default.nix b/pkgs/development/tools/language-servers/metals/default.nix
index 18856838c581..e0ce822583d9 100644
--- a/pkgs/development/tools/language-servers/metals/default.nix
+++ b/pkgs/development/tools/language-servers/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "0.11.10";
+  version = "0.11.11";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "sha256-CNLBDsyiEOmMGA9r8eU+3z75VYps21kHnLpB1LYC7W4=";
+    outputHash = "sha256-oz4lrRnpVzc9kN+iJv+mtV/S1wdMKwJBkKpvmWCSwE0=";
   };
 
   nativeBuildInputs = [ makeWrapper setJavaClassPath ];
diff --git a/pkgs/development/tools/language-servers/millet/default.nix b/pkgs/development/tools/language-servers/millet/default.nix
index 8c01c6ee20d3..8eeca50fb27f 100644
--- a/pkgs/development/tools/language-servers/millet/default.nix
+++ b/pkgs/development/tools/language-servers/millet/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "millet";
-  version = "0.8.1";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "azdavis";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-yIOb6AeEpIbKarY4I0X4zq5Gtrv05QLrDlFaBD3x6rw=";
+    hash = "sha256-b5zb0sDya/58kEEgqWqu4u6Xo61sq8Le0F3Z1Q3dBdk=";
   };
 
-  cargoHash = "sha256-DIRs+xhcdV74NFjsB1jJYgd8Cu/BmAUcBf58rGAp/yo=";
+  cargoHash = "sha256-5uURD+c5OR2ACS2a3OYlPX/EpJ966+m97MDKyw3snjA=";
 
   postPatch = ''
     rm .cargo/config.toml
diff --git a/pkgs/development/tools/language-servers/vhdl-ls/Cargo.lock b/pkgs/development/tools/language-servers/vhdl-ls/Cargo.lock
new file mode 100644
index 000000000000..3ef66afc375a
--- /dev/null
+++ b/pkgs/development/tools/language-servers/vhdl-ls/Cargo.lock
@@ -0,0 +1,1027 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "assert_matches"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "487f1e0fcbe47deb8b0574e646def1c903389d95241dd1bbcc6ce4a715dfc0c1"
+
+[[package]]
+name = "cc"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "clap"
+version = "4.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42dfd32784433290c51d92c438bb72ea5063797fc3cc9a21a8c4346bebbb2098"
+dependencies = [
+ "bitflags 2.0.2",
+ "clap_derive",
+ "clap_lex",
+ "is-terminal",
+ "once_cell",
+ "strsim",
+ "termcolor",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fddf67631444a3a3e3e5ac51c36a5e01335302de677bd78759eaa90ab1f46644"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "033f6b7a4acb1f358c742aaca805c939ee73b4c6209ae4318ec7aca81c42e646"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+ "memoffset",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "ctor"
+version = "0.1.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
+dependencies = [
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "diff"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
+
+[[package]]
+name = "dirs"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
+]
+
+[[package]]
+name = "dunce"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c"
+
+[[package]]
+name = "either"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+
+[[package]]
+name = "env_logger"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+dependencies = [
+ "humantime",
+ "is-terminal",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+name = "errno"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "winapi",
+]
+
+[[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 = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[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 = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "io-lifetimes"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09270fd4fa1111bc614ed2246c7ef56239a3063d5be0d1ec3b589c505d400aeb"
+dependencies = [
+ "hermit-abi 0.3.1",
+ "libc",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8687c819457e979cc940d09cb16e42a1bf70aa6b60a549de6d3a62a0ee90c69e"
+dependencies = [
+ "hermit-abi 0.3.1",
+ "io-lifetimes",
+ "rustix",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+
+[[package]]
+name = "libc"
+version = "0.2.140"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "lsp-server"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68a9b4c78d1c3f35c5864c90e9633377b5f374a4a4983ac64c30b8ae898f9305"
+dependencies = [
+ "crossbeam-channel",
+ "log",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "lsp-types"
+version = "0.94.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b63735a13a1f9cd4f4835223d828ed9c2e35c8c5e61837774399f558b6a1237"
+dependencies = [
+ "bitflags 1.3.2",
+ "serde",
+ "serde_json",
+ "serde_repr",
+ "url",
+]
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "memoffset"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+dependencies = [
+ "hermit-abi 0.2.6",
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
+
+[[package]]
+name = "output_vt100"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "pad"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2ad9b889f1b12e0b9ee24db044b5129150d5eada288edc800f789928dc8c0e3"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+
+[[package]]
+name = "pinned_vec"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "268ad82d92622fb0a049ff14b01089b0f1bcd5c507fab44724394d328417348a"
+
+[[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 = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.53"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba466839c78239c09faf015484e5cc04860f88242cff4d03eb038f04b4699b73"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rayon"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-utils",
+ "num_cpus",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+dependencies = [
+ "getrandom",
+ "redox_syscall",
+ "thiserror",
+]
+
+[[package]]
+name = "regex"
+version = "1.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cce168fea28d3e05f158bda4576cf0c844d5045bc2cc3620fa0292ed5bb5814c"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "rustix"
+version = "0.36.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db4165c9963ab29e422d6c26fbc1d37f15bace6b2810221f9d925023480fcf0e"
+dependencies = [
+ "bitflags 1.3.2",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "serde"
+version = "1.0.158"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "771d4d9c4163ee138805e12c710dd365e4f44be8be0503cb1bb9eb989425d9c9"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.158"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.5",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_repr"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.5",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89c2d1c76a26822187a1fbb5964e3fff108bc208f02e820ab9dac1234f6b388a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "redox_syscall",
+ "rustix",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.5",
+]
+
+[[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.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "toml"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b403acf6f2bb0859c93c7f0d967cb4a75a7ac552100f9322faf64dc047669b21"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.19.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc18466501acd8ac6a3f615dd29a3438f8ca6bb3b19537138b3106e575621274"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "url"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+ "serde",
+]
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "vhdl_lang"
+version = "0.64.0"
+dependencies = [
+ "assert_matches",
+ "clap",
+ "dirs",
+ "dunce",
+ "fnv",
+ "glob",
+ "itertools",
+ "pad",
+ "parking_lot",
+ "pinned_vec",
+ "pretty_assertions",
+ "rayon",
+ "tempfile",
+ "toml",
+]
+
+[[package]]
+name = "vhdl_ls"
+version = "0.64.0"
+dependencies = [
+ "clap",
+ "env_logger",
+ "fnv",
+ "log",
+ "lsp-server",
+ "lsp-types",
+ "pretty_assertions",
+ "serde",
+ "serde_json",
+ "tempfile",
+ "vhdl_lang",
+]
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[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_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[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_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[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_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "winnow"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23d020b441f92996c80d94ae9166e8501e59c7bb56121189dc9eab3bd8216966"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "yansi"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
diff --git a/pkgs/development/tools/language-servers/vhdl-ls/default.nix b/pkgs/development/tools/language-servers/vhdl-ls/default.nix
new file mode 100644
index 000000000000..71ea98262474
--- /dev/null
+++ b/pkgs/development/tools/language-servers/vhdl-ls/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "vhdl-ls";
+  version = "0.64.0";
+
+  src = fetchFromGitHub {
+    owner = "VHDL-LS";
+    repo = "rust_hdl";
+    rev = "v${version}";
+    hash = "sha256-j5WRJJBUPKW3W+kY5hdqdZxxGkIAoEcW+A2pp23MX6Q=";
+  };
+
+  # No Cargo.lock upstream, see:
+  # https://github.com/VHDL-LS/rust_hdl/issues/166
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+  };
+  postPatch = ''
+    ln -s ${./Cargo.lock} Cargo.lock
+  ''
+  # Also make it look up vhdl_libraries in an expected location
+  + ''
+    substituteInPlace vhdl_lang/src/config.rs \
+      --replace /usr/lib $out/lib
+  '';
+
+  postInstall = ''
+    mkdir -p $out/lib/rust_hdl
+    cp -r vhdl_libraries $out/lib/rust_hdl
+  '';
+
+  meta = {
+    description = "A fast VHDL language server";
+    homepage = "https://github.com/VHDL-LS/rust_hdl";
+    license = lib.licenses.mpl20;
+    mainProgram = "vhdl_ls";
+    maintainers = with lib.maintainers; [ doronbehar ];
+  };
+}
diff --git a/pkgs/development/tools/ldid/default.nix b/pkgs/development/tools/ldid/default.nix
index 6b3b2b9470ac..40cfc1e53ff5 100644
--- a/pkgs/development/tools/ldid/default.nix
+++ b/pkgs/development/tools/ldid/default.nix
@@ -4,7 +4,7 @@
 , fetchgit
 , libplist
 , libxml2
-, openssl_1_1
+, openssl
 , CoreFoundation
 , Security
 }:
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libplist
     libxml2
-    openssl_1_1
+    openssl
   ] ++ lib.optionals stdenv.isDarwin [
     CoreFoundation
     Security
diff --git a/pkgs/development/tools/misc/asls/default.nix b/pkgs/development/tools/misc/asls/default.nix
deleted file mode 100644
index 9987c9b5426e..000000000000
--- a/pkgs/development/tools/misc/asls/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, erlangR22
-}:
-
-stdenv.mkDerivation rec {
-  pname = "asls";
-  version = "0.5.1";
-
-  src = fetchurl {
-    url = "https://github.com/saulecabrera/asls/releases/download/v${version}/bin.tar.gz";
-    sha256 = "05kp44p4q4sdykfw0b4k9j3qdp0qvwgjbs48ncmnd0ass0xrmi3s";
-  };
-
-  nativeBuildInputs = [ erlangR22 ];
-  installPhase = "install -Dm755 -t $out/bin asls";
-
-  meta = with lib; {
-    description = "AssemblyScript Language Server";
-    homepage = "https://github.com/saulecabrera/asls";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ saulecabrera ];
-  };
-}
diff --git a/pkgs/development/tools/misc/gdbgui/default.nix b/pkgs/development/tools/misc/gdbgui/default.nix
index e953fa0ba40d..523cd85efb6a 100644
--- a/pkgs/development/tools/misc/gdbgui/default.nix
+++ b/pkgs/development/tools/misc/gdbgui/default.nix
@@ -2,8 +2,9 @@
 , buildPythonApplication
 , fetchPypi
 , gdb
-, flask-socketio
+, eventlet
 , flask-compress
+, flask-socketio
 , pygdbmi
 , pygments
 , }:
@@ -11,26 +12,26 @@
 buildPythonApplication rec {
   pname = "gdbgui";
 
-  version = "0.15.0.1";
-
+  version = "0.15.1.0";
 
   buildInputs = [ gdb ];
   propagatedBuildInputs = [
-    flask-socketio
+    eventlet
     flask-compress
+    flask-socketio
     pygdbmi
     pygments
   ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bwrleLn3GBx4Mie2kujtaUo+XCALM+hRLySIZERlBg0=";
+    sha256 = "sha256-YcD3om7N6yddm02It6/fjXDsVHG0Cs46fdGof0PMJXM=";
   };
 
   postPatch = ''
     echo ${version} > gdbgui/VERSION.txt
-    # remove upper version bound
-    sed -ie 's!,.*<.*!!' requirements.in
+    # relax version requirements
+    sed -i 's/==.*$//' requirements.txt
   '';
 
   postInstall = ''
diff --git a/pkgs/development/tools/misc/patchelf/unstable.nix b/pkgs/development/tools/misc/patchelf/unstable.nix
index 66c14bd07e0e..3f20cb7834f5 100644
--- a/pkgs/development/tools/misc/patchelf/unstable.nix
+++ b/pkgs/development/tools/misc/patchelf/unstable.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "patchelf";
-  version = "unstable-2023-03-07";
+  version = "unstable-2023-03-18";
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "patchelf";
-    rev = "ea2fca765c440fff1ff74e1463444dea7b819db2";
-    sha256 = "sha256-IH80NcLhwjGpIXEjHuV+NgaSC+Y/PXquxZ/C8Bl+CLk=";
+    rev = "265b31ae22c6e1d20b01295aaa7bcf28fd31a5cf";
+    sha256 = "sha256-+iGvdjXvhk5mN8jp3u+M9fICKFqbtyZCx+WjQszaB1o=";
   };
 
   # Drop test that fails on musl (?)
diff --git a/pkgs/development/tools/misc/phpunit/default.nix b/pkgs/development/tools/misc/phpunit/default.nix
index 90bc80cacaf5..751646e15aa0 100644
--- a/pkgs/development/tools/misc/phpunit/default.nix
+++ b/pkgs/development/tools/misc/phpunit/default.nix
@@ -2,14 +2,14 @@
 
 let
   pname = "phpunit";
-  version = "10.0.14";
+  version = "10.0.16";
 in
 stdenv.mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://phar.phpunit.de/phpunit-${version}.phar";
-    hash = "sha256-tANk4A9tZ0gp+pX8qKxnMsR7RP55+5E/y9EXr7ZkLVM=";
+    hash = "sha256-e/wUIri2y4yKI1V+U/vAD3ef2ZeKxBcFrb0Ay/rlTtM=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/misc/sccache/default.nix b/pkgs/development/tools/misc/sccache/default.nix
index 2ad51f093fcd..b862cb121811 100644
--- a/pkgs/development/tools/misc/sccache/default.nix
+++ b/pkgs/development/tools/misc/sccache/default.nix
@@ -1,24 +1,21 @@
 { lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, stdenv, Security }:
 
 rustPlatform.buildRustPackage rec {
-  version = "0.3.3";
+  version = "0.4.0";
   pname = "sccache";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "sccache";
     rev = "v${version}";
-    sha256 = "sha256-XzAU8Rs0/Q1KvE2tF0zzv9d2/a07BzZQbVzOdrPlbSk=";
+    sha256 = "sha256-6ok8N5y/Wtz4t0414GHT7qc5D2ysw97oKASbKHPLXN8=";
   };
 
-  cargoSha256 = "sha256-r5rIuulcPB5Y4AkbUPswf3W4DZ9Pc8auzmDDvSOOZEA=";
+  cargoSha256 = "sha256-dxjVlbnewFdnO294L+9kQE8owlgyPaxepxtmC7V9nGk=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
 
-  # sccache-dist is only supported on x86_64 Linux machines.
-  buildFeatures = lib.optionals (stdenv.system == "x86_64-linux") [ "dist-client" "dist-server" ];
-
   # Tests fail because of client server setup which is not possible inside the pure environment,
   # see https://github.com/mozilla/sccache/issues/460
   doCheck = false;
diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix
index 3514e9c24d13..04ed7db71147 100644
--- a/pkgs/development/tools/mold/default.nix
+++ b/pkgs/development/tools/mold/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mold";
-  version = "1.10.1";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "rui314";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-5zE5a+BYzQjgVb0Ti7bSQrGzTyysOTTR0NMOO5IKG68=";
+    hash = "sha256-dfdrXp05eJALTQnx2F3GxRWKMA+Icj0mRPcb72z7qMw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix
index 8b186b9be439..db94092e36da 100644
--- a/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/pkgs/development/tools/profiling/systemtap/default.nix
@@ -22,22 +22,10 @@ let
     env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=deprecated-declarations" ]; # Needed with GCC 12
   };
 
-  ## a kernel build dir as expected by systemtap
-  kernelBuildDir = runCommand "kbuild-${kernel.version}-merged" { } ''
-    mkdir -p $out
-    for f in \
-        ${kernel}/System.map \
-        ${kernel.dev}/vmlinux \
-        ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build/{*,.*}
-    do
-      ln -s $(readlink -f $f) $out
-    done
-  '';
-
   pypkgs = with python3.pkgs; makePythonPath [ pyparsing ];
 
 in runCommand "systemtap-${kernel.version}-${version}" {
-  inherit stapBuild kernelBuildDir;
+  inherit stapBuild;
   nativeBuildInputs = [ makeWrapper ];
   meta = {
     homepage = "https://sourceware.org/systemtap/";
@@ -52,7 +40,7 @@ in runCommand "systemtap-${kernel.version}-${version}" {
   done
   rm $out/bin/stap $out/bin/dtrace
   makeWrapper $stapBuild/bin/stap $out/bin/stap \
-    --add-flags "-r $kernelBuildDir" \
+    --add-flags "-r ${kernel.dev}" \
     --prefix PATH : ${lib.makeBinPath [ stdenv.cc.cc stdenv.cc.bintools elfutils gnumake ]}
   makeWrapper $stapBuild/bin/dtrace $out/bin/dtrace \
     --prefix PYTHONPATH : ${pypkgs}
diff --git a/pkgs/development/tools/revive/default.nix b/pkgs/development/tools/revive/default.nix
index b5bc7c111cb3..8ce52abc2f7f 100644
--- a/pkgs/development/tools/revive/default.nix
+++ b/pkgs/development/tools/revive/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "revive";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "mgechev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-J+LAv0cLG+ucvOywLhaL/LObMO4tPUcLEv+dItHcPBI=";
+    sha256 = "sha256-Iqe3iFE9hTPUgIO6MoPHAkr+KU5mEJ3ZY4Oh9xhXido=";
     # 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;
@@ -35,7 +35,7 @@ buildGoModule rec {
 
   # The following tests fail when built by nix:
   #
-  # $ nix log /nix/store/build-revive.1.3.0.drv | grep FAIL
+  # $ nix log /nix/store/build-revive.1.3.1.drv | grep FAIL
   #
   # --- FAIL: TestAll (0.01s)
   # --- FAIL: TestTimeEqual (0.00s)
diff --git a/pkgs/development/tools/ruff/Cargo.lock b/pkgs/development/tools/ruff/Cargo.lock
new file mode 100644
index 000000000000..d94322e0546d
--- /dev/null
+++ b/pkgs/development/tools/ruff/Cargo.lock
@@ -0,0 +1,3408 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "Inflector"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ahash"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "anes"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
+
+[[package]]
+name = "annotate-snippets"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7021ce4924a3f25f802b2cccd1af585e39ea1a363a1aa2e72afe54b67a3a7a7"
+
+[[package]]
+name = "annotate-snippets"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3b9d411ecbaf79885c6df4d75fff75858d5995ff25385657a28af47e82f9c36"
+dependencies = [
+ "unicode-width",
+ "yansi-term",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800"
+
+[[package]]
+name = "ascii"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16"
+
+[[package]]
+name = "ascii-canvas"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6"
+dependencies = [
+ "term",
+]
+
+[[package]]
+name = "assert_cmd"
+version = "2.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9834fcc22e0874394a010230586367d4a3e9f11b560f469262678547e1d2575e"
+dependencies = [
+ "bstr 1.3.0",
+ "doc-comment",
+ "predicates",
+ "predicates-core",
+ "predicates-tree",
+ "wait-timeout",
+]
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi 0.1.19",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "bincode"
+version = "1.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "bisection"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "021e079a1bab0ecce6cf4b4b74c0c37afa4a697136eb3b127875c84a8f04a8c3"
+
+[[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 = "block-buffer"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
+dependencies = [
+ "generic-array",
+]
+
+[[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",
+]
+
+[[package]]
+name = "bstr"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1"
+dependencies = [
+ "memchr",
+ "once_cell",
+ "regex-automata",
+ "serde",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
+
+[[package]]
+name = "cachedir"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e236bf5873ea57ec2877445297f4da008916bfae51567131acfc54a073d694f3"
+dependencies = [
+ "tempfile",
+]
+
+[[package]]
+name = "cast"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
+
+[[package]]
+name = "cc"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chic"
+version = "1.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a5b5db619f3556839cb2223ae86ff3f9a09da2c5013be42bc9af08c9589bf70c"
+dependencies = [
+ "annotate-snippets 0.6.1",
+]
+
+[[package]]
+name = "chrono"
+version = "0.4.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f"
+dependencies = [
+ "iana-time-zone",
+ "js-sys",
+ "num-integer",
+ "num-traits",
+ "time",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[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 = "clap"
+version = "3.2.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
+dependencies = [
+ "bitflags",
+ "clap_lex 0.2.4",
+ "indexmap",
+ "textwrap",
+]
+
+[[package]]
+name = "clap"
+version = "4.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3d7ae14b20b94cb02149ed21a86c423859cbe18dc7ed69845cace50e52b40a5"
+dependencies = [
+ "bitflags",
+ "clap_derive",
+ "clap_lex 0.3.1",
+ "is-terminal",
+ "once_cell",
+ "strsim",
+ "termcolor",
+]
+
+[[package]]
+name = "clap_complete"
+version = "4.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd125be87bf4c255ebc50de0b7f4d2a6201e8ac3dc86e39c0ad081dc5e7236fe"
+dependencies = [
+ "clap 4.1.8",
+]
+
+[[package]]
+name = "clap_complete_command"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d"
+dependencies = [
+ "clap 4.1.8",
+ "clap_complete",
+ "clap_complete_fig",
+ "clap_complete_nushell",
+]
+
+[[package]]
+name = "clap_complete_fig"
+version = "4.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "63a06158a72dbb088f864887b4409fd22600ba379f3cee3040f842234cc5c2d0"
+dependencies = [
+ "clap 4.1.8",
+ "clap_complete",
+]
+
+[[package]]
+name = "clap_complete_nushell"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7fa41f5e6aa83bd151b70fd0ceaee703d68cd669522795dc812df9edad1252c"
+dependencies = [
+ "clap 4.1.8",
+ "clap_complete",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44bec8e5c9d09e439c4335b1af0abaab56dcf3b94999a936e1bb47b9134288f0"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "clearscreen"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41aa24cc5e1d6b3fc49ad4cd540b522fedcbe88bc6f259ff16e20e7010b6f8c7"
+dependencies = [
+ "nix",
+ "terminfo",
+ "thiserror",
+ "which",
+ "winapi",
+]
+
+[[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 = "colored"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd"
+dependencies = [
+ "atty",
+ "lazy_static",
+ "winapi",
+]
+
+[[package]]
+name = "configparser"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5458d9d1a587efaf5091602c59d299696a3877a439c8f6d461a2d3cce11df87a"
+
+[[package]]
+name = "console"
+version = "0.15.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60"
+dependencies = [
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "console_error_panic_hook"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "console_log"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "878ad067d4089144a36ee412d665916c665430eb84c0057b9987f424a5d15c03"
+dependencies = [
+ "log",
+ "web-sys",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "criterion"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
+dependencies = [
+ "anes",
+ "atty",
+ "cast",
+ "ciborium",
+ "clap 3.2.23",
+ "criterion-plot",
+ "itertools",
+ "lazy_static",
+ "num-traits",
+ "oorandom",
+ "plotters",
+ "rayon",
+ "regex",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "tinytemplate",
+ "walkdir",
+]
+
+[[package]]
+name = "criterion-plot"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
+dependencies = [
+ "cast",
+ "itertools",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+ "memoffset",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
+name = "ctor"
+version = "0.1.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
+dependencies = [
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "cxx"
+version = "1.0.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62"
+dependencies = [
+ "cc",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "link-cplusplus",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690"
+dependencies = [
+ "cc",
+ "codespan-reporting",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "diff"
+version = "0.1.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
+
+[[package]]
+name = "difflib"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
+
+[[package]]
+name = "digest"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
+dependencies = [
+ "block-buffer",
+ "crypto-common",
+]
+
+[[package]]
+name = "dirs"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-next"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
+dependencies = [
+ "cfg-if",
+ "dirs-sys-next",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
+]
+
+[[package]]
+name = "dirs-sys-next"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
+]
+
+[[package]]
+name = "doc-comment"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
+
+[[package]]
+name = "drop_bomb"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1"
+
+[[package]]
+name = "dyn-clone"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60"
+
+[[package]]
+name = "either"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+
+[[package]]
+name = "ena"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d7402b94a93c24e742487327a7cd839dc9d36fec9de9fb25b09f2dae459f36c3"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "encode_unicode"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+
+[[package]]
+name = "errno"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "winapi",
+]
+
+[[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 = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "fern"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bdd7b0849075e79ee9a1836df22c717d1eba30451796fdc631b04565dd11e2a"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "fixedbitset"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
+
+[[package]]
+name = "flake8-to-ruff"
+version = "0.0.258"
+dependencies = [
+ "anyhow",
+ "clap 4.1.8",
+ "colored",
+ "configparser",
+ "once_cell",
+ "regex",
+ "ruff",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "strum",
+ "strum_macros",
+ "toml",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "fsevent-sys"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "globset"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc"
+dependencies = [
+ "aho-corasick",
+ "bstr 1.3.0",
+ "fnv",
+ "log",
+ "regex",
+]
+
+[[package]]
+name = "half"
+version = "1.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[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 = "hexf-parse"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df"
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.53"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
+dependencies = [
+ "cxx",
+ "cxx-build",
+]
+
+[[package]]
+name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "ignore"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
+dependencies = [
+ "globset",
+ "lazy_static",
+ "log",
+ "memchr",
+ "regex",
+ "same-file",
+ "thread_local",
+ "walkdir",
+ "winapi-util",
+]
+
+[[package]]
+name = "imperative"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f92123bf2fe0d9f1b5df1964727b970ca3b2d0203d47cf97fb1f36d856b6398"
+dependencies = [
+ "phf",
+ "rust-stemmers",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+]
+
+[[package]]
+name = "inotify"
+version = "0.9.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff"
+dependencies = [
+ "bitflags",
+ "inotify-sys",
+ "libc",
+]
+
+[[package]]
+name = "inotify-sys"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "insta"
+version = "1.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fea5b3894afe466b4bcf0388630fc15e11938a6074af0cd637c825ba2ec8a099"
+dependencies = [
+ "console",
+ "lazy_static",
+ "linked-hash-map",
+ "pest",
+ "pest_derive",
+ "serde",
+ "similar",
+ "yaml-rust",
+]
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "io-lifetimes"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3"
+dependencies = [
+ "libc",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "is-macro"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a7d079e129b77477a49c5c4f1cfe9ce6c2c909ef52520693e8e811a714c7b20"
+dependencies = [
+ "Inflector",
+ "pmutil",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "is-terminal"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857"
+dependencies = [
+ "hermit-abi 0.3.1",
+ "io-lifetimes",
+ "rustix",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
+
+[[package]]
+name = "js-sys"
+version = "0.3.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "kqueue"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98"
+dependencies = [
+ "kqueue-sys",
+ "libc",
+]
+
+[[package]]
+name = "kqueue-sys"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587"
+dependencies = [
+ "bitflags",
+ "libc",
+]
+
+[[package]]
+name = "lalrpop"
+version = "0.19.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b30455341b0e18f276fa64540aff54deafb54c589de6aca68659c63dd2d5d823"
+dependencies = [
+ "ascii-canvas",
+ "atty",
+ "bit-set",
+ "diff",
+ "ena",
+ "itertools",
+ "lalrpop-util",
+ "petgraph",
+ "pico-args",
+ "regex",
+ "regex-syntax",
+ "string_cache",
+ "term",
+ "tiny-keccak",
+ "unicode-xid",
+]
+
+[[package]]
+name = "lalrpop-util"
+version = "0.19.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcf796c978e9b4d983414f4caedc9273aa33ee214c5b887bd55fde84c85d2dc4"
+dependencies = [
+ "regex",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "lexical-parse-float"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f"
+dependencies = [
+ "lexical-parse-integer",
+ "lexical-util",
+ "static_assertions",
+]
+
+[[package]]
+name = "lexical-parse-integer"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9"
+dependencies = [
+ "lexical-util",
+ "static_assertions",
+]
+
+[[package]]
+name = "lexical-util"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc"
+dependencies = [
+ "static_assertions",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.139"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+
+[[package]]
+name = "libcst"
+version = "0.1.0"
+source = "git+https://github.com/charliermarsh/LibCST?rev=80e4c1399f95e5beb532fdd1e209ad2dbb470438#80e4c1399f95e5beb532fdd1e209ad2dbb470438"
+dependencies = [
+ "chic",
+ "itertools",
+ "libcst_derive",
+ "once_cell",
+ "paste",
+ "peg",
+ "regex",
+ "thiserror",
+]
+
+[[package]]
+name = "libcst_derive"
+version = "0.1.0"
+source = "git+https://github.com/charliermarsh/LibCST?rev=80e4c1399f95e5beb532fdd1e209ad2dbb470438#80e4c1399f95e5beb532fdd1e209ad2dbb470438"
+dependencies = [
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "libmimalloc-sys"
+version = "0.1.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd8c7cbf8b89019683667e347572e6d55a7df7ea36b0c4ce69961b0cde67b174"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "link-cplusplus"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "linked-hash-map"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "lz4_flex"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a8cbbb2831780bc3b9c15a41f5b49222ef756b6730a95f3decfdd15903eb5a3"
+dependencies = [
+ "twox-hash",
+]
+
+[[package]]
+name = "matches"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "memoffset"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "mimalloc"
+version = "0.1.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9dcb174b18635f7561a0c6c9fc2ce57218ac7523cf72c50af80e2d79ab8f3ba1"
+dependencies = [
+ "libmimalloc-sys",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+dependencies = [
+ "libc",
+ "log",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "natord"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "308d96db8debc727c3fd9744aac51751243420e46edf401010908da7f8d5e57c"
+
+[[package]]
+name = "new_debug_unreachable"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
+
+[[package]]
+name = "nextest-workspace-hack"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d906846a98739ed9d73d66e62c2641eef8321f1734b7a1156ab045a0248fb2b3"
+
+[[package]]
+name = "nix"
+version = "0.26.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
+dependencies = [
+ "bitflags",
+ "cfg-if",
+ "libc",
+ "static_assertions",
+]
+
+[[package]]
+name = "nohash-hasher"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
+
+[[package]]
+name = "nom"
+version = "5.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
+dependencies = [
+ "memchr",
+ "version_check",
+]
+
+[[package]]
+name = "notify"
+version = "5.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58ea850aa68a06e48fdb069c0ec44d0d64c8dbffa49bf3b6f7f0a901fdea1ba9"
+dependencies = [
+ "bitflags",
+ "crossbeam-channel",
+ "filetime",
+ "fsevent-sys",
+ "inotify",
+ "kqueue",
+ "libc",
+ "mio",
+ "walkdir",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "num-bigint"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-complex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+dependencies = [
+ "hermit-abi 0.2.6",
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+
+[[package]]
+name = "oorandom"
+version = "11.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+
+[[package]]
+name = "output_vt100"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba"
+
+[[package]]
+name = "path-absolutize"
+version = "3.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f1d4993b16f7325d90c18c3c6a3327db7808752db8d208cea0acee0abd52c52"
+dependencies = [
+ "path-dedot",
+]
+
+[[package]]
+name = "path-dedot"
+version = "3.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a81540d94551664b72b72829b12bd167c73c9d25fbac0e04fafa8023f7e4901"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "pathdiff"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
+
+[[package]]
+name = "peg"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a07f2cafdc3babeebc087e499118343442b742cc7c31b4d054682cc598508554"
+dependencies = [
+ "peg-macros",
+ "peg-runtime",
+]
+
+[[package]]
+name = "peg-macros"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a90084dc05cf0428428e3d12399f39faad19b0909f64fb9170c9fdd6d9cd49b"
+dependencies = [
+ "peg-runtime",
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
+name = "peg-runtime"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fa00462b37ead6d11a82c9d568b26682d78e0477dc02d1966c013af80969739"
+
+[[package]]
+name = "pep440_rs"
+version = "0.2.0"
+source = "git+https://github.com/konstin/pep440-rs.git?rev=a8fef4ec47f4c25b070b39cdbe6a0b9847e49941#a8fef4ec47f4c25b070b39cdbe6a0b9847e49941"
+dependencies = [
+ "lazy_static",
+ "regex",
+ "serde",
+ "tracing",
+ "unicode-width",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+
+[[package]]
+name = "pest"
+version = "2.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "028accff104c4e513bad663bbcd2ad7cfd5304144404c31ed0a77ac103d00660"
+dependencies = [
+ "thiserror",
+ "ucd-trie",
+]
+
+[[package]]
+name = "pest_derive"
+version = "2.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ac3922aac69a40733080f53c1ce7f91dcf57e1a5f6c52f421fadec7fbdc4b69"
+dependencies = [
+ "pest",
+ "pest_generator",
+]
+
+[[package]]
+name = "pest_generator"
+version = "2.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d06646e185566b5961b4058dd107e0a7f56e77c3f484549fb119867773c0f202"
+dependencies = [
+ "pest",
+ "pest_meta",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "pest_meta"
+version = "2.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6f60b2ba541577e2a0c307c8f39d1439108120eb7903adeb6497fa880c59616"
+dependencies = [
+ "once_cell",
+ "pest",
+ "sha2",
+]
+
+[[package]]
+name = "petgraph"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4"
+dependencies = [
+ "fixedbitset",
+ "indexmap",
+]
+
+[[package]]
+name = "phf"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c"
+dependencies = [
+ "phf_shared 0.11.1",
+]
+
+[[package]]
+name = "phf_codegen"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a56ac890c5e3ca598bbdeaa99964edb5b0258a583a9eb6ef4e89fc85d9224770"
+dependencies = [
+ "phf_generator",
+ "phf_shared 0.11.1",
+]
+
+[[package]]
+name = "phf_generator"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf"
+dependencies = [
+ "phf_shared 0.11.1",
+ "rand",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "pico-args"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db8bcd96cb740d03149cbad5518db9fd87126a10ab519c011893b1754134c468"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+
+[[package]]
+name = "plotters"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97"
+dependencies = [
+ "num-traits",
+ "plotters-backend",
+ "plotters-svg",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "plotters-backend"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142"
+
+[[package]]
+name = "plotters-svg"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f"
+dependencies = [
+ "plotters-backend",
+]
+
+[[package]]
+name = "pmutil"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3894e5d549cccbe44afecf72922f277f603cd4bb0219c8342631ef18fffbe004"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "precomputed-hash"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
+
+[[package]]
+name = "predicates"
+version = "2.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd"
+dependencies = [
+ "difflib",
+ "itertools",
+ "predicates-core",
+]
+
+[[package]]
+name = "predicates-core"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72f883590242d3c6fc5bf50299011695fa6590c2c70eac95ee1bdb9a733ad1a2"
+
+[[package]]
+name = "predicates-tree"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54ff541861505aabf6ea722d2131ee980b8276e10a1297b94e896dd8b621850d"
+dependencies = [
+ "predicates-core",
+ "termtree",
+]
+
+[[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 = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.51"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quick-junit"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05b909fe9bf2abb1e3d6a97c9189a37c8105c61d03dca9ce6aace023e7d682bd"
+dependencies = [
+ "chrono",
+ "indexmap",
+ "nextest-workspace-hack",
+ "quick-xml",
+ "thiserror",
+ "uuid",
+]
+
+[[package]]
+name = "quick-xml"
+version = "0.26.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
+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.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rayon"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-utils",
+ "num_cpus",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+dependencies = [
+ "getrandom",
+ "redox_syscall",
+ "thiserror",
+]
+
+[[package]]
+name = "regex"
+version = "1.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
+
+[[package]]
+name = "remove_dir_all"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "result-like"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccc7ce6435c33898517a30e85578cd204cbb696875efb93dec19a2d31294f810"
+dependencies = [
+ "result-like-derive",
+]
+
+[[package]]
+name = "result-like-derive"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fabf0a2e54f711c68c50d49f648a1a8a37adcb57353f518ac4df374f0788f42"
+dependencies = [
+ "pmutil",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "syn-ext",
+]
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "ruff"
+version = "0.0.258"
+dependencies = [
+ "anyhow",
+ "bisection",
+ "bitflags",
+ "chrono",
+ "clap 4.1.8",
+ "colored",
+ "dirs",
+ "fern",
+ "glob",
+ "globset",
+ "ignore",
+ "imperative",
+ "insta",
+ "is-macro",
+ "itertools",
+ "libcst",
+ "log",
+ "natord",
+ "nohash-hasher",
+ "num-bigint",
+ "num-traits",
+ "once_cell",
+ "path-absolutize",
+ "pathdiff",
+ "pep440_rs",
+ "pretty_assertions",
+ "regex",
+ "result-like",
+ "ruff_cache",
+ "ruff_diagnostics",
+ "ruff_macros",
+ "ruff_python_ast",
+ "ruff_python_stdlib",
+ "ruff_rustpython",
+ "rustc-hash",
+ "rustpython-common",
+ "rustpython-parser",
+ "schemars",
+ "semver",
+ "serde",
+ "serde_json",
+ "shellexpand",
+ "smallvec",
+ "strum",
+ "strum_macros",
+ "test-case",
+ "textwrap",
+ "thiserror",
+ "toml",
+]
+
+[[package]]
+name = "ruff_benchmark"
+version = "0.0.0"
+dependencies = [
+ "criterion",
+ "mimalloc",
+ "once_cell",
+ "ruff",
+ "serde",
+ "serde_json",
+ "tikv-jemallocator",
+ "ureq",
+ "url",
+]
+
+[[package]]
+name = "ruff_cache"
+version = "0.0.0"
+dependencies = [
+ "filetime",
+ "globset",
+ "itertools",
+ "regex",
+ "ruff_macros",
+]
+
+[[package]]
+name = "ruff_cli"
+version = "0.0.258"
+dependencies = [
+ "annotate-snippets 0.9.1",
+ "anyhow",
+ "assert_cmd",
+ "atty",
+ "bincode",
+ "bitflags",
+ "cachedir",
+ "chrono",
+ "clap 4.1.8",
+ "clap_complete_command",
+ "clearscreen",
+ "colored",
+ "filetime",
+ "glob",
+ "ignore",
+ "itertools",
+ "log",
+ "mimalloc",
+ "notify",
+ "path-absolutize",
+ "quick-junit",
+ "rayon",
+ "regex",
+ "ruff",
+ "ruff_cache",
+ "ruff_diagnostics",
+ "ruff_python_stdlib",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "shellexpand",
+ "similar",
+ "strum",
+ "textwrap",
+ "tikv-jemallocator",
+ "ureq",
+ "walkdir",
+]
+
+[[package]]
+name = "ruff_dev"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "clap 4.1.8",
+ "itertools",
+ "libcst",
+ "once_cell",
+ "pretty_assertions",
+ "regex",
+ "ruff",
+ "ruff_cli",
+ "ruff_diagnostics",
+ "rustpython-common",
+ "rustpython-parser",
+ "schemars",
+ "serde_json",
+ "strum",
+ "strum_macros",
+ "textwrap",
+]
+
+[[package]]
+name = "ruff_diagnostics"
+version = "0.0.0"
+dependencies = [
+ "ruff_python_ast",
+ "rustpython-parser",
+ "serde",
+]
+
+[[package]]
+name = "ruff_formatter"
+version = "0.0.0"
+dependencies = [
+ "drop_bomb",
+ "insta",
+ "ruff_text_size",
+ "rustc-hash",
+ "schemars",
+ "serde",
+ "tracing",
+ "unicode-width",
+]
+
+[[package]]
+name = "ruff_macros"
+version = "0.0.0"
+dependencies = [
+ "itertools",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "textwrap",
+]
+
+[[package]]
+name = "ruff_python_ast"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "bitflags",
+ "is-macro",
+ "itertools",
+ "log",
+ "nohash-hasher",
+ "num-bigint",
+ "num-traits",
+ "once_cell",
+ "regex",
+ "ruff_python_stdlib",
+ "ruff_rustpython",
+ "rustc-hash",
+ "rustpython-common",
+ "rustpython-parser",
+ "smallvec",
+]
+
+[[package]]
+name = "ruff_python_formatter"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "clap 4.1.8",
+ "insta",
+ "is-macro",
+ "itertools",
+ "once_cell",
+ "ruff_formatter",
+ "ruff_python_ast",
+ "ruff_python_stdlib",
+ "ruff_rustpython",
+ "ruff_testing_macros",
+ "ruff_text_size",
+ "rustc-hash",
+ "rustpython-common",
+ "rustpython-parser",
+ "similar",
+ "test-case",
+]
+
+[[package]]
+name = "ruff_python_stdlib"
+version = "0.0.0"
+dependencies = [
+ "once_cell",
+ "rustc-hash",
+]
+
+[[package]]
+name = "ruff_rustpython"
+version = "0.0.0"
+dependencies = [
+ "anyhow",
+ "once_cell",
+ "rustpython-common",
+ "rustpython-parser",
+]
+
+[[package]]
+name = "ruff_testing_macros"
+version = "0.0.0"
+dependencies = [
+ "glob",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "ruff_text_size"
+version = "0.0.0"
+dependencies = [
+ "schemars",
+ "serde",
+ "serde_test",
+ "static_assertions",
+]
+
+[[package]]
+name = "ruff_wasm"
+version = "0.0.0"
+dependencies = [
+ "console_error_panic_hook",
+ "console_log",
+ "getrandom",
+ "js-sys",
+ "log",
+ "ruff",
+ "ruff_python_ast",
+ "ruff_rustpython",
+ "rustpython-parser",
+ "serde",
+ "serde-wasm-bindgen",
+ "wasm-bindgen",
+ "wasm-bindgen-test",
+]
+
+[[package]]
+name = "rust-stemmers"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e46a2036019fdb888131db7a4c847a1063a7493f971ed94ea82c67eada63ca54"
+dependencies = [
+ "serde",
+ "serde_derive",
+]
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustix"
+version = "0.36.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644"
+dependencies = [
+ "bitflags",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "rustls"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
+dependencies = [
+ "log",
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "rustpython-ast"
+version = "0.2.0"
+source = "git+https://github.com/RustPython/RustPython.git?rev=c15f670f2c30cfae6b41a1874893590148c74bc4#c15f670f2c30cfae6b41a1874893590148c74bc4"
+dependencies = [
+ "num-bigint",
+ "rustpython-compiler-core",
+]
+
+[[package]]
+name = "rustpython-common"
+version = "0.2.0"
+source = "git+https://github.com/RustPython/RustPython.git?rev=c15f670f2c30cfae6b41a1874893590148c74bc4#c15f670f2c30cfae6b41a1874893590148c74bc4"
+dependencies = [
+ "ascii",
+ "bitflags",
+ "cfg-if",
+ "hexf-parse",
+ "itertools",
+ "lexical-parse-float",
+ "libc",
+ "lock_api",
+ "num-bigint",
+ "num-complex",
+ "num-traits",
+ "once_cell",
+ "radium",
+ "rand",
+ "siphasher",
+ "unic-ucd-category",
+ "volatile",
+ "widestring",
+]
+
+[[package]]
+name = "rustpython-compiler-core"
+version = "0.2.0"
+source = "git+https://github.com/RustPython/RustPython.git?rev=c15f670f2c30cfae6b41a1874893590148c74bc4#c15f670f2c30cfae6b41a1874893590148c74bc4"
+dependencies = [
+ "bitflags",
+ "bstr 0.2.17",
+ "itertools",
+ "lz4_flex",
+ "num-bigint",
+ "num-complex",
+ "serde",
+]
+
+[[package]]
+name = "rustpython-parser"
+version = "0.2.0"
+source = "git+https://github.com/RustPython/RustPython.git?rev=c15f670f2c30cfae6b41a1874893590148c74bc4#c15f670f2c30cfae6b41a1874893590148c74bc4"
+dependencies = [
+ "ahash",
+ "anyhow",
+ "itertools",
+ "lalrpop",
+ "lalrpop-util",
+ "log",
+ "num-bigint",
+ "num-traits",
+ "phf",
+ "phf_codegen",
+ "rustc-hash",
+ "rustpython-ast",
+ "rustpython-compiler-core",
+ "serde",
+ "tiny-keccak",
+ "unic-emoji-char",
+ "unic-ucd-ident",
+ "unicode_names2",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70"
+
+[[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.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "schemars"
+version = "0.8.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02c613288622e5f0c3fdc5dbd4db1c5fbe752746b1d1a56a0630b78fd00de44f"
+dependencies = [
+ "dyn-clone",
+ "schemars_derive",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "schemars_derive"
+version = "0.8.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "109da1e6b197438deb6db99952990c7f959572794b80ff93707d55a232545e7c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde_derive_internals",
+ "syn",
+]
+
+[[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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2"
+
+[[package]]
+name = "sct"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a"
+
+[[package]]
+name = "serde"
+version = "1.0.152"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde-wasm-bindgen"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e"
+dependencies = [
+ "js-sys",
+ "serde",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.152"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[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",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.93"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
+dependencies = [
+ "indexmap",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_spanned"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_test"
+version = "1.0.152"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3611210d2d67e3513204742004d6ac6f589e521861dabb0f649b070eea8bed9e"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "sha2"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest",
+]
+
+[[package]]
+name = "shellexpand"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd1c7ddea665294d484c39fd0c0d2b7e35bbfe10035c5fe1854741a57f6880e1"
+dependencies = [
+ "dirs",
+]
+
+[[package]]
+name = "similar"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf"
+
+[[package]]
+name = "siphasher"
+version = "0.3.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "smawk"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043"
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "string_cache"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08"
+dependencies = [
+ "new_debug_unreachable",
+ "once_cell",
+ "parking_lot",
+ "phf_shared 0.10.0",
+ "precomputed-hash",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "strum"
+version = "0.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
+dependencies = [
+ "strum_macros",
+]
+
+[[package]]
+name = "strum_macros"
+version = "0.24.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn-ext"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b86cb2b68c5b3c078cac02588bc23f3c04bb828c5d3aedd17980876ec6a7be6"
+dependencies = [
+ "syn",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "libc",
+ "redox_syscall",
+ "remove_dir_all",
+ "winapi",
+]
+
+[[package]]
+name = "term"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f"
+dependencies = [
+ "dirs-next",
+ "rustversion",
+ "winapi",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "terminfo"
+version = "0.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da31aef70da0f6352dbcb462683eb4dd2bfad01cf3fc96cf204547b9a839a585"
+dependencies = [
+ "dirs",
+ "fnv",
+ "nom",
+ "phf",
+ "phf_codegen",
+]
+
+[[package]]
+name = "termtree"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8"
+
+[[package]]
+name = "test-case"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "679b019fb241da62cc449b33b224d19ebe1c6767b495569765115dd7f7f9fba4"
+dependencies = [
+ "test-case-macros",
+]
+
+[[package]]
+name = "test-case-core"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72dc21b5887f4032c4656502d085dc28f2afbb686f25f216472bb0526f4b1b88"
+dependencies = [
+ "cfg-if",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "test-case-macros"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3786898e0be151a96f730fd529b0e8a10f5990fa2a7ea14e37ca27613c05190"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "test-case-core",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+dependencies = [
+ "smawk",
+ "unicode-linebreak",
+ "unicode-width",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "tikv-jemalloc-sys"
+version = "0.5.3+5.3.0-patched"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "tikv-jemallocator"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20612db8a13a6c06d57ec83953694185a367e16945f66565e8028d2c0bd76979"
+dependencies = [
+ "libc",
+ "tikv-jemalloc-sys",
+]
+
+[[package]]
+name = "time"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
+dependencies = [
+ "libc",
+ "wasi 0.10.0+wasi-snapshot-preview1",
+ "winapi",
+]
+
+[[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"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[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.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "toml"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7afcae9e3f0fe2c370fd4657108972cbb2fa9db1b9f84849cefd80741b01cb6"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.19.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a1eb0622d28f4b9c90adc4ea4b2b46b47663fde9ac5fafcb14a1369d5508825"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tracing"
+version = "0.1.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+dependencies = [
+ "cfg-if",
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "twox-hash"
+version = "1.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
+dependencies = [
+ "cfg-if",
+ "static_assertions",
+]
+
+[[package]]
+name = "typenum"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+
+[[package]]
+name = "ucd-trie"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81"
+
+[[package]]
+name = "unic-char-property"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221"
+dependencies = [
+ "unic-char-range",
+]
+
+[[package]]
+name = "unic-char-range"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc"
+
+[[package]]
+name = "unic-common"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc"
+
+[[package]]
+name = "unic-emoji-char"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b07221e68897210270a38bde4babb655869637af0f69407f96053a34f76494d"
+dependencies = [
+ "unic-char-property",
+ "unic-char-range",
+ "unic-ucd-version",
+]
+
+[[package]]
+name = "unic-ucd-category"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b8d4591f5fcfe1bd4453baaf803c40e1b1e69ff8455c47620440b46efef91c0"
+dependencies = [
+ "matches",
+ "unic-char-property",
+ "unic-char-range",
+ "unic-ucd-version",
+]
+
+[[package]]
+name = "unic-ucd-ident"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987"
+dependencies = [
+ "unic-char-property",
+ "unic-char-range",
+ "unic-ucd-version",
+]
+
+[[package]]
+name = "unic-ucd-version"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4"
+dependencies = [
+ "unic-common",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+
+[[package]]
+name = "unicode-linebreak"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137"
+dependencies = [
+ "hashbrown",
+ "regex",
+]
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "unicode_names2"
+version = "0.6.0"
+source = "git+https://github.com/youknowone/unicode_names2.git?rev=4ce16aa85cbcdd9cc830410f1a72ef9a235f2fde#4ce16aa85cbcdd9cc830410f1a72ef9a235f2fde"
+dependencies = [
+ "phf",
+]
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "ureq"
+version = "2.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "338b31dd1314f68f3aabf3ed57ab922df95ffcd902476ca7ba3c4ce7b908c46d"
+dependencies = [
+ "base64",
+ "flate2",
+ "log",
+ "once_cell",
+ "rustls",
+ "url",
+ "webpki",
+ "webpki-roots",
+]
+
+[[package]]
+name = "url"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "uuid"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "volatile"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8e76fae08f03f96e166d2dfda232190638c10e0383841252416f9cfe2ae60e6"
+
+[[package]]
+name = "wait-timeout"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "walkdir"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
+dependencies = [
+ "same-file",
+ "winapi",
+ "winapi-util",
+]
+
+[[package]]
+name = "wasi"
+version = "0.10.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
+
+[[package]]
+name = "wasm-bindgen-test"
+version = "0.3.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6db36fc0f9fb209e88fb3642590ae0205bb5a56216dabd963ba15879fe53a30b"
+dependencies = [
+ "console_error_panic_hook",
+ "js-sys",
+ "scoped-tls",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wasm-bindgen-test-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-test-macro"
+version = "0.3.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0734759ae6b3b1717d661fe4f016efcfb9828f5edb4520c18eaee05af3b43be9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
+name = "web-sys"
+version = "0.3.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.22.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
+dependencies = [
+ "webpki",
+]
+
+[[package]]
+name = "which"
+version = "4.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+dependencies = [
+ "either",
+ "libc",
+ "once_cell",
+]
+
+[[package]]
+name = "widestring"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
+
+[[package]]
+name = "winnow"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf09497b8f8b5ac5d3bb4d05c0a99be20f26fd3d5f2db7b0716e946d5103658"
+dependencies = [
+ "memchr",
+]
+
+[[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 = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
+
+[[package]]
+name = "yansi-term"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1"
+dependencies = [
+ "winapi",
+]
diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix
index 541ce48bdc9a..bf008c43d980 100644
--- a/pkgs/development/tools/ruff/default.nix
+++ b/pkgs/development/tools/ruff/default.nix
@@ -8,16 +8,26 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.0.244";
+  version = "0.0.258";
 
   src = fetchFromGitHub {
     owner = "charliermarsh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oQBNVs7hoiXNqz5lYq5YNKHfpQ/c8LZAvNvtFqpTM2E=";
+    hash = "sha256-rlMghh6NmyIJTdjf6xmzVuevXh/OrBqhx+CkvvQwlng=";
   };
 
-  cargoSha256 = "sha256-61kypAXWfUZLfTbSp+b0gCKwuWtxAYVtKIwfVOcJ2o8=";
+  # We have to use importCargoLock here because `cargo vendor` currently doesn't support workspace
+  # inheritance within Git dependencies, but importCargoLock does.
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "libcst-0.1.0" = "sha256-jG9jYJP4reACkFLrQBWOYH6nbKniNyFVItD0cTZ+nW0=";
+      "pep440_rs-0.2.0" = "sha256-wDJGz7SbHItYsg0+EgIoH48WFdV6MEg+HkeE07JE6AU=";
+      "rustpython-ast-0.2.0" = "sha256-0SHtycgDVOtiz7JZwd1v9lv2exxemcntm9lciih+pgc=";
+      "unicode_names2-0.6.0" = "sha256-eWg9+ISm/vztB0KIdjhq5il2ZnwGJQCleCYfznCI3Wg=";
+    };
+  };
 
   nativeBuildInputs = [
     installShellFiles
@@ -27,6 +37,8 @@ rustPlatform.buildRustPackage rec {
     darwin.apple_sdk.frameworks.CoreServices
   ];
 
+  cargoBuildFlags = [ "--package=ruff_cli" ];
+
   # building tests fails with `undefined symbols`
   doCheck = false;
 
diff --git a/pkgs/development/tools/rust/cargo-about/default.nix b/pkgs/development/tools/rust/cargo-about/default.nix
index b3b49da4a48a..af749efbed8d 100644
--- a/pkgs/development/tools/rust/cargo-about/default.nix
+++ b/pkgs/development/tools/rust/cargo-about/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-about";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = "cargo-about";
     rev = version;
-    sha256 = "sha256-zr9Y07VoW8XQELzw7C1QT8Ared8ntH9yjncZqZJ1uj4=";
+    sha256 = "sha256-OAKTEU4+m9QMW/EMhCrN5HTMSjnPzEU0ISCeauI76SY=";
   };
 
-  cargoSha256 = "sha256-L01NvZbJggOMcoBLXZw8peiCQxA1DPqnrZVx2pMb40o=";
+  cargoSha256 = "sha256-BGopHg4giLVie+z7kjlb9rTvLTovFyJ/emCF4j0Va04=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-bundle/default.nix b/pkgs/development/tools/rust/cargo-bundle/default.nix
new file mode 100644
index 000000000000..f29d9aba8294
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-bundle/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, stdenv
+, darwin
+, libxkbcommon
+, wayland
+}:
+
+rustPlatform.buildRustPackage {
+  pname = "cargo-bundle";
+  # the latest stable release fails to build on darwin
+  version = "unstable-2023-03-17";
+
+  src = fetchFromGitHub {
+    owner = "burtonageo";
+    repo = "cargo-bundle";
+    rev = "eb9fe1b0880c7c0e929a93edaddcb0a61cd3f0d4";
+    hash = "sha256-alO+Q9IK5Hz09+TqHWsbjuokxISKQfQTM6QnLlUNydw=";
+  };
+
+  cargoHash = "sha256-h+QPbwYTJk6dieta/Q+VAhYe8/YH/Nik6gslzUn0YxI=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.AppKit
+  ] ++ lib.optionals stdenv.isLinux [
+    libxkbcommon
+    wayland
+  ];
+
+  meta = with lib; {
+    description = "Wrap rust executables in OS-specific app bundles";
+    homepage = "https://github.com/burtonageo/cargo-bundle";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-machete/default.nix b/pkgs/development/tools/rust/cargo-machete/default.nix
new file mode 100644
index 000000000000..b68aecced887
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-machete/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-machete";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "bnjbvr";
+    repo = "cargo-machete";
+    rev = "v${version}";
+    hash = "sha256-AOi4SnFkt82iQIP3bp/9JIaYiqjiEjKvJKUvrLQJTX8=";
+  };
+
+  cargoHash = "sha256-Q/2py0zgCYgnxFpcJD5PfNfIfIEUjtjFPjxDe25f0BQ=";
+
+  # tests require internet access
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A Cargo tool that detects unused dependencies in Rust projects";
+    homepage = "https://github.com/bnjbvr/cargo-machete";
+    changelog = "https://github.com/bnjbvr/cargo-machete/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-nextest/default.nix b/pkgs/development/tools/rust/cargo-nextest/default.nix
index 81f1c7e1cb68..8bc1b5607c28 100644
--- a/pkgs/development/tools/rust/cargo-nextest/default.nix
+++ b/pkgs/development/tools/rust/cargo-nextest/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-nextest";
-  version = "0.9.50";
+  version = "0.9.51";
 
   src = fetchFromGitHub {
     owner = "nextest-rs";
     repo = "nextest";
     rev = "cargo-nextest-${version}";
-    sha256 = "sha256-xV2kDi/9gJ6sCQChy4eUowWSttrrp5yrcBucsJ6GcKc=";
+    sha256 = "sha256-0ofONXhVK095gIh3FHBQrUKokMT5wbBtYJeMV8zx+dc=";
   };
 
-  cargoSha256 = "sha256-G5nEQ12mU7Hug4BqSaD24z3q2pZnQzvHoFVGDgw+xcU=";
+  cargoSha256 = "sha256-Q+4zr1Ab9O70q3erLZdIv0ocgF5q8XF4u4KhMCg1rhs=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/development/tools/rust/cargo-update/default.nix b/pkgs/development/tools/rust/cargo-update/default.nix
index 519e160e6726..412161ce2029 100644
--- a/pkgs/development/tools/rust/cargo-update/default.nix
+++ b/pkgs/development/tools/rust/cargo-update/default.nix
@@ -1,33 +1,48 @@
-{ lib, stdenv
+{ lib
 , rustPlatform
 , fetchCrate
 , cmake
-, pkg-config
 , installShellFiles
+, pkg-config
 , ronn
+, stdenv
 , curl
-, libgit2
+, libgit2_1_5
 , libssh2
 , openssl
-, Security
 , zlib
+, darwin
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-update";
-  version = "11.1.2";
+  version = "12.0.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-Hil4v9EUVEH1j7LV1icct6ggFzGVy3f8p+LuFrlBOVA=";
+    sha256 = "sha256-01XtxPVYamXBwn4zwqiRvpD+mHjpIUp+JT0fu3+Peq8=";
   };
 
-  cargoHash = "sha256-gOhZUJHBYti/kqfhyopRsY1PbXZdiGJZpjohMUbO/28=";
+  cargoHash = "sha256-x7RK6Wix5TB5/Ff2qWis3HAhBReWekeoxjcFUv19oB4=";
 
-  nativeBuildInputs = [ cmake installShellFiles pkg-config ronn ];
+  nativeBuildInputs = [
+    cmake
+    installShellFiles
+    pkg-config
+    ronn
+  ] ++ lib.optionals stdenv.isDarwin [
+    curl
+  ];
 
-  buildInputs = [ libgit2 libssh2 openssl zlib ]
-    ++ lib.optionals stdenv.isDarwin [ curl Security ];
+  buildInputs = [
+    libgit2_1_5
+    libssh2
+    openssl
+    zlib
+  ] ++ lib.optionals stdenv.isDarwin [
+    curl
+    darwin.apple_sdk.frameworks.Security
+  ];
 
   postBuild = ''
     # Man pages contain non-ASCII, so explicitly set encoding to UTF-8.
@@ -43,6 +58,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "A cargo subcommand for checking and applying updates to installed executables";
     homepage = "https://github.com/nabijaczleweli/cargo-update";
+    changelog = "https://github.com/nabijaczleweli/cargo-update/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ gerschtli Br1ght0ne johntitor ];
   };
diff --git a/pkgs/development/tools/rust/cargo-vet/default.nix b/pkgs/development/tools/rust/cargo-vet/default.nix
index 638bc0bdea22..93aa13a4f6ba 100644
--- a/pkgs/development/tools/rust/cargo-vet/default.nix
+++ b/pkgs/development/tools/rust/cargo-vet/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-vet";
-  version = "0.3.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = pname;
-    rev = "0.3";
-    sha256 = "sha256-m+2Rbaa7wtzdUyl8VzrGsxtZPhQMwlrx6okhc4zZNsI=";
+    rev = version;
+    sha256 = "sha256-nBhm6EDs99oKdUxT+N+IC7fY/U0yyeJyr6vbaZaiGSI=";
   };
 
-  cargoSha256 = "sha256-2Ri/CvTZ/RQqxHSgl05kaCbg0ATJapaFEF6y8fWGSwM=";
+  cargoSha256 = "sha256-M6CdYL8CDfFH0RaYGel6dC3LxQZzq9YbU8ecH9CWEr8=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix
index 4a6ca92e964b..cc56aea7df42 100644
--- a/pkgs/development/tools/unityhub/default.nix
+++ b/pkgs/development/tools/unityhub/default.nix
@@ -1,45 +1,129 @@
-{ lib, fetchurl, appimageTools  }:
+{ lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv
+, extraPkgs ? pkgs: [ ]
+, extraLibs ? pkgs: [ ]
+}:
 
-appimageTools.wrapType2 rec {
+stdenv.mkDerivation rec {
   pname = "unityhub";
-  version = "2.3.2";
+  version = "3.4.1";
 
   src = fetchurl {
-    # mirror of https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage
-    url = "https://archive.org/download/unity-hub-${version}/UnityHub.AppImage";
-    sha256 = "07nfyfp9apshqarc6pgshsczila6x4943hiyyizc55kp85aw0imn";
+    url = "https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local/pool/main/u/unity/unityhub_amd64/unityhub-amd64-${version}.deb";
+    sha256 = "sha256-/P6gPLSRGfwEN801cyNrZTpHyZKO+4tU6cFvLz8ERuo=";
   };
 
-  extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk-pixbuf glib libGL libGLU nss nspr
-    alsa-lib cups libcap fontconfig freetype pango
-    cairo dbus dbus-glib libdbusmenu libdbusmenu-gtk2 expat zlib libpng12 udev tbb
-    libpqxx gtk3 libsecret lsb-release openssl nodejs ncurses5
+  nativeBuildInputs = [
+    dpkg
+    makeWrapper
+  ];
 
-    libX11 libXcursor libXdamage libXfixes libXrender libXi
-    libXcomposite libXext libXrandr libXtst libSM libICE libxcb
+  fhsEnv = buildFHSUserEnv {
+    name = "${pname}-fhs-env";
+    runScript = "";
 
-    libselinux pciutils libpulseaudio libxml2 icu clang cacert
-  ]);
+    # Seems to be needed for GTK filepickers to work in FHSUserEnv
+    profile = "XDG_DATA_DIRS=\"\$XDG_DATA_DIRS:/usr/share/\"";
 
-  extraInstallCommands =
-    let appimageContents = appimageTools.extractType2 { inherit pname version src; }; in
-    ''
-      install -Dm444 ${appimageContents}/unityhub.desktop -t $out/share/applications
-      substituteInPlace $out/share/applications/unityhub.desktop \
-        --replace 'Exec=AppRun' 'Exec=${pname}'
-      install -m 444 -D ${appimageContents}/unityhub.png \
-        $out/share/icons/hicolor/64x64/apps/unityhub.png
-    '';
+    targetPkgs = pkgs: with pkgs; [
+      xorg.libXrandr
+
+      # GTK filepicker
+      gsettings-desktop-schemas
+      hicolor-icon-theme
+
+      # Bug Reporter dependencies
+      fontconfig
+      freetype
+      lsb-release
+    ] ++ extraPkgs pkgs;
+
+    multiPkgs = pkgs: with pkgs; [
+      # Unity Hub ldd dependencies
+      cups
+      gtk3
+      expat
+      libxkbcommon
+      lttng-ust_2_12
+      krb5
+      alsa-lib
+      nss_latest
+      libdrm
+      mesa
+      nspr
+      atk
+      dbus
+      at-spi2-core
+      pango
+      xorg.libXcomposite
+      xorg.libXext
+      xorg.libXdamage
+      xorg.libXfixes
+      xorg.libxcb
+      xorg.libxshmfence
+      xorg.libXScrnSaver
+      xorg.libXtst
+
+      # Unity Hub additional dependencies
+      libva
+      openssl_1_1
+      cairo
+      xdg-utils
+      libnotify
+      libuuid
+      libsecret
+      udev
+      libappindicator
+      wayland
+      cpio
+      icu
+      libpulseaudio
+
+      # Editor dependencies
+      libglvnd # provides ligbl
+      xorg.libX11
+      xorg.libXcursor
+      glib
+      gdk-pixbuf
+      libxml2
+      zlib
+      clang
+      git # for git-based packages in unity package manager
+    ] ++ extraLibs pkgs;
+  };
+
+  unpackCmd = "dpkg -x $curSrc src";
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    mv opt/ usr/share/ $out
+
+    # `/opt/unityhub/unityhub` is a shell wrapper that runs `/opt/unityhub/unityhub-bin`
+    # Which we don't need and overwrite with our own custom wrapper
+    makeWrapper ${fhsEnv}/bin/${pname}-fhs-env $out/opt/unityhub/unityhub \
+      --add-flags $out/opt/unityhub/unityhub-bin \
+      --argv0 unityhub
+
+    # Link binary
+    mkdir -p $out/bin
+    ln -s $out/opt/unityhub/unityhub $out/bin/unityhub
+
+    # Replace absolute path in desktop file to correctly point to nix store
+    substituteInPlace $out/share/applications/unityhub.desktop \
+      --replace /opt/unityhub/unityhub $out/opt/unityhub/unityhub
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
+    description = "Official Unity3D app to download and manage Unity Projects and installations";
     homepage = "https://unity3d.com/";
-    description = "Game development tool";
-    longDescription = ''
-      Popular development platform for creating 2D and 3D multiplatform games
-      and interactive experiences.
-    '';
     license = licenses.unfree;
+    maintainers = with maintainers; [ tesq0 huantian ];
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ tesq0 ];
   };
 }
diff --git a/pkgs/development/tools/viceroy/default.nix b/pkgs/development/tools/viceroy/default.nix
index 11dfd22d51d3..67fe882f6997 100644
--- a/pkgs/development/tools/viceroy/default.nix
+++ b/pkgs/development/tools/viceroy/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "viceroy";
-  version = "0.3.5";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "fastly";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-X+RmsS+GxdBiFt2Fo0MgkuyjQDwQNuOLDL1YVQdqhXo=";
+    hash = "sha256-6D+P7fQBhLYuAw9bIVgEU4Zi18kBLUn/4jr1E8cFugU=";
   };
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
-  cargoHash = "sha256-vbhBlfHrFcjtaUJHYvB106ElYP0NquOo+rgIx9cWenY=";
+  cargoHash = "sha256-URBtmMR61K1/LtIt3Q3tfQ4viZPvoiumR2LudcpYk6s=";
 
   cargoTestFlags = [
     "--package viceroy-lib"
diff --git a/pkgs/development/tools/wails/default.nix b/pkgs/development/tools/wails/default.nix
index 3d8d4d32a01f..f7489e69fcda 100644
--- a/pkgs/development/tools/wails/default.nix
+++ b/pkgs/development/tools/wails/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "wails";
-  version = "2.4.0";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner = "wailsapp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2MjEVQybSI9gQ/KI4rBbvbqCNhTsXTtWfUl37gVsqK4=";
+    sha256 = "sha256-ei+bp4fwlxZ9ZiXW/FqpqICXpFxpmOKkZZYW0LxHh1s=";
   } + "/v2";
 
   vendorSha256 = "sha256-RiectpUhm24xjgfPZEMDVFSEzPtIjn7L/qC2KE2s5aw=";
diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix
index 7a042ac8bc73..c68683dbecb0 100644
--- a/pkgs/development/tools/watchman/default.nix
+++ b/pkgs/development/tools/watchman/default.nix
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
     "-DBUILD_SHARED_LIBS=ON"
     "-DENABLE_EDEN_SUPPORT=NO" # requires sapling (formerly known as eden), which is not packaged in nixpkgs
     "-DWATCHMAN_STATE_DIR=${stateDir}"
+    "-DWATCHMAN_VERSION_OVERRIDE=${version}"
   ] ++ lib.optionals stdenv.isDarwin [
     "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.14" # For aligned allocation
   ];
diff --git a/pkgs/development/tools/worker-build/default.nix b/pkgs/development/tools/worker-build/default.nix
index e4fa4b214382..db78b74e149a 100644
--- a/pkgs/development/tools/worker-build/default.nix
+++ b/pkgs/development/tools/worker-build/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "worker-build";
-  version = "0.0.13";
+  version = "0.0.14";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "workers-rs";
     rev = "v${version}";
-    sha256 = "sha256-eJLYe6H8g2ZM3gWt0GMzj0X7+7e7pFtCRCqDJfVzvms=";
+    sha256 = "sha256-e0nnemaAcgy5tHaAZFIKJCa2c6763Vynlj34j+qjMdk=";
   };
 
-  cargoHash = "sha256-DjWVJH0XeSPesqQr0Rb9Bd+8Q39I1rUoS4dg7KT4mo4=";
+  cargoHash = "sha256-GtX46K99Il+KBQV6jbQYz0ba2HDaAUS4ZGa0fMUUO1s=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/development/tools/yamlfmt/default.nix b/pkgs/development/tools/yamlfmt/default.nix
index 0d05ef2577d6..662fc5cb3d7a 100644
--- a/pkgs/development/tools/yamlfmt/default.nix
+++ b/pkgs/development/tools/yamlfmt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yamlfmt";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oTdBFWISOfaz4ZDbJmyxtaKrjo9DVNJ5N7Qxnu7SwZA=";
+    sha256 = "sha256-2gcB44tpYXRES0nqLfXt3Srj2NCuQ/iBdv4yxjfmrnk=";
   };
 
-  vendorSha256 = "sha256-QRY6mYtrMvjUqXJOOvHL0b0OQ28320UwV8HL4fXpcNQ=";
+  vendorHash = "sha256-7Ip6dgpO3sPGXcwymYcaoFydTPIt+BmJC7UqyfltJx0=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index f4d643e5aada..e7a477dd11b9 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.31.2";
+  version = "4.32.2";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    hash = "sha256-Cf9Y7sdvpflQhhnOuRZUTyYQ3fpFTLo28dZtePsayfE=";
+    hash = "sha256-gP5Ah/KVWtmEl1CUKge5XdsYwoAAdNabb10b0pdN0tk=";
   };
 
-  vendorHash = "sha256-nv1sJ5GGB2IbGF1ebGZmeKF6qHLXgFebdibcsB36juY=";
+  vendorHash = "sha256-/7ah71isg0GB9PncNamMKaW2cW+EMN2BaPqP7gsLMmg=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 32736d0ffa96..9f0e15c05128 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.0.484";
+  version = "0.0.492";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    hash = "sha256-2//mxYTF6lAolj5aQOXF12NOwEa/VPoen9LNxD7gYDo=";
+    hash = "sha256-15OzhjiN5pk+V72vTm/lItrQLtBleHC+V5NX3yWePXU=";
   };
 
-  vendorHash = "sha256-2y671bvOmkKEqbcttcCG1L1by/J8gkGZxts7kFyTIxk=";
+  vendorHash = "sha256-w5S1LDttRHvJ4MJ+wXHREOU2/j0JVjoaoFcsfVhXaTU=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/web/postman/darwin.nix b/pkgs/development/web/postman/darwin.nix
index cde3a3883e82..f8140d965ee6 100644
--- a/pkgs/development/web/postman/darwin.nix
+++ b/pkgs/development/web/postman/darwin.nix
@@ -11,12 +11,12 @@ let
   dist = {
     aarch64-darwin = {
       arch = "arm64";
-      sha256 = "sha256-zvGWkV92qDsiveS1tvkY6jHIr/Xj3ARSOqov+MCRM+o=";
+      sha256 = "sha256-dJM85/6JCNqSXtrglEjP11cypGkj8+zHPo0qNANyylU=";
     };
 
     x86_64-darwin = {
       arch = "64";
-      sha256 = "sha256-LuXC1ucEsrxqx8wAkBkot2wXbUUVp+FIQPx9/2+tfIw=";
+      sha256 = "sha256-36T7S/F35hRCmXXYA8DWwwLsuJiUVU9UBY7eAXjzx1s=";
     };
   }.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
 
diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix
index 7427ee50e3ba..98dee6091c89 100644
--- a/pkgs/development/web/postman/default.nix
+++ b/pkgs/development/web/postman/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "postman";
-  version = "9.31.0";
+  version = "10.12.0";
   meta = with lib; {
     homepage = "https://www.getpostman.com";
     description = "API Development Environment";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.postman;
-    platforms = [ "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ];
     maintainers = with maintainers; [ johnrichardrinehart evanjs tricktron Crafter ];
   };
 
diff --git a/pkgs/development/web/postman/linux.nix b/pkgs/development/web/postman/linux.nix
index 5b5a216d03b2..2564ba6f10ca 100644
--- a/pkgs/development/web/postman/linux.nix
+++ b/pkgs/development/web/postman/linux.nix
@@ -43,13 +43,27 @@
 , copyDesktopItems
 }:
 
+let
+  dist = {
+    aarch64-linux = {
+      arch = "arm64";
+      sha256 = "sha256-ciQ9LqtaOosUAtcZiwOQ+8gB5dTut8pXHAjUsoQEEB8=";
+    };
+
+    x86_64-linux = {
+      arch = "64";
+      sha256 = "sha256-QaIj+SOQGR6teUIdLB3D5klRlYrna1MoE3c6UXYEoB4=";
+    };
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+in
 stdenv.mkDerivation rec {
   inherit pname version meta;
 
   src = fetchurl {
-    url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha256 = "sha256-ZCfPE+bvPEQjEvUO/FQ1iNR9TG6GtI4vmj6yJ7B62iw=";
-    name = "${pname}.tar.gz";
+    url = "https://dl.pstmn.io/download/version/${version}/linux${dist.arch}";
+    inherit (dist) sha256;
+    name = "${pname}-${version}.tar.gz";
   };
 
   dontConfigure = true;
diff --git a/pkgs/games/BeatSaberModManager/add-runtime-identifier.patch b/pkgs/games/BeatSaberModManager/add-runtime-identifier.patch
deleted file mode 100644
index a7d17b59a35b..000000000000
--- a/pkgs/games/BeatSaberModManager/add-runtime-identifier.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/BeatSaberModManager/BeatSaberModManager.csproj
-+++ b/BeatSaberModManager/BeatSaberModManager.csproj
-@@ -14,6 +14,7 @@
-         <EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
-         <GenerateDocumentationFile>true</GenerateDocumentationFile>
-         <ApplicationIcon>Resources/Icons/Icon.ico</ApplicationIcon>
-+        <RuntimeIdentifier>@runtimeIdentifier@</RuntimeIdentifier>
-     </PropertyGroup>
- 
-     <PropertyGroup Condition="'$(Configuration)'=='Debug'">
-
-Diff finished.  Tue Oct 18 23:16:23 2022
diff --git a/pkgs/games/BeatSaberModManager/default.nix b/pkgs/games/BeatSaberModManager/default.nix
index a0a5a5accca2..840cdb59ec9b 100644
--- a/pkgs/games/BeatSaberModManager/default.nix
+++ b/pkgs/games/BeatSaberModManager/default.nix
@@ -27,20 +27,17 @@ buildDotnetModule rec {
     fetchSubmodules = true; # It vendors BSIPA-Linux
   };
 
-  # This _must_ be specified in the project file and it can only be one so
-  # obviously you wouldn't specify it as an upstream project. Typical M$.
-  # https://github.com/NixOS/nixpkgs/pull/196648#discussion_r998709996
-  # https://github.com/affederaffe/BeatSaberModManager/issues/5
-  patches = [
-    (substituteAll {
-      src = ./add-runtime-identifier.patch;
-      runtimeIdentifier = dotnetCorePackages.systemToDotnetRid stdenv.targetPlatform.system;
-    })
+  dotnet-sdk = with dotnetCorePackages; combinePackages [
+    sdk_7_0
+    sdk_6_0
   ];
 
-  dotnet-sdk = dotnetCorePackages.sdk_7_0;
   dotnet-runtime = dotnetCorePackages.runtime_7_0;
 
+  projectFile = [ "BeatSaberModManager/BeatSaberModManager.csproj" ];
+
+  executables = [ "BeatSaberModManager" ];
+
   nugetDeps = ./deps.nix;
 
   runtimeDeps = [
diff --git a/pkgs/games/BeatSaberModManager/deps.nix b/pkgs/games/BeatSaberModManager/deps.nix
index 0e7bacf55e78..64115dd683e9 100644
--- a/pkgs/games/BeatSaberModManager/deps.nix
+++ b/pkgs/games/BeatSaberModManager/deps.nix
@@ -25,9 +25,6 @@
   (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.3"; sha256 = "043hv36bg5240znbm8x5la7py17m4jfzy57q3ka32f6zjld83j36"; })
   (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; sha256 = "08khd2jqm8sw58ljz5srangzfm2sz3gd2q1jzc5fr80lj8rv6r74"; })
   (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; sha256 = "0p9c3m0zk59x9dcqw077hzd2yk60myisbacvm36mnwpcjwzjkp2m"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.14"; sha256 = "0q43lxc5wdw5vaypzc068yx8q1s85sj3yw1lcdjr0ps7nzzv4laa"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.14"; sha256 = "16qzgzgr4b0pl471mvdd9kzaw77hzgrsqmlj4ry7gq0vcn3vpx1p"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.14"; sha256 = "0jq2sk2mmgwxm0c3f6yls2swksmpqdjrr9s3i65g0r001f475dds"; })
   (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8"; })
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; })
@@ -36,11 +33,6 @@
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; sha256 = "0hjgxcsj5zy27lqk0986m59n5dbplx2vjjla2lsvg4bwg8qa7bpk"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.14"; sha256 = "04pnpxxgisy1zqwc0yx6blsbn6v9dyx6hklpf97702xkvc3rnp8n"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.14"; sha256 = "1mmmv3jlf99qkp2n79v2x20x0c6h7j8vp24qnh3shdcqxmj3b6w7"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.14"; sha256 = "1047xhl0dxc1b9rrzv7q353v3nb4q6r140ks93gdag24fi0m9qin"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.14"; sha256 = "0z73vf33fj4qya582mzha24c98qhg69y6qkcvbg5zs03h7333zyz"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.14"; sha256 = "0jq6xa6pj6fa6sbims848a2gz827az8rks644ml59rj1iylhrr38"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
diff --git a/pkgs/games/aaaaxy/default.nix b/pkgs/games/aaaaxy/default.nix
new file mode 100644
index 000000000000..af3dc01edb7d
--- /dev/null
+++ b/pkgs/games/aaaaxy/default.nix
@@ -0,0 +1,89 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+, alsa-lib
+, libglvnd
+, libX11
+, libXcursor
+, libXext
+, libXi
+, libXinerama
+, libXrandr
+, libXxf86vm
+, go-licenses
+, pkg-config
+}:
+
+buildGoModule rec {
+  pname = "aaaaxy";
+  version = "1.3.372";
+
+  src = fetchFromGitHub {
+    owner = "divVerent";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-vm3wA8lzoaJ5iGwf2nZ0EvoSATHGftQ77lwdEjGe2RU=";
+    fetchSubmodules = true;
+  };
+
+  vendorHash = "sha256-WEK7j7FMiue0Fl1R+To5GKwvM03pjc1nKig/wePEAAY=";
+
+  buildInputs = [
+    alsa-lib
+    libglvnd
+    libX11 libXcursor libXext libXi libXinerama libXrandr
+    libXxf86vm
+  ];
+
+  nativeBuildInputs = [
+    go-licenses
+    pkg-config
+  ];
+
+  postPatch = ''
+    # Without patching, "go run" fails with the error message:
+    # package github.com/google/go-licenses: no Go files in /build/source/vendor/github.com/google/go-licenses
+    substituteInPlace scripts/build-licenses.sh --replace \
+      '$GO run ''${GO_FLAGS} github.com/google/go-licenses' 'go-licenses'
+  '';
+
+  makeFlags = [
+    "BUILDTYPE=release"
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+    AAAAXY_BUILD_USE_VERSION_FILE=true make $makeFlags
+    runHook postBuild
+  '';
+
+  postInstall = ''
+    install -Dm755 'aaaaxy' -t "$out/bin/"
+    install -Dm444 'aaaaxy.svg' -t "$out/share/icons/hicolor/scalable/apps/"
+    install -Dm644 'aaaaxy.png' -t "$out/share/icons/hicolor/128x128/apps/"
+    install -Dm644 'aaaaxy.desktop' -t "$out/share/applications/"
+    install -Dm644 'io.github.divverent.aaaaxy.metainfo.xml' -t "$out/share/metainfo/"
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+
+    # Can't get GLX to work even though it seems to work in their CI system:
+    # [FATAL] RunGame exited abnormally: APIUnavailable: GLX: GLX extension not found
+    # xvfb-run sh scripts/regression-test-demo.sh aaaaxy \
+    #   "on track for Any%, All Paths and No Teleports" \
+    #   ./aaaaxy assets/demos/benchmark.dem
+
+    runHook postCheck
+  '';
+
+  strictDeps = true;
+
+  meta = with lib; {
+    description = "A nonlinear 2D puzzle platformer taking place in impossible spaces";
+    homepage = "https://divverent.github.io/aaaaxy/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ Luflosi ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/cutemaze/default.nix b/pkgs/games/cutemaze/default.nix
index a141591211c0..a0f2d725d4bf 100644
--- a/pkgs/games/cutemaze/default.nix
+++ b/pkgs/games/cutemaze/default.nix
@@ -26,14 +26,20 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     qtbase
-    qtwayland
     qtsvg
+  ] ++ lib.optionals stdenv.isLinux [
+    qtwayland
   ];
 
-  postInstall = lib.optionalString stdenv.isDarwin ''
+  installPhase = if stdenv.isDarwin then ''
+    runHook preInstall
+
     mkdir -p $out/Applications
     mv CuteMaze.app $out/Applications
-  '';
+    makeWrapper $out/Applications/CuteMaze.app/Contents/MacOS/CuteMaze $out/bin/cutemaze
+
+    runHook postInstall
+  '' else null;
 
   meta = with lib; {
     changelog = "https://github.com/gottcode/cutemaze/blob/v${version}/ChangeLog";
diff --git a/pkgs/games/jumpy/default.nix b/pkgs/games/jumpy/default.nix
index e41e33b4003c..730587f7de03 100644
--- a/pkgs/games/jumpy/default.nix
+++ b/pkgs/games/jumpy/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jumpy";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "fishfolk";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5hgd4t9ZKHmv8wzED7Tn+ykzUM0EbQqRX15HBHzXtJY=";
+    sha256 = "sha256-vBnHNc/kCyZ8gTWhQShn4lBQECguFBzBd7xIfLBgm7A=";
   };
 
-  cargoSha256 = "sha256-cK5n75T+Kkd6F4q4MFZNn0R6W6Nk2/H23AGhIe2FCig=";
+  cargoSha256 = "sha256-ZnDerzDdCLjslszSn0z0BevP5qpkuYDCDLyv66+psdo=";
 
   auditable = true; # TODO: remove when this is the default
 
@@ -49,9 +49,7 @@ rustPlatform.buildRustPackage rec {
     rustPlatform.bindgenHook
   ];
 
-  postPatch = ''
-    touch ../$(stripHash $cargoDeps)/taffy/README.md
-  '';
+  cargoBuildFlags = [ "--bin" "jumpy" ];
 
   postInstall = ''
     mkdir $out/share
diff --git a/pkgs/games/minecraft-servers/versions.json b/pkgs/games/minecraft-servers/versions.json
index b0c4ca19a3e8..34f1ccbc4a50 100644
--- a/pkgs/games/minecraft-servers/versions.json
+++ b/pkgs/games/minecraft-servers/versions.json
@@ -1,8 +1,8 @@
 {
   "1.19": {
-    "url": "https://piston-data.mojang.com/v1/objects/c9df48efed58511cdd0213c56b9013a7b5c9ac1f/server.jar",
-    "sha1": "c9df48efed58511cdd0213c56b9013a7b5c9ac1f",
-    "version": "1.19.3",
+    "url": "https://piston-data.mojang.com/v1/objects/8f3112a1049751cc472ec13e397eade5336ca7ae/server.jar",
+    "sha1": "8f3112a1049751cc472ec13e397eade5336ca7ae",
+    "version": "1.19.4",
     "javaVersion": 17
   },
   "1.18": {
diff --git a/pkgs/games/nethack/default.nix b/pkgs/games/nethack/default.nix
index 08599cccb212..46e4dc9ca20b 100644
--- a/pkgs/games/nethack/default.nix
+++ b/pkgs/games/nethack/default.nix
@@ -85,6 +85,9 @@ in stdenv.mkDerivation rec {
       -i sys/unix/Makefile.*
     ''}
     sed -i -e '/rm -f $(MAKEDEFS)/d' sys/unix/Makefile.src
+    # Fix building on darwin where otherwise __has_attribute fails with an empty parameter
+    sed -e 's/define __warn_unused_result__ .*/define __warn_unused_result__ __unused__/' -i include/tradstdc.h
+    sed -e 's/define warn_unused_result .*/define warn_unused_result __unused__/' -i include/tradstdc.h
   '';
 
   configurePhase = ''
diff --git a/pkgs/games/osu-lazer/bin.nix b/pkgs/games/osu-lazer/bin.nix
index cf17332785fd..20d09d83a094 100644
--- a/pkgs/games/osu-lazer/bin.nix
+++ b/pkgs/games/osu-lazer/bin.nix
@@ -1,28 +1,68 @@
-{ appimageTools, lib, fetchurl }:
+{ lib
+, stdenv
+, fetchurl
+, fetchzip
+, appimageTools
+}:
 
-appimageTools.wrapType2 rec {
+let
   pname = "osu-lazer-bin";
-  version = "2023.301.0";
+  version = "2023.305.0";
+  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage";
-    sha256 = "sha256-0c74bGOY9f2K52xE7CZy/i3OfyCC+a6XGI30c6hI7jM=";
+  osu-lazer-bin-src = {
+    aarch64-darwin = {
+      url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Apple.Silicon.zip";
+      sha256 = "sha256-nL5j0b4vD/tTYPPBLiMxiPWLHnP5hqco0DJ+7EZRSZY=";
+    };
+    x86_64-darwin = {
+      url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Intel.zip";
+      sha256 = "sha256-Er48BIzJlSzDaGb6IfhZoV62kj5GJ/rw9ifUw+ZCJkc=";
+    };
+    x86_64-linux = {
+      url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage";
+      sha256 = "sha256-W3XJ7HtJM5iFI8OOTTu8IBHMerZSCETHMemkoTislK8=";
+    };
+  }.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported.");
+
+  linux = appimageTools.wrapType2 rec {
+    inherit name pname version meta;
+
+    src = fetchurl (osu-lazer-bin-src);
+
+    extraPkgs = pkgs: with pkgs; [ icu ];
+
+    extraInstallCommands =
+      let contents = appimageTools.extract { inherit pname version src; };
+      in
+      ''
+        mv -v $out/bin/${pname}-${version} $out/bin/osu\!
+        install -m 444 -D ${contents}/osu\!.desktop -t $out/share/applications
+        for i in 16 32 48 64 96 128 256 512 1024; do
+          install -D ${contents}/osu\!.png $out/share/icons/hicolor/''${i}x$i/apps/osu\!.png
+        done
+      '';
   };
 
-  extraPkgs = pkgs: with pkgs; [ icu ];
+  darwin = stdenv.mkDerivation rec {
+    inherit name pname version meta;
+
+    src = fetchzip (osu-lazer-bin-src // { stripRoot = false; });
 
-  extraInstallCommands =
-    let contents = appimageTools.extract { inherit pname version src; };
-    in ''
-      mv -v $out/bin/${pname}-${version} $out/bin/osu\!
-      install -m 444 -D ${contents}/osu\!.desktop -t $out/share/applications
-      for i in 16 32 48 64 96 128 256 512 1024; do
-        install -D ${contents}/osu\!.png $out/share/icons/hicolor/''${i}x$i/apps/osu\!.png
-      done
+    dontBuild = true;
+    dontFixup = true;
+
+    installPhase = ''
+      runHook preInstall
+      APP_DIR="$out/Applications"
+      mkdir -p "$APP_DIR"
+      cp -r . "$APP_DIR"
+      runHook postInstall
     '';
+  };
 
   meta = with lib; {
-    description = "Rhythm is just a *click* away (AppImage version for score submission and multiplayer)";
+    description = "Rhythm is just a *click* away (AppImage version for score submission and multiplayer, and binary distribution for Darwin systems)";
     homepage = "https://osu.ppy.sh";
     license = with licenses; [
       mit
@@ -30,8 +70,14 @@ appimageTools.wrapType2 rec {
       unfreeRedistributable # osu-framework contains libbass.so in repository
     ];
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
-    maintainers = [ maintainers.delan ];
+    maintainers = with maintainers; [ delan stepbrobd ];
     mainProgram = "osu!";
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ];
   };
-}
+
+  passthru.updateScript = ./update-bin.sh;
+in
+if stdenv.isDarwin
+then darwin
+else linux
+
diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix
index f3aea2a333af..1de04bc06b94 100644
--- a/pkgs/games/osu-lazer/default.nix
+++ b/pkgs/games/osu-lazer/default.nix
@@ -17,13 +17,13 @@
 
 buildDotnetModule rec {
   pname = "osu-lazer";
-  version = "2023.301.0";
+  version = "2023.305.0";
 
   src = fetchFromGitHub {
     owner = "ppy";
     repo = "osu";
     rev = version;
-    sha256 = "sha256-SUVxe3PdUch8NYR7X4fatbmSpyYewI69usBDICcSq3s=";
+    sha256 = "sha256-gkAHAiTwCYXTSIHrM3WWLBLbC7S9x1cAaEhSYvtNsvQ=";
   };
 
   projectFile = "osu.Desktop/osu.Desktop.csproj";
diff --git a/pkgs/games/osu-lazer/update-bin.sh b/pkgs/games/osu-lazer/update-bin.sh
new file mode 100755
index 000000000000..a2ed671f232c
--- /dev/null
+++ b/pkgs/games/osu-lazer/update-bin.sh
@@ -0,0 +1,40 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../../../. -i bash -p unzip curl jq common-updater-scripts
+set -eo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+bin_file="$(realpath ./bin.nix)"
+
+new_version="$(curl -s "https://api.github.com/repos/ppy/osu/releases?per_page=1" | jq -r '.[0].name')"
+old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./bin.nix)"
+if [[ "$new_version" == "$old_version" ]]; then
+    echo "Already up to date."
+    exit 0
+fi
+
+cd ../../..
+
+echo "Updating osu-lazer-bin from $old_version to $new_version..."
+sed -Ei.bak '/ *version = "/s/".+"/"'"$new_version"'"/' "$bin_file"
+rm "$bin_file.bak"
+
+for pair in \
+    'aarch64-darwin osu.app.Apple.Silicon.zip' \
+    'x86_64-darwin osu.app.Intel.zip' \
+    'x86_64-linux osu.AppImage'; do
+    set -- $pair
+    echo "Prefetching binary for $1..."
+    prefetch_output=$(nix --extra-experimental-features nix-command store prefetch-file --json --hash-type sha256 "https://github.com/ppy/osu/releases/download/$new_version/$2")
+    if [[ "$1" == *"darwin"* ]]; then
+        store_path=$(jq -r '.storePath' <<<"$prefetch_output")
+        tmpdir=$(mktemp -d)
+        unzip -q "$store_path" -d "$tmpdir"
+        hash=$(nix --extra-experimental-features nix-command hash path "$tmpdir")
+        rm -r "$tmpdir"
+    else
+        hash=$(jq -r '.hash' <<<"$prefetch_output")
+    fi
+    echo "$1 ($2): sha256 = $hash"
+    sed -Ei.bak '/ *'"$1"' = /{N;N; s@("sha256-)[^;"]+@"'"$hash"'@}' "$bin_file"
+    rm "$bin_file.bak"
+done
diff --git a/pkgs/games/osu-lazer/update.sh b/pkgs/games/osu-lazer/update.sh
index df1dbcc3c519..1ecca32d54a3 100755
--- a/pkgs/games/osu-lazer/update.sh
+++ b/pkgs/games/osu-lazer/update.sh
@@ -8,8 +8,8 @@ deps_file="$(realpath "./deps.nix")"
 new_version="$(curl -s "https://api.github.com/repos/ppy/osu/releases?per_page=1" | jq -r '.[0].name')"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
 if [[ "$new_version" == "$old_version" ]]; then
-  echo "Up to date"
-  exit 0
+    echo "Up to date"
+    exit 0
 fi
 
 cd ../../..
diff --git a/pkgs/games/rigsofrods-bin/default.nix b/pkgs/games/rigsofrods-bin/default.nix
new file mode 100644
index 000000000000..fa9edfe72f45
--- /dev/null
+++ b/pkgs/games/rigsofrods-bin/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, stdenv
+, fetchurl
+, autoPatchelfHook
+, makeWrapper
+, unzip
+, libGL
+, libICE
+, libSM
+, libX11
+, libXrandr
+, zlib
+, alsa-lib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rigsofrods-bin";
+  version = "2022.12";
+
+  src = fetchurl {
+    url = "https://update.rigsofrods.org/rigs-of-rods-linux-2022-12.zip";
+    hash = "sha256-jj152fd4YHlU6YCVCnN6DKRfmi5+ORpMQVDacy/TPeE=";
+  };
+
+  sourceRoot = ".";
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    makeWrapper
+    unzip
+  ];
+
+  buildInputs = [
+    libGL
+    libICE
+    libSM
+    libX11
+    libXrandr
+    stdenv.cc.cc
+    zlib
+  ];
+
+  runtimeDependencies = [
+    alsa-lib
+  ];
+
+  noDumpEnvVars = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin $out/share/rigsofrods
+    cp -a . $out/share/rigsofrods
+    for f in RoR RunRoR; do
+      makeWrapper $out/share/rigsofrods/$f $out/bin/$f \
+        --chdir $out/share/rigsofrods
+    done
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A free/libre soft-body physics simulator mainly targeted at simulating vehicle physics";
+    homepage = "https://www.rigsofrods.org";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ raskin wegank ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix
deleted file mode 100644
index 580f0ef2b1dd..000000000000
--- a/pkgs/games/rigsofrods/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ fetchFromGitHub, lib, stdenv, wxGTK30, freeimage, cmake, zziplib, libGLU, libGL, boost,
-  pkg-config, libuuid, openal, ogre, ois, curl, gtk3, mygui, unzip,
-  angelscript, ogrepaged, mysocketw, libxcb
-  }:
-
-stdenv.mkDerivation rec {
-  version = "0.4.7.0";
-  pname = "rigsofrods";
-
-  src = fetchFromGitHub {
-    owner = "RigsOfRods";
-    repo = "rigs-of-rods";
-    rev = version;
-    sha256 = "0cb1il7qm45kfhh6h6jwfpxvjlh2dmg8z1yz9kj4d6098myf2lg4";
-  };
-
-  patches = [
-    ./gtk3.patch
-  ];
-
-  installPhase = ''
-    sed -e "s@/usr/local/lib/OGRE@${ogre}/lib/OGRE@" -i ../tools/linux/binaries/plugins.cfg
-    mkdir -p $out/share/rigsofrods
-    cp -r bin/* $out/share/rigsofrods
-    cp ../tools/linux/binaries/plugins.cfg $out/share/rigsofrods
-    mkdir -p $out/bin
-    ln -s $out/share/rigsofrods/{RoR,RoRConfig} $out/bin
-  '';
-
-  nativeBuildInputs = [ cmake pkg-config unzip ];
-  buildInputs = [ wxGTK30 freeimage zziplib libGLU libGL boost
-    libuuid openal ogre ois curl gtk3 mygui angelscript
-    ogrepaged mysocketw libxcb ];
-
-  meta = with lib; {
-    description = "3D simulator game where you can drive, fly and sail various vehicles";
-    homepage = "https://rigsofrods.sourceforge.net/";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ raskin ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/games/rigsofrods/gtk3.patch b/pkgs/games/rigsofrods/gtk3.patch
deleted file mode 100644
index e873cfedbaed..000000000000
--- a/pkgs/games/rigsofrods/gtk3.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/cmake/DependenciesConfig.cmake b/cmake/DependenciesConfig.cmake
-index 1bdf93c..4773fca 100644
---- a/cmake/DependenciesConfig.cmake
-+++ b/cmake/DependenciesConfig.cmake
-@@ -187,10 +187,8 @@ endmacro(importLib)
- 

- ELSEIF(UNIX)

-    find_package(PkgConfig)

--   PKG_CHECK_MODULES  (GTK gtk+-2.0 REQUIRED)

--   PKG_CHECK_MODULES  (GTK_PIXBUF gdk-pixbuf-2.0 REQUIRED)

-+   PKG_CHECK_MODULES  (GTK gtk+-3.0 REQUIRED)

-    include_directories(${GTK_INCLUDE_DIRS})

--   include_directories(${GTK_PIXBUF_INCLUDE_DIRS})

- 

-    # Ogre basics

-    PKG_CHECK_MODULES  (Ogre OGRE REQUIRED)

-diff --git a/source/configurator/CMakeLists.txt b/source/configurator/CMakeLists.txt
-index 51cc350..7f723b6 100644
---- a/source/configurator/CMakeLists.txt
-+++ b/source/configurator/CMakeLists.txt
-@@ -56,7 +56,7 @@ IF(WIN32)
-    endif(ROR_USE_OPENCL)

- ELSEIF(UNIX)

-    find_package(PkgConfig)

--   PKG_CHECK_MODULES  (GTK gtk+-2.0 REQUIRED)

-+   PKG_CHECK_MODULES  (GTK gtk+-3.0 REQUIRED)

-    INCLUDE_DIRECTORIES(${GTK_INCLUDE_DIRS})

- 

-    PKG_CHECK_MODULES  (Ogre OGRE REQUIRED)

diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix
index 28151972fe26..bf378cd188de 100644
--- a/pkgs/games/sgt-puzzles/default.nix
+++ b/pkgs/games/sgt-puzzles/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, desktop-file-utils
 , gtk3, libX11, cmake, imagemagick
-, pkg-config, perl, wrapGAppsHook
+, pkg-config, perl, wrapGAppsHook, nixosTests
 , isMobile ? false
 }:
 
@@ -59,6 +59,8 @@ stdenv.mkDerivation rec {
     install -Dm644 ${sgt-puzzles-menu} -t $out/etc/xdg/menus/applications-merged/
   '';
 
+  passthru.tests.sgtpuzzles = nixosTests.sgtpuzzles;
+
   meta = with lib; {
     description = "Simon Tatham's portable puzzle collection";
     license = licenses.mit;
diff --git a/pkgs/games/stuntrally/default.nix b/pkgs/games/stuntrally/default.nix
index 706fd23c65c6..af5535ec7ab6 100644
--- a/pkgs/games/stuntrally/default.nix
+++ b/pkgs/games/stuntrally/default.nix
@@ -14,34 +14,50 @@
 , libXcursor
 , bullet
 , openal
+, tinyxml
+, tinyxml-2
 }:
 
+let
+  stuntrally_ogre = ogre.overrideAttrs (old: {
+    cmakeFlags = old.cmakeFlags ++ [
+      "-DOGRE_NODELESS_POSITIONING=ON"
+      "-DOGRE_RESOURCEMANAGER_STRICT=0"
+    ];
+  });
+  stuntrally_mygui = mygui.override {
+    withOgre = true;
+    inherit ogre;
+  };
+in
+
 stdenv.mkDerivation rec {
-  pname = "stunt-rally";
-  version = "2.6.2";
+  pname = "stuntrally";
+  version = "2.7";
 
   src = fetchFromGitHub {
     owner = "stuntrally";
     repo = "stuntrally";
     rev = version;
-    hash = "sha256-9I6hXsosqx+yYiEOEnPXQJHZkGtSU+JqThorwjemlc0=";
+    hash = "sha256-0Eh9ilIHSh/Uz8TuPnXxLQfy7KF7qqNXUgBXQUCz9ys=";
   };
   tracks = fetchFromGitHub {
     owner = "stuntrally";
     repo = "tracks";
     rev = version;
-    hash = "sha256-eZJAvkKe3PrXDzxTa5WFBHfltB3jhQh8puzOFDO9lso=";
+    hash = "sha256-fglm1FetFGHM/qGTtpxDb8+k2iAREn5DQR5GPujuLms=";
   };
 
   preConfigure = ''
-    ln -s ${tracks} data/tracks
+    rmdir data/tracks
+    ln -s ${tracks}/ data/tracks
   '';
 
   nativeBuildInputs = [ cmake pkg-config makeWrapper ];
   buildInputs = [
     boost
-    ogre
-    mygui
+    stuntrally_ogre
+    stuntrally_mygui
     ois
     SDL2
     libvorbis
@@ -49,6 +65,8 @@ stdenv.mkDerivation rec {
     libXcursor
     bullet
     openal
+    tinyxml
+    tinyxml-2
   ];
 
   meta = with lib; {
diff --git a/pkgs/games/unciv/default.nix b/pkgs/games/unciv/default.nix
index 193bab3ded81..6aa2fe6312bb 100644
--- a/pkgs/games/unciv/default.nix
+++ b/pkgs/games/unciv/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "unciv";
-  version = "4.5.8";
+  version = "4.5.9";
 
   src = fetchurl {
     url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
-    hash = "sha256-bVVu7imSej3ApSTpmrD3fzZCgOHyXvJQySd6d+FYILA=";
+    hash = "sha256-sDrVGQeyhMHurbmdqWBUDepJmdPYajiSrpqvts2view=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index a300ff2ae634..3b87a0ac12b1 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -127,6 +127,9 @@ python3Packages.buildPythonApplication {
       -e s,/usr/bin/gs,${ghostscript}/bin/gs,g \
       -e s,/usr/share/cups/fonts,${ghostscript}/share/ghostscript/fonts,g \
       -e "s,ExecStart=/usr/bin/python /usr/bin/hp-config_usb_printer,ExecStart=$out/bin/hp-config_usb_printer,g" \
+      -e s,Exec=/usr/bin/hp-uiscan,Exec=hp-uiscan,g \
+      -e s,Icon=/usr/share/icons/Humanity/devices/48/printer.svg,Icon=printer,g \
+      -e s,Icon=@abs_datadir@/hplip/data/images/128x128/hp_logo.png,Icon=hp_logo,g \
       {} +
 
     echo 'AUTOMAKE_OPTIONS = foreign' >> Makefile.am
@@ -180,7 +183,13 @@ python3Packages.buildPythonApplication {
   # Running `hp-diagnose_plugin -g` can be used to diagnose
   # issues with plugins.
   #
-  postInstall = lib.optionalString withPlugin ''
+  postInstall = ''
+    for resolution in 16x16 32x32 64x64 128x128 256x256; do
+      mkdir -p $out/share/icons/hicolor/$resolution/apps
+      ln -s $out/share/hplip/data/images/$resolution/hp_logo.png \
+        $out/share/icons/hicolor/$resolution/apps/hp_logo.png
+    done
+  '' + lib.optionalString withPlugin ''
     sh ${plugin} --noexec --keep
     cd plugin_tmp
 
diff --git a/pkgs/misc/fastly/default.nix b/pkgs/misc/fastly/default.nix
index 743d8cd1c5f2..f55d2d2cf227 100644
--- a/pkgs/misc/fastly/default.nix
+++ b/pkgs/misc/fastly/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "fastly";
-  version = "8.0.0";
+  version = "8.1.0";
 
   src = fetchFromGitHub {
     owner = "fastly";
     repo = "cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Bwof1Np0eSjmBXQ6dqFmw3TA/2u+VzzyIn/95m9eXVo=";
+    hash = "sha256-4RynQS3Y+Aa93hYWyvZSkAq2teUKJhqAn8NSvnEEdzE=";
     # The git commit is part of the `fastly version` original output;
     # leave that output the same in nixpkgs. Use the `.git` directory
     # to retrieve the commit SHA, and remove the directory afterwards,
@@ -33,7 +33,7 @@ buildGoModule rec {
     "cmd/fastly"
   ];
 
-  vendorHash = "sha256-/tdvIX839NkhUoj/bfJ/68K8RtPCidydNQZCdDvizzU=";
+  vendorHash = "sha256-XND6sSjbZCTraKOapAvsVOZGf27YcyFnkC1vl8wO0ug=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/misc/stabber/default.nix b/pkgs/misc/stabber/default.nix
index 478cbda3dc00..ff89241a2469 100644
--- a/pkgs/misc/stabber/default.nix
+++ b/pkgs/misc/stabber/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, glib, expat
-, libmicrohttpd
+, libmicrohttpd, darwin
 }:
 
 with lib;
@@ -20,7 +20,8 @@ stdenv.mkDerivation {
   '';
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
-  buildInputs = [ glib expat libmicrohttpd ];
+  buildInputs = [ glib expat libmicrohttpd ] ++
+    lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
   meta = {
     description = "Stubbed XMPP Server";
diff --git a/pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix b/pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix
index 5a00e51d890d..e0170042027b 100644
--- a/pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix
+++ b/pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix
@@ -6,7 +6,6 @@
 , gtk2
 , gtk3
 , pkg-config
-, python3
 }:
 
 stdenv.mkDerivation (self: {
@@ -20,7 +19,6 @@ stdenv.mkDerivation (self: {
 
   nativeBuildInputs = [
     pkg-config
-    python3
   ];
 
   buildInputs = [
@@ -40,7 +38,7 @@ stdenv.mkDerivation (self: {
     "hdspconf"
     "hdsploader"
     "hdspmixer"
-    "hwmixvolume"
+    # "hwmixvolume" # Requires old, unmaintained, abandoned EOL Python 2
     "ld10k1"
     # "qlo10k1" # needs Qt
     "mixartloader"
@@ -50,14 +48,10 @@ stdenv.mkDerivation (self: {
     # "seq" # mysterious configure error
     "sscape_ctl"
     "us428control"
-    # "usx2yloader" # tries to create /etc/hptplug/usb
+    # "usx2yloader" # tries to create /etc/hotplug/usb
     "vxloader"
   ];
 
-  postPatch = ''
-    patchShebangs hwmixvolume/
-  '';
-
   configurePhase = ''
     runHook preConfigure
 
@@ -74,8 +68,8 @@ stdenv.mkDerivation (self: {
   buildPhase = ''
     runHook preBuild
 
-    echo "Building $tool:"
     for tool in $TOOLSET; do
+      echo "Building $tool:"
       pushd "$tool"
       make
       popd
@@ -87,8 +81,8 @@ stdenv.mkDerivation (self: {
   installPhase = ''
     runHook preInstall
 
-    echo "Installing $tool:"
     for tool in $TOOLSET; do
+      echo "Installing $tool:"
       pushd "$tool"
       make install
       popd
diff --git a/pkgs/os-specific/linux/alsa-project/default.nix b/pkgs/os-specific/linux/alsa-project/default.nix
new file mode 100644
index 000000000000..15077cc8d77a
--- /dev/null
+++ b/pkgs/os-specific/linux/alsa-project/default.nix
@@ -0,0 +1,13 @@
+{ lib, pkgs }:
+
+lib.makeScope pkgs.newScope (self: {
+  alsa-firmware = self.callPackage ./alsa-firmware { };
+  alsa-lib = self.callPackage ./alsa-lib { };
+  alsa-oss = self.callPackage ./alsa-oss { };
+  alsa-plugins = self.callPackage ./alsa-plugins { };
+  alsa-plugins-wrapper = self.callPackage ./alsa-plugins/wrapper.nix { };
+  alsa-tools = self.callPackage ./alsa-tools { };
+  alsa-topology-conf = self.callPackage ./alsa-topology-conf { };
+  alsa-ucm-conf = self.callPackage ./alsa-ucm-conf { };
+  alsa-utils = self.callPackage ./alsa-utils { fftw = pkgs.fftwFloat; };
+})
diff --git a/pkgs/os-specific/linux/ch9344/default.nix b/pkgs/os-specific/linux/ch9344/default.nix
new file mode 100644
index 000000000000..25d7ecf02552
--- /dev/null
+++ b/pkgs/os-specific/linux/ch9344/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, lib, fetchzip, kernel }:
+
+stdenv.mkDerivation rec {
+  pname = "ch9344";
+  version = "1.9";
+
+  src = fetchzip {
+    name = "CH9344SER_LINUX.zip";
+    url = "https://www.wch.cn/downloads/file/386.html#CH9344SER_LINUX.zip";
+    hash = "sha256-g55ftAfjKKlUFzGhI1a/O7Eqbz6rkGf1vWuEJjBZxBE=";
+  };
+
+  patches = lib.optionals (lib.versionAtLeast kernel.modDirVersion "6.1") [
+    # https://github.com/torvalds/linux/commit/a8c11c1520347be74b02312d10ef686b01b525f1
+    ./fix-incompatible-pointer-types.patch
+  ];
+
+  sourceRoot = "${src.name}/driver";
+  hardeningDisable = [ "pic" ];
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  preBuild = ''
+    substituteInPlace Makefile --replace "KERNELDIR :=" "KERNELDIR ?="
+  '';
+
+  makeFlags = [
+    "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -D ch9344.ko $out/lib/modules/${kernel.modDirVersion}/usb/serial/ch9344.ko
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "http://www.wch-ic.com/";
+    downloadPage = "https://www.wch.cn/downloads/CH9344SER_LINUX_ZIP.html";
+    description = "WCH CH9344/CH348 UART driver";
+    longDescription = ''
+      A kernel module for WinChipHead CH9344/CH348 USB To Multi Serial Ports controller.
+    '';
+    # Archive contains no license.
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ MakiseKurisu ];
+  };
+}
diff --git a/pkgs/os-specific/linux/ch9344/fix-incompatible-pointer-types.patch b/pkgs/os-specific/linux/ch9344/fix-incompatible-pointer-types.patch
new file mode 100644
index 000000000000..31088538733e
--- /dev/null
+++ b/pkgs/os-specific/linux/ch9344/fix-incompatible-pointer-types.patch
@@ -0,0 +1,22 @@
+diff --git a/ch9344.c b/ch9344.c
+index 1e37293..a16af82 100644
+--- a/ch9344.c
++++ b/ch9344.c
+@@ -79,7 +79,7 @@ static DEFINE_IDR(ch9344_minors);
+ static DEFINE_MUTEX(ch9344_minors_lock);
+ 
+ static void ch9344_tty_set_termios(struct tty_struct *tty,
+-                                   struct ktermios *termios_old);
++                                   const struct ktermios *termios_old);
+ 
+ static int ch9344_get_portnum(int index);
+ 
+@@ -1597,7 +1597,7 @@ u8 cal_recv_tmt(__le32 bd)
+ }
+ 
+ static void ch9344_tty_set_termios(struct tty_struct *tty,
+-                                   struct ktermios *termios_old)
++                                   const struct ktermios *termios_old)
+ {
+     struct ch9344 *ch9344 = tty->driver_data;
+     struct ktermios *termios = &tty->termios;
diff --git a/pkgs/os-specific/linux/checkpolicy/default.nix b/pkgs/os-specific/linux/checkpolicy/default.nix
index 52cf0a3ec037..5b08739667d5 100644
--- a/pkgs/os-specific/linux/checkpolicy/default.nix
+++ b/pkgs/os-specific/linux/checkpolicy/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "checkpolicy";
-  version = "3.3";
+  version = "3.5";
   inherit (libsepol) se_url;
 
   src = fetchurl {
     url = "${se_url}/${version}/checkpolicy-${version}.tar.gz";
-    sha256 = "118l8c2vvnnckbd269saslr7adv6rdavr5rv0z5vh2m1lgglxj15";
+    sha256 = "sha256-eqSKsiIqC5iBER1tf3DDAU09kziCfZ4C3xBaaMDfXbw=";
   };
 
   nativeBuildInputs = [ bison flex ];
diff --git a/pkgs/os-specific/linux/dmidecode/default.nix b/pkgs/os-specific/linux/dmidecode/default.nix
index a8c263144208..f09dec758f74 100644
--- a/pkgs/os-specific/linux/dmidecode/default.nix
+++ b/pkgs/os-specific/linux/dmidecode/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dmidecode";
-  version = "3.4";
+  version = "3.5";
 
   src = fetchurl {
     url = "mirror://savannah/dmidecode/dmidecode-${version}.tar.xz";
-    sha256 = "sha256-Q8uoUdhGfJl5zNvqsZLrZjjH06aX66Xdt3naiDdUIhI=";
+    sha256 = "sha256-eddnNe6OJRluKnIpZM+Wg/WglYFQNTeISyVrATicwHM=";
   };
 
   makeFlags = [
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 4b1318d91159..faa98ee8fe32 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -36,10 +36,7 @@ let
 
     debug = {
       # Necessary for BTF
-      DEBUG_INFO                = mkMerge [
-        (whenOlder "5.2" (if (features.debug or false) then yes else no))
-        (whenBetween "5.2" "5.18" yes)
-      ];
+      DEBUG_INFO                = yes;
       DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT = whenAtLeast "5.18" yes;
       # Reduced debug info conflict with BTF and have been enabled in
       # aarch64 defconfig since 5.13
@@ -62,6 +59,8 @@ let
       SUNRPC_DEBUG              = yes;
       # Provide access to tunables like sched_migration_cost_ns
       SCHED_DEBUG               = yes;
+
+      GDB_SCRIPTS               = yes;
     };
 
     power-management = {
@@ -283,6 +282,15 @@ let
       DRM_SIMPLEDRM = whenAtLeast "5.14" no;
     };
 
+    fonts = {
+      FONTS = yes;
+      # Default fonts enabled if FONTS is not set
+      FONT_8x8 = yes;
+      FONT_8x16 = yes;
+      # High DPI font
+      FONT_TER16x32 = whenAtLeast "5.0" yes;
+    };
+
     video = {
       DRM_LEGACY = no;
       NOUVEAU_LEGACY_CTX_SUPPORT = whenBetween "5.2" "6.3" no;
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index 32432898e69b..a064aec07434 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -2,61 +2,61 @@
     "4.14": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.14.309-hardened1.patch",
-            "sha256": "0j9dnrxn75qigfv2jq8aa76jli80bi56hriy205qar99vgp59a8a",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.309-hardened1/linux-hardened-4.14.309-hardened1.patch"
+            "name": "linux-hardened-4.14.310-hardened1.patch",
+            "sha256": "1bzxmniyld257xiaickb7rkzr9myg6bzczj6srf0c0wwz6zrdza3",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.310-hardened1/linux-hardened-4.14.310-hardened1.patch"
         },
-        "sha256": "1rwhz9w5x2x3idy2f0bpk945qam6xxswbn69wmz8y1ik9b1nns09",
-        "version": "4.14.309"
+        "sha256": "0r91f3jj3y0cca4sfs0xa12lbrc62q2yzgval5ainwr74bk7dwlb",
+        "version": "4.14.310"
     },
     "4.19": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.19.277-hardened1.patch",
-            "sha256": "16q0lc5nzzf372mlkjvg8vr67afnz0jxwv3zvvg6ip3k7gljphfz",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.277-hardened1/linux-hardened-4.19.277-hardened1.patch"
+            "name": "linux-hardened-4.19.278-hardened1.patch",
+            "sha256": "13vx0xqgfigdyb9x59728z2idzv0nisif6vpx73n08m99gax2y88",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.278-hardened1/linux-hardened-4.19.278-hardened1.patch"
         },
-        "sha256": "137mjk6hzpr120bb6ky3b8q4jnkbgqla0cpgnhzpcng00aidk0pn",
-        "version": "4.19.277"
+        "sha256": "0miyadgnd52cgw3bgpmx66kr1pgxh14b2f52fasy57b6wysv0lnv",
+        "version": "4.19.278"
     },
     "5.10": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.10.174-hardened1.patch",
-            "sha256": "0zgp7jl16227fjj9j5zwahxa5xbkp2gkznpvzh68sanwd04qzby3",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.174-hardened1/linux-hardened-5.10.174-hardened1.patch"
+            "name": "linux-hardened-5.10.175-hardened1.patch",
+            "sha256": "0jxiccf3m0bih5c4sl44pxfnf9vs3fc66jvnp2q2l45a9dqr6ssh",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.175-hardened1/linux-hardened-5.10.175-hardened1.patch"
         },
-        "sha256": "092ai8ggplsa933s3qlayyjkw9d3z6sg782byh7rz0ym0380r2ig",
-        "version": "5.10.174"
+        "sha256": "1kkv63v5lc0ahkl8sjmwhqxahmwmbxcbf4mfcmkf6d7j50p5cxz2",
+        "version": "5.10.175"
     },
     "5.15": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.15.102-hardened1.patch",
-            "sha256": "05cxqcwr6fh2v69n4s30gs0pdw5i8h8kvrp3kzz0n2zb2afg6c8z",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.102-hardened1/linux-hardened-5.15.102-hardened1.patch"
+            "name": "linux-hardened-5.15.103-hardened1.patch",
+            "sha256": "1ci35f146qfl6km86ram5qs5v6x41ny7708j5lxz3fhx2533fm82",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.103-hardened1/linux-hardened-5.15.103-hardened1.patch"
         },
-        "sha256": "1rh1kcvaz42brn5sxqq00mvy0b36fck196yvxfg7b5qbjzxxs724",
-        "version": "5.15.102"
+        "sha256": "01fpipy8skmp4dyxgk8fk9k6hc0w0gvk7mm8f8pm7jhwcf0vlxh8",
+        "version": "5.15.103"
     },
     "5.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.4.236-hardened1.patch",
-            "sha256": "07540gv79ah7n2vvmqa5nq0rjh6y0al78wmqwlzc2xdfmahk63mj",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.236-hardened1/linux-hardened-5.4.236-hardened1.patch"
+            "name": "linux-hardened-5.4.237-hardened1.patch",
+            "sha256": "0agnw7p1ylly09p7fvvnp7lgkgfrvbw33wc38ds3y0qhg5gghnby",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.237-hardened1/linux-hardened-5.4.237-hardened1.patch"
         },
-        "sha256": "0la92nvqihg4284risb2ljsrdh8x4wy0dwc3wsyq09bgm7x95j6c",
-        "version": "5.4.236"
+        "sha256": "09smq8jsbpqfh135snljack2wj41anx8f8i0lmjcqcq5zzhgw25p",
+        "version": "5.4.237"
     },
     "6.1": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-6.1.19-hardened1.patch",
-            "sha256": "0ax948idfyzpd7x8cp89m9lrwy30d4clj8z7ih919iji5nggjmvh",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.19-hardened1/linux-hardened-6.1.19-hardened1.patch"
+            "name": "linux-hardened-6.1.20-hardened1.patch",
+            "sha256": "1lz9ms716kzjn3sgrqxqi7q1zdrf6f81wn6xgv5kk1a2mcc3zw4p",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.20-hardened1/linux-hardened-6.1.20-hardened1.patch"
         },
-        "sha256": "0iw6b9gmhpk6r1asds5kfg6drqvaxy15xicqx9ga873cbxp1r6cy",
-        "version": "6.1.19"
+        "sha256": "1w1iy1i3bpzrs5rhvqbn2awxv5qqgng9n7jd5js66g0sq3l2sckn",
+        "version": "6.1.20"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 199223931572..bd7ad55a35e0 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.310";
+  version = "4.14.311";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0r91f3jj3y0cca4sfs0xa12lbrc62q2yzgval5ainwr74bk7dwlb";
+    sha256 = "1mbwrgjz575qxg4gwi2fxc94kprmiblwap3jix0mj4887zllqgw0";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 71b933e9c4b3..ce742ba681ac 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.278";
+  version = "4.19.279";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0miyadgnd52cgw3bgpmx66kr1pgxh14b2f52fasy57b6wysv0lnv";
+    sha256 = "104qkyflkfkp8iyshpirb9q708vvsgfbxfwgl0dnas3k7nyc6v3k";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index 61cad1f4a564..f95140a162ac 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.175";
+  version = "5.10.176";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1kkv63v5lc0ahkl8sjmwhqxahmwmbxcbf4mfcmkf6d7j50p5cxz2";
+    sha256 = "14zpdrrrpgxx44nxjn0rifrchnmsvvpkzpm1n82kw5q4p9h2q1yf";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix
index 07d686d21bff..22430aac13fd 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.15.103";
+  version = "5.15.104";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "01fpipy8skmp4dyxgk8fk9k6hc0w0gvk7mm8f8pm7jhwcf0vlxh8";
+    sha256 = "0m3bscml2mvafbj5k9a3qa8akfxms8wfpzsr687lfblr17735ibi";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index abffbf2eddb5..8116724d67b4 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.237";
+  version = "5.4.238";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "09smq8jsbpqfh135snljack2wj41anx8f8i0lmjcqcq5zzhgw25p";
+    sha256 = "07x9ibcshsm451qcpawv3l0z7g8w8jg79h6dfdmbm3jrhpdb58kh";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-6.1.nix b/pkgs/os-specific/linux/kernel/linux-6.1.nix
index 45bbb81937a4..dedef194a00c 100644
--- a/pkgs/os-specific/linux/kernel/linux-6.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-6.1.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "6.1.20";
+  version = "6.1.21";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
-    sha256 = "1w1iy1i3bpzrs5rhvqbn2awxv5qqgng9n7jd5js66g0sq3l2sckn";
+    sha256 = "0fnr2pw4pi0vnkpv8hfipya09cgdz6ghks7p6vdl2d71dawb2g5k";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-6.2.nix b/pkgs/os-specific/linux/kernel/linux-6.2.nix
index bdc0d119e49c..41a48a5e0d5d 100644
--- a/pkgs/os-specific/linux/kernel/linux-6.2.nix
+++ b/pkgs/os-specific/linux/kernel/linux-6.2.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "6.2.7";
+  version = "6.2.8";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = versions.pad 3 version;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
-    sha256 = "138dpmj8qr5fcji99kmi3sj34ah21bgqgzsz2lbhn37v059100s3";
+    sha256 = "0rgn8k9rhk819bazcaz7fbk5ba1hph02izqrw06ag0rgsj3svl7y";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index 3bf3951f7605..502da0c944a1 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 = "19109";
-    sha256 = "1z8qbfrn489bsi4grpw5dzw8f5jzml0swngfflh8flb80zcq0s2p";
+    rev = "19160";
+    sha256 = "1fgfb35f1lhizb3p5d6p04pkff5c2k7x3yayb4ns1225l8klspqb";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index 98e4847ba4f2..45b28337304b 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.168-rt83"; # updated by ./update-rt.sh
+  version = "5.10.175-rt84"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -17,14 +17,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "171mmgkjdsn6gx6z8kr5d80aygn4jjf8jc9zfh7m2c4dpab2azdn";
+    sha256 = "1kkv63v5lc0ahkl8sjmwhqxahmwmbxcbf4mfcmkf6d7j50p5cxz2";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "08nz84yyjd8ffxhpiksqikhkhrn9a9x5mbfrz317sx6mf55wyxm0";
+      sha256 = "13pqr6lhngig7g2s1qb27vq8x9b3wilz7gx820icdlvdxx1mi27p";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
index 115d8ad93149..b6f897b024e0 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , fetchpatch
 , kernel
 , commitDate ? "2023-02-01"
@@ -12,14 +13,13 @@
 
 # NOTE: bcachefs-tools should be updated simultaneously to preserve compatibility
 (kernel.override ( args // {
-  argsOverride = {
-    version = "${kernel.version}-bcachefs-unstable-${commitDate}";
+  version = "${kernel.version}-bcachefs-unstable-${commitDate}";
 
-    extraMeta = {
-      branch = "master";
-      maintainers = with lib.maintainers; [ davidak Madouura pedrohlc ];
-    };
-  } // argsOverride;
+  extraMeta = {
+    branch = "master";
+    broken = stdenv.isAarch64;
+    maintainers = with lib.maintainers; [ davidak Madouura pedrohlc ];
+  };
 
   kernelPatches = [ {
       name = "bcachefs-${currentCommit}";
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index b01805e83da9..46407eccf057 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -58,6 +58,7 @@ let
 
   # Dependencies that are required to build kernel modules
   moduleBuildDependencies = [
+    pahole
     perl
     libelf
     # module makefiles often run uname commands to find out the kernel version
@@ -115,6 +116,20 @@ let
             hash = "sha256-bBOyJcP6jUvozFJU0SPTOf3cmnTQ6ZZ4PlHjiniHXLU=";
           });
 
+      preUnpack = ''
+        # The same preUnpack is used to build the configfile,
+        # which does not have $dev.
+        if [ -n "$dev" ]; then
+            mkdir -p $dev/lib/modules/${modDirVersion}
+            cd $dev/lib/modules/${modDirVersion}
+        fi
+      '';
+
+      postUnpack = ''
+        mv -Tv "$sourceRoot" source 2>/dev/null || :
+        export sourceRoot=$PWD/source
+      '';
+
       postPatch = ''
         sed -i Makefile -e 's|= depmod|= ${buildPackages.kmod}/bin/depmod|'
 
@@ -156,8 +171,7 @@ let
       configurePhase = ''
         runHook preConfigure
 
-        mkdir build
-        export buildRoot="$(pwd)/build"
+        export buildRoot=$(mktemp -d)
 
         echo "manual-config configurePhase buildRoot=$buildRoot pwd=$PWD"
 
@@ -185,12 +199,14 @@ let
       '';
 
       buildFlags = [
+        "DTC_FLAGS=-@"
         "KBUILD_BUILD_VERSION=1-NixOS"
-        kernelConf.target
-        "vmlinux"  # for "perf" and things like that
-      ] ++ optional isModular "modules"
-        ++ optionals buildDTBs ["dtbs" "DTC_FLAGS=-@"]
-      ++ extraMakeFlags;
+
+        # Set by default in the kernel since a73619a845d5,
+        # replicated here to apply to older versions.
+        # Makes __FILE__ relative to the build directory.
+        "KCPPFLAGS=-fmacro-prefix-map=$(sourceRoot)/="
+      ] ++ extraMakeFlags;
 
       installFlags = [
         "INSTALL_PATH=$(out)"
@@ -262,8 +278,6 @@ let
       ];
 
       postInstall = optionalString isModular ''
-        mkdir -p $dev
-        cp vmlinux $dev/
         if [ -z "''${dontStrip-}" ]; then
           installFlagsArray+=("INSTALL_MOD_STRIP=1")
         fi
@@ -272,12 +286,7 @@ let
         unlink $out/lib/modules/${modDirVersion}/build
         unlink $out/lib/modules/${modDirVersion}/source
 
-        mkdir -p $dev/lib/modules/${modDirVersion}/{build,source}
-
-        # To save space, exclude a bunch of unneeded stuff when copying.
-        (cd .. && rsync --archive --prune-empty-dirs \
-            --exclude='/build/' \
-            * $dev/lib/modules/${modDirVersion}/source/)
+        mkdir $dev/lib/modules/${modDirVersion}/build
 
         cd $dev/lib/modules/${modDirVersion}/source
 
@@ -288,12 +297,16 @@ let
         # from a `try-run` call from the Makefile
         rm -f $dev/lib/modules/${modDirVersion}/build/.[0-9]*.d
 
-        # Keep some extra files on some arches (powerpc, aarch64)
-        for f in arch/powerpc/lib/crtsavres.o arch/arm64/kernel/ftrace-mod.o; do
-          if [ -f "$buildRoot/$f" ]; then
-            cp $buildRoot/$f $dev/lib/modules/${modDirVersion}/build/$f
+        # Keep some extra files
+        for f in arch/powerpc/lib/crtsavres.o arch/arm64/kernel/ftrace-mod.o \
+                 scripts/gdb/linux vmlinux vmlinux-gdb.py
+        do
+          if [ -e "$buildRoot/$f" ]; then
+            mkdir -p "$(dirname "$dev/lib/modules/${modDirVersion}/build/$f")"
+            cp -HR $buildRoot/$f $dev/lib/modules/${modDirVersion}/build/$f
           fi
         done
+        ln -s $dev/lib/modules/${modDirVersion}/build/vmlinux $dev
 
         # !!! No documentation on how much of the source tree must be kept
         # If/when kernel builds fail due to missing files, you can add
@@ -336,6 +349,11 @@ let
         sed -i Makefile -e 's|= ${buildPackages.kmod}/bin/depmod|= depmod|'
       '';
 
+      preFixup = ''
+        # Don't strip $dev/lib/modules/*/vmlinux
+        stripDebugList="$(cd $dev && echo lib/modules/*/build/*/)"
+      '';
+
       requiredSystemFeatures = [ "big-parallel" ];
 
       meta = {
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index 1464bd40e208..4d4a704e218c 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.2.6"; #zen
+    version = "6.2.7"; #zen
     suffix = "zen1"; #zen
-    sha256 = "1cbga42b4kz03kgf5vxzh93fa8kgszffki5pwalxj6a2rab8888c"; #zen
+    sha256 = "1giy45ndzs4pfvwlc1p8zb7qci86ampbjwl93jwxcdn76k8gygzh"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
-    version = "6.2.6"; #lqx
+    version = "6.2.7"; #lqx
     suffix = "lqx1"; #lqx
-    sha256 = "1b454badr366pbxiyz7h2n47405wy5pa35rdkk1is8q574yf6scy"; #lqx
+    sha256 = "0dk79cglqrbsmlz9vimd714km5v717r1066r4bas20r3gi0zlzhi"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
diff --git a/pkgs/os-specific/linux/nvme-cli/default.nix b/pkgs/os-specific/linux/nvme-cli/default.nix
index f645b5bd5de4..307cc51a0bd8 100644
--- a/pkgs/os-specific/linux/nvme-cli/default.nix
+++ b/pkgs/os-specific/linux/nvme-cli/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mic92 ];
+    mainProgram = "nvme";
   };
 }
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 72a148c26e7c..2d27ecb34032 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchFromGitHub, fetchpatch, cmake, kernel, installShellFiles, pkg-config
 , luajit, ncurses, perl, jsoncpp, libb64, openssl, curl, jq, gcc, elfutils, tbb, protobuf, grpc
-, yaml-cpp, nlohmann_json, re2
+, yaml-cpp, nlohmann_json, re2, zstd
 }:
 
 let
   # Compare with https://github.com/draios/sysdig/blob/dev/cmake/modules/falcosecurity-libs.cmake
-  libsRev = "0.9.1";
-  libsSha256 = "sha256-X+zLEnage8AuGdGn9sl1RN9b1CKTA1ErrdPNbYKY0s0=";
+  libsRev = "0.10.5";
+  libsSha256 = "sha256-5a5ePcMHAlniJ8sU/5kKdRp5YkJ6tcr4h5Ru4Oc2kQY=";
 
   # Compare with https://github.com/falcosecurity/libs/blob/master/cmake/modules/valijson.cmake#L17
   valijson = fetchFromGitHub {
@@ -31,13 +31,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "sysdig";
-  version = "0.30.2";
+  version = "0.31.3";
 
   src = fetchFromGitHub {
     owner = "draios";
     repo = "sysdig";
     rev = version;
-    sha256 = "sha256-bDlrnTfm43zpYBIiP2MGB+LM5jtalmeUNtWHgxe81HM=";
+    sha256 = "sha256-TMh2gw/vw6DbhKGwbqU2+c0DTpRaMZqUM83KE18NDmI=";
   };
 
   nativeBuildInputs = [ cmake perl installShellFiles pkg-config ];
@@ -58,6 +58,7 @@ stdenv.mkDerivation rec {
     yaml-cpp
     jsoncpp
     nlohmann_json
+    zstd
   ] ++ lib.optionals (kernel != null) kernel.moduleBuildDependencies;
 
   hardeningDisable = [ "pic" ];
@@ -97,7 +98,7 @@ stdenv.mkDerivation rec {
       echo "falcosecurity-libs checksum needs to be updated!"
       exit 1
     fi
-    cmakeFlagsArray+=(-DCMAKE_EXE_LINKER_FLAGS="-ltbb -lcurl -labsl_synchronization")
+    cmakeFlagsArray+=(-DCMAKE_EXE_LINKER_FLAGS="-ltbb -lcurl -lzstd -labsl_synchronization")
   '' + lib.optionalString (kernel != null) ''
     export INSTALL_MOD_PATH="$out"
     export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
diff --git a/pkgs/servers/aeron/default.nix b/pkgs/servers/aeron/default.nix
new file mode 100644
index 000000000000..5ce49660f4af
--- /dev/null
+++ b/pkgs/servers/aeron/default.nix
@@ -0,0 +1,179 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  jdk11,
+  gradle,
+  makeWrapper,
+  perl,
+  writeText
+}:
+
+let
+  pname = "aeron";
+  version = "1.40.0";
+
+  src = fetchFromGitHub {
+    owner = "real-logic";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-4C5YofA/wxwa7bfc6IqsDrw8CLQWKoVBCIe8Ec7ifAg=";
+  };
+
+  deps = stdenv.mkDerivation {
+    name = "${pname}-deps";
+    inherit src;
+
+    nativeBuildInputs = [
+      gradle
+      jdk11
+      perl
+    ];
+
+    buildPhase = ''
+      export GRADLE_USER_HOME=$(mktemp -d);
+      gradle \
+          --console plain \
+          --no-daemon \
+          --system-prop org.gradle.java.home="${jdk11.home}" \
+          --exclude-task javadoc \
+        build
+    '';
+
+    # Mavenize dependency paths
+    # e.g. org.codehaus.groovy/groovy/2.4.0/{hash}/groovy-2.4.0.jar -> org/codehaus/groovy/groovy/2.4.0/groovy-2.4.0.jar
+    installPhase = ''
+      find "$GRADLE_USER_HOME/caches/modules-2" -type f -regex '.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
+        | sh
+      ln -s "$out/com/squareup/okio/okio/2.10.0/okio-jvm-2.10.0.jar" "$out/com/squareup/okio/okio/2.10.0/okio-2.10.0.jar"
+    '';
+
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "sha256-1hvQyEiCMfIw6wv9GOEehX0wrtBnAilVuTGUWAGoH6k=";
+  };
+
+  # Point to our local deps repo
+  gradleInit = writeText "init.gradle" ''
+    settingsEvaluated { settings ->
+      settings.pluginManagement {
+        repositories {
+          clear()
+          maven { url '${deps}' }
+        }
+      }
+    }
+    gradle.projectsLoaded {
+      rootProject.allprojects {
+        repositories {
+          clear()
+          maven { url '${deps}' }
+        }
+      }
+    }
+  '';
+
+  # replace buildSrc
+  buildSrc = writeText "build.gradle" ''
+    repositories {
+      clear()
+      maven { url '${deps}' }
+    }
+
+    dependencies {
+      implementation 'org.asciidoctor:asciidoctorj:2.5.5'
+      implementation 'org.eclipse.jgit:org.eclipse.jgit:5.13.1.202206130422-r'
+    }
+  '';
+
+in stdenv.mkDerivation rec {
+
+  inherit pname src version;
+
+  buildInputs = [
+    jdk11
+  ];
+
+  nativeBuildInputs = [
+    gradle
+    makeWrapper
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    export GRADLE_USER_HOME=$(mktemp -d)
+    cp ${buildSrc} ./buildSrc/build.gradle
+
+    gradle \
+        --console plain \
+        --exclude-task checkstyleMain \
+        --exclude-task checkstyleGenerated \
+        --exclude-task checkstyleGeneratedTest \
+        --exclude-task checkstyleMain \
+        --exclude-task checkstyleTest \
+        --exclude-task javadoc \
+        --exclude-task test \
+        --init-script "${gradleInit}" \
+        --no-daemon \
+        --offline \
+        --project-prop VERSION=${version} \
+        --system-prop org.gradle.java.home="${jdk11.home}" \
+      assemble
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D --mode=0444 --target-directory="$out/share/java" \
+      "./aeron-all/build/libs/aeron-all-${version}.jar" \
+      "./aeron-agent/build/libs/aeron-agent-${version}.jar" \
+      "./aeron-archive/build/libs/aeron-archive-${version}.jar" \
+      "./aeron-client/build/libs/aeron-client-${version}.jar"
+
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    function wrap {
+      makeWrapper "${jdk11}/bin/java" "$out/bin/$1" \
+        --add-flags "--add-opens java.base/sun.nio.ch=ALL-UNNAMED" \
+        --add-flags "--class-path $out/share/java/aeron-all-${version}.jar" \
+        --add-flags "$2"
+    }
+
+    wrap "${pname}-media-driver" io.aeron.driver.MediaDriver
+    wrap "${pname}-stat" io.aeron.samples.AeronStat
+    wrap "${pname}-archiving-media-driver" io.aeron.archive.ArchivingMediaDriver
+    wrap "${pname}-archive-tool" io.aeron.archive.ArchiveTool
+    wrap "${pname}-logging-agent" io.aeron.agent.DynamicLoggingAgent
+    wrap "${pname}-cluster-tool" io.aeron.cluster.ClusterTool
+  '';
+
+  doCheck = true;
+
+  checkPhase = ''
+    runHook preCheck
+
+    gradle \
+        --console plain \
+        --init-script "${gradleInit}" \
+        --no-daemon \
+        --offline \
+        --project-prop VERSION=${version} \
+        --system-prop org.gradle.java.home="${jdk11.home}" \
+      test
+
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Low-latency messaging library";
+    homepage = "https://aeron.io/";
+    license = licenses.asl20;
+    maintainers = [ maintainers.vaci ];
+  };
+}
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index 19284bd52da9..d41e5f0df6e6 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "consul";
-  version = "1.15.0";
+  version = "1.15.1";
   rev = "v${version}";
 
   # Note: Currently only release tags are supported, because they have the Consul UI
@@ -17,7 +17,7 @@ buildGoModule rec {
     owner = "hashicorp";
     repo = pname;
     inherit rev;
-    sha256 = "sha256-WJQHBSwmcJiUGt69DMMZxs+xEk3z+fadSHoHvxb48ZU=";
+    sha256 = "sha256-U7/et05WOBP7TT8iSXD447dBzRDzrmoeOYFofp/Cwh0=";
   };
 
   passthru.tests.consul = nixosTests.consul;
@@ -26,7 +26,7 @@ buildGoModule rec {
   # has a split module structure in one repo
   subPackages = ["." "connect/certgen"];
 
-  vendorHash = "sha256-XwoZ/iwsZ/zXgPRGfBit5TO2NDS2pTEO0FT4KSUhJtA=";
+  vendorHash = "sha256-6lYIwOpQjpw7cmeEhDtTs5FzagcAagD+NbfHCO9D/6M=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/fastnetmon-advanced/default.nix b/pkgs/servers/fastnetmon-advanced/default.nix
new file mode 100644
index 000000000000..34e85914e77a
--- /dev/null
+++ b/pkgs/servers/fastnetmon-advanced/default.nix
@@ -0,0 +1,55 @@
+{ lib, stdenv, fetchurl, autoPatchelfHook, bzip2 }:
+
+stdenv.mkDerivation rec {
+  pname = "fastnetmon-advanced";
+  version = "2.0.335";
+
+  src = fetchurl {
+    url = "https://repo.fastnetmon.com/fastnetmon_ubuntu_jammy/pool/fastnetmon/f/fastnetmon/fastnetmon_${version}_amd64.deb";
+    hash = "sha256-2WdCQX0AiLTPGM9flVSXgKMrTGCwSXk9IfyS5SRKroY=";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  buildInputs = [
+    bzip2
+  ];
+
+  unpackPhase = ''
+    ar xf $src
+    tar xf data.tar.xz
+
+    # "These binaries are not part of FastNetMon and we shipped them by accident. They will be removed in next stable build"
+    rm opt/fastnetmon/app/bin/{generate_rsa_keys,license_app,fastnetmon_license_server}
+
+    # ships with both 2_0_0 and 2_3_0 but the shared objects are not versioned and only 2_3_0 has the necessary symbols
+    rm -rf opt/fastnetmon/libraries/libclickhouse_2_0_0/
+
+    # unused libraries, which have additional dependencies
+    rm opt/fastnetmon/libraries/gcc1210/lib/libgccjit.so.0.0.1
+    rm opt/fastnetmon/libraries/poco_1_10_0/lib/libPocoCryptod.so.70
+    rm opt/fastnetmon/libraries/poco_1_10_0/lib/libPocoCrypto.so.70
+    rm opt/fastnetmon/libraries/poco_1_10_0/lib/libPocoJWTd.so.70
+    rm opt/fastnetmon/libraries/poco_1_10_0/lib/libPocoJWT.so.70
+    rm opt/fastnetmon/libraries/wkhtmltopdf-0.12.3/wkhtmltox/lib/libwkhtmltox.so.0.12.3
+  '';
+
+  installPhase = ''
+    mkdir -p $out/libexec/fastnetmon
+    cp -r opt/fastnetmon/app/bin $out/bin
+    cp -r opt/fastnetmon/libraries $out/libexec/fastnetmon
+
+    addAutoPatchelfSearchPath $out/libexec/fastnetmon/libraries
+  '';
+
+  meta = with lib; {
+    description = "A high performance DDoS detector / sensor - commercial edition";
+    homepage = "https://fastnetmon.com";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    maintainers = with maintainers; [ yuka ];
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/servers/gemini/agate/default.nix b/pkgs/servers/gemini/agate/default.nix
index 2240536021d2..e3ddff2f9ed9 100644
--- a/pkgs/servers/gemini/agate/default.nix
+++ b/pkgs/servers/gemini/agate/default.nix
@@ -2,15 +2,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "agate";
-  version = "3.2.4";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "mbrubeck";
-    repo = pname;
+    repo = "agate";
     rev = "v${version}";
-    sha256 = "sha256-NyHs/9kRBGqmh44MSRzYb7CSvEB0RlmL9l5QpGEwDhY=";
+    hash = "sha256-B0hbXar/RulfBJUR1Jtczf3p1H6Zj5OVCXVCaj5zf/U=";
   };
-  cargoSha256 = "sha256-V0MLXOLLmKnk4Iyhbu+EomsxOX6RLYHIsi/IwWiqmcg=";
+  cargoHash = "sha256-6Z+mcQAJwW7tm4SBbrHwHIwiqlFV+PIa5I2onU2rPts=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
diff --git a/pkgs/servers/geospatial/martin/default.nix b/pkgs/servers/geospatial/martin/default.nix
index 6276ad90189d..0bbe63fe3ec8 100644
--- a/pkgs/servers/geospatial/martin/default.nix
+++ b/pkgs/servers/geospatial/martin/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "martin";
-  version = "0.7.2";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "maplibre";
     repo = "martin";
     rev = "v${version}";
-    hash = "sha256-F7CAP7PrG71EdAe2hb13L/fKSiFyNHYHHweqg2GiJeU=";
+    hash = "sha256-gaPq4sEt9MweY91PQJPiZT5DzZ9fQZnPNiFocGVjWTc=";
   };
 
-  cargoHash = "sha256-/bIMQJ2+39PShVx/W/tOeD+EjPNLw4NianwJl9wkwmk=";
+  cargoHash = "sha256-LfpxPqbLZhq59CjBzTfP4ih+Mj1L/72rkosbp12+bds=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/servers/headscale/default.nix b/pkgs/servers/headscale/default.nix
index 8ebcde82a446..1df168ebe170 100644
--- a/pkgs/servers/headscale/default.nix
+++ b/pkgs/servers/headscale/default.nix
@@ -6,16 +6,16 @@
 }:
 buildGoModule rec {
   pname = "headscale";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "juanfont";
     repo = "headscale";
     rev = "v${version}";
-    hash = "sha256-RqJrqY1Eh5/TY+vMAO5fABmeV5aSzcLD4fX7j1QDN6w=";
+    hash = "sha256-Y4fTCEKK7iRbfijQAvYgXWVa/6TlPikXnqyBI8b990s=";
   };
 
-  vendorHash = "sha256-8p5NFxXKaZPsW4B6NMzfi0pqfVroIahSgA0fukvB3JI=";
+  vendorHash = "sha256-R183PDeAUnNwNV8iE3b22S5hGPJG8aZQGdENGqcPCw8=";
 
   ldflags = ["-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}"];
 
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index 8f27c648b309..5bc102caa616 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -9,13 +9,13 @@
 
 buildDotnetModule rec {
   pname = "jackett";
-  version = "0.20.3599";
+  version = "0.20.3627";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha512-GZCdReOysCkFCkOeaqRivJlKRsuKtRNMPTdKsbj6KqyhPW41GLJffBkl8XKi6pmREp/jCtWs2+tw1D7xcaGNqg==";
+    hash = "sha512-enyxUGfS7nzy4Ej+raPbhUc+WJJQL5J3i8WhoVsYBDwlcfW0kXjljhipPqkW4bONTRKL3zLI4HbaHEW1t/Ca/g==";
   };
 
   projectFile = "src/Jackett.Server/Jackett.Server.csproj";
diff --git a/pkgs/servers/komga/default.nix b/pkgs/servers/komga/default.nix
index 1f651a5f46e5..7e0aeb3b2303 100644
--- a/pkgs/servers/komga/default.nix
+++ b/pkgs/servers/komga/default.nix
@@ -8,11 +8,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "komga";
-  version = "0.163.0";
+  version = "0.164.0";
 
   src = fetchurl {
     url = "https://github.com/gotson/${pname}/releases/download/v${version}/${pname}-${version}.jar";
-    sha256 = "sha256-dKbdzfjb+brY++uflVvuF1LaOIaYn1UqIGIjCsyLMv8=";
+    sha256 = "sha256-p0pBnRn++XblmOS1WdHm5VVYvg0fPz/B3QCepOvBfYk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/limesurvey/default.nix b/pkgs/servers/limesurvey/default.nix
index 2a5a0a2308b6..ce75e8de8b5a 100644
--- a/pkgs/servers/limesurvey/default.nix
+++ b/pkgs/servers/limesurvey/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "limesurvey";
-  version = "3.27.33+220125";
+  version = "5.6.9+230306";
 
   src = fetchFromGitHub {
     owner = "LimeSurvey";
     repo = "LimeSurvey";
     rev = version;
-    sha256 = "sha256-iwTsn+glh8fwt1IaH9iDKDhEAnx1s1zvv1dmsdzUk8g=";
+    hash = "sha256-FBcpP9Zb4flr1AZlocRW8xx9UCXJAU9aaGXcWQE6iWc=";
   };
 
   phpConfig = writeText "config.php" ''
@@ -37,9 +37,5 @@ stdenv.mkDerivation rec {
     homepage = "https://www.limesurvey.org";
     maintainers = with maintainers; [offline];
     platforms = with platforms; unix;
-    knownVulnerabilities = [
-      "CVE-2022-48008"
-      "CVE-2022-48010"
-    ];
   };
 }
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix
index d942bb0b2e5f..8f34d284df21 100644
--- a/pkgs/servers/mastodon/default.nix
+++ b/pkgs/servers/mastodon/default.nix
@@ -72,15 +72,13 @@ stdenv.mkDerivation rec {
       rm -rf ~/node_modules/.cache
 
       # Create missing static gzip and brotli files
-      gzip -9 -n -c ~/public/assets/500.html > ~/public/assets/500.html.gz
-      gzip -9 -n -c ~/public/packs/report.html > ~/public/packs/report.html.gz
-      find ~/public/assets -maxdepth 1 -type f -name ".*.json" | while read file; do
-        gzip -9 -n -c $file > $file.gz
-      done
-      brotli --best -f ~/public/packs/report.html -o ~/public/packs/report.html.br
-      find ~/public/assets -type f -regextype posix-extended -iregex '.*\.(css|js|json|html)' | while read file; do
-        brotli --best -f $file -o $file.br
-      done
+      gzip --best --keep ~/public/assets/500.html
+      gzip --best --keep ~/public/packs/report.html
+      find ~/public/assets -maxdepth 1 -type f -name '.*.json' \
+        -exec gzip --best --keep --force {} ';'
+      brotli --best --keep ~/public/packs/report.html
+      find ~/public/assets -type f -regextype posix-extended -iregex '.*\.(css|js|json|html)' \
+        -exec brotli --best --keep {} ';'
     '';
 
     installPhase = ''
@@ -107,15 +105,16 @@ stdenv.mkDerivation rec {
       fi
     done
 
+    # Remove execute permissions
+    chmod 0444 public/emoji/*.svg
+
     # Create missing static gzip and brotli files
-    find public -maxdepth 1 -type f -regextype posix-extended -iregex '.*\.(css|js|svg|txt|xml)' | while read file; do
-      gzip -9 -n -c $file > $file.gz
-      brotli --best -f $file -o $file.br
-    done
-    find public/emoji -type f -name "*.svg" | while read file; do
-      gzip -9 -n -c $file > $file.gz
-      brotli --best -f $file -o $file.br
-    done
+    find public -maxdepth 1 -type f -regextype posix-extended -iregex '.*\.(css|js|svg|txt|xml)' \
+      -exec gzip --best --keep --force {} ';' \
+      -exec brotli --best --keep {} ';'
+    find public/emoji -type f -name '.*.svg' \
+      -exec gzip --best --keep --force {} ';' \
+      -exec brotli --best --keep {} ';'
     ln -s assets/500.html.gz public/500.html.gz
     ln -s assets/500.html.br public/500.html.br
     ln -s packs/sw.js.gz public/sw.js.gz
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
index 891e96d68481..b51afb602c2b 100644
--- a/pkgs/servers/mastodon/source.nix
+++ b/pkgs/servers/mastodon/source.nix
@@ -2,8 +2,8 @@
 { fetchgit, applyPatches }: let
   src = fetchgit {
     url = "https://github.com/mastodon/mastodon.git";
-    rev = "v4.1.0";
-    sha256 = "00nc80s1hz4sdpq81hsv2r9da3bjn4lgwpk7w24zy2016iwjjwbb";
+    rev = "v4.1.1";
+    sha256 = "1c0mxz45pkgmyw81z025n1ps1dkdq92337h7sd865w2fbgmzg50l";
   };
 in applyPatches {
   inherit src;
diff --git a/pkgs/servers/mastodon/version.nix b/pkgs/servers/mastodon/version.nix
index c283b30007c5..4a8abaf4eb4b 100644
--- a/pkgs/servers/mastodon/version.nix
+++ b/pkgs/servers/mastodon/version.nix
@@ -1 +1 @@
-"4.1.0"
+"4.1.1"
diff --git a/pkgs/servers/matrix-conduit/Cargo.lock b/pkgs/servers/matrix-conduit/Cargo.lock
new file mode 100644
index 000000000000..e77389240871
--- /dev/null
+++ b/pkgs/servers/matrix-conduit/Cargo.lock
@@ -0,0 +1,3398 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ahash"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+dependencies = [
+ "getrandom 0.2.8",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "alloc-no-stdlib"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
+
+[[package]]
+name = "alloc-stdlib"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
+dependencies = [
+ "alloc-no-stdlib",
+]
+
+[[package]]
+name = "arc-swap"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "983cd8b9d4b02a6dc6ffa557262eb5858a27a0038ffffe21a0f133eaa819a164"
+
+[[package]]
+name = "arrayref"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
+
+[[package]]
+name = "assign"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f093eed78becd229346bf859eec0aa4dd7ddde0757287b2b4107a1f09c80002"
+
+[[package]]
+name = "async-compression"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a"
+dependencies = [
+ "brotli",
+ "flate2",
+ "futures-core",
+ "memchr",
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "async-trait"
+version = "0.1.58"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "atomic"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b88d82667eca772c4aa12f0f1348b3ae643424c8876448f3f7bd5787032e234c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "axum"
+version = "0.5.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43"
+dependencies = [
+ "async-trait",
+ "axum-core",
+ "bitflags",
+ "bytes",
+ "futures-util",
+ "headers",
+ "http",
+ "http-body",
+ "hyper",
+ "itoa",
+ "matchit",
+ "memchr",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "sync_wrapper",
+ "tokio",
+ "tower",
+ "tower-http",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "axum-core"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37e5939e02c56fecd5c017c37df4238c0a839fa76b7f97acdd7efb804fd181cc"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "mime",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "axum-server"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8456dab8f11484979a86651da8e619b355ede5d61a160755155f6c344bd18c47"
+dependencies = [
+ "arc-swap",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "hyper",
+ "pin-project-lite",
+ "rustls",
+ "rustls-pemfile 1.0.1",
+ "tokio",
+ "tokio-rustls",
+ "tower-service",
+]
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "base64"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5"
+
+[[package]]
+name = "base64ct"
+version = "1.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf"
+
+[[package]]
+name = "bincode"
+version = "1.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "bindgen"
+version = "0.59.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8"
+dependencies = [
+ "bitflags",
+ "cexpr",
+ "clang-sys",
+ "lazy_static",
+ "lazycell",
+ "peeking_take_while",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "blake2b_simd"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72936ee4afc7f8f736d1c38383b56480b5497b4617b4a77bdbf1d2ababc76127"
+dependencies = [
+ "arrayref",
+ "arrayvec",
+ "constant_time_eq",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "block-buffer"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "brotli"
+version = "3.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+ "brotli-decompressor",
+]
+
+[[package]]
+name = "brotli-decompressor"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59ad2d4653bf5ca36ae797b1f4bb4dbddb60ce49ca4aed8a2ce4829f60425b80"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+
+[[package]]
+name = "bytemuck"
+version = "1.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "bytes"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
+
+[[package]]
+name = "cc"
+version = "1.0.77"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4"
+dependencies = [
+ "jobserver",
+]
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "clang-sys"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "clap"
+version = "4.0.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0acbd8d28a0a60d7108d7ae850af6ba34cf2d1257fc646980e5f97ce14275966"
+dependencies = [
+ "bitflags",
+ "clap_derive",
+ "clap_lex",
+ "once_cell",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "color_quant"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
+
+[[package]]
+name = "conduit"
+version = "0.5.0"
+dependencies = [
+ "async-trait",
+ "axum",
+ "axum-server",
+ "base64 0.13.1",
+ "bytes",
+ "clap",
+ "crossbeam",
+ "directories",
+ "figment",
+ "futures-util",
+ "heed",
+ "hmac",
+ "http",
+ "image",
+ "jsonwebtoken",
+ "lazy_static",
+ "lru-cache",
+ "num_cpus",
+ "opentelemetry",
+ "opentelemetry-jaeger",
+ "parking_lot",
+ "persy",
+ "rand 0.8.5",
+ "regex",
+ "reqwest",
+ "ring",
+ "rocksdb",
+ "ruma",
+ "rusqlite",
+ "rust-argon2",
+ "sd-notify",
+ "serde",
+ "serde_json",
+ "serde_yaml",
+ "sha-1",
+ "thiserror",
+ "thread_local",
+ "threadpool",
+ "tikv-jemalloc-ctl",
+ "tikv-jemallocator",
+ "tokio",
+ "tower",
+ "tower-http",
+ "tracing",
+ "tracing-flame",
+ "tracing-opentelemetry",
+ "tracing-subscriber",
+ "trust-dns-resolver",
+]
+
+[[package]]
+name = "const-oid"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b"
+
+[[package]]
+name = "constant_time_eq"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
+
+[[package]]
+name = "core-foundation"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crc"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49fc9a695bca7f35f5f4c15cddc84415f66a74ea78eef08e90c5024f2b540e23"
+dependencies = [
+ "crc-catalog",
+]
+
+[[package]]
+name = "crc-catalog"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccaeedb56da03b09f598226e25e80088cb4cd25f316e6e4df7d695f0feeb1403"
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crossbeam"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c"
+dependencies = [
+ "cfg-if",
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-epoch",
+ "crossbeam-queue",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+ "memoffset",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "typenum",
+]
+
+[[package]]
+name = "curve25519-dalek"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61"
+dependencies = [
+ "byteorder",
+ "digest 0.9.0",
+ "rand_core 0.5.1",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "dashmap"
+version = "5.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc"
+dependencies = [
+ "cfg-if",
+ "hashbrown",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "data-encoding"
+version = "2.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57"
+
+[[package]]
+name = "der"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f"
+dependencies = [
+ "const-oid",
+ "zeroize",
+]
+
+[[package]]
+name = "digest"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
+dependencies = [
+ "block-buffer 0.10.3",
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "directories"
+version = "4.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
+]
+
+[[package]]
+name = "ed25519"
+version = "1.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369"
+dependencies = [
+ "signature",
+]
+
+[[package]]
+name = "ed25519-dalek"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d"
+dependencies = [
+ "curve25519-dalek",
+ "ed25519",
+ "rand 0.7.3",
+ "serde",
+ "sha2",
+ "zeroize",
+]
+
+[[package]]
+name = "either"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
+dependencies = [
+ "cfg-if",
+]
+
+[[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",
+]
+
+[[package]]
+name = "fallible-iterator"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
+
+[[package]]
+name = "fallible-streaming-iterator"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
+
+[[package]]
+name = "figment"
+version = "0.10.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e56602b469b2201400dec66a66aec5a9b8761ee97cd1b8c96ab2483fcc16cc9"
+dependencies = [
+ "atomic",
+ "pear",
+ "serde",
+ "toml",
+ "uncased",
+ "version_check",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "fs2"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "fs_extra"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394"
+
+[[package]]
+name = "futures"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9"
+
+[[package]]
+name = "futures-task"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea"
+
+[[package]]
+name = "futures-util"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
+]
+
+[[package]]
+name = "generic-array"
+version = "0.14.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
+dependencies = [
+ "typenum",
+ "version_check",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.9.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+]
+
+[[package]]
+name = "gif"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06"
+dependencies = [
+ "color_quant",
+ "weezl",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
+
+[[package]]
+name = "h2"
+version = "0.3.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "hashlink"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa"
+dependencies = [
+ "hashbrown",
+]
+
+[[package]]
+name = "headers"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584"
+dependencies = [
+ "base64 0.13.1",
+ "bitflags",
+ "bytes",
+ "headers-core",
+ "http",
+ "httpdate",
+ "mime",
+ "sha1",
+]
+
+[[package]]
+name = "headers-core"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429"
+dependencies = [
+ "http",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
+
+[[package]]
+name = "heed"
+version = "0.10.6"
+source = "git+https://github.com/timokoesters/heed.git?rev=f6f825da7fb2c758867e05ad973ef800a6fe1d5d#f6f825da7fb2c758867e05ad973ef800a6fe1d5d"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+ "heed-traits",
+ "heed-types",
+ "libc",
+ "lmdb-rkv-sys",
+ "once_cell",
+ "page_size",
+ "serde",
+ "synchronoise",
+ "url",
+]
+
+[[package]]
+name = "heed-traits"
+version = "0.7.0"
+source = "git+https://github.com/timokoesters/heed.git?rev=f6f825da7fb2c758867e05ad973ef800a6fe1d5d#f6f825da7fb2c758867e05ad973ef800a6fe1d5d"
+
+[[package]]
+name = "heed-types"
+version = "0.7.2"
+source = "git+https://github.com/timokoesters/heed.git?rev=f6f825da7fb2c758867e05ad973ef800a6fe1d5d#f6f825da7fb2c758867e05ad973ef800a6fe1d5d"
+dependencies = [
+ "bincode",
+ "bytemuck",
+ "byteorder",
+ "heed-traits",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hmac"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+dependencies = [
+ "digest 0.10.6",
+]
+
+[[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.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-body"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+dependencies = [
+ "bytes",
+ "http",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "http-range-header"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29"
+
+[[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+
+[[package]]
+name = "hyper"
+version = "0.14.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2",
+ "tokio",
+ "tower-service",
+ "tracing",
+ "want",
+]
+
+[[package]]
+name = "hyper-rustls"
+version = "0.23.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d"
+dependencies = [
+ "http",
+ "hyper",
+ "rustls",
+ "tokio",
+ "tokio-rustls",
+]
+
+[[package]]
+name = "idna"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+dependencies = [
+ "matches",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "image"
+version = "0.24.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+ "gif",
+ "jpeg-decoder",
+ "num-rational",
+ "num-traits",
+ "png",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+ "serde",
+]
+
+[[package]]
+name = "inlinable_string"
+version = "0.1.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb"
+
+[[package]]
+name = "integer-encoding"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02"
+
+[[package]]
+name = "ipconfig"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be"
+dependencies = [
+ "socket2",
+ "widestring",
+ "winapi",
+ "winreg 0.10.1",
+]
+
+[[package]]
+name = "ipnet"
+version = "2.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745"
+
+[[package]]
+name = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
+
+[[package]]
+name = "jobserver"
+version = "0.1.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "jpeg-decoder"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+
+[[package]]
+name = "js-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "js_int"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d937f95470b270ce8b8950207715d71aa8e153c0d44c6684d59397ed4949160a"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "js_option"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68421373957a1593a767013698dbf206e2b221eefe97a44d98d18672ff38423c"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "jsonwebtoken"
+version = "8.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1aa4b4af834c6cfd35d8763d359661b90f2e45d8f750a0849156c7f4671af09c"
+dependencies = [
+ "base64 0.13.1",
+ "pem",
+ "ring",
+ "serde",
+ "serde_json",
+ "simple_asn1",
+]
+
+[[package]]
+name = "konst"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "330f0e13e6483b8c34885f7e6c9f19b1a7bd449c673fbb948a51c99d66ef74f4"
+dependencies = [
+ "konst_macro_rules",
+ "konst_proc_macros",
+]
+
+[[package]]
+name = "konst_macro_rules"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4933f3f57a8e9d9da04db23fb153356ecaf00cbd14aee46279c33dc80925c37"
+
+[[package]]
+name = "konst_proc_macros"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "984e109462d46ad18314f10e392c286c3d47bce203088a09012de1015b45b737"
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libc"
+version = "0.2.137"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
+
+[[package]]
+name = "libloading"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+dependencies = [
+ "cfg-if",
+ "winapi",
+]
+
+[[package]]
+name = "librocksdb-sys"
+version = "6.20.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c309a9d2470844aceb9a4a098cf5286154d20596868b75a6b36357d2bb9ca25d"
+dependencies = [
+ "bindgen",
+ "cc",
+ "glob",
+ "libc",
+]
+
+[[package]]
+name = "libsqlite3-sys"
+version = "0.25.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29f835d03d717946d28b1d1ed632eb6f0e24a299388ee623d0c23118d3e8a7fa"
+dependencies = [
+ "cc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "linked-hash-map"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
+
+[[package]]
+name = "lmdb-rkv-sys"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61b9ce6b3be08acefa3003c57b7565377432a89ec24476bbe72e11d101f852fe"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+]
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "lru-cache"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
+dependencies = [
+ "linked-hash-map",
+]
+
+[[package]]
+name = "maplit"
+version = "1.0.2"
+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",
+]
+
+[[package]]
+name = "matches"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
+
+[[package]]
+name = "matchit"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[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.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
+
+[[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.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de"
+dependencies = [
+ "libc",
+ "log",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "nom"
+version = "7.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[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-bigint"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[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"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+
+[[package]]
+name = "opaque-debug"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+
+[[package]]
+name = "openssl-probe"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+[[package]]
+name = "opentelemetry"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69d6c3d7288a106c0a363e4b0e8d308058d56902adefb16f4936f417ffef086e"
+dependencies = [
+ "opentelemetry_api",
+ "opentelemetry_sdk",
+]
+
+[[package]]
+name = "opentelemetry-jaeger"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e785d273968748578931e4dc3b4f5ec86b26e09d9e0d66b55adda7fce742f7a"
+dependencies = [
+ "async-trait",
+ "futures",
+ "futures-executor",
+ "once_cell",
+ "opentelemetry",
+ "opentelemetry-semantic-conventions",
+ "thiserror",
+ "thrift",
+ "tokio",
+]
+
+[[package]]
+name = "opentelemetry-semantic-conventions"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b02e0230abb0ab6636d18e2ba8fa02903ea63772281340ccac18e0af3ec9eeb"
+dependencies = [
+ "opentelemetry",
+]
+
+[[package]]
+name = "opentelemetry_api"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c24f96e21e7acc813c7a8394ee94978929db2bcc46cf6b5014fc612bf7760c22"
+dependencies = [
+ "fnv",
+ "futures-channel",
+ "futures-util",
+ "indexmap",
+ "js-sys",
+ "once_cell",
+ "pin-project-lite",
+ "thiserror",
+]
+
+[[package]]
+name = "opentelemetry_sdk"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ca41c4933371b61c2a2f214bf16931499af4ec90543604ec828f7a625c09113"
+dependencies = [
+ "async-trait",
+ "crossbeam-channel",
+ "dashmap",
+ "fnv",
+ "futures-channel",
+ "futures-executor",
+ "futures-util",
+ "once_cell",
+ "opentelemetry_api",
+ "percent-encoding",
+ "rand 0.8.5",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+]
+
+[[package]]
+name = "ordered-float"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3305af35278dd29f46fcdd139e0b1fbfae2153f0e5928b39b035542dd31e37b7"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "os_str_bytes"
+version = "6.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "page_size"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eebde548fbbf1ea81a99b128872779c437752fb99f217c45245e1a61dcd9edcd"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1"
+
+[[package]]
+name = "pear"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15e44241c5e4c868e3eaa78b7c1848cadd6344ed4f54d029832d32b415a58702"
+dependencies = [
+ "inlinable_string",
+ "pear_codegen",
+ "yansi",
+]
+
+[[package]]
+name = "pear_codegen"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82a5ca643c2303ecb740d506539deba189e16f2754040a42901cd8105d0282d0"
+dependencies = [
+ "proc-macro2",
+ "proc-macro2-diagnostics",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "peeking_take_while"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
+
+[[package]]
+name = "pem"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03c64931a1a212348ec4f3b4362585eca7159d0d09cbdf4a7f74f02173596fd4"
+dependencies = [
+ "base64 0.13.1",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+
+[[package]]
+name = "persy"
+version = "1.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5511189f4dbd737283b0dd2ff6715f2e35fd0d3e1ddf953ed6a772e439e1f73f"
+dependencies = [
+ "crc",
+ "data-encoding",
+ "fs2",
+ "linked-hash-map",
+ "rand 0.8.5",
+ "thiserror",
+ "unsigned-varint",
+ "zigzag",
+]
+
+[[package]]
+name = "pin-project"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
+dependencies = [
+ "pin-project-internal",
+]
+
+[[package]]
+name = "pin-project-internal"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "pkcs8"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba"
+dependencies = [
+ "der",
+ "spki",
+]
+
+[[package]]
+name = "pkg-config"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
+
+[[package]]
+name = "png"
+version = "0.17.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638"
+dependencies = [
+ "bitflags",
+ "crc32fast",
+ "flate2",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro-crate"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9"
+dependencies = [
+ "once_cell",
+ "thiserror",
+ "toml",
+]
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "proc-macro2-diagnostics"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "version_check",
+ "yansi",
+]
+
+[[package]]
+name = "quick-error"
+version = "1.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
+
+[[package]]
+name = "quote"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+dependencies = [
+ "getrandom 0.1.16",
+ "libc",
+ "rand_chacha 0.2.2",
+ "rand_core 0.5.1",
+ "rand_hc",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha 0.3.1",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.5.1",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+dependencies = [
+ "getrandom 0.1.16",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom 0.2.8",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+dependencies = [
+ "rand_core 0.5.1",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+dependencies = [
+ "getrandom 0.2.8",
+ "redox_syscall",
+ "thiserror",
+]
+
+[[package]]
+name = "regex"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+dependencies = [
+ "regex-syntax",
+]
+
+[[package]]
+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.9"
+source = "git+https://github.com/timokoesters/reqwest?rev=57b7cf4feb921573dfafad7d34b9ac6e44ead0bd#57b7cf4feb921573dfafad7d34b9ac6e44ead0bd"
+dependencies = [
+ "base64 0.13.1",
+ "bytes",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-rustls",
+ "ipnet",
+ "js-sys",
+ "lazy_static",
+ "log",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustls",
+ "rustls-native-certs",
+ "rustls-pemfile 0.2.1",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "tokio",
+ "tokio-rustls",
+ "tokio-socks",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "winreg 0.7.0",
+]
+
+[[package]]
+name = "resolv-conf"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00"
+dependencies = [
+ "hostname",
+ "quick-error",
+]
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin",
+ "untrusted",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rocksdb"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a62eca5cacf2c8261128631bed9f045598d40bfbe4b29f5163f0f802f8f44a7"
+dependencies = [
+ "libc",
+ "librocksdb-sys",
+]
+
+[[package]]
+name = "ruma"
+version = "0.7.4"
+source = "git+https://github.com/ruma/ruma?rev=67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26#67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26"
+dependencies = [
+ "assign",
+ "js_int",
+ "js_option",
+ "ruma-appservice-api",
+ "ruma-client-api",
+ "ruma-common",
+ "ruma-federation-api",
+ "ruma-identity-service-api",
+ "ruma-push-gateway-api",
+ "ruma-signatures",
+ "ruma-state-res",
+]
+
+[[package]]
+name = "ruma-appservice-api"
+version = "0.7.0"
+source = "git+https://github.com/ruma/ruma?rev=67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26#67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26"
+dependencies = [
+ "js_int",
+ "ruma-common",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "ruma-client-api"
+version = "0.15.3"
+source = "git+https://github.com/ruma/ruma?rev=67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26#67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26"
+dependencies = [
+ "assign",
+ "bytes",
+ "http",
+ "js_int",
+ "js_option",
+ "maplit",
+ "percent-encoding",
+ "ruma-common",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "ruma-common"
+version = "0.10.5"
+source = "git+https://github.com/ruma/ruma?rev=67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26#67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26"
+dependencies = [
+ "base64 0.20.0",
+ "bytes",
+ "form_urlencoded",
+ "http",
+ "indexmap",
+ "itoa",
+ "js_int",
+ "js_option",
+ "konst",
+ "percent-encoding",
+ "rand 0.8.5",
+ "regex",
+ "ruma-identifiers-validation",
+ "ruma-macros",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tracing",
+ "url",
+ "uuid",
+ "wildmatch",
+]
+
+[[package]]
+name = "ruma-federation-api"
+version = "0.6.0"
+source = "git+https://github.com/ruma/ruma?rev=67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26#67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26"
+dependencies = [
+ "js_int",
+ "ruma-common",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "ruma-identifiers-validation"
+version = "0.9.0"
+source = "git+https://github.com/ruma/ruma?rev=67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26#67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26"
+dependencies = [
+ "js_int",
+ "thiserror",
+]
+
+[[package]]
+name = "ruma-identity-service-api"
+version = "0.6.0"
+source = "git+https://github.com/ruma/ruma?rev=67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26#67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26"
+dependencies = [
+ "js_int",
+ "ruma-common",
+ "serde",
+]
+
+[[package]]
+name = "ruma-macros"
+version = "0.10.5"
+source = "git+https://github.com/ruma/ruma?rev=67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26#67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26"
+dependencies = [
+ "once_cell",
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "ruma-identifiers-validation",
+ "serde",
+ "syn",
+ "toml",
+]
+
+[[package]]
+name = "ruma-push-gateway-api"
+version = "0.6.0"
+source = "git+https://github.com/ruma/ruma?rev=67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26#67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26"
+dependencies = [
+ "js_int",
+ "ruma-common",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "ruma-signatures"
+version = "0.12.0"
+source = "git+https://github.com/ruma/ruma?rev=67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26#67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26"
+dependencies = [
+ "base64 0.20.0",
+ "ed25519-dalek",
+ "pkcs8",
+ "rand 0.7.3",
+ "ruma-common",
+ "serde_json",
+ "sha2",
+ "subslice",
+ "thiserror",
+]
+
+[[package]]
+name = "ruma-state-res"
+version = "0.8.0"
+source = "git+https://github.com/ruma/ruma?rev=67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26#67d0f3cc04a8d1dc4a8a1ec947519967ce11ce26"
+dependencies = [
+ "itertools",
+ "js_int",
+ "ruma-common",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
+name = "rusqlite"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01e213bc3ecb39ac32e81e51ebe31fd888a940515173e3a18a35f8c6e896422a"
+dependencies = [
+ "bitflags",
+ "fallible-iterator",
+ "fallible-streaming-iterator",
+ "hashlink",
+ "libsqlite3-sys",
+ "smallvec",
+]
+
+[[package]]
+name = "rust-argon2"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b50162d19404029c1ceca6f6980fe40d45c8b369f6f44446fa14bb39573b5bb9"
+dependencies = [
+ "base64 0.13.1",
+ "blake2b_simd",
+ "constant_time_eq",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustls"
+version = "0.20.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c"
+dependencies = [
+ "log",
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "rustls-native-certs"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50"
+dependencies = [
+ "openssl-probe",
+ "rustls-pemfile 1.0.1",
+ "schannel",
+ "security-framework",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9"
+dependencies = [
+ "base64 0.13.1",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55"
+dependencies = [
+ "base64 0.13.1",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
+
+[[package]]
+name = "schannel"
+version = "0.1.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2"
+dependencies = [
+ "lazy_static",
+ "windows-sys 0.36.1",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "sct"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "sd-notify"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "621e3680f3e07db4c9c2c3fb07c6223ab2fab2e54bd3c04c3ae037990f428c32"
+
+[[package]]
+name = "security-framework"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c"
+dependencies = [
+ "bitflags",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+]
+
+[[package]]
+name = "security-framework-sys"
+version = "2.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.147"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.147"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_urlencoded"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+dependencies = [
+ "form_urlencoded",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_yaml"
+version = "0.9.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d232d893b10de3eb7258ff01974d6ee20663d8e833263c99409d4b13a0209da"
+dependencies = [
+ "indexmap",
+ "itoa",
+ "ryu",
+ "serde",
+ "unsafe-libyaml",
+]
+
+[[package]]
+name = "sha-1"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest 0.10.6",
+]
+
+[[package]]
+name = "sha1"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "digest 0.10.6",
+]
+
+[[package]]
+name = "sha2"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
+dependencies = [
+ "block-buffer 0.9.0",
+ "cfg-if",
+ "cpufeatures",
+ "digest 0.9.0",
+ "opaque-debug",
+]
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
+dependencies = [
+ "lazy_static",
+]
+
+[[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.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "signature"
+version = "1.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c"
+
+[[package]]
+name = "simple_asn1"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085"
+dependencies = [
+ "num-bigint",
+ "num-traits",
+ "thiserror",
+ "time",
+]
+
+[[package]]
+name = "slab"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "socket2"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "spki"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b"
+dependencies = [
+ "base64ct",
+ "der",
+]
+
+[[package]]
+name = "subslice"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0a8e4809a3bb02de01f1f7faf1ba01a83af9e8eabcd4d31dd6e413d14d56aae"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "subtle"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+
+[[package]]
+name = "syn"
+version = "1.0.103"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d"
+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 = "synchronoise"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dbc01390fc626ce8d1cffe3376ded2b72a11bb70e1c75f404a210e4daa4def2"
+dependencies = [
+ "crossbeam-queue",
+]
+
+[[package]]
+name = "synstructure"
+version = "0.12.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "unicode-xid",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
+dependencies = [
+ "once_cell",
+]
+
+[[package]]
+name = "threadpool"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
+dependencies = [
+ "num_cpus",
+]
+
+[[package]]
+name = "thrift"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09678c4cdbb4eed72e18b7c2af1329c69825ed16fcbac62d083fc3e2b0590ff0"
+dependencies = [
+ "byteorder",
+ "integer-encoding",
+ "log",
+ "ordered-float",
+ "threadpool",
+]
+
+[[package]]
+name = "tikv-jemalloc-ctl"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e37706572f4b151dff7a0146e040804e9c26fe3a3118591112f05cf12a4216c1"
+dependencies = [
+ "libc",
+ "paste",
+ "tikv-jemalloc-sys",
+]
+
+[[package]]
+name = "tikv-jemalloc-sys"
+version = "0.5.2+5.3.0-patched"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec45c14da997d0925c7835883e4d5c181f196fa142f8c19d7643d1e9af2592c3"
+dependencies = [
+ "cc",
+ "fs_extra",
+ "libc",
+]
+
+[[package]]
+name = "tikv-jemallocator"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20612db8a13a6c06d57ec83953694185a367e16945f66565e8028d2c0bd76979"
+dependencies = [
+ "libc",
+ "tikv-jemalloc-sys",
+]
+
+[[package]]
+name = "time"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
+dependencies = [
+ "itoa",
+ "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 = "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.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3"
+dependencies = [
+ "autocfg",
+ "bytes",
+ "libc",
+ "memchr",
+ "mio",
+ "num_cpus",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2",
+ "tokio-macros",
+ "winapi",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tokio-rustls"
+version = "0.23.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
+dependencies = [
+ "rustls",
+ "tokio",
+ "webpki",
+]
+
+[[package]]
+name = "tokio-socks"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0"
+dependencies = [
+ "either",
+ "futures-util",
+ "thiserror",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-stream"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "toml"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "tower"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "pin-project",
+ "pin-project-lite",
+ "tokio",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower-http"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c530c8675c1dbf98facee631536fa116b5fb6382d7dd6dc1b118d970eafe3ba"
+dependencies = [
+ "async-compression",
+ "bitflags",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "http",
+ "http-body",
+ "http-range-header",
+ "pin-project-lite",
+ "tokio",
+ "tokio-util",
+ "tower",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower-layer"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
+
+[[package]]
+name = "tower-service"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+[[package]]
+name = "tracing"
+version = "0.1.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+dependencies = [
+ "cfg-if",
+ "log",
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-flame"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bae117ee14789185e129aaee5d93750abe67fdc5a9a62650452bfe4e122a3a9"
+dependencies = [
+ "lazy_static",
+ "tracing",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
+dependencies = [
+ "lazy_static",
+ "log",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-opentelemetry"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21ebb87a95ea13271332df069020513ab70bdb5637ca42d6e492dc3bbbad48de"
+dependencies = [
+ "once_cell",
+ "opentelemetry",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70"
+dependencies = [
+ "matchers",
+ "nu-ansi-term",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[package]]
+name = "trust-dns-proto"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f7f83d1e4a0e4358ac54c5c3681e5d7da5efc5a7a632c90bb6d6669ddd9bc26"
+dependencies = [
+ "async-trait",
+ "cfg-if",
+ "data-encoding",
+ "enum-as-inner",
+ "futures-channel",
+ "futures-io",
+ "futures-util",
+ "idna 0.2.3",
+ "ipnet",
+ "lazy_static",
+ "rand 0.8.5",
+ "smallvec",
+ "thiserror",
+ "tinyvec",
+ "tokio",
+ "tracing",
+ "url",
+]
+
+[[package]]
+name = "trust-dns-resolver"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe"
+dependencies = [
+ "cfg-if",
+ "futures-util",
+ "ipconfig",
+ "lazy_static",
+ "lru-cache",
+ "parking_lot",
+ "resolv-conf",
+ "smallvec",
+ "thiserror",
+ "tokio",
+ "tracing",
+ "trust-dns-proto",
+]
+
+[[package]]
+name = "try-lock"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
+
+[[package]]
+name = "typenum"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+
+[[package]]
+name = "uncased"
+version = "0.9.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09b01702b0fd0b3fadcf98e098780badda8742d4f4a7676615cad90e8ac73622"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "unsafe-libyaml"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1e5fa573d8ac5f1a856f8d7be41d390ee973daf97c806b2c1a465e4e1406e68"
+
+[[package]]
+name = "unsigned-varint"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d86a8dc7f45e4c1b0d30e43038c38f274e77af056aa5f74b93c2cf9eb3c1c836"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "url"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+dependencies = [
+ "form_urlencoded",
+ "idna 0.3.0",
+ "percent-encoding",
+]
+
+[[package]]
+name = "uuid"
+version = "1.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c"
+dependencies = [
+ "getrandom 0.2.8",
+]
+
+[[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.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "want"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
+dependencies = [
+ "log",
+ "try-lock",
+]
+
+[[package]]
+name = "wasi"
+version = "0.9.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+
+[[package]]
+name = "web-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "weezl"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+
+[[package]]
+name = "widestring"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983"
+
+[[package]]
+name = "wildmatch"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee583bdc5ff1cf9db20e9db5bb3ff4c3089a8f6b8b31aff265c9aba85812db86"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
+dependencies = [
+ "windows_aarch64_msvc 0.36.1",
+ "windows_i686_gnu 0.36.1",
+ "windows_i686_msvc 0.36.1",
+ "windows_x86_64_gnu 0.36.1",
+ "windows_x86_64_msvc 0.36.1",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc 0.42.0",
+ "windows_i686_gnu 0.42.0",
+ "windows_i686_msvc 0.42.0",
+ "windows_x86_64_gnu 0.42.0",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc 0.42.0",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.36.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
+
+[[package]]
+name = "winreg"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winreg"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "yansi"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
+
+[[package]]
+name = "zeroize"
+version = "1.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f"
+dependencies = [
+ "zeroize_derive",
+]
+
+[[package]]
+name = "zeroize_derive"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "synstructure",
+]
+
+[[package]]
+name = "zigzag"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70b40401a28d86ce16a330b863b86fd7dbee4d7c940587ab09ab8c019f9e3fdf"
+dependencies = [
+ "num-traits",
+]
diff --git a/pkgs/servers/matrix-conduit/cargo-11192-workaround.patch b/pkgs/servers/matrix-conduit/cargo-11192-workaround.patch
deleted file mode 100644
index 1a71b210dec8..000000000000
--- a/pkgs/servers/matrix-conduit/cargo-11192-workaround.patch
+++ /dev/null
@@ -1,259 +0,0 @@
-diff --git ruma-appservice-api/Cargo.toml ruma-appservice-api/Cargo.toml
-index b48852c8..8641bc42 100644
---- ruma-appservice-api/Cargo.toml
-+++ ruma-appservice-api/Cargo.toml
-@@ -23,11 +23,11 @@ unstable-msc2409 = []
- unstable-msc3202 = []
- 
- [dependencies]
--js_int = { workspace = true, features = ["serde"] }
-+js_int = { version = "0.2.2", features = ["serde"] }
- ruma-common = { version = "0.10.5", path = "../ruma-common", features = ["api", "events"] }
--serde = { workspace = true }
--serde_json = { workspace = true }
-+serde = { version = "1.0.147", features = ["derive"] }
-+serde_json = { version = "1.0.87" }
- 
- [dev-dependencies]
--assert_matches = { workspace = true }
-+assert_matches = { version = "1.5.0" }
- serde_yaml = "0.9.14"
-diff --git ruma-client-api/Cargo.toml ruma-client-api/Cargo.toml
-index ddd2e44b..5756c055 100644
---- ruma-client-api/Cargo.toml
-+++ ruma-client-api/Cargo.toml
-@@ -31,16 +31,16 @@ client = []
- server = []
- 
- [dependencies]
--assign = { workspace = true }
-+assign = { version = "1.1.1" }
- bytes = "1.0.1"
--http = { workspace = true }
--js_int = { workspace = true, features = ["serde"] }
-+http = { version = "0.2.8" }
-+js_int = { version = "0.2.2", features = ["serde"] }
- js_option = "0.1.1"
--maplit = { workspace = true }
-+maplit = { version = "1.0.2" }
- percent-encoding = "2.1.0"
- ruma-common = { version = "0.10.5", path = "../ruma-common", features = ["api", "events"] }
--serde = { workspace = true }
--serde_json = { workspace = true }
-+serde = { version = "1.0.147", features = ["derive"] }
-+serde_json = { version = "1.0.87" }
- 
- [dev-dependencies]
--assert_matches = { workspace = true }
-+assert_matches = { version = "1.5.0" }
-diff --git ruma-common/Cargo.toml ruma-common/Cargo.toml
-index 83f22461..4ba11cfb 100644
---- ruma-common/Cargo.toml
-+++ ruma-common/Cargo.toml
-@@ -48,15 +48,15 @@ unstable-sanitize = ["dep:html5ever", "dep:phf"]
- unstable-unspecified = []
- 
- [dependencies]
--base64 = { workspace = true }
-+base64 = { version = "0.20.0" }
- bytes = "1.0.1"
- form_urlencoded = "1.0.0"
- getrandom = { version = "0.2.6", optional = true }
- html5ever = { version = "0.25.2", optional = true }
--http = { workspace = true, optional = true }
-+http = { version = "0.2.8", optional = true }
- indexmap = { version = "1.9.1", features = ["serde"] }
- itoa = "1.0.1"
--js_int = { workspace = true, features = ["serde"] }
-+js_int = { version = "0.2.2", features = ["serde"] }
- js_option = "0.1.0"
- konst = { version = "0.2.19", features = ["rust_1_64", "alloc"] }
- percent-encoding = "2.1.0"
-@@ -66,25 +66,25 @@ rand = { version = "0.8.3", optional = true }
- regex = { version = "1.5.6", default-features = false, features = ["std", "perf"] }
- ruma-identifiers-validation = { version = "0.9.0", path = "../ruma-identifiers-validation", default-features = false }
- ruma-macros = { version = "0.10.5", path = "../ruma-macros" }
--serde = { workspace = true }
--serde_json = { workspace = true, features = ["raw_value"] }
--thiserror = { workspace = true }
--tracing = { workspace = true, features = ["attributes"] }
-+serde = { version = "1.0.147", features = ["derive"] }
-+serde_json = { version = "1.0.87", features = ["raw_value"] }
-+thiserror = { version = "1.0.37" }
-+tracing = { version = "0.1.37", default-features = false, features = ["std", "attributes"] }
- url = "2.2.2"
- uuid = { version = "1.0.0", optional = true, features = ["v4"] }
- wildmatch = "2.0.0"
- 
- # dev-dependencies can't be optional, so this is a regular dependency
--criterion = { workspace = true, optional = true }
-+criterion = { version = "0.4.0", optional = true }
- 
- [target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies]
- js-sys = { version = "0.3", optional = true }
- 
- [dev-dependencies]
--assert_matches = { workspace = true }
--assign = { workspace = true }
--http = { workspace = true }
--maplit = { workspace = true }
-+assert_matches = { version = "1.5.0" }
-+assign = { version = "1.1.1" }
-+http = { version = "0.2.8" }
-+maplit = { version = "1.0.2" }
- trybuild = "1.0.71"
- 
- [[bench]]
-diff --git ruma-federation-api/Cargo.toml ruma-federation-api/Cargo.toml
-index 380d1ed3..a4508a80 100644
---- ruma-federation-api/Cargo.toml
-+++ ruma-federation-api/Cargo.toml
-@@ -26,11 +26,11 @@ unstable-msc3723 = []
- unstable-unspecified = []
- 
- [dependencies]
--js_int = { workspace = true, features = ["serde"] }
-+js_int = { version = "0.2.2", features = ["serde"] }
- ruma-common = { version = "0.10.5", path = "../ruma-common", features = ["api", "events"] }
--serde = { workspace = true }
--serde_json = { workspace = true }
-+serde = { version = "1.0.147", features = ["derive"] }
-+serde_json = { version = "1.0.87" }
- 
- [dev-dependencies]
--assert_matches = { workspace = true }
--http = { workspace = true }
-+assert_matches = { version = "1.5.0" }
-+http = { version = "0.2.8" }
-diff --git ruma-identifiers-validation/Cargo.toml ruma-identifiers-validation/Cargo.toml
-index cd79ba78..28a9cd9e 100644
---- ruma-identifiers-validation/Cargo.toml
-+++ ruma-identifiers-validation/Cargo.toml
-@@ -15,5 +15,5 @@ all-features = true
- compat = []
- 
- [dependencies]
--js_int = { workspace = true }
--thiserror = { workspace = true }
-+js_int = { version = "0.2.2" }
-+thiserror = { version = "1.0.37" }
-diff --git ruma-identity-service-api/Cargo.toml ruma-identity-service-api/Cargo.toml
-index 9dd4bc14..6edf1170 100644
---- ruma-identity-service-api/Cargo.toml
-+++ ruma-identity-service-api/Cargo.toml
-@@ -19,9 +19,9 @@ client = []
- server = []
- 
- [dependencies]
--js_int = { workspace = true, features = ["serde"] }
-+js_int = { version = "0.2.2", features = ["serde"] }
- ruma-common = { version = "0.10.5", path = "../ruma-common", features = ["api"] }
--serde = { workspace = true }
-+serde = { version = "1.0.147", features = ["derive"] }
- 
- [dev-dependencies]
--serde_json = { workspace = true }
-+serde_json = { version = "1.0.87" }
-diff --git ruma-macros/Cargo.toml ruma-macros/Cargo.toml
-index 70a6a7a6..e86c0631 100644
---- ruma-macros/Cargo.toml
-+++ ruma-macros/Cargo.toml
-@@ -23,6 +23,6 @@ proc-macro-crate = "1.0.0"
- proc-macro2 = "1.0.24"
- quote = "1.0.8"
- ruma-identifiers-validation = { version = "0.9.0", path = "../ruma-identifiers-validation", default-features = false }
--serde = { workspace = true }
-+serde = { version = "1.0.147", features = ["derive"] }
- syn = { version = "1.0.57", features = ["extra-traits", "full", "visit"] }
- toml = "0.5.9"
-diff --git ruma-push-gateway-api/Cargo.toml ruma-push-gateway-api/Cargo.toml
-index 5d589828..e08144ce 100644
---- ruma-push-gateway-api/Cargo.toml
-+++ ruma-push-gateway-api/Cargo.toml
-@@ -20,7 +20,7 @@ client = []
- server = []
- 
- [dependencies]
--js_int = { workspace = true, features = ["serde"] }
-+js_int = { version = "0.2.2", features = ["serde"] }
- ruma-common = { version = "0.10.5", path = "../ruma-common", features = ["api", "events"] }
--serde = { workspace = true }
--serde_json = { workspace = true }
-+serde = { version = "1.0.147", features = ["derive"] }
-+serde_json = { version = "1.0.87" }
-diff --git ruma-signatures/Cargo.toml ruma-signatures/Cargo.toml
-index dd1c9951..d06bffd9 100644
---- ruma-signatures/Cargo.toml
-+++ ruma-signatures/Cargo.toml
-@@ -18,16 +18,16 @@ ring-compat = ["dep:subslice"]
- unstable-exhaustive-types = []
- 
- [dependencies]
--base64 = { workspace = true }
-+base64 = { version = "0.20.0" }
- ed25519-dalek = "1.0.1"
- pkcs8 = { version = "0.9.0", features = ["alloc"] }
- # because dalek uses an older version of rand_core
- rand = { version = "0.7", features = ["getrandom"] }
- ruma-common = { version = "0.10.5", path = "../ruma-common", features = ["canonical-json"] }
--serde_json = { workspace = true }
-+serde_json = { version = "1.0.87" }
- sha2 = "0.9.5"
- subslice = { version = "0.2.3", optional = true }
--thiserror = { workspace = true }
-+thiserror = { version = "1.0.37" }
- 
- [dev-dependencies]
--assert_matches = { workspace = true }
-+assert_matches = { version = "1.5.0" }
-diff --git ruma-state-res/Cargo.toml ruma-state-res/Cargo.toml
-index d23556f1..ec6088bc 100644
---- ruma-state-res/Cargo.toml
-+++ ruma-state-res/Cargo.toml
-@@ -19,18 +19,18 @@ unstable-exhaustive-types = []
- 
- [dependencies]
- itertools = "0.10.0"
--js_int = { workspace = true }
-+js_int = { version = "0.2.2" }
- ruma-common = { version = "0.10.5", path = "../ruma-common", features = ["events"] }
--serde = { workspace = true }
--serde_json = { workspace = true }
--thiserror = { workspace = true }
--tracing = { workspace = true }
-+serde = { version = "1.0.147", features = ["derive"] }
-+serde_json = { version = "1.0.87" }
-+thiserror = { version = "1.0.37" }
-+tracing = { version = "0.1.37", default-features = false, features = ["std"] }
- 
- # dev-dependencies can't be optional, so this is a regular dependency
--criterion = { workspace = true, optional = true }
-+criterion = { version = "0.4.0", optional = true }
- 
- [dev-dependencies]
--maplit = { workspace = true }
-+maplit = { version = "1.0.2" }
- rand = "0.8.3"
- ruma-common = { version = "0.10.5", path = "../ruma-common", features = ["unstable-pdu"] }
- tracing-subscriber = "0.3.16"
-diff --git ruma/Cargo.toml ruma/Cargo.toml
-index 0b62cff1..05ce9990 100644
---- ruma/Cargo.toml
-+++ ruma/Cargo.toml
-@@ -191,8 +191,8 @@ __ci = [
- ]
- 
- [dependencies]
--assign = { workspace = true }
--js_int = { workspace = true }
-+assign = { version = "1.1.1" }
-+js_int = { version = "0.2.2" }
- js_option = "0.1.1"
- 
- ruma-common = { version = "0.10.5", path = "../ruma-common" }
-@@ -208,4 +208,4 @@ ruma-identity-service-api = { version = "0.6.0", path = "../ruma-identity-servic
- ruma-push-gateway-api = { version = "0.6.0", path = "../ruma-push-gateway-api", optional = true }
- 
- [dev-dependencies]
--serde = { workspace = true }
-+serde = { version = "1.0.147", features = ["derive"] }
diff --git a/pkgs/servers/matrix-conduit/default.nix b/pkgs/servers/matrix-conduit/default.nix
index 5f8fe6a2cc20..5540711f62c9 100644
--- a/pkgs/servers/matrix-conduit/default.nix
+++ b/pkgs/servers/matrix-conduit/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, fetchFromGitLab, stdenv, darwin, nixosTests, rocksdb_6_23 }:
+{ lib, rustPlatform, fetchFromGitLab, pkg-config, sqlite, stdenv, darwin, nixosTests, rocksdb_6_23 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "matrix-conduit";
@@ -11,22 +11,29 @@ rustPlatform.buildRustPackage rec {
     sha256 = "sha256-GSCpmn6XRbmnfH31R9c6QW3/pez9KHPjI99dR+ln0P4=";
   };
 
-  # https://github.com/rust-lang/cargo/issues/11192
-  # https://github.com/ruma/ruma/issues/1441
-  postPatch = ''
-    pushd $cargoDepsCopy
-    patch -p0 < ${./cargo-11192-workaround.patch}
-    for p in ruma*; do echo '{"files":{},"package":null}' > $p/.cargo-checksum.json; done
-    popd
-  '';
+  # We have to use importCargoLock here because `cargo vendor` currently doesn't support workspace
+  # inheritance within Git dependencies, but importCargoLock does.
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "heed-0.10.6" = "sha256-rm02pJ6wGYN4SsAbp85jBVHDQ5ITjZZd+79EC2ubRsY=";
+      "reqwest-0.11.9" = "sha256-wH/q7REnkz30ENBIK5Rlxnc1F6vOyuEANMHFmiVPaGw=";
+      "ruma-0.7.4" = "sha256-ztobLdOXSGyK1YcPMMIycO3ZmnjxG5mLkHltf0Fbs8s=";
+    };
+  };
 
-  cargoSha256 = "sha256-WFoupcuaG7f7KYBn/uzbOzlHHLurOyvm5e1lEcinxC8=";
+  # Conduit enables rusqlite's bundled feature by default, but we'd rather use our copy of SQLite.
+  preBuild = ''
+    substituteInPlace Cargo.toml --replace "features = [\"bundled\"]" "features = []"
+    cargo update --offline -p rusqlite
+  '';
 
   nativeBuildInputs = [
     rustPlatform.bindgenHook
+    pkg-config
   ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [
+  buildInputs = [ sqlite ] ++ lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
   ];
 
diff --git a/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix b/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
index 9903dbb1184e..ae5ac99b6645 100644
--- a/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
+++ b/pkgs/servers/matrix-synapse/matrix-hookshot/default.nix
@@ -35,7 +35,7 @@ mkYarnPackage rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-WolkDSS5wPxtltKzq4Er2nAQ0GrsF3imim3/Ge4eguQ=";
+    hash = "sha256-bxDqv7KofinDuYDB1F0ZKWUQnz+ErU+OZc6i77nzM9Q=";
   };
 
   packageResolutions = {
diff --git a/pkgs/servers/matrix-synapse/matrix-hookshot/package.json b/pkgs/servers/matrix-synapse/matrix-hookshot/package.json
index 6676f3bb9c30..8b9701d09d76 100644
--- a/pkgs/servers/matrix-synapse/matrix-hookshot/package.json
+++ b/pkgs/servers/matrix-synapse/matrix-hookshot/package.json
@@ -1,6 +1,6 @@
 {
   "name": "matrix-hookshot",
-  "version": "2.7.0",
+  "version": "3.0.0",
   "description": "A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA.",
   "main": "lib/app.js",
   "repository": "https://github.com/matrix-org/matrix-hookshot",
@@ -67,7 +67,6 @@
     "source-map-support": "^0.5.21",
     "string-argv": "^0.3.1",
     "tiny-typed-emitter": "^2.1.0",
-    "uuid": "^8.3.2",
     "vm2": "^3.9.11",
     "winston": "^3.3.3",
     "xml2js": "^0.4.23",
@@ -105,7 +104,7 @@
     "sass": "^1.51.0",
     "ts-node": "^10.4.0",
     "typescript": "^4.5.2",
-    "vite": "^2.9.13",
-    "vite-svg-loader": "^3.4.0"
+    "vite": "^4.1.4",
+    "vite-svg-loader": "^4.0.0"
   }
 }
diff --git a/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json b/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
index d726307eeb00..b4c0f27ecfa0 100644
--- a/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
+++ b/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
@@ -1,5 +1,5 @@
 {
-  "version": "2.7.0",
-  "srcHash": "rW5fqKshnF2S4w55V2GaAa2RFVM+YbwRum9OwTTpYuA=",
-  "yarnHash": "0q71901ra9m9rbbczal1imqfba4b07bpr8hkpw1d1r9ghc2xjay4"
+  "version": "3.0.0",
+  "srcHash": "2fuDV2h97VdBADygMeyk2B5etFKkQdNZeOWlhMD4hJk=",
+  "yarnHash": "0ivizv90wrbz583xjvbakv6vg782h7pjm5zbm8wb9qkpnj735avz"
 }
diff --git a/pkgs/servers/matrix-synapse/tools/synadm.nix b/pkgs/servers/matrix-synapse/tools/synadm.nix
index 3fe9c33e8e24..73199c27383c 100644
--- a/pkgs/servers/matrix-synapse/tools/synadm.nix
+++ b/pkgs/servers/matrix-synapse/tools/synadm.nix
@@ -1,23 +1,18 @@
 { lib
-, python3Packages
+, python3
 }:
 
-with python3Packages; buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "synadm";
-  version = "0.38";
+  version = "0.40";
   format = "setuptools";
 
-  src = fetchPypi {
+  src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "sha256-l1KRUnjzj1/MEb1nxV6hMaxi15q7baG+iiK2yatZYRc=";
+    hash = "sha256-iDG2wsC0820unKlKNDKwgCNC+SAWJm8ltSB4knmLqeQ=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "Click>=7.0,<8.0" "Click"
-  '';
-
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3.pkgs; [
     click
     click-option-group
     dnspython
diff --git a/pkgs/servers/monitoring/cockpit/default.nix b/pkgs/servers/monitoring/cockpit/default.nix
index 76f2f777f60c..3fe0c17ded93 100644
--- a/pkgs/servers/monitoring/cockpit/default.nix
+++ b/pkgs/servers/monitoring/cockpit/default.nix
@@ -47,13 +47,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "cockpit";
-  version = "284";
+  version = "287";
 
   src = fetchFromGitHub {
     owner = "cockpit-project";
     repo = "cockpit";
-    rev = "80a7c7cfed9157915067666fe95b298896f2aea8";
-    sha256 = "sha256-iAIW6nVUk1FJD2dQvDMREPVqrq0JkExJ7lVio//ALts=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-tIZOI3jiMRaGHMXS1mA1Tom9ij3L/VuxDUJdnEc7SSc=";
     fetchSubmodules = true;
   };
 
@@ -88,23 +88,25 @@ stdenv.mkDerivation rec {
     udev
   ];
 
-  patches = [
+  postPatch = ''
     # Instead of requiring Internet access to do an npm install to generate the package-lock.json
     # it copies the package-lock.json already present in the node_modules folder fetched as a git
     # submodule.
-    ./nerf-node-modules.patch
+    echo "#!/bin/sh" > test/node_modules
 
-    # sysconfdir is $(prefix)/etc by default and it breaks the configuration file loading feature
-    # changing sysconfdir to /etc breaks the build in this part of the makefile because it tries
-    # to write to /etc inside the sandbox
-    # this patch redirects it to write to $out/etc instead of /etc
-    ./fix-makefiles.patch
-  ];
+    substituteInPlace src/tls/cockpit-certificate-helper.in \
+      --replace 'COCKPIT_CONFIG="@sysconfdir@/cockpit"' 'COCKPIT_CONFIG=/etc/cockpit'
+
+    substituteInPlace src/tls/cockpit-certificate-ensure.c \
+      --replace '#define COCKPIT_SELFSIGNED_PATH      PACKAGE_SYSCONF_DIR COCKPIT_SELFSIGNED_FILENAME' '#define COCKPIT_SELFSIGNED_PATH      "/etc" COCKPIT_SELFSIGNED_FILENAME'
+
+    substituteInPlace src/common/cockpitconf.c \
+      --replace 'const char *cockpit_config_dirs[] = { PACKAGE_SYSCONF_DIR' 'const char *cockpit_config_dirs[] = { "/etc"'
 
-  postPatch = ''
     # instruct users with problems to create a nixpkgs issue instead of nagging upstream directly
     substituteInPlace configure.ac \
       --replace 'devel@lists.cockpit-project.org' 'https://github.com/NixOS/nixpkgs/issues/new?assignees=&labels=0.kind%3A+bug&template=bug_report.md&title=cockpit%25'
+
     patchShebangs \
       test/common/pixel-tests \
       test/common/run-tests \
@@ -114,7 +116,7 @@ stdenv.mkDerivation rec {
       tools/make-compile-commands \
       tools/node-modules \
       tools/termschutz \
-      tools/webpack-make
+      tools/webpack-make.js
 
     for f in node_modules/.bin/*; do
       patchShebangs $(realpath $f)
@@ -145,7 +147,6 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--enable-prefix-only=yes"
-    "--sysconfdir=/etc"
     "--disable-pcp" # TODO: figure out how to package its dependency
     "--with-default-session-path=/run/wrappers/bin:/run/current-system/sw/bin"
   ];
@@ -158,7 +159,6 @@ stdenv.mkDerivation rec {
   '';
 
   postBuild = ''
-    find | grep cockpit-bridge
     chmod +x \
       src/systemd/update-motd \
       src/tls/cockpit-certificate-helper \
@@ -215,7 +215,10 @@ stdenv.mkDerivation rec {
     npm run stylelint
   '';
 
-  passthru.tests = { inherit (nixosTests) cockpit; };
+  passthru = {
+    tests = { inherit (nixosTests) cockpit; };
+    updateScript = ./update.sh;
+  };
 
   meta = with lib; {
     description = "Web-based graphical interface for servers";
diff --git a/pkgs/servers/monitoring/cockpit/fix-makefiles.patch b/pkgs/servers/monitoring/cockpit/fix-makefiles.patch
deleted file mode 100644
index a22eb9f00ea8..000000000000
--- a/pkgs/servers/monitoring/cockpit/fix-makefiles.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/src/systemd/Makefile.am b/src/systemd/Makefile.am
-index f28ea41df..684b82006 100644
---- a/src/systemd/Makefile.am
-+++ b/src/systemd/Makefile.am
-@@ -23,10 +23,10 @@ dist_motd_SCRIPTS = src/systemd/update-motd
- 
- # Automake: 'Variables using ... ‘sysconf’ ... are installed by install-exec.'
- install-exec-hook::
--	mkdir -p $(DESTDIR)$(sysconfdir)/motd.d
--	ln -sTfr $(DESTDIR)/run/cockpit/motd $(DESTDIR)$(sysconfdir)/motd.d/cockpit
--	mkdir -p $(DESTDIR)$(sysconfdir)/issue.d
--	ln -sTfr $(DESTDIR)/run/cockpit/motd $(DESTDIR)$(sysconfdir)/issue.d/cockpit.issue
-+	mkdir -p $(DESTDIR)$(prefix)$(sysconfdir)/motd.d
-+	ln -sTfr $(DESTDIR)$(prefix)/run/cockpit/motd $(DESTDIR)$(prefix)$(sysconfdir)/motd.d/cockpit
-+	mkdir -p $(DESTDIR)$(prefix)$(sysconfdir)/issue.d
-+	ln -sTfr $(DESTDIR)$(prefix)/run/cockpit/motd $(DESTDIR)$(prefix)$(sysconfdir)/issue.d/cockpit.issue
- 
- tempconfdir = $(prefix)/lib/tmpfiles.d
- nodist_tempconf_DATA = src/systemd/cockpit-tempfiles.conf
-diff --git a/src/ws/Makefile-ws.am b/src/ws/Makefile-ws.am
-index ed4e4363e..77a35b0e5 100644
---- a/src/ws/Makefile-ws.am
-+++ b/src/ws/Makefile-ws.am
-@@ -169,8 +169,8 @@ install-tests::
- 	$(INSTALL_DATA) mock-pam-conv-mod.so $(DESTDIR)$(pamdir)/
- 
- install-exec-hook::
--	mkdir -p $(DESTDIR)$(sysconfdir)/cockpit/ws-certs.d $(DESTDIR)$(sysconfdir)/cockpit/machines.d
--	chmod 755 $(DESTDIR)$(sysconfdir)/cockpit/ws-certs.d $(DESTDIR)$(sysconfdir)/cockpit/machines.d
-+	mkdir -p $(DESTDIR)$(prefix)$(sysconfdir)/cockpit/ws-certs.d $(DESTDIR)$(prefix)$(sysconfdir)/cockpit/machines.d
-+	chmod 755 $(DESTDIR)$(prefix)$(sysconfdir)/cockpit/ws-certs.d $(DESTDIR)$(prefix)$(sysconfdir)/cockpit/machines.d
- 
- dist_check_DATA += \
- 	src/ws/mock-combined.crt \
diff --git a/pkgs/servers/monitoring/cockpit/nerf-node-modules.patch b/pkgs/servers/monitoring/cockpit/nerf-node-modules.patch
deleted file mode 100644
index 36b0e3861a4a..000000000000
--- a/pkgs/servers/monitoring/cockpit/nerf-node-modules.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/tools/node-modules b/tools/node-modules
-index 518875d..72b51e0 100755
---- a/tools/node-modules
-+++ b/tools/node-modules
-@@ -7,6 +7,7 @@ V="${V-0}" # default to friendly messages
- 
- set -eu
- cd "${0%/*}/.."
-+exit 0
- . tools/git-utils.sh
- 
- cmd_remove() {
diff --git a/pkgs/servers/monitoring/cockpit/update.sh b/pkgs/servers/monitoring/cockpit/update.sh
new file mode 100755
index 000000000000..c1834db9d39c
--- /dev/null
+++ b/pkgs/servers/monitoring/cockpit/update.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq common-updater-scripts
+
+set -eu -o pipefail
+
+version="$(curl --silent "https://api.github.com/repos/cockpit-project/cockpit/releases" | jq '.[0].tag_name' --raw-output)"
+
+update-source-version cockpit "$version"
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 24813af5a29d..b3162a4c6791 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "9.4.3";
+  version = "9.4.7";
 
   excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" "devenv" ];
 
@@ -10,15 +10,15 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "sha256-LYUbypPXoWwWA4u2JxhUS/lozQNo2DCFGDPCmNP3GoE=";
+    sha256 = "sha256-vhGFZjxO20M3fQhXlEDDkad/yOyFOu48sHZ63MEnWIA=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "sha256-aq6/sMfYVebxh46+zxphfWttFN4vBpUgCLXobLWVozk=";
+    sha256 = "sha256-HiKr1ier13xUlrwsJrxo60wwqmiPcza2oOLIfMgFWc0=";
   };
 
-  vendorSha256 = "sha256-atnlEdGDiUqQkslvRlPSi6VC5rEvRVV6R2Wxur3geew=";
+  vendorSha256 = "sha256-sUvjZTg2/6UGjc2Qv8YO4IWlS4Y/FzGRVOQ9I/wp/aM=";
 
   nativeBuildInputs = [ wire ];
 
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index be3b102bfbe5..8277ea107f96 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "telegraf";
-  version = "1.25.1";
+  version = "1.26.0";
 
   excludedPackages = "test";
 
@@ -12,10 +12,10 @@ buildGoModule rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "v${version}";
-    sha256 = "sha256-r+kbF4TajBkZyp0B6Tb/Y1Nm7e2zQctDYEmyn0qTqW0=";
+    sha256 = "sha256-Huyjgo6UC9l6DVWBaKvN7ETxzsLDSaDC5Qx+gCR4LU4=";
   };
 
-  vendorHash = "sha256-AlmmWjwhC5xStcwo+NW0IwC+FteL4Ttwo717VgE8IHM=";
+  vendorHash = "sha256-Z1xmtQ/Cs+7gdipEip/nkxARtuCYG1lZ59bGNhPjTcA=";
   proxyVendor = true;
 
   ldflags = [
diff --git a/pkgs/servers/mqtt/nanomq/default.nix b/pkgs/servers/mqtt/nanomq/default.nix
index ee56a44c11ca..c02626b52801 100644
--- a/pkgs/servers/mqtt/nanomq/default.nix
+++ b/pkgs/servers/mqtt/nanomq/default.nix
@@ -1,27 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, ninja, pkg-config
+{ lib, stdenv, fetchFromGitHub, cmake, ninja, pkg-config
 , cyclonedds, libmysqlclient, mariadb, mbedtls, sqlite, zeromq
 }:
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "nanomq";
-  version = "0.15.5";
+  version = "0.16.3";
 
   src = fetchFromGitHub {
     owner = "emqx";
     repo = "nanomq";
     rev = finalAttrs.version;
-    hash = "sha256-eIwUsYPpRZMl1oCuuZeOj0SCBHDaJdmdWdoI4yuqxrg=";
+    hash = "sha256-9w4afVxuJbYrkagpAe1diftDnjrRjunyhJdJ0BZq3K0=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    # Fix the conflict on function naming in ddsproxy
-    (fetchpatch {
-      url = "https://github.com/emqx/nanomq/commit/20f436a3b9d45f9809d7c7f0714905c657354631.patch";
-      hash = "sha256-ISMlf9QW73oogMTlifi/r08uSxBpzRYvBSJBB1hn2xY=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace CMakeLists.txt \
       --replace "DESTINATION /etc" "DESTINATION $out/etc"
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 33a1825cde36..b98da0d064eb 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -15,7 +15,8 @@ let
       inherit sha256;
     };
 
-    patches = [ (./patches + "/v${major}/0001-Setup-remove-custom-dbuser-creation-behavior.patch") ];
+    # This patch is only necessary for NC version <26.
+    patches = lib.optional (lib.versionOlder major "26") (./patches + "/v${major}/0001-Setup-remove-custom-dbuser-creation-behavior.patch");
 
     passthru.tests = nixosTests.nextcloud;
 
@@ -38,18 +39,6 @@ let
     };
   };
 in {
-  nextcloud23 = throw ''
-    Nextcloud v23 has been removed from `nixpkgs` as the support for is dropped
-    by upstream in 2022-12. Please upgrade to at least Nextcloud v24 by declaring
-
-        services.nextcloud.package = pkgs.nextcloud24;
-
-    in your NixOS config.
-
-    WARNING: if you were on Nextcloud 22 on NixOS 22.05 you have to upgrade to Nextcloud 23
-    first on 22.05 because Nextcloud doesn't support upgrades across multiple major versions!
-  '';
-
   nextcloud24 = generic {
     version = "24.0.10";
     sha256 = "sha256-B6+0gO9wn39BpcR0IsIuMa81DH8TWuDOlTZR9O1qRbk=";
@@ -60,6 +49,11 @@ in {
     sha256 = "sha256-wyUeAIOpQwPi1piLNS87Mwgqeacmsw/3RnCbD+hpoaY=";
   };
 
+  nextcloud26 = generic {
+    version = "26.0.0";
+    sha256 = "sha256-8WMVA2Ou6TZuy1zVJZv2dW7U8HPOp4tfpRXK2noNDD0=";
+  };
+
   # tip: get the sha with:
   # curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256'
 }
diff --git a/pkgs/servers/nextcloud/packages/23.json b/pkgs/servers/nextcloud/packages/23.json
deleted file mode 100644
index 38da1996aaf8..000000000000
--- a/pkgs/servers/nextcloud/packages/23.json
+++ /dev/null
@@ -1,122 +0,0 @@
-{
-  "bookmarks": {
-    "sha256": "511aadcda0b1f051191c20cfd7048150536cfb1e748deb11b568bec4e535a173",
-    "url": "https://github.com/nextcloud/bookmarks/releases/download/v11.0.4/bookmarks-11.0.4.tar.gz",
-    "version": "11.0.4",
-    "description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- 🔍 Full-text search\n- 📲 Synchronize with all your browsers and devices\n- 👪 Share bookmarks with other users and publicly\n- ☠ Find broken links\n- ⚛ Generate RSS feeds of your collections\n- 📔 Read archived versions of your links in case they are depublished\n- 💬 Create new bookmarks directly from within Nextcloud Talk\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP v7.4+\n - PHP extensions:\n   - intl: *\n   - mbstring: *\n - when using MySQL, use at least v8.0",
-    "homepage": "https://github.com/nextcloud/bookmarks",
-    "licenses": [
-      "agpl"
-    ]
-  },
-  "calendar": {
-    "sha256": "d6edc166d63204e39135c0e9f00c0f7a6875db89d34a936e16b513c749ac8b8d",
-    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v3.5.2/calendar-v3.5.2.tar.gz",
-    "version": "3.5.2",
-    "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 Search! Find your events at ease\n* ☑️ Tasks! See tasks with a due date directly in the calendar\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
-    "homepage": "https://github.com/nextcloud/calendar/",
-    "licenses": [
-      "agpl"
-    ]
-  },
-  "contacts": {
-    "sha256": "1938b266c5070573e0435ec31c08a19add96fd99c08c3c1f8309ee8e447093a0",
-    "url": "https://github.com/nextcloud-releases/contacts/releases/download/v4.2.2/contacts-v4.2.2.tar.gz",
-    "version": "4.2.2",
-    "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar – more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.",
-    "homepage": "https://github.com/nextcloud/contacts#readme",
-    "licenses": [
-      "agpl"
-    ]
-  },
-  "deck": {
-    "sha256": "fd9ea1ce98c531c7442a784f693cb047d90fbaee313a820ee648f690697f5e13",
-    "url": "https://github.com/nextcloud-releases/deck/releases/download/v1.6.4/deck-v1.6.4.tar.gz",
-    "version": "1.6.4",
-    "description": "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized",
-    "homepage": "https://github.com/nextcloud/deck",
-    "licenses": [
-      "agpl"
-    ]
-  },
-  "keeweb": {
-    "sha256": "a3281fcfdb4058971a3b5c838870a8d5b533445c999b8e921fb8758b216dadbc",
-    "url": "https://github.com/jhass/nextcloud-keeweb/releases/download/v0.6.10/keeweb-0.6.10.tar.gz",
-    "version": "0.6.10",
-    "description": "Open Keepass stores inside Nextcloud with Keeweb just by clicking on an *.kdbx file in your Nextcloud.",
-    "homepage": "https://github.com/jhass/nextcloud-keeweb",
-    "licenses": [
-      "agpl"
-    ]
-  },
-  "mail": {
-    "sha256": "0e2c5465436b894ac916222391d94d364592c18b4258fd3aa4b760afa8fa6ad7",
-    "url": "https://github.com/nextcloud-releases/mail/releases/download/v1.14.3.alpha.1/mail-v1.14.3.alpha.1.tar.gz",
-    "version": "1.14.3-alpha.1",
-    "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!",
-    "homepage": "https://github.com/nextcloud/mail#readme",
-    "licenses": [
-      "agpl"
-    ]
-  },
-  "news": {
-    "sha256": "9551781fdbfb6d2c3cd77ee57eae0fb1583c7b54e9720bc955053f51541f4a86",
-    "url": "https://github.com/nextcloud/news/releases/download/19.0.0/news.tar.gz",
-    "version": "19.0.0",
-    "description": "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)",
-    "homepage": "https://github.com/nextcloud/news",
-    "licenses": [
-      "agpl"
-    ]
-  },
-  "notes": {
-    "sha256": "adddee56456d0115f87a74405a6d62bd5e3af256e86199d87bbff3b2a6876299",
-    "url": "https://github.com/nextcloud/notes/releases/download/v4.5.1/notes.tar.gz",
-    "version": "4.5.1",
-    "description": "The Notes app is a distraction free notes taking app for [Nextcloud](https://www.nextcloud.com/). It provides categories for better organization and supports formatting using [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax. Notes are saved as files in your Nextcloud, so you can view and edit them with every Nextcloud client. Furthermore, a separate [REST API](https://github.com/nextcloud/notes/blob/master/docs/api/README.md) allows for an easy integration into third-party apps (currently, there are notes apps for [Android](https://github.com/stefan-niedermann/nextcloud-notes), [iOS](https://github.com/owncloud/notes-iOS-App) and the [console](https://git.danielmoch.com/nncli/about) which allow convenient access to your Nextcloud notes). Further features include marking notes as favorites.",
-    "homepage": "https://github.com/nextcloud/notes",
-    "licenses": [
-      "agpl"
-    ]
-  },
-  "onlyoffice": {
-    "sha256": "e7170f7cffb50547d51a17f0ad38dfab83040a25ebd80146a840d233093a27f0",
-    "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v7.4.8/onlyoffice.tar.gz",
-    "version": "7.4.8",
-    "description": "ONLYOFFICE connector allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.",
-    "homepage": "https://www.onlyoffice.com",
-    "licenses": [
-      "apache"
-    ]
-  },
-  "polls": {
-    "sha256": "b6ef0e8b34cdb5169341e30340bc9cefaa1254a1a6020e951f86e828f8591a11",
-    "url": "https://github.com/nextcloud/polls/releases/download/v3.8.3/polls.tar.gz",
-    "version": "3.8.3",
-    "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).",
-    "homepage": "https://github.com/nextcloud/polls",
-    "licenses": [
-      "agpl"
-    ]
-  },
-  "tasks": {
-    "sha256": "fdfa3168ac80eaef3e2de5009eee02a369acc8d35dfd8283d1f25423bdf3c532",
-    "url": "https://github.com/nextcloud/tasks/releases/download/v0.14.5/tasks.tar.gz",
-    "version": "0.14.5",
-    "description": "Once enabled, a new Tasks menu will appear in your Nextcloud apps menu. From there you can add and delete tasks, edit their title, description, start and due dates and mark them as important. Tasks can be shared between users. Tasks can be synchronized using CalDav (each task list is linked to an Nextcloud calendar, to sync it to your local client: Thunderbird, Evolution, KDE Kontact, iCal … - just add the calendar as a remote calendar in your client). You can download your tasks as ICS files using the download button for each calendar.",
-    "homepage": "https://github.com/nextcloud/tasks/",
-    "licenses": [
-      "agpl"
-    ]
-  },
-  "twofactor_webauthn": {
-    "sha256": "291c20032cfc1f2fb081cc8721e272bc503d103987c6abb7ce442e497d278d0a",
-    "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v0.3.3/twofactor_webauthn-v0.3.3.tar.gz",
-    "version": "0.3.3",
-    "description": "A two-factor provider for WebAuthn devices",
-    "homepage": "https://github.com/nextcloud/twofactor_webauthn#readme",
-    "licenses": [
-      "agpl"
-    ]
-  }
-}
diff --git a/pkgs/servers/nextcloud/packages/24.json b/pkgs/servers/nextcloud/packages/24.json
index ebafd2b4df8a..018bdb00b14a 100644
--- a/pkgs/servers/nextcloud/packages/24.json
+++ b/pkgs/servers/nextcloud/packages/24.json
@@ -63,7 +63,7 @@
     "sha256": "1payxppd2j0n67kcswb3dkk2a467fahwakxs7wqsfqgqgr9mcbl4",
     "url": "https://github.com/nextcloud/forms/releases/download/v2.5.2/forms.tar.gz",
     "version": "2.5.2",
-    "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
+    "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
     "homepage": "https://github.com/nextcloud/forms",
     "licenses": [
       "agpl"
@@ -80,10 +80,10 @@
     ]
   },
   "impersonate": {
-    "sha256": "1k1qm3jilys548g813y179x6rs8aglkvss8b0cmfvjlpmlaxpssx",
-    "url": "https://github.com/nextcloud-releases/impersonate/releases/download/v1.11.0/impersonate-v1.11.0.tar.gz",
-    "version": "1.11.0",
-    "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud\n2. Open the user administration interface\n3. Select the impersonate button on the affected user\n4. Confirm the impersonation\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.",
+    "sha256": "1kjibw5rigij51j6vjmx7ykrk61lg98syp7kkr0fzgwzvxrdniah",
+    "url": "https://github.com/nextcloud-releases/impersonate/releases/download/v1.11.1/impersonate-v1.11.1.tar.gz",
+    "version": "1.11.1",
+    "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.",
     "homepage": "https://github.com/nextcloud/impersonate",
     "licenses": [
       "agpl"
@@ -110,9 +110,9 @@
     ]
   },
   "news": {
-    "sha256": "17kz5499jkv43w8wcd1p982hpkw2akgzpv9cjj8qqjhvzv4qr171",
-    "url": "https://github.com/nextcloud/news/releases/download/21.0.0-beta1/news.tar.gz",
-    "version": "21.0.0-beta1",
+    "sha256": "026ggjf6dqbjv8hnj6jj1nnqz0256ck2yg13zhln7zc84lhfzlfd",
+    "url": "https://github.com/nextcloud/news/releases/download/21.1.0/news.tar.gz",
+    "version": "21.1.0",
     "description": "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)",
     "homepage": "https://github.com/nextcloud/news",
     "licenses": [
@@ -123,7 +123,7 @@
     "sha256": "adddee56456d0115f87a74405a6d62bd5e3af256e86199d87bbff3b2a6876299",
     "url": "https://github.com/nextcloud/notes/releases/download/v4.5.1/notes.tar.gz",
     "version": "4.5.1",
-    "description": "The Notes app is a distraction free notes taking app for [Nextcloud](https://www.nextcloud.com/). It provides categories for better organization and supports formatting using [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax. Notes are saved as files in your Nextcloud, so you can view and edit them with every Nextcloud client. Furthermore, a separate [REST API](https://github.com/nextcloud/notes/blob/master/docs/api/README.md) allows for an easy integration into third-party apps (currently, there are notes apps for [Android](https://github.com/stefan-niedermann/nextcloud-notes), [iOS](https://github.com/owncloud/notes-iOS-App) and the [console](https://git.danielmoch.com/nncli/about) which allow convenient access to your Nextcloud notes). Further features include marking notes as favorites.",
+    "description": "The Notes app is a distraction free notes taking app for [Nextcloud](https://www.nextcloud.com/). It provides categories for better organization and supports formatting using [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax. Notes are saved as files in your Nextcloud, so you can view and edit them with every Nextcloud client. Furthermore, a separate [REST API](https://github.com/nextcloud/notes/blob/master/docs/api/README.md) allows for an easy integration into third-party apps (currently, there are notes apps for [Android](https://github.com/nextcloud/notes-android), [iOS](https://github.com/nextcloud/notes-ios) and the [console](https://git.danielmoch.com/nncli/about) which allow convenient access to your Nextcloud notes). Further features include marking notes as favorites.",
     "homepage": "https://github.com/nextcloud/notes",
     "licenses": [
       "agpl"
@@ -140,9 +140,9 @@
     ]
   },
   "onlyoffice": {
-    "sha256": "6117b7b8c5c7133975e4ebf482814cdcd3f94a1b3c76ea1b5eed47bdd1fbfcbb",
-    "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v7.5.8/onlyoffice.tar.gz",
-    "version": "7.5.8",
+    "sha256": "0hscbm7jcnxyg7ib0g16b0sw8nz7rl6qzx90qmki5knhzrf6hf1j",
+    "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v7.7.0/onlyoffice.tar.gz",
+    "version": "7.7.0",
     "description": "ONLYOFFICE connector allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.",
     "homepage": "https://www.onlyoffice.com",
     "licenses": [
diff --git a/pkgs/servers/nextcloud/packages/25.json b/pkgs/servers/nextcloud/packages/25.json
index b0c271b54f19..653807333b72 100644
--- a/pkgs/servers/nextcloud/packages/25.json
+++ b/pkgs/servers/nextcloud/packages/25.json
@@ -1,8 +1,8 @@
 {
   "bookmarks": {
-    "sha256": "0dkfjafbynkrymsq183sad7zynqr2qls0cld73nvzn3smnvdl2xx",
-    "url": "https://github.com/nextcloud/bookmarks/releases/download/v12.0.0/bookmarks-12.0.0.tar.gz",
-    "version": "12.0.0",
+    "sha256": "1kdpma5f3rb9g29j364lqv6bkar5qgwlvcxmhpmzllwlkmjpc9w8",
+    "url": "https://github.com/nextcloud/bookmarks/releases/download/v12.1.0/bookmarks-12.1.0.tar.gz",
+    "version": "12.1.0",
     "description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- 🔍 Full-text search\n- 📲 Synchronize with all your browsers and devices\n- 👪 Share bookmarks with other users and publicly\n- ☠ Find broken links\n- ⚛ Generate RSS feeds of your collections\n- 📔 Read archived versions of your links in case they are depublished\n- 💬 Create new bookmarks directly from within Nextcloud Talk\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP v7.4+\n - PHP extensions:\n   - intl: *\n   - mbstring: *\n - when using MySQL, use at least v8.0",
     "homepage": "https://github.com/nextcloud/bookmarks",
     "licenses": [
@@ -10,9 +10,9 @@
     ]
   },
   "calendar": {
-    "sha256": "0m0ixj4gaaqgnlk492ihkcxrxbww91jyalh40hdgnsryb9wrpkfp",
-    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.3.0-alpha1/calendar-v4.3.0-alpha1.tar.gz",
-    "version": "4.3.0-alpha.1",
+    "sha256": "18jlj2g2b57ibcvqiw3pkkky4rr20xi5plyxl1xjn2bp9l3hng4y",
+    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.3.0/calendar-v4.3.0.tar.gz",
+    "version": "4.3.0",
     "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 Search! Find your events at ease\n* ☑️ Tasks! See tasks with a due date directly in the calendar\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
     "homepage": "https://github.com/nextcloud/calendar/",
     "licenses": [
@@ -20,9 +20,9 @@
     ]
   },
   "contacts": {
-    "sha256": "1m00r6cpqyrg2b0p8hg4wqkb3wn643fy63ax7qksp39rn18smrwk",
-    "url": "https://github.com/nextcloud-releases/contacts/releases/download/v5.1.0/contacts-v5.1.0.tar.gz",
-    "version": "5.1.0",
+    "sha256": "1rdql3m7pg9m044hppyrm3xw329y8h0pzwcmpcinjbjs0vqjssxk",
+    "url": "https://github.com/nextcloud-releases/contacts/releases/download/v5.2.0/contacts-v5.2.0.tar.gz",
+    "version": "5.2.0",
     "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar – more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.",
     "homepage": "https://github.com/nextcloud/contacts#readme",
     "licenses": [
@@ -50,10 +50,10 @@
     ]
   },
   "forms": {
-    "sha256": "0b2qvrnhsxdknlc8bpr4hmxqdk18f9vy8ry6nm49k4lbrsfg97nq",
-    "url": "https://github.com/nextcloud/forms/releases/download/v3.1.0/forms.tar.gz",
-    "version": "3.1.0",
-    "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
+    "sha256": "1hjdwhhx5p9n185b5v0vbxhnarcm83r52hsqq7qwfcfpy86axafr",
+    "url": "https://github.com/nextcloud/forms/releases/download/v3.2.0/forms.tar.gz",
+    "version": "3.2.0",
+    "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
     "homepage": "https://github.com/nextcloud/forms",
     "licenses": [
       "agpl"
@@ -69,6 +69,16 @@
       "agpl"
     ]
   },
+  "impersonate": {
+    "sha256": "1whngpqx4b2vdsr8a9j8agdg2c8rm5rbk2vhh92myws55lqlbnz9",
+    "url": "https://github.com/nextcloud-releases/impersonate/releases/download/v1.12.0/impersonate-v1.12.0.tar.gz",
+    "version": "1.12.0",
+    "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.",
+    "homepage": "https://github.com/nextcloud/impersonate",
+    "licenses": [
+      "agpl"
+    ]
+  },
   "keeweb": {
     "sha256": "1g6bjbzk7rf9x7cblwsc7cmd3fx5zrkib5ra5xzsmqc9aqpy22zh",
     "url": "https://github.com/jhass/nextcloud-keeweb/releases/download/v0.6.10/keeweb-0.6.10.tar.gz",
@@ -80,9 +90,9 @@
     ]
   },
   "mail": {
-    "sha256": "161ksx7g32fkpwxq3vij2vw6sxblv7xrxggsxnx2wj14ik3wxclv",
-    "url": "https://github.com/nextcloud-releases/mail/releases/download/v2.3.0-alpha.4/mail-v2.3.0-alpha.4.tar.gz",
-    "version": "2.3.0-alpha.4",
+    "sha256": "0sk19y9iwnbw6ci4hq9xxrn5qgnlgqlb5hpzc50i706s1z5n9cmc",
+    "url": "https://github.com/nextcloud-releases/mail/releases/download/v2.2.4/mail-v2.2.4.tar.gz",
+    "version": "2.2.4",
     "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!",
     "homepage": "https://github.com/nextcloud/mail#readme",
     "licenses": [
@@ -90,9 +100,9 @@
     ]
   },
   "news": {
-    "sha256": "17kz5499jkv43w8wcd1p982hpkw2akgzpv9cjj8qqjhvzv4qr171",
-    "url": "https://github.com/nextcloud/news/releases/download/21.0.0-beta1/news.tar.gz",
-    "version": "21.0.0-beta1",
+    "sha256": "1i7avq4iliz8afrwc9hw7hb13g3223004b2dim7j77l3zsvkfq3h",
+    "url": "https://github.com/nextcloud/news/releases/download/21.1.0-beta1/news.tar.gz",
+    "version": "21.1.0-beta1",
     "description": "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)",
     "homepage": "https://github.com/nextcloud/news",
     "licenses": [
@@ -120,9 +130,9 @@
     ]
   },
   "onlyoffice": {
-    "sha256": "0gy4n86q7b5qmy609ncibp94v1b3z9msc0129572qz2zyxfqxq3i",
-    "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v7.6.8/onlyoffice.tar.gz",
-    "version": "7.6.8",
+    "sha256": "10axh9a4w8y3iw95xdjn4q8wjg5459dki42xb6cax5ikimyfv07j",
+    "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v7.8.0/onlyoffice.tar.gz",
+    "version": "7.8.0",
     "description": "ONLYOFFICE connector allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.",
     "homepage": "https://www.onlyoffice.com",
     "licenses": [
@@ -130,9 +140,9 @@
     ]
   },
   "polls": {
-    "sha256": "0mqc9zmxrm98byy6v13si3hwii8hx85998c4kv91vk6ad0sfxjhb",
-    "url": "https://github.com/nextcloud/polls/releases/download/v4.1.2/polls.tar.gz",
-    "version": "4.1.2",
+    "sha256": "12298sspxp0ap61z2fjlgnd30fn0gl92xa5m6rnx2jb5i39lh9wr",
+    "url": "https://github.com/nextcloud/polls/releases/download/v5.0.0-beta4/polls.tar.gz",
+    "version": "5.0.0-beta4",
     "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).",
     "homepage": "https://github.com/nextcloud/polls",
     "licenses": [
@@ -153,7 +163,7 @@
     "sha256": "0pav5xcnj55vs04fm1fc2kpaz46k0rdlvv7xn6idwgh860anzp4g",
     "url": "https://github.com/nextcloud-releases/spreed/releases/download/v15.0.4/spreed-v15.0.4.tar.gz",
     "version": "15.0.4",
-    "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat integration!** Nextcloud Talk comes with a simple text chat. Allowing you to share files from your Nextcloud and mentioning other participants.\n* 👥 **Private, group, public and password protected calls!** Just invite somebody, a whole group or send a public link to invite to a call.\n* 💻 **Screen sharing!** Share your screen with participants of your call. You just need to use Firefox version 66 (or newer), latest Edge or Chrome 72 (or newer, also possible using Chrome 49 with this [Chrome extension](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol)).\n* 🚀 **Integration with other Nextcloud apps** like Files, Contacts and Deck. More to come.\n\nAnd in the works for the [coming versions](https://github.com/nextcloud/spreed/milestones/):\n* ✋ [Federated calls](https://github.com/nextcloud/spreed/issues/21), to call people on other Nextclouds",
+    "description": "Chat, video & audio-conferencing using WebRTC\r\n\r\n* 💬 **Chat integration!** Nextcloud Talk comes with a simple text chat. Allowing you to share files from your Nextcloud and mentioning other participants.\r\n* 👥 **Private, group, public and password protected calls!** Just invite somebody, a whole group or send a public link to invite to a call.\r\n* 💻 **Screen sharing!** Share your screen with participants of your call. You just need to use Firefox version 66 (or newer), latest Edge or Chrome 72 (or newer, also possible using Chrome 49 with this [Chrome extension](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol)).\r\n* 🚀 **Integration with other Nextcloud apps** like Files, Contacts and Deck. More to come.\r\n\r\nAnd in the works for the [coming versions](https://github.com/nextcloud/spreed/milestones/):\r\n* ✋ [Federated calls](https://github.com/nextcloud/spreed/issues/21), to call people on other Nextclouds",
     "homepage": "https://github.com/nextcloud/spreed",
     "licenses": [
       "agpl"
@@ -190,9 +200,9 @@
     ]
   },
   "twofactor_webauthn": {
-    "sha256": "00nll7jfrmqw537r0g07yq7g9lh1kckiiigxgwyd4nh5j6f56v15",
-    "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v1.1.1/twofactor_webauthn-v1.1.1.tar.gz",
-    "version": "1.1.1",
+    "sha256": "1f5zamydsl7lr91md2qmz0wzsfvs8q05qpn96x6i7c6886vx18xf",
+    "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v1.1.2/twofactor_webauthn-v1.1.2.tar.gz",
+    "version": "1.1.2",
     "description": "A two-factor provider for WebAuthn devices",
     "homepage": "https://github.com/nextcloud/twofactor_webauthn#readme",
     "licenses": [
diff --git a/pkgs/servers/nextcloud/packages/26.json b/pkgs/servers/nextcloud/packages/26.json
new file mode 100644
index 000000000000..8d4cae029533
--- /dev/null
+++ b/pkgs/servers/nextcloud/packages/26.json
@@ -0,0 +1,202 @@
+{
+  "bookmarks": {
+    "sha256": "0xx331bgly91y8ncxk36ha3ncrr2xlivblfi7rix6ffkrdx73yb9",
+    "url": "https://github.com/nextcloud/bookmarks/releases/download/v13.0.1/bookmarks-13.0.1.tar.gz",
+    "version": "13.0.1",
+    "description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- 🔍 Full-text search\n- 📲 Synchronize with all your browsers and devices\n- 👪 Share bookmarks with other users and publicly\n- ☠ Find broken links\n- ⚛ Generate RSS feeds of your collections\n- 📔 Read archived versions of your links in case they are depublished\n- 💬 Create new bookmarks directly from within Nextcloud Talk\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP v7.4+\n - PHP extensions:\n   - intl: *\n   - mbstring: *\n - when using MySQL, use at least v8.0",
+    "homepage": "https://github.com/nextcloud/bookmarks",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "calendar": {
+    "sha256": "18jlj2g2b57ibcvqiw3pkkky4rr20xi5plyxl1xjn2bp9l3hng4y",
+    "url": "https://github.com/nextcloud-releases/calendar/releases/download/v4.3.0/calendar-v4.3.0.tar.gz",
+    "version": "4.3.0",
+    "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 Search! Find your events at ease\n* ☑️ Tasks! See tasks with a due date directly in the calendar\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.",
+    "homepage": "https://github.com/nextcloud/calendar/",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "contacts": {
+    "sha256": "1rdql3m7pg9m044hppyrm3xw329y8h0pzwcmpcinjbjs0vqjssxk",
+    "url": "https://github.com/nextcloud-releases/contacts/releases/download/v5.2.0/contacts-v5.2.0.tar.gz",
+    "version": "5.2.0",
+    "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar – more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.",
+    "homepage": "https://github.com/nextcloud/contacts#readme",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "deck": {
+    "sha256": "1bx95f8rpvfwh0zf5iaks7w252dfbfh7xngljj58a4nwqv9g613q",
+    "url": "https://github.com/nextcloud-releases/deck/releases/download/v1.9.0/deck-v1.9.0.tar.gz",
+    "version": "1.9.0",
+    "description": "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized",
+    "homepage": "https://github.com/nextcloud/deck",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "files_texteditor": {
+    "sha256": "0rmk14iw34pd81snp3lm01k07wm5j2nh9spcd4j0m43l20b7kxss",
+    "url": "https://github.com/nextcloud-releases/files_texteditor/releases/download/v2.15.0/files_texteditor.tar.gz",
+    "version": "2.15.0",
+    "description": "This application enables Nextcloud users to open, save and edit text files in the web browser. If enabled, an entry called \"Text file\" in the \"New\" button menu at the top of the web browser appears. When clicked, a new text file opens in the browser and the file can be saved into the current Nextcloud directory. Further, when a text file is clicked in the web browser, it will be opened and editable. If the privileges allow, a user can also edit shared files and save these changes back into the web browser.\nMore information is available in the text editor documentation.",
+    "homepage": "https://github.com/nextcloud/files_texteditor",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "forms": {
+    "sha256": "1hjdwhhx5p9n185b5v0vbxhnarcm83r52hsqq7qwfcfpy86axafr",
+    "url": "https://github.com/nextcloud/forms/releases/download/v3.2.0/forms.tar.gz",
+    "version": "3.2.0",
+    "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
+    "homepage": "https://github.com/nextcloud/forms",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "groupfolders": {
+    "sha256": "0v54642rqlgmcncjrwf5bizj0a816l70k8ndfa68hkypbyp4yxm0",
+    "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v14.0.0/groupfolders-v14.0.0.tar.gz",
+    "version": "14.0.0",
+    "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.\n\nNote: Encrypting the contents of group folders is currently not supported.",
+    "homepage": "https://github.com/nextcloud/groupfolders",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "impersonate": {
+    "sha256": "0x5ap5s9qm4lffb022yxx1fmpgjk1w2y95cja4zfd5vc70d37r0s",
+    "url": "https://github.com/nextcloud-releases/impersonate/releases/download/v1.13.0/impersonate-v1.13.0.tar.gz",
+    "version": "1.13.0",
+    "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.",
+    "homepage": "https://github.com/nextcloud/impersonate",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "mail": {
+    "sha256": "0lx8s7bb0w7d5kvn0np2p4rjjpajbhxf55qqp8ixfjkdcn6gkkxj",
+    "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.0.0/mail-v3.0.0.tar.gz",
+    "version": "3.0.0",
+    "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!",
+    "homepage": "https://github.com/nextcloud/mail#readme",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "news": {
+    "sha256": "026ggjf6dqbjv8hnj6jj1nnqz0256ck2yg13zhln7zc84lhfzlfd",
+    "url": "https://github.com/nextcloud/news/releases/download/21.1.0/news.tar.gz",
+    "version": "21.1.0",
+    "description": "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)",
+    "homepage": "https://github.com/nextcloud/news",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "notes": {
+    "sha256": "19875sl3wpwnq2wrblfyyxhrp7hpqwazrnmz037yd1vf43crw03d",
+    "url": "https://github.com/nextcloud-releases/notes/releases/download/v4.7.0/notes.tar.gz",
+    "version": "4.7.0",
+    "description": "The Notes app is a distraction free notes taking app for [Nextcloud](https://www.nextcloud.com/). It provides categories for better organization and supports formatting using [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax. Notes are saved as files in your Nextcloud, so you can view and edit them with every Nextcloud client. Furthermore, a separate [REST API](https://github.com/nextcloud/notes/blob/master/docs/api/README.md) allows for an easy integration into third-party apps (currently, there are notes apps for [Android](https://github.com/nextcloud/notes-android), [iOS](https://github.com/nextcloud/notes-ios) and the [console](https://git.danielmoch.com/nncli/about) which allow convenient access to your Nextcloud notes). Further features include marking notes as favorites.",
+    "homepage": "https://github.com/nextcloud/notes",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "notify_push": {
+    "sha256": "1vfa68spnyfivcx0vp49mimf5xg7hsxnifd06imd1c0mw3nlfm4p",
+    "url": "https://github.com/nextcloud-releases/notify_push/releases/download/v0.6.0/notify_push-v0.6.0.tar.gz",
+    "version": "0.6.0",
+    "description": "Push update support for desktop app.\n\nOnce the app is installed, the push binary needs to be setup. You can either use the setup wizard with `occ notify_push:setup` or see the [README](http://github.com/nextcloud/notify_push) for detailed setup instructions",
+    "homepage": "",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "onlyoffice": {
+    "sha256": "10axh9a4w8y3iw95xdjn4q8wjg5459dki42xb6cax5ikimyfv07j",
+    "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v7.8.0/onlyoffice.tar.gz",
+    "version": "7.8.0",
+    "description": "ONLYOFFICE connector allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.",
+    "homepage": "https://www.onlyoffice.com",
+    "licenses": [
+      "apache"
+    ]
+  },
+  "polls": {
+    "sha256": "12298sspxp0ap61z2fjlgnd30fn0gl92xa5m6rnx2jb5i39lh9wr",
+    "url": "https://github.com/nextcloud/polls/releases/download/v5.0.0-beta4/polls.tar.gz",
+    "version": "5.0.0-beta4",
+    "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).",
+    "homepage": "https://github.com/nextcloud/polls",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "registration": {
+    "sha256": "07dqc670qmdb3c8jjnj7azxxspjhiv6m9nrj960y3rjabyzy25m9",
+    "url": "https://github.com/nextcloud-releases/registration/releases/download/v2.1.0/registration-v2.1.0.tar.gz",
+    "version": "2.1.0",
+    "description": "User registration\n\nThis app allows users to register a new account.\n\n# Features\n\n- Add users to a given group\n- Allow-list with email domains (including wildcard) to register with\n- Administrator will be notified via email for new user creation or require approval\n- Supports Nextcloud's Client Login Flow v1 and v2 - allowing registration in the mobile Apps and Desktop clients\n\n# Web form registration flow\n\n1. User enters their email address\n2. Verification link is sent to the email address\n3. User clicks on the verification link\n4. User is lead to a form where they can choose their username and password\n5. New account is created and is logged in automatically",
+    "homepage": "https://github.com/nextcloud/registration",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "spreed": {
+    "sha256": "0i5n47j8hvngfkiad88j5m37frp3bp4w5r7qaram5dvxmm2rkngc",
+    "url": "https://github.com/nextcloud-releases/spreed/releases/download/v16.0.0/spreed-v16.0.0.tar.gz",
+    "version": "16.0.0",
+    "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat integration!** Nextcloud Talk comes with a simple text chat. Allowing you to share files from your Nextcloud and mentioning other participants.\n* 👥 **Private, group, public and password protected calls!** Just invite somebody, a whole group or send a public link to invite to a call.\n* 💻 **Screen sharing!** Share your screen with participants of your call. You just need to use Firefox version 66 (or newer), latest Edge or Chrome 72 (or newer, also possible using Chrome 49 with this [Chrome extension](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol)).\n* 🚀 **Integration with other Nextcloud apps** like Files, Contacts and Deck. More to come.\n\nAnd in the works for the [coming versions](https://github.com/nextcloud/spreed/milestones/):\n* ✋ [Federated calls](https://github.com/nextcloud/spreed/issues/21), to call people on other Nextclouds",
+    "homepage": "https://github.com/nextcloud/spreed",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "tasks": {
+    "sha256": "0jm13d6nm7cfsw27yfiq1il9xjlh0qrq8xby2yz9dmggn7lk1dx5",
+    "url": "https://github.com/nextcloud/tasks/releases/download/v0.14.5/tasks.tar.gz",
+    "version": "0.14.5",
+    "description": "Once enabled, a new Tasks menu will appear in your Nextcloud apps menu. From there you can add and delete tasks, edit their title, description, start and due dates and mark them as important. Tasks can be shared between users. Tasks can be synchronized using CalDav (each task list is linked to an Nextcloud calendar, to sync it to your local client: Thunderbird, Evolution, KDE Kontact, iCal … - just add the calendar as a remote calendar in your client). You can download your tasks as ICS files using the download button for each calendar.",
+    "homepage": "https://github.com/nextcloud/tasks/",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "twofactor_nextcloud_notification": {
+    "sha256": "13afyhiy7yk0fcf32792dwabjcixnw5b4hkxykw0xby3hnh0m3l2",
+    "url": "https://github.com/nextcloud-releases/twofactor_nextcloud_notification/releases/download/v3.6.0/twofactor_nextcloud_notification-v3.6.0.tar.gz",
+    "version": "3.6.0",
+    "description": "Allows using any of your logged in devices as second factor",
+    "homepage": "https://github.com/nextcloud/twofactor_nextcloud_notification",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "twofactor_webauthn": {
+    "sha256": "1f5zamydsl7lr91md2qmz0wzsfvs8q05qpn96x6i7c6886vx18xf",
+    "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v1.1.2/twofactor_webauthn-v1.1.2.tar.gz",
+    "version": "1.1.2",
+    "description": "A two-factor provider for WebAuthn devices",
+    "homepage": "https://github.com/nextcloud/twofactor_webauthn#readme",
+    "licenses": [
+      "agpl"
+    ]
+  },
+  "unsplash": {
+    "sha256": "0zakbrgjc3i6rl0nqwxfsfwybbqpr50c8c10d6s7r9m4gck0y2bm",
+    "url": "https://github.com/nextcloud/unsplash/releases/download/v2.2.0/unsplash.tar.gz",
+    "version": "2.2.0",
+    "description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!",
+    "homepage": "https://github.com/nextcloud/unsplash/",
+    "licenses": [
+      "agpl"
+    ]
+  }
+}
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 2f43e2c402ba..af7466c103b3 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "redis";
-  version = "7.0.9";
+  version = "7.0.10";
 
   src = fetchurl {
     url = "https://download.redis.io/releases/${pname}-${version}.tar.gz";
-    hash = "sha256-93E1wqR8kVHUAov+o7NEcKtNMk0UhPeahMbzKjz7n2U=";
+    hash = "sha256-He5MZIc0HK571kMv91kJBlIiFaBh/e+Hx9BAoMtgATE=";
   };
 
   patches = [
diff --git a/pkgs/servers/onlyoffice-documentserver/default.nix b/pkgs/servers/onlyoffice-documentserver/default.nix
index c79548a0e9f9..2c30cb0e18e7 100644
--- a/pkgs/servers/onlyoffice-documentserver/default.nix
+++ b/pkgs/servers/onlyoffice-documentserver/default.nix
@@ -15,11 +15,11 @@ let
   # var/www/onlyoffice/documentserver/server/DocService/docservice
   onlyoffice-documentserver = stdenv.mkDerivation rec {
     pname = "onlyoffice-documentserver";
-    version = "7.3.2";
+    version = "7.3.3";
 
     src = fetchurl {
       url = "https://github.com/ONLYOFFICE/DocumentServer/releases/download/v${lib.concatStringsSep "." (lib.take 3 (lib.splitVersion version))}/onlyoffice-documentserver_amd64.deb";
-      sha256 = "sha256-BXKf5M10/ICxSDXJDmJB+T3HSsVXzSs5gu1AApUra3I=";
+      sha256 = "sha256-WeDXIDrjICGDVnpkdGLyA9plW50Kz3bHXU48DdHReHM=";
     };
 
     preferLocalBuild = true;
diff --git a/pkgs/servers/rustypaste/default.nix b/pkgs/servers/rustypaste/default.nix
index c4987cdd2886..2f9fc1a27e3a 100644
--- a/pkgs/servers/rustypaste/default.nix
+++ b/pkgs/servers/rustypaste/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, fetchFromGitHub }:
+{ lib, rustPlatform, fetchFromGitHub, stdenv, darwin }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rustypaste";
@@ -13,6 +13,10 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-/zji2sFaOweBo666LqfNRpO/0vi1eAGgOReeuvQIaEQ=";
 
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.CoreServices
+  ];
+
   # Some tests need network
   checkFlags = [
     "--skip paste::tests::test_paste_data"
diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix
index 987e3770e982..5576eb75ef35 100644
--- a/pkgs/servers/slimserver/default.nix
+++ b/pkgs/servers/slimserver/default.nix
@@ -111,7 +111,7 @@ perlPackages.buildPerlPackage rec {
     # the firmware is not under a free license!
     # https://github.com/Logitech/slimserver/blob/public/7.9/License.txt
     license = licenses.unfree;
-    maintainers = [ maintainers.phile314 ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix
index d47ea4c544a0..ac5ae80cdc26 100644
--- a/pkgs/servers/sonarr/default.nix
+++ b/pkgs/servers/sonarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sonarr";
-  version = "3.0.9.1549";
+  version = "3.0.10.1567";
 
   src = fetchurl {
     url = "https://download.sonarr.tv/v3/main/${version}/Sonarr.main.${version}.linux.tar.gz";
-    sha256 = "sha256-Ba1nrvnlmVkPI+OEpwShNxfNLrpxS+N7wsx3ajkcGoQ=";
+    hash = "sha256-6zdp/Bg+9pcrElW5neB+BC16Vn1VhTjhMRRIxGrKhxc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/sql/postgresql/ext/pg_repack.nix b/pkgs/servers/sql/postgresql/ext/pg_repack.nix
index d7991ebde4b6..dd1c745bc8cf 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_repack.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_repack.nix
@@ -27,9 +27,9 @@ stdenv.mkDerivation rec {
       exclusive lock on the processed tables during processing. pg_repack is efficient to boot,
       with performance comparable to using CLUSTER directly.
     '';
+    homepage = "https://github.com/reorg/pg_repack";
     license = licenses.bsd3;
     maintainers = with maintainers; [ danbst ];
     inherit (postgresql.meta) platforms;
-    inherit (src.meta) homepage;
   };
 }
diff --git a/pkgs/servers/sql/postgresql/ext/pgvector.nix b/pkgs/servers/sql/postgresql/ext/pgvector.nix
index 8eb0cb7f42f8..e2e49f528fc4 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.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "pgvector";
     repo = "pgvector";
     rev = "v${version}";
-    hash = "sha256-bOckX7zvHhgJDDhoAm+VZVIeVIf2hG/3oWZWuTtnZPo=";
+    hash = "sha256-1mFHjHGB9KVZfPvuaC3sZzyzJvX49PjADVVJn1fSjgs=";
   };
 
   buildInputs = [ postgresql ];
diff --git a/pkgs/servers/sql/proxysql/default.nix b/pkgs/servers/sql/proxysql/default.nix
index 3f995c0e62d2..3b495b533960 100644
--- a/pkgs/servers/sql/proxysql/default.nix
+++ b/pkgs/servers/sql/proxysql/default.nix
@@ -25,6 +25,7 @@
 , pcre
 , perl
 , python3
+, prometheus-cpp
 , re2
 , zlib
 , texinfo
@@ -32,13 +33,13 @@
 
 stdenv.mkDerivation rec {
   pname = "proxysql";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "sysown";
     repo = pname;
     rev = version;
-    hash = "sha256-psQzKycavS9xr24wGiRkr255IXW79AoG9fUEBkvPMZk=";
+    hash = "sha256-Z85/oSV2TUKEoum09G6OHNw6K/Evt1wMCcleTcc96EY=";
   };
 
   patches = [
@@ -115,12 +116,13 @@ stdenv.mkDerivation rec {
           { f = "libssl"; p = openssl; }
           { f = "lz4"; p = lz4; }
           { f = "pcre"; p = pcre; }
+          { f = "prometheus-cpp"; p = prometheus-cpp; }
           { f = "re2"; p = re2; }
         ]
       )}
 
     pushd libhttpserver
-    tar xf libhttpserver-0.18.1.tar.gz
+    tar xf libhttpserver-*.tar.gz
     sed -i s_/bin/pwd_${coreutils}/bin/pwd_g libhttpserver/configure.ac
     popd
 
@@ -129,9 +131,8 @@ stdenv.mkDerivation rec {
     ln -s ${nlohmann_json.src}/single_include/nlohmann/json.hpp .
     popd
 
-    pushd prometheus-cpp
-    tar xf v0.9.0.tar.gz
-    replace_dep prometheus-cpp/3rdparty "${civetweb.src}" civetweb
+    pushd prometheus-cpp/prometheus-cpp/3rdparty
+    replace_dep . "${civetweb.src}" civetweb
     popd
 
     sed -i s_/usr/bin/env_${coreutils}/bin/env_g libssl/openssl/config
@@ -148,6 +149,10 @@ stdenv.mkDerivation rec {
     autoreconf
     popd
 
+    pushd pcre/pcre
+    autoreconf
+    popd
+
     popd
     patchShebangs .
   '';
diff --git a/pkgs/servers/sql/proxysql/makefiles.patch b/pkgs/servers/sql/proxysql/makefiles.patch
index 05f8834c9538..63c0b32c8b10 100644
--- a/pkgs/servers/sql/proxysql/makefiles.patch
+++ b/pkgs/servers/sql/proxysql/makefiles.patch
@@ -36,10 +36,10 @@ index e7dae058..09c28859 100644
  	install -m 0755 etc/init.d/proxysql /etc/init.d
  ifeq ($(DISTRO),"CentOS Linux")
 diff --git a/deps/Makefile b/deps/Makefile
-index 23ef204c..3fbcc4a7 100644
+index 55a45ba9..8443d439 100644
 --- a/deps/Makefile
 +++ b/deps/Makefile
-@@ -65,10 +65,7 @@ endif
+@@ -66,10 +66,7 @@ endif
  
  
  libinjection/libinjection/src/libinjection.a:
@@ -50,8 +50,8 @@ index 23ef204c..3fbcc4a7 100644
  	cd libinjection/libinjection && patch -p1 < ../libinjection_sqli.c.patch
  endif
  ifeq ($(UNAME_S),Darwin)
-@@ -80,8 +77,6 @@ endif
- libinjection: libinjection/libinjection/src/libinjection.a
+@@ -83,8 +80,6 @@ libinjection: libinjection/libinjection/src/libinjection.a
+ 
  
  libssl/openssl/libssl.a:
 -	cd libssl && rm -rf openssl-openssl-*/ openssl-3*/ || true
@@ -59,42 +59,35 @@ index 23ef204c..3fbcc4a7 100644
  	cd libssl/openssl && patch crypto/ec/curve448/curve448.c < ../curve448.c-multiplication-overflow.patch
  	cd libssl/openssl && patch crypto/asn1/a_time.c < ../a_time.c-multiplication-overflow.patch
  	cd libssl/openssl && ./config no-ssl3 no-tests
-@@ -99,9 +94,6 @@ ifeq ($(MIN_VERSION),$(lastword $(SORTED_VERSIONS)))
- endif
+@@ -95,8 +90,6 @@ libssl: libssl/openssl/libssl.a
+ 
  
  libhttpserver/libhttpserver/build/src/.libs/libhttpserver.a: libmicrohttpd/libmicrohttpd/src/microhttpd/.libs/libmicrohttpd.a re2/re2/obj/libre2.a
 -	cd libhttpserver && rm -rf libhttpserver-*/ || true
--	cd libhttpserver && tar -zxf libhttpserver-0.18.1.tar.gz
--#ifeq ($(REQUIRE_PATCH), true)
- 	cd libhttpserver/libhttpserver && patch src/httpserver/basic_auth_fail_response.hpp < ../basic_auth_fail_response.hpp.patch
- 	cd libhttpserver/libhttpserver && patch src/httpserver/create_webserver.hpp < ../create_webserver.hpp.patch
- 	cd libhttpserver/libhttpserver && patch src/httpserver/deferred_response.hpp < ../deferred_response.hpp.patch
-@@ -112,7 +104,6 @@ libhttpserver/libhttpserver/build/src/.libs/libhttpserver.a: libmicrohttpd/libmi
- 	cd libhttpserver/libhttpserver && patch src/httpserver/http_response.hpp < ../http_response.hpp.patch
- 	cd libhttpserver/libhttpserver && patch src/httpserver/string_response.hpp < ../string_response.hpp.patch
- 	cd libhttpserver/libhttpserver && patch -p0 < ../re2_regex.patch
--#endif
- 	cd libhttpserver/libhttpserver && patch -p0 < ../final_val_post_process.patch
- 	cd libhttpserver/libhttpserver && patch -p0 < ../empty_uri_log_crash.patch
- ifeq ($(UNAME_S),FreeBSD)
-@@ -124,35 +115,17 @@ endif
- libhttpserver: libhttpserver/libhttpserver/build/src/.libs/libhttpserver.a
+-	cd libhttpserver && tar -zxf libhttpserver-*.tar.gz
+ 	cd libhttpserver/libhttpserver && patch -p1 < ../noexcept.patch
+ 	cd libhttpserver/libhttpserver && patch -p1 < ../re2_regex.patch
+ 	cd libhttpserver/libhttpserver && patch -p1 < ../final_val_post_process.patch
+@@ -112,8 +105,6 @@ libhttpserver: libhttpserver/libhttpserver/build/src/.libs/libhttpserver.a
+ 
  
  libev/libev/.libs/libev.a:
 -	cd libev && rm -rf libev-*/ || true
--	cd libev && tar -zxf libev-4.24.tar.gz
- 	cd libev/libev && patch ev.c < ../ev.c-multiplication-overflow.patch
- 	cd libev/libev  && ./configure
+-	cd libev && tar -zxf libev-*.tar.gz
+ #	cd libev/libev && patch ev.c < ../ev.c-multiplication-overflow.patch
+ 	cd libev/libev && ./configure
  	cd libev/libev && CC=${CC} CXX=${CXX} ${MAKE}
- ev: libev/libev/.libs/libev.a
+@@ -122,8 +113,6 @@ ev: libev/libev/.libs/libev.a
+ 
  
  curl/curl/lib/.libs/libcurl.a: libssl/openssl/libssl.a
 -	cd curl && rm -rf curl-*/ || true
 -	cd curl && tar -zxf curl-*.tar.gz
--	#cd curl/curl && ./configure --disable-debug --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-crypto-auth --disable-ntlm-wb --disable-tls-srp --without-nghttp2 --without-libidn2 --without-libssh2 --without-brotli --with-ssl=$(shell pwd)/../../libssl/openssl/ && CC=${CC} CXX=${CXX} ${MAKE}
- 	cd curl/curl && patch configure < ../configure.patch
- 	cd curl/curl && CFLAGS=-fPIC ./configure --disable-debug --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-ntlm-wb --disable-tls-srp --without-nghttp2 --without-libidn2 --without-libssh2 --without-brotli --without-librtmp --without-libpsl --without-zstd --with-ssl=$(shell pwd)/libssl/openssl/ --enable-shared=no && CC=${CC} CXX=${CXX} ${MAKE}
- curl: curl/curl/lib/.libs/libcurl.a
+ #	cd curl/curl && ./configure --disable-debug --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-crypto-auth --disable-ntlm-wb --disable-tls-srp --without-nghttp2 --without-libidn2 --without-libssh2 --without-brotli --with-ssl=$(shell pwd)/../../libssl/openssl/ && CC=${CC} CXX=${CXX} ${MAKE}
+ #	cd curl/curl && patch configure < ../configure.patch
+ 	cd curl/curl && autoreconf -fi
+@@ -133,16 +122,6 @@ curl: curl/curl/lib/.libs/libcurl.a
+ 
  
  libmicrohttpd/libmicrohttpd/src/microhttpd/.libs/libmicrohttpd.a:
 -	cd libmicrohttpd && rm -rf libmicrohttpd-*/ || true
@@ -103,26 +96,25 @@ index 23ef204c..3fbcc4a7 100644
 -	cd libmicrohttpd && ln -s libmicrohttpd-0.9.55 libmicrohttpd
 -	cd libmicrohttpd && tar -zxf libmicrohttpd-0.9.55.tar.gz
 -else
--	cd libmicrohttpd && ln -s libmicrohttpd-0.9.68 libmicrohttpd
--	cd libmicrohttpd && tar -zxf libmicrohttpd-0.9.68.tar.gz
--	cd libmicrohttpd/libmicrohttpd && patch src/microhttpd/connection.c < ../connection.c-snprintf-overflow.patch
--endif
--ifeq ($(UNAME_S),Darwin)
--	cd libmicrohttpd/libmicrohttpd && patch src/microhttpd/mhd_sockets.c < ../mhd_sockets.c-issue-5977.patch
+-	cd libmicrohttpd && ln -s libmicrohttpd-0.9.75 libmicrohttpd
+-	cd libmicrohttpd && tar -zxf libmicrohttpd-0.9.75.tar.gz
+-#	cd libmicrohttpd/libmicrohttpd && patch src/microhttpd/connection.c < ../connection.c-snprintf-overflow.patch
 -endif
- 	cd libmicrohttpd/libmicrohttpd && ./configure --enable-https && CC=${CC} CXX=${CXX} ${MAKE}
- microhttpd: libmicrohttpd/libmicrohttpd/src/microhttpd/.libs/libmicrohttpd.a
+ ifeq ($(UNAME_S),Darwin)
+ 	cd libmicrohttpd/libmicrohttpd && patch src/microhttpd/mhd_sockets.c < ../mhd_sockets.c-issue-5977.patch
+ endif
+@@ -159,10 +138,7 @@ cityhash/cityhash/src/.libs/libcityhash.a:
  
-@@ -163,8 +136,6 @@ cityhash/cityhash/src/.libs/libcityhash.a:
  cityhash: cityhash/cityhash/src/.libs/libcityhash.a
  
- lz4/lz4/liblz4.a:
+-
+ lz4/lz4/lib/liblz4.a:
 -	cd lz4 && rm -rf lz4-*/ || true
--	cd lz4 && tar -zxf lz4-1.7.5.tar.gz
+-	cd lz4 && tar -zxf lz4-*.tar.gz
  	cd lz4/lz4 && CC=${CC} CXX=${CXX} ${MAKE}
- lz4: lz4/lz4/liblz4.a
  
-@@ -189,8 +160,6 @@ clickhouse-cpp: clickhouse-cpp/clickhouse-cpp/clickhouse/libclickhouse-cpp-lib-s
+ lz4: lz4/lz4/lib/liblz4.a
+@@ -187,8 +163,6 @@ clickhouse-cpp: clickhouse-cpp/clickhouse-cpp/clickhouse/libclickhouse-cpp-lib-s
  
  
  libdaemon/libdaemon/libdaemon/.libs/libdaemon.a:
@@ -131,41 +123,44 @@ index 23ef204c..3fbcc4a7 100644
  	cd libdaemon/libdaemon && cp ../config.guess . && chmod +x config.guess && cp ../config.sub . && chmod +x config.sub && ./configure --disable-examples
  	cd libdaemon/libdaemon && CC=${CC} CXX=${CXX} ${MAKE}
  
-@@ -264,17 +233,12 @@ sqlite3/sqlite3/sqlite3.o:
- sqlite3: sqlite3/sqlite3/sqlite3.o
+@@ -265,8 +239,6 @@ sqlite3: sqlite3/sqlite3/sqlite3.o
+ 
  
  libconfig/libconfig/lib/.libs/libconfig++.a:
 -	cd libconfig && rm -rf libconfig-*/ || true
--	cd libconfig && tar -zxf libconfig-1.7.2.tar.gz
+-	cd libconfig && tar -zxf libconfig-*.tar.gz
  	cd libconfig/libconfig && ./configure --disable-examples
  	cd libconfig/libconfig && CC=${CC} CXX=${CXX} ${MAKE}
  
- libconfig: libconfig/libconfig/lib/.libs/libconfig++.a
+@@ -274,9 +246,6 @@ libconfig: libconfig/libconfig/lib/.libs/libconfig++.a
+ 
  
  prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a:
 -	cd prometheus-cpp && rm -rf prometheus-cpp-*/ || true
--	cd prometheus-cpp && tar -zxf v0.9.0.tar.gz
--	cd prometheus-cpp && tar --strip-components=1 -zxf civetweb-v1.11.tar.gz -C prometheus-cpp/3rdparty/civetweb
+-	cd prometheus-cpp && tar -zxf prometheus-cpp-*.tar.gz
+-	cd prometheus-cpp && tar --strip-components=1 -zxf civetweb-*.tar.gz -C prometheus-cpp/3rdparty/civetweb
  	cd prometheus-cpp/prometheus-cpp && patch -p1 < ../serial_exposer.patch
- 	cd prometheus-cpp/prometheus-cpp && patch -p0 < ../registry_counters_reset.patch
- 	cd prometheus-cpp/prometheus-cpp && patch -p0 < ../include_limits.patch
-@@ -284,10 +248,6 @@ prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a:
- prometheus-cpp: prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a
+ 	cd prometheus-cpp/prometheus-cpp && patch -p1 < ../registry_counters_reset.patch
+ 	cd prometheus-cpp/prometheus-cpp && patch -p1 < ../fix_old_distros.patch
+@@ -287,11 +256,6 @@ prometheus-cpp: prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a
+ 
  
  re2/re2/obj/libre2.a:
 -	cd re2 && rm -rf re2-*/ || true
--	cd re2 && tar -zxf re2.tar.gz
+-	cd re2 && tar -zxf re2-*.tar.gz
 -#	cd re2/re2 && sed -i -e 's/-O3 -g /-O3 -fPIC /' Makefile
 -#	cd re2/re2 && patch util/mutex.h < ../mutex.h.patch
- 	cd re2/re2 && patch re2/onepass.cc < ../onepass.cc-multiplication-overflow.patch
+-#	cd re2/re2 && patch re2/onepass.cc < ../onepass.cc-multiplication-overflow.patch
  ifeq ($(UNAME_S),Darwin)
- 	cd re2/re2 && sed -i '' -e 's/-O3 /-O3 -fPIC -DMEMORY_SANITIZER -DRE2_ON_VALGRIND /' Makefile
-@@ -301,8 +261,6 @@ endif
- re2: re2/re2/obj/libre2.a
+ 	cd re2/re2 && sed -i '' -e 's/-O3 -g/-O3 -g -std=c++11 -fPIC -DMEMORY_SANITIZER -DRE2_ON_VALGRIND /' Makefile
+ #	cd re2/re2 && sed -i '' -e 's/RE2_CXXFLAGS?=-std=c++11 /RE2_CXXFLAGS?=-std=c++11 -fPIC /' Makefile
+@@ -305,9 +269,6 @@ re2: re2/re2/obj/libre2.a
+ 
  
  pcre/pcre/.libs/libpcre.a:
 -	cd pcre && rm -rf pcre-*/ || true
--	cd pcre && tar -zxf pcre-8.44.tar.gz
- 	cd pcre/pcre && patch pcretest.c < ../pcretest.c-multiplication-overflow.patch
+-	cd pcre && tar -zxf pcre-*.tar.gz
+-#	cd pcre/pcre && patch pcretest.c < ../pcretest.c-multiplication-overflow.patch
  	cd pcre/pcre && ./configure
  	cd pcre/pcre && CC=${CC} CXX=${CXX} ${MAKE}
+ 
diff --git a/pkgs/servers/tailscale/default.nix b/pkgs/servers/tailscale/default.nix
index d9f649c4045d..60815d8fab9b 100644
--- a/pkgs/servers/tailscale/default.nix
+++ b/pkgs/servers/tailscale/default.nix
@@ -18,7 +18,12 @@ buildGoModule rec {
 
   subPackages = [ "cmd/tailscale" "cmd/tailscaled" ];
 
-  ldflags = [ "-X tailscale.com/version.Long=${version}" "-X tailscale.com/version.Short=${version}" ];
+  ldflags = [
+    "-w"
+    "-s"
+    "-X tailscale.com/version.longStamp=${version}"
+    "-X tailscale.com/version.shortStamp=${version}"
+  ];
 
   doCheck = false;
 
diff --git a/pkgs/servers/tautulli/default.nix b/pkgs/servers/tautulli/default.nix
index e68cbf073e01..9a567630298c 100644
--- a/pkgs/servers/tautulli/default.nix
+++ b/pkgs/servers/tautulli/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "Tautulli";
-  version = "2.11.1";
+  version = "2.12.2";
   format = "other";
 
   pythonPath = [ setuptools ];
@@ -12,7 +12,7 @@ buildPythonApplication rec {
     owner = "Tautulli";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9hWTnBi8t3ZJzrDvvViQ/jYDdbNCabVAion9E9sjqRQ=";
+    sha256 = "sha256-d2JGVmUQQMlwoEg3hsPB3jgUrUpui5Zsdf9Eq61TyZI=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index 4bc0a230d3cc..c16fe441ff00 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "traefik";
-  version = "2.9.8";
+  version = "2.9.9";
 
   # Archive with static assets for webui
   src = fetchzip {
     url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
-    sha256 = "sha256-3vrMh0zrJQhIG9VAlG/iHlOVlUFlE4qd0EkOB0ckAtY=";
+    sha256 = "sha256-p5leV7Eg+BysUw4AWfhPeccc6TPhRV48T9BiDORR7Co=";
     stripRoot = false;
   };
 
-  vendorSha256 = "sha256-NyI+3wYRZ3L98qwrkDfrbJK4S+Wdx/UJ8FlLAMhaL7A=";
+  vendorSha256 = "sha256-11OYVeEuo/Fl6qlRLITzi7qmM2M8puHk5Y0X0sgLius=";
 
   subPackages = [ "cmd/traefik" ];
 
diff --git a/pkgs/servers/web-apps/baget/default.nix b/pkgs/servers/web-apps/baget/default.nix
deleted file mode 100644
index 3488794ad6f4..000000000000
--- a/pkgs/servers/web-apps/baget/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ buildDotnetModule, lib, fetchFromGitHub, dotnetCorePackages }:
-
-buildDotnetModule rec {
-  pname = "BaGet";
-  version = "0.4.0-preview2";
-
-  src = fetchFromGitHub {
-    owner = "loic-sharma";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "S/3CjXB/fBDzxLuQBQB3CKgEkmzUA8ZzzvzXLN8hfBU=";
-  };
-
-  postPatch = ''
-    # this fixes NU1605 errors
-    substituteInPlace \
-      src/BaGet.Azure/BaGet.Azure.csproj \
-      --replace \
-      'Include="Microsoft.Azure.Cosmos.Table" Version="1.0.0"' \
-      'Include="Microsoft.Azure.Cosmos.Table" Version="2.0.0-preview"'
-  '';
-
-  projectFile = "src/BaGet/BaGet.csproj";
-  nugetDeps = ./deps.nix;
-
-  dotnet-sdk = dotnetCorePackages.sdk_3_1;
-  dotnet-runtime = dotnetCorePackages.aspnetcore_3_1;
-
-  passthru.updateScript = ./updater.sh;
-
-  meta = with lib; {
-    description = "A lightweight NuGet and symbol server";
-    license = licenses.mit;
-    homepage = "https://loic-sharma.github.io/BaGet/";
-    maintainers = [ maintainers.abbradar ];
-  };
-}
diff --git a/pkgs/servers/web-apps/baget/deps.nix b/pkgs/servers/web-apps/baget/deps.nix
deleted file mode 100644
index 08cb9e6faad3..000000000000
--- a/pkgs/servers/web-apps/baget/deps.nix
+++ /dev/null
@@ -1,400 +0,0 @@
-# This file was automatically generated by passthru.fetch-deps.
-# Please dont edit it manually, your changes might get overwritten!
-
-{ fetchNuGet }: [
-  (fetchNuGet { pname = "Aliyun.OSS.SDK.NetCore"; version = "2.9.1"; sha256 = "0j07j6cr0lqmmdwgz5alxlq5ifa5vzb58r1rqkgvf49nirz6jhfs"; })
-  (fetchNuGet { pname = "AWSSDK.Core"; version = "3.3.104.22"; sha256 = "1930axxsbiahv0rrav34zj355fwxx4nzbvd93sp5g94z6pdh0438"; })
-  (fetchNuGet { pname = "AWSSDK.S3"; version = "3.3.110.20"; sha256 = "0i8vcyxmszhsdm73fvg17yx6hfslml3y1sw0cd1lzv10avqfb7v9"; })
-  (fetchNuGet { pname = "AWSSDK.SecurityToken"; version = "3.3.104.27"; sha256 = "13ywh3d8fc8ndyg40yh386fw54s1w4sw9qqbjvmh40nb20s4wwrv"; })
-  (fetchNuGet { pname = "Google.Api.Gax"; version = "2.5.0"; sha256 = "0q6pi53px998i3gdndla8v0zqdpyi9gnsy9mdcfpkrg09vfbdsl9"; })
-  (fetchNuGet { pname = "Google.Api.Gax.Rest"; version = "2.5.0"; sha256 = "1zkjl5zh6qwdz4qmnxnk5877pas638i2qi25znilhqqf3mrkp0rp"; })
-  (fetchNuGet { pname = "Google.Apis"; version = "1.35.1"; sha256 = "1022l8m7v9f3rkjc9l11mkzwsbmqx9sk5f4aym035vn9hdr16d49"; })
-  (fetchNuGet { pname = "Google.Apis.Auth"; version = "1.35.1"; sha256 = "1qdnd1nq9bfgyljmiww91pfi0iz1n29rz2dlizhxcijqya2ldha3"; })
-  (fetchNuGet { pname = "Google.Apis.Core"; version = "1.35.1"; sha256 = "01dfw2kxknlc5pm7x1q88lv9j979509lkkgvlffjry5bawsxsja4"; })
-  (fetchNuGet { pname = "Google.Apis.Storage.v1"; version = "1.35.1.1266"; sha256 = "16wmqv0nqw8s0cmv2zmjd8raz2swygqn9jqg18ja1bfaz88r5c3l"; })
-  (fetchNuGet { pname = "Google.Cloud.Storage.V1"; version = "2.2.1"; sha256 = "0jpzca4xs82p3yyni8c1chq2pzzvmpf3j25ch0wj1w2ha36r9acj"; })
-  (fetchNuGet { pname = "Humanizer"; version = "2.11.10"; sha256 = "057pqzvdxsbpnnc5f1xkqg7j3ywp68ggia3w74fgqp0158dm6rdk"; })
-  (fetchNuGet { pname = "Humanizer.Core"; version = "2.11.10"; sha256 = "0z7kmd5rh1sb6izq0vssk6c2p63n00xglk45s7ga9z18z9aaskxv"; })
-  (fetchNuGet { pname = "Humanizer.Core.af"; version = "2.11.10"; sha256 = "18fiixfvjwn8m1i8z2cz4aqykzylvfdqmmpwc2zcd8sr1a2xm86z"; })
-  (fetchNuGet { pname = "Humanizer.Core.ar"; version = "2.11.10"; sha256 = "009fpm4jd325izm82ipipsvlwd31824gvskda68bdwi4yqmycz4p"; })
-  (fetchNuGet { pname = "Humanizer.Core.az"; version = "2.11.10"; sha256 = "144b9diwprabxwgi5a98k5iy95ajq4p7356phdqi2lhzwbz7b6a9"; })
-  (fetchNuGet { pname = "Humanizer.Core.bg"; version = "2.11.10"; sha256 = "1b9y40gvq2kwnj5wa40f8cbywv79jkajcwknagrgr27sykpfadl2"; })
-  (fetchNuGet { pname = "Humanizer.Core.bn-BD"; version = "2.11.10"; sha256 = "18pn4jcp36ygcx283l3fi9bs5d7q1a384b72a10g5kl0qckn88ay"; })
-  (fetchNuGet { pname = "Humanizer.Core.cs"; version = "2.11.10"; sha256 = "03crw1lnzp32v2kcdmllkrsqh07r4ggw9gyc96qw7cv0nk5ch1h8"; })
-  (fetchNuGet { pname = "Humanizer.Core.da"; version = "2.11.10"; sha256 = "0glby12zra3y3yiq4cwq1m6wjcjl8f21v8ghi6s20r48glm8vzy9"; })
-  (fetchNuGet { pname = "Humanizer.Core.de"; version = "2.11.10"; sha256 = "0a35xrm1f9p74x0fkr52bw9sd54vdy9d5rnvf565yh8ww43xfk7b"; })
-  (fetchNuGet { pname = "Humanizer.Core.el"; version = "2.11.10"; sha256 = "0bhwwdx5vc48zikdsbrkghdhwahxxc2lkff0yaa5nxhbhasl84h8"; })
-  (fetchNuGet { pname = "Humanizer.Core.es"; version = "2.11.10"; sha256 = "07bw07qy8nyzlgxl7l2lxv9f78qmkfppgzx7iyq5ikrcnpvc7i9q"; })
-  (fetchNuGet { pname = "Humanizer.Core.fa"; version = "2.11.10"; sha256 = "00d4hc1pfmhfkc5wmx9p7i00lgi4r0k6wfcns9kl1syjxv3bs5f2"; })
-  (fetchNuGet { pname = "Humanizer.Core.fi-FI"; version = "2.11.10"; sha256 = "0z4is7pl5jpi4pfdvd2zvx5mp00bj26d9l9ksqyc0liax8nfzyik"; })
-  (fetchNuGet { pname = "Humanizer.Core.fr"; version = "2.11.10"; sha256 = "0sybpg6kbbhrnk7gxcdk7ppan89lsfqsdssrg4i1dm8w48wgicap"; })
-  (fetchNuGet { pname = "Humanizer.Core.fr-BE"; version = "2.11.10"; sha256 = "1s25c86nl9wpsn6fydzwv4rfmdx5sm0vgyd7xhw5344k20gazvhv"; })
-  (fetchNuGet { pname = "Humanizer.Core.he"; version = "2.11.10"; sha256 = "1nx61qkjd6p9r36dmnm4942khyv35fpdqmb2w69gz6463g4d7z29"; })
-  (fetchNuGet { pname = "Humanizer.Core.hr"; version = "2.11.10"; sha256 = "02jhcyj72prkqsjxyilv04drm0bknqjh2r893jlbsfi9vjg2zay3"; })
-  (fetchNuGet { pname = "Humanizer.Core.hu"; version = "2.11.10"; sha256 = "0yb6ly4s1wdyaf96h2dvifqyb575aid6irwl3qx8gcvrs0xpcxdp"; })
-  (fetchNuGet { pname = "Humanizer.Core.hy"; version = "2.11.10"; sha256 = "0b7vaqldn7ca3xi4gkvkhjk900kw2zwb0m0d20bg45a83zdlx79c"; })
-  (fetchNuGet { pname = "Humanizer.Core.id"; version = "2.11.10"; sha256 = "1yqxirknwga4j18k7ixwgqxlv20479afanhariy3c5mkwvglsr9b"; })
-  (fetchNuGet { pname = "Humanizer.Core.it"; version = "2.11.10"; sha256 = "1skwgj5a6kkx3pm9w4f29psch69h1knmwbkdydlmx13h452p1w4l"; })
-  (fetchNuGet { pname = "Humanizer.Core.ja"; version = "2.11.10"; sha256 = "1wpc3yz9v611dqbw8j5yimk8dpz0rvpnls4rmlnp1m47gavpj8x4"; })
-  (fetchNuGet { pname = "Humanizer.Core.ko-KR"; version = "2.11.10"; sha256 = "1df0kd7vwdc3inxfkb3wsl1aw3d6vbab99dzh08p4m04g7i2c1a9"; })
-  (fetchNuGet { pname = "Humanizer.Core.ku"; version = "2.11.10"; sha256 = "17b66xfgwjr0sffx0hw4c6l90h43z7ffylrs26hgav0n110q2nwg"; })
-  (fetchNuGet { pname = "Humanizer.Core.lv"; version = "2.11.10"; sha256 = "0czxx4b9g0w7agykdl82wds09zasa9y58dmgjm925amlfz4wkyzs"; })
-  (fetchNuGet { pname = "Humanizer.Core.ms-MY"; version = "2.11.10"; sha256 = "0kix95nbw94fx0dziyz80y59i7ii7d21b63f7f94niarljjq36i3"; })
-  (fetchNuGet { pname = "Humanizer.Core.mt"; version = "2.11.10"; sha256 = "1rwy6m22pq65gxn86xlr9lv818fp5kb0wz98zxxfljc2iviw1f4p"; })
-  (fetchNuGet { pname = "Humanizer.Core.nb"; version = "2.11.10"; sha256 = "0ra2cl0avvv4sylha7z76jxnb4pdiqfbpr5m477snr04dsjxd9q9"; })
-  (fetchNuGet { pname = "Humanizer.Core.nb-NO"; version = "2.11.10"; sha256 = "1qszib03pvmjkrg8za7jjd2vzrs9p4fn2rmy82abnzldkhvifipq"; })
-  (fetchNuGet { pname = "Humanizer.Core.nl"; version = "2.11.10"; sha256 = "1i9bvy0i2yyasl9mgxiiwrkmfpm2c53d3wwdp9270r6120sxyy63"; })
-  (fetchNuGet { pname = "Humanizer.Core.pl"; version = "2.11.10"; sha256 = "0kggh4wgcic7wzgxy548n6w61schss2ccf9kz8alqshfi42xifby"; })
-  (fetchNuGet { pname = "Humanizer.Core.pt"; version = "2.11.10"; sha256 = "09j90s8x1lpvhfiy3syfnj8slkgcacf3xjy3pnkgxa6g4mi4f4bd"; })
-  (fetchNuGet { pname = "Humanizer.Core.ro"; version = "2.11.10"; sha256 = "1jgidmqfly91v1k22gn687mfql5bz7gjzp1aapi93vq5x635qssy"; })
-  (fetchNuGet { pname = "Humanizer.Core.ru"; version = "2.11.10"; sha256 = "13mmlh0ibxfyc85xrz3vx4mcg56mkzqql184iwdryq94p0g5ahil"; })
-  (fetchNuGet { pname = "Humanizer.Core.sk"; version = "2.11.10"; sha256 = "04ja06y5jaz1jwkwn117wx9cib04gpbi0vysn58a8sd5jrxmxai5"; })
-  (fetchNuGet { pname = "Humanizer.Core.sl"; version = "2.11.10"; sha256 = "05hxk9v3a7fn7s4g9jp5zxk2z6a33b9fkavyb1hjqnl2i37q2wja"; })
-  (fetchNuGet { pname = "Humanizer.Core.sr"; version = "2.11.10"; sha256 = "0x6l2msimrx72iywa1g0rqklgy209sdwg0r77i2lz0s1rvk5klm5"; })
-  (fetchNuGet { pname = "Humanizer.Core.sr-Latn"; version = "2.11.10"; sha256 = "01hdyn7mmbyy7f3aglawgnsj3nblcdpqjgzdcvniy73l536mira0"; })
-  (fetchNuGet { pname = "Humanizer.Core.sv"; version = "2.11.10"; sha256 = "0cbgchivw3d5ndib1zmgzmnymhyvfh9g9f0hijc860g5vaa9fkvh"; })
-  (fetchNuGet { pname = "Humanizer.Core.th-TH"; version = "2.11.10"; sha256 = "1v7f9x3b04iwhz9lb3ir8az8128nvcw1gi4park5zh3fg0f3mni0"; })
-  (fetchNuGet { pname = "Humanizer.Core.tr"; version = "2.11.10"; sha256 = "02c4ky0dskxkdrkc7vy8yzmvwjr1wqll1kzx0k21afhlx8xynjd4"; })
-  (fetchNuGet { pname = "Humanizer.Core.uk"; version = "2.11.10"; sha256 = "0900ilhwj8yvhyzpg1pjr7f5vrl62wp8dsnhk4c2igs20qvnv079"; })
-  (fetchNuGet { pname = "Humanizer.Core.uz-Cyrl-UZ"; version = "2.11.10"; sha256 = "09b7p2m8y49j49ckrmx2difgyj6y7fm2mwca093j8psxclsykcyr"; })
-  (fetchNuGet { pname = "Humanizer.Core.uz-Latn-UZ"; version = "2.11.10"; sha256 = "029kvkawqhlln52vpjpvr52dhr18ylk01cgsj2z8lxnqaka0q9hk"; })
-  (fetchNuGet { pname = "Humanizer.Core.vi"; version = "2.11.10"; sha256 = "0q4d47plsj956ivn82qwyidfxppjr9dp13m8c66aamrvhy4q8ny5"; })
-  (fetchNuGet { pname = "Humanizer.Core.zh-CN"; version = "2.11.10"; sha256 = "01dy5kf6ai8id77px92ji4kcxjc8haj39ivv55xy1afcg3qiy7mh"; })
-  (fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.11.10"; sha256 = "16gcxgw2g6gck3nc2hxzlkbsg7wkfaqsjl87kasibxxh47zdqqv2"; })
-  (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.11.10"; sha256 = "1rjg2xvkwjjw3c7z9mdjjvbnl9lcvvhh4fr7l61rla2ynzdk46cj"; })
-  (fetchNuGet { pname = "Markdig"; version = "0.26.0"; sha256 = "1pg0yica8h1c2kx10pqzc5iclmlfll5wbw1bxa8l251w1qnfglv2"; })
-  (fetchNuGet { pname = "McMaster.Extensions.CommandLineUtils"; version = "2.5.0"; sha256 = "010vqyg5mb3cjzxznawxz7wvidj1yv664xgz93vf1zrww5vz6aal"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Razor.Extensions"; version = "3.1.18"; sha256 = "0s168gac3g8666pllnmjdbq1v981qgc1wqypyl6pp92jvzvkndp6"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"; version = "3.1.18"; sha256 = "0069qv17rapqhp2hjzzqim5zxb6clmr9bj4vmfd2pm4byp215flj"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.Razor.Language"; version = "3.1.18"; sha256 = "0rm6a5hsj4d2a1nlzfb34bm5z7wr826zg25xfbg51a3zvbgva9m7"; })
-  (fetchNuGet { pname = "Microsoft.Azure.Cosmos"; version = "3.0.0"; sha256 = "0kl1sz8rfdhbs853lcdx2647zp17h87ws07x8w9sl4y743zxw7dj"; })
-  (fetchNuGet { pname = "Microsoft.Azure.Cosmos.Direct"; version = "3.0.0"; sha256 = "0d9q26vvq16ghjirhfayjsxwx9yrppak51m1cg6bdqnafkwlwqki"; })
-  (fetchNuGet { pname = "Microsoft.Azure.Cosmos.Table"; version = "2.0.0-preview"; sha256 = "0krwwqv2q29lj8ydyrx5wv14pmss4fy6gxnx4wd2gj54svl10ri0"; })
-  (fetchNuGet { pname = "Microsoft.Azure.KeyVault.Core"; version = "2.0.4"; sha256 = "0rv7z989zxk5myqd4n2a9ccxx9jr4jb3fslc6b4w3p0570af60hn"; })
-  (fetchNuGet { pname = "Microsoft.Azure.Search"; version = "5.0.1"; sha256 = "1xpwgcwahflrq5qa2acn0y5x1660qlh5iy0xmn6bisf9pbs6g7hr"; })
-  (fetchNuGet { pname = "Microsoft.Azure.Search.Common"; version = "5.0.1"; sha256 = "1ybbvm3iyi7r6v6j19jb16lqlq3am51wg68mzk3jdflk5czn28p7"; })
-  (fetchNuGet { pname = "Microsoft.Azure.Search.Data"; version = "5.0.1"; sha256 = "05skk65y8miwjzwvrr5br94byqipygi3mccl9x5wzbxqdhma7chq"; })
-  (fetchNuGet { pname = "Microsoft.Azure.Search.Service"; version = "5.0.1"; sha256 = "00767bbdi1zxb3vvw8k4666iv7wfb3fyxcligrin04qn9spjd2h7"; })
-  (fetchNuGet { pname = "Microsoft.Azure.Storage.Blob"; version = "9.4.1"; sha256 = "11273cf1a6rir6z016sa8r8jmrxc66zyhicciyyzanph6jwdfbf6"; })
-  (fetchNuGet { pname = "Microsoft.Azure.Storage.Common"; version = "9.4.1"; sha256 = "0kwrsfw0g8bciy53qrmgff8b8ik8wgn92szx0hdnvaqnv5dphsij"; })
-  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.0.0"; sha256 = "00dx5armvkqjxvkldz3invdlck9nj7w21dlsr2aqp1rqbyrbsbbh"; })
-  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.0"; sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1"; })
-  (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.1.1"; sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw"; })
-  (fetchNuGet { pname = "Microsoft.Bcl.HashCode"; version = "1.1.0"; sha256 = "1ggsadahlp76zcn1plapszd5v5ja8rh479fwrahqd3knql4dfnr0"; })
-  (fetchNuGet { pname = "Microsoft.Bcl.HashCode"; version = "1.1.1"; sha256 = "0xwfph92p92d8hgrdiaka4cazqsjpg4ywfxfx6qbk3939f29kzl0"; })
-  (fetchNuGet { pname = "Microsoft.Build.Tasks.Git"; version = "1.0.0"; sha256 = "0avwja8vk56f2kr2pmrqx3h60bnwbs7ds062lhvhcxv87m5yfqnj"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "2.9.3"; sha256 = "1kskwc9gyd2sx3zwx52qwfsl7s0xhaclmlnxvjsb4jgvpydv3xii"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.3.0"; sha256 = "1vwhsp3pjgcfnpapkps9a3z9n2ryiv5bbhzycfljngj5grj63rg2"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.3.0"; sha256 = "09nmd5h1r2q0dwp1dfpn4anvs8sfi3rwcgpcv28lrhky8vc51424"; })
-  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Razor"; version = "3.1.18"; sha256 = "1fa10n15mifbwq2yilpkmag6apaix1nxb643306a4cmcjvr9nvp1"; })
-  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
-  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
-  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
-  (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
-  (fetchNuGet { pname = "Microsoft.Data.SqlClient"; version = "1.1.3"; sha256 = "18mfc77xbi84iga9zrh227hl3jv7p0mbarxvz4qrws0fknsbx4r9"; })
-  (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "3.1.18"; sha256 = "1vh9jjpgqr33kyp72n7k6xkqsd0q978p84lf54rm50krlkx31q0h"; })
-  (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "3.1.6"; sha256 = "0b9myd7gqbpaw9pkd2bx45jhik9mwj0f1ss57sk2cxmag2lkdws5"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "3.1.0"; sha256 = "1l12lsk1xfrv5pjnm0b9w9kncgdh0pcjcbxl4zrsg82s7bs7dhda"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "3.1.1"; sha256 = "1ymnxrd79fx4q3aq0d7m8dpx4gyqkbjm960knm4yd3889mlxkish"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "3.1.18"; sha256 = "1y3g71d2i3azsnb995379rspchhbr1ivi1b1kfm0gx8swrp1j1wy"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "3.1.0"; sha256 = "1bd6hilnwp47z3l14qspdxi5f5nhv6rivarc6w8wil425bq0h3pd"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "3.1.1"; sha256 = "0ddjfxp7k5jgk1fmzjcfxiijcf59mpi5y9lvcr7ly7dhkpx2gsg8"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "3.1.18"; sha256 = "0d00d6wx2mm5bav39bjsikjq0sx6qmp183dbwimfda7wav2bwya8"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "3.1.0"; sha256 = "1pjn4wwhxgsiap7byld114kx6m0nm6696r8drspqic7lskm4y305"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "3.1.1"; sha256 = "0vh2i1wc8514wa5brspn53sa2l034cpjswsvi0d84dnb04aw3b4b"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "3.1.18"; sha256 = "10h1w3lv3gxcf24hhy5av4fvdjxdm2iimzp7kz9zh9cm1jg5n0vl"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Design"; version = "3.1.18"; sha256 = "0vfn4kni1sgcw8js60gc4cs3g6chfw1mar2jz07bvgjv8wxlv7qw"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "3.1.0"; sha256 = "0javqw6c27ppcysigjvcjcw3mk0gg1pv2pmwfpvvryr1pb4a9n55"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "3.1.1"; sha256 = "1qzw1rd5isa45xbyyq9vg2p04rnbfb2dinfllaaf7qaxy7mhxv65"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "3.1.18"; sha256 = "0mlq9gmxrmix68mdh0lv803cx15lzrhs5d9622vj8wwdlngg3xdx"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite"; version = "3.1.18"; sha256 = "0fs2900masv6j7j8n4kc05n2g55k7cgkhfkp5vb9pn7s2aw90kzi"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "3.1.18"; sha256 = "1m6v8g8jacrsfdl3i5q82g3k9y4wb2r3fh739ih66nlv9jbb81q6"; })
-  (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.SqlServer"; version = "3.1.18"; sha256 = "08slvfh5p06rwr1n93x44ka54f5qcnkc5b0qig887dxy4yl3kiwk"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "3.1.0"; sha256 = "0j5m2a48rwyzzvbz0hpr2md35iv78b86zyqjnrjq0y4vb7sairc0"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "3.1.1"; sha256 = "1m303nrhcjydw8ij3fmf1w8zxpli84l6k1d4ml56yrpc1n6zxmjq"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "3.1.18"; sha256 = "0qb3csiz02mh85x1yv0wh6x0c4c9d7kml5nhs9n6z0mykpfybqpc"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "3.1.0"; sha256 = "1hi61647apn25kqjcb37nqafp8fikymdrk43j3kxjbwwwx507jy1"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "3.1.1"; sha256 = "0nyq1iwjql9w2w83sjimsry8chl53372rbvq9jwng3mdzv9qzni4"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "3.1.18"; sha256 = "0fdnk16nas3gdkcjqiq3h0rkqv6ajvbp7lvrssa21av258wnvm3w"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "3.1.0"; sha256 = "1rszgz0rd5kvib5fscz6ss3pkxyjwqy0xpd4f2ypgzf5z5g5d398"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "3.1.1"; sha256 = "1dmhci4qlwqmfgya02yi02xzv31v8g45mq1c4ffigs8jq8qn4f77"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "3.1.18"; sha256 = "0fpvm1h9n0vib4fwvvify2zkc8yzgg8p2qbqrqlp5fd3ppqivjqh"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.0"; sha256 = "1f7h52kamljglx5k08ccryilvk6d6cvr9c26lcb6b2c091znzk0q"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.1"; sha256 = "1a1bixlm8wxf2fsr67qdm7k6p441sx2sfjpcjd3rm5df2v2y9zbv"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.18"; sha256 = "1aycn9rwfygdaw5wnb68ql96sb6midm6mj4742dcl9ibkrgks43w"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "3.1.0"; sha256 = "13jj7jxihiswmhmql7r5jydbca4x5qj6h7zq10z17gagys6dc7pw"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "3.1.1"; sha256 = "1brd1cxhkp5cg2wfkjkkyyvkzi4mdzyjafq94rbndzcxn9gxvz39"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "3.1.18"; sha256 = "1bxcqfh75xypiqq2ljf1rwy7yq58a07g9g12jnlh4x7xba9xd4j0"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "3.1.0"; sha256 = "1xc61dy07bn2q73mx1z3ylrw80xpa682qjby13gklnqq636a3gab"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "3.1.1"; sha256 = "01x8a8djyxcqv3fhp1q647b9y720xbbp1922vw9by4zh8f0lzs2w"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "3.1.18"; sha256 = "0r8fs4pax5pyfny3ppav4v4by3l7r0xpkax9gvq91w3pzvlfvriz"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.0"; sha256 = "1pvms778xkyv1a3gfwrxnh8ja769cxi416n7pcidn9wvg15ifvbh"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.1"; sha256 = "1k6k6h00p9hpr9jjq5vy4zwn9ggzldzm97gwjil6hpr3kxawb37n"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.18"; sha256 = "0kvxyhhs5k7xx51ihc8hppbzpcn34bdzmnp42gy2m359wl3iq0c3"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "3.1.6"; sha256 = "13m2na8a5mglbbjjp0dxb8ifkf23grkyk1g8585mr7v6cbj098ac"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "3.1.0"; sha256 = "1d3yhqj1rav7vswm747j7w8fh8paybji4rz941hhlq4b12mfqfh4"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "3.1.1"; sha256 = "1y78bn463mrl8vy7iwafrmq4x0vg4pqjd3xaiznfg9lpxjgjl9j3"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "3.1.18"; sha256 = "0llw82p6crp0329n3rsyrqka21c3dqyjk8lbk25y5848vzi0bzbv"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.0"; sha256 = "1zyalrcksszmn9r5xjnirfh7847axncgzxkk3k5srbvlcch8fw8g"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.1"; sha256 = "0pyk6g2qs1lrjhj1qz4bqbqpbmbgqlah1b6ynlvv5bdsrb7157zf"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.18"; sha256 = "0pq1kw77zz9ygcdw87wxd1rkcij084jj1cgp6p4b8zpl0a73ba6b"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "3.1.0"; sha256 = "0akccwhpn93a4qrssyb3rszdsp3j4p9hlxbsb7yhqb78xydaqhyh"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "3.1.1"; sha256 = "15iik4hqm5ywzv9lvlfqk6d7drgdm87h6x9gliy9ks6snyhbnpb3"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "3.1.18"; sha256 = "0iv79m9grl28b5zcng14v5nrgic3rgy74ws9l92fw2f194qbdy6h"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "3.1.18"; sha256 = "0id3s26s7grlzfvqmknz3ir7agns680ad8d0kv6mr9dfrqj6ca1l"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.PlatformAbstractions"; version = "1.1.0"; sha256 = "0r4j8v2vvp3kalvb11ny9cvpls3nrvqj0c81rxbkh99ynd2dbscp"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.0"; sha256 = "1w1y22njywwysi8qjnj4m83qhbq0jr4mmjib0hfawz6cwamh7xrb"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.1"; sha256 = "07rkb1xl7y59qjg9j3bms0fi09gmjrf9f4ipckxlx64k8ciilw9f"; })
-  (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.18"; sha256 = "1xcwb09acn6w3jv3s0bp0f7q9vq3rzp7cg2jhbn3a9h9pzk8haa2"; })
-  (fetchNuGet { pname = "Microsoft.Identity.Client"; version = "3.0.8"; sha256 = "0g7j08fqk8svch31jg0vg32chgmxgbsin0i85whsd42hkjd4l8lg"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "5.5.0"; sha256 = "0ahkybdfiwnj5h25j5x2dylz3wfg2194cgqmsiqkaz93gbqibyw0"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "5.5.0"; sha256 = "1a3bvzaas5d653l0yphl95xclj4yvdz5v08g0psj9i137yncn639"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols"; version = "5.5.0"; sha256 = "029i1fz9y5gzrh68364ga1wm7gmk4h58lkdp5g77rsxa24rhshpl"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols.OpenIdConnect"; version = "5.5.0"; sha256 = "0hxh6j4z1ha7r0pnh9lnnx54h6s3lkj0dv99n2h5pcsk0pbx91kf"; })
-  (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "5.5.0"; sha256 = "1ixdbn6ia6df4qqg89ihcmjz5jjnp9jjcdjifqzaccy37bvxk8dj"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.0"; sha256 = "0nmdnkmwyxj8cp746hs9an57zspqlmqdm55b00i7yk8a22s6akxz"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
-  (fetchNuGet { pname = "Microsoft.OData.Core"; version = "7.5.0"; sha256 = "0xl3pl7433w2qdcdqnizmwpzavsbip5fv2izw583b99zbyhjxzmx"; })
-  (fetchNuGet { pname = "Microsoft.OData.Edm"; version = "7.5.0"; sha256 = "1xsab22g60q04dscnvswzhjig5ydly37kq205dsk4jm4b1df9dip"; })
-  (fetchNuGet { pname = "Microsoft.Rest.ClientRuntime"; version = "2.3.11"; sha256 = "0iqxxyiyi057c92nlf2aiva59c13bhg93w2gp0qh0777gb750hbx"; })
-  (fetchNuGet { pname = "Microsoft.Rest.ClientRuntime.Azure"; version = "3.3.12"; sha256 = "01r0swv029wwxn1h4paqlyc4chmqg04wi2h0h74bh7lcgjsm9qb1"; })
-  (fetchNuGet { pname = "Microsoft.SourceLink.Common"; version = "1.0.0"; sha256 = "1zxkpx01zdv17c39iiy8fx25ran89n14qwddh1f140v1s4dn8z9c"; })
-  (fetchNuGet { pname = "Microsoft.SourceLink.GitHub"; version = "1.0.0"; sha256 = "029ixyaqn48cjza87m5qf0g1ynyhlm6irgbx1n09src9g666yhpd"; })
-  (fetchNuGet { pname = "Microsoft.Spatial"; version = "7.2.0"; sha256 = "15a2lv7305729mdffh6r2qff5c1dk9b0w5a60kclw1a580vipzk2"; })
-  (fetchNuGet { pname = "Microsoft.Spatial"; version = "7.5.0"; sha256 = "1zxjy5f4bksgf0ilgrqhxpy5g1nzbz54pcp9dx0smvc9yqlacy97"; })
-  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
-  (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.5.0"; sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q"; })
-  (fetchNuGet { pname = "MySqlConnector"; version = "0.61.0"; sha256 = "0b0mc41dsih4p1ky3kcmibsz4bw14w439nraq5732wjfkq2sqdxg"; })
-  (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; })
-  (fetchNuGet { pname = "Newtonsoft.Json"; version = "10.0.1"; sha256 = "15ncqic3p2rzs8q8ppi0irl2miq75kilw4lh8yfgjq96id0ds3hv"; })
-  (fetchNuGet { pname = "Newtonsoft.Json"; version = "10.0.2"; sha256 = "03zb1k50mgzvznp9sfv371fdvx82bqpgq99dj61paan8a30prj6y"; })
-  (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.2"; sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; })
-  (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; })
-  (fetchNuGet { pname = "Npgsql"; version = "4.1.3"; sha256 = "08515af6g0d8v1d2r493xdxc74y1bg8ngbhck0wq4jhh109ndg97"; })
-  (fetchNuGet { pname = "Npgsql.EntityFrameworkCore.PostgreSQL"; version = "3.1.1.2"; sha256 = "0ng4cyzmbh1x8jshx55x3h5azif4zb3v4d3n3sxkqavbq8j2phhs"; })
-  (fetchNuGet { pname = "NuGet.Common"; version = "5.10.0"; sha256 = "0qy6blgppgvxpfcricmvva3qzddk18dza5vy851jrbqshvf9g7kx"; })
-  (fetchNuGet { pname = "NuGet.Configuration"; version = "5.10.0"; sha256 = "0xb1n94lrwa6k83i9xcsq68202086p2gj74gzlbhlvb8c2pw6lbb"; })
-  (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.10.0"; sha256 = "0gb6n8rg2jpjp52icgpb3wjdfs3qllh5vbcz8hbcix3l7dncy3v2"; })
-  (fetchNuGet { pname = "NuGet.Packaging"; version = "5.10.0"; sha256 = "11g0v061axhp0nisclq5cm2mc92d69z92giz9l40ih478c5nishw"; })
-  (fetchNuGet { pname = "NuGet.Protocol"; version = "5.10.0"; sha256 = "0cs9qp169zx6g2w5bzrlhxv0q1i8mb8dxlb2nkiq7pkvah86rxkc"; })
-  (fetchNuGet { pname = "NuGet.Versioning"; version = "5.10.0"; sha256 = "10vvw6vjpx0c26rlxh7dnpyp4prahn25717ccd8bzkjmyzhm90cs"; })
-  (fetchNuGet { pname = "Pomelo.EntityFrameworkCore.MySql"; version = "3.1.0"; sha256 = "0a8ysdwsa0kds5zbfmcdnk8imaqf2hisjms951h1smnlnii9kyds"; })
-  (fetchNuGet { pname = "Pomelo.JsonObject"; version = "2.2.1"; sha256 = "1w6s9wjbsyvq8cnqknkdzm9chnv0g5gcsrq5i94zp6br9vg7c627"; })
-  (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.0.11"; sha256 = "1x44bm1cgv28zmrp095wf9mn8a6a0ivnzp9v14dcbhx06igxzgg0"; })
-  (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
-  (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "0qcpm90hrm9gx9pmxlvfml65jm0bwpr5dg3r7l7xm9nvmibvc7n7"; })
-  (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; })
-  (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })
-  (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.0.11"; sha256 = "0240rp66pi5bw1xklmh421hj7arwcdmjmgfkiq1cbc6nrm8ah286"; })
-  (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; })
-  (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; })
-  (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.1.0"; sha256 = "0kasfkjiml2kk8prnyn1990nhsahnjggvqwszqjdsfwfl43vpcb5"; })
-  (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; })
-  (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.1.0"; sha256 = "06kcs059d5czyakx75rvlwa2mr86156w18fs7chd03f7084l7mq6"; })
-  (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; })
-  (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.0.1"; sha256 = "05k34ijz9g9csh0vbbv3g3lrxl163izwcfncmbcl7k073h32rzkr"; })
-  (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; })
-  (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1zxrpvixr5fqzkxpnin6g6gjq6xajy1snghz99ds2dwbhm276rhz"; })
-  (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; })
-  (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "1jmgs7hynb2rff48623wnyb37558bbh1q28k9c249j5r5sgsr5kr"; })
-  (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; })
-  (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.1.0"; sha256 = "0mjr2bi7wvnkphfjqgkyf8vfyvy15a829jz6mivl6jmksh2bx40m"; })
-  (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; })
-  (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.0.1"; sha256 = "1kswgqhy34qvc49i981fk711s7knd6z13bp0rin8ms6axkh98nas"; })
-  (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; })
-  (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "0gm8if0hcmp1qys1wmx4970k2x62pqvldgljsyzbjhiy5644vl8z"; })
-  (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; })
-  (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.0.11"; sha256 = "0m4vgmzi1ky8xlj0r7xcyazxln3j9dlialnk6d2gmgrfnzf8f9m7"; })
-  (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; })
-  (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "0d1rxxpvg9v7wlibsfgz0r4hwigpadas822qf8m8fs1gma9gs877"; })
-  (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; })
-  (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.0.11"; sha256 = "1qzdp09qs8br5qxzlm1lgbjn4n57fk8vr1lzrmli2ysdg6x1xzvk"; })
-  (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; })
-  (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
-  (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
-  (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
-  (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; })
-  (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
-  (fetchNuGet { pname = "runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "15wnpyy506q3vyk1yzdjjf49zpdynr7ghh0x5fbz4pcc1if0p9ky"; })
-  (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; })
-  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; })
-  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; })
-  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; })
-  (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
-  (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
-  (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; })
-  (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; })
-  (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
-  (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
-  (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
-  (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
-  (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; })
-  (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "05ndbai4vpqrry0ghbfgqc8xblmplwjgndxmdn1zklqimczwjg2d"; })
-  (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; })
-  (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.0.1"; sha256 = "02wnlydnbhai0zy7c3kihg0cis0l1b2z78kyi1ci47c5v0jklwha"; })
-  (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; })
-  (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; })
-  (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.0.1"; sha256 = "0ic5dgc45jkhcr1g9xmmzjm7ffiw4cymm0fprczlx4fnww4783nm"; })
-  (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; })
-  (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0x1cwd7cvifzmn5x1wafvj75zdxlk3mxy860igh3x1wx0s8167y4"; })
-  (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; })
-  (fetchNuGet { pname = "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "07byf1iyqb7jkb17sp0mmjk46fwq6fx8mlpzywxl7qk09sma44gk"; })
-  (fetchNuGet { pname = "runtime.win-x64.runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "0167s4mpq8bzk3y11pylnynzjr2nc84w96al9x4l8yrf34ccm18y"; })
-  (fetchNuGet { pname = "runtime.win-x86.runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "0k3rkfrlm9jjz56dra61jgxinb8zsqlqzik2sjwz7f8v6z6ddycc"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.0.2"; sha256 = "00p7n7ndmmh45fhhd3clb11igpzklm1n7r50sdrgnbi5yifv1lxl"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.0.2"; sha256 = "11mnbnsiirpgmilskqh1issvgzgg08ndq3p3nkrw73hyqr7kl958"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.0.2"; sha256 = "0967w6r6n94hj0fma3kidb9fx1m2p3fgrw6gpsy6q6jbb33qw6vj"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.provider.dynamic_cdecl"; version = "2.0.2"; sha256 = "1lzs8yfjygrwfm3hjmkhnbnpsjzq53ijwx9whmii2r9kjg2a46if"; })
-  (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.0.2"; sha256 = "0ak8jlkva1mnmvyvwhk9zmc4c5b08n4a7l8g9g5mj3ly161hfzm6"; })
-  (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
-  (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; })
-  (fetchNuGet { pname = "System.Buffers"; version = "4.5.0"; sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c"; })
-  (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; })
-  (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
-  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
-  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
-  (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; })
-  (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.0"; sha256 = "1gik4sn9jsi1wcy1pyyp0r4sn2g17cwrsh24b2d52vif8p2h24zx"; })
-  (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.1"; sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; })
-  (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; })
-  (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; })
-  (fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; })
-  (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.7.0"; sha256 = "06x1m46ddxj0ng28d7gry9gjkqdg2kp89jyf480g5gznyybbs49z"; })
-  (fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; })
-  (fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; })
-  (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "4.5.0"; sha256 = "1frpy24mn6q7hgwayj98kkx89z861f5dmia4j6zc0a2ydgx8x02c"; })
-  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; })
-  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
-  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
-  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.5.0"; sha256 = "1y8m0p3127nak5yspapfnz25qc9x53gqpvwr3hdpsvrcd2r1pgyj"; })
-  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.7.0"; sha256 = "0cr0v5dz8l5ackxv6b772fjcyj2nimqmrmzanjs4cw2668v568n1"; })
-  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.7.1"; sha256 = "1mivaifniyrqwlnvzsfaxzrh2sd981bwzs3cbvs5wi7jjzbcqr4p"; })
-  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; })
-  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
-  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
-  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; })
-  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
-  (fetchNuGet { pname = "System.Formats.Asn1"; version = "5.0.0"; sha256 = "1axc8z0839yvqi2cb63l73l6d9j6wd20lsbdymwddz9hvrsgfwpn"; })
-  (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; })
-  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
-  (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
-  (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
-  (fetchNuGet { pname = "System.IdentityModel.Tokens.Jwt"; version = "5.5.0"; sha256 = "0p6ybl5ik2glwcfhiqlqdggl0qd6027kdxaqy5xmp7qq055qiq6k"; })
-  (fetchNuGet { pname = "System.Interactive.Async"; version = "3.1.1"; sha256 = "03iq20gq0n2b2sdzs5jhxf46nzkfgvzip6q5248vka2rcvn1yanh"; })
-  (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; })
-  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
-  (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.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; })
-  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
-  (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; })
-  (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
-  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; })
-  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
-  (fetchNuGet { pname = "System.Memory"; version = "4.5.0"; sha256 = "1layqpcx1q4l805fdnj2dfqp6ncx2z42ca06rgsr6ikq4jjgbv30"; })
-  (fetchNuGet { pname = "System.Memory"; version = "4.5.1"; sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; })
-  (fetchNuGet { pname = "System.Memory"; version = "4.5.2"; sha256 = "1g24dwqfcmf4gpbgbhaw1j49xmpsz389l6bw2xxbsmnzvsf860ld"; })
-  (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
-  (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
-  (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
-  (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; })
-  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
-  (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; })
-  (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; })
-  (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; })
-  (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
-  (fetchNuGet { pname = "System.Private.DataContractSerialization"; version = "4.3.0"; sha256 = "06fjipqvjp559rrm825x6pll8gimdj9x1n3larigh5hsm584gndw"; })
-  (fetchNuGet { pname = "System.Private.ServiceModel"; version = "4.5.0"; sha256 = "03zv1076vs3whkhgmjk9ri8c1dz7mypnkj1k0fcnrgp3yi2xxdji"; })
-  (fetchNuGet { pname = "System.Private.Uri"; version = "4.0.1"; sha256 = "0k57qhawjysm4cpbfpc49kl4av7lji310kjcamkl23bwgij5ld9j"; })
-  (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
-  (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; })
-  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
-  (fetchNuGet { pname = "System.Reflection.DispatchProxy"; version = "4.5.0"; sha256 = "0v9sg38h91aljvjyc77m1y5v34p50hjdbxvvxwa1whlajhafadcn"; })
-  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; })
-  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
-  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; })
-  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
-  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; })
-  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
-  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; })
-  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
-  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; })
-  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; })
-  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
-  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; })
-  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
-  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; })
-  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
-  (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
-  (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
-  (fetchNuGet { pname = "System.Runtime.Caching"; version = "4.5.0"; sha256 = "07ijp8j0cplcw1ns0fpkfsavppask164jn51lasiji4sfkjy592r"; })
-  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.0"; sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; })
-  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.1"; sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf"; })
-  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; })
-  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; })
-  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.6.0"; sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m"; })
-  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.0"; sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54"; })
-  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; })
-  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
-  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
-  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
-  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
-  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; })
-  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
-  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
-  (fetchNuGet { pname = "System.Runtime.Serialization.Formatters"; version = "4.3.0"; sha256 = "114j35n8gcvn3sqv9ar36r1jjq0y1yws9r0yk8i6wm4aq7n9rs0m"; })
-  (fetchNuGet { pname = "System.Runtime.Serialization.Json"; version = "4.3.0"; sha256 = "1qp8ghr70smspnjdmlcbl5vwb7fm2iy1b7wx1p53lbpl35w4kz4a"; })
-  (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
-  (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.3.0"; sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; })
-  (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.5.0"; sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.5.0"; sha256 = "1pm4ykbcz48f1hdmwpia432ha6qbb9kbrxrrp7cg3m8q8xn52ngn"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "5.0.0"; sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "5.0.0"; sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.5.0"; sha256 = "11qlc8q6b7xlspayv07718ibzvlj6ddqqxkvcbxv5b24d5kzbrb7"; })
-  (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
-  (fetchNuGet { pname = "System.Security.Permissions"; version = "4.5.0"; sha256 = "192ww5rm3c9mirxgl1nzyrwd18am3izqls0hzm0fvcdjl5grvbhm"; })
-  (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; })
-  (fetchNuGet { pname = "System.Security.SecureString"; version = "4.3.0"; sha256 = "1dypfbw7mxd8cbpcxs3jrp7i5wm1vnp43bv823mk2z94r36ixqfc"; })
-  (fetchNuGet { pname = "System.ServiceModel.Primitives"; version = "4.5.0"; sha256 = "1yalxkrnif3ww7cki86s92s3jbk3nss5kdnsw8zl8hpwibwdq49n"; })
-  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
-  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
-  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.0"; sha256 = "19x38911pawq4mrxrm04l2bnxwxxlzq8v8rj4cbxnfjj8pnd3vj3"; })
-  (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; })
-  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; })
-  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
-  (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.6.0"; sha256 = "0j61vkkcz390zbqsqqzdrzk4siqipi4359bgkh6icxli671k479l"; })
-  (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.7.1"; sha256 = "1wj7r07mjwbf9a79kapy2l9m8mcq8b3nbhg0zaprlsav09k85fmb"; })
-  (fetchNuGet { pname = "System.Text.Json"; version = "4.6.0"; sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; })
-  (fetchNuGet { pname = "System.Text.Json"; version = "4.7.2"; sha256 = "10xj1pw2dgd42anikvj9qm23ccssrcp7dpznpj4j7xjp1ikhy3y4"; })
-  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; })
-  (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"; })
-  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; })
-  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
-  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; })
-  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
-  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.1"; sha256 = "1ikrplvw4m6pzjbq3bfbpr572n4i9mni577zvmrkaygvx85q3myw"; })
-  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.2"; sha256 = "1sh63dz0dymqcwmprp0nadm77b83vmm7lyllpv578c397bslb8hj"; })
-  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.3"; sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i"; })
-  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
-  (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; })
-  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; })
-  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
-  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
-  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
-  (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; })
-  (fetchNuGet { pname = "System.Xml.XmlSerializer"; version = "4.3.0"; sha256 = "07pa4sx196vxkgl3csvdmw94nydlsm9ir38xxcs84qjn8cycd912"; })
-]
diff --git a/pkgs/servers/web-apps/baget/updater.sh b/pkgs/servers/web-apps/baget/updater.sh
deleted file mode 100755
index 65b8ab093ea9..000000000000
--- a/pkgs/servers/web-apps/baget/updater.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=./. -i bash -p gnused jq common-updater-scripts nix-prefetch-github
-set -eo pipefail
-cd "$(dirname "${BASH_SOURCE[0]}")"
-
-deps_file="$(realpath ./deps.nix)"
-
-new_version="$(curl -s "https://api.github.com/repos/loic-sharma/BaGet/releases?per_page=1" | jq -r '.[0].name' | sed 's,^v,,')"
-old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
-
-if [[ "$new_version" == "$old_version" ]]; then
-  echo "Already up to date!"
-  exit 0
-fi
-
-new_rev="v$new_version"
-nix-prefetch-github loic-sharma BaGet --rev "$new_rev" > repo_info
-new_hash="$(jq -r ".sha256" < repo_info)"
-rm repo_info
-
-pushd ../../../..
-
-update-source-version baget "$new_version" "$new_hash"
-$(nix-build -A baget.fetch-deps --no-out-link) "$deps_file"
diff --git a/pkgs/servers/zoneminder/default.nix b/pkgs/servers/zoneminder/default.nix
index 80ff140122fd..503f7b04cd28 100644
--- a/pkgs/servers/zoneminder/default.nix
+++ b/pkgs/servers/zoneminder/default.nix
@@ -57,13 +57,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "zoneminder";
-  version = "1.36.32";
+  version = "1.36.33";
 
   src = fetchFromGitHub {
     owner  = "ZoneMinder";
     repo   = "zoneminder";
     rev    = version;
-    sha256 = "sha256-8iRoGpkpZVOOr0wSY9iey2x4gPfKTfUNtt5TCHCCRIQ=";
+    sha256 = "sha256-KUhFZrF7BuLB2Z3LnTcHEEZVA6iosam6YsOd8KWvx7E=";
     fetchSubmodules = true;
   };
 
@@ -116,6 +116,12 @@ in stdenv.mkDerivation rec {
         --replace "'ffmpeg " "'${ffmpeg}/bin/ffmpeg "
     done
 
+    for f in scripts/ZoneMinder/lib/ZoneMinder/Event.pm \
+             scripts/ZoneMinder/lib/ZoneMinder/Storage.pm ; do
+      substituteInPlace $f \
+        --replace '/bin/rm' "${coreutils}/bin/rm"
+    done
+
     substituteInPlace web/includes/functions.php \
       --replace "'date " "'${coreutils}/bin/date " \
       --subst-var-by srcHash "`basename $out`"
diff --git a/pkgs/shells/elvish/default.nix b/pkgs/shells/elvish/default.nix
index f0c5611e3b3c..1bd0c138c9c0 100644
--- a/pkgs/shells/elvish/default.nix
+++ b/pkgs/shells/elvish/default.nix
@@ -1,30 +1,42 @@
-{ lib, buildGoModule, fetchFromGitHub, runCommand }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, runCommand
+}:
 
-buildGoModule rec {
+let
   pname = "elvish";
-  version = "0.18.0";
-
-  subPackages = [ "cmd/elvish" ];
-
-  ldflags = [ "-s" "-w" "-X src.elv.sh/pkg/buildinfo.Version==${version}" "-X src.elv.sh/pkg/buildinfo.Reproducible=true" ];
+  version = "0.19.2";
+  shellPath = "/bin/elvish";
+in
+buildGoModule {
+  inherit pname version;
 
   src = fetchFromGitHub {
     owner = "elves";
-    repo = pname;
+    repo = "elvish";
     rev = "v${version}";
-    sha256 = "sha256-AyTkJiNebpq17vdPluwJBztivezd+c1KAdWFTYYDIFE=";
+    hash = "sha256-eCPJXCgmMvrJ2yVqYgXHXJWb6Ec0sutc91LNs4yRBYk=";
   };
 
-  vendorSha256 = "sha256-iuklI7XEQUgZ2ObYRROxyiccZ1JkajK5OJA7hIcpRZQ=";
+  vendorHash = "sha256-VMI20IP1jVkUK3rJm35szaFDfZGEEingUEL/xfVJ1cc=";
+
+  subPackages = [ "cmd/elvish" ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X src.elv.sh/pkg/buildinfo.Version==${version}"
+  ];
 
   strictDeps = true;
-  doCheck = false;
 
+  doCheck = false;
   doInstallCheck = true;
   installCheckPhase = ''
     runHook preInstallCheck
 
-    $out${passthru.shellPath} -c "
+    $out${shellPath} -c "
       fn expect {|key expected|
         var actual = \$buildinfo[\$key]
         if (not-eq \$actual \$expected) {
@@ -33,23 +45,24 @@ buildGoModule rec {
       }
 
       expect version ${version}
-      expect reproducible \$true
     "
 
     runHook postInstallCheck
   '';
 
-  meta = with lib; {
+  passthru = {
+    inherit shellPath;
+  };
+
+  meta = {
+    homepage = "https://elv.sh/";
     description = "A friendly and expressive command shell";
     longDescription = ''
       Elvish is a friendly interactive shell and an expressive programming
       language. It runs on Linux, BSDs, macOS and Windows. Despite its pre-1.0
       status, it is already suitable for most daily interactive use.
     '';
-    homepage = "https://elv.sh/";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ vrthra AndersonTorres ];
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ vrthra AndersonTorres ];
   };
-
-  passthru.shellPath = "/bin/elvish";
 }
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
index f07d17e00fbd..69957209cf24 100644
--- a/pkgs/shells/nushell/default.nix
+++ b/pkgs/shells/nushell/default.nix
@@ -26,7 +26,7 @@
 
 rustPlatform.buildRustPackage (
   let
-    version =  "0.77.0";
+    version =  "0.77.1";
     pname = "nushell";
   in {
   inherit version pname;
@@ -35,10 +35,10 @@ rustPlatform.buildRustPackage (
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-cffAxuM12wdd7IeLbKSpL6dpvpZVscA8nMOh3jFqY3E=";
+    sha256 = "sha256-MheKGfm72cxFtMIDj8VxEN4VFB1+tLoj+ujzL/7n8YI=";
   };
 
-  cargoSha256 = "sha256-OcYE9d3hO3JtxF3REWev0Rz97Kr9l7P7nUxhIb5fhi0=";
+  cargoSha256 = "sha256-oUeoCAeVP2MBAhJfMptK+Z3n050cqpIIgnUroRVBYjg=";
 
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optionals (withDefaultFeatures && stdenv.isLinux) [ python3 ]
diff --git a/pkgs/tools/X11/skippy-xd/default.nix b/pkgs/tools/X11/skippy-xd/default.nix
index e8a959f6b444..4df15acf76e4 100644
--- a/pkgs/tools/X11/skippy-xd/default.nix
+++ b/pkgs/tools/X11/skippy-xd/default.nix
@@ -14,12 +14,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "skippy-xd";
-  version = "unstable-2015-03-01";
+  version = "0.6.0";
   src = fetchFromGitHub {
-    owner = "richardgv";
+    owner = "dreamcat4";
     repo = "skippy-xd";
-    rev = "397216ca67074c71314f5e9a6e3f1710ccabc29e";
-    sha256 = "sha256-iP6g3iS1aPPkauBLHbgZH/l+TXbWyIJ2TmbrSiNTkn0=";
+    rev = "d0557c3144fc67568a49d7207efef89c1d5777a0";
+    sha256 = "sha256-dnoPUPCvuR/HhqIz1WAsmWL/CkfTf11YEkbrkVWM4dc=";
   };
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
diff --git a/pkgs/tools/admin/aws-vault/default.nix b/pkgs/tools/admin/aws-vault/default.nix
index 2b47b6b7a5a3..fa766f6ec4f9 100644
--- a/pkgs/tools/admin/aws-vault/default.nix
+++ b/pkgs/tools/admin/aws-vault/default.nix
@@ -7,13 +7,13 @@
 }:
 buildGoModule rec {
   pname = "aws-vault";
-  version = "7.1.1";
+  version = "7.1.2";
 
   src = fetchFromGitHub {
     owner = "99designs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ydg//2t+B02eXwnwsmECx+I8oluPf6dKntz7L6gWV88=";
+    sha256 = "sha256-MlzK9ENCm1P3Nir/bwo9slWwiuaIqF4icV1Sm0WvUS8=";
   };
 
   vendorHash = "sha256-4bJKDEZlO0DzEzTQ7m+SQuzhe+wKmL6wLueqgSz/46s=";
diff --git a/pkgs/tools/admin/balena-cli/default.nix b/pkgs/tools/admin/balena-cli/default.nix
index be84937ce038..2f09fbf1afad 100644
--- a/pkgs/tools/admin/balena-cli/default.nix
+++ b/pkgs/tools/admin/balena-cli/default.nix
@@ -1,8 +1,8 @@
 { lib
 , stdenv
 , fetchzip
+, testers
 }:
-
 let
   inherit (stdenv.hostPlatform) system;
   throwSystem = throw "Unsupported system: ${system}";
@@ -21,27 +21,76 @@ let
     aarch64-darwin = "1ihxyf35px3s6q2yk4p3dy03rcj93hy96bj3pxqlv0rp05gnsf02";
     x86_64-windows = "104hc3qvs04l2hmjmp0bcjr5g5scp4frhprk1fpszziqhdmhwa40";
   }.${system} or throwSystem;
-in
-stdenv.mkDerivation rec {
-  pname = "balena-cli";
-  version = "15.1.1";
 
+  version = "15.1.1";
   src = fetchzip {
     url = "https://github.com/balena-io/balena-cli/releases/download/v${version}/balena-cli-v${version}-${plat}-standalone.zip";
     inherit sha256;
   };
+in
+stdenv.mkDerivation (finalAttrs: {
+  pname = "balena-cli";
+  inherit version src;
 
   installPhase = ''
     runHook preInstall
 
     mkdir -p $out/bin
     cp -r ./* $out/
-
     ln -s $out/balena $out/bin/balena
 
     runHook postInstall
   '';
 
+  passthru.tests.version = testers.testVersion {
+    package = finalAttrs.finalPackage;
+    command = ''
+      # Override default cache directory so Balena CLI's unavoidable update check does not fail due to write permissions
+      BALENARC_DATA_DIRECTORY=./ balena --version
+    '';
+    inherit version;
+  };
+
+  # https://github.com/NixOS/nixpkgs/pull/48193/files#diff-b65952dbe5271c002fbc941b01c3586bf5050ad0e6aa6b2fcc74357680e103ea
+  preFixup =
+    if stdenv.isLinux then
+      let
+        libPath = lib.makeLibraryPath [ stdenv.cc.cc ];
+      in
+      ''
+        orig_size=$(stat --printf=%s $out/balena)
+        patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/balena
+        patchelf --set-rpath ${libPath} $out/balena
+        chmod +x $out/balena
+        new_size=$(stat --printf=%s $out/balena)
+        ###### zeit-pkg fixing starts here.
+        # we're replacing plaintext js code that looks like
+        # PAYLOAD_POSITION = '1234                  ' | 0
+        # [...]
+        # PRELUDE_POSITION = '1234                  ' | 0
+        # ^-----20-chars-----^^------22-chars------^
+        # ^-- grep points here
+        #
+        # var_* are as described above
+        # shift_by seems to be safe so long as all patchelf adjustments occur
+        # before any locations pointed to by hardcoded offsets
+        var_skip=20
+        var_select=22
+        shift_by=$(expr $new_size - $orig_size)
+        function fix_offset {
+          # $1 = name of variable to adjust
+          location=$(grep -obUam1 "$1" $out/bin/balena | cut -d: -f1)
+          location=$(expr $location + $var_skip)
+          value=$(dd if=$out/balena iflag=count_bytes,skip_bytes skip=$location \
+                     bs=1 count=$var_select status=none)
+          value=$(expr $shift_by + $value)
+          echo -n $value | dd of=$out/balena bs=1 seek=$location conv=notrunc
+        }
+        fix_offset PAYLOAD_POSITION
+        fix_offset PRELUDE_POSITION
+      '' else '''';
+  dontStrip = true;
+
   meta = with lib; {
     description = "A command line interface for balenaCloud or openBalena";
     longDescription = ''
@@ -58,4 +107,4 @@ stdenv.mkDerivation rec {
     sourceProvenance = [ sourceTypes.binaryNativeCode ];
     mainProgram = "balena";
   };
-}
+})
diff --git a/pkgs/tools/admin/bom/default.nix b/pkgs/tools/admin/bom/default.nix
new file mode 100644
index 000000000000..f80c153fb447
--- /dev/null
+++ b/pkgs/tools/admin/bom/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
+
+buildGoModule rec {
+  pname = "bom";
+  version = "0.4.1";
+
+  src = fetchFromGitHub {
+    owner = "kubernetes-sigs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-HgBpEIUaeVCMkbu1KtBh0LGZQGFLyj3rF0cYDt8vDRk=";
+    # 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;
+    postFetch = ''
+      cd "$out"
+      git rev-parse HEAD > $out/COMMIT
+      # '0000-00-00T00:00:00Z'
+      date -u -d "@$(git log -1 --pretty=%ct)" "+'%Y-%m-%dT%H:%M:%SZ'" > $out/SOURCE_DATE_EPOCH
+      find "$out" -name .git -print0 | xargs -0 rm -rf
+    '';
+  };
+
+  vendorSha256 = "sha256-m5IK/+mbwGSX8tQUMED8+H52o89QOJk8mhUXumZm+wo=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X sigs.k8s.io/release-utils/version.gitVersion=v${version}"
+    "-X sigs.k8s.io/release-utils/version.gitTreeState=clean"
+  ];
+
+  # ldflags based on metadata from git and source
+  preBuild = ''
+    ldflags+=" -X sigs.k8s.io/release-utils/version.gitCommit=$(cat COMMIT)"
+    ldflags+=" -X sigs.k8s.io/release-utils/version.buildDate=$(cat SOURCE_DATE_EPOCH)"
+  '';
+
+  postInstall = ''
+    installShellCompletion --cmd bom \
+      --bash <($out/bin/bom completion bash) \
+      --fish <($out/bin/bom completion fish) \
+      --zsh <($out/bin/bom completion zsh)
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/bom --help
+    $out/bin/bom version 2>&1 | grep "v${version}"
+    runHook postInstallCheck
+  '';
+
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/kubernetes-sigs/bom";
+    changelog = "https://github.com/kubernetes-sigs/bom/releases/tag/v${version}";
+    description = "A utility to generate SPDX-compliant Bill of Materials manifests";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ developer-guy ];
+  };
+}
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index 8cea35d5ace7..668110650f3b 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.133.0";
+  version = "0.134.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QRm0a7x39vhxRT29+tTrpr3ZyPPHtHtxLWiyqTgPYCM=";
+    sha256 = "sha256-J179fhhcUUcSIVQvNUwgAiERPNQbMdFQBlKbvSb2/ss=";
   };
 
-  vendorHash = "sha256-R/VFq+SO/ZWf9ztg/75ASidqznCkO47T2PFsgKJwEWM=";
+  vendorHash = "sha256-/LcqW9D1FeyCMUM81d9JIa9vjTow9IG9CZPeixbDsXE=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 9f164d86140c..076e46498383 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -32,14 +32,14 @@
 
 buildGoModule rec {
   pname = "lxd";
-  version = "5.11";
+  version = "5.12";
 
   src = fetchurl {
     urls = [
       "https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz"
       "https://github.com/lxc/lxd/releases/download/lxd-${version}/lxd-${version}.tar.gz"
     ];
-    hash = "sha256-6z6C1nWmnHLdLtLf7l1f4riGhuP2J2mt8mVWZIiege0=";
+    hash = "sha256-YGH/M0aw56snNt3s8drcJYHZPYkVW993YilF228nMhw=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/admin/pgadmin/default.nix b/pkgs/tools/admin/pgadmin/default.nix
index f016207de0b0..f488c5dcee5a 100644
--- a/pkgs/tools/admin/pgadmin/default.nix
+++ b/pkgs/tools/admin/pgadmin/default.nix
@@ -12,11 +12,11 @@
 
 let
   pname = "pgadmin";
-  version = "6.20";
+  version = "6.21";
 
   src = fetchurl {
     url = "https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v${version}/source/pgadmin4-${version}.tar.gz";
-    hash = "sha256-6aQvg98LymZGAgAcNX5Xhw/aRdE5h4HOCPS+kQnkstU=";
+    hash = "sha256-9ErMhxzixyiwcwcduLP63JfM3rNy0W/3w0b+BbQAjUA=";
   };
 
   yarnDeps = mkYarnModules {
@@ -53,7 +53,7 @@ let
       };
       propagatedBuildInputs = [ prev.pytz ];
     });
-    # pgadmin 6.20 is incompatible with flask 2.2
+    # pgadmin 6.21 is incompatible with flask 2.2
     # https://redmine.postgresql.org/issues/7651
     flask = prev.flask.overridePythonAttrs (oldAttrs: rec {
       version = "2.1.3";
@@ -87,7 +87,7 @@ let
         hash = "sha256-NP5cb+4PabUOMPgaO36haqFJKncf6a0JdNFkYQwJpsk=";
       };
     });
-    # pgadmin 6.20 is incompatible with the major flask-security-too update to 5.0.x
+    # pgadmin 6.21 is incompatible with the major flask-security-too update to 5.0.x
     flask-security-too = prev.flask-security-too.overridePythonAttrs (oldAttrs: rec {
       version = "4.1.5";
       src = oldAttrs.src.override {
diff --git a/pkgs/tools/admin/pgadmin/package.json b/pkgs/tools/admin/pgadmin/package.json
index f43473b081cd..17060850a0bc 100644
--- a/pkgs/tools/admin/pgadmin/package.json
+++ b/pkgs/tools/admin/pgadmin/package.json
@@ -124,7 +124,6 @@
     "jquery": "^3.6.0",
     "json-bignumber": "^1.0.1",
     "jsoneditor": "^9.5.4",
-    "jsoneditor-react": "^3.1.1",
     "karma-coverage": "^2.0.3",
     "leaflet": "^1.5.1",
     "lodash": "4.*",
diff --git a/pkgs/tools/admin/pgadmin/yarn.lock b/pkgs/tools/admin/pgadmin/yarn.lock
index f506196c2040..e1f422834088 100644
--- a/pkgs/tools/admin/pgadmin/yarn.lock
+++ b/pkgs/tools/admin/pgadmin/yarn.lock
@@ -6235,13 +6235,6 @@ json5@^2.1.2, json5@^2.2.1:
   resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
   integrity "sha1-eM1vGhm9wStz21rQxh79ZsHikoM= sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="
 
-jsoneditor-react@^3.1.1:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/jsoneditor-react/-/jsoneditor-react-3.1.2.tgz#bc36356ac5ecb0d8f88d49a5ccbeecdd7f996164"
-  integrity sha512-XqU8BMdIhrlS5HUnn7rGhgZw315bdJGQrf6NG5UH40FSw2xNirQrxnM05aeAplHkp8FNkzN2WX0tfvEWdl2UUA==
-  dependencies:
-    prop-types "^15.7.2"
-
 jsoneditor@^9.5.4:
   version "9.9.2"
   resolved "https://registry.yarnpkg.com/jsoneditor/-/jsoneditor-9.9.2.tgz#176112f71acbf37e977aae8656a17bc33a7a4269"
diff --git a/pkgs/tools/admin/pgadmin/yarn.nix b/pkgs/tools/admin/pgadmin/yarn.nix
index 0dc8367c7ca2..7f4b07621457 100644
--- a/pkgs/tools/admin/pgadmin/yarn.nix
+++ b/pkgs/tools/admin/pgadmin/yarn.nix
@@ -6530,14 +6530,6 @@
       };
     }
     {
-      name = "jsoneditor_react___jsoneditor_react_3.1.2.tgz";
-      path = fetchurl {
-        name = "jsoneditor_react___jsoneditor_react_3.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/jsoneditor-react/-/jsoneditor-react-3.1.2.tgz";
-        sha512 = "XqU8BMdIhrlS5HUnn7rGhgZw315bdJGQrf6NG5UH40FSw2xNirQrxnM05aeAplHkp8FNkzN2WX0tfvEWdl2UUA==";
-      };
-    }
-    {
       name = "jsoneditor___jsoneditor_9.9.2.tgz";
       path = fetchurl {
         name = "jsoneditor___jsoneditor_9.9.2.tgz";
diff --git a/pkgs/tools/admin/pulumi-packages/default.nix b/pkgs/tools/admin/pulumi-packages/default.nix
index 588214980782..5aed6b171783 100644
--- a/pkgs/tools/admin/pulumi-packages/default.nix
+++ b/pkgs/tools/admin/pulumi-packages/default.nix
@@ -7,6 +7,7 @@ in
   pulumi-aws-native = callPackage' ./pulumi-aws-native.nix { };
   pulumi-azure-native = callPackage' ./pulumi-azure-native.nix { };
   pulumi-command = callPackage' ./pulumi-command.nix { };
+  pulumi-language-go = callPackage ./pulumi-language-go.nix { };
   pulumi-language-nodejs = callPackage ./pulumi-language-nodejs.nix { };
   pulumi-language-python = callPackage ./pulumi-language-python.nix { };
   pulumi-random = callPackage' ./pulumi-random.nix { };
diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix b/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix
new file mode 100644
index 000000000000..b43fdbe67270
--- /dev/null
+++ b/pkgs/tools/admin/pulumi-packages/pulumi-language-go.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildGoModule
+, pulumi
+}:
+buildGoModule rec {
+  pname = "pulumi-language-go";
+  inherit (pulumi) version src;
+
+  sourceRoot = "${src.name}/sdk";
+
+  vendorHash = pulumi.sdkVendorHash;
+
+  subPackages = [
+    "go/pulumi-language-go"
+  ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/pulumi/pulumi/sdk/v3/go/common/version.Version=${version}"
+  ];
+  meta = with lib; {
+    description = "Golang language host plugin for Pulumi";
+    homepage = "https://github.com/pulumi/pulumi/tree/master/sdk/go";
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/tools/admin/scalr-cli/default.nix b/pkgs/tools/admin/scalr-cli/default.nix
new file mode 100644
index 000000000000..0b6ee340bb39
--- /dev/null
+++ b/pkgs/tools/admin/scalr-cli/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "scalr-cli";
+  version = "0.14.5";
+
+  src = fetchFromGitHub {
+    owner = "Scalr";
+    repo = "scalr-cli";
+    rev = "v${version}";
+    hash = "sha256-X/fZDM1OYw1a0la8os9TFUrl1h5BnO+C40h2XH32vmw=";
+  };
+
+  vendorHash = "sha256-EdDhq6LnxagutxjiOoYElhHVnSKhr/Ekt928gSooPYY=";
+
+  ldflags = [
+    "-s" "-w"
+  ];
+
+  preConfigure = ''
+    # Set the version.
+    substituteInPlace main.go --replace '"0.0.0"' '"${version}"'
+  '';
+
+  postInstall = ''
+    mv $out/bin/cli $out/bin/scalr
+  '';
+
+  doCheck = false; # Skip tests as they require creating actual Scalr resources.
+
+  meta = with lib; {
+    description = "A command-line tool that communicates directly with the Scalr API.";
+    homepage = "https://github.com/Scalr/scalr-cli";
+    changelog = "https://github.com/Scalr/scalr-cli/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dylanmtaylor ];
+    mainProgram = "scalr";
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/admin/stripe-cli/default.nix b/pkgs/tools/admin/stripe-cli/default.nix
index 141496eaa65c..6b8cfa4ca115 100644
--- a/pkgs/tools/admin/stripe-cli/default.nix
+++ b/pkgs/tools/admin/stripe-cli/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "stripe-cli";
-  version = "1.10.3";
+  version = "1.13.12";
 
   src = fetchFromGitHub {
     owner = "stripe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jos6SZ2ZkUeWOM0ALlsc5a+5kcullNF/2AknTQpRnIc=";
+    hash = "sha256-Zk7Mt2ffhuVT3RB+ZeBRIBybIfEO9AQ4LNVmWU2FutU=";
   };
-  vendorSha256 = "sha256-1c+YtfRy1ey0z117YHHkrCnpb7g+DmM+LR1rjn1YwMQ=";
+  vendorHash = "sha256-rjYV69BWkqIkgyeauAo4KEfbB7cxnwn3VSjLrMrCu1c=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -23,6 +23,16 @@ buildGoModule rec {
   preCheck = ''
     # the tests expect the Version ldflag not to be set
     unset ldflags
+
+    # requires internet access
+    rm pkg/cmd/plugin_cmds_test.go
+    rm pkg/cmd/resources_test.go
+    rm pkg/cmd/root_test.go
+
+    # TODO: no clue why it's broken (1.13.12), remove for now.
+    rm pkg/login/client_login_test.go
+    rm pkg/git/editor_test.go
+    rm pkg/rpcservice/sample_create_test.go
   '' + lib.optionalString (
       # delete plugin tests on all platforms but exact matches
       # https://github.com/stripe/stripe-cli/issues/850
diff --git a/pkgs/tools/admin/syft/default.nix b/pkgs/tools/admin/syft/default.nix
index c17eb73f960e..eb3d1029e02d 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.74.0";
+  version = "0.75.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-AJAm+sgB3fyKYfyVTJsZVx5n7cnWVX5bFm27b1q+6sQ=";
+    hash = "sha256-/PQza+pSIww3CzYcqEB7Ep8yHns62xh52EoqZodBPPI=";
     # 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-iKcz+HFcek07GuK7xTeAKS/QRBt56oDMHy/mzlR8xDo=";
+  vendorHash = "sha256-le660nqfrqW1a79tlY4/UKqN06zHkUpAVPQhYPqNJLU=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index 87c31cf736bb..ac97dac146d9 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -5,17 +5,17 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.38.2";
+  version = "0.38.3";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mQXXS3Hg7bnspdznvThRKaY7aoCB8UsBP6J1tVZKTj4=";
+    sha256 = "sha256-CSqueR++2vL4K8aexpbzawIhN0dJoSvS6Nzrn97hJe4=";
   };
   # hash missmatch on across linux and darwin
   proxyVendor = true;
-  vendorHash = "sha256-PTPhfgI7wheK1brr/YvDh1T01vCu7YoJX8UB+SGV3Zg=";
+  vendorHash = "sha256-ZB3QVMeLtR9bNUnGVqcADf3RHT99b1jiVvBuGYjtJds=";
 
   excludedPackages = "misc";
 
diff --git a/pkgs/tools/cd-dvd/cdrkit/default.nix b/pkgs/tools/cd-dvd/cdrkit/default.nix
index efa663809949..de54827071c6 100644
--- a/pkgs/tools/cd-dvd/cdrkit/default.nix
+++ b/pkgs/tools/cd-dvd/cdrkit/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, cmake, libcap, zlib, bzip2, perl}:
+{lib, stdenv, fetchurl, cmake, libcap, zlib, bzip2, perl, iconv, darwin}:
 
 stdenv.mkDerivation rec {
   pname = "cdrkit";
@@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ libcap zlib bzip2 perl ];
+  buildInputs = [ zlib bzip2 perl ] ++
+    lib.optionals stdenv.isLinux [ libcap ] ++
+    lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Carbon IOKit iconv ]);
 
   hardeningDisable = [ "format" ];
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isMusl "-D__THROW=";
@@ -18,11 +20,31 @@ stdenv.mkDerivation rec {
   # efi-boot-patch extracted from http://arm.koji.fedoraproject.org/koji/rpminfo?rpmID=174244
   patches = [ ./include-path.patch ./cdrkit-1.1.9-efi-boot.patch ./cdrkit-1.1.11-fno-common.patch ];
 
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace libusal/scsi-mac-iokit.c \
+      --replace "IOKit/scsi-commands/SCSITaskLib.h" "IOKit/scsi/SCSITaskLib.h"
+    substituteInPlace genisoimage/sha256.c \
+      --replace "<endian.h>" "<machine/endian.h>"
+    substituteInPlace genisoimage/sha512.c \
+      --replace "<endian.h>" "<machine/endian.h>"
+    substituteInPlace genisoimage/sha256.h \
+      --replace "__THROW" ""
+    substituteInPlace genisoimage/sha512.h \
+      --replace "__THROW" ""
+  '';
+
   preConfigure = lib.optionalString stdenv.hostPlatform.isMusl ''
     substituteInPlace include/xconfig.h.in \
         --replace "#define HAVE_RCMD 1" "#undef HAVE_RCMD"
   '';
 
+  postConfigure = lib.optionalString stdenv.isDarwin ''
+    for f in */CMakeFiles/*.dir/link.txt ; do
+      substituteInPlace "$f" \
+        --replace "-lrt" "-framework IOKit"
+    done
+  '';
+
   postInstall = ''
     # file name compatibility with the old cdrecord (growisofs wants this name)
     ln -s $out/bin/genisoimage $out/bin/mkisofs
@@ -49,6 +71,6 @@ stdenv.mkDerivation rec {
 
     homepage = "http://cdrkit.org/";
     license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/filesystems/stratisd/default.nix b/pkgs/tools/filesystems/stratisd/default.nix
index 0b16c7465294..cdfbe47d8457 100644
--- a/pkgs/tools/filesystems/stratisd/default.nix
+++ b/pkgs/tools/filesystems/stratisd/default.nix
@@ -10,6 +10,7 @@
 , cryptsetup
 , util-linux
 , udev
+, lvm2
 , systemd
 , xfsprogs
 , thin-provisioning-tools
@@ -25,18 +26,18 @@
 
 stdenv.mkDerivation rec {
   pname = "stratisd";
-  version = "3.5.1";
+  version = "3.5.2";
 
   src = fetchFromGitHub {
     owner = "stratis-storage";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PM+griFtuFT9g+Pqx33frWrucVCXSzfyWAJJXAzrMtI=";
+    hash = "sha256-vnN0SO3KbmSQPDGqn4hnrVSxv5ebSDTOoPim1EKWweQ=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
-    hash = "sha256-P5GKMNifnEvGcsg0hGZn6hg3/S44fUIzqf5Qjp4R/EM=";
+    hash = "sha256-Cl/6A3SNMKWzuu1JLYgzzXc8XSp+ws+YtAvfPCXZGEA=";
   };
 
   postPatch = ''
@@ -68,6 +69,7 @@ stdenv.mkDerivation rec {
     cryptsetup
     util-linux
     udev
+    lvm2
   ];
 
   EXECUTABLES_PATHS = lib.makeBinPath ([
diff --git a/pkgs/tools/games/steamtinkerlaunch/default.nix b/pkgs/tools/games/steamtinkerlaunch/default.nix
index d780ba1ddf61..ea64c7208bc9 100644
--- a/pkgs/tools/games/steamtinkerlaunch/default.nix
+++ b/pkgs/tools/games/steamtinkerlaunch/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "steamtinkerlaunch";
-  version = "12.0";
+  version = "12.12";
 
   src = fetchFromGitHub {
     owner = "sonic2kk";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-cEGERh0INc/xetQhALqc+lp/HNDoy3JdTZr/nHlthYc=";
+    hash = "sha256-oigHNfg5rHxRabwUs66ye+chJzivmCIw8mg/GaJLPkg=";
   };
 
   # hardcode PROGCMD because #150841
diff --git a/pkgs/tools/graphics/gifski/default.nix b/pkgs/tools/graphics/gifski/default.nix
index 5723d40141de..4465c68ab3c1 100644
--- a/pkgs/tools/graphics/gifski/default.nix
+++ b/pkgs/tools/graphics/gifski/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gifski";
-  version = "1.10.0";
+  version = "1.10.3";
 
   src = fetchFromGitHub {
     owner = "ImageOptim";
     repo = "gifski";
     rev = version;
-    sha256 = "sha256-JJSAU9z3JOlvfW6AW/P/KrjhOcD0ax8TmqgqM48rlAo=";
+    sha256 = "sha256-P4t16rCKsL6FwDVXDC2XkgUGcAlWCPt1iXoBmhDZRzk=";
   };
 
-  cargoHash = "sha256-UV2iQFbeGvJs8kEowYRNv8DxEGwaIWL1/3A2oUCcauw=";
+  cargoHash = "sha256-IAaaR4DWKnCd9IrqIR3v2dEv4IVEoBwBEJErqLRaVmA=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
 
diff --git a/pkgs/tools/graphics/gmic-qt/default.nix b/pkgs/tools/graphics/gmic-qt/default.nix
index 3d1a9aa6607a..ef301c2b7abe 100644
--- a/pkgs/tools/graphics/gmic-qt/default.nix
+++ b/pkgs/tools/graphics/gmic-qt/default.nix
@@ -1,11 +1,12 @@
 { lib
-, mkDerivation
+, stdenv
 , variant ? "standalone"
 , fetchzip
 , fetchpatch
 , cmake
 , pkg-config
 , ninja
+, wrapQtAppsHook
 , opencv3
 , openexr
 , graphicsmagick
@@ -19,12 +20,6 @@
 , gmic
 , qtbase
 , qttools
-, writeShellScript
-, common-updater-scripts
-, gnugrep
-, gnused
-, coreutils
-, jq
 , nix-update-script
 , gimpPlugins
 }:
@@ -50,20 +45,20 @@ assert lib.assertMsg (builtins.hasAttr variant variants) "gmic-qt variant “${v
 
 assert lib.assertMsg (builtins.all (d: d != null) variants.${variant}.extraDeps or []) "gmic-qt variant “${variant}” is missing one of its dependencies.";
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}";
-  version = "3.2.1";
+  version = "3.2.2";
 
   src = fetchzip {
     url = "https://gmic.eu/files/source/gmic_${version}.tar.gz";
-    hash = "sha256-2lMnn19FcFKnfIjSxOObqxIjqLMUoWgi0ADZBCBePY4=";
+    hash = "sha256-Z6FU0BRTiOIoM6ViYgcwOifat4/IISFJXvyC8PwR5mA=";
   };
 
   patches = [
     (fetchpatch {
-      name = "gmic-qt-3.2.1-fix-system-gmic.patch";
-      url = "https://github.com/c-koi/gmic-qt/commit/e8d7a3523753ff592da63b1d54edf0921c54fe53.patch";
-      hash = "sha256-kBFZo2qvod4pH3oK8gvnmw39x6eMH9zjr4mMcY74mFo=";
+      name = "gmic-3.2.2-cmake-fixes.patch";
+      url = "https://github.com/c-koi/gmic-qt/compare/5379307f9e484ad171b8d09e3572b93d120a9159..420e85e005401d942a3ca5f5c39ee3c867fe8bdd.diff";
+      hash = "sha256-l2y9EFtE3nv8NBSSn6Wo0pLRoYO2hoyb5HZk0QmlSpk=";
     })
   ];
 
@@ -73,6 +68,7 @@ mkDerivation rec {
     cmake
     pkg-config
     ninja
+    wrapQtAppsHook
   ];
 
   buildInputs = [
@@ -119,6 +115,7 @@ mkDerivation rec {
     description = variants.${variant}.description;
     homepage = "http://gmic.eu/";
     license = licenses.gpl3Plus;
+    maintainers = [ maintainers.lilyinstarlight ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix
index 68d07ed734b6..af3e31e37489 100644
--- a/pkgs/tools/graphics/gmic/default.nix
+++ b/pkgs/tools/graphics/gmic/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , fetchurl
 , cmake
 , ninja
@@ -27,31 +26,23 @@
 
 stdenv.mkDerivation rec {
   pname = "gmic";
-  version = "3.2.1";
+  version = "3.2.2";
 
   outputs = [ "out" "lib" "dev" "man" ];
 
   src = fetchFromGitHub {
-    owner = "dtschump";
+    owner = "GreycLab";
     repo = "gmic";
     rev = "v.${version}";
-    hash = "sha256-oEH4GlSV+642TGSJJhV4yzydh1hAQZfzwaiPAZFNQtI=";
+    hash = "sha256-XLDnIs7IRIhQtz+qgdNypJODk6WJRPQ2M6LU6DJ+T7I=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "gmic-3.2.1-fix-system-gmic.patch";
-      url = "https://github.com/GreycLab/gmic/commit/9db3f6a39d9ed67b4279654da88993a8057575ff.patch";
-      hash = "sha256-JznKCs56t6cJ4HLqlhMZjSOupEB8cdkn3j6RgZpcpzo=";
-    })
-  ];
-
   # TODO: build this from source
   # https://github.com/dtschump/gmic/blob/b36b2428db5926af5eea5454f822f369c2d9907e/src/Makefile#L675-L729
   gmic_stdlib = fetchurl {
     name = "gmic_stdlib.h";
     url = "http://gmic.eu/gmic_stdlib${lib.replaceStrings ["."] [""] version}.h";
-    hash = "sha256-f8d9jTVnHwSoyMuiM+Qv86e/BYX9SSx9cl3borihxnc=";
+    hash = "sha256-lABUPhwlzoRODX7z8arOEU0JJszcXREhZ20WRToKNY4=";
   };
 
   nativeBuildInputs = [
@@ -119,7 +110,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Open and full-featured framework for image processing";
     homepage = "https://gmic.eu/";
-    license = licenses.cecill20;
+    license = licenses.cecill21;
+    maintainers = [ maintainers.lilyinstarlight ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/graphics/shot-scraper/default.nix b/pkgs/tools/graphics/shot-scraper/default.nix
new file mode 100644
index 000000000000..ff10e8f3b7cd
--- /dev/null
+++ b/pkgs/tools/graphics/shot-scraper/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "shot-scraper";
+  version = "1.1.1";
+  format = "setuptools";
+
+  disabled = python3.pkgs.pythonOlder "3.6";
+
+  src = python3.pkgs.fetchPypi {
+    inherit pname version;
+    hash = "sha256-YfWiy44rCRXK5xVkmA9X7pAlDhZrk6nS9vbC2eYvjbg=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    click
+    click-default-group
+    playwright
+    pyyaml
+  ];
+
+  # skip tests due to network access
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "shot_scraper"
+  ];
+
+  meta = with lib; {
+    description = "A command-line utility for taking automated screenshots of websites";
+    homepage = "https://github.com/simonw/shot-scraper";
+    changelog = "https://github.com/simonw/shot-scraper/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ techknowlogick ];
+  };
+}
diff --git a/pkgs/tools/graphics/wgpu-utils/default.nix b/pkgs/tools/graphics/wgpu-utils/default.nix
index ce445ce6a00f..fd2a40f41c38 100644
--- a/pkgs/tools/graphics/wgpu-utils/default.nix
+++ b/pkgs/tools/graphics/wgpu-utils/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wgpu-utils";
-  version = "0.15.1";
+  version = "0.15.2";
 
   src = fetchFromGitHub {
     owner = "gfx-rs";
     repo = "wgpu";
     rev = "v${version}";
-    hash = "sha256-MdomiE/qHpyVFlgH5wGsFDiXIp6p1wHXsAtmlo/XfEg=";
+    hash = "sha256-U2e7uOGaVpT/c9EXubkaKkROjog073hVfot2bbB34AY=";
   };
 
-  cargoHash = "sha256-83iQ/YcItRsTfp73xi5LZF8AyvyAXJCHuNWXgc1wHkM=";
+  cargoHash = "sha256-QMw3jTZ5XmX9VBe5uiD7yoUIkWGqZcE1pOS6ljZ5qd0=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/inputmethods/keyd/default.nix b/pkgs/tools/inputmethods/keyd/default.nix
index 4da42e52eaa6..ba0c05164435 100644
--- a/pkgs/tools/inputmethods/keyd/default.nix
+++ b/pkgs/tools/inputmethods/keyd/default.nix
@@ -6,6 +6,7 @@
 , systemd
 , runtimeShell
 , python3
+, nixosTests
 }:
 
 let
@@ -59,11 +60,16 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # post-2.4.2 may need this to unbreak the test
+  # makeFlags = [ "SOCKET_PATH/run/keyd/keyd.socket" ];
+
   postInstall = ''
     ln -sf ${lib.getExe appMap} $out/bin/${appMap.pname}
     rm -rf $out/etc
   '';
 
+  passthru.tests.keyd = nixosTests.keyd;
+
   meta = with lib; {
     description = "A key remapping daemon for linux.";
     license = licenses.mit;
diff --git a/pkgs/tools/misc/archi/default.nix b/pkgs/tools/misc/archi/default.nix
index 14465cc3a945..c9a647d000a0 100644
--- a/pkgs/tools/misc/archi/default.nix
+++ b/pkgs/tools/misc/archi/default.nix
@@ -5,6 +5,8 @@
 , makeWrapper
 , jdk
 , libsecret
+, webkitgtk
+, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -31,6 +33,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     makeWrapper
+    wrapGAppsHook
   ] ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook;
 
   installPhase =
@@ -43,6 +46,7 @@ stdenv.mkDerivation rec {
 
         install -D -m755 Archi $out/libexec/Archi
         makeWrapper $out/libexec/Archi $out/bin/Archi \
+          --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ webkitgtk ])} \
           --prefix PATH : ${jdk}/bin
       ''
     else
diff --git a/pkgs/tools/misc/disfetch/default.nix b/pkgs/tools/misc/disfetch/default.nix
index 57ab08971861..90c2c06626cd 100644
--- a/pkgs/tools/misc/disfetch/default.nix
+++ b/pkgs/tools/misc/disfetch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "disfetch";
-  version = "3.6";
+  version = "3.7";
 
   src = fetchFromGitHub {
     owner = "q60";
     repo = "disfetch";
     rev = version;
-    sha256 = "sha256-/Not2jNwk3jX8TLN7CT3JXDilatSYXPaudGKNAgQDPY=";
+    sha256 = "sha256-xzOE+Pnx0qb3B9vWWrF5Q0nhUo0QYBUO6j6al8N3deY=";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index b54f01c4b00b..378e2e060b39 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "1.16.1";
+  version = "1.16.2";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Cj6VjD0TKAfyLPMJBknOgn/KAVD0BhC0ylDyfRYt5z8=";
+    sha256 = "sha256-BHx44ux+g642aTaV0Wlw/uz/3Vy4MJfuNffgqGDsb6I=";
   };
 
   vendorHash = "sha256-eVuEyQCO2/gufMJp8eUpC82wdJbbJsMKR1ZGv96C9mI=";
diff --git a/pkgs/tools/misc/hyperfine/default.nix b/pkgs/tools/misc/hyperfine/default.nix
index 9a13b249b6da..3cca1891147a 100644
--- a/pkgs/tools/misc/hyperfine/default.nix
+++ b/pkgs/tools/misc/hyperfine/default.nix
@@ -8,14 +8,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hyperfine";
-  version = "1.16.0";
+  version = "1.16.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-cbox7TAgeb0ZPt0i3SphWClAz/mUUgRlFKCOS/E0MT4=";
+    sha256 = "sha256-OdOlFdhIYxBi3e94QAief0xZqVdr+wnbaPFSKJ20DNM=";
   };
 
-  cargoSha256 = "sha256-Bc3twE42iB7NNkI5cPcniEb+JcR1wjc9nx80p6HCDVc=";
+  cargoSha256 = "sha256-RgoMq52GkRbfhsBipMKhCSu3YQoOtDB/Fdg+9OPzGtk=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optional stdenv.isDarwin Security;
diff --git a/pkgs/tools/misc/moar/default.nix b/pkgs/tools/misc/moar/default.nix
index 4a12b8f221a3..2861afee8a07 100644
--- a/pkgs/tools/misc/moar/default.nix
+++ b/pkgs/tools/misc/moar/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "moar";
-  version = "1.11.4";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "walles";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Op9A0C1MnVoNyxTEKARASrKDTIT/vNa01Bnww6BWg0Y=";
+    sha256 = "sha256-5gWPqGrnb/wMdr+AQ1nkl3wUUpmgn3eDTaktWHLDAxc=";
   };
 
-  vendorSha256 = "sha256-XexIBg49gK+b2Zef5eR7NfqFZHPp5DXhlcC3Loh6PfI=";
+  vendorHash = "sha256-aFCv6VxHD1bOLhCHXhy4ubik8Z9uvU6AeqcMqIZI2Oo=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/qmake2cmake/default.nix b/pkgs/tools/misc/qmake2cmake/default.nix
index b00d43a193a2..7ed349af31c1 100644
--- a/pkgs/tools/misc/qmake2cmake/default.nix
+++ b/pkgs/tools/misc/qmake2cmake/default.nix
@@ -3,18 +3,19 @@
 , fetchgit
 , packaging
 , portalocker
+, pyparsing
 , sympy
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "qmake2cmake";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchgit {
     url = "https://codereview.qt-project.org/qt/qmake2cmake";
     rev = "v${version}";
-    hash = "sha256-Ibi7tIaMI44POfoRfKsgTMR3u+Li5UzeHBUNylnc9dw=";
+    hash = "sha256-HzbygFmnKq3E2eEdWCFa4z9Qszfck7dJm2Z5s+il4I0=";
   };
 
   patches = [
@@ -24,6 +25,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     packaging
     portalocker
+    pyparsing
     sympy
   ];
 
diff --git a/pkgs/tools/misc/steampipe/default.nix b/pkgs/tools/misc/steampipe/default.nix
index 893602b071a3..3c72233743f4 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.19.1";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "turbot";
     repo = "steampipe";
     rev = "v${version}";
-    sha256 = "sha256-7UisJORLGGt3Uk7/MOOTHMdotjHgD+tZ0pWzzRbM6Ag=";
+    sha256 = "sha256-CWZ+zsWaI5JULmcJRZggewqArfYpB1G7jyjRPD4WNug=";
   };
 
   vendorHash = "sha256-XrEdaNLG46BwMEF/vhAk9+A6vH4mpbtH7vWXd01Y7ME=";
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index 68d5eeaba2bd..c25da8ec40ba 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -15,7 +15,7 @@ let
     python pytest nose cryptography pyyaml requests mock requests-mock
     python-dateutil setuptools;
 
-  version = "4.18";
+  version = "4.19";
 
 in
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    hash = "sha256-xqiEHfbuyAnQBBzKcWEdGoDSxVYOGI55OCx49YMnNK4=";
+    hash = "sha256-m6Hhg/Ve/JskwRr4l4x/bwD+XswH+XgHQtou95QSWzI=";
   };
 
   pythonPaths = [ cryptography pyyaml requests ];
diff --git a/pkgs/tools/misc/tagref/default.nix b/pkgs/tools/misc/tagref/default.nix
index 30d00eb74d2e..aeec02654822 100644
--- a/pkgs/tools/misc/tagref/default.nix
+++ b/pkgs/tools/misc/tagref/default.nix
@@ -1,16 +1,16 @@
 { lib, fetchFromGitHub, rustPlatform }:
 rustPlatform.buildRustPackage rec {
   pname = "tagref";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "stepchowfun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PZ5ymYXn19PnvimofODh6su9zHdVoa3T7RCWPSO1Z6w=";
+    sha256 = "sha256-tAkRTHstXoGrSDX5h7xOpHHDOdCqdYu3AXoda84ha4g=";
   };
 
-  cargoSha256 = "sha256-6siqfAWFoOomqcRvW+iku28FbyKCHiDzMVIUwWP8hJM=";
+  cargoHash = "sha256-3pD4hocvnfQziGtDvgc4QxnCEHlmsCFK32PI1zEh9z0=";
 
   meta = with lib; {
     description = "Tagref helps you refer to other locations in your codebase.";
diff --git a/pkgs/tools/misc/tmux-mem-cpu-load/default.nix b/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
index 7370a21512d0..23477e46c117 100644
--- a/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
+++ b/pkgs/tools/misc/tmux-mem-cpu-load/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tmux-mem-cpu-load";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchFromGitHub {
     owner = "thewtex";
     repo = "tmux-mem-cpu-load";
     rev = "v${version}";
-    sha256 = "sha256-1smhlp30y0qihm+d9RcCKY1CFbPm5gzago+OIQQT5jE=";
+    sha256 = "sha256-DqUfThAdfwXaZ/2KCw5+68l0vxRd4Ie3lwgz/A/6l5U=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/misc/tmux-xpanes/default.nix b/pkgs/tools/misc/tmux-xpanes/default.nix
index a410eaa9238c..30ecf358388f 100644
--- a/pkgs/tools/misc/tmux-xpanes/default.nix
+++ b/pkgs/tools/misc/tmux-xpanes/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tmux-xpanes";
-  version = "4.1.3";
+  version = "4.1.4";
 
   src = fetchFromGitHub {
     owner = "greymd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-e0dEkkEkColBQ0PgOQpoVbIkR3aVsrMZoSGbg4O11SU=";
+    sha256 = "sha256-kS8VrD0CT350Y1ql6ta47nXdEzmuqEpFJeXRw58yMGc=";
   };
 
   buildInputs = [ openssl perl ];
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
index a9d5aa4e5866..72c31163dbf1 100644
--- a/pkgs/tools/misc/topgrade/default.nix
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "10.3.2";
+  version = "10.3.3";
 
   src = fetchFromGitHub {
     owner = "topgrade-rs";
     repo = "topgrade";
     rev = "v${version}";
-    hash = "sha256-yYRKNiX8JvCP44+mdLIOSjpxaVDz1YUNrj/IZ0bC72Y=";
+    hash = "sha256-LhTUzY2WrauWHYZU5jA6fn3DDheUgfxCPvjVTwUvF4w=";
   };
 
-  cargoHash = "sha256-2b6TOkjoycPA8rwca3nT212Yxl6q2Hmvv0f4Ic9hnWM=";
+  cargoHash = "sha256-ONLZrZjhNcli7ul6fDgVEKm2MS3YYIfPnHS+dmpJHu0=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/misc/wit-bindgen/default.nix b/pkgs/tools/misc/wit-bindgen/default.nix
new file mode 100644
index 000000000000..e26079da481a
--- /dev/null
+++ b/pkgs/tools/misc/wit-bindgen/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "wit-bindgen";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "bytecodealliance";
+    repo = "wit-bindgen";
+    rev = "wit-bindgen-cli-${version}";
+    hash = "sha256-OLBuzYAeUaJrn9cUqw6nStE468TqTUXeUnfkdMO0D3w=";
+  };
+
+  cargoHash = "sha256-blaSgQZweDmkiU0Tck9qmIgpQGDZhgxb1+hs6a4D6Qg=";
+
+  # Some tests fail because they need network access to install the `wasm32-unknown-unknown` target.
+  # However, GitHub Actions ensures a proper build.
+  # See also:
+  #   https://github.com/bytecodealliance/wit-bindgen/actions
+  #   https://github.com/bytecodealliance/wit-bindgen/blob/main/.github/workflows/main.yml
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A language binding generator for WebAssembly interface types";
+    homepage = "https://github.com/bytecodealliance/wit-bindgen";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ xrelkd ];
+  };
+}
diff --git a/pkgs/tools/misc/woeusb-ng/default.nix b/pkgs/tools/misc/woeusb-ng/default.nix
index 6f922afdf37a..f8078c525541 100644
--- a/pkgs/tools/misc/woeusb-ng/default.nix
+++ b/pkgs/tools/misc/woeusb-ng/default.nix
@@ -1,25 +1,49 @@
-{ lib, python3Packages, fetchFromGitHub, p7zip, parted, grub2 }:
+{ lib
+, python3Packages
+, fetchFromGitHub
+, wrapGAppsHook
+, p7zip
+, parted
+, grub2
+}:
+
 with python3Packages;
 
 buildPythonApplication rec {
   pname = "woeusb-ng";
-  version = "0.2.10";
-
-  propagatedBuildInputs = [ p7zip parted grub2 termcolor wxPython_4_0 six ];
+  version = "0.2.12";
 
   src = fetchFromGitHub {
     owner = "WoeUSB";
     repo = "WoeUSB-ng";
     rev = "v${version}";
-    sha256 = "sha256-Nsdk3SMRzj1fqLrp5Na5V3rRDMcIReL8uDb8K2GQNWI=";
+    hash = "sha256-2opSiXbbk0zDRt6WqMh97iAt6/KhwNDopOas+OZn6TU=";
   };
 
-  postInstall = ''
-    # TODO: the gui requires additional polkit-actions to work correctly, therefore it is currently disabled
-    rm $out/bin/woeusbgui
+  postPatch = ''
+    substituteInPlace setup.py WoeUSB/*.py miscellaneous/* \
+      --replace "/usr/local/" "$out/" \
+      --replace "/usr/" "$out/"
+  '';
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+  ];
+
+  propagatedBuildInputs = [
+    p7zip
+    parted
+    grub2
+    termcolor
+    wxPython_4_2
+    six
+  ];
+
+  preConfigure = ''
+    mkdir -p $out/bin $out/share/applications $out/share/polkit-1/actions
   '';
 
-  # checks fail, because of polkit-actions and should be reenabled when the gui is fixed.
+  # Unable to access the X Display, is $DISPLAY set properly?
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index 77e5e9c3ed25..181858a828fb 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -9,6 +9,7 @@
 , pycryptodomex
 , websockets
 , mutagen
+, secretstorage
 , atomicparsleySupport ? true
 , ffmpegSupport ? true
 , rtmpSupport ? true
@@ -28,7 +29,14 @@ buildPythonPackage rec {
     sha256 = "sha256-Jl1dqXp2wV19mkCIpnt4rNXc9vjP2CV8UvWB/5lv9RU=";
   };
 
-  propagatedBuildInputs = [ brotli certifi mutagen pycryptodomex websockets ];
+  propagatedBuildInputs = [
+    brotli
+    certifi
+    mutagen
+    pycryptodomex
+    secretstorage  # "optional", as in not in requirements.txt, needed for `--cookies-from-browser`
+    websockets
+  ];
 
   # Ensure these utilities are available in $PATH:
   # - ffmpeg: post-processing & transcoding support
diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix
index 1ff3a511f692..03faa44d1a27 100644
--- a/pkgs/tools/networking/croc/default.nix
+++ b/pkgs/tools/networking/croc/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "9.6.3";
+  version = "9.6.4";
 
   src = fetchFromGitHub {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nAziLnuLkkPl1/RskKEehvQBMG4sYTEv+uPOQemum9w=";
+    sha256 = "sha256-ksTKB/UInMHxZT7/B13jVK+w78gUF4KINv2HU1qRPgo=";
   };
 
-  vendorSha256 = "sha256-yZ7S/6I5xdrfmyPkZsUUavXum8RqEVrlgrkJMQZc6IQ=";
+  vendorHash = "sha256-d6fsy0ROKX91YkFW2aC2A+pO7dmcmMkoz076z1XcZtE=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/networking/dnsperf/default.nix b/pkgs/tools/networking/dnsperf/default.nix
index d7b1dd365a27..5a7a76cdc66a 100644
--- a/pkgs/tools/networking/dnsperf/default.nix
+++ b/pkgs/tools/networking/dnsperf/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dnsperf";
-  version = "2.11.1";
+  version = "2.11.2";
 
   src = fetchFromGitHub {
     owner = "DNS-OARC";
     repo = "dnsperf";
     rev = "v${version}";
-    sha256 = "sha256-dgPpuX8Geo20BV8g0uhjSdsZUOoC+Dnz4Y2vdMW6KjY=";
+    sha256 = "sha256-vZ2GPrlMHMe2vStjktbyLtXS5SoNzHbNwFi+CL1Z4VQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/networking/gemget/default.nix b/pkgs/tools/networking/gemget/default.nix
index e501172f75e5..84f4894d51bc 100644
--- a/pkgs/tools/networking/gemget/default.nix
+++ b/pkgs/tools/networking/gemget/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gemget";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "makeworld-the-better-one";
     repo = pname;
     rev = "v${version}";
-    sha256 = "PmtIgxnzfLduNGTx8SNDky6juv+NTJ8Cr++SOCk/QNU=";
+    sha256 = "sha256-P5+yRaf2HioKOclJMMm8bJ8/BtBbNEeYU57TceZVqQ8=";
   };
 
-  vendorSha256 = "sha256-Ep6HAJgurxFbA4L77z8V2ar06BBVWlAJS9VoSSUg27U=";
+  vendorHash = "sha256-l8UwkFCCNUB5zyhlyu8YC++MhmcR6midnElCgdj50OU=";
 
   meta = with lib; {
     description = "Command line downloader for the Gemini protocol";
diff --git a/pkgs/tools/networking/guardian-agent/default.nix b/pkgs/tools/networking/guardian-agent/default.nix
index 57080d223fa1..46fcdb8dd47b 100644
--- a/pkgs/tools/networking/guardian-agent/default.nix
+++ b/pkgs/tools/networking/guardian-agent/default.nix
@@ -3,6 +3,7 @@
 , lib
 , autossh
 , makeWrapper
+, stdenv
 }:
 
 buildGoPackage rec {
@@ -41,5 +42,6 @@ buildGoPackage rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ mmahut ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # x/sys/unix needs an update, but software is unmaintained
   };
 }
diff --git a/pkgs/tools/networking/httplz/default.nix b/pkgs/tools/networking/httplz/default.nix
index d32792149974..db2663bc54c9 100644
--- a/pkgs/tools/networking/httplz/default.nix
+++ b/pkgs/tools/networking/httplz/default.nix
@@ -1,37 +1,26 @@
 { lib
 , rustPlatform
 , fetchCrate
-, fetchpatch
 , installShellFiles
 , makeWrapper
 , pkg-config
 , ronn
 , openssl
 , stdenv
-, libiconv
-, Security
+, darwin
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "httplz";
-  version = "1.12.5";
+  version = "1.12.6";
 
   src = fetchCrate {
     inherit version;
     pname = "https";
-    sha256 = "sha256-+nCqMTLrBYNQvoKo1PzkyzRCkKdlE88+NYoJcIlAJts=";
+    sha256 = "sha256-qkhou4Rmv31zwyL8aM7U0YUZwOb3KQMHdOQsOrRI1TA=";
   };
 
-  patches = [
-    # https://github.com/thecoshman/http/pull/151
-    (fetchpatch {
-      name = "fix-rust-1.65-compile.patch";
-      url = "https://github.com/thecoshman/http/commit/6e4c8e97cce09d0d18d4936f90aa643659d813fc.patch";
-      hash = "sha256-mXclXfp2Nzq6Pr9VFmxiOzECGZEQRNOAcXoKhiOyuFs=";
-    })
-  ];
-
-  cargoSha256 = "sha256-odiVIfNJPpagoASnYvdOosHXa37gbQM8Zmvtnao0pAs=";
+  cargoSha256 = "sha256-BuNCKtK9ePV0d9o/DlW098Y4DWTIl0YKyryXMv09Woc=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -41,8 +30,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [
-    libiconv
-    Security
+    darwin.apple_sdk.frameworks.Security
   ];
 
   cargoBuildFlags = [ "--bin" "httplz" ];
diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix
index b3a10fee2c4e..0e30b2181053 100644
--- a/pkgs/tools/networking/miniupnpd/default.nix
+++ b/pkgs/tools/networking/miniupnpd/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, lib, fetchurl, iptables, libuuid, openssl, pkg-config
+{ stdenv, lib, fetchurl, iptables-legacy, libuuid, openssl, pkg-config
 , which, iproute2, gnused, coreutils, gawk, makeWrapper
 , nixosTests
 }:
 
 let
-  scriptBinEnv = lib.makeBinPath [ which iproute2 iptables gnused coreutils gawk ];
+  scriptBinEnv = lib.makeBinPath [ which iproute2 iptables-legacy gnused coreutils gawk ];
 in
 stdenv.mkDerivation rec {
   pname = "miniupnpd";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     sha256 = "0crv975qqppnj27jba96yysq2911y49vjd74sp9vnjb54z0d9pyi";
   };
 
-  buildInputs = [ iptables libuuid openssl ];
+  buildInputs = [ iptables-legacy libuuid openssl ];
   nativeBuildInputs= [ pkg-config makeWrapper ];
 
 
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
 
   passthru.tests = {
     bittorrent-integration = nixosTests.bittorrent;
+    inherit (nixosTests) upnp;
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/ooniprobe-cli/default.nix b/pkgs/tools/networking/ooniprobe-cli/default.nix
index 307fdbebd158..09d1d6e52c44 100644
--- a/pkgs/tools/networking/ooniprobe-cli/default.nix
+++ b/pkgs/tools/networking/ooniprobe-cli/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "ooniprobe-cli";
-  version = "3.17.0";
+  version = "3.17.1";
 
   src = fetchFromGitHub {
     owner = "ooni";
     repo = "probe-cli";
     rev = "v${version}";
-    hash = "sha256-xOWGRDK9HyKU/WrLSLgmKpF82UTxxgIMOL1zCQDjtpU=";
+    hash = "sha256-2BsgSsIIQPzqTfoAunBkwrshZd22aI/AXFfz2tk3/78=";
   };
 
   vendorHash = "sha256-r8kyL9gpdDesY8Mbm4lONAhWC4We26Z9uG7QMt1JT9c=";
diff --git a/pkgs/tools/networking/speedtest-rs/default.nix b/pkgs/tools/networking/speedtest-rs/default.nix
index ecf9801c39be..182f041d2977 100644
--- a/pkgs/tools/networking/speedtest-rs/default.nix
+++ b/pkgs/tools/networking/speedtest-rs/default.nix
@@ -3,6 +3,8 @@
 , fetchFromGitHub
 , openssl
 , pkg-config
+, stdenv
+, darwin
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -16,7 +18,8 @@ rustPlatform.buildRustPackage rec {
     hash = "sha256-/d6A+Arlcc3SCKPSkYXwvqY2BRyAbA33Ah+GddHcc5M=";
   };
 
-  buildInputs = [ openssl ];
+  buildInputs = [ openssl ] ++
+    lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/networking/v2ray/default.nix b/pkgs/tools/networking/v2ray/default.nix
index b8f358a53ead..ffccea276ea6 100644
--- a/pkgs/tools/networking/v2ray/default.nix
+++ b/pkgs/tools/networking/v2ray/default.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "v2ray-core";
-  version = "5.4.0";
+  version = "5.4.1";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "v2ray-core";
     rev = "v${version}";
-    hash = "sha256-dgWpfpJiPYQmVg7CHRE8f9hX5vgC2TuLpTfMAksDurs=";
+    hash = "sha256-LrsLkuLoiZb3Y5BUkg9lB+qd0HHbgRNrixm5BdQMKck=";
   };
 
   # `nix-update` doesn't support `vendorHash` yet.
   # https://github.com/Mic92/nix-update/pull/95
-  vendorSha256 = "sha256-BEMdh1zQdjVEu0GJt6KJyWN5P9cUHfs04iNZWxzZ0Yo=";
+  vendorSha256 = "sha256-0uc+oncdOdIhIygr2ktT7f1qHIeyoVEnjyhzsUMjMBY=";
 
   ldflags = [ "-s" "-w" "-buildid=" ];
 
diff --git a/pkgs/tools/networking/v2raya/default.nix b/pkgs/tools/networking/v2raya/default.nix
index 45a7838b2f6e..022a4c3df9a6 100644
--- a/pkgs/tools/networking/v2raya/default.nix
+++ b/pkgs/tools/networking/v2raya/default.nix
@@ -10,13 +10,13 @@
 }:
 let
   pname = "v2raya";
-  version = "2.0.0";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "v2rayA";
     repo = "v2rayA";
     rev = "v${version}";
-    sha256 = "sha256-1fWcrMd+TSrlS1H0z7XwVCQzZAa8DAFtlekEZNRMAPA=";
+    sha256 = "sha256-C7N23s/GA66gQ5SVXtXcM9lXIjScR3pLYCrf0w2nHfY=";
   };
 
   web = mkYarnPackage {
@@ -45,7 +45,7 @@ buildGoModule {
   inherit pname version;
 
   src = "${src}/service";
-  vendorSha256 = "sha256-Ud4pwS0lz7zSTowg3gXNllfDyj8fu33H1L20szxPcOA=";
+  vendorSha256 = "sha256-vnhqI9G/p+SLLA4sre2wfmg1RKIYZmzeL0pSTbHb+Ck=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/nix/nix-init/default.nix b/pkgs/tools/nix/nix-init/default.nix
index c60f88022ccc..2b207ce03cb6 100644
--- a/pkgs/tools/nix/nix-init/default.nix
+++ b/pkgs/tools/nix/nix-init/default.nix
@@ -1,43 +1,80 @@
 { lib
+, writeText
 , rustPlatform
 , fetchFromGitHub
+, curl
 , installShellFiles
 , makeWrapper
 , pkg-config
+, bzip2
+, libgit2_1_5
+, openssl
+, zlib
 , zstd
 , stdenv
 , darwin
+, spdx-license-list-data
 , nix
 , nurl
-, callPackage
-, spdx-license-list-data
 }:
 
+let
+  get-nix-license = import ./get-nix-license.nix {
+    inherit lib writeText;
+  };
+in
+
 rustPlatform.buildRustPackage rec {
   pname = "nix-init";
-  version = "0.1.1";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nix-init";
     rev = "v${version}";
-    hash = "sha256-x9UrBCnEGz6nI1XGBLjIeiF3qi3EvynAfafiuhQdt9Q=";
+    hash = "sha256-SvoKw0Ep8NGknu+6qd6xW6hfH261kFD6DjZhPXQpzs0=";
   };
 
-  cargoHash = "sha256-RUfprANAbj8w8LPRwQEF9SD9fhWb1CEcwbvOa6DX9Xk=";
+  cargoHash = "sha256-lm4Y/ZTRMiBp3ECKnHZBvwM8Qso+rilT3BDxzfcnpHQ=";
 
   nativeBuildInputs = [
+    curl
     installShellFiles
     makeWrapper
     pkg-config
   ];
 
   buildInputs = [
+    bzip2
+    curl
+    libgit2_1_5
+    openssl
+    zlib
     zstd
   ] ++ lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.Security
+  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
+    darwin.apple_sdk.frameworks.CoreFoundation
   ];
 
+  buildNoDefaultFeatures = true;
+
+  checkFlags = [
+    # requires internet access
+    "--skip=lang::rust::tests"
+  ];
+
+  postPatch = ''
+    mkdir -p data
+    ln -s ${get-nix-license} data/get-nix-license.rs
+  '';
+
+  preBuild = ''
+    cargo run -p license-store-cache \
+      -j $NIX_BUILD_CORES --frozen \
+      data/license-store-cache.zstd ${spdx-license-list-data.json}/json/details
+  '';
+
   postInstall = ''
     wrapProgram $out/bin/nix-init \
       --prefix PATH : ${lib.makeBinPath [ nix nurl ]}
@@ -46,8 +83,6 @@ rustPlatform.buildRustPackage rec {
   '';
 
   GEN_ARTIFACTS = "artifacts";
-  NIX_LICENSES = callPackage ./license.nix { };
-  SPDX_LICENSE_LIST_DATA = "${spdx-license-list-data.json}/json/details";
   ZSTD_SYS_USE_PKG_CONFIG = true;
 
   meta = with lib; {
diff --git a/pkgs/tools/nix/nix-init/license.nix b/pkgs/tools/nix/nix-init/get-nix-license.nix
index 0a1ad4fce122..2aa514bd3465 100644
--- a/pkgs/tools/nix/nix-init/license.nix
+++ b/pkgs/tools/nix/nix-init/get-nix-license.nix
@@ -1,10 +1,12 @@
-# vendored from src/licenses.nix
+# vendored from src/get-nix-license.nix
 
 { lib, writeText }:
 
 let
   inherit (lib)
+    attrNames
     concatMapAttrs
+    concatStringsSep
     filterAttrs
     flip
     id
@@ -14,9 +16,6 @@ let
     optionalAttrs
     pipe
     warn
-    attrNames
-    concatStringsSep
-    length
     ;
 
   licenseMap = flip concatMapAttrs licenses
@@ -60,18 +59,17 @@ let
       else
         warn "${k}: ${concatStringsSep ", " v}"));
 
-  inserts = lint (mapAttrsToList
-    (k: v: ''  xs.insert("${k}", "${v}");'')
-    (deprecatedAliases // licenseMap));
+  arms = lint (concatStringsSep "\n        "
+    (mapAttrsToList
+      (k: v: ''"${k}" => Some("${v}"),'')
+      (deprecatedAliases // licenseMap)));
 in
 
-writeText "license.rs" ''
-  fn get_nix_licenses() -> rustc_hash::FxHashMap<&'static str, &'static str> {
-      let mut xs = std::collections::HashMap::with_capacity_and_hasher(
-          ${toString (length inserts)},
-          Default::default(),
-      );
-      ${concatStringsSep "\n    " inserts}
-      xs
+writeText "get-nix-license.rs" ''
+  pub fn get_nix_license(license: &str) -> Option<&'static str> {
+      match license {
+          ${arms}
+          _ => None,
+      }
   }
 ''
diff --git a/pkgs/tools/package-management/ciel/default.nix b/pkgs/tools/package-management/ciel/default.nix
new file mode 100644
index 000000000000..0fe289011640
--- /dev/null
+++ b/pkgs/tools/package-management/ciel/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, bash
+, dbus
+, fetchFromGitHub
+, fetchpatch
+, installShellFiles
+, libgit2
+, libssh2
+, openssl
+, pkg-config
+, rustPlatform
+, systemd
+, xz
+, zlib
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ciel";
+  version = "3.1.4";
+
+  src = fetchFromGitHub {
+    owner = "AOSC-Dev";
+    repo = "ciel-rs";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-b8oTVtDcxrV41OtfuthIxjbgZTANCfYHQLRJnnEc93c=";
+  };
+
+  cargoHash = "sha256-11/Yf1hTKYRsQKzvwYXgyPuhIZwshwSJ8sNykUQRdoo=";
+
+  nativeBuildInputs = [ pkg-config installShellFiles ];
+
+  # ciel has plugins which is actually bash scripts.
+  # Therefore, bash is required for plugins to work.
+  buildInputs = [ bash systemd dbus openssl libssh2 libgit2 xz zlib ];
+
+  patches = [
+    # cli,completions: use canonicalize path to find libexec location
+    # FIXME: remove this patch after https://github.com/AOSC-Dev/ciel-rs/pull/16 is merged
+    (fetchpatch {
+      name = "use-canonicalize-path-to-find-libexec.patch";
+      url = "https://github.com/AOSC-Dev/ciel-rs/pull/16.patch";
+      sha256 = "sha256-ELK2KpOuoBS774apomUIo8q1eXYs/FX895G7eBdgOQg=";
+    })
+  ];
+
+  postInstall = ''
+    mv -v "$out/bin/ciel-rs" "$out/bin/ciel"
+
+    # From install-assets.sh
+    install -Dm555 -t "$out/libexec/ciel-plugin" plugins/*
+
+    # Install completions
+    installShellCompletion --cmd ciel \
+      --bash completions/ciel.bash \
+      --fish completions/ciel.fish \
+      --zsh completions/_ciel
+  '';
+
+  meta = with lib; {
+    description = "A tool for controlling AOSC OS packaging environments using multi-layer filesystems and containers.";
+    homepage = "https://github.com/AOSC-Dev/ciel-rs";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ yisuidenghua ];
+  };
+}
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index f92a7b23280f..cb1c67e2e90d 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -1,20 +1,22 @@
-{ lib, stdenv, fetchurl, perl, zlib, bzip2, xz, zstd
-, makeWrapper, coreutils, autoreconfHook, pkg-config
+{ lib, stdenv, fetchgit, perl, gnutar, zlib, bzip2, xz, zstd
+, libmd, makeWrapper, coreutils, autoreconfHook, pkg-config
 }:
 
 stdenv.mkDerivation rec {
   pname = "dpkg";
-  version = "1.21.1ubuntu2.1";
+  version = "1.21.21ubuntu1";
 
-  src = fetchurl {
-    url = "mirror://ubuntu/pool/main/d/dpkg/dpkg_${version}.tar.xz";
-    sha256 = "sha256-YvVQbQn2MhOIOE43VO0H1QsKIYCsjNAFzKMoFeSrqZk=";
+  src = fetchgit {
+    url = "https://git.launchpad.net/ubuntu/+source/dpkg";
+    rev = "applied/${version}";
+    hash = "sha256-ZrJdf4oEvNeSMVHB8/TJgz5+YqLhih70ktLdnDurhUc=";
   };
 
   configureFlags = [
     "--disable-dselect"
     "--with-admindir=/var/lib/dpkg"
     "PERL_LIBDIR=$(out)/${perl.libPrefix}"
+    "TAR=${gnutar}/bin/tar"
     (lib.optionalString stdenv.isDarwin "--disable-linker-optimisations")
     (lib.optionalString stdenv.isDarwin "--disable-start-stop-daemon")
   ];
@@ -53,7 +55,7 @@ stdenv.mkDerivation rec {
        --replace '"diff"' \"${coreutils}/bin/diff\"
   '';
 
-  buildInputs = [ perl zlib bzip2 xz zstd ];
+  buildInputs = [ perl zlib bzip2 xz zstd libmd ];
   nativeBuildInputs = [ makeWrapper perl autoreconfHook pkg-config ];
 
   postInstall =
diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix
index bf407558d485..6577334b228e 100644
--- a/pkgs/tools/package-management/nfpm/default.nix
+++ b/pkgs/tools/package-management/nfpm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "2.26.0";
+  version = "2.27.1";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MRtmfRriHArmzSfSr4Wf3+2wA3sOlHZs2HKQ2d+Bd20=";
+    sha256 = "sha256-77E8TXTzU37/V1VmfwUjt/4MiFOrNG+sOHch/brb8bY=";
   };
 
-  vendorHash = "sha256-UUpi/6R36g6ofnEmn/qxEeJlzM/INYD4FuvRaBZ6pss=";
+  vendorHash = "sha256-+Ph0QpDnucf6brWFP05x+s5fCHijaXA7rO1hbesU1Sk=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/tools/package-management/nix-update/default.nix b/pkgs/tools/package-management/nix-update/default.nix
index 8b8e6d811d53..81d518e1b24c 100644
--- a/pkgs/tools/package-management/nix-update/default.nix
+++ b/pkgs/tools/package-management/nix-update/default.nix
@@ -1,25 +1,26 @@
 { lib
-, buildPythonApplication
+, python3
 , fetchFromGitHub
 , nix
+, nix-prefetch-git
 , nixpkgs-fmt
 , nixpkgs-review
 }:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "nix-update";
-  version = "0.15.1";
+  version = "0.16.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = pname;
     rev = version;
-    sha256 = "sha256-AYw2czg8HwA/ATQZO0snfb5GRsz77J6cPGDQ8b4W6AI=";
+    hash = "sha256-4Hrumb4c0861Aorzfk0eM3++XiWkGopnMuIdb+MTKlo=";
   };
 
   makeWrapperArgs = [
-    "--prefix" "PATH" ":" (lib.makeBinPath [ nix nixpkgs-fmt nixpkgs-review ])
+    "--prefix" "PATH" ":" (lib.makeBinPath [ nix nix-prefetch-git nixpkgs-fmt nixpkgs-review ])
   ];
 
   checkPhase = ''
diff --git a/pkgs/tools/package-management/nixpkgs-review/default.nix b/pkgs/tools/package-management/nixpkgs-review/default.nix
index 95a86032c13e..a864f02ea4fa 100644
--- a/pkgs/tools/package-management/nixpkgs-review/default.nix
+++ b/pkgs/tools/package-management/nixpkgs-review/default.nix
@@ -3,31 +3,35 @@
 , fetchFromGitHub
 
 , bubblewrap
+, nix-output-monitor
 , cacert
 , git
 , nix
 
 , withSandboxSupport ? false
+, withNom ? false
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "nixpkgs-review";
-  version = "2.8.0";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "nixpkgs-review";
     rev = version;
-    sha256 = "sha256-v8IRRmONb10sPndfsuaUYMrGbbosj48cbfgANZCtIN0=";
+    sha256 = "sha256-SNAroKkPXiX5baGPRYnzqiVwPwko/Uari/tvjIU7/4k=";
   };
 
   makeWrapperArgs =
     let
-      binPath = [ nix git ] ++ lib.optional withSandboxSupport bubblewrap;
+      binPath = [ nix git ]
+        ++ lib.optional withSandboxSupport bubblewrap
+        ++ lib.optional withNom nix-output-monitor;
     in
     [
       "--prefix PATH : ${lib.makeBinPath binPath}"
-      "--set NIX_SSL_CERT_FILE ${cacert}/etc/ssl/certs/ca-bundle.crt"
+      "--set-default NIX_SSL_CERT_FILE ${cacert}/etc/ssl/certs/ca-bundle.crt"
       # we don't have any runtime deps but nix-review shells might inject unwanted dependencies
       "--unset PYTHONPATH"
     ];
diff --git a/pkgs/tools/package-management/poetry/default.nix b/pkgs/tools/package-management/poetry/default.nix
index 590639db3669..5d132c7a842c 100644
--- a/pkgs/tools/package-management/poetry/default.nix
+++ b/pkgs/tools/package-management/poetry/default.nix
@@ -19,6 +19,15 @@ let
         };
         SETUPTOOLS_SCM_PRETEND_VERSION = version;
       });
+      poetry-core = super.poetry-core.overridePythonAttrs (old: rec {
+        version = "1.5.2";
+        src = fetchFromGitHub {
+          owner = "python-poetry";
+          repo = "poetry-core";
+          rev = version;
+          hash = "sha256-GpZ0vMByHTu5kl7KrrFFK2aZMmkNO7xOEc8NI2H9k34=";
+        };
+      });
     };
   };
 
diff --git a/pkgs/tools/package-management/poetry/plugins/poetry-plugin-up.nix b/pkgs/tools/package-management/poetry/plugins/poetry-plugin-up.nix
index e84546573dac..71b7b96c486d 100644
--- a/pkgs/tools/package-management/poetry/plugins/poetry-plugin-up.nix
+++ b/pkgs/tools/package-management/poetry/plugins/poetry-plugin-up.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "poetry-plugin-up";
-  version = "0.2.1";
+  version = "0.3.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "MousaZeidBaker";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-16p0emvgWa56Km8U5HualCSStbulqyINbC3Jez9Y1n0=";
+    hash = "sha256-QDfXgLkwh5rfyNZv0S7+cq6ubldXsbuCiTr6VYx8ZQs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/package-management/poetry/unwrapped.nix b/pkgs/tools/package-management/poetry/unwrapped.nix
index 56958df7e82f..a095afeadf9c 100644
--- a/pkgs/tools/package-management/poetry/unwrapped.nix
+++ b/pkgs/tools/package-management/poetry/unwrapped.nix
@@ -44,7 +44,7 @@
 
 buildPythonPackage rec {
   pname = "poetry";
-  version = "1.4.0";
+  version = "1.4.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -53,7 +53,7 @@ buildPythonPackage rec {
     owner = "python-poetry";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-vbG9nsrCvytpKLJbC1EKeyTSjaDlsKvdRCwT6aSq6B4=";
+    hash = "sha256-jNRFtEhaswG5RmFxpVcchIe6u2BCyoeNzneWR+9SuCY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/asnmap/default.nix b/pkgs/tools/security/asnmap/default.nix
index 72420b7c7456..cafc5d4f8d02 100644
--- a/pkgs/tools/security/asnmap/default.nix
+++ b/pkgs/tools/security/asnmap/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "asnmap";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-auVdBt8XT0qvEC9TfuROBbV/D6uQXBODZs/vrkJolwI=";
+    hash = "sha256-7yKOeKSsexqLZ+ep7+mft6GlHrZiwv6OOCeERZu7gAE=";
   };
 
-  vendorHash = "sha256-6z40pIj6cgC7lXS2qDhkYec5zIrmjHzh2W0U5BDmSzU=";
+  vendorHash = "sha256-VmbmRkJB5jme8j/ONMkbsITJxg5inxYnb5AoKUR3Uzg=";
 
   # Tests require network access
   doCheck = false;
diff --git a/pkgs/tools/security/cloudfox/default.nix b/pkgs/tools/security/cloudfox/default.nix
index dc58effa2ac2..3112974009ee 100644
--- a/pkgs/tools/security/cloudfox/default.nix
+++ b/pkgs/tools/security/cloudfox/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "cloudfox";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "BishopFox";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-kB6nH/5/76r9SGyaFPXjwgZ+b5ha85Z7v1GFNgqluDY=";
+    hash = "sha256-VhrWDeY2RmEvWQ9rGMde662y8j64YcKyzNdRS0V5FXc=";
   };
 
   vendorHash = "sha256-v8rEsp2mDgfjCO2VvWNIxex8F350MDnZ40bR4szv+3o=";
diff --git a/pkgs/tools/security/cloudhunter/default.nix b/pkgs/tools/security/cloudhunter/default.nix
new file mode 100644
index 000000000000..109bd5a9df7a
--- /dev/null
+++ b/pkgs/tools/security/cloudhunter/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, python3
+, fetchFromGitHub
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "cloudhunter";
+  version = "0.7.0";
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "belane";
+    repo = "CloudHunter";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-yRl3x1dboOcoPeKxpUEhDk8OJx1hynEJRHL9/Su8OyA=";
+  };
+
+  postPatch = ''
+    substituteInPlace cloudhunter.py \
+      --replace "'permutations.txt'" "'$out/share/permutations.txt'" \
+      --replace "'resolvers.txt'" "'$out/share/resolvers.txt'"
+  '';
+
+  propagatedBuildInputs = with python3.pkgs; [
+    beautifulsoup4
+    dnspython
+    requests
+    tldextract
+    urllib3
+    xmltodict
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -vD cloudhunter.py $out/bin/cloudhunter
+    install -vD  permutations-big.txt permutations.txt resolvers.txt -t $out/share
+    install -vd $out/${python3.sitePackages}/
+    runHook postInstall
+  '';
+
+  # Project has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Cloud bucket scanner";
+    homepage = "https://github.com/belane/CloudHunter";
+    changelog = "https://github.com/belane/CloudHunter/releases/tag/v${version}";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index f963b607cf40..0c513dad0dde 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 = "2023-03-15";
+  version = "2023-03-22";
 
   src = fetchFromGitLab {
     owner = "exploit-database";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-qP14hkYO8gXD9C3B6uhBnYDx3YZMbbvtzHOSKFtFSmA=";
+    hash = "sha256-8kh4m27KU7drAXmpBTp34YvSmZ5cqFPSaXqedyGOwuY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index daa0e8471158..780f1b4dfb0c 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -1,18 +1,17 @@
 { lib, stdenv, fetchFromGitHub
 , python3
-, fetchpatch
 , installShellFiles
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "fail2ban";
-  version = "0.11.2";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "fail2ban";
     repo = "fail2ban";
     rev = version;
-    sha256 = "q4U9iWCa1zg8sA+6pPNejt6v/41WGIKN5wITJCrCqQE=";
+    hash = "sha256-Zd8zLkFlvXTbeInEkNFyHgcAiOsX4WwF6hf5juSQvbY=";
   };
 
   outputs = [ "out" "man" ];
@@ -25,31 +24,13 @@ python3.pkgs.buildPythonApplication rec {
       pyinotify
     ];
 
-  patches = [
-    # remove references to use_2to3, for setuptools>=58
-    # has been merged into master, remove next release
-    (fetchpatch {
-      url = "https://github.com/fail2ban/fail2ban/commit/5ac303df8a171f748330d4c645ccbf1c2c7f3497.patch";
-      sha256 = "sha256-aozQJHwPcJTe/D/PLQzBk1YH3OAP6Qm7wO7cai5CVYI=";
-    })
-    # fix use of MutableMapping with Python >= 3.10
-    # https://github.com/fail2ban/fail2ban/issues/3142
-    (fetchpatch {
-      url = "https://github.com/fail2ban/fail2ban/commit/294ec73f629d0e29cece3a1eb5dd60b6fccea41f.patch";
-      sha256 = "sha256-Eimm4xjBDYNn5QdTyMqGgT5EXsZdd/txxcWJojXlsFE=";
-    })
-  ];
-
   preConfigure = ''
-    # workaround for setuptools 58+
-    # https://github.com/fail2ban/fail2ban/issues/3098
     patchShebangs fail2ban-2to3
     ./fail2ban-2to3
 
     for i in config/action.d/sendmail*.conf; do
       substituteInPlace $i \
-        --replace /usr/sbin/sendmail sendmail \
-        --replace /usr/bin/whois whois
+        --replace /usr/sbin/sendmail sendmail
     done
 
     substituteInPlace config/filter.d/dovecot.conf \
@@ -65,15 +46,17 @@ python3.pkgs.buildPythonApplication rec {
     ${python3.interpreter} setup.py install_data --install-dir=$out --root=$out
   '';
 
-  postPatch = ''
-    ${stdenv.shell} ./fail2ban-2to3
-  '';
-
   postInstall =
     let
       sitePackages = "$out/${python3.sitePackages}";
     in
     ''
+      install -m 644 -D -t "$out/lib/systemd/system" build/fail2ban.service
+      # Replace binary paths
+      sed -i "s#build/bdist.*/wheel/fail2ban.*/scripts/#$out/bin/#g" $out/lib/systemd/system/fail2ban.service
+      # Delete creating the runtime directory, systemd does that
+      sed -i "/ExecStartPre/d" $out/lib/systemd/system/fail2ban.service
+
       # see https://github.com/NixOS/nixpkgs/issues/4968
       rm -r "${sitePackages}/etc"
 
@@ -88,6 +71,5 @@ python3.pkgs.buildPythonApplication rec {
     description = "A program that scans log files for repeated failing login attempts and bans IP addresses";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ eelco lovek323 ];
-    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/feroxbuster/default.nix b/pkgs/tools/security/feroxbuster/default.nix
index 985d328decb8..bc927a522aa7 100644
--- a/pkgs/tools/security/feroxbuster/default.nix
+++ b/pkgs/tools/security/feroxbuster/default.nix
@@ -9,13 +9,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "feroxbuster";
-  version = "2.7.1";
+  version = "2.9.2";
 
   src = fetchFromGitHub {
     owner = "epi052";
     repo = pname;
-    rev = version;
-    hash = "sha256-B6FeY5pWW5+y/0HlVedkm8ol2z9GXgEYe5j7/uMhqsw=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-HSZqqZngXs5ACsk9xzaqBWK5mUxPyGx3qJOtTURXPgg=";
   };
 
   # disable linker overrides on aarch64-linux
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
     rm .cargo/config
   '';
 
-  cargoSha256 = "sha256-OFgt8yu2wlvkP/wjlmRRl8UyD9MUx9/0Rcs6K8jLkjo=";
+  cargoHash = "sha256-pisMqSgW6uPlBXgTUqJBJya84dRmbOJbEYYezuut6Wo=";
 
   OPENSSL_NO_VENDOR = true;
 
diff --git a/pkgs/tools/security/naabu/default.nix b/pkgs/tools/security/naabu/default.nix
index 041a066ed37f..e32fdbf776db 100644
--- a/pkgs/tools/security/naabu/default.nix
+++ b/pkgs/tools/security/naabu/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "naabu";
-  version = "2.1.2";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "naabu";
     rev = "refs/tags/v${version}";
-    hash = "sha256-o+5UOyFg1jhFmBDtkVPgJVk50fPt0uxvV6qiPrRtQZw=";
+    hash = "sha256-QmUGSpuicJnrReAI/XSR8g1t6Tl0vZBUjemrQSO8CiY=";
   };
 
-  vendorHash = "sha256-Y7eQeoTt0TM4ZKWKVbltYY+k9Vq0TroVywQduwvlLQg=";
+  vendorHash = "sha256-YB2gZYoAyoIK44DTfHvYOyhNggkp4HaC2dvtCy2hc38=";
 
   buildInputs = [
     libpcap
diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix
index 9e534298198c..13ea6a8992e8 100644
--- a/pkgs/tools/security/nuclei/default.nix
+++ b/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "2.8.9";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-YjcvxDCIXHyc/7+lpg29wDrpe8WmQPWbhXvpIpWO17k=";
+    hash = "sha256-158nIO3HvLjc9IuL0Yt92VPHgASKEQy/eTOByMehHC8=";
   };
 
-  vendorHash = "sha256-DE2S70Jfd6Vgx7BXGbhSWTbRIbp8cbiuf8bolHCYMxg=";
+  vendorHash = "sha256-k4Dq1GjRzdD4vkydMWFWVQZR/mwGjZCcy7Gr5QDejUs=";
 
   modRoot = "./v2";
   subPackages = [
diff --git a/pkgs/tools/security/openpgp-card-tools/default.nix b/pkgs/tools/security/openpgp-card-tools/default.nix
index 3b0b5ee14d1c..a308a58aa286 100644
--- a/pkgs/tools/security/openpgp-card-tools/default.nix
+++ b/pkgs/tools/security/openpgp-card-tools/default.nix
@@ -12,14 +12,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "openpgp-card-tools";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-Wgj6YZSQj8+BcyPboUTadUOg6Gq6VxV4GRW8TWbnRfc=";
+    sha256 = "sha256-dpXoUJaTrBr4QMehE03BD+704lTNBvfGoAIv9d17A6Q=";
   };
 
-  cargoHash = "sha256-u6xzKDCtv5FzaYgn5wab6ZPICJ/DaqUxiRS80xaEa1A=";
+  cargoHash = "sha256-qxKLpxYQTb+8NxOeimnR2SlyfPiZPl0gX8JCSqjZyM0=";
 
   nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ];
   buildInputs = [ pcsclite nettle ] ++ lib.optionals stdenv.isDarwin [ PCSC ];
diff --git a/pkgs/tools/security/sbsigntool/default.nix b/pkgs/tools/security/sbsigntool/default.nix
index 8bbc52b10aff..4422dd16b474 100644
--- a/pkgs/tools/security/sbsigntool/default.nix
+++ b/pkgs/tools/security/sbsigntool/default.nix
@@ -5,12 +5,12 @@
 
 stdenv.mkDerivation rec {
   pname = "sbsigntool";
-  version = "0.9.4";
+  version = "0.9.5";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git";
     rev = "v${version}";
-    sha256 = "sha256-dbjdA+hjII/k7wABTTJV5RBdy4KlNkFlBWEaX4zn5vg=";
+    hash = "sha256-5DInWgl1gThjjfGOsts1H1s1GbMCkd0gjbmG3gA3Fhg=";
   };
 
   patches = [ ./autoconf.patch ];
diff --git a/pkgs/tools/security/slsa-verifier/default.nix b/pkgs/tools/security/slsa-verifier/default.nix
index 188052452db2..c02ff85f04f6 100644
--- a/pkgs/tools/security/slsa-verifier/default.nix
+++ b/pkgs/tools/security/slsa-verifier/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "slsa-verifier";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "slsa-framework";
     repo = "slsa-verifier";
     rev = "v${version}";
-    hash = "sha256-Gef8TQSd6bTWIzFOQ9xjqB49We7IKBu9p/Lb426nNbc=";
+    hash = "sha256-Y4qZMECw3o8Mr4w2mYe2sUyYes4J+SkO3rqfiuSYw2Y=";
   };
 
-  vendorHash = "sha256-1syIEjvqYHCiOLf8Fc2vghFKfN6ADM05By11jGNZODs=";
+  vendorHash = "sha256-xDJLt9aQW3hJtbC15R+eMRVQOi/dYuYMWMsGNCkjaSQ=";
 
   CGO_ENABLED = 0;
   GO111MODULE = "on";
diff --git a/pkgs/tools/security/step-kms-plugin/default.nix b/pkgs/tools/security/step-kms-plugin/default.nix
index eacfea39bd76..316729e4fe6a 100644
--- a/pkgs/tools/security/step-kms-plugin/default.nix
+++ b/pkgs/tools/security/step-kms-plugin/default.nix
@@ -11,16 +11,16 @@
 
 buildGoModule rec {
   pname = "step-kms-plugin";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-5oMkR997ZbPpOqazpyxEvLKbak7THAu855FC6a/Tr+4=";
+    hash = "sha256-VHQuNJzOYr5aLQqlzx6mDPBOKw6OSPSXBiEopKLuUo0=";
   };
 
-  vendorHash = "sha256-Zd2rZez5vP9uL5dolGHO8FR0ARoYP78amcakK/lKtdc=";
+  vendorHash = "sha256-o6mylylpfQyswXA0kCADjqYFE0XDW9ZYglwDMpFRiu8=";
 
   proxyVendor = true;
 
diff --git a/pkgs/tools/security/yubihsm-connector/default.nix b/pkgs/tools/security/yubihsm-connector/default.nix
index 24371f8a983e..8e56cc6a227e 100644
--- a/pkgs/tools/security/yubihsm-connector/default.nix
+++ b/pkgs/tools/security/yubihsm-connector/default.nix
@@ -2,22 +2,16 @@
 
 buildGoModule rec {
   pname = "yubihsm-connector";
-  version = "3.0.2";
+  version = "3.0.4";
 
   src = fetchFromGitHub {
     owner = "Yubico";
     repo = "yubihsm-connector";
     rev = version;
-    sha256 = "FQ64tSZN55QpXjMZITzlWOPTKSgnoCpkRngQUQHVavc=";
+    hash = "sha256-snoQZsmKQPcsB5EpZc4yon02QbxNU5B5TAwRPjs1O5I=";
   };
 
-  vendorSha256 = "kVBzdJk/1LvjdUtLqHAw9ZxDfCo3mBWVMYG/nQXpDrk=";
-
-  patches = [
-    # Awaiting a new release to fix the upstream lockfile
-    # https://github.com/Yubico/yubihsm-connector/issues/36
-    ./lockfile-fix.patch
-  ];
+  vendorHash = "sha256-XW7rEHY3S+M3b6QjmINgrCak+BqCEV3PJP90jz7J47A=";
 
   nativeBuildInputs = [
     pkg-config
@@ -27,6 +21,8 @@ buildGoModule rec {
     libusb1
   ];
 
+  ldflags = [ "-s" "-w" ];
+
   preBuild = ''
     go generate
   '';
diff --git a/pkgs/tools/security/yubihsm-connector/lockfile-fix.patch b/pkgs/tools/security/yubihsm-connector/lockfile-fix.patch
deleted file mode 100644
index 96fdb0ec64b8..000000000000
--- a/pkgs/tools/security/yubihsm-connector/lockfile-fix.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-diff --git a/go.mod b/go.mod
-index ac22dc6..0ef56b2 100644
---- a/go.mod
-+++ b/go.mod
-@@ -1,21 +1,32 @@
- module github.com/Yubico/yubihsm-connector
-
-+go 1.17
-+
- require (
- 	github.com/google/gousb v1.1.0
- 	github.com/google/uuid v1.1.1
- 	github.com/kardianos/service v1.0.0
-+	github.com/notdpate/evloghook v0.0.0-20180503050227-f202fa6c9ebb
-+	github.com/sirupsen/logrus v1.4.2
-+	github.com/spf13/cobra v0.0.5
-+	github.com/spf13/viper v1.4.0
-+	gopkg.in/yaml.v2 v2.2.2
-+)
-+
-+require (
-+	github.com/fsnotify/fsnotify v1.4.7 // indirect
-+	github.com/hashicorp/hcl v1.0.0 // indirect
-+	github.com/inconshreveable/mousetrap v1.0.0 // indirect
- 	github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect
- 	github.com/magiconair/properties v1.8.1 // indirect
--	github.com/notdpate/evloghook v0.0.0-20180503050227-f202fa6c9ebb
-+	github.com/mitchellh/mapstructure v1.1.2 // indirect
- 	github.com/pelletier/go-toml v1.4.0 // indirect
--	github.com/sirupsen/logrus v1.4.2
- 	github.com/spf13/afero v1.2.2 // indirect
--	github.com/spf13/cobra v0.0.5
-+	github.com/spf13/cast v1.3.0 // indirect
- 	github.com/spf13/jwalterweatherman v1.1.0 // indirect
--	github.com/spf13/viper v1.4.0
-+	github.com/spf13/pflag v1.0.3 // indirect
- 	github.com/stretchr/testify v1.4.0 // indirect
- 	golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 // indirect
- 	golang.org/x/text v0.3.2 // indirect
- 	gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
--	gopkg.in/yaml.v2 v2.2.2
- )
-diff --git a/go.sum b/go.sum
-index 71df42d..8d977ff 100644
---- a/go.sum
-+++ b/go.sum
-@@ -1,4 +1,5 @@
- cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-+github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
- github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
- github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
- github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
-@@ -16,6 +17,7 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7
- github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
- github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
- github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
- github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
- github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
- github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
-@@ -45,6 +47,7 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf
- github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
- github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
- github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
-+github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
- github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
- github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
- github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-@@ -53,10 +56,13 @@ github.com/kardianos/service v1.0.0/go.mod h1:8CzDhVuCuugtsHyZoTvsOBuvonN/UDBvl0
- github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
- github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
- github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-+github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=
- github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
- github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
-+github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
- github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
- github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-+github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
- github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
- github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
- github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4=
-@@ -66,12 +72,14 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
- github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
- github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
- github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-+github.com/notdpate/evloghook v0.0.0-20180503050227-f202fa6c9ebb h1:GFmMJZvdCkRfbfo07+lUKrB+jh2cJ+a2l6qD/3hxZ6M=
- github.com/notdpate/evloghook v0.0.0-20180503050227-f202fa6c9ebb/go.mod h1:ukoRZyzBppMQypxM7KqEvHc4DB5uNW6NXFp1sVeXamM=
- github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
- github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
- github.com/pelletier/go-toml v1.4.0 h1:u3Z1r+oOXJIkxqw34zVhyPgjBsm6X2wn21NWs/HfSeg=
- github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
- github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
- github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
- github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
- github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
-@@ -107,6 +115,7 @@ github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/y
- github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
- github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
- github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-+github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
- github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
- github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
- github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
-@@ -156,6 +165,7 @@ google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij
- gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
- gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
- gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-+gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
- gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
- gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
- gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
-
-
diff --git a/pkgs/tools/system/automatic-timezoned/default.nix b/pkgs/tools/system/automatic-timezoned/default.nix
index 53472de63516..88c1bc15b831 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.72";
+  version = "1.0.75";
 
   src = fetchFromGitHub {
     owner = "maxbrunet";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JOf10wGpOwJTvBvaeoBPKWm6f3B6K9ZsJaKkkzwkM7Y=";
+    sha256 = "sha256-soEVET3aVK77UJjhXq/cwK9QWAJWQu5TEjyHEKfqKeY=";
   };
 
-  cargoHash = "sha256-4vzu77BLxJeVQgpI+g16XrqWt94r93v6Wz9wwFcbKlQ=";
+  cargoHash = "sha256-xux+8hix2FzZqxOmos1g0SAcVVajJUCO9qGl0LNtOlk=";
 
   meta = with lib; {
     description = "Automatically update system timezone based on location";
diff --git a/pkgs/tools/system/erdtree/default.nix b/pkgs/tools/system/erdtree/default.nix
index 1001fb7fdd69..bf873353ccb4 100644
--- a/pkgs/tools/system/erdtree/default.nix
+++ b/pkgs/tools/system/erdtree/default.nix
@@ -5,22 +5,23 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "erdtree";
-  version = "1.3.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "solidiquis";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-xPMOjhp4voT2Ad30WtAyA0MT917xt3Sd++KhLHmciA0=";
+    hash = "sha256-kSJIZfL25qH+DKFG8/udv6lZt+9pBqIQvbsmT2oa3Bw=";
   };
 
-  cargoHash = "sha256-euthKq/5X5bCxV8qAAHyMm4nPPSWCvGRCfx0a1kwr/c=";
+  cargoHash = "sha256-hqS48CYlScvJiT276cAZHiilxz/Gu95WThfSj8aj0BQ=";
 
   meta = with lib; {
     description = "File-tree visualizer and disk usage analyzer";
     homepage = "https://github.com/solidiquis/erdtree";
+    changelog = "https://github.com/solidiquis/erdtree/releases/tag/${src.rev}";
     license = licenses.mit;
-    maintainers = with maintainers; [ zendo ];
+    maintainers = with maintainers; [ figsoda zendo ];
     mainProgram = "et";
   };
 }
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index 6dabb9178332..49707d1530b2 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fio";
-  version = "3.33";
+  version = "3.34";
 
   src = fetchFromGitHub {
     owner  = "axboe";
     repo   = "fio";
     rev    = "fio-${version}";
-    sha256 = "sha256-d4Fx2QdO+frt+gcBzegJ9CW5NJQRLNkML/iD3te/1d0=";
+    sha256 = "sha256-+csIerzwYOmXfmykYI0DHzbJf4iUCkEy1f7SFmAiuv4=";
   };
 
   buildInputs = [ python3 zlib ]
diff --git a/pkgs/tools/system/goreman/default.nix b/pkgs/tools/system/goreman/default.nix
index a9e840860bc6..57d7b46f54cf 100644
--- a/pkgs/tools/system/goreman/default.nix
+++ b/pkgs/tools/system/goreman/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "goreman";
-  version = "0.3.13";
+  version = "0.3.15";
 
   src = fetchFromGitHub {
     owner = "mattn";
     repo = "goreman";
     rev = "v${version}";
-    sha256 = "sha256-BQMRkXHac2Is3VvqrBFA+/NrR3sw/gA1k3fPi3EzONQ=";
+    sha256 = "sha256-Z6b245tC6UsTaHTTlKEFH0egb5z8HTmv/554nkileng=";
   };
 
-  vendorSha256 = "sha256-BWfhvJ6kPz3X3TpHNvRIBgfUAQJB2f/lngRvHq91uyw=";
+  vendorHash = "sha256-Qbi2GfBrVLFbH9SMZOd1JqvD/afkrVOjU4ECkFK+dFA=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/tools/system/gptfdisk/default.nix b/pkgs/tools/system/gptfdisk/default.nix
index 436aec4c552f..dbce7316303b 100644
--- a/pkgs/tools/system/gptfdisk/default.nix
+++ b/pkgs/tools/system/gptfdisk/default.nix
@@ -31,9 +31,13 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile.mac --replace \
       " -arch i386" ""
     substituteInPlace Makefile.mac --replace \
+      "-arch x86_64" ""
+    substituteInPlace Makefile.mac --replace \
+      "-arch arm64" ""
+    substituteInPlace Makefile.mac --replace \
       " -I/opt/local/include -I /usr/local/include -I/opt/local/include" ""
     substituteInPlace Makefile.mac --replace \
-      "/opt/local/lib/libncurses.a" "${ncurses.out}/lib/libncurses.dylib"
+      "/usr/local/Cellar/ncurses/6.2/lib/libncurses.dylib" "${ncurses.out}/lib/libncurses.dylib"
   '';
 
   buildPhase = lib.optionalString stdenv.isDarwin "make -f Makefile.mac";
@@ -54,7 +58,6 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    broken = stdenv.isDarwin;
     description = "Set of text-mode partitioning tools for Globally Unique Identifier (GUID) Partition Table (GPT) disks";
     license = licenses.gpl2;
     homepage = "https://www.rodsbooks.com/gdisk/";
diff --git a/pkgs/tools/system/java-service-wrapper/default.nix b/pkgs/tools/system/java-service-wrapper/default.nix
index e17271d50ef2..9d380129faf5 100644
--- a/pkgs/tools/system/java-service-wrapper/default.nix
+++ b/pkgs/tools/system/java-service-wrapper/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "java-service-wrapper";
-  version = "3.5.51";
+  version = "3.5.53";
 
   src = fetchurl {
     url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
-    hash = "sha256-XkgzggtFLYCt3gP0F4wq38TFHCoo/x+bDzzz/TqmvB0=";
+    hash = "sha256-mDXlsH+iu9CcqlMwtbrMicAwuRClK1WmPY2SYIF8USw=";
   };
 
   buildInputs = [ jdk ];
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index 6d2bc2c6e911..b4d012b24deb 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -107,6 +107,7 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     wrapProgram $out/bin/netdata-claim.sh --prefix PATH : ${lib.makeBinPath [ openssl ]}
+    wrapProgram $out/libexec/netdata/plugins.d/cgroup-network-helper.sh --prefix PATH : ${lib.makeBinPath [ bash ]}
   '';
 
   enableParallelBuild = true;
diff --git a/pkgs/tools/system/nkeys/default.nix b/pkgs/tools/system/nkeys/default.nix
index 4693763a89c6..22a22157f06e 100644
--- a/pkgs/tools/system/nkeys/default.nix
+++ b/pkgs/tools/system/nkeys/default.nix
@@ -5,20 +5,21 @@
 
 buildGoModule rec {
   pname = "nkeys";
-  version = "0.3.0";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "06wbmb3cxjrcfvgfbn6rdfzb4pfaaw11bnvl1r4kig4ag22qcz7b";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ePpFzwjFKcm/xgt9TBl1CVnJYxO389rV9uLONeUeX0c=";
   };
 
-  vendorSha256 = "0kiqlw2411x5c1pamq3mn5wcm8mdn91avwg8xh2a7sy3kqw5d26d";
+  vendorHash = "sha256-ozK0vimYs7wGplw1QhSu+q8R+YsIYHU4m08a7K6i78I=";
 
   meta = with lib; {
     description = "Public-key signature system for NATS";
     homepage = "https://github.com/nats-io/nkeys";
+    changelog = "https://github.com/nats-io/nkeys/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
     mainProgram = "nk";
diff --git a/pkgs/tools/system/nsc/default.nix b/pkgs/tools/system/nsc/default.nix
index b8898fcad655..ef5fd5b3b7c6 100644
--- a/pkgs/tools/system/nsc/default.nix
+++ b/pkgs/tools/system/nsc/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "nsc";
-  version = "2.7.8";
+  version = "2.8.0";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-cgp/kkHgH5JIWMgrUHHHyuKedbJ3n6L9xBglXCcMYms=";
+    hash = "sha256-8TBg5ByR4d/AvJOiADW068W40wN7ggRT8LbZFfHeqz4=";
   };
 
   ldflags = [
@@ -23,7 +23,7 @@ buildGoModule rec {
     "-X main.builtBy=nixpkgs"
   ];
 
-  vendorHash = "sha256-l9Fl0j8Fa/hiV/2ebmIlnFtekYLwDg3eMpY7lLBreGg=";
+  vendorHash = "sha256-Yywurr+RM96qJGH/WvuLDtf6bLzw9C5hG2d0ID9w1pQ=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/system/skeema/default.nix b/pkgs/tools/system/skeema/default.nix
index 6faf5172ca78..043285497e91 100644
--- a/pkgs/tools/system/skeema/default.nix
+++ b/pkgs/tools/system/skeema/default.nix
@@ -17,28 +17,38 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
-  preCheck = ''
-    # Disable tests requiring network access to gitlab.com
-    buildFlagsArray+=("-run" "[^(Test(ParseDir(Symlinks|))|DirRelPath)]")
-
-    # Fix tests expecting /usr/bin/printf and /bin/echo
-    substituteInPlace skeema_cmd_test.go \
-      --replace /usr/bin/printf "${coreutils}/bin/printf"
-
-    substituteInPlace internal/fs/dir_test.go \
-      --replace /bin/echo "${coreutils}/bin/echo" \
-      --replace /usr/bin/printf "${coreutils}/bin/printf"
-
-    substituteInPlace internal/applier/ddlstatement_test.go \
-      --replace /bin/echo "${coreutils}/bin/echo"
-
-    substituteInPlace internal/util/shellout_unix_test.go \
-      --replace /bin/echo "${coreutils}/bin/echo" \
-      --replace /usr/bin/printf "${coreutils}/bin/printf"
-
-    substituteInPlace internal/util/shellout_unix.go \
-      --replace /bin/sh "${runtimeShell}"
-  '';
+  preCheck =
+    let
+      skippedTests = [
+        # Tests requiring network access to gitlab.com
+        "TestDirRelPath"
+        "TestParseDirSymlinks"
+
+        # Flaky tests
+        "TestShellOutTimeout"
+      ];
+    in
+    ''
+      buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]")
+
+      # Fix tests expecting /usr/bin/printf and /bin/echo
+      substituteInPlace skeema_cmd_test.go \
+        --replace /usr/bin/printf "${coreutils}/bin/printf"
+
+      substituteInPlace internal/fs/dir_test.go \
+        --replace /bin/echo "${coreutils}/bin/echo" \
+        --replace /usr/bin/printf "${coreutils}/bin/printf"
+
+      substituteInPlace internal/applier/ddlstatement_test.go \
+        --replace /bin/echo "${coreutils}/bin/echo"
+
+      substituteInPlace internal/util/shellout_unix_test.go \
+        --replace /bin/echo "${coreutils}/bin/echo" \
+        --replace /usr/bin/printf "${coreutils}/bin/printf"
+
+      substituteInPlace internal/util/shellout_unix.go \
+        --replace /bin/sh "${runtimeShell}"
+    '';
 
   passthru.tests.version = testers.testVersion {
     package = skeema;
diff --git a/pkgs/tools/system/ttop/default.nix b/pkgs/tools/system/ttop/default.nix
index e22054eeefa8..359adeebf58f 100644
--- a/pkgs/tools/system/ttop/default.nix
+++ b/pkgs/tools/system/ttop/default.nix
@@ -2,14 +2,14 @@
 
 nimPackages.buildNimPackage rec {
   pname = "ttop";
-  version = "0.8.6";
+  version = "1.0.1";
   nimBinOnly = true;
 
   src = fetchFromGitHub {
     owner = "inv2004";
     repo = "ttop";
     rev = "v${version}";
-    hash = "sha256-2TuDaStWRsO02l8WhYLWX7vqsC0ne2adxrzqrFF9BfQ=";
+    hash = "sha256-x4Uczksh6p3XX/IMrOFtBxIleVHdAPX9e8n32VAUTC4=";
   };
 
   buildInputs = with nimPackages; [ asciigraph illwill parsetoml zippy ];
diff --git a/pkgs/tools/text/crowdin-cli/default.nix b/pkgs/tools/text/crowdin-cli/default.nix
index aaafad279491..614e2523c953 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.10.0";
+  version = "3.10.1";
 
   src = fetchurl {
     url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip";
-    sha256 = "sha256-4OEwee7izd2gxv7HMq5ziu88sj78QRtGH4bgooZXLow=";
+    sha256 = "sha256-kHi8rLtIHrAfu/r2vvhzIrscqNaDW1Q1F+kTEn4AicQ=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper unzip ];
diff --git a/pkgs/tools/text/d2/default.nix b/pkgs/tools/text/d2/default.nix
index de2857da1852..8c509365f0a8 100644
--- a/pkgs/tools/text/d2/default.nix
+++ b/pkgs/tools/text/d2/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "d2";
-  version = "0.2.4";
+  version = "0.2.6";
 
   src = fetchFromGitHub {
     owner = "terrastruct";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-aReYFw6mlPhf11bhLII5CrMG1G9d0hhPsFVrZxmt72o=";
+    hash = "sha256-bZJu4l5xAVqm/1HIhHfnZF9JRswAE/c6OzuZ8mmHA9U=";
   };
 
-  vendorHash = "sha256-+Z8nzna5KedWzmhBKGSpsbE8ooaC9sPk6Bh5zkrzwrQ=";
+  vendorHash = "sha256-wXE2+a30KohIOuxFeBQPcV7X2Ka+4t7zqHdr48kifY0=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/text/frawk/default.nix b/pkgs/tools/text/frawk/default.nix
index 74afabac33bd..1f975823fa1d 100644
--- a/pkgs/tools/text/frawk/default.nix
+++ b/pkgs/tools/text/frawk/default.nix
@@ -10,14 +10,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "frawk";
-  version = "0.4.7";
+  version = "0.4.8";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-fqOFFkw+mV9QLTH3K6Drk3kDqU4wrQTj7OQrtgYuD7M=";
+    sha256 = "sha256-wPnMJDx3aF1Slx5pjLfii366pgNU3FJBdznQLuUboYA=";
   };
 
-  cargoSha256 = "sha256-G39/CESjMouwPQJBdsmd+MBusGNQmyNjw3PJSFBCdSk=";
+  cargoSha256 = "sha256-Xk+iH90Nb2koCdGmVSiRl8Nq26LlFdJBuKmvcbgnkgs=";
 
   buildInputs = [ libxml2 ncurses zlib ];
 
diff --git a/pkgs/tools/text/fst/default.nix b/pkgs/tools/text/fst/default.nix
index fbd81fbbdbd9..d08d29376b74 100644
--- a/pkgs/tools/text/fst/default.nix
+++ b/pkgs/tools/text/fst/default.nix
@@ -7,15 +7,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fst";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchCrate {
     inherit version;
     crateName = "fst-bin";
-    sha256 = "sha256-m9JDVHy+o4RYLGkYnhOpTuLyJjXtOwwl2SQpzRuz1m0=";
+    sha256 = "sha256-x2rvLMOhatMWU2u5GAdpYy2uuwZLi3apoE6aaTF+M1g=";
   };
 
-  cargoSha256 = "sha256-RMjNk8tE7AYBYgys4IjCCfgPdDgwbYVmrWpWNBOf70E=";
+  cargoHash = "sha256-yTbEaw+BbjVks3j7/b75kGoUjVftLaVYvYIdI/bbfdk=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
diff --git a/pkgs/tools/text/ltex-ls/default.nix b/pkgs/tools/text/ltex-ls/default.nix
index c2464895cf90..a494ebfe864f 100644
--- a/pkgs/tools/text/ltex-ls/default.nix
+++ b/pkgs/tools/text/ltex-ls/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "ltex-ls";
-  version = "15.2.0";
+  version = "16.0.0";
 
   src = fetchurl {
     url = "https://github.com/valentjn/ltex-ls/releases/download/${version}/ltex-ls-${version}.tar.gz";
-    sha256 = "sha256-ygjCFjYaP9Lc5BLuOHe5+lyaKpfDhicR783skkBgo7I=";
+    sha256 = "sha256-lW1TfTckqhCmhjcvduISY9qAdKPM/0cobxbIrCq5JkQ=";
   };
 
   nativeBuildInputs = [ makeBinaryWrapper ];
diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix
index 812b76796e21..db257178d7e4 100644
--- a/pkgs/tools/text/mdcat/default.nix
+++ b/pkgs/tools/text/mdcat/default.nix
@@ -12,20 +12,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdcat";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "lunaryorn";
     repo = "mdcat";
     rev = "mdcat-${version}";
-    sha256 = "sha256-1TP91mZ5f3x2Q0Qv/p+aE+rvWEW3zVArcgELLNWi4JY=";
+    sha256 = "sha256-E/ISQn+uTcay9JSZ1wVbb9WLv3BHV65CvbGSj99bqCs=";
   };
 
   nativeBuildInputs = [ pkg-config asciidoctor installShellFiles ];
   buildInputs = [ openssl ]
     ++ lib.optional stdenv.isDarwin Security;
 
-  cargoSha256 = "sha256-aqOaU9K+dHwyqPqRnD+Gw2enmHF9eJAAHeP7sGBiWtg=";
+  cargoSha256 = "sha256-ym1xVnUw4DymPusSXSUG8+StOe8dmbJjoQJLgjBfP1c=";
 
   nativeCheckInputs = [ ansi2html ];
   # Skip tests that use the network and that include files.
diff --git a/pkgs/tools/text/pomsky/default.nix b/pkgs/tools/text/pomsky/default.nix
index d1cda76b169c..0e34a2650a9b 100644
--- a/pkgs/tools/text/pomsky/default.nix
+++ b/pkgs/tools/text/pomsky/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pomsky";
-  version = "0.9";
+  version = "0.10";
 
   src = fetchFromGitHub {
-    owner = "rulex-rs";
+    owner = "pomsky-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SR+cXCPcEejX3AauN3mS6zWU46m4nomMs1UVk+si1NY=";
+    hash = "sha256-V4WztquClcBQF74c8WalWITT+SRymEawLXmvTflNEGk=";
   };
 
-  cargoSha256 = "sha256-5ASB2zPL+0DAPWoB/Ez+DUbEjhDvVk00yyN75w6jzYk=";
+  cargoHash = "sha256-34lI4zI1JMYek3sCXOWw08EqhaI1bqTGFPxeEYmEbXQ=";
 
   # thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: invalid option '--test-threads''
   doCheck = false;
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "A portable, modern regular expression language";
     homepage = "https://pomsky-lang.org";
-    changelog = "https://github.com/rulex-rs/pomsky/blob/v${version}/CHANGELOG.md";
+    changelog = "https://github.com/pomsky-lang/pomsky/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit /* or */ asl20 ];
     maintainers = with maintainers; [ figsoda ];
   };
diff --git a/pkgs/tools/text/ugrep/default.nix b/pkgs/tools/text/ugrep/default.nix
index f5b5dc4c773f..4832fa3b6e73 100644
--- a/pkgs/tools/text/ugrep/default.nix
+++ b/pkgs/tools/text/ugrep/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ugrep";
-  version = "3.10.0";
+  version = "3.11.0";
 
   src = fetchFromGitHub {
     owner = "Genivia";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ujLKAJNt2bWIq79Wh94QTFpd+7yUMhS7UMXa8gJScA4=";
+    hash = "sha256-nqnuEahOsnGX38526cIe8Vj7YoEJxO1ydbgfPwlpK+o=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index 9737a12c0fbd..1822ce987cf5 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -133,17 +133,17 @@ let
   # (https://tug.org/historic/).
   urlPrefixes = [
     # tlnet-final snapshot
-    #"http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${bin.texliveYear}/tlnet-final/archive"
-    #"ftp://tug.org/texlive/historic/${bin.texliveYear}/tlnet-final/archive"
+    "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${bin.texliveYear}/tlnet-final/archive"
+    "ftp://tug.org/texlive/historic/${bin.texliveYear}/tlnet-final/archive"
 
     # Daily snapshots hosted by one of the texlive release managers
-    "https://texlive.info/tlnet-archive/${snapshot.year}/${snapshot.month}/${snapshot.day}/tlnet/archive"
+    #"https://texlive.info/tlnet-archive/${snapshot.year}/${snapshot.month}/${snapshot.day}/tlnet/archive"
   ];
 
   tlpdb = fetchurl {
-    # use the same mirror(s) as urlPrefixes below
+    # use the same mirror(s) as urlPrefixes above
     urls = map (up: "${up}/../tlpkg/texlive.tlpdb.xz") urlPrefixes;
-    hash = "sha256-i8DE3/rZmtp+gODJWeHV1VcCK5cgHUgmywf3Q/agTOA=";
+    hash = "sha256-vm7DmkH/h183pN+qt1p1wZ6peT2TcMk/ae0nCXsCoMw=";
   };
 
   tlpdb-nix = runCommand "tlpdb.nix" {
diff --git a/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix b/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
index 5f4c33b87d2b..d83949b77cda 100644
--- a/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
+++ b/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
@@ -28,7 +28,7 @@
 "hyph-utf8-61719"="14jj24fr6v74vj8wi2a9k9zk9vnrvmy1ni4zn24dl5fdfw75n5ik";
 "hyph-utf8.doc-61719"="11n1blnx9i7q2dlhyhf1dxs2vnldc9r8f3k6diix0i1np8hpz05q";
 "hyph-utf8.source-61719"="1cff5ijmpxc752n6cmpfzn1a10ihrkz7n9l55gz2k2q0a00m2ssh";
-"hyphen-base-62751"="1g98zr8na3fxvqpnrjh56x33a7cpib3wp0xb97mxf007wgf3hxw8";
+"hyphen-base-66418"="0d8kj53h1vhvv4pxks1n214m4l3z09qsqxa0929c766s2wldx64x";
 "hyphenex-57387"="08f915yqpx6qhc2dzbicbv9cijzpgcl4jpifydqcc0x68y51qrzi";
 "hyphenex.source-57387"="0lqn354bskaa6g0bn9g1r3lbb1hj9si5n1ki38awayzp1yj8a3q0";
 "ifplatform-0.4a"="0abhpfw3w1mvpg52xaw3cngl55sszk5ji9a38yab8vhknh3d3jby";
@@ -41,8 +41,8 @@
 "lua-alt-getopt-0.7.0"="17czrz46xlbj3xkh4jwdq269mqaq7165kpkhhqa498hrkcgdgaak";
 "lua-alt-getopt.doc-0.7.0"="1zfwvs979c7s16vpv2k9l81mcmm9y4qdjk46l8ik3123dalchv6f";
 "luahbtex.doc-62387"="0bcc5wk361qva3nrgzgl849fbxj4lzmff2r5vabz68fisysbyx5k";
-"luatex-64839"="0f93pzv8nvy3xpzkajrrp25gq9mi9mz8bmfpczl9z11ryrpnc246";
-"luatex.doc-64839"="1fds5vxd8n7wjapm3kbh92ajbc77zz4ws7lrxw156911fy24cvyj";
+"luatex-65866"="0f93pzv8nvy3xpzkajrrp25gq9mi9mz8bmfpczl9z11ryrpnc246";
+"luatex.doc-65866"="19ipndmd43zpc2bxnc3wsb8vqw068hiraijzlwvav7b662rbvrdv";
 "plain-3.141592653"="1mn5cfiaj7wrjij4y0g2mipc6v8dk7l7nc25s1gmgvvyfqwd3byv";
 "tex-ini-files-40533"="0q1g62jg0qiqslm93ycvm30bw8ydmssjdshzsnzl7n2vpd62qfi2";
 "tex-ini-files.doc-40533"="198f4y0bjw9azzck8rz6ml0rpq7g67r37rw8825y8crhpykchp6n";
@@ -57,14 +57,14 @@
 "mfware.doc-62387"="1vwp99yl33agqrrnz555kd20wmsjpx7cs0cbdwp6dk5iqgw8v6yl";
 "modes-4.2"="0xg6jpyxni3r3fl6r7iq1vz97pp1w3gh8ccp7w5k51igs3dpvcvv";
 "modes.doc-4.2"="1lgmgg6hhq5h3zgpc9vrbb6j0pif03cjs6gwj20df8md69hzr184";
-"pdftex-64690"="097kqiks1pb55nz6niiadlg6wwc8yyi5l9f431rvawa0wa4zjmh6";
-"pdftex.doc-64690"="1nrnv0rl9n0p6s35bdi4067kdb06v7wc0ax8pqp45x9gm95zxczg";
+"pdftex-65808"="048dw9m8gk1rmx5v5ylymfcssbchpj9s5csjpip7dz0wa23yc19g";
+"pdftex.doc-65808"="1nrnv0rl9n0p6s35bdi4067kdb06v7wc0ax8pqp45x9gm95zxczg";
 "dehyph-48599"="0fkqlsknrlxk8zazcqy4q3nisxr3a4x21aiwqhz8s237rdf3w39g";
 "tex.doc-3.141592653"="07ql2xh656imv7xxjial2hzfsm1b0yjd1ddl71q1m6y3ms7qdjvr";
 "texlive-common.doc-63925"="0z76di99n5f9frqcn9jmw6vi1whdpvspppl9k0ikgiahkqb5pa8b";
-"texlive-en.doc-65369"="18y9126w3bacw778psla5l08km9c861frq584dfzrjfy83s8i84k";
-"texlive-scripts-65361"="0ihcqhgsnlz5rl8h7lf7pmparp27w8hbykyf13lnmdrgpwf3dl0w";
-"texlive-scripts.doc-65361"="0zvji7w8zvykmy97yim0yx0m05pazg0f60bbls0lb3mnx7rx8imj";
+"texlive-en.doc-65770"="05i4ggfi558frkjhxrrkjzd3x8ff1zm2qk056a23v736a5hg9y2m";
+"texlive-scripts-66570"="0hl1vjr4hr7q7s2pvizicmabb185df5rl84cjsz0ki7vai5mh7pq";
+"texlive-scripts.doc-66570"="0zvji7w8zvykmy97yim0yx0m05pazg0f60bbls0lb3mnx7rx8imj";
 "tlshell-62795"="06zjawsk91jknic542k9gw74pdfb1lv2iil09rpv9fw2i58lxsg9";
 "tlshell.doc-62795"="1h5mk09sakbmgsppl9fnry28xnzqya3bmp3r1nkzg44cv7kl98vz";
 "aaai-named-52470"="1xs2iki0v1mh0kbqjxnv9r24bcfmgj6myfw7h368h8g0s1n8d5v6";
@@ -85,7 +85,7 @@
 "archaeologie.source-2.4.5"="1gv9495g29hqc0g6in438g8sdkaxwwn2vvp8f41mz033dzfln5bs";
 "authordate-52564"="0caz9s2ra7qqlzdnahhv50z050iyp62ypyrfpbj1p9ih7zmcdg23";
 "authordate.doc-52564"="14wxjyrighkhg51m9jpdyjdwz2ipz4zr1rfgmdnxbpg31rbg2x7s";
-"beebe-65356"="1hq6j6i06p92krrzs5dh5m72ac6dc07rkvrwk40i5jvpzz1g31fp";
+"beebe-66287"="060v67ma1r6n9fmg4v4zl2pgxz6gmd4qrazyss9hwq6z4206pqc0";
 "besjournals-45662"="1jpp3ayblhwwqzndss91rcns3axr60b8zzxdd6f4qqifhaqczk3l";
 "besjournals.doc-45662"="02s7qd7vvdr6wf00cm7026984s6vphp88iaqhnhk0iiafpr3lk3i";
 "bestpapers-1.0"="00ig29wqb4fn6qw7szmwmv92s19nc2wpapv4pgv8nwsby8nplyrm";
@@ -99,11 +99,9 @@
 "bibarts-2.5"="0z4l6nd3hnbgwda2w3si7bqrigp6vdx87v01z4hvf6jk2abykcgy";
 "bibarts.doc-2.5"="1gpxi1w1jbzbnmj6rd9r0v3dcywr8b3fpq0haapjh231i3q4h6c7";
 "bibarts.source-2.5"="0md7n6zgcqixq1g0csznjsiz60xp6qkk78rxw97dc673q6w1za4z";
-"bibcop-0.0.5"="074gdl81lk7swhjkw3gmrv66r826g5kr4n2c2n3g2jf6giwqv1wl";
-"bibcop.doc-0.0.5"="1pv9irq0xja55c2zzkb47xaqwiq0zh8qdbwshandb6904b91xksi";
-"bibcop.source-0.0.5"="1mai9dyd0nlr8g61hxpbb1s88v5cm0b3hvc8hwcs81byfrihfqi0";
-"fancyvrb-4.5"="0pzjy4zwwvr4raky8p1yh527k3cm24prkp85lyy3s4fahgdbjq6q";
-"fancyvrb.doc-4.5"="1bbicmnrchf92wsb6kkwqpsgcrmliljvcwmv92n0lqv508ygz3ka";
+"bibcop-0.0.9"="06fibqxxaxxm4q0qqxyhci191b097d6aw4kh9s3scpd5gs3akgdb";
+"bibcop.doc-0.0.9"="06zrdp2wwjgdn0mrp9mlpdlj7hisrzs1fzy14rfc7x1ygqcwg4mp";
+"bibcop.source-0.0.9"="09aqfrvhk5fpa4xq39k2gg8s5jqzrmvmpxpqadv5s5mv75gcs9gv";
 "iexec-0.11.4"="017rhxcbxfvflwnagz3hgbi8h4agzib8czc6w6j3333fn0sd4i7r";
 "iexec.doc-0.11.4"="0v74w4j2h64aaph7wl92bp377y2y6krliidjaibk3agfm2vz90yf";
 "iexec.source-0.11.4"="0nkacrias248yf1xy7nlnqzr80n250rhg5kzjc0w5gwii25dn8mh";
@@ -113,19 +111,41 @@
 "xkeyval-2.9"="03m4skbhpv0l8cg3v50650k3h75x8rzk873hnqry0frb3qphjycs";
 "xkeyval.doc-2.9"="00xayhdwcwb6nq093v65pp1vzx2icn1xpkrbl7vllls4viq861s9";
 "xkeyval.source-2.9"="00ljf3z3017jdyifxhvls0j4l4jvdg8wi7sh56ij9qlx5jmjjzdm";
-"verbatimcopy-0.06"="07syldn58zwnwxwdsmq63qgr2nb0bkl9di09knska9jk0c50ql1j";
-"verbatimcopy.doc-0.06"="06awpisb1y773xsijrifh0121pq6fdzp2ai0snxny5vrpmyp412n";
-"biber.doc-2.18"="0m3k73w3ls16y00h8c32w3rl2ycna60z5jyl6j9dd2z4ai61g508";
-"biber.source-2.18"="0j984p204n0awlmsavz2xhlvrz6y8jfszz5dvw144gr8viicpqy3";
-"biber-ms.doc-4.0"="0scjlrbic4m38z4n12qvizqc1w2rcx9qmw43h4slb4ikry3583l5";
-"biber-ms.source-4.0"="0ri85krgnhkwas332g58x0cihh94n8gdqkdpf01l49sns0vs221p";
+"pgfopts-2.1a"="0g7a22d0ppdzcazrif8yjic19lvz143p6vwflz16p6zh88yhcdm7";
+"pgfopts.doc-2.1a"="17q1mlaql7f510pz86n64sm4m97nii72jghf75qs5yr9h9lqrq6v";
+"pgfopts.source-2.1a"="1mz5nzbhmbgzjkpkglz2w3s9s8kzrigg3wrd91dmdhjsm4d4kczi";
+"pgf-3.1.10"="1xai2x91jf241w03lndpa478dijfm52kyin1ci4s3pwvvqvwvcib";
+"pgf.doc-3.1.10"="059fvzbpq3nggjc3yddzgj1ci4xs5qrwkqvqshcnk0agn80zpcx2";
+"atveryend-1.11"="06q5b28q5m9i29yqqx1l1y0vjc20i0n6p2k47z66jf3s6abrqnrj";
+"atveryend.doc-1.11"="1nn08cfh3n63xd45rkmzvdmf5580lm7kfd08z9gawgaibh6nii80";
+"atveryend.source-1.11"="0fgzxwc6jlijf0mzjh7pm2afd85np1rwy4xziz26s0gi6i5pdmvp";
+"fp-2.1d"="07qzdfrk2y499cz9jbpnj024r43japqdngbxg4mbapw9cp8066d3";
+"fp.doc-2.1d"="1y1xwqf6mskg10h31ws2pvn5y6g9asflc7l9r24fp2fi4254mvhq";
+"graphics-64892"="0cb099m8387zmn58aws7q6nn2wlxnz3hhghhlfn6aagwp1i064gy";
+"graphics.doc-64892"="0q1b8gbssjvrga4nbjsxk8mplingbjs7x4385pa4bg2r29r09znl";
+"graphics.source-64892"="11jmacik80m12vycw3yr8waszi280f6raiqcws4px4w6zan71qhz";
+"graphics-cfg-41448"="09yifx2ww4jjjhl5k8b5vz78711289755mw0r1rcshk596qvn9r5";
+"graphics-cfg.doc-41448"="0rfjgc83ryg3s5q01xnkk8bzw7rx7m96hfxq85xjjn5qxsgy8yqy";
+"ms-57473"="0km07va23z5vzx87ndrv9mj0fq4yw0kv7qygd59smhm4q71yspkl";
+"ms.doc-57473"="122xwapvjzv9qyh3p1884bzdpalvqzzkmzd18gqr3q3r4cmk2q20";
+"ms.source-57473"="1myxaybppzkdl14h4g12xcp57zqjzkzijryv9nd6hy6ggl9y8i99";
+"pdftexcmds-0.33"="1fpijk36lx5czl6bpbawlm8f34zp264l1fli095wha41fil25hks";
+"pdftexcmds.doc-0.33"="00xzyvl66fds400dm5zryrv3m5s42mv6658zx7fnx2wbd0jxs738";
+"pdftexcmds.source-0.33"="11516wkglckyrz41pz9cqj0xa2bd6v2l234k28ynnmfjsg56vph9";
+"xcolor-2.14"="1qwfxx9nfl2nr0hwyckf63q53h522w0pnxvjyn95ql415im4p0rv";
+"xcolor.doc-2.14"="1rvzrqxmlddgpc2i03rkiw0nmfc0772dwz4s4fdwqnn24ydsjyzl";
+"xcolor.source-2.14"="1bryjaajqa6xbnbkndk9b5d2w682xci1wmqwvbfyz7sjalppa87c";
+"biber.doc-2.19"="1kwhxk6kzfjg62ygsyvxqj12pgw4bippxq7qdlgi2961n61jaj32";
+"biber.source-2.19"="1sfi675h4gbk4gyx3gbby2z653vmy5z4wi6ghrhhnrqgivpqi3m6";
+"biber-ms.doc-4.0-1"="0h0hxs4a7r8sr5w573d6m002zdpzgs0gghwbasdi9j2hfb2wv6b4";
+"biber-ms.source-4.0-1"="1mw39ra48y7gqhh8860544wvzxpciaka5c38873vvnbdnng44mh7";
 "bibexport-3.03"="1zbsilzaz68zvmbf2xw7jqw4l66clcplz3l46ggxw95gns8mgqlg";
 "bibexport.doc-3.03"="17a5w095vkpp7j54h8m7f74l7vycsqbv6zzschdb3dd34scq1s5w";
 "bibexport.source-3.03"="1pqs7j4xdhx3pqsc8i0wqnz9jkyg891dzl7g3cv19a6wv82k0xjv";
 "bibhtml-2.0.2"="1sg9x0jrgh2jng9b1pd08i0f8kzhy94sq0mf33as91gr43dzws88";
 "bibhtml.doc-2.0.2"="0is3q2m1xg52h5s9n9403c85yfmpjaqqbh8lgyfqfwhl5qqmgrf9";
-"biblatex-3.18b"="15xf7inmymfyvms95zvpbnmykcr5bc1z93cfgs4gb6hwb57q2z38";
-"biblatex.doc-3.18b"="07l8wj9v54racghqgfkdmx7kkhjr3w1ngs54yhiyq91x1jvg8s9g";
+"biblatex-3.19"="0zzyi1sclgnrfqvi6bbcymwg8g076br964f40x25l5bvn6r5hx1v";
+"biblatex.doc-3.19"="130p4vbg7c86ac7kyb2briwy4v82qbfhpxhplzlxhd4xa2p3j72g";
 "etoolbox-2.5k"="1g944zizyl05qz6lq1k13hv9952r97gc1i7is9s5fckz664075jl";
 "etoolbox.doc-2.5k"="05c3kvfwvbg4bxf3wza5rdvh98mnxadf818rsklxa5g2lz44jm76";
 "kvoptions-3.15"="19sj7pds5km2y284vhsvdddvchr2zcnzkki0h48ymd258afcvswk";
@@ -133,9 +153,6 @@
 "kvoptions.source-3.15"="0ngbpkryyjf8l2gq0p750z96id32hl8gir9cxz7hybzk2vnpyxln";
 "logreq-1.0"="1zj1vn0yfklngvfvcr0p8hchar220lwfrznsq73jbw9zzjx47v4f";
 "logreq.doc-1.0"="143b5bb1jkc9j1gd46c28q4zq8jlh9wrngjw8q4prw5dkfnf1s8m";
-"pdftexcmds-0.33"="1fpijk36lx5czl6bpbawlm8f34zp264l1fli095wha41fil25hks";
-"pdftexcmds.doc-0.33"="00xzyvl66fds400dm5zryrv3m5s42mv6658zx7fnx2wbd0jxs738";
-"pdftexcmds.source-0.33"="11516wkglckyrz41pz9cqj0xa2bd6v2l234k28ynnmfjsg56vph9";
 "url-3.4"="189lixyamvrcpds2i7nlh4w83mk5lnk73158kcw3qjanpncnnn1f";
 "url.doc-3.4"="1xragd7gak0vzj14f7dcx5hxg8plh47ncqdb1m5liaibrdlhgpql";
 "biblatex-abnt-3.4"="1dn2929wlyzwb96iq5lj8x9zr2fi1c4qk1rldc0vrr5s3cxfn3x7";
@@ -172,8 +189,8 @@
 "biblatex-claves.doc-1.2.1"="0g4x5jblj664ngppqpbks3d0ahn818ck871q2aqir6jgkrd13cpw";
 "biblatex-cv-0.01"="0k3bbbjvykc52y4557nm7kqna89mjq6g5j5hpblrcdlmvd5anq2l";
 "biblatex-cv.doc-0.01"="1xbd71vpm6vfyjaszn7jlxr084mqxw558rqyqr8x848hbyh6f888";
-"biblatex-dw-1.7"="17d0mayflv3hwf9ik3z7vjpgp2cv1iyva5iy1nrlf8j7008azmka";
-"biblatex-dw.doc-1.7"="1879390m7ivmb49fkvkhl7233a33q89hpb2pnyvsscz5km3vv4w0";
+"biblatex-dw-1.7a"="0qxc6ggpvs4bs4k0l16393h573xh25dmwf5yar0hg0cqyr3xhp53";
+"biblatex-dw.doc-1.7a"="06j4b6kgsngnj23h9njd027pdgynlnx26p3zb1knqgd5kjbmivmq";
 "biblatex-enc-1.0"="0kvya1xzxpcmvwgacb726jqzmgr944y9ljai45f0gdkw855ylmb8";
 "biblatex-enc.doc-1.0"="0mmc5sd1jjnj42aa2q1g1zaps1hla6yayl769i4bya6i1w9r99yf";
 "biblatex-ext-0.16"="0nggnk560rs9kn8ggd0na2dvsr5xxda6dd9bryhgvnf2n81zgpqw";
@@ -182,8 +199,8 @@
 "biblatex-fiwi.doc-1.7"="10skq20bmpqymbgxs47z8ac0q5nckyph7s4xwqmpfd7pi2sksb4a";
 "biblatex-gb7714-2015-1.1k"="1pzzkpyb9ayygvn8gzl6xrh25dk3aflv49gx611zkkbhw0cp9qnn";
 "biblatex-gb7714-2015.doc-1.1k"="1p8dlyd5b4ap80vpnp0nbl8pw8218d2hw8ifrcma0g18lyay79ic";
-"biblatex-german-legal-002"="1x7x5vpicvxdjbbx17s8va3j0m9mig9ilwim2sp674yxjhfdpw48";
-"biblatex-german-legal.doc-002"="0jgkxjcx6z9nc0c6ms1cn1j7h94d2frxmj9i5rd3h37cj5rax25y";
+"biblatex-german-legal-003"="05wf0z91b7yhw73xz70nfznic6x4iy0ir5savldd1ai67iv6h569";
+"biblatex-german-legal.doc-003"="04xrqwnsai24xh1apw4vl5gqhjd06vri33cxp0z96sp806s6hb4z";
 "biblatex-gost-1.22"="0ar1d77qzhqb2wvxa2rqgfdk006ph5p2h3a4i0ibjbnm61wx2afp";
 "biblatex-gost.doc-1.22"="1xqs7h95qc04lz3wiyfi546p6p4l9bzx4g13sbybsyv2b9yv9114";
 "biblatex-historian-0.4"="14p27qb8rdx479pj7zdvl00ir1zg8f0bzp107zfwv61ypq8zrvbl";
@@ -212,8 +229,8 @@
 "biblatex-mla.doc-2.1a"="0i4716ascvd17l0nlf1wn4vddkjkzc85545wgb4cdzj847azm1yj";
 "biblatex-morenames-1.3.1"="1imryzaywyvdr67qcspys9r3mhl5k94vhqjsl16pmz86klq1bs1w";
 "biblatex-morenames.doc-1.3.1"="03p7154s44ga7rlf8ya69qvbwkb6gsiwz8j2wycgzljj0z3plnjh";
-"biblatex-ms-4.0"="1y0cbha9jdsagrw6mxycllgs22l54qq9xcnpz5gvhzyalk1zs1dq";
-"biblatex-ms.doc-4.0"="1kw37wg146ffrp10rsys5fnnvrjpdl2hm4r5hndkvqc8isz0kafn";
+"biblatex-ms-4.0-1"="06adhhqd36ahjax1hn0ahpzmdnj5rxrs3yj6h7iyxc46s6d5cx49";
+"biblatex-ms.doc-4.0-1"="1slizjqc40mqai0686q8jghnsbvdy78kc5kpk5v71pc484dk5hg1";
 "biblatex-multiple-dm-1.0.1"="11rl82yv0bfy69cmij15np3wc15jss82ghf965r0b1py37vsj0s4";
 "biblatex-multiple-dm.doc-1.0.1"="1jypgpaid18g09xxryriaj4n1ql0759jfv4jshjbkbk5fgf4c2yi";
 "biblatex-musuos-1.0"="0zs2dwsid3xhcl01a2hqrr0mdfr1q9j0zga4rjlarfzkgznkqrwc";
@@ -227,16 +244,16 @@
 "biblatex-nottsclassic.doc-0.1"="1c5634p7knwv8zrpqh39zlpglbdbx9a5y5gw54gj37x3r1ij769x";
 "biblatex-opcit-booktitle-1.9.0"="1xciw0zxkp2034lccvhr6irkr333s0qqqacxqx20v51vjjg8ywkg";
 "biblatex-opcit-booktitle.doc-1.9.0"="1rbswdipirzv68ckh69cc29k908ifpkzp3vxgd2j0bjl3qvbwcyq";
-"biblatex-oxref-2.2"="02071anv1xni90hi5lzkmsrnkm8m57n1svkslghljy33yxabzfv3";
-"biblatex-oxref.doc-2.2"="1ih3hia7x5ghs10g2gg75d9mhvr4fkmncwi6sp0q4zpl6zz6sg9q";
-"biblatex-oxref.source-2.2"="0qhgzzz69bndzxhy3z7mj1yafxz5r9ihhx90phn4lwcrg5db8lcy";
+"biblatex-oxref-3.0"="1dh948jqy360dvinvql8rd40gzcpcpw223lpnfsrk6klmsx0rm92";
+"biblatex-oxref.doc-3.0"="0v3car4vywy9i717ffh94x49hgfqyrryy7h8w63cc8pa53kwz2gp";
+"biblatex-oxref.source-3.0"="1vp027l005lzw2nf6k16ysa97cxvkria59wa29hrivb26v5d6wkl";
 "biblatex-philosophy-1.9.8g"="1fdqbfia3k8zldsyy7bf6rhkscf97v84m5c0xjnk0s0xb134d7hc";
 "biblatex-philosophy.doc-1.9.8g"="11pxds41wzdsfgikcyx84d98pp3sz5625kzim7bxp58vn5rkrd95";
 "biblatex-philosophy.source-1.9.8g"="0fhp5lh4g7m07cfpr03ca0vrn12lks8lsq3w4vbvkhh2in5w7z43";
 "biblatex-phys-1.1b"="1vj1rrhzh7ncvi2dap2cjk88vdj0dmlpakjiz953rvb7szx0h40r";
 "biblatex-phys.doc-1.1b"="0z3y7gmcmp2p5g25jha6kwkd7ma4pzgqybxra4402p6aid823fws";
-"biblatex-publist-2.1"="1vnhz3yrzs4klz7a77pnycs8ajjbbmy5fyqdnfjv76bc9v4wbqj7";
-"biblatex-publist.doc-2.1"="110pyjp37fw8wd227jnddmrak3hqyc3lj8m0h1hfayly2imb69q9";
+"biblatex-publist-2.2"="0r2k8kiqw574gcdh76andr6prhd8z3fnspap8hhqlfn9lw9ly0pi";
+"biblatex-publist.doc-2.2"="0mvq00rpihk5mzdg9ivly3wbmpbrsdm1phkrfssnjwm5icbaszw6";
 "biblatex-readbbl-0.01"="0byz95nahaassfx1gpl80p4vgc2bhs9wfw9w7xxwan6b1kkkz9p2";
 "biblatex-readbbl.doc-0.01"="1cp3r5j8b7zrl0k7zzhyjcrw9nypmr6gd7mn1q5whn7n1dn5js5c";
 "biblatex-realauthor-2.7.1a"="1xv65ic8ywf18fdb246sr8pvq60hv4wmg7ris1glr5104g5yhg7p";
@@ -283,8 +300,8 @@
 "bibunits-2.2"="0znv09kqrwvmsjsw3lx9d3mp6fm8444zbn317q5yn5hzg2dyj61f";
 "bibunits.doc-2.2"="1zgj4jpl0fpmsrcp3h4qlkilflmy8zqhjamghidwzkkg1i9jsfz1";
 "bibunits.source-2.2"="04lswyalfivh01hp1wj3fq1q8960dmsvnbi8k856v3dhz0pv0whz";
-"biolett-bst-61719"="1ap5arz0s65bqqfllzwxisp3wa327kgivw1jh1gkc4wljq7v4jq1";
-"biolett-bst.doc-61719"="03hj647j6b7y43djqvb28rkjixpr0y7i02420piskp3cg90hn5dj";
+"biolett-bst-66119"="1ap5arz0s65bqqfllzwxisp3wa327kgivw1jh1gkc4wljq7v4jq1";
+"biolett-bst.doc-66119"="03hj647j6b7y43djqvb28rkjixpr0y7i02420piskp3cg90hn5dj";
 "bookdb-0.2"="1qky1ccqyni9x3dgjn6s36qyqdqzkj65m2glzzqdc4qs2h1hqr0q";
 "bookdb.doc-0.2"="00fr2fid8yg3ww2gmgadxx90y032vrgicjh23ia41r159clg7fqp";
 "breakcites-21014"="0f3zhwrk0wapckz83304anlp2ssii7nvzjdakbxfdj51cd6schpg";
@@ -308,15 +325,15 @@
 "filehook-0.8b"="0h0k0fgdwzm50jz0ibj7zsv1sk355q13x1djc3pk4fg1f3czhfh2";
 "filehook.doc-0.8b"="00l8hx1sn4sn1mqpyiz9isl5a25a4a64nifq6q2jlw09df9gmf9m";
 "filehook.source-0.8b"="0bd6fhrzy6bh42yb44y4bh01zpx92crca8zia4lyjmc95rlv6gfa";
-"l3kernel-65299"="0vyqcm2qpbs9iawha6b2mi15bq5066p67v90762mh3ph2n3mkr1l";
-"l3kernel.doc-65299"="15l3803csgn4j32400ianl728i55gdaczcamvfkwyk6w8lm0pb00";
-"l3kernel.source-65299"="0cl6a5izxyn19c9npw6hvd29ld650vdh0p8lvcjblm7spldd5848";
-"l3backend-64836"="1sq7zzki8yaaqjcs6bjhivg11w19mip43hcqbdcv42zjllz5aw67";
-"l3backend.doc-64836"="0mccdyrcfw1vpv4qsksx7zmwkczmlgscw70vp49vad3iygqx6hh4";
-"l3backend.source-64836"="0da0hjmc3a6qldgksrwwkf7pl2l1wqd8pd9c83rmkj49q1a51bnc";
-"l3packages-65300"="1fsh2d8wgidph2clxlfb2x41dnay48hi7xwy04s9a5wkdqid1if7";
-"l3packages.doc-65300"="1gqmmh22cj9w0j99cy8dal0mbjq79ls15x0qb2r5b23hnqiqsxfl";
-"l3packages.source-65300"="05znp0g0p3pi0sbzgalzajlbb4nf0d5avnk01lgc1yin6qq46nlx";
+"l3kernel-66099"="0jrd1wllbvlmphk4sjwjva6z1vw3yri1y0kdbssg50gvlfb0r3bf";
+"l3kernel.doc-66099"="1jzm26rm0lfy6vkm7hm802asf2q1wq0078c64a9659snxbjhspxm";
+"l3kernel.source-66099"="0aamj860lcdf8kgb1swl74dh7dpdqcz704imp2ps8sba9gjigm87";
+"l3backend-65573"="1hn5hqs610qb4gh4rwkz6fzh6726xbcnqck4lcvgpv2pwk08263i";
+"l3backend.doc-65573"="0ay0mzhlj28iyakmha87cc0vavkhahp3a2iyj27jqnjxbyk5hrkq";
+"l3backend.source-65573"="1ljf7a9jwvga3r8cijv60lyfwcvvqh2f3d441q360c989rh6yad9";
+"l3packages-65722"="1prlmijxz75r8fzgw0ngdrrnaahl7w1hrwdra49x7rga3wj1yp0s";
+"l3packages.doc-65722"="1pwsi2zpfcbpcpdcqqbb7kd5w4pra9klnhzk2nbd7p37ibcijp5a";
+"l3packages.source-65722"="0i7z2vjggzvfkrzi542q2ilj2zlm9m4s346nbwqy1rdbhw0x1ji0";
 "lua-uca-0.1b"="1klxyb2iw6mccm2dlnpk947kim6ysvkykz69z7crf6lyzcy6lmvb";
 "lua-uca.doc-0.1b"="1605lw450b64xx1a6lxjh9w4jda0n3d0b3sfvxl4wngd5y2jckzg";
 "lua-uca.source-0.1b"="0z7fgyp7dh4zkz48mkh49pngaiyd58ckm0ipd3z626alz4k2jspq";
@@ -341,15 +358,12 @@
 "atbegshi-1.19"="00r3ayn5qa2p2j4hyxbp2mm1aqhbkjpwk15gan1b4szmm2wk54h5";
 "atbegshi.doc-1.19"="1pjfmnrssaw20sdq801x9jb9qh7s8l2mnhcvla4bxglckgwz2na9";
 "atbegshi.source-1.19"="0b0sxs3jpc6a9pw1z44iv2bwvyxm02yfl8j0mc5qw0asdp773vrg";
-"atveryend-1.11"="06q5b28q5m9i29yqqx1l1y0vjc20i0n6p2k47z66jf3s6abrqnrj";
-"atveryend.doc-1.11"="1nn08cfh3n63xd45rkmzvdmf5580lm7kfd08z9gawgaibh6nii80";
-"atveryend.source-1.11"="0fgzxwc6jlijf0mzjh7pm2afd85np1rwy4xziz26s0gi6i5pdmvp";
 "auxhook-1.6"="0c92za082vzi47m5dlwq8bss4jjgfzmbbaaz5j1yb4ngli9qj08y";
 "auxhook.doc-1.6"="0l6xga3hr1lvhgli259ma78rq394jplnkn5j8fgrfapvzrhsh2kp";
 "auxhook.source-1.6"="18q0lawz00fbv9mgcbp21zk6fm1hsprmrkvhnl34ac1qj1rx6x3p";
-"babel-3.84"="0j6wa7szv65i0k8njzpg9n8b0qn798dbf9i63wly004rgs9hcs32";
-"babel.doc-3.84"="14fxb9yrz9l1bcbpgcsv31rcw7g5dj95bzcy9bqnil3r82yxw0ly";
-"babel.source-3.84"="16npd4yw5n62vlrbr1bj9i0iilg7cx83wdqawmcmrx0nmfypfl89";
+"babel-3.86"="1gcymznzmmv6xxafx2268113b67n1h23r6f52fgvkihkk7qvh6mn";
+"babel.doc-3.86"="0b1wn28hmdp8h5aqx1pj4wlzvx4pwrfwl3z3b3h3b78b2jzcf572";
+"babel.source-3.86"="1wyyn4a2s2ymdlfkjbclb2ff5d6rqzy8rbg6wzx32bflrwyywshx";
 "babel-english-3.3r"="1nb3c0yikcfhlpfsqgx2c6549ra7wcbcjs614d7gvk5fyh0cds8y";
 "babel-english.doc-3.3r"="0jfjdsiqkg0sfy326nz6rncq9sk1ssjzb0w2frybkp348gif3rv4";
 "babel-english.source-3.3r"="1q9bgs6mdgjlg3pv2ddrwbnfb628dr6rhdsgkf7rnwm5m6ncxkxh";
@@ -388,26 +402,21 @@
 "geometry-5.9"="0wv4c77fvaz8qg1ffjg3y06r3q4xjfxkh3m7a5s9ynwmfchcirgi";
 "geometry.doc-5.9"="1npbvp9g9b4mp8w768gzx1vxsdsi9zlrlfgc65xmb0rqx7z19zvy";
 "geometry.source-5.9"="0dm5zakrp71rxfa8xgj7ks0gfvmrm93sqi6f8m4hw7ls7yqm3y9f";
-"graphics-64892"="0cb099m8387zmn58aws7q6nn2wlxnz3hhghhlfn6aagwp1i064gy";
-"graphics.doc-64892"="0q1b8gbssjvrga4nbjsxk8mplingbjs7x4385pa4bg2r29r09znl";
-"graphics.source-64892"="11jmacik80m12vycw3yr8waszi280f6raiqcws4px4w6zan71qhz";
-"graphics-cfg-41448"="09yifx2ww4jjjhl5k8b5vz78711289755mw0r1rcshk596qvn9r5";
-"graphics-cfg.doc-41448"="0rfjgc83ryg3s5q01xnkk8bzw7rx7m96hfxq85xjjn5qxsgy8yqy";
 "gettitlestring-1.6"="0kg2p7ys50ms0li3vnrabywnrjjgllpyr8sf9cz3rnv8zsab4b68";
 "gettitlestring.doc-1.6"="0xkk16ncsyv2s3klv316fprld0d5aqaldh3g10p5gcicmccd9061";
 "gettitlestring.source-1.6"="153bkg899ikkg5zhfw1nc48nzk3c0x5iycxspxcrrj52dpgq22kx";
 "grfext-1.3"="03ff5n3yc3fxrayhyapm9qhd665r15v57vri6ajb5xb4m18rkfqw";
 "grfext.doc-1.3"="1f5kvnnv604qllqim8qv40cfpx0xaxanigqnqwmjfwf0n44akcfp";
 "grfext.source-1.3"="0i5pkqrc4jm3cgwzyhw1r3kh6b0b7sb352bnzid7h8msiwx32y8k";
-"hopatch-1.4"="05v819zywc2g1155yvrzql7i7c99605kxnkgaq0mm62if6a0rsda";
-"hopatch.doc-1.4"="0jc2amxm8c1j6mwcn64x7rpjl61yxvsk4fchyl2pxrn4wa69z5mv";
-"hopatch.source-1.4"="02pr8bd87ri7x0w2bgzd2vlzrq3b42r3l7na4vq7lnikr1p3x550";
+"hopatch-1.5"="0r294p098z0qykrh9r4yxmc0w72mz1nmxqbv418pmbn15wgj031v";
+"hopatch.doc-1.5"="0qxa6maigbzx7hc3nss3wmvcpyc9wvhq0pbzni7j0hqyzzsz3vv9";
+"hopatch.source-1.5"="1kbk80432fpq30zgix8waxq87kjd2bpcv72idaly8yjbj4pa1l1x";
 "hycolor-1.10"="1dfd149g2k8cq3lw95z6r4knyq1mgirdqnk9c4lmd7ip4rcs0vi5";
 "hycolor.doc-1.10"="1pc12vbn1yak6l6c1fgpnj0s88fg94nagj4b95mvclad6b546g71";
 "hycolor.source-1.10"="1f5jv91vsib5vk4byr0481a8j5pvbwmhfqz2qd14ck2vw8laz4ap";
-"hyperref-7.00u"="0m130fxlvlbhj958k12qsjp1kgafy3d2r276wplq1bn6zxwg1wbi";
-"hyperref.doc-7.00u"="0g8sjbwzdx8wh1m5jlf18jamy55kgp8q1x8nahywv7dfil306cdj";
-"hyperref.source-7.00u"="18ygwim49y68wy1m097asn2c6c3drx9ay1dhfsbw23nh97pwx2lj";
+"hyperref-7.00v"="0n80yzmhap07qjf1rva9jl1fr2qfx7qjkdn92l502nd9xw3yxf2b";
+"hyperref.doc-7.00v"="0w368frafzhbkq7w3vv448qqjyy8487vi5gi79dbsc744czjn0rm";
+"hyperref.source-7.00v"="0igpr3ipkvws7nyw88wga30rjvix4462fzqakhqbj91hz1ml0gb1";
 "intcalc-1.3"="0llrnayqwdqxi91yh7panbbiljina3bynv2hxhi6sssaw3pyd92l";
 "intcalc.doc-1.3"="1vav25plm639410p59bi7bsihsyys9yaddz0bcawxn72zi9b96r4";
 "intcalc.source-1.3"="059pqs3f821javya7brxvl9v2mifdyw1vg18hr1zgzhj7bmlxh14";
@@ -463,14 +472,14 @@
 "mfnfss-46036"="1m0yza8nw5r3ph8k5nihgf93vf54cb0cnw4c5gkqy0rsd23hk4dd";
 "mfnfss.doc-46036"="1ppjjma5dc5i9ly5y7h91647nw9c2y9w65k0dn1ks92xsvnzf1mv";
 "mfnfss.source-46036"="0qjz8dz76abwqspab89z3a50nndh6gflanr8hn31z5fra3kzfp90";
-"mptopdf-61520"="1r7m71i3cnyf3q5nlg6c3ialw6vmch48sgf0flmd63y6n21zjsi9";
-"mptopdf.doc-61520"="0vslbvfk3az9sjhgy4zc10i4br7csgbfgwmgylzhz033rcc154r3";
+"mptopdf-65471"="1r7m71i3cnyf3q5nlg6c3ialw6vmch48sgf0flmd63y6n21zjsi9";
+"mptopdf.doc-65471"="1ydpkqn183z751n5dbp8p3bn44kpdnigf87i521s9d3j46x0ac1y";
 "natbib-8.31b"="1wxpcyr1b6k1rzizbz2g452klrmr6xh98csqr6pawlnx2zy3sx5x";
 "natbib.doc-8.31b"="1hai95c7ah61rqrsvzvn0ppvr7pn10830dp7wn7fc0j678z9r3js";
 "natbib.source-8.31b"="1qaxwivq95pf014w39igh070cnbs7n0k5am4waxvdwkzql1fafpy";
-"oberdiek-64463"="1glzbdh1dpys86abxd2d12v7kylwq4nfyr3nsk35qfcvff2k4pk4";
-"oberdiek.doc-64463"="19qk07b0r8yi6dq021kc9w6qvag1c74pqpzkr6mx42i8p9h0g85f";
-"oberdiek.source-64463"="1x8bq44sfigmg0wr8vk15qnm3k6339x2nxx28zmj1pj804rgwwvv";
+"oberdiek-65521"="0hqbq0i6miyi068xsq44zkpsv8crnp9c1w5sscflj7b3zzrd6wjb";
+"oberdiek.doc-65521"="053gd080j36f6zyij2d9ngwihcpwmvj2rz1lshhrlvbavh5mawv3";
+"oberdiek.source-65521"="0k5jwnv9c02lckfl80ybjbdc10h4ipiviljdzz768qgmxx5bpdvr";
 "grffile-2.1"="02cmm9q14h87dv5h5ci7ny7v4plrry54mz15jddx1zkfx4myykww";
 "grffile.doc-2.1"="119xqz1n57mghhp7db19ffrv1cdk1fgpznlyrn3qgvg2926mx104";
 "grffile.source-2.1"="0pmg9140plqv27mp936ca0193ihggd243mmprj3l0d6rf5dajm8j";
@@ -608,9 +617,9 @@
 "uni-wtal-ger.doc-0.2"="0kncfbrs663qcpc0nsfhf0asjri8103laj9zpaayk3by612lfgj4";
 "uni-wtal-lin-0.2"="1rc0dc1g1fwhz8qa550ykc8azzc4i748jh37a8ppgrf4x2lgxzjq";
 "uni-wtal-lin.doc-0.2"="1ja9a6fjrlh1lbjkcsal7ahw24w1gs1mzma6jiiw5p5kbmc4zpz1";
-"urlbst-0.9"="0610nc52xlxjdncjpva8jz9b68mfsbyrzsjrfjn8gr0r2zm3g2fg";
-"urlbst.doc-0.9"="03mx1w1bjyn4x102hc9jqnkb1k1xqs5418lv7asjx2ddrm9n4ni9";
-"urlbst.source-0.9"="03s9n9pmkbiagkh773646x8ndf4gc6ac0q5kakzzn870smlg8m68";
+"urlbst-0.9.1"="0kq36hv6hmj82784c1cf815xgvpcdzgrv5ppniy921yxqxdxn4yv";
+"urlbst.doc-0.9.1"="0c7i74iybjra6mmra82ny1bs09j3qrvqri485p4h1cz6195v3wln";
+"urlbst.source-0.9.1"="14v0wynzshm4qcical4q1vnvmx34ds00fq1733ivl6hr0sj833mb";
 "usebib-1.0a"="1q38qzz87nh2hbmml3b0a4919dgk6d5rn0z5bhrc4ip27dscvw07";
 "usebib.doc-1.0a"="0byl3xhiz3b4hqqmq2wi5fdbshh5prvqfnhjcgjk619bn99cijxm";
 "usebib.source-1.0a"="0asby43xsd35aazh2sncg639x91f91shs25f6f1127rskx5fd7vp";
@@ -631,8 +640,8 @@
 "arara-7.0.4"="0wv9gcps3nyhssysscfwdsvv35q4bp14m0mz2h0gq7zc2dqnmjml";
 "arara.doc-7.0.4"="1bi7k8ihgh93fj7id134z6dqy74r05gksfpvk5crp6y922kava0q";
 "arara.source-7.0.4"="0ngp7dl15iqp81a1z0an6vf007aznxd7cwcrzywgx7w42cd4a19l";
-"asymptote-2.83"="1gxd6wqcmxwwajc66ga0c4a50dc27q0g7239dxwii2d9acykw6g8";
-"asymptote.doc-2.83"="0v3n76arlr6i3xqvgh27mmp6jj7nqpp149y5ivm1v12q0y444zky";
+"asymptote-2.85"="1gxd6wqcmxwwajc66ga0c4a50dc27q0g7239dxwii2d9acykw6g8";
+"asymptote.doc-2.85"="0v3n76arlr6i3xqvgh27mmp6jj7nqpp149y5ivm1v12q0y444zky";
 "bibtex8-3.72"="1hi24b8mmpnz17cfj0p40ipyvzqhgkkhhgh7qkcgr1bz9k82q7sk";
 "bibtex8.doc-3.72"="1acay8y0l6gnczznxprl4h3bx7jaxdqrczyvdgin5z8yqhx0q13q";
 "bibtexu.doc-3.72"="13nj4xwza8a8pymdv7iss5ny7yj51bz71b0g4dy3k2lwzml2ch2p";
@@ -653,8 +662,8 @@
 "ctan-o-mat-1.2"="1iya9r04n18i8jdzqkn2i1rxfxxmpzcpga03rp0i6ykjj65v4q4r";
 "ctan-o-mat.doc-1.2"="1j053gvvcznrk0fhg21ddyx1b1m1xj743b3w8z01lpjihihzq0l8";
 "ctan_chk.doc-1.0"="09ngqgs08q8bld334jrzhnd558lv7fajfppmfrkp4kv9hc5iyz9a";
-"ctanbib-0.2a"="1yq0ash36qgx049lk0k8ic54s76r0p2jlkr8y9v6zky7749gp4bv";
-"ctanbib.doc-0.2a"="1n564qh15bnq6x34yd2xadfqvz0favjamqb4dgfsrnhhfxxypdzw";
+"ctanbib-0.2b"="1av72hhh7l1ih82kwp184221asiy2iljzm303h7cjmqqsr6jd2fn";
+"ctanbib.doc-0.2b"="1wsx170vm97d3xwa8ji7ipann59bi22vbdk404mid4637svdm1zx";
 "ctanify-1.9.1"="159jchim2b5idpzj5fxxc9hvrbddm6n00rpqsqffzdiijvp9jbif";
 "ctanify.doc-1.9.1"="0wnyp4rl4cg2wgaq83xwm0vzm1b5xlgbrjchg4s3glh2zzl4mpg5";
 "ctanupload-1.2c"="1dvqr96ir3gakxrf4fk0dka80inl6aj3kydcf0128vlq168zgvsg";
@@ -681,7 +690,7 @@
 "dviout-util.doc-52851"="0niv5zy6vksm2qqqz3bjd417ylq46bxz6sra3abp9k4c2bpr0pz9";
 "dvipng.doc-1.17"="0xqdvciakvfp06rnsd7grnvfwjcal0ahyj90gyp2kc4r3v3lk6pr";
 "dvipos.doc-52851"="0izv95mvzky166xpalw897z3lgl3424ixbabz5pikrhn6i2q6zmf";
-"dvisvgm.doc-2.14"="074z2ik1rvwy4iiks3d4vhz6i5ykkndfsbmvkxfd92pqfgrjj5ga";
+"dvisvgm.doc-3.0.4"="074z2ik1rvwy4iiks3d4vhz6i5ykkndfsbmvkxfd92pqfgrjj5ga";
 "findhyph-3.4"="0b7qqz0p0l70r6dl4jhx086dxywb0vlln3r166pj0yl5jfjzhpna";
 "findhyph.doc-3.4"="0n7cpjxz3adj4bcmc1vd548lggcchhqfahdcvn4w9invw296hhlc";
 "fragmaster-1.6"="1d59sjzlvygwq9b02gbrfra4cnvmygza80b5rkghhhpa0n3xnx9p";
@@ -708,14 +717,14 @@
 "latexdiff.doc-1.3.3"="1r461j9m6rs38kim7isvi66z176fv1nnd1q8p1zza9b1j1qhfr97";
 "latexfileversion-0.3"="1yy159skv29hp0qxpghmq5zmay9yi0ndkgz7lbllj1ymkgxs5138";
 "latexfileversion.doc-0.3"="0k20c2kw0xarjlkdhjyx9h9kvjm2f3rd98lz097xj8xvk0fs0zp6";
-"latexindent-3.19.1"="0hfrrcbsrysmj2zmrhqldaq62p1fg107sqdrvmmgzaymg265yhd0";
-"latexindent.doc-3.19.1"="13k3zaj7zfby36qcmyywm539q2iz22hadxva11xczy6sjrvcr63k";
-"latexmk-4.78"="1apkg4rzzz5dpdhy02fr5ww1l2f3aw3sdaqm559h0vx666b54x6z";
-"latexmk.doc-4.78"="1sk7q3gg1038qrhq8vcss0sb4s2jz9j1zxmzk4lxxw3q0xmhj0bb";
-"latexpand-1.6"="0n8gjx86fxr03i4pg6dwxr48f12q2s2v32pszg8qc2rw8gkvniy2";
-"latexpand.doc-1.6"="1j7s8f3iw2y8g8inm2f7a5lm1bxfv10l4zmhnfay66xi01py2cbc";
-"light-latex-make-1.1.0"="0z2clckjb1ffzz7s8ffdw63qiln0wb171wc447k7smdqfdiawi0p";
-"light-latex-make.doc-1.1.0"="13gr8vr6hvafnkc3dfc77h695g7rids87i37yav7nliifjkkfzaa";
+"latexindent-3.20.3"="11i9xdar1xwm6fp2bf1c1b6yw3r0vj4x83pa5sjhrgmrgbz4f2wp";
+"latexindent.doc-3.20.3"="0i2i8pm5pr4h2qvm73yh58wqm73qkj346fs87zcjmg47phq8ca93";
+"latexmk-4.79"="08ar9mndvhgwp2b868a3wc534zwk5jc68gjyznzhww2c46mmwvp9";
+"latexmk.doc-4.79"="1f60wcxfz5bnhg9700kmbrziyvw5zfwl6nw4jqfxzcvsghxh228h";
+"latexpand-1.7.2"="1ky0z3k9lwd2815kn3hxpdhcc92spp4wadc5s4hhjdjah50b6zpk";
+"latexpand.doc-1.7.2"="1za2s4qvkfpqg2s86z33y85lw4vbi5ll52if58dndbg47mf26939";
+"light-latex-make-1.2.0"="1rjnvx04hcmiwzqg9gh1l2w0vnj0qfm22snjzm9hi7i3sj1kx2ja";
+"light-latex-make.doc-1.2.0"="1k9c1vpfv08zwgl9bq3wd3lxd5rddfb7pllnzcclx7002pdl81vm";
 "listings-ext-67"="1r5nq62k8rwllcpxwpkh2z0gcb1rlydp9nry8wx7r0h93hbmm2z7";
 "listings-ext.doc-67"="0jyk8z0nsdx2yljly8nd4g8wnw7ggi6mdjw0wb7y0mb5wq47sbpp";
 "listings-ext.source-67"="0hd117168f5s1cb2iim6y198lnh05ph4ib7p666yxvv48wr0mfpc";
@@ -724,8 +733,11 @@
 "ltximg-2.1"="0w53yx4bsj5c9djqp82fy3yvfaf7sl08d2698bq1bzl13rlnvlxc";
 "ltximg.doc-2.1"="1rni1hl6i91dw0fdynkajr27gir1a7qyagmpmypnpcdbqv0rq0hw";
 "luajittex.doc-62774"="0585w33mwy9gw01gjnkh9wyxcw8a4vwhaz9a3dx53njgb2s6a4b0";
-"make4ht-0.3l"="1cikpb9qkxala56mggqr3xlqvfc9p741vrnfidh27b8azwn5vqvd";
-"make4ht.doc-0.3l"="1ybvi4fanm88aha166rfpmx30jj5xk913wabynjp4a7vvqfkcm0q";
+"make4ht-0.3m"="0jk9xamxgyvwy77jv9iyg0z8bj1cy4cmswf6a8ydhcbpc2yyhcsn";
+"make4ht.doc-0.3m"="1vhcrpxdf1pc7qn5y3jirq01qni2i1jb9cmvghyy92kzfj88c93m";
+"tex4ht-66531"="0hwyqgxgb8pjkqwbcdp22c9ffrcqm23dnry5m57x8cs0s6ml1j9k";
+"tex4ht.doc-66531"="04z1bsgy3lisx7ifskxzna5jcbjkbwwjlqfwbfppnmjp5rwphxdv";
+"tex4ht.source-66531"="13qh9basfis90xm8vqwcahi2y491jfcq08m1x5wg5b1iq763rgb7";
 "match_parens-1.43"="0b0vq9lgr9xxwvzvlhlky7fg66r2y1qhikiywddkd06rmw71yvi1";
 "match_parens.doc-1.43"="0i8dnjn5kfqhp51i255s3q2cd6jwzqy4rfdrhaxl15dhj4il9k7h";
 "mflua-62774"="0ngbhdh8hgpjfqnrjlnp27x3qziks3yf2zp1qq7r4bjfa5jx9gr6";
@@ -771,8 +783,8 @@
 "sty2dtx-2.4"="1nrn2xv4r39qa2glfw4kalzdh5w2zlx4vaw0hplnrnxj8lwmpb9m";
 "sty2dtx.doc-2.4"="16jpjskvsk51sz0j503z4dljwzd1ymi2b06z9lag8ab5iiyhm80j";
 "synctex.doc-54074"="13fc91avs09za1y5rrn50wfr2bf1csnf3p4dn0r3mkny46bdfw7c";
-"tex4ebook-0.3h"="0n3ga0cdpy1ywrcmy7n1yy6j9d1s1n5ph05x9bgfy9azmzavfsvf";
-"tex4ebook.doc-0.3h"="091mmicgmq2m9b66h88p486rvhvxlvsahcid1i6dp4fb4pzashz0";
+"tex4ebook-0.3i"="06hp0i93s2a25w9z7ip1x6k8371asgrkcyk2adfsi4ibbp8kvnw1";
+"tex4ebook.doc-0.3i"="10p9mzjfrn7pdfj0wywqv8z6i1qqsnnmjjv0lh5a4w7brln09dq7";
 "texaccents-1.0.1"="0xai85qn9isnrvijw9shhljlkcnvmygni18kw02gsmij0dp9c1jp";
 "texaccents.doc-1.0.1"="02185jla4hffra1wf3mgiaq8lyxh4gxgcjrb5dv3mkrw709iidcz";
 "texaccents.source-1.0.1"="1wqbdmfly54sb8q1y6ms2wg8n62w34xpbfvxvwmg5i4as4a1ycmy";
@@ -785,12 +797,12 @@
 "texdiff.doc-0.4"="0f7q7cszy6ca6fmwzi7fn6p72szgzyj9fldvzz1rk3ywkhsnpakr";
 "texdirflatten-1.3"="0q2m138gpk9cvfp19jvsw746mkxa613c2204qfxw1bxw8b454d7m";
 "texdirflatten.doc-1.3"="19iiznql82a34d2yhzqcp339zszbhfz9fh0h4mb11696mj8rx3v7";
-"texdoc-3.4.1"="0qb8s2agpz4ck2bjdkx2zlqyn24gyblyzwidlma5vg9dnafx9384";
-"texdoc.doc-3.4.1"="1cssmmpb7r4siqn888par183gdjc0psywsy1sk1svpl3h2v99hsh";
+"texdoc-4.0.1"="1ph4mzrlri8daxg7j4n15s3b9dj58ni4fdqhpvqxwy6736fiw130";
+"texdoc.doc-4.0.1"="1dpz5ni9xdbwfy4m12j3v407ywbddmy3j2dhzwrdsyj7wq3impmg";
 "texdoctk-0.6.0"="13j0c5m12if8jx8sp7hlirz33y6l2jk8lvnms7dalz52mxz8kq4h";
 "texdoctk.doc-0.6.0"="1k41z2lbfjsar5rl47xnk1adbcnnb4w97bzbgf2rnjhimd1gn9hq";
-"texfot-1.47"="0lm52pi3alaiyf8vk0q8127q5j1whika3116hkncmd9wagdp2nrc";
-"texfot.doc-1.47"="0pcsx1f607pknmyv46dy5pw8gvdbldyprsj2gcizfiwsybjlknv1";
+"texfot-1.48"="19aswiyr722n9misvg9ajdsgpn1ghmic2xfmr4w0w00sai5sh5rx";
+"texfot.doc-1.48"="1jhyfpiyg3007p22jfwkdfmnbnwwax8rzym30pii2bkx6n652p4y";
 "texlive-scripts-extra-62517"="193v0r4i3p4psn5b4q0ggpgaazwn6jadjlzh5gjm3igg9k73i1wj";
 "texlive-scripts-extra.doc-62517"="1izzy295pmxrg0sf2szxxahxm6s8bfi960mbs9z6vy7m5j1szxwl";
 "texliveonfly-55777"="03i9pzqv2dz4z9nlq60kzwiyfvzhhaalhczqa9146jp4wvcib9l3";
@@ -816,8 +828,8 @@
 "typeoutfileinfo-0.31"="0w48qf9d7qh57s7b1745z6d5abc8rlgcjpmf402gqxv636589dcr";
 "typeoutfileinfo.doc-0.31"="1pffnydxqlkjixa71g09f7754ay0gnyphay51dys9gvvmwzv5npq";
 "web.doc-4.5"="029qxwfgv5qqvwvamc2y94vkx7q510hqa3yfkaa54cwzqsmb9ksy";
-"xindex-0.45"="17pqfrp33z1721gc3vbckfjq7hnh5jl5ddx1q3bfx0mgbwppzzzv";
-"xindex.doc-0.45"="1p9h3zssvs646iw00vla242fhlcq7g7nw13wjy2hsczq8gwvbc60";
+"xindex-0.47"="1lyshvrkd9gpwalmfa824w6divm9rq552vmqwn12c4wr33fk5zwz";
+"xindex.doc-0.47"="184c0bsm24p05pwgzxnb8i21q4p4n4dfmq57p6hfjsgqpx9mrfdj";
 "xindy-2.5.1"="1pb2146xb5g3l5jbqsgzy01lc4zkd39v7rd0rdnwdf7yrxad4zax";
 "xindy.doc-2.5.1"="119lq9mqczsh1np0876fz4gdfyq1rxmc0ghaqyriwl4fzj6lka1n";
 "xpdfopen.doc-0.86"="130wvaypfrg9sav0pdcdy1g10fll8pqcsqsy70fxlzzr937glsh1";
@@ -1002,11 +1014,11 @@
 "bbold.source-1.01"="0qhfqg6kynfq6jzx93mili9kpgikq39wmlhgiav3bdzqhp6v0q3a";
 "bbold-type1-33143"="0zvkzp43awkf5vbnrvhibkw185zg7h1rcfqav38z720cls2vgd7w";
 "bbold-type1.doc-33143"="1dj0vqnhmk8n383y426ma1y89r8y69y1lc2vkg58gaffjfrpxwxs";
-"bboldx-1.031"="1b2b9a1sk79k712ni4s3f5n5fpb4zp0kmyyp8wds6bdf2kkq1qzi";
-"bboldx.doc-1.031"="0x4r242x60i73ry3fdzfsisbf6pzmbh3m3f9z8p2xlqbq2q4gw4w";
-"belleek-18651"="16vq207gnh24axsmh2nnh8lgy1lz2dn2kfn1sx51cbl28qv3wy2b";
-"belleek.doc-18651"="064l5x679az55jb808yq36n28qhf0gv0xm21iz8rnz4qxymwsx0f";
-"belleek.source-18651"="1w1jbq0l49qd2wwc0xmravrid4rfba52yw29z5ki7p46j51dw7i8";
+"bboldx-1.032"="0r6ds8wkf1qrv4mank08pzkwz4qk2pfyb6pvqazbf4jn4a46bjcl";
+"bboldx.doc-1.032"="1b79xnpss9s1c7lmqlpznk4vvxzgp7dd248ipkq6n4dlpv0s2y4n";
+"belleek-66119"="16vq207gnh24axsmh2nnh8lgy1lz2dn2kfn1sx51cbl28qv3wy2b";
+"belleek.doc-66119"="064l5x679az55jb808yq36n28qhf0gv0xm21iz8rnz4qxymwsx0f";
+"belleek.source-66119"="1w1jbq0l49qd2wwc0xmravrid4rfba52yw29z5ki7p46j51dw7i8";
 "bera-20031"="1i3mahkkb858i6a3wyrilcbswdp8mhclvixdxgc0wpkqvxa6qwya";
 "bera.doc-20031"="0llhr464l0akf2dx1avnm3d7adzcz7ml3x95glafpk0nfgb98qgd";
 "berenisadf-1.004"="05ibwmiklbdkffb1d85w9097sv215afgbr63fka2iqzcnm5lzbk4";
@@ -1102,8 +1114,8 @@
 "comicneue.doc-1.2"="0wr71zjk337h9p38nm67ga8js60vqyqfslwn7dqvzg06p0741bfk";
 "concmath-fonts-17218"="061kfzds7clbxyq62ilxwcrdkfghi2lx8afik7vi9gg0hysbki7y";
 "concmath-fonts.doc-17218"="1x6wb92k4da01sv8b35p3bly9hj46hh8k9wr22m7lj3rxnndnpcq";
-"concmath-otf-0.24"="0b8glr4mvk8hlp1y7kksbcp3k4bv77gpp54ljiddaa9hsxzqdh5q";
-"concmath-otf.doc-0.24"="031gzdwr7xvdrzprmb4irfikq6d2hm7fzy94d3qhviwjfs5v2si2";
+"concmath-otf-0.25"="167dw3vywjsi1mqj825vlx7j1qagqkf1dxvrz4nadbx4b78dccdg";
+"concmath-otf.doc-0.25"="1jw4p56ign31ks5cdmay4fd1h5s0p3plm7hi3m5a0033wczx0yqr";
 "cookingsymbols-1.1"="0kz8aaf7bp0y2ph0iia5lkrxnxch9r63iy7y4zpqcawh1ajl10ji";
 "cookingsymbols.doc-1.1"="0dws0sdcg13jpz23zvkw6vfnc34qc1s464nm2nbdybhjwc9gdbdl";
 "cookingsymbols.source-1.1"="1l1jkd6mcxdldvjyk9myig4jsi89mg6n4ab6ymq5lqf25d260h0j";
@@ -1196,8 +1208,8 @@
 "epsdice.source-2.1"="0nj3d8nqc8x41lmqmicqf67wc4wirg0q0djzi0nbk77g2m1qjs0l";
 "erewhon-1.12"="1nw8y88z39wm0f312a8r0hwmdy85nynrpq8k78l1iabq9i03316h";
 "erewhon.doc-1.12"="0wp19ficxpgay4bbs1hg3yrxmy2hlslgyawa03naaxpy1jysx8pw";
-"erewhon-math-0.55"="074jjpb8522p9r2glbcwfj2l3pgla6vz9027l7ycya5p33qki6zh";
-"erewhon-math.doc-0.55"="1rlvjhq4yyxvvv668n1az3fsqbgfgnsxjkmqfwjpfij0q1slk639";
+"erewhon-math-0.56"="0qsb4fxsv0fxagmia1bxk3m4nl6aprczj175gca6h3x5n95kprwf";
+"erewhon-math.doc-0.56"="0ph9qzmpz21lxfh69r0m4y4qj73ld236qhfx7l0rd54rabj2nvcq";
 "esrelation-37236"="1gjwrnd63bb66vy7f74alxshcr5pqz8g8q178wkgyrm37xql6kni";
 "esrelation.doc-37236"="1nnwpgjy0mzc2h7sp2igqwain2nz6374qn4mjvj6g8x02lkc1hsa";
 "esrelation.source-37236"="0aqb63mzvx5hl178kmy6aawyv5ri8favficfjjmkpq3d4hgnrwl8";
@@ -1208,8 +1220,8 @@
 "esvect.source-1.3"="1han75c642d3qmr47ppn11f7q1lnz8lcwj3q39nh1f81vi2w6li8";
 "etbb-1.056"="1qpfadd544dzf61q7p6xirkv80bqz9jvvx0jm5rd3jjm12d95rkl";
 "etbb.doc-1.056"="1hiiw6hhks2w4ngk3aw992swmxcfhnkf2b92ryspbmd6mycs70ka";
-"euler-math-0.30"="028525z7cmcjy8vvbm0dpih3qwd7qz6dqsdn8185fsk9rhr993p1";
-"euler-math.doc-0.30"="0mmzqh9rxhg9yy4y23iri9spn03qcnqshv361m7795jj3f27md66";
+"euler-math-0.31"="0w6z3lafazlch04a33rrannhnph0555wah49ngnmg2hakrn7bxbm";
+"euler-math.doc-0.31"="1zk5c32h4aclsk5zvjsqhrdf71szsvdi4x7h78dclqgdr8jl9vyp";
 "eulervm-4.0"="1x0zgqw15r5z9mf4pcpnf1bdbwbpwbc49ij7gjrhf9jzzlkwraf8";
 "eulervm.doc-4.0"="1bbd7f4dz3xp7ylgpi2wh9jf8nz4z6i2cvphfx53xvg555ln5v1m";
 "eulervm.source-4.0"="1if22m5h8ma3bvrlp4jzzhjm410r5r7r2ij17prycj3cpj4r2nl7";
@@ -1232,8 +1244,8 @@
 "fira.doc-4.3"="07wm5kca97r39shhymnwiarsxn0i5ykycyd28shqyqmmmk6f2j33";
 "firamath-0.3.4"="1d9l5nsx0qswn1hcalzsrxkvc7mvpdqk3h72bfk50h91lfm2i567";
 "firamath.doc-0.3.4"="1w6zlskvs54x192nyxa83qnlqhvq98g64k5fv6ch406nkivifmgz";
-"firamath-otf-0.02a"="1mr9s4cmjflvvglq48nwxrnn4mnh27mh4j5y0sjyjhz5bwcs87pk";
-"firamath-otf.doc-0.02a"="05b5xzbcnb2g0sx5nzydvf0x29yiz5ssbzv178iz1ri74sk55lnf";
+"firamath-otf-0.03a"="1f2ybcf873ycrlsf59cw25715422n11jhblggjz5hmmv5vrqpvpk";
+"firamath-otf.doc-0.03a"="19f2mbak3vzkjlpipfyja5ibdgxvixf698i2wm347lbdd0p5ligg";
 "foekfont-15878"="1vb2j10j6ra47gyp5a7fpv3868b1rgk2w54w0cd8iczvshbzva88";
 "foekfont.doc-15878"="0yr9xzq9pxgaw14r6494162acj4yavyd7r123fabwf4dgj1xf46c";
 "fonetika-21326"="0fmhazwrjh427g0hz8br5b05ccxv523n1ar5ib9hp3ndqh6svpgs";
@@ -1353,10 +1365,10 @@
 "junicode.doc-1.0.2"="17z7wdsyrc3pxjqpl361ijfp9zj50g3j66q4sjddg21p1dmcqmi4";
 "kixfont-18488"="02zwdm6zja38n41pvzay09f38cam28rr9ag6yy1m5kmw8421xp11";
 "kixfont.doc-18488"="1dvv4hdgkzmdn7waq4djsgdd8p1cwq3j0bddgxq2y94pq64maq0q";
-"kpfonts-3.34"="11g8cli4yzd7y04133hc0lx8cl4zgk2dyllrwlicqfny7qnc4fdn";
-"kpfonts.doc-3.34"="14by053lfyi144fg3xizp1lcyrk6rl9s14fw1li5m7i36r9jjzzp";
-"kpfonts-otf-0.47"="1z66jvxv4vl7g7rlwx4z2v2q5lszd97qdgxz6ip8isskrf8pj2hf";
-"kpfonts-otf.doc-0.47"="14kfcwvzv9a9ygrhal0zkd0zcvzy4g50kwqalbycrvi46mvhvyh3";
+"kpfonts-3.35"="0i8c7agc9zs1vzjq8w0ghkwk81hrc2qghzn7hs1wq3vdbc3wk4r5";
+"kpfonts.doc-3.35"="1q8h8208z0k19nw7idq45hmzhvsrnf7g3708ch3kjwaj7r9y5lij";
+"kpfonts-otf-0.48"="0mcc1sbhxw2cvbcqd80acbrpgm30wfsmw4hdxllbqpdbhzajd5rp";
+"kpfonts-otf.doc-0.48"="0js4hagh8pawg1dfc68q4hvd0bwjwh5n80cxyh3zmaj9mhan22bn";
 "kurier-0.995b"="0x9270xgsk28i5dxp29r0awf72l5p0786mbx7gb5d4vppkf0v9gx";
 "kurier.doc-0.995b"="1d3lfxixhcrkk94m7ljfcb90yvdwjbp2axjnpr2bbh32xv9zzsnk";
 "lato-3.3"="1w70dgmvcwm9jff2ap7s78qgqs9ip4a6dx5wz8iyd7hn2mwf1v80";
@@ -1442,9 +1454,8 @@
 "montserrat.doc-1.03"="0blk6jxz1xrascrdalssqd9pdrvpai3k9bqbvgkyngqhp4rzndv9";
 "mpfonts-54512"="1z5ws1kr5s07xwcs39w049yvhfwadybjxb32kf9qd8818pgd4zkc";
 "mpfonts.doc-54512"="1hjy2jqm8mlrwiipl4f1rp10nya3zcy2vsyibhs7f280h4zhdwxz";
-"newcomputermodern-4.1"="1mqzpd66dmn5ykr569671lkxkl5mvzdrlf1cnm0aaq32lkx74mrm";
-"newcomputermodern.doc-4.1"="13zq9kjm67v3vg4zjvrr3m6qakhkf7fdcxj2v2vgjlapah9d9k49";
-"newcomputermodern.source-4.1"="18bx02s8c74z7m791flipcihp0pc7g88glml0kn80bvbxnhh4mw6";
+"newcomputermodern-4.4"="0wwm937vg3shmy1dky3ax3xil0n1g0zbr64w7j0kxx7d73bik3w6";
+"newcomputermodern.doc-4.4"="1pidd7l6yr5g6nkjwzpwdchbz2pqw5hbvq66i0n9v8hd993rnm15";
 "newpx-1.505"="030mw0wr5gs2kvamyjm4w3chnd9f0yf9979byrg5qhmr31f72n5c";
 "newpx.doc-1.505"="1bcdwr79kaiib555mzmgglcdxgv28nk7hvnnrzcawkkqmkqh57v2";
 "newtx-1.71"="0ah3pmxi99z8b7sv8xhjlnwj9l5pqh2p8m6vbbscgacpv9a3w9w9";
@@ -1460,8 +1471,8 @@
 "niceframe-type1.doc-44671"="0prjzgj1fg71kf38asq8622l6yjvn1pn6am1nxkwrpfmn3bmn76n";
 "nimbus15-1.014"="06bir9vnihawgmc8v4cxjfcgk2fahhh9c603b7d9wzl7mi40prl9";
 "nimbus15.doc-1.014"="1fr7k4vh7726xh03qz5116winps1dkalnskdywvcvbwk18a2m07q";
-"fontools-61726"="1gsgzmwf6mcnv7xyab8q3dwk3m2pbp6bmwqgwg4q7aa4nxby31a3";
-"fontools.doc-61726"="1ss2ksx3kfshn3cxnh27gzc76kd3rhz70xi5342ax0y6k2z5xivg";
+"fontools-65706"="19dml0h1qgp2y58xsjhyqq56204nnbc8cci626f8zlrjq53b3251";
+"fontools.doc-65706"="0v5gmccq0a9f184c257ldfr7h3hdkw1090n0zj6qv2pp7mm0kxjd";
 "nkarta-0.2"="0mhi640hsr7dy7jbvkqq2yl224i9ialf01jkcma0cq527nvrnm3f";
 "nkarta.doc-0.2"="0bqix170zf7lgiv11v4mqyq3iva707zv91z154bi71cvnlknbkns";
 "nkarta.source-0.2"="0f6m2wz1cd99s4nxppzdq9jm1hg02xzswgm85dmi18jffgrd2chp";
@@ -1574,8 +1585,8 @@
 "semaphor.doc-18651"="1bq53xa67jshwlynsbqhf73jgy6pcd8hhdc5dbh83cgma804fyyh";
 "shobhika-1.05"="128p64d6bc0m65nwdrjr35b7rxlx21c025vj8bk6n1frfg4k4lzx";
 "shobhika.doc-1.05"="1zxg9rxsdf15jn0hn81p20j0dbq1095vqrmh7d5mzhlhnybkr1kg";
-"simpleicons-8.1.0"="0124gfrgrkbc2lhxly8wjx9g4a5mjg38n7iyhs3208y5naqgxq97";
-"simpleicons.doc-8.1.0"="091la3q4r632zs1blsch63anzrk2779avzyki37i66048g3rn38m";
+"simpleicons-8.6.0"="1fl8z2sp0acndjg7zrml8g4iqnzr43ldblgj1hi3lxjw8314zc06";
+"simpleicons.doc-8.6.0"="1lb1d5s3dhyabv4m9ng13g150f952q5n1rlsbbr3rg2kb6my99lw";
 "skull-0.1"="0v3kvrk5aqsfna30z920k237jql1byy12qkb5i8zlr73z4cy1ll3";
 "skull.source-0.1"="17iby2rcnqakykglv9k1q5zmcj0h4gj4h2vadihvyyz6m6bvcx0c";
 "sourcecodepro-2.7"="0vzs79a6bhvxap9xw9nm4csqm8x6m83nmsxffqckihkrbcbwnkz5";
@@ -1667,8 +1678,8 @@
 "wsuipa.doc-25469"="1zw7ibbqc75k4hplbvqpdmnqg5ks9bw75mrwcg14q1rb1807sp8w";
 "xcharter-1.24"="1d002nncq3wq13hkp72k2293xidhz21znhix08fgz3p5ymd2rbk9";
 "xcharter.doc-1.24"="0wkg6wy2kkq4lp6f93lvghh25hzzjzxhswd2ajxmgaq86cbfdw3c";
-"xcharter-math-0.35"="1gncxkw4j3j8kypx7gchrdxwkfxsn8g627v8p0ixpcd6sab8jnkq";
-"xcharter-math.doc-0.35"="1k9pz55k374xhdy1z15bdhdzk028b5vb60ldg1q3332n9257dvdy";
+"xcharter-math-0.36"="0y9c9w1whbhbr063d1by0lx02iw7f54kjqfkx3f8w9b4wbrpl0gs";
+"xcharter-math.doc-0.36"="1xh6d4x8ncm4xb5nk9zxrn07hj6fccw9ngsaayink35qm1hjczlr";
 "xits-1.302"="0hnjyncrb0r9ssp6aj9lih23b0z031fjhc7fjjsjc89igbxb8v58";
 "xits.doc-1.302"="0iv1bs2i1fn0pr3gkz07xaqsdfw9idcyfdd6bzqjryynas25aia2";
 "yfonts-1.4"="1k7b78fr6x8kp6354viqfni3k77d96qmx9r76249m5j140hi6fk1";
@@ -1738,15 +1749,15 @@
 "accfonts.doc-0.25"="17mbr2ydbkc4md6zd34km3d4s2vjmqzfwb2l01n4y30vjz2lzsn1";
 "afm2pl-54074"="1nbb9lcxqxj2aary7a65fai3hgj4nwzm690iy0xv62v580krdbck";
 "afm2pl.doc-54074"="0cp8il19l9sz997v9lcxkl6r94mnlnbj2lzdrffwd1fv63gkxc6x";
-"albatross-0.4.0"="08j8njsvfg5rd002ysj61yqasb02aw324928xxv6w9h5rq0kqbka";
-"albatross.doc-0.4.0"="0991cl37g5lqksnf9ffm042hhd6wa74gxykzzlg8851ay1q9wqmk";
-"albatross.source-0.4.0"="00phzkf9l13f9y8zg43hznm0wkprizpgzbg6w3fdwfdhi5i3b9a0";
+"albatross-0.5.0"="18bcgycdzzhw47ci9lqyrbrahzax9ajfi5w9vjs35j294b0mk963";
+"albatross.doc-0.5.0"="1bwg2gq1fdpjlgjflfzfijabx8m6nfraak684ak6qdhvjfzx1aha";
+"albatross.source-0.5.0"="00w3byrzw0lwzjqsq0r7h81daqs2sg3ywwk3nsdbz0q4j6lkpv82";
 "dosepsbin-1.2"="0qknrackr7m0s431vrygphzrk99wkrgdp6kl04q7f4lsffq12k9r";
 "dosepsbin.doc-1.2"="1lhrlgyn9sg88052ib0jkwd88zvjpzqnz0ac5whl5gpr5zw2y2c3";
 "dosepsbin.source-1.2"="0lqmcndd5m4hxslvpq4r9g1bal12vfdsncfcii71glv45c2hl2x2";
 "dvipsconfig-1.6"="02vgk91y80ch4pkj83vbiz1b2ccigf152hm83p607y4n4qn2xzsf";
-"epstopdf-2.30"="1nf1vyqr0krg188sjgm4xkpx1wf2hfqpwjgrx932z49330a2zcfq";
-"epstopdf.doc-2.30"="14gm5z0qphk881m2367a1jkvi5w4blha385izhnz18hyjv0f8kz5";
+"epstopdf-2.31"="1f46zymj0yd74sw5a1yyfnjiqszdccfb7fnx5bwqicml3b1a7zwm";
+"epstopdf.doc-2.31"="008s96msj0jxhxynsckwxmhqnz24zw5bq88hnfd56wiim4iz6b0c";
 "fontinst-1.933"="1jqhfib1ml33wq292x9ff03shyjrn2b3grw44cxzxndg4vq7mn1l";
 "fontinst.doc-1.933"="1138mrjd4lbwn05kksw1249ffjkdpxi88m8551wdmh6q2bnqmw6h";
 "fontinst.source-1.933"="133myqzr4xlp4a3pw8ld815mpl7l9y6rhz620ja77sv4fmci76v0";
@@ -1861,10 +1872,10 @@
 "horoscop-1.01"="02kazmk5sa40x0a4zb30gk9lkky0ak825gczbr5z8wchwpy4i1ac";
 "horoscop.doc-1.01"="0w9sgk2j1fzkcfzn76zpygrlyi9fnimp92mygsq2z6rpblzd1qyv";
 "horoscop.source-1.01"="0c6zkcb2057y9x7mz4q3nwin8h8ax71yaam21m91gk6ad9k8l4ij";
-"jeuxcartes-0.2.0"="1jfk4b823rg9xld6aaikv1r2f55qrbkj0kwzqaa4pqvyk8q5nq8y";
-"jeuxcartes.doc-0.2.0"="1y8ip82ddayba7qhzr6pf1nd55sp594xymwgfl78vrj64zfam216";
-"jigsaw-0.3"="0h47bc5zmn7hvrjicn2bvag61h48iazcl6bg1vnf788bhqvgda3k";
-"jigsaw.doc-0.3"="1i634qb3c53w2kh3gizvl6ix9pqcvx41xwdx7jbkf94di00fqsdq";
+"jeuxcartes-0.2.3"="0c2abzl6fjm0nln9qvnms19a30s25lsksxif8yk2l59y0w062kzq";
+"jeuxcartes.doc-0.2.3"="05cxbmcfi9q1j00h290fl2x4f5rd9qh0vxv0xrq9avxh96a8m83c";
+"jigsaw-0.4"="0h5g4vrbwpbxbw9dwscw2bqg7sanh0a30bbhw48ff9ic94bs2407";
+"jigsaw.doc-0.4"="0a36l6s7wp30h5xy64sj3gj716dc43mlbyy3px5wv7n973f5km51";
 "labyrinth-1.0"="1r5za0nrvcpmx7bbnvvxf4l78pv4ciq83ck9k9qh32pawv5jn8sp";
 "labyrinth.doc-1.0"="14405x5dcm2k4m74jjhwd3f1836d79qz3w9m1zfj3gnvzx2kij9w";
 "logicpuzzle-2.5"="0zsg11lw5x28sik6ifj2v1zjvm3pcv4vf7w2pfxcr395vmw33qm9";
@@ -1872,6 +1883,8 @@
 "mahjong-1.0.1"="02dkqs06dgp74963awkyj7w3in66h91hx5rycix61d0qz4qwrvqw";
 "mahjong.doc-1.0.1"="0cxzzcngiz7796xzf0k1njchhw2p2m47kpw2fhrf1cqijwhw3jxb";
 "mahjong.source-1.0.1"="0ygvmg8c6yp2mwlffr52jf5shl0qh26p0xlfkj39zzabd8jv2ay3";
+"maze-1.2"="139hjw2asv21p0m7qrpi5liikgf68kmk9v214njh107gi3cjl59w";
+"maze.doc-1.2"="0h1lcq6xipzsw15cycraqjf4vckzqprv7kccls640y4jd38g3g4d";
 "musikui-1"="0z2ya761bf0n7l45dqkc626s9d66qwr810fnwf34lr1876y3sfyi";
 "musikui.doc-1"="09sdb98m3j5wkl4p7hdpdrnrr0l25ni46nlhkhg1g54hdggcpjb9";
 "nimsticks-2.0.1"="0h87j3i80slsi5nc5299jvslhr1m3hb8hvs9mwz400b76k4x3ig0";
@@ -1900,6 +1913,8 @@
 "schwalbe-chess-2.12"="08aym55g3r9nn20xrc4m576q03lgdfxdwhgaac6j29b9jzac5wxz";
 "schwalbe-chess.doc-2.12"="1s36x2mnj4ijn2785jvgk7mby9xpamh5ar5kz4ghpw64czsx85a7";
 "schwalbe-chess.source-2.12"="0ls4xpj78311d2q1vacg4h5257wdf11as6x4k83g3m4dx30hxcvx";
+"scrabble-0.1.3"="1903gqya55dcmppwvcw1snx8395a5i35bwphp0jnv9q7xhfflmmg";
+"scrabble.doc-0.1.3"="0sq03g68z68hsd12z152r93w0k5awpqqr4b2s1zi0cghv3ad360c";
 "sgame-2.15"="1axbv7ss7nh6nj6dzs4v0g6lqccm8vyvpc4qfv2aqij37qlyv23y";
 "sgame.doc-2.15"="0nj8n049lmin4j90an75p9bqillwx7wgpvxdm0jb1janfip4r5qj";
 "skak-1.5.3"="1lh97kc1hmz3ybb67zr7vr74z1zngwl2cppkhmp9cagm48j24am1";
@@ -1915,6 +1930,8 @@
 "sudokubundle-1.0a"="18y4x1g050ircqh3nd95m45scb8zgjzi03cj3n7whn207dvapsdw";
 "sudokubundle.doc-1.0a"="17mdxysiwjp3ii1qhknrxw07dcds57qbm986583xh69bhq08c4sr";
 "sudokubundle.source-1.0a"="17g96rhis66gvgbm1857ck4ri8nz3isdlqshfx9rdbpgs8x58i0h";
+"tangramtikz-0.1.5"="1c9in9zdw7ixanhj7kgrdsrv6iwvjy02b12lgq0k3wwllnaakv24";
+"tangramtikz.doc-0.1.5"="15979bzhc22d2pzc8v8ml9220b0sqz4f2nh0nkxibm8hg9pq3prr";
 "wargame-0.3.2"="140dp6vz4sxymwaqv8acy2l48npxc2s668qhaycgv99ycpqlg4is";
 "wargame.doc-0.3.2"="09p0f9zpgx5kpp0qh8bij5k114497bn871qiwzrcwjlyicspqh0k";
 "wargame.source-0.3.2"="0kblmmv8bfrlzpsz2cjl0y52bbrq2sav6n8r5mim1aaxgr2q3hk3";
@@ -1974,9 +1991,9 @@
 "jurarsp-0.52"="0ylww99b12splqpkci2hps4zzi4myfy0agxzz4m3s8q74h4bqj32";
 "jurarsp.doc-0.52"="08bvr93ax4p00lmjkhy09bfm403lmzhq729gjjw6skla4wbvkmci";
 "jurarsp.source-0.52"="0fdxnj42qk4cywsxj8x40bfrkp0yqm7qh54jp3qf79gkj4hj6yp7";
-"langnames-2.0"="1q91jzhg0ms9gb0i4cvivpmysa0r4j62pq204b46rwjfx8cgcnfy";
-"langnames.doc-2.0"="09y8645abrpnn2nyk4xw3vhxb2ryvbl5ir4hpsggkql2mxy9dg2d";
-"langnames.source-2.0"="16a8cigvrfjrj3g8yzch1wcb1c79rg4lvbwqpmwy27g0i2dlyi25";
+"langnames-2.1"="0w28i9l571485kgjwlshbj2bz7jysfwj0xbz86i0z6rwbsz0nzaa";
+"langnames.doc-2.1"="133klc1j8jj9ljz8bmnqs3amh711lq8r2v1agyb6dxi4rgfz939r";
+"langnames.source-2.1"="1zpmpnxiawc381z2aql1ffshgascvcnh5s8ldn982lvdv9vaxacc";
 "ledmac-0.19.4"="0ipf7h58bylrfwg8yzarqvpkl0kr4k3z9hl6cjzxwlh16s5fs76i";
 "ledmac.doc-0.19.4"="0pgkv08nsq0rmcpck9vq1hfb4gnfqh274hclq4grk182fpn4ggiv";
 "ledmac.source-0.19.4"="07fl3lypnxz7sa4kjf3xllwqakhrwgx8z8r7l6x8id96n48zri9n";
@@ -2072,9 +2089,9 @@
 "arabluatex.source-1.20"="1g84xxm5fvp6dzdrkyxcjn4wlih0iydrdyxn93dffx1a9n1c3yyg";
 "arabtex-3.17"="0xd2apd35zn1c4narj2gyla154nzd9ghhgc3fkk6y06d8dzgawv3";
 "arabtex.doc-3.17"="1zyyk778384mhma5q7ra75fwykk23i63q4jzamq4zard0y7gp4k0";
-"bidi-39.6"="0wax32y1na8mcz8cx9rd6bmfd5ii70dphvvx1irrc4jxwdsgk6kw";
-"bidi.doc-39.6"="1i8xsxamljvjva5ilzsx3ffg55aga1wqylzvpwqxjz2r45fghrl9";
-"bidi.source-39.6"="1y9fl2prmlrm9f6kl3b534h338ya11jy6gc0bja19gx8adcid0iv";
+"bidi-39.7"="1gn7azhapkljkl1dfrb4rdb6r4fc6257gzzzmp6cn6j3h6qgzag4";
+"bidi.doc-39.7"="08lcqksfjy5kc4g7g2a0nj64iw1zh83ng506zdd723szs4nhfy49";
+"bidi.source-39.7"="01c48nhbhn455a50xgb7ccdfwpismlijsnw3qk079f9wcyyhsrd6";
 "bidihl-0.1c"="09wrzqlldxy3lcxp21rdqi9bnjzza9wvdgssqynynjdmfggahd34";
 "bidihl.doc-0.1c"="1k67d2zd16ash4krnkwvmwx4wl668r0pdg720vr9xq6q3b139y9d";
 "dad-1.2"="1sj53bp0fp8d2d3qnwvl0lm7c6pzbvv8ds9ww3x6qhrna630iwaw";
@@ -2121,7 +2138,7 @@
 "asymptote-manual-zh-cn.doc-15878"="047l3bh8vvk185wkazyfw4dm6893xpa2ksn5vfc57r5rv4x16wmb";
 "cns-4.2.0"="1b9hs7svh6zm22vw5zv6nqmdnmw453xv15gl5bgm4n3f1pz757wv";
 "cns.doc-4.2.0"="0zdjgg2njgcf35jvbhkfgiv3b9cccf7ds8d50ga3v1ia9i4h9xq3";
-"adobemapping-51787"="0xarfk18da0rl44i2w9acvnivdbm1sj04v1arc40yywdy6pyb8sg";
+"adobemapping-66553"="1yvf74mlmxmnq9m0wvda9xcna8xnn382bbrzizzjm5w7bk8c4g98";
 "c90-60830"="0h4y0ydp0vx0hk5s46lj4j0vji6yslc0gn02rmpbpgs6ic34cm50";
 "c90.doc-60830"="0bwbqi9kg39rm63vzngrswsg7vnibrfxlz8fhsqb947j20mrj6l5";
 "c90.source-60830"="1pif2g8ihgxf3qznhhc52gi9bih5ai8a986c6l1zxlmgrh678wxh";
@@ -2148,6 +2165,8 @@
 "cjkutils-4.8.5"="0wl33vh7pcrbyvxy6bfcjfv0xnawp4gb76cmq2304n9mp2w8dg2h";
 "cjkutils.doc-4.8.5"="1kkb1lkni0d7mb5hcnwkpwbyz7y9w5iy0z6rgm38lnkkm2wjhf7b";
 "dnp-54074"="0jlvb0nps1ij4sgbg3clgbk34p80la1fhh9zihn9fhl9nrqk637r";
+"evangelion-jfm-1.0.0_b"="1y7pf1mzvwk9nx7xc8qvw0sqd9lcalm9an3ykcyr0bdcx3729aab";
+"evangelion-jfm.doc-1.0.0_b"="0h952mka2a3sqxafsq44y7056gzzwkzkch922w2amgcwxf46wyh2";
 "fixjfm-0.8"="1v4gn6bwlb294sxrqgy6j9vx2dp7plbagkvmw7vbvp6wk8dkza72";
 "fixjfm.doc-0.8"="0wiihlpjzvmh8dynf0nbhmn8raxflqxmzpk97s1qv7kkvpc79sy9";
 "jfmutil-1.3.3"="0ygrcnm9d0dkrcz5cx86j80rdqwi1j9zs28b1bjnfb4vkd5r0fs0";
@@ -2167,19 +2186,8 @@
 "ctex-2.5.10"="0mk0iix0wygznqhzqd1wzi7hiabr751i0q5xrr3k1nmns68y98vd";
 "ctex.doc-2.5.10"="19z979xk8mylch56d2gxvln0w7vrwfizcf4apy4kpbm1nhb90gaq";
 "ctex.source-2.5.10"="09y03idznj0qw2ik0hq3xy1v87sl3xzgqfln1cnvk3c6mmfz9j7v";
-"beamer-3.68"="04y9zlm90akmc6d18qslw0l57fim48d77gz0bksp35zjxwkwsk40";
-"beamer.doc-3.68"="0ckznbpvjs9a6zzzzf2h02csdx8s29lndb6ijn64lagbrcy830sp";
-"pgf-3.1.9a"="1fv8k0p3qsl0y3fzfkrzn0zw9bclxav7anzhzswl62s250bfzx7h";
-"pgf.doc-3.1.9a"="02kng22cfnvmxcbxwisrs48jyx4w27l2rq6b2iz7gliqx6rvm7zv";
-"pgf.source-3.1.9a"="0g81wcsn7dx21q44b29jscikxayw1pa5vqclwxvd54p1x5f98ch0";
-"fp-2.1d"="07qzdfrk2y499cz9jbpnj024r43japqdngbxg4mbapw9cp8066d3";
-"fp.doc-2.1d"="1y1xwqf6mskg10h31ws2pvn5y6g9asflc7l9r24fp2fi4254mvhq";
-"ms-57473"="0km07va23z5vzx87ndrv9mj0fq4yw0kv7qygd59smhm4q71yspkl";
-"ms.doc-57473"="122xwapvjzv9qyh3p1884bzdpalvqzzkmzd18gqr3q3r4cmk2q20";
-"ms.source-57473"="1myxaybppzkdl14h4g12xcp57zqjzkzijryv9nd6hy6ggl9y8i99";
-"xcolor-2.14"="1qwfxx9nfl2nr0hwyckf63q53h522w0pnxvjyn95ql415im4p0rv";
-"xcolor.doc-2.14"="1rvzrqxmlddgpc2i03rkiw0nmfc0772dwz4s4fdwqnn24ydsjyzl";
-"xcolor.source-2.14"="1bryjaajqa6xbnbkndk9b5d2w682xci1wmqwvbfyz7sjalppa87c";
+"beamer-3.69"="1j8vljwp8cg6w8ly07ql8q5pwklz1xrqw5n0wg405ijxa72zlwk2";
+"beamer.doc-3.69"="1x3y44dz2w2fmrbranjzhq419ahibz20vk3900rgjfs0wkl6xbg1";
 "translator-1.12d"="1cpr6znw0nkavqxr6bv8fkb72ygnjhl1ap0wbim75f1gmwn7k4ki";
 "translator.doc-1.12d"="0yk617bp6c4wcr6mqmyfsh9lirjjzlg6fiay3fp3g9146p567w4s";
 "everyhook-1.2"="11r4932kly5zmksmicapqxndqw4cdq1sg2x9hgffms6v8m5cwkfs";
@@ -2195,42 +2203,42 @@
 "euenc.source-0.1h"="0bwr4cabh3w4jbx476ygxv6afxj6sblszr47awr2nixx0m018ndj";
 "xunicode-0.981"="1h8ixz9zy9izv5j7555094jiwfp5js5y8mp4bh993gn9xn1rb6b2";
 "xunicode.doc-0.981"="0jrxnpas07np9a30cybk6jqv4ng96vjqpyyadbl55szkiylzwwfi";
-"luatexja-20221213.0"="1yx129vr89ngw4nsll4xq26b5pvcwx8k6vi28aa2mf20z6wg88wk";
-"luatexja.doc-20221213.0"="1pwqaw35c791xfnsvv10pqkb4746wkhg3hmq64kqgqylis94pvjb";
-"luatexja.source-20221213.0"="0y7vqwj3rpbhrr9z3if1p81k789sjgm5df973jsnbwd7mz4n53s9";
+"luatexja-20230211.0"="0kahg0j2v8nqqlg789kdac1jd99lacr9gb5ilmyiwzhklhywxy8x";
+"luatexja.doc-20230211.0"="1zag28s4drpkmb0zq6lg8hbmlbz54470k421r27lnsinbxvwa4h4";
+"luatexja.source-20230211.0"="0y7vqwj3rpbhrr9z3if1p81k789sjgm5df973jsnbwd7mz4n53s9";
 "luatexbase-1.3"="1zrwz661gilr4iizcfsxwmfr9dgx7v28lypaslmvp3zaf52zl2q1";
 "luatexbase.doc-1.3"="118azb2x20gyaj42r5w0749dx8rzhhri1nz3szy9vv64h0fig603";
 "luatexbase.source-1.3"="0vsg8q5k8l66sy3d0bskr6cv1f95lnhap3b9yl754x7ynv272xcd";
 "ctablestack-1.0"="0b739h1ndkisr49d8y4q0vnbl9j3diqwl9r1ah8wk2za1ww2mi54";
 "ctablestack.doc-1.0"="0qmshnvbyfjhi8bb989hbffwn3447r91jp46z1yhhmcbjpr7clk9";
 "ctablestack.source-1.0"="0133xxb7470lyfssi1kp81yr1zsz4d8ai3qjy72wki0p7ijkypw9";
-"platex-tools-64072"="1qh183sq1z9rjyqcrdf8nvdzg06zb260wk8mff3f0b7wsi4q4sam";
-"platex-tools.doc-64072"="1w3ilknkwy13sycmnfafryif37znzykg00vsl2sik22lqcqacrcp";
+"platex-tools-66200"="1yrgp92fk1ci0skh2lqw2pcbnrmsys7gai0my1ijp65zahdscx0p";
+"platex-tools.doc-66200"="0v34yg2wv8jy7dj6vszx8p4rqpg0mnb574axqmp2irl2givf6wsj";
 "svn-prov-3.1862"="0r4s76i89wh1fjrmf9imf6y2sf96xznznyjfcivi3sp8dvf5ln5v";
 "svn-prov.doc-3.1862"="1al7qiwd5ajjpvs2f90p7frlkd389p1ama019yl0nnxc1l45m067";
 "svn-prov.source-3.1862"="0cg7qwgv20jvvw6bibkskj3p8jc5l2mhgzwq6x0wzy1ds7x1f6b7";
 "uplatex-65305"="0kmw51xvg44jrzn6r1w2biz2d0m3j533qadi4bfjhf2dzi4jdg61";
 "uplatex.doc-65305"="00p3h87c5mc94hq8wwald6axij9izflzarszxanavdkh3dhggg5f";
 "uplatex.source-65305"="01gpwxp81hz8824y1hffq6b035l0pxa8wyfkjm9kh5m58j52s50w";
-"latex-base-dev-2023-06-01_pre-release_1"="19d4kpj0jcyjlyhrhgkvg9m9v75kxfa9fja414z0iw3kmxqvsn1p";
-"latex-base-dev.doc-2023-06-01_pre-release_1"="0pnkr02ypw8js5cjnk7l23c2cbfi4s0kqf5xh9bdb88vjqh0hi9i";
-"latex-base-dev.source-2023-06-01_pre-release_1"="09isc8mb084lhsypknb05rm65b451cm1faskgqcq4d81z0j70xzj";
+"latex-base-dev-2023-06-01_pre-release_2"="1690apj3v12m5sl1djsipkjqdp05746mql8hkvq9mr0rps31xnfn";
+"latex-base-dev.doc-2023-06-01_pre-release_2"="0l9z59drjxd5gvwgzdhdvj83sh6j6cjascwr3gf5706likhir8xm";
+"latex-base-dev.source-2023-06-01_pre-release_2"="06i9yam9axg8h6wfp4zfpihi8kg4wxb9fnlmh9ih77h01mawwvbz";
 "latex-firstaid-dev-1.0w"="1h0p6icrg68q0mnb9p1v8bxiazwn9rjq5bc8hqq6az6asxiybxkg";
 "latex-firstaid-dev.doc-1.0w"="0ym2s5f05di8ryvndkwx6qz6blbg5jsjxvmjjxi18dz9hv5991c8";
 "latex-firstaid-dev.source-1.0w"="1gf6a08ikv7m4w2m2kb370y9pzwd4b9xf26mwn01zczpx7497f00";
-"platex-65305"="0aj4rp7kfyhla5jfqgaik5j696wmsy0bqkzrirb9brcsxkh30nri";
-"platex.doc-65305"="05vs7gjad5gh4sihx9yacjx5ai0xb3vqjr4gknw9v8xlvj7gnhrz";
-"platex.source-65305"="1b5rj29k200r1n3gwb6jah5jlk0rxlwf1gci2xn6z7lrkr0yznv8";
+"platex-66199"="1qddfffw7w3l0zgf1dq4376fx5m76jys8c95wwibxdh20vydf0bk";
+"platex.doc-66199"="0h4vzrdvb28rr7snwlcbgsa1wnb2zw6ddj53frqcznm83l799m9a";
+"platex.source-66199"="1pa7yg6369fh72y1wxj635kv63ba3c0bdhlg3ws202r6zl7ffmab";
 "ptex.doc-62464"="1z5wmihblxhrx2rhsdccs6d8mimlj42kjzjvvj1vifr4c13hbgbq";
 "ptex-base-64072"="1h14n8hj9xh97y2g8fnz7q3vrzmm7nkk1yj9194v0y6kjggf732h";
 "ptex-base.doc-64072"="12nxgvrinkd95hiwczd8nykiyldjyvh8sk49m2j8hl9g4g6slkg6";
 "ptex-fonts-64330"="1qp1linlsyyx2v4v5l2vjvynw9gpvd4c1klszamp2fcy1wpkgw49";
 "ptex-fonts.doc-64330"="0iqy6k6x96qqg2c8p9cn58jpkqq8hhnb20852a39whgvcnk8awhp";
 "uptex.doc-62464"="048c3rg0vdfl9ypdazrpl6f2sr39k6hph6lambsh0q3086bv2zg9";
-"uptex-base-64072"="0g1ihpqi9im0k7zg8vmwzz8mz3qpy2nfgsq5r7kidsar4yrqcj1m";
-"uptex-base.doc-64072"="0sihi5hj6p0hj42niykav1rzdkhiw2ph0cn02vcs47wdkh7vmzq5";
-"uptex-fonts-62592"="1yi1vid5dr9zif40adil84fniach4j4n2ngqvyfkjabn24gsaa4s";
-"uptex-fonts.doc-62592"="0jqjcjj19csf7rgc5ndvpy3vmp6rpf89pi76yli2nd8vvvnxg1nc";
+"uptex-base-65802"="0g1ihpqi9im0k7zg8vmwzz8mz3qpy2nfgsq5r7kidsar4yrqcj1m";
+"uptex-base.doc-65802"="0ndk6z627a61zf903nfqcv7g10579gbvy8dqrvdjfj86bxdw5h41";
+"uptex-fonts-65657"="17q19l0l2v10h0ghh8kflr0rxd634q55m0z5p7n93nmahjmq89fw";
+"uptex-fonts.doc-65657"="0xh25w91m8xzpkvq0c38y30gslzrqwqp0vmmn053nawkmsdsfl3q";
 "xpinyin-3.1"="1bavg69s0hin8phlgpmz53vkjlh039mancih71amw8bbvh077ynh";
 "xpinyin.doc-3.1"="0rnqq2hy7wzip9nij6bv0jvahrnsyqdmkvr23fvm7f90s07d1ay3";
 "xpinyin.source-3.1"="0yj7qh7qp3c1n17vplwywcsjwwy982gp5smxqq110syk6w2hppj5";
@@ -2245,15 +2253,15 @@
 "ctex-faq.doc-15878"="15c0g0x8w7vm3hyn6lk60jf66akyfcq6x8jc2lnbjx8ydwgb26br";
 "exam-zh-0.1.20"="0mia5k0qd2g28xxyw9l44hrl8xnxn1ip7spf58myfkhlp00r7pv0";
 "exam-zh.doc-0.1.20"="1qlm41sq1bsj367alp2a42048y6d3v95gny1k0l31xhkpbhlqj1h";
-"fduthesis-0.8"="0a620s5mm89j9dgipy68k6cz0sg12ysdqiazqiq2kc0svk1j4k35";
-"fduthesis.doc-0.8"="0hhlp31blxgzn12swbix647bw14lgd35jn2vlxbys0f28ds2g9c9";
-"fduthesis.source-0.8"="1wr5adhxdv2v0zvxk0sichjlgp9iivh38r8r3ia2gzifaixqi555";
+"fduthesis-0.9"="10bbs4nn7ah9y7972cz3z2b9k7igamx57afplzfwqx8w5zcd6n7q";
+"fduthesis.doc-0.9"="1vw78r37vl7kn6k7v0w6g4rqlb2yd3n0pa4zvy90yl4igvyszncl";
+"fduthesis.source-0.9"="1kf5iw50s41wmz8m05xwbn0lgi0rn3alm3cx4vyhxhvs651vyr6y";
 "hanzibox-2.3.0"="0pww3xzi9r52cr0bggpw7wlddm6gzf5vs5xi7v03ynlpn45wz3x2";
 "hanzibox.doc-2.3.0"="0x18yvhnywhdl68jz4v5llkqqpiz1l48nv77g0x2x2svzwrxrw3w";
 "hanzibox.source-2.3.0"="0dblzzg2gkg1blx8rh3rs3jb5pq1qjcn9nq0n0rz7a7dph5f10j9";
 "hyphen-chinese-58652"="08sbasjp9b4wl15zmx0diayqfa9i7pf65nnsa98lbc9rpyydvhn3";
 "impatient-cn.doc-2020"="1pc20pb0las3slam1d9hmqigipmr6r98wwif12m33mm750vmq65i";
-"install-latex-guide-zh-cn.doc-2022.10.1"="0gyi1dzxz218gdzpl4w6bac5pp9y4nq6gg47mj3n1dyk5ibbfyns";
+"install-latex-guide-zh-cn.doc-2023.1.1"="1mb6d92c7llz5cpkir4d1wf0l2yvmskl0kxgch9r5zjmb67qflin";
 "latex-notes-zh-cn.doc-1.20"="0w9rmd7b5fnfvix653n9vbnn1k8yxlaaak79ipvm8p53dx75xfxd";
 "lshort-chinese.doc-6.03"="0455mdpcv3yg4m5vrbdp47j7mcwi43mvsy2p9clp7794agaf2ir6";
 "nanicolle-2.03y"="1sk2frvlsxzrl5cv1c1azqpxbpfr4b06ssli54j0p5aikf0rls1f";
@@ -2424,7 +2432,7 @@
 "latex-refsheet.doc-1.2"="169h1syday30qiw032k14fhxikdwszggvqz8b9ga4i9wwxf1vh4m";
 "latex-veryshortguide.doc-0.7"="17i8zmr7mjfrx911psdy9cbn05c5inn4ixqmnjkpr9sbgsninyc4";
 "latex-web-companion.doc-29349"="0v018lwf88z3qmzyqpyvfql7dbwk5a9r0wj3jfjc9cp2ksl8zf8f";
-"latex2e-help-texinfo.doc-61750"="1z1mvgi6705f734885iybzsyzbdvzzpc99bxvdf7gqxpgpp17nr1";
+"latex2e-help-texinfo.doc-65552"="0rk69n89hl67qfbi5mmb4msaibychsk9a83dx593170ayiir6s6g";
 "latex4wp.doc-1.0.10"="0xyk6w8jmmcsccbd9q4ikblfq6nacjjyrmf58ddjxkb6v0lzndph";
 "latexcheat.doc-1.13"="1383rsi21ma0291asi779bjr33m7fii019di8gv8kxwgci692fz0";
 "latexcourse-rug.doc-1.1"="027siznmshk60flxgra7dgzvwbmgwvckwb6r257b91x3rm77anv5";
@@ -2457,12 +2465,13 @@
 "texonly.doc-2"="0h40f8hj03ha0ilpj2fx5kzzvdv0yplmr4528s2rmmy62l9kgdkd";
 "titlepages.doc-19457"="17ib7rpb2dhb2m724x66fdzddv8cqd808wxy5kkvx0vb3rl27hyh";
 "tlc2.doc-26096"="1ysb233rjb8gpl9s35qql1dny5rj6fn8ssy2dqdqsn5xj9pdasyy";
+"tlc3-examples.doc-65496"="01ny6r3ycji0af0cdywn2fmxd0fyz3y7afdnn983a5gy1j9rza7v";
 "tlmgrbasics.doc-60588"="1zn4xlmichd2r6vjcasysk0vd26vrn2drmc4ng8hz8136bq5zb71";
 "undergradmath.doc-57286"="1z8my3fwqc8rfc1843j7lcmfka2023z9k0js4ygh1m8kilc2nrr7";
 "visualfaq.doc-61719"="0fjx5y95n8bhsnwsw34sazbgygznvw76z01rrxmn1bp8za7751n0";
 "webguide.doc-25813"="0wid2sxrif3mm3lrs0s6pil949byviq4d7924yzvmf9hkrs5f03v";
-"xetexref.doc-56291"="15gb91s8zmqh1zwar2r3yca3ywp1lz654h8ha6xg52lg83vjzr2v";
-"yet-another-guide-latex2e.doc-1.0"="0rx61yy6rccnqxxy77bjjlkaa316b4k96b23ahnjnnx025fgl7n8";
+"xetexref.doc-65972"="0d6xwyd09rrmd0pjvrdha05l1qldppd2k7wcpyfb475pd9q05r5r";
+"yet-another-guide-latex2e.doc-1.1"="1bxpk66cfmqc6g0d29vvfd4d6y83nhdxsb9gsfwqbh38yr6rlq1b";
 "armtex-3.0-beta4"="1b347npswdail6q3lryxi1y8ac13dxvajzz6xzfglgpy2a10ykc7";
 "armtex.doc-3.0-beta4"="0v4wfw869d143idxnb19avak8gpsg0n3cyf70xa7zq6hljpq49vy";
 "babel-albanian-1.0d"="170mxpwnnsc1g9s7qnlhjcryw79cy72d8c4m8bhr36i5c78my0zg";
@@ -2509,6 +2518,9 @@
 "babel-latvian-2.0b"="127649mzw9jp35mq1yqpavlvkvcvxvp61sn0yl4nvhn30d0dws68";
 "babel-latvian.doc-2.0b"="1dvcwyqvx5xw4fl58accykkmd9ksbg5a3yqalb6x86hdv2fgsnq8";
 "babel-latvian.source-2.0b"="1w8w1ayk1ixwsixlsar5nmhv70fqahx06ydraiyz543gm3vrk6br";
+"babel-lithuanian-1.0"="1akp69n8i19kyx0x247i4nw66wmlj3d3lkm0pmqz6c4zv34r9fii";
+"babel-lithuanian.doc-1.0"="1fr3m5b0dcrnrqdb0sm184czgkya8xbx0zbj9wlsnlh5y2pnvyds";
+"babel-lithuanian.source-1.0"="1dchvyy3zwa18x2dsz4ww9hjnkhca0cg65q85jw09l5cz5v005jy";
 "babel-macedonian-39587"="11wiv5aw0k77rvqwcgh4xdiwcr67q42rwq0mq5vcpfz2hb0v8i6n";
 "babel-macedonian.doc-39587"="0nsvnmjx8397xb02h2l00nd7ynz11f9qiqrpim2f18r55qmr0hb3";
 "babel-macedonian.source-39587"="08z4ca7kja5kb2azf3whgh0w7fabxs3jcijihm0vnzhb1809napi";
@@ -2582,9 +2594,9 @@
 "hyphen-turkish.source-58652"="0rjwv5b0jwnwhlp6ifzd6p8iid59zylp2wbfk5crfjnknrl48qn9";
 "hyphen-uppersorbian-58609"="0rvb1k16rs9hvb9xgf3yv79mh2gkndvk85blmjjsq49awwgkd8y5";
 "hyphen-welsh-58652"="1klj6ir4b918cx96jd772ps9fl2fljh8kwkakdwaqqi8szzr65d5";
-"kaytannollista-latexia.doc-2022.9"="01cxhdvz6xaa3jlhcb1n879hxjl0f5ihg91nk8hrili51ybmz7yz";
-"lithuanian-46039"="09dncv4i7jqc2c28k992qm94iqg3x3nbnw5wqiva3xn3jiwx0fg5";
-"lithuanian.doc-46039"="17kac4d54nvd0bh0kqz00j7bm26vi4gnkbl5il1zb12g76r5afv6";
+"kaytannollista-latexia.doc-2023"="12ysr2501m77zjljpi30cxw45drn2hw552yk9asksvrbvavjphm0";
+"lithuanian-66465"="1jjbj39d4idfsx86lmpj0w1k6gr6mwr7sxvcm8wag47rgd05czcf";
+"lithuanian.doc-66465"="01r1wraa7jgvblc3wrdvkhccp4ba8ps112ip1v31vn4wbnlvdyax";
 "lshort-dutch.doc-1.3"="160r060gmw6f6lgbnyvfxafjpqvyr4jwd56ddkjfm3ir2bfl973d";
 "lshort-estonian.doc-5.05"="0dfwp7kkynpskb345i3yz7h5pvc8iljqg3q6l546vrwla0bmb95c";
 "lshort-finnish.doc-15878"="06madlm869kmwxprmy2c78ma4s8zk8mclzmd4xdl0r4mlhk4vdsl";
@@ -2610,9 +2622,9 @@
 "babel-basque-1.0f"="11a26db60bwfhbx6zj42yrzzvf8nn8a96nq5mpw29xhxlpbhrcp0";
 "babel-basque.doc-1.0f"="04jf1brw3ljipdyxv3d001slc0iggjmq6hkr4b5jsa3z8gcivzvw";
 "babel-basque.source-1.0f"="17mz3bqi50ayia4nb2ikf60vgpnwl3i90gfbaq4692y354yvlnfy";
-"babel-french-3.5o"="0fi0f5xy2lmcc1c9wyz228g3vzdj3l5n8bk4wa175irfdyv74g0i";
-"babel-french.doc-3.5o"="0xh1a2hy8kaqk33l700701amg3fgqxrbabbmkkvzqyiz36qrb6ly";
-"babel-french.source-3.5o"="1lj5wqzwjhndhyg8d6nyzwkvlbnvpisbi66564g5cmgf04v8ddg6";
+"babel-french-3.5q"="1ns39xxilb4xkjjdppm5whvhjkps8sr338wvmshjxkjgn8hk2zsa";
+"babel-french.doc-3.5q"="01fwil67jnjkbrga2xv45cpg28j2p9pxanbmyl048iyam813jaiw";
+"babel-french.source-3.5q"="1nxr7f6bwmsn4qs564l8clfqla3xqal337yhk418s789ihpzslhi";
 "basque-book-1.20"="03jh24rrjczpgj9d4w5fy9fv8w29wbqylx5s9n14jwdsf6f588ip";
 "basque-book.doc-1.20"="0sza7d2qx89saj6rx591ys15b8gvrnalrbrkk2wcjln1x2cb95jn";
 "basque-book.source-1.20"="15lgh24zyqlmqkw7wdigwvvkv6qwlpv4zrm2zqwgxj93bffa4fs6";
@@ -2636,9 +2648,9 @@
 "facture.source-1.2.2"="0h2274fc7h8si7rzrinz94hddzfn073yvkv9hnvd9zlq35cyxif2";
 "formation-latex-ul.doc-2020.10"="1g964xll3y7llhcq1xih2zk916ikhx5jkq60il65z89fsb6v5jj9";
 "formation-latex-ul.source-2020.10"="184d2dnzcvx0f9di67433jw6b505mh3iv9g5fh30gq0344lfivx8";
-"frenchmath-2.3"="0f6zxhkkiw9gq25zpsyhsvj4y5r67xj85dby6sl1jnmmif8wrg3w";
-"frenchmath.doc-2.3"="0mh95nc2f1x8vbdcpnwcqfma5icqvirfh1q6badnfiy6mw9r8agy";
-"frenchmath.source-2.3"="1dzjqahx5jbjni3s2ny9jcr29xsihnmdgbnx0kgi4zw2vb6nlfrk";
+"frenchmath-2.6"="1jvkcdclgr5f519nafa78srg7f5nw97llj1apqpv5kblnkrrkwxv";
+"frenchmath.doc-2.6"="1fxcw5w32859ibz2j2cr0bs3lcx65r5jydm4cg32r2h55mhp4rci";
+"frenchmath.source-2.6"="06ljasc75wgws0ydfbykrqj3b678f751wc8jq7any3zq6g6wf7bm";
 "frletter-15878"="11gxmdwwzwwdlrmycdxi0y123hfikhp9jv1jjmhgsmsmmxsx13ly";
 "frletter.doc-15878"="1pzpz0q1hplni18m6wkwrhknw15h555qfdxfnnfrnrmsa7n2q2bl";
 "frpseudocode-0.3.0"="0ypiw6sfap27hpflbk0drnd412ylv9r307jbkkbhnm5lsmwaax2l";
@@ -2652,20 +2664,20 @@
 "impnattypo.source-1.5"="0qc5wz5a4rgvrzv361gq3i6h4hp3v176klgn6fhiwshk84zqccn4";
 "l2tabu-french.doc-2.3"="0c6fbmgwv2adlxbhl1shvpa1w6xd36gmrwvkjgdp9xc3q999l4dj";
 "latex2e-help-texinfo-fr.doc-64228"="13s0zjwk3m95kbx4qrz2xwp8kifzc2zmasp1ks9l2acf1nqfac9p";
-"letgut-0.9.4"="0ipiaqmn150p7n8zaq6l0xmr2cd2mz5pdyr0j22bgyzv78sx942s";
-"letgut.doc-0.9.4"="14wfi0bpp046nvsyahw115r4fpfm3022h29lphv8w9arjnsqzffr";
-"letgut.source-0.9.4"="019wmfv147jjddn2ld9mc710ay332wi1whdy1k9x74969lcjz5gd";
+"letgut-0.9.6"="07m3vhmfyq3y9gfmcwhyz03lg5jdmfpaf4z07ixiq5cq37vmxza9";
+"letgut.doc-0.9.6"="0fhz5qnnqmqrl2v8ljhw0dh2fkzmmiajkxn6d6x3v1hh0m757vl5";
+"letgut.source-0.9.6"="0pqijgd8pi04ggkabbi2zhd0qdnr6q33d7ywp020irbwvq78jqcl";
 "lshort-french.doc-5.01fr-0"="1hdl0w7b1ablx7qfcvgniz7dcbgazb49b8wfw7c08hlb38gxfqh7";
 "mafr-1.0"="117qd3a06lpiqimizj12lxd0vba82lsc211b46ags0mwgrqhcyz9";
 "mafr.doc-1.0"="1m6y9mpsp4w9cnbln8pv1pn86vqj9piki4kg2q2rq5m9q0g57vsd";
 "matapli-1.2.0"="0r6xibqz726d68cli8izl20r4x2ncvrmlrjb711jz82qxbgs9kvg";
 "matapli.doc-1.2.0"="1cmyrnrijghjm15lhi2isza0dishbll3k4hpzq84jjjbcbs4gvyp";
-"profcollege-0.99-z-c"="14vpz95jmg060czn1f6xvbvsym5w57zb3zz6lz5vm54cn0vqj11n";
-"profcollege.doc-0.99-z-c"="1jvvxr6g7xy96z9d9nyclwlbdwxbzy932fq79524ril6v533iri6";
+"profcollege-0.99-z-f"="154rrjb2sjkpgw98v8kq6hxkjcpgb2zkpgy3mvx45197hgg6grrr";
+"profcollege.doc-0.99-z-f"="10bz8spmr07l7vs4mfgc390nfc0gx5p6ihsj3wf8fj3bk2f2kna3";
 "proflabo-1.0"="0rj7x6s9afn5yid3pqd2vz9qn21z6n6m5cahq92ygn1ix5xbw3dg";
 "proflabo.doc-1.0"="0z56g41bw3lwi32z0imja6a4nls406ck3ic4pibyi5ajcb8317w4";
-"proflycee-2.1.0"="15vjdbv0yd5rr7vwyjyzchd4fcm8mv4lan2w59s0gs49grlh31qv";
-"proflycee.doc-2.1.0"="1bqp6y5xrrdy6xg3c3w2f21gqbnl3rmxvy76jfyiimkvayxpxkpa";
+"proflycee-2.5.3"="1j8smibbr4an6x3lsva8i3wgb3m0y0zl61f7r92jqqhk4rdnx8zh";
+"proflycee.doc-2.5.3"="1zj7g68cwg70gahsb59zzf2zc66li2clw9lj9nvb3lwnq03r0m4y";
 "tabvar-1.8"="09pbsqa0a492j6ijvi25zdv4ic69wc8ngdxll2gr7wgh6m9hsrq8";
 "tabvar.doc-1.8"="0iv8w8jvq05f6a1z7n29c9cldk499fd9igryv3c93g6bgq2hkzks";
 "tabvar.source-1.8"="0bw2a9rgij2xvz3lhz6gya4vfsjn41cn7mg9mkg728q4vbhg19ms";
@@ -2681,8 +2693,8 @@
 "variations.doc-0.3"="0dwsw8j2bhk5cdw61xlcvlg152z6k6306zpbap2gjlfhf0z57syj";
 "visualfaq-fr.doc-61420"="0xk0qly49dqkrw1qjhnyp4r7y5jykghlp1y26hipghlaqqhdynga";
 "visualtikz.doc-0.65"="1q0a1mhc330z8cnhghp2p46bxsmzz8cdba8hcvssglz0gsq5z5fc";
-"apalike-german-61719"="143ipz8vajbakcbr3rr4kwdh4xl939q0gxwyq0kajvkdgzax9yw6";
-"apalike-german.doc-61719"="0i1wiibv0v3c4r94mq95wv8q6yb8mil0pr6cmj66gab5np8m8x1i";
+"apalike-german-65403"="0cv9dqn4nrsdx2cl7r6xrg3j8h16ni938q6xdl7s80cpff79m7vg";
+"apalike-german.doc-65403"="0pbx2ghz7f67c3cbpk5c11nv9pkx9paq2hgadnlz1j68g71b07fv";
 "babel-german-2.13"="120912c0nk3zdvnrxp7pv78vnywbw68d0xc9iv8x2cwdl2hfwzrj";
 "babel-german.doc-2.13"="0nkblrxgckb1kxrxvj02v0mx18f3cmv905xpd56i3lsp7rhi2wjm";
 "babel-german.source-2.13"="05nwdy9ly2cdl2aayf573hc8v380avxlw568np9kfvf7nag3p7al";
@@ -2690,13 +2702,13 @@
 "bibleref-german.doc-1.0a"="0q69vfak1yrv564qcw3nrklhq4sf62hi6l7z8w2hcj3c325kii56";
 "booktabs-de.doc-1.61803"="1ld7zdr88xjhnnl2x734rxr7h0fz84awapmv50p1kzn6fczrwyam";
 "csquotes-de.doc-1.01"="087c08c44811vd8p00l1xrkg5w6fsl8as64jq83m6gf1hfan9w4c";
-"dehyph-exptl-0.8"="150c1w2m80vwdkbd134kpj498awz69sjdw90gyfxn20ji96pk1dv";
-"dehyph-exptl.doc-0.8"="1w012rlgv0kdry2adjc9ph2zcxfllg9hc6z38fgnfl5cpszgr2cj";
+"dehyph-exptl-0.9"="1lk9jl0h46xi2bg724j8jg6i54jqdch7ncz1a3yk6xwfpjgmj9ig";
+"dehyph-exptl.doc-0.9"="160z9xiqdi9x3wmmipnlarrhlj8r6885541vl23hlj61xd17y9xz";
 "dhua-0.11"="16gq48zlsfk9llafs8379797v908khv954q8lw2dvzk0v69d0qki";
 "dhua.doc-0.11"="16l76rvba4fz3vfw8mzkmks7b7206h2dva5dgw3m0j30ds8d6vm2";
 "dhua.source-0.11"="06vws91qfar1h87d57c9f9cw04isjk0szhg2aiw7sc8ligs0v907";
-"dtk-bibliography-2022-03"="04gplss8vqzp76z2d9zr8ngs6vgv1w1i333nkx8nafv4bi5w4xhm";
-"dtk-bibliography.doc-2022-03"="19dvr4119m9i1gw2kk2plm4hgadk01d177ddq64ks1cgdr2wb5pv";
+"dtk-bibliography-2022-04"="01a3r2sq5sa01s09kdq35qnhqrmnb2chic0nr632cz72cr9snm8g";
+"dtk-bibliography.doc-2022-04"="1jgrdv91cibm7plk3116xhgqqa2yp3fbqyrsj2r4bvri81bgrig4";
 "etdipa.doc-2.6"="1jp35apalaa1lh44dbn1zayavv1n3wkm0v69hgy8vdz73yp5yvhz";
 "etoolbox-de.doc-1"="1vchha7ymvj51jfnvl76rxv466lzfpxr6xcvwafxhi78w4bk9yry";
 "fifinddo-info.doc-1.1b"="15zp4xvszy07cy1b5r3k5x256lbalr5acrrdj1gx33llfmvm469a";
@@ -2751,9 +2763,9 @@
 "umlaute.doc-2.1"="1x9l84zk5jnfasgqc4d35g10a5la79z5q6q55f364chc7bibyzis";
 "umlaute.source-2.1"="0ajdnhbdw7b0d8qxnbalv3867p5lrk4mk6xl9skmvmkzpbf4s9an";
 "voss-mathcol.doc-0.1"="1c7kzk2m2i8f6vqywnzfvcmv11ckanhcjxf72p4rgivw8f0lbwjm";
-"babel-greek-1.10"="1jp0a1pr0zasii7xzhrdin7m628xihaj3bf1w75y35qhq4lb19q7";
-"babel-greek.doc-1.10"="1463n58g9c0y1vcxc7p1q08kdqhkqzvb8l557xk8cmn3j8wcafrm";
-"babel-greek.source-1.10"="1sgwqxzsybx3l2hlj5cdc61z26cqxmjz8kfsbiavzfwa94mka2d1";
+"babel-greek-1.12"="1ing4c4s3pidhwrfr6hzvqh578yw7ya7iv5jj04hiksndiy6m1pj";
+"babel-greek.doc-1.12"="098nv2wv5gw2719q6p24chys1rx4awrzs3a36pdlw1hf3zgzfd9j";
+"babel-greek.source-1.12"="1fwg66nch2cbh877pdsavf6pc0npj3bdbinr1bln1hps4pfjjnga";
 "begingreek-1.7"="0dl4ap6r3xdwi0kypp6mq171jp4hl9hrjlhfrw9i6pd31qh2bp85";
 "begingreek.doc-1.7"="1lmrl3iqgspi6hd86mwssr2bjqg59dykgwl4kzjfrbqa1637df9s";
 "begingreek.source-1.7"="0nyd2kqsmkz6rvsfcymbbl2kvs220rk2fi2wajv46w0px81bxch7";
@@ -2763,11 +2775,10 @@
 "gfsbaskerville.doc-1.0"="0v0widjs2w65ppvzm04wzinrcyp8hcicgxp6brydjmx9d32yrzcq";
 "gfsporson-1.01"="0h2zy85jalpx2vyjszw0kkrav82zv549c82qik9iylgfwfk1amx8";
 "gfsporson.doc-1.01"="1zy50pqr9bzfncs03fg98ws41v0v5c9y36rnjm5d9i7q2zljapy9";
-"greek-fontenc-2.1"="1lixinnfrf1gfhzbn2bhh1khs5qdhj9k24sf45mh07fp7c8wbhsh";
-"greek-fontenc.doc-2.1"="1jqna8a12qfnhhfhbp0x0p87dpvpa79nmmimkgryjaxgsi1njihp";
-"greek-fontenc.source-2.1"="1xx8pv0zdn6hhkfwqi0pn2w5jy4v9pzhmqx5p0bkicdr2zwskpkp";
-"greek-inputenc-1.7"="11pi613m7ny46l7v5c0sy55dyh7jw26bpy06h8arxgimnvms8gnp";
-"greek-inputenc.doc-1.7"="0zg48vvgdi9ad1p5iiiqi3pbhvn6fsk8148dc33sl8f70b72fpfw";
+"greek-fontenc-2.2.1"="0vmmldg31lhdz1c17hd2ldm1l3af58npxhz5lph6wj4hk55kgh00";
+"greek-fontenc.doc-2.2.1"="1pj9w0yfb4f7rm9qay6s89gv32v150s8v897ci37vqzm92cn07r3";
+"greek-inputenc-1.8.2"="0krfi8rqvbfl4lhidxrls8r0l5fg97w0yrbaw6cr4zb12cwsqpjz";
+"greek-inputenc.doc-1.8.2"="1vqyxwwn43igr523qybgvgqfgl182v8f02n4602ysqpyw66j53s4";
 "greekdates-1.0"="0g8cgyrw6lacr9cjig3q1g7rvjdwb0p40b41rsqg6lj6y7m25ya8";
 "greekdates.doc-1.0"="1sh4dgxfn55gg9vp163qj9nd6kbp03cb3nkg3hqlf6b1az486nh5";
 "greekdates.source-1.0"="0k8vyyxvi1i6kqnanfm1nfhbwllgn22ik57r2p357y69hfj3bs4f";
@@ -2846,16 +2857,16 @@
 "babel-japanese-57733"="079bhnmpcgaml555dgrmiigack6qfqx20fy85c75p4fsn2c93bmw";
 "babel-japanese.doc-57733"="0a479m8rq8l02q1w73d6lpfpi0gs5qdqfbl132483f2wwzznvnrl";
 "babel-japanese.source-57733"="0kjv78h69422dj1jh7s74pkdr3qrdxxbzk3czzfsc5rax71x9jhm";
-"bxbase-1.2"="1jbhxfaqpmjakvda2knxvgwli8crkwlhqa1i29mkzaal74f03i96";
-"bxbase.doc-1.2"="0ny2xzg6z92fpw4s012pf2h90a77d96csi4x0cqdlvzv1f7bqhiq";
+"bxbase-1.2a"="1ijrq63y54ahv7r5f75ssx2xjb2mfbgxk9pq53sfjk8cww1m9k0l";
+"bxbase.doc-1.2a"="0b6k87rxc8sxdqgbr61qmkrfdrzllc54svbm5qdxvknimgsbaiv7";
 "bxcjkjatype-0.3"="1b2srzs5pwaind8pjsghkbq6hwf42ipx4bmcim2zbfxmzyb1ga44";
 "bxcjkjatype.doc-0.3"="163farvip06haph6dhwf123dk12rnls1mgvdsyvvszgyy9m96bgp";
-"bxghost-0.5.0"="05d2yz3kidrdvsm6mv725m58vf9797pz5ga7x8xbxg97k76xy28b";
-"bxghost.doc-0.5.0"="15dz68kcvr5px9m8v51q8sqb4lc541ipihs2iyfci61xkqfvbi0r";
+"bxghost-0.5.1"="1dydfivb39ly87sprrqc42s5rmwgpqx10chmxa7p3x3r25dmrnzf";
+"bxghost.doc-0.5.1"="1gi4jj5xrs4wp194r4w8ycjvk3m18a499lckzpqgmb9r2n5ab8a8";
 "bxjaholiday-1.1.1"="0qxc2s07rqnyi0a8a050h2qri4kaqfcwc26c2dz0x8ypg18s6nhq";
 "bxjaholiday.doc-1.1.1"="09a5q2cra7by0q4zxl9nfa672ryz0cdv3xkw730cq3qyyxgc06ls";
-"bxjalipsum-0.3a"="1j43iihid2akjgd9npyqmg14g0m57izzp8lnrpqz2ybbp3mbh0r0";
-"bxjalipsum.doc-0.3a"="06w601s7x4c6cc0wyrgmkz1vj19aynsq9l66h0hbi4hp52bh1ka4";
+"bxjalipsum-1.0"="15wzkx4x5xdq8wd24bwp61blrnibhc41n1jm7w4iax8vh8zywspc";
+"bxjalipsum.doc-1.0"="04njk5kvn1igjwnm85mc4hxg3004i88wzk91fni3f9pd069pcd5m";
 "bxjaprnind-0.4a"="16rdpkqlsx301zvrr2nyykpjqf0wj1xhqqk72a5jajyjpcqsvki4";
 "bxjaprnind.doc-0.4a"="1x3wh73nga2l8f7l24pyabpz0b8g2k6hkszwl5dijrppicl875ym";
 "bxjatoucs-0.2"="19n1wr7i1mfrabmrsgnmvk5wgdqhbc9lfpz3s5qhnsqsz69rzi00";
@@ -2875,12 +2886,12 @@
 "gckanbun.doc-1.2"="1rpgm6jclifxzs4k5ybkn9pxsl60vl167jjhffg6d319g3miy7al";
 "gentombow-64333"="0r3aziqnq1pm2pfangv4238rpihaarndi3xhvpvfj7mc31b3mygr";
 "gentombow.doc-64333"="0vqfamrsy4r1wqly1196cq2w69wydzzw09y3jg5llvyh95a6dp0i";
-"haranoaji-20220220"="1b3cbikd32mqa895n3d7jvcfvb9b6zz7jfibfzcf6cvpmwi8a99c";
-"haranoaji.doc-20220220"="0wikzp3iw6cvphc91ih6f9302jskhp38b1nqj02xmppjr17q8vc9";
-"haranoaji-extra-20220220"="0n3apfxhs210cngmxmv1vq0a6bx7b5v0rk2qbpy3mzb9d4h8xikj";
-"haranoaji-extra.doc-20220220"="1ffjl9d2sxhiqms5hyvf8z4wk6n7fb42p09qhxhvjpziadjzfijc";
-"ieejtran-0.18"="15p08cqsvmdizdnjw1l1hkfiplbrj4hgv269id0v69lbnc6jjzkz";
-"ieejtran.doc-0.18"="13zsqdq8faapl6p5xgy53d7lxl9sf3ddw9s2m1fagpyxrincc2hx";
+"haranoaji-20230223"="1vfk6bh62pkmf961qlj1f0gv4yggp6sadjr141h8905wf5980m46";
+"haranoaji.doc-20230223"="1phy7r81z2wykymzsscvgk0211w1lwjjn946mpzdw97vskx1v2f3";
+"haranoaji-extra-20230223"="0j34fizmxvalvw4vssx9fm8ik2lg0nhv1saq9xbrd1pymjkavnv8";
+"haranoaji-extra.doc-20230223"="0izf929g5fwzgyb9piagjjjn87rq4dj6qy3j873q4cflqd9avdns";
+"ieejtran-0.19"="07y254kl5wanv7d2jyzhwlf5z6n542217f5n7gdyrm4jryzhb0ly";
+"ieejtran.doc-0.19"="1l5cyqlsamkn3yjdia1zbv7lianq8jcjl83pkywimxnybw0kvdbl";
 "ifptex-2.2"="09bkq9az6axiykrwqrdwq1w6rymdxfh01zizfmj0mw3rbn05lyi3";
 "ifptex.doc-2.2"="1sls7c94p579r2y7v4ap2165f1fypyh2kf1rh2qlqz9hb0d9l2hv";
 "ifxptex-0.2"="1wb1laq1nn02klvjgwvjgansi4anmjaik04fl0lylr7x5996qa9k";
@@ -2889,23 +2900,23 @@
 "ipaex.doc-61719"="1g2z2ichh3wdjmn9jjd48jic1b2xw5sb8sksqv0hm043hk5makaw";
 "japanese-mathformulas-1.0.2"="0x9k23g95j4wqf02ibj4zpfgxa3vlhgckax80lwm5flvr34bbgdv";
 "japanese-mathformulas.doc-1.0.2"="1iy8q3906bl7j2ciw8l3162pjw067qkbkdadj9v727x3lg29aay2";
-"japanese-otf-64072"="1qn7nak2sgwdz8vmvibndr31dx94w92caagc9ly17b1na4ifj9ih";
-"japanese-otf.doc-64072"="0r52v7dd2l49gqsy5xskcaz5a2nacm8wgyi46zlvr2nsnj87m1xs";
-"japanese-otf.source-64072"="19f6bxfvn1dm6xbhjx0sxlwjg5667z1l3fz28bz5b0nphryrj42g";
-"jieeetran-0.18"="00aclilgnbbygpfkys80h8glpvfb49gjk69cgj4nlqwfabj313z4";
-"jieeetran.doc-0.18"="192j9f4m007mk0r4c06fch5vfaggyycyll9gyqxv6d1c96xajg2v";
-"jlreq-65119"="17d0fi4rk67xl7xw0pq30j28q8y8cx1l6g432ld78lzzz5qvjvj6";
-"jlreq.doc-65119"="0iddrzv1qz2w26xgv6yhwrp32r0ka0l64596n8k5yzajvj2xf699";
-"jlreq.source-65119"="16mjb1rnr4vnc14na947aivcap1wr33bhb3w82y5nj5x4vfpycrg";
-"jlreq-deluxe-0.4.0"="0v27w13xymviphq1168x3kvc9anw1z1sa5l237nffj2cv7spg8gk";
-"jlreq-deluxe.doc-0.4.0"="11n5l1f3y8b7ak6yy3z0iy8cqslii7w9v52bnryi68yhn58kgyv6";
+"japanese-otf-66102"="19iyp9r0d7mm3j198h8znd0pq41vwxk2jk3lkw05j99hbbbkghw5";
+"japanese-otf.doc-66102"="0mmcg2i2wzzapw122drvfxi85irl2gb1j5g1p6ak7xavhxv6qb8d";
+"japanese-otf.source-66102"="15w89vxnkh0xl0jb9nzkcc020jfr5yvhl36830ipl11npc30j6p0";
+"jieeetran-0.19"="07b126wich0dkvc7f581566rpn17qbnzx02hfgbw1rjkqnq3svsd";
+"jieeetran.doc-0.19"="0r8fsqx2nqi1jw9r30h6w3dqafl8mwhih9vxpibgfnp2lfy01a5m";
+"jlreq-66374"="12qfaxrbid3dbv1l1q74h9h8wv7hiimrxhyrn55h4c5kcvvfsyy6";
+"jlreq.doc-66374"="1d7s8crbrv3aw8rv06v1zrz4shcjm2hhrb2c34ax11ww9s56kclg";
+"jlreq.source-66374"="16mjb1rnr4vnc14na947aivcap1wr33bhb3w82y5nj5x4vfpycrg";
+"jlreq-deluxe-0.4.1"="1gmbc65qilf6im9xl26440kmvyn56ywc9r5sjbpfd4aknfpwsx55";
+"jlreq-deluxe.doc-0.4.1"="1nka16c0wyh7zqvqdn836ygxg642vzhsb3kpzwr2j3xkg4kmklsv";
 "jpneduenumerate-1.2"="0an70r9y0vklglyms7n2n40qz8jd2ig9m5i48xa81z615403bf90";
 "jpneduenumerate.doc-1.2"="1kb6g5hbsdi4qxcqd7ginmkg4q1flqjbi1v2d8ss6vjsamd360q4";
 "jpnedumathsymbols-1.1"="1x9jdzl2hljcm8ia7w6b2rb8zbb41y7vyi88rvlvy3y6i5v3wkcr";
 "jpnedumathsymbols.doc-1.1"="1i9f6llx61c9lcy1lidgmidn7k870pbl2m27yvdi40kcqs39zkbd";
-"jsclasses-64386"="1pdaff4f5i7ybfm2y9301wik2bry7da095z99z6s9fg4h37p2vwi";
-"jsclasses.doc-64386"="1wmq7v8kx9x5n1b760snrypsiqdj4891ak90y5394zpy0b9jpzha";
-"jsclasses.source-64386"="12i1gwxcjf8cly83vslbzp8ylpx1vssfs8y6ncx3plhzdc81ml5a";
+"jsclasses-66100"="0g59rxplv04jkjzy4x62lldf62glsr9dwgr550cpw91ws2izcx16";
+"jsclasses.doc-66100"="0r3a8z11g2ngk97bd79610l6wnjy4rdgqv2prn3xcmqhrzg3xf00";
+"jsclasses.source-66100"="0x8laaf3rw2z1587qx6ghvcmga3gykvahrjma7x9m8mg6ljh3jpj";
 "kanbun-1.2"="046zvhsmw56a30s01pr50bv1m3s4q1fnv8hbays3v56xbj8rk7ka";
 "kanbun.doc-1.2"="1qsz9krhmgav37k0386il90h91c0sxk1q2zvma272fnpbw5rbq75";
 "lshort-japanese.doc-36207"="0mfxig980jyzhay1i83d69p294hgbr92v3kk2a4z8ca3fwzy8w74";
@@ -2927,19 +2938,19 @@
 "ptex-manual.doc-62915"="0zwmig2h7ma853lqnl845mxw6512x663y16q9vdd93ci5k94dlf1";
 "ptex2pdf-20200520.0"="0s4b60gc0wg4wgxczzr2h1xlic0rk23a9wvfy76vysqzlsfmh0xl";
 "ptex2pdf.doc-20200520.0"="0ky2zh6a5d6w2aq8k9wg7p3cvp8l4wihfjlz3sir3ggj1rx2x6j4";
-"pxbase-1.3"="1rn4hnxk5sixf41dl6w9hgq0jv5dyf91klggnld7h52kgwj186n6";
-"pxbase.doc-1.3"="0kjx5ni8bdl9mhjkazq55mf3l7f13xfb53msra2ql0a4v49ipv26";
-"pxchfon-1.9"="0i81skrnh1vknzgqy3zcbgxf5lpa7b63wlx11gyrz18s9zv2s6gp";
-"pxchfon.doc-1.9"="00inqzcya3q5p6a3azgkjds89r444kmbmgw46wfx0sj3drrlgcz8";
+"pxbase-1.4"="0nlnlzpbd2dd397lxxg97pgaagfyb00ygrd6dz0v3gkmpwllnkvf";
+"pxbase.doc-1.4"="1kjkqsbrsiwzz6szjm2irz6ijy9q5xnjimdhhv52xk0j46hyiphf";
+"pxchfon-1.9a"="1g1xxx5imyhpblbvwpb86fw3as6mfcxq7ay2vjjn8ydixmx30pnz";
+"pxchfon.doc-1.9a"="02j3ay4qv0kkglzrwk3av5c8xamq098kbdcdkik8fa655lzvca7v";
 "pxcjkcat-1.4"="0pg6rh8yf6mnd047br0rwiyjyzb7g8qknwzx7v9r77rxgpvy4baq";
 "pxcjkcat.doc-1.4"="0jfm9ln4k0iwvk1ddxma3yjvfrzkhxv63nn76d6xi8gqj1vm1kl8";
-"pxjahyper-1.2a"="1qzcdrqvrp5bp0xyvy5k92f9k6fg0i36w11qgl5lp7dlxk9pwnhb";
-"pxjahyper.doc-1.2a"="060g5niqvn5am04010n9dx0i6rd1jwfa962w0c9kwlmn3kygbkax";
+"pxjahyper-1.3"="1hcnwp8m1rjpc987bg7nwam6lbc0wyv7anrw7avf8dfljklvnxbp";
+"pxjahyper.doc-1.3"="05jv160jmxhqwl9rl40yj0y2853r04pxnbhd40zn54jdnqz10aw6";
 "pxjodel-0.3"="0gywpypmv9c6bqyygyz336v7dn6bnx5ibz2p6f38paamk6bqbyf4";
 "pxjodel.doc-0.3"="16nf7za81mq77irbdqkxw2iwxgi3jpy5vh1fijp67bq3lx0az7is";
-"pxrubrica-1.3d"="1xz98vzi6cng9f2gj1xqbsvk3cw1h98q3yn1ijq2xkphkjv1sfhi";
-"pxrubrica.doc-1.3d"="0m7y1m7prfgcg20f8bmhqxpslxycw7qg7si4wr3pvcmmgv2skd09";
-"pxrubrica.source-1.3d"="1grr42aixxrxccjq1119ir0d0yialj89svd8yl0lzz852pp2jycg";
+"pxrubrica-1.3e"="1w74syyn707qwyckizmyh78ycs6ic0mmhliz2wbamz35s1z9l2sd";
+"pxrubrica.doc-1.3e"="0cbx00q2bwnrhjwfgwdj4q09ix208037774az77cg6i2qz9xmagb";
+"pxrubrica.source-1.3e"="0x592j0vbp8pw0r1wd2mmplksyyl6wnwns8smf0b8s4y3k96n71l";
 "pxufont-0.6"="19d5bm980iqx0m54fdybllq1f842hmp7976zc6v5w7dbfhndybgj";
 "pxufont.doc-0.6"="0vnvdvpdwkwjqds23bif51h9myq4bzgj2k9xmzqzvan8xj446jxf";
 "texlive-ja.doc-62817"="1h2rv13ip3bgmfz8q64abqx3ajla9mc02a50xz1nzmng0rmgz04r";
@@ -2951,8 +2962,8 @@
 "baekmuk.doc-2.2.1"="00y0iglv170b8pz79xjc0kz3yjphbb6a9alk5gg6hsdwvc6gf1by";
 "cjk-ko-2.3"="1fq0f5315863gri3zns7kr6sqscx0pmg4d1944i287qy3p4pfblm";
 "cjk-ko.doc-2.3"="15992k7mr4jln4057mzyipfhm2f2k6fysmx986czwamjjvsjbq1d";
-"kotex-oblivoir-3.1.5.1"="0vi2bkbszll9nzxzgd5zk7a651rqm7x2wff8rchcbfniiymqqywm";
-"kotex-oblivoir.doc-3.1.5.1"="05gkchcgcczzyfnz2jkyzhkrgkbsawz92c4r5njxifxylwih70y1";
+"kotex-oblivoir-3.2.1"="1np1zib9alvhsz8q3pk1zg8dfd7n8gvcjk55c2vb3lp9bi8581x6";
+"kotex-oblivoir.doc-3.2.1"="1pmilc2sav4ncddm4zq279708f72wjf55z51g6slqc9mmykmb4f1";
 "kotex-utf-3.0.0"="0gpdg9c7dqcg0jfq05i5gkvycskipzyk4cmfrncd8mm7axv9qd23";
 "kotex-utf.doc-3.0.0"="0x0y67bn28fy32awnjyq2zy4gqnafyvbjkhs7hipghxf87p6snrz";
 "memoir-3.7.19"="18870fzwf0klw8b4qxsixa5rh8hh13c02n04z39pcsm7s6dz7x74";
@@ -2965,8 +2976,8 @@
 "lshort-korean.doc-58468"="07660lrss97hswmis7rgc419h05mgrvsfrrwmnrwk5yn97flhhqd";
 "nanumtype1-3.0"="1izx9cjsd46ydhrl0ixsjz23nbk7mfv3swfk5ada0d4adcm7b73h";
 "nanumtype1.doc-3.0"="1sxap924dzf17vslp3n71r4mj4f98m9cmchq603c7ara1cyjk2mp";
-"pmhanguljamo-0.5.2"="1f7j30c80fhzcmjj5k1a130jjd87ljkxiwj4ifr8ss3sc4fdc1hp";
-"pmhanguljamo.doc-0.5.2"="04a34s9awmvzgr7gj0jsvvpdyfsb0hnj4mxf0qwc1pdhlkwikrvv";
+"pmhanguljamo-1.0.2"="0jhibwvph19i7hmd81b8c83g8n2dd45hj0q1l2y59lx5a21zisrf";
+"pmhanguljamo.doc-1.0.2"="0bk405rl1vs6dv1dwn5aibld2rpa5cwd06p9s3pa6n7s8aj8frvz";
 "unfonts-core-56291"="0pyrnydswlqhxacwqpbc1m3bzm8v4gcl3ka7w2mppp77l8a70drl";
 "unfonts-core.doc-56291"="0225vsqaj8l0g1igc4h8m94cfk6wv17vlnappdgxwws1fknz0x5m";
 "unfonts-extra-56291"="1i7skyjqlprf6m1pnz5l2hn67f1cix4n3pai6v1a8adrrx7vcfdx";
@@ -3009,8 +3020,8 @@
 "babel-vietnamese-1.4"="0xb8w1dm525xrvpsxy6y4n6m8rr6g895hysxbjcvv5x8bjvl2vx6";
 "babel-vietnamese.doc-1.4"="12cj6335qj5igap6hff1qrfz4ms4s94xv7vlwdcv1hs5gabqylaw";
 "babel-vietnamese.source-1.4"="1xdkjigwmmkbihczgd0hawszzmnn3j7fypsv3sx634ham8j02zzx";
-"bangla-2.0"="0rl2lh11b1c7cdvzr2b9zbir64xbrmsgmvjf30jvjsn5l1vgf8iw";
-"bangla.doc-2.0"="0lblaxv0plwx5s4dvr5mbfzgn616hyfj8hcq18ihmyi0xvqv25f2";
+"bangla-2.1"="1fl4ljyh4ypqwvkhq7df1m85hp0vmy0xmdy2km4wwgxva55h0d1i";
+"bangla.doc-2.1"="13iprzx8j84ac6ink12arqw5c5jy82wlc2nymlfr8d226s37nac8";
 "bangtex-55475"="0gbjmkkidm8xk6hpkd0i0b778my5xf7hfwq3fdq2v7ca39bii0d5";
 "bangtex.doc-55475"="1xizgjqmwafjvcf0j25xh2gzcqzcipymhmhh0r56lwv02fd34b4b";
 "bengali-55475"="1rqwjn1vim77r30nmdmw5v50phpsfzdcx8nlxhxlvqsca3yqzsvz";
@@ -3080,8 +3091,8 @@
 "thaispec-2021.03.01"="1inic6cpbf1kf1hi6brhq5fj3fkwn95cvgjqwh7bxk9dxk1rzsh8";
 "thaispec.doc-2021.03.01"="0ki2jl9spv70f5hkzr762nkcylplb9z70c8gdp97whqg9l9mb8bs";
 "thaispec.source-2021.03.01"="0j69dwrn3qk82xgnwabq30ab1pf4xs3sfnxgnrksgmhd0ly4lpjv";
-"unicode-alphabets-54236"="1lmjf3yyr0zyg2b4bdx0n97vqfbnzyd929ginqrjxsgk7imi6l9p";
-"unicode-alphabets.doc-54236"="1sygp8b5191llj96lr24w58hvxsacsddah8a5w43a8g1cdqi0dgv";
+"unicode-alphabets-66230"="10zmjmbrlxsvq7snzm3p89afj4xy4ad0ni06fi9dkqjmi9l5nph4";
+"unicode-alphabets.doc-66230"="18l3zd0q5ixwpvbcx2glldp75anqkgm3ifnf3lha2iqapk03jsm8";
 "velthuis-2.17.1"="1ki27wimj82h2dgw6c1f6hs93yg794j711x1w3vmgiwz3mdqkzdf";
 "velthuis.doc-2.17.1"="133f9scdzjncbvqqf9c5nj6vjszp1f235vrapg2pjlg018hlhv9x";
 "xetex-devanagari-0.5"="0i6hkzl2jbiixzrw2gvngnyzqkz0lfdilj1zz5xi6ypffi4vyihx";
@@ -3162,10 +3173,10 @@
 "hyphen-spanish.doc-5.0"="13kmgf0lwxm54gs39lm8vgg2hhajvqwviql1chhv2l7d66mxrcrm";
 "hyphen-spanish.source-5.0"="05r3c2m5xfs6yl52ms6kc95v3x82zbs4py9ip6xznshfs5xakb85";
 "l2tabu-spanish.doc-1.1"="1p83xflgv8x7nq9mylh468zn3hz5pv3zxprc63q51fwx0ylxfdbk";
-"latex2e-help-texinfo-spanish.doc-61937"="19rxbwk1xqhsp7wkgrx50q984n77lqx9zxy5s4741wfma69p7g9i";
+"latex2e-help-texinfo-spanish.doc-65614"="1v3wa99phdmsiajbq0ad4h939cpwjwzpq88h6s0796h5fr34hrvq";
 "latexcheat-esmx.doc-2.00"="1d6nk9p9adlhgr28mnnizrxzzqlk20zw2clcddqlaa8pn73dqhcm";
 "lshort-spanish.doc-0.5"="0ls50syrg3dl5dl5a3fi33cr9j990l2xr6pribn1vqglsqrh191l";
-"texlive-es.doc-62677"="0w46kngdbri9l6krla1450kiavvdbmyk379lmq44vbk1nnwrvvmq";
+"texlive-es.doc-65640"="13442kjpprpc1fp9d6i1byg09vx3i98gylc81xm6k14pn2vy14fw";
 "2up-1.3a"="1phamhfskhhyg5s3ab00mv3wsz3wg18j1dskq3x1mpkc5ys9a022";
 "2up.doc-1.3a"="0ijr2gsi7ywp72ydpyj0cyxwv06vc612cpm1inkx8rhnn6hjxbw6";
 "a0poster-1.22b"="026ia95qflhgfbd9c32yagm1f08lnr9iyh1l2sd2b0hf5z27z4g8";
@@ -3228,6 +3239,8 @@
 "akktex.doc-0.3.2"="10ma4ic5bazlmizxvwks6w3qqxbbir0rrhzj1yw2j68p0600nmvn";
 "akletter-1.5i"="0gigzlxkqmiqz4nwpxj98rcrxmi6yfipf5bifg1mywchnw7a1f2h";
 "akletter.doc-1.5i"="0ngj7d4vdnvh99inw2vggqdgx6h2hv5z77glxjcpx8kmxf8h47sv";
+"alchemist-1.00"="14gd0gb86p247bz2x2kcqqj2b0r2lz12gpssfz84kgvrwx5nxkvr";
+"alchemist.doc-1.00"="0d8kirmkd1shkbckv32i8yxdrpwzss7qgdn2i06b6mwakisy93v1";
 "alertmessage-1.1"="1mj3wiz4fff3ry5q4dk3k0kcx4bcqfwdvgaa9x3vczs746q57dcg";
 "alertmessage.doc-1.1"="1ga46r20zyb1bq7pvhq4348d2prdshy5m3yx6d00v5zzis1dmx1r";
 "alertmessage.source-1.1"="0n36cfjgh1byik8zn997lmyz2w4wmz48f5bzqrhcps7bg3kmp4zz";
@@ -3307,8 +3320,8 @@
 "aurl.doc-41853"="0rw2vhp4r9sb6pliqc3xxjc5hsznz4j7i2w3qk227ibg92qx4a8z";
 "authoraftertitle-1.0"="1gikfjhxkz21qb32hrhyrdymkn29x7bjcsml5clsw4cgi4b67fcq";
 "authoraftertitle.doc-1.0"="105sk016n6sh7llhk3fjcz63hbwms50l7906qxdddjq67qpgrvgn";
-"authorarchive-1.2.1"="0ab9zrjrjk6jm8qnhmbgggzxkgsi4pzmfwwlzykpdypvm2ndmcrb";
-"authorarchive.doc-1.2.1"="021gfywn4drj4crn1g4i5l1zjiw0wj7cfdbiq1zdm3s3pwfinyz0";
+"authorarchive-1.3.0"="0f9x0nx0n3k3hj33089np465jpikrxn689zgp0rdq54gh9cr5wvm";
+"authorarchive.doc-1.3.0"="0w54vg8rfpb8c9cc5aaq0zgz6vs7qahzjfq495bw551b3rm7cia5";
 "authorindex-51757"="0dhdd84hdf4iz67acyarzf0asb7c8dmp09s286rq0ylgn7lb9xx6";
 "authorindex.doc-51757"="0hhffkmldhhm46xi8d1bvjp5v15cg5kid383g7s1dbjxqyd9vbvd";
 "autofancyhdr-0.1"="091dwnql2fy1zfkr92ww01hjylx6in8ay56gq7ywjlwb84r6sbm2";
@@ -3339,8 +3352,8 @@
 "basicarith.source-1.1"="1my6sp0mvbmpn2bakr93qwasqh7rwmzy8lhl608lssnxk33h8x8j";
 "bchart-0.1.3"="0knv4byfxfalyhmsqiq4wjcin0q0hyj9gs7f167cddjyzcg4z23i";
 "bchart.doc-0.1.3"="0zyiw3f37i3shf8ihhzxagvzwnsdaymbkpcizdm2ryziglahh1jy";
-"beamer-rl-1.6"="1x7qasl0bxqn143ln50lmz8j2h27h4k1qd7ssng5n2q9smif68a2";
-"beamer-rl.doc-1.6"="17dq7hk3l82nljid2nbdywphyjn9656dh1d05j6fs8lxxf9c6lc5";
+"beamer-rl-1.8"="0n3scafwgkwy30scgzkx2b0z11wkf3hwhga8fqinn7ls7igcjvax";
+"beamer-rl.doc-1.8"="0lbgf6w6gq0vjh96a4rm9z9cc0kl1x1pm4pcb6pb4r7q7m8illxr";
 "beamer2thesis-2.2"="1rz02mxmvrq0x06xbrdqvfgs21nhkcislcnpdwx9gvrdmwpcyccq";
 "beamer2thesis.doc-2.2"="1ialsnm6qc9bwry5575b8l9ifgymidrsvy2dc786ixndc0fzn84h";
 "beamerappendixnote-1.2.0"="1mqx0wwb38h1aaxc4xzzq6430xhrxb70qcdqs5yj1sa7k9638ags";
@@ -3360,8 +3373,8 @@
 "beamersubframe-0.2"="06csqdbh272jbh3zpi0f8zblbmi0sp5iiz1r1qa9qc0lw81mdh7m";
 "beamersubframe.doc-0.2"="1g29xay21yr8aap2fzklkg8q3ybz0xmz22xx5cd9md93c8k9kg7l";
 "beamersubframe.source-0.2"="1zb42dsisab4234s79xvva74rlicd1gg4pbh867rxd15ajgy14k5";
-"beamertheme-arguelles-2.0.0"="0g7hbi4n2s9c2kffiq3hykv72czsvx88hm91j0vyxbjd765lb1y8";
-"beamertheme-arguelles.doc-2.0.0"="1q5lgwg4j4298m5a5qbrjqh2iim3ipc1v18j7hxb817prvj6lpd2";
+"beamertheme-arguelles-2.1.0"="18196yri83lc99519ygm30ls5174jgn8kw2i1jzyjc1rnimcgbsa";
+"beamertheme-arguelles.doc-2.1.0"="09y9w7cj4lg45ykdg4rgaf1f9p0s9gpn93y1x39kmksxag1d26h2";
 "beamertheme-cuerna-42161"="1r6c3ar29s06b0yfn85wssxccayxn2706y9jxdx2pxsr85ndc4js";
 "beamertheme-cuerna.doc-42161"="0a8mmg184chg2lljv1k7ffydg4sgcjpjbnfjzqcg43cqd01v5dmx";
 "beamertheme-cuerna.source-42161"="1avywir51zks1hygqypsfi6lkrba9ld6x5mkr8lln7b2s4ijnysw";
@@ -3391,13 +3404,13 @@
 "beamertheme-simpleplus.doc-1.0"="00lj81r295zh9lrbffq0ja1skpg8l8l3waj3d34sq6i9sf8rbg40";
 "beamertheme-tcolorbox-0.5"="0xqqd7ak7r0zgy92k1sn32ahv48zjpggsjbnx761wxv563sm0ihy";
 "beamertheme-tcolorbox.doc-0.5"="0nlaqvbmsbr4cqzws6c3bxwlmkwqv3bg6i6rwa5ll4sqgsk6symr";
-"beamertheme-trigon-0.6.6"="0mcvdicqb0ppx34dc6257x93z152inl8k6rzcg1vb0fnkcvhpszw";
-"beamertheme-trigon.doc-0.6.6"="0s3yd5jsr720x8gbhisqhagnhligifyh3nnlibms34q97aipx9f0";
-"beamertheme-trigon.source-0.6.6"="0283c60kgph1l9s07qlwibj268vkp860m7b5385wvsfpv8c99cpg";
+"beamertheme-trigon-0.7.0"="1fdray7kncwsb166awwr4jwnk27jxnp3824yf298pp4ikg7iw6b0";
+"beamertheme-trigon.doc-0.7.0"="1l8iqyq8ib1v0d4k7bd35hb9lpdmpzplnv0fqb1ngzdn0jfx6c6q";
+"beamertheme-trigon.source-0.7.0"="1s3da6z3sshhndpaxmi3rh7zphh7g1qn4b3cxbzkifx2xqmz8xvv";
 "beamertheme-upenn-bc-1.0"="09a7da5ghgf5q4qp0djp3pya35zsm45wkiy5srz8p9q8pwg04bdx";
 "beamertheme-upenn-bc.doc-1.0"="1m1bc9mxdwfdm0v2lb0i3pfxgf5as1lpm8a05icrm7bdvii0vsiv";
-"beamerthemeamurmaple-1.1"="17m1gdhchqkjvw7sa758w2bw6hbg74nfpmllj3b3h23myihx7fb2";
-"beamerthemeamurmaple.doc-1.1"="18cwxjm06sxqczs62dasblgpb65qv3c237lf536kby7giq667vpg";
+"beamerthemeamurmaple-1.2"="1amknxp5vladf2slqjn9a6inkcgicha6fb3c6pc36f92q3n62csk";
+"beamerthemeamurmaple.doc-1.2"="08y0q7qq78fgghfnbxy2vsbqmqrqdnj5p8y682mc285qpqwncj6f";
 "beamerthemejltree-1.1"="02ccd8qqyjkvqqyxr94p1gc6qjryl83vpa72wcm5ywr8gmxci0pi";
 "beamerthemelalic-1.0"="10wv3820avgviic0mcxn38yycyxqfvmf7qhb5ybz1x84jrw8k9hm";
 "beamerthemelalic.doc-1.0"="1wz984il1z42ck69xn6rnxww3x4xx127syyx37wdy246i1ji75vw";
@@ -3408,10 +3421,17 @@
 "bearwear-0.2"="1xaq0bmv8jv1zss6lwx2ccx8inrmyw1r9bjv3sbqfhp2x4d5xjrl";
 "bearwear.doc-0.2"="0vm9lm6389jnmcgzx0ffmay2bw4d0h1wfmsfbj3x1s1vrfl62r8j";
 "bearwear.source-0.2"="0dzmlcrc4izb63862dcafshzsaglq5m88z3cxmwivmwpikhh0gb5";
-"beaulivre-64280"="1wgvazjdckkv855l2wf0ahf36blj6cpyraiw5axfdwq421dd1cvl";
-"beaulivre.doc-64280"="1jax7rlgqp40icm5qmikcpl3ls5gbqddhd8xkjmnj5djxdsr89gc";
-"colorist-64280"="1h60596ca9ifbfnmkcdjl71qg8icalss9vjbjnzzh60x9dscjcgi";
-"colorist.doc-64280"="07amidi8nlina29aiqcq29s71fwg01nm8660mznkn5swlv3mznc9";
+"beaulivre-65475"="1xkm64zf69achc31qvnzw3dyxsyjxpm5sbrxkpbq01rl7l0rmgbg";
+"beaulivre.doc-65475"="123hijnaj7dxn6yi1csfk60xcwiicjv8l2b78314rvdklaqy69ly";
+"colorist-66450"="12llis83f8lsp0i7gs52pbyjrw1b7pygx4vnw3i4xqmgl0jfgy48";
+"colorist.doc-66450"="17lv6wkdc5vffdvx05dzbvxfqmkwbcqyizp0ax1s2p3y053gyayr";
+"projlib-65475"="14gqy0f4ky37p4bn60mvqm69qz24iyankz09bwfja71zacn6wzza";
+"projlib.doc-65475"="1x8zlqf8pvvlp7wib0yqrhp0xnm84i91zk9njrxj7f1020bq6kda";
+"projlib.source-65475"="1zrb67lr1bdw6nzqqybwdkhzr4v6xgskkf16vxq5f08wihw64k5f";
+"create-theorem-2022-08-08a"="0jrrf47vp7r5alw9lq1b0hi0zpdkx1hlws8lva2jkhzavyapcmmq";
+"create-theorem.doc-2022-08-08a"="1j4m710kzvawd4zvppq4cr0y3bzmprb7ps0rz37g8spcf78c9x1m";
+"crefthe-64498"="08x2xqdw5zf7kbsrhjhg42m4dgins138r3fdx9jjm55smlz7c68d";
+"crefthe.doc-64498"="1iax200inrsiq5xpxh3mq6za6gqgz75zbnbqy8iirp568ylb1nxj";
 "beton-15878"="1rjj64wnd9xvh940rl9scidhv9ridqz38n8ndzs35hyjm8n2lx5f";
 "beton.doc-15878"="0i8lg2iyjkzpxjzz9ym61v4zkqczkhvs6qjb7zf5xw557l2i55gw";
 "beton.source-15878"="1l82y1fz86qsnv58gjq9rm58zf3ki80xmcqkwlmgfp334j9jqz8y";
@@ -3434,9 +3454,9 @@
 "bilingualpages.doc-1.0.0"="1bha7ixvvw04a3gj5lhpyw4pcarxzf16vkkl0d378bypa3lq5212";
 "biochemistry-colors-1.00"="0d4bbm1p3j6q28ckkl7ilkywrjx6iqvmx0qb27rpldw3jabf1lp4";
 "biochemistry-colors.doc-1.00"="10pa8jwpxr37hs0wcywzsq14x1jgjx1cqg94lpghi505mlrikcg1";
-"bithesis-3.2.1"="13kjci26j5bcv4mdppba2cqvv6avn7mdlcl2dwg5asa521481jwf";
-"bithesis.doc-3.2.1"="13zjyg190qx94wxsqlws6rpsq30d8h98bb5sjwlwavlhb1g7vs7j";
-"bithesis.source-3.2.1"="0nxpzwxisd1iyw0x8pq6xc74xvzagk6z7sfjb5q86ddg1qyzvn07";
+"bithesis-3.4.2"="1q5dp90ggc54m834snv1yq9l2b6zl68yzfflgy2c626nc98n551c";
+"bithesis.doc-3.4.2"="1kgfzpmabri0i0dahgccjxqvwpalhx50s97fz3bbymp07za6xhnq";
+"bithesis.source-3.4.2"="100ms26z98rr5mqcs4n660nl8mw42cfv3avzy9lyyp3jb06b8n36";
 "bizcard-1.1"="0s6c3s99hid9pkilskd8ssc4hv5d5yg5lvw6kqz9szyii4rb6a18";
 "bizcard.doc-1.1"="0ic6c43nng4lxsznkpj7w86ampdzjrqqcsdsm1f758rfds7wbnf3";
 "bizcard.source-1.1"="0ywip83r43a721yfzrfnkfms0saly4p2ihagyp6259h2kji3vdjs";
@@ -3460,9 +3480,9 @@
 "bold-extra.doc-0.1"="1101922s78y5d9rjf5immfir46vf0i1ig20wp360zcal571csgjl";
 "book-of-common-prayer-1.1.0"="1i6dk9ibp6al8jxhk6f6a8vsgpy40cr7m5k8zl1wq8fnm4wp13nr";
 "book-of-common-prayer.doc-1.1.0"="0ija5x2rgs8qxz3p4i81c3b9sznj749hasznxnlgn7anlv3s84rq";
-"bookcover-3.4"="18qr7g432z1gm2ky5fz36rncfhbhj1pxilcbfhfv5290cf2s4yxf";
-"bookcover.doc-3.4"="02bcgaybrkzp85fy741c9cnadl63gf46v80f5n1zc60hmksmjgic";
-"bookcover.source-3.4"="1kkb2w08hbww8i32jlh9kfsyml668mrb2mgk6ww24cvafcrs513d";
+"bookcover-3.5"="0mg4zvi6wc2g80pszcf6a9ahqp2aphw46i59xjda5rjhq1xrnk7p";
+"bookcover.doc-3.5"="1gppgwjs303i6f0zl23xa35w6ycfif8f081azbmak19f3vafzqbd";
+"bookcover.source-3.5"="1xfn03hcrkidd4nbki6qqvk29gdh1kkd1idjqsdwfx7bb3ydgi7m";
 "bookest-1.1"="1n6n322vb157fz11djcnfz07ykarin7n8mdr7v04wlsj2gfvv5hi";
 "bookest.doc-1.1"="1n94n8pv5s0w12w7yiws7sv8vwg06r245b7lka3g1j74p3xyc5g0";
 "booklet-0.7b"="093kp4ryfp8q1hg8ddmvaxxsw75wplgz4rrmmwmzcj3hcgyynr1f";
@@ -3525,8 +3545,8 @@
 "cals-2.4.2"="03100nskddcxi7z48iwm7vnwlrdkxj7xh8wgbb8bx3vfcrz731jr";
 "cals.doc-2.4.2"="08y10p0i7y0jndknkwrwdws6ja78sz1qf8vxvhhhcpivxc7a5gl5";
 "cals.source-2.4.2"="19sh899dbk4z728h9v72xrf54cij8jhnb4k4a035xfb7ijc0jcrq";
-"calxxxx-yyyy-20.22a"="02x5vg0zfz31841x9cd4zgkb3zqrivcyw33g5k1b8hircziaarqs";
-"calxxxx-yyyy.doc-20.22a"="1zxn7gb39zas9jj8pnw9n569nr2li00wssk6h19cczm8mqvl0sdc";
+"calxxxx-yyyy-20.23a"="143kpv77pwg9pib467zn2716fg0nkpsg0pfd6s30012209pinbrj";
+"calxxxx-yyyy.doc-20.23a"="1dm56748fx3xff62pj8vv8lk47cqp5hjh2q14x2imypikhvb89rx";
 "cancel-2.2"="18bkqkdf888nd6j187kd39g0vgfhfh118bky8r5wwzy2aq843061";
 "cancel.doc-2.2"="1x6dhr2xyx66i8qwk98li3vp40rlalfrf5lk8ah4gq03ndhmygfk";
 "canoniclayout-1.0"="0x9r0xjdv3vfbm68w0cydnjgfiaydlyg71cil2l3rf1p4awk1kkp";
@@ -3594,8 +3614,8 @@
 "changebar.source-3.6d"="05vl3j1ks7n727qiz9wli3x33hgv9sgk1qbqvdqj1fgv3k1ag02x";
 "changelayout-1.0"="08bapli8zvv8p15bv3sj7l646fagzbj44dbq81apb8lhqanvlf0i";
 "changelayout.doc-1.0"="1s304gpjg30kpygvg4r8r2j4bk9fg8vlb331lypd3dfd6slphm60";
-"changelog-2.4.0"="04djmbwcl4llwry38km6qcxz0akwx8y7smvpz0bp7fnvcc8knxnx";
-"changelog.doc-2.4.0"="12yfrxiiramv0d2l0fyy7m38f0llmlivbfarl6xr18ncbxr0g0qf";
+"changelog-2.5.0"="0zd7i9kh2rybh0d3zv7pxkjk3iddm03vkizpdxyy3sjblqa2kz3g";
+"changelog.doc-2.5.0"="1m65zxnlazb9jdqp4y0n4lzj6mcyhv4ng7nfg63zj7zpsx0kcvgv";
 "changepage-1.0c"="070rd3drhaaw6z386v9z5rs7dmf15ci05lmlxsaay3s1ry1425bc";
 "changepage.doc-1.0c"="1149csn0iphkxj7p1bhkza8v6xj39k49rylp84d1ilckf1q4imng";
 "changepage.source-1.0c"="1slacsdfrjyy7hmhj4ssjkh0ln846b2ds11g446hmdvckyvz4363";
@@ -3681,8 +3701,8 @@
 "codebox.doc-1.0.4"="1pj5qnzfa7725v6cixkznrs7yybc2v0ik9q2pxa4d25rpfxap524";
 "codedoc-0.3"="1zz70vp8ssblnacrqdsq9nwvf1lw69mlk9d94cfjc818szcgi9v6";
 "codedoc.doc-0.3"="1f3i3vw1cmdvgp05xckr748kzbairhvdpfvr844y7wnmxzr4rfzg";
-"codehigh-2022E"="0whwkiq56x5rr29w5m65l5fmwk6y3jd9xpdfj6m7ylq9ap3nj4cz";
-"codehigh.doc-2022E"="15rcw3a93id6ampyb592i6rar958j458ywa8640yazna8ba18icn";
+"codehigh-2023A"="0nls47d5md0b46xi1nxydzwf79xrqh6ijj06h5n5mb4sw7w5qylp";
+"codehigh.doc-2023A"="08d7vyn1s4gqhnbz7f935n96ay9hk7k41w8msg8j9s937qh7fb64";
 "codepage-51502"="0kxf5zr3mhn5pd8pzmzslgnngk8gms27ax6cqn1z0n35zvh0p17h";
 "codepage.doc-51502"="1sd01q8lzrzgk9v1dyhf4m7a4fspjll3w8wwkbzp7gc693xg3lm6";
 "codepage.source-51502"="0b38lcswx2x1jl6ydmvs6yr1y0kiv6gdicnbrx5qs8xhwd93bcag";
@@ -3732,6 +3752,8 @@
 "fancyref-0.9c"="1ns9b3viqg45w3pmnh69fdrjc9p39pfnqwwsfl9nnx04pf8b0p8i";
 "fancyref.doc-0.9c"="07g7ynr4qjv5l8v71ymbhx3vf000g5qq63c4i8q0iq35gird9yac";
 "fancyref.source-0.9c"="1p5xd5a6lwv71hp1sx490qwqbjn720gc1fpkk2inmmq6h6vwgpdy";
+"fancyvrb-4.5a"="02qs6rkv6avvrv3b023k1rhl11f0900dszs3p30l605nghg6ydxf";
+"fancyvrb.doc-4.5a"="0mxwsp5c02faxf4crvm3iibwyv1396lxccn749q9wyf9k5wqlap8";
 "float-1.3d"="08jb0v6lsyff09hid3whah0i0fk5znsik5rigl4l7vflnvc6km8y";
 "float.doc-1.3d"="0pqj9qq5yprg0xfxga8ck1s2wyjzz4ymhpqgzhzbxbdslh475vg4";
 "float.source-1.3d"="0774d7gmb8c7fc3f8yzarlx1m8nld1vg4gpd3dfyw5b39ra4aq4h";
@@ -3750,20 +3772,20 @@
 "footmisc-6.0d"="0qw5sp4pad4asjq0n2hp6p6nzyn6mcc9c1w4l33rjsj8x3a72caa";
 "footmisc.doc-6.0d"="0jgyya86vfbh78vnb4ypkf9p1qfm26964dxb1g43cblijzxi9d6f";
 "footmisc.source-6.0d"="1glgl68nfaz867c7paia3c2mgqpy1kslyd4gph2zriq0mbzksp0n";
-"l3experimental-63089"="0nwfdfgaf0wg07wi3lync4afgdpqi7f70vds87mbkqkgn943m2q2";
-"l3experimental.doc-63089"="0cbsgfxxafwwlihl5kp1jrkl9snrgpqhbf5ba0zm1bl6a0mxn94c";
-"l3experimental.source-63089"="0nva74f4hcbp4y41yh5sfkaci04b2hi2v2d2x9y41vnb04naad7q";
+"l3experimental-65621"="1fza6d4k54dp0y71avcx3m1gvhprxxljckibamis4ma9pqrahylx";
+"l3experimental.doc-65621"="11lrxpghqf4776s2274zbrwp84pdyscxqvg01bmm7rch39afw9p2";
+"l3experimental.source-65621"="1xbi11fs5kr1k0zci1pb66dbzlpr4zlrz48zry3qsrg7yzsvlyd6";
 "latexbug-1.0n"="1rv43swr1nqnf50y7rxbqw2w6402rlksddk5prcl7618vs4yiag0";
 "latexbug.doc-1.0n"="1sdmjzl81f0hkmj9k0m57fiw7529ym3430k5sd1q6sbz096wwdph";
 "latexbug.source-1.0n"="0a9012p4c07g15ysgf2hfqzcll6h5riajylxga326p65k2zv062m";
-"lineno-5.0"="1hngk8yp43p5cy4432rg7yb3vq2qhig2x23whjjdnjrcisfiz8ml";
-"lineno.doc-5.0"="1yfx4a1by42w567cn742hfb6c7gf0zhcf2vlsanxigg7r2f5mjp5";
-"listings-1.8d"="1xlqk347698pq8w7rqgdd9fq39a279hjixcnxz93nzhcp9v93jzi";
-"listings.doc-1.8d"="1c3b3mhbaz5nk58wb569b6r9hwjb65wyjf3r70hrn6z2y06rq9lw";
-"listings.source-1.8d"="1q7k6dmma7l3vraic7k6gycb1jbpfzy09njj4g5pjc7j89qfk3sj";
-"lwarp-0.909"="13gkhjdcm0kvrh6903dxr6f9q8h7jbg7v9mwv6ldw6mvphwgkcgq";
-"lwarp.doc-0.909"="0sswaqxfc2lgzqpyjgan71qs1p7siq9zrmmxsiwff6l520hwp42c";
-"lwarp.source-0.909"="0cvga9504jc4qk1kg8h72awk3jmhm9hx2gmqj3mpijdggsbk5q5l";
+"lineno-5.1"="1mffkb1ji1dgj7li9fgvvdy4i3kr4sh1gvyanmkqk2rd0lcjy2yk";
+"lineno.doc-5.1"="1nkcqz4i4bcx1id0545rpyiqnhx4dzm6vx1qnwjzxslwcv8fa1ay";
+"listings-1.9"="123agzj0xmm4gprrdyj5223129qd360z5vw57s93d187hp29byrh";
+"listings.doc-1.9"="1r3yl3z8hpdqsin2xld6xs6ywdk0k7ykc62l68bbdasc1bw22ccm";
+"listings.source-1.9"="1wffwc76c8xvc95yg72j7z1iqzij8jzq2yz5mqc70mivl0amqcip";
+"lwarp-0.911"="02aw4d9l0xq5ybx3iwwvb7iq3n2n754n09wjvnqj8flq1mw4wiwn";
+"lwarp.doc-0.911"="1m49iccc1ma0rllw11vxak9x3kn8s76vp158ai280pmfspbqh6mc";
+"lwarp.source-0.911"="046sd3l1kma119ams6ry4p95r7z556v8yyqjvacvc7z688jsj30a";
 "mathspec-0.2b"="0gspy6kjnx7bs5dxap8ym8s0k9i8hczi6s4s97y7av7vc8j1fb5w";
 "mathspec.doc-0.2b"="07mmfcd0fvhrhafsfk4sb4dvs5x8x1rjk1a2xl20kwpfpp8l1rb6";
 "mathtools-1.29"="0nxhvj69zj71hpx1f5y56asm8cgm6bmb0wnrbdq33xfhv1b6aw60";
@@ -3775,39 +3797,42 @@
 "metalogo-0.12"="03crm3sswv7mz5akghqvkq1zpiy9jdpy32ivwwmf14sfrrri2cz7";
 "metalogo.doc-0.12"="08vgbmjhynb4ramaj68i27hpgijg51j80lm0qf1jrfpapz7lrzij";
 "metalogo.source-0.12"="1ak8qbcbqgirljfwhq7ylxk1w2frxfkjvadjq00cclj007idr3x8";
-"microtype-3.0f"="080q79ca30h41an7ig1xnrvs5lq6c36ikffg99jafrmj918hp364";
-"microtype.doc-3.0f"="0qmlllg2q3x63f9y5fr1y5iwpx3c81v8lbckp0y9hd7iym8hnj2r";
-"microtype.source-3.0f"="1p61y9bkxq3gckc9ysx7a29xm0x8idzxsazj5awfw5bx9n9sg3s6";
+"microtype-3.1a"="0hwwx5qzp55pvnb1c2h0ia8wp7gm4pniagb2wvg6dz5l4hja3fj5";
+"microtype.doc-3.1a"="1bqr4ggi96wbmrd75mfnymkplnbwscizmf7kkfhd29jz5hl5x2x8";
+"microtype.source-3.1a"="17gdym7f8851w06y0h4hdz7s9967i6x9awhqgw0i4fi0fafmyiz0";
 "newfloat-1.1l"="01l6gl8hjml0q2kf3wzdnypr96ib3dryspgqd6hhfg33h26dji5d";
 "newfloat.doc-1.1l"="0lagdv0hd7kjxf221a2vzpgskvfr2h2wcdps0l90ycr48g9s1j68";
 "newfloat.source-1.1l"="151qai42ssn1ngn4fqi7098hmfb9v858bkbxh0qrszawhrz4w5q4";
-"ntgclass-2.1e"="0hi8qb8xqxkpy2xa3ggc8fbbraar7xxwi3n9zy4zmjwq9p9r97bn";
-"ntgclass.doc-2.1e"="1dk7y25pvmavvwaxnvsf0wqm7vwz5wqmqd1gb7zbklmwszd2pbm9";
-"ntgclass.source-2.1e"="1pzp4daznyj38karq0vj8a1jpja0jbdsdyr1136nzi7bh3q92i0c";
+"ntgclass-2.1f"="0dlm313f7m0cj0fsqv884xi16kq9imrkkiaxg8lszy8idp9vvmhf";
+"ntgclass.doc-2.1f"="1c8kc3q9xqxl28xdyzlnlzwdfixbfra6vi32p6iy353mdhvhx2r5";
+"ntgclass.source-2.1f"="0fhs6v9zkfxfxp2g17h4cxa4k9dm4dfgk2dl76w61ad41wd629d8";
 "parskip-2.0h"="037404fa7flsznyidn6vpp5r5rw6wpzrg6sc8zppj9hqciqlbd52";
 "parskip.doc-2.0h"="1pw9mgg04lxmrin7vplqyfhxa2bb73yf7qj8l3bwc9yiw78v5h4m";
 "parskip.source-2.0h"="1ysz2jfdi49qjyrfkx5k1vjcykk4774i581d7kynw7q9r25lyq9g";
+"pdfcolfoot-1.4"="0i99z6niw3ryb7akzxxwhh0nkrajlfig6a2ixwsr8k5l4ga037cs";
+"pdfcolfoot.doc-1.4"="06y6bcm8kfvfkrnvwn0s14hvp6ad3785fs9cc70w85v2lnk5qfm7";
+"pdfcolfoot.source-1.4"="0ws6hwnfybvl0g7kpb7qj0akpnwsq9s5ddq27l9c05564lmgxcph";
 "pdflscape-0.13"="07bmajz9ggwkq7pz49qipy3nmaqd6ypwhpxilsj9qw4bk5asxclw";
 "pdflscape.doc-0.13"="0s7bv2v7hcs90fvgk12ff3q89nhxp0v8zjv38wc5inhvhk77jvbd";
 "pdflscape.source-0.13"="1cx870l68mch1hg0va4g3vdjw4d508bw1kw9f3x9b4wfi7dqfwrh";
-"pdfmanagement-testphase-0.95t"="04xldky22yp1mzhzn6scm3y337fnk2nd7sbhq2k9b33g1cj83ww5";
-"pdfmanagement-testphase.doc-0.95t"="100vjmpl8pvcl834q6zbfmdil2xf24vx63m795fiw2sfbkimg42n";
-"pdfmanagement-testphase.source-0.95t"="1bzr3w9a3chw2x1m0b0b4nycwimpkjvj8rd34y9kv4gr2v2n4mzw";
+"pdfmanagement-testphase-0.95x"="18sk3gpxxl7kcn3vxfw8qmbm12ayqpr76iyhz370clhg2pm04day";
+"pdfmanagement-testphase.doc-0.95x"="0nxag3hcjvdhmdc7vzqpgng71yk4kwjqgm643gr2j9bsx3zdysxl";
+"pdfmanagement-testphase.source-0.95x"="0zg5hcnpy62spz27di14iv8gc97q0p1vkf6b1zrwb45na949nwz4";
 "pdfpages-0.5x"="1ymrq5yhhjp5fg4sbbksyc44lqaz3jwx7lj0360xk14s6h53slyy";
 "pdfpages.doc-0.5x"="1fn5sc8k4pfzsarq7j51iamyl3da7r1qv8jmr8mjafvrvzk6xbp0";
 "pdfpages.source-0.5x"="10gilsm5b0qmfmacm2plhm1ivrvdnw0ikgmxapwdqi03qvizgyd2";
-"polyglossia-1.59"="0dbrvincvx7iw2zqfkaf2k1n0r4q1rmy11gmf83qny7rizfq2xrm";
-"polyglossia.doc-1.59"="1crwjdh3k1v1mivj812p0w1cxlk1bxl72xwi0gpks28xg8z2b5ix";
-"polyglossia.source-1.59"="0zja77q0kn7kczbvrlbwp7z1rd59kq77mvrky4qblj01a25s3zxj";
+"polyglossia-1.60"="11spw6qjic3wv6zycxjmrdpz23xj365kw26r2gmr3vxj50sq88id";
+"polyglossia.doc-1.60"="1fg0fv6fi5iivyrcmxw9b3xlw9v4ph5bffl264vm3zs1387iqb62";
+"polyglossia.source-1.60"="0jhvg7qp1sv7lqbmz2l2wiia3aar1srw2bammb7zl6s3sv6g0vpn";
 "makecmds-15878"="1z4m1kg7zy5q8l0a5d0fr7jl46wrw0rbwkxq1d0lm2s13xdn71dm";
 "makecmds.doc-15878"="1hqwvilvx61w47schnchlbgrj5snlp0lahsq5a1g2c1grmzpirnc";
 "makecmds.source-15878"="17c66isk18ch47syhsihj96yzi1jpr84946gck7r8ivpmk3cmmza";
 "psfrag-3.04"="0m5dlnjf7gmikg4nyxzzfz999gphkg41qm2sksq9ly2rspbdcs8s";
 "psfrag.doc-3.04"="135c7sr4i8617vwr4nnz8vcy5qv8icr0r0cmqsj6r1hpkm67zqhk";
 "psfrag.source-3.04"="0d68rzpxax5n0da8sg1nh50li7rc0m7syz0kvpsgzqbdp1clbcjn";
-"ragged2e-3.2"="16225yha8309k9v97iw6lgrxmgzbzffygcvjl8r0nbr6l4pd53yh";
-"ragged2e.doc-3.2"="0mcz8c6fk0yn8x1x1l23p2a5aiiav615jvqlxfayxkvqkshph6z5";
-"ragged2e.source-3.2"="1y9xkbak525wyab7m76acbph8zpig4f4f76hnh955s70wzb1sll5";
+"ragged2e-3.4"="113lp0rnx5kh32yd4i19zpbb21ngi5fvbhgy5mkpgpk2n4mjszbn";
+"ragged2e.doc-3.4"="0nrfzfv3fd9m6alhhvqs2lwryah65pj8h1cvh674yhqlqf896pbw";
+"ragged2e.source-3.4"="0ikha3pdilvijjnamk91dwqxvh4fy6l31iq7i0gkccmzm908jl56";
 "rcs-15878"="1kri1q5b36d00k1pmpkpa0dmbv7qqprycxzmlmqvp7fx82s5awwk";
 "rcs.doc-15878"="1x6m7v28p3lslral4wk595clg3kjf2nwk2mi1sva2fl56mny7mzx";
 "rcs.source-15878"="176fvqs3r8wysrqlqwjdnm0xqgqdyjq7wfwnfb2iv3c3rmpr7ab0";
@@ -3898,12 +3923,12 @@
 "celtic-1.1"="1vg75zj6p9bhp9qg4c7nvgncs7iiki5jizx27ld26yni9m2cd0sb";
 "celtic.doc-1.1"="1llinw15fnpjshks9yzlmbi04pkn6s87jfwgpnh5vb9hfws1ira5";
 "celtic.source-1.1"="1w3wm5ci6kzpnvlaxbpqndclhxlbs4xiwq90iig98wf97b85lfi9";
-"chemfig-1.6c"="1lblhirmnjid3jg04clapyrwj12f8l070p1jr62qm06pjy21brmn";
-"chemfig.doc-1.6c"="11aihjmfvwzdx3rik4dmbdyx5sisd0dqn02kwprwdgg8b5y4w1rl";
-"circuit-macros-10.1"="07cbpxyawy44ds1vy6kpp9cxgv2mlh78i1wakzw30q0bj4rksw7b";
-"circuit-macros.doc-10.1"="1n8kyj9c4rcjbdsnsf10xp7431f675pplpv13ivg2g8kaxk0z5b6";
-"circuitikz-1.6.0"="0p1zq0h6w5slk6fpsrl01k4szgr2xarsy5lk1g5r62i521p9k16z";
-"circuitikz.doc-1.6.0"="1g8sng0krx3p32lyappv80dn8gzpic6mjlrybxz5di2hgapkpnds";
+"chemfig-1.6d"="1hc7yqfrlb145r46j28jwiwdq7dp67i1hqnkpadja7c4fb9w9nqg";
+"chemfig.doc-1.6d"="11sd8l6k0ba33gjm4sqqcrzr46pnfawc4pzj9yj5l5kmkhm12in0";
+"circuit-macros-10.2"="07cbpxyawy44ds1vy6kpp9cxgv2mlh78i1wakzw30q0bj4rksw7b";
+"circuit-macros.doc-10.2"="0dc3z8lfjnwxphrq2irpv5476wxpja0cmr77fadx0hvkxqj475sr";
+"circuitikz-1.6.1"="0yq3wa9x8g8s19wpqb40h3q4zf6idw7r7fakp5a071jx1zaygw9l";
+"circuitikz.doc-1.6.1"="0q17cbmayyjbnhwkg4pmhqmlbm1k6hzmlp258q1f7j0mx04fz2q7";
 "coffeestains-0.5.1"="1sfxi8zimkp76nc3fg7r3qyf628sh9p8rh2b8l0wq5aga20951n5";
 "coffeestains.doc-0.5.1"="097c2xgrgy95w7v5xb9lkgih65ji5jlxzdm6szdyqnf659bmibm6";
 "combinedgraphics-0.2.2"="12569y2i0q2lbmnwlwjfc02x0drpa3vcy58wbch4j2xzv1cih69s";
@@ -3912,9 +3937,9 @@
 "curve-1.16"="1h1mfx67i3d2jr6l8qlfys9m6bqzn4x1wb74cjbrkdclyqn3lmd7";
 "curve.doc-1.16"="1jv8f3izp9pvzh5qs3sh33c95v0z3wn88f278qxi0f1bc1k8990m";
 "curve.source-1.16"="0l9cq8aji7z8qh0p45af8rnz0iw9m1hgc118482x699iqrvg96y2";
-"curve2e-2.2.15"="1kxd01qfcj2ii7qics40g78xwb0d1scdlkc8a2mx2zsqyhnwgs12";
-"curve2e.doc-2.2.15"="1y75vjq25yj5pzddxgakdj8b18bq0rykfsv4j724aicmpfs8z6dl";
-"curve2e.source-2.2.15"="0dk1iksqd5chp9b221zq54n7flalwr91f6pgb2k5amwfy6i98qh3";
+"curve2e-2.2.22"="1yyvpl3kdrr7xxvv5bn5x46s0qpicnw071nqn9sgfpjgq8i7gsvp";
+"curve2e.doc-2.2.22"="1vgk30xd7lvdflwsrp48zpkqqifg62pymc5bhnxpbq3l6r49zvg8";
+"curve2e.source-2.2.22"="07b9qrs3r3s1x78jpgixibxbhmakzr8kci0rqfk7qgcq26ys42bh";
 "curves-1.55"="150iv654y4x5lb3njd7dfjf8i0axlpf7zz6gx4wqgq06kddjr7w7";
 "curves.doc-1.55"="1ddgy7gzw2871qsh99m0k90lgh8kf5883skcqxww0bl7b335qc8y";
 "curves.source-1.55"="1r9c0rpi7q6ishzaaw7qnil0lzqgdvc0ybmr3j083af17snkq0v6";
@@ -3950,8 +3975,8 @@
 "ellipse.source-1.0"="0143mncfyss0cyzq0aim8lvzxhq5q8a0cpsh92llqjl19s30d3fd";
 "endofproofwd-55643"="1dz3kfsjalq9419l9sdjws5bjisy8pmy93my8m8acdf3d4ryr11x";
 "endofproofwd.doc-55643"="1m5wq64v14cz4i29smnw742ak6sraxq9rzwcqkg40vgzsss73lxc";
-"epspdf-0.6.5"="0c6p7gqzkqdyii0jh11pvkzqjlvb7c82rpm4qh9mz8l7b9xfrzzd";
-"epspdf.doc-0.6.5"="0hdr1pvpdyxrs01438azgbj5sbysi3bxbiisdrqrlbsxvwijp7wr";
+"epspdf-0.6.5.1"="1yjga00imbdfjqdqnfl9k4dhyacqq7c3i814pn5a5fz5bbyv66qm";
+"epspdf.doc-0.6.5.1"="038fw9ycr0wpaq2z2cwid80lizl6vvj5q0i4bnx4lgxkfa82i92z";
 "epspdfconversion-0.61"="0arf6kmziarh1sgani0bnp2jm8psxj937hrkaslfj8fm2s46gcmz";
 "epspdfconversion.doc-0.61"="1xpj5lymdh9w2ary36sx66ib0hwbjfbbhhcipdq4nkikq7a8zmpg";
 "esk-1.0"="007jcqvxp41h0ky25mgn2k3qdvyiyr3vj9mn6ml1zsvy1ymxq4dj";
@@ -3989,11 +4014,8 @@
 "inlinedef-1.0"="0k6190v8lv2l96qpmh3pkblhwn6camcq83w75rz09517bnysm4yz";
 "inlinedef.doc-1.0"="0gz9m7fwcdxs6q5a33v7n32x5jr4hbxsy4j2shwv39j1j2amr1vl";
 "inlinedef.source-1.0"="007648wrb4ar04g0851yw663cvlmdyifidp854y87yzh536hfwi1";
-"pgfopts-2.1a"="0g7a22d0ppdzcazrif8yjic19lvz143p6vwflz16p6zh88yhcdm7";
-"pgfopts.doc-2.1a"="17q1mlaql7f510pz86n64sm4m97nii72jghf75qs5yr9h9lqrq6v";
-"pgfopts.source-2.1a"="1mz5nzbhmbgzjkpkglz2w3s9s8kzrigg3wrd91dmdhjsm4d4kczi";
-"genealogytree-2.2.0"="1jpjzsmhm0pc1sd186h4nxm8hbmdv4yhlply6aa5q39kj0c7a789";
-"genealogytree.doc-2.2.0"="1psanx3sddk1kdb1zdg83ab48r8zq3dg66y717n4qmprdn2w1xki";
+"genealogytree-2.3.0"="0947fmawi8xzmv9c4k4355fkgjivkkjrjglklk6ar7jky2xsg62b";
+"genealogytree.doc-2.3.0"="0wvqkdhk1lmvk79qla34l14hvcjmw318vddz1dhl21g0cri7fl60";
 "getmap-1.11"="158fwravmqda1zwzw6qzvq7lrd1xsjm9cdw3qgif2jjq6zsrnjqd";
 "getmap.doc-1.11"="0s9djdlchnp6w7wr7w2b4jj6iq3v6f8r1ri5kbp5q3hfshjgah22";
 "gincltex-0.3"="0w1pk80idhws2yva3zvlbnwy2xbrqa0dckhwj8d9sdqxn5j2va4a";
@@ -4028,8 +4050,8 @@
 "hobby-1.8"="02p8xxqxkq486dxz2fy3vghm9qnc13pznz84w3grn1b1cys1sbmv";
 "hobby.doc-1.8"="08q2nn1av4wcqnlacjjh6bgbx57qrc9vigb695x5zrrydcqdac0g";
 "hobby.source-1.8"="1pbzsba0z0i3zf9np60fjx0wvpvimslal8xq15pf5p9lrjq946r5";
-"hvfloat-2.44"="0q2fdfm3amnbzdg519y0x9b0ij7718rrn4fy4ncsg1zxdfvsarvg";
-"hvfloat.doc-2.44"="0kf34xcxrd1fw2mpxy7jmbrpmcncglkvpg3alnwa60hnqixpnnsi";
+"hvfloat-2.45"="05sgac27qnrp9g22xnmcn9j8d50f515b887ym1kv59syyd8hrwmi";
+"hvfloat.doc-2.45"="0dpjydbissndmh93lk956irjlyygmbw0lv4db12bydgi0njq9dzm";
 "istgame-2.1"="0ym2l6nf8prgwg6sqfjlr6mmhv53q3aksfznvgy7ypiggg18rq5m";
 "istgame.doc-2.1"="0ggkbzc4xnmx5h18af4h7zhzp1kcgfiqdl28qhrhhcm1d6vc1x2z";
 "kblocks-2.0"="001mn33pf532iwp3d8likhbc5a4nsgq72dirbilbdgaxqxndmx12";
@@ -4056,9 +4078,9 @@
 "lroundrect.source-1.0"="1sh8ypnfq4pwaqd934vdh77svs9d3a4114vghg6m4sz5fxh11i39";
 "luamesh-0.7"="09ldwjfa0dfhgqv2clyqzd8nzq596h9fz72b1jh7vqjwkn5774y7";
 "luamesh.doc-0.7"="0xnk2mcw24v6002v523m7amj6qc4w3h655l1ss4rpwvv6virp3kj";
-"luasseq-37877"="0z0p4a0cr7id3i3wfbg0r7p20d742980k7mipiawqs8a3b18x0g8";
-"luasseq.doc-37877"="07chcsawrnayyskhf5x4bm5mdz7c71prh4176gg18ym9jf7kpvjp";
-"luasseq.source-37877"="0jdq2nrsc1svjcbx34r6n38zl1a8nf74wb9hf9nr89a2mdl3aj71";
+"luasseq-65511"="1cxp3x3d346k7j6kh1bch4d83xb5ihb6h9jv8l98jcg0fp6zvy74";
+"luasseq.doc-65511"="1pxx09mvdn6pymsv7959bs5xm4568nzx78g8ikyj6hm00zqphaph";
+"luasseq.source-65511"="0h5zqaz5cvqgy5nghvazncwdxg6cmbv6sjlvp6f6mkgy2plpvbxg";
 "maker-1.0"="1fymg22y0w2kghmqh5pgxkrncdcbbmhhxappc72g5q337hcky0xa";
 "maker.doc-1.0"="1yz72c1ghqjs06nagngpp2q62gh67c3klwm73bcbc090vdfkw7mf";
 "makeshape-2.1"="1fy1ccz3707f8wxilh95k8sc3a93gl93qcpvpxl833mbkamkx3kj";
@@ -4085,6 +4107,8 @@
 "nndraw.source-1.0"="1y29n03z9gxwy0gjzm6b5da0cqwg0bzm26cxlrz9551qk8nis9sb";
 "numericplots-2.0.2"="1c127aalh7jcx9rxhsyhi2k1qdz6fg8d6qj0kvf564s9c0npgar6";
 "numericplots.doc-2.0.2"="045z6l4dmn3bzfsn7gi6bdhwvp3cbf9nj8fcs6q07vi4by71bk98";
+"outilsgeomtikz-0.1.1"="18w3mzhrl4xwy6ni5546arjcgdpjgqw9vqvpsmbixszzz85pvnag";
+"outilsgeomtikz.doc-0.1.1"="1wjlgldyjkgaixdi4nv06dbldj6v4nd23fh2sj1cf93y1lpy9zdz";
 "pb-diagram-5.0"="07l8172hqnv9dq6qg1ipbjjbmkpv7s589gci6q82zb8a0y6kyqvy";
 "pb-diagram.doc-5.0"="05h5i0b1y03j5y0nf8iv8hb5qnq1lh5a55nn8xggx2rknnq0d1b9";
 "penrose-1.4"="0swjzbd10xvab086m7zjbxgq0jjzrxds534rsv6nkmsm3zr9qdfg";
@@ -4095,19 +4119,16 @@
 "pgf-blur-1.02"="1w9p9l2nw9bf0rhn70y70h6lqqqx3qravgarmmz1z86ara26k49w";
 "pgf-blur.doc-1.02"="0fq1w85wqqrml9jzi7s2n888165pg4ds8ysvgh56kbkd2zzahnw3";
 "pgf-blur.source-1.02"="1pc8x23l6qcq356s843si16yc6yfrvdxg7v821271dndkg7d2vvh";
-"pgf-cmykshadings-1.2"="1v9cpsh206r45hjn53hvxixi3kh3l094xgj5yq9vqsviiprassd2";
-"pgf-cmykshadings.doc-1.2"="07p9glm33cz2dk4891r338z45y1wqbfbmmdk51if8jaq52dp9w18";
-"pgf-cmykshadings.source-1.2"="1fpa9iqc6rz6j9qja43yfhrcahgg21ij3jscbpsvwq5iy7j96n46";
 "pgf-interference-0.1"="1l3gryb96av9zwxn4naxz5vy0y2245fv5zlm1dg31p88lflh2s5d";
 "pgf-interference.doc-0.1"="09vvbnmcv8d6y75hxdln9gqspm35fada4g66w6z4kv1bg7z3vrlj";
-"pgf-periodictable-1.0.1"="00g7zi90ljhnal14kwxw65n79mhx780jyhsqkkqd8byrd8vcv64r";
-"pgf-periodictable.doc-1.0.1"="1n6wg9q52chq0slx16k714m5j00z4lrx7p80whvp2ghx3f6brmls";
+"pgf-periodictable-2.0.0"="1vshq0b212s9syd6z0d4w1q2y05142h4c002d7cdrzkcqqjp3zsb";
+"pgf-periodictable.doc-2.0.0"="07wi1hbwky985rki58wzkqp0h6acimg3x30ls4vcpcscm1xggvbi";
 "pgf-pie-0.7"="0wr3r2997p8as08d172sr2hxspmi5bgsgvgwvkm27hg6kpi74zsi";
 "pgf-pie.doc-0.7"="13xvia0zbgsrsy50rp3fr07hb1zfj7jfs95ai6cvy9522cw1zb0a";
 "pgf-soroban-1.1"="1y1c70a9v9zy8i58j19g5c8nc7f00zcdrdjmdcbm19r8vi2r09fr";
 "pgf-soroban.doc-1.1"="1r1rgd313fijmjqy468j25d55p76vxmcrgkp968riknych16y1pl";
-"pgf-spectra-2.1.2"="1yg045mmvla99p9ccgnrkgrch5jmxhmj2fi7m92vhn8z6zi1mxbq";
-"pgf-spectra.doc-2.1.2"="15c5kq0gi5py50i2qbs9fpcqfzxg0f6zhydcqdqvvjc28f250k57";
+"pgf-spectra-2.2.0"="03s9i804yn01m7xqql4flps0h3xy1dhar5a7p7l822j1n5kdn0qp";
+"pgf-spectra.doc-2.2.0"="0dh2lmq2zwb58dwmrnshkh1amnk6l6n8ggjkgmliv4lvs09j7ri3";
 "pgf-umlcd-0.3"="1qsnmhb0jdn5qnq81zx7gr1a1l93a3f2z12lfz9i2c0cqbjnpxl5";
 "pgf-umlcd.doc-0.3"="1v2p1xq7y5a0mpd067ragvnw21hsvl9irwaszc6sdb9sqgqf2qh6";
 "pgf-umlsd-0.7"="0rs0iskzhmlgydk4i9idql66sk9dyiqrglp429b2sjaw0mbjyxvz";
@@ -4137,8 +4158,10 @@
 "pictex2-15878"="1qqf08yharknq6csk01jdff62mg011bryqlq5mbmjwqwh7wxs0wy";
 "pinlabel-1.2"="0dlg15b6cjykp481xn03kg3p1zqwccwnm2la710xdwf87p1k4bp6";
 "pinlabel.doc-1.2"="0jw94fl3awpyla0flmw9f72j3ssrqh1scfrbx34mxlbmnl4z3pfc";
-"pixelart-1.0.0"="121mal5sjxkqhnv42xbwjd6nac639vckmj1j859y54n38jg257r8";
-"pixelart.doc-1.0.0"="0ssy94pvkrj7mnimjkzxr01k95icsgzg6pw22w7x4p0ng8bd7pl8";
+"pixelart-1.0.2"="04dj9zj2g4jhbsv7aknzvmvb1601da29m2v3h1h5qrywvk7qldqq";
+"pixelart.doc-1.0.2"="1gw05nrh65w3dq6yr68wrhgwxc2qkwwimjihds9chij0h593hjxv";
+"pixelarttikz-0.1.0"="1v46ll55jbngcvj4z9h8yc70ib2b0gy60m0civzzacf4mscbwkxw";
+"pixelarttikz.doc-0.1.0"="1mmv87csgzf8sfws795992pvqj8k94f56akiivylip2bllz3z15s";
 "pmgraph-1.0"="0mrvf2r4bv4qa9pzv90ardy5ncq2kgy3y89pgr1acsm5cspgryr5";
 "pmgraph.doc-1.0"="1pizlqyb0n20apwb6rvh6yfncyxnh6vfhnvc10il9j4894rii6mw";
 "postage-1.0"="10s3lcypskq2qmlyqcgldkg4i4a4qbbqn27v6cr6h3j4z93zir3x";
@@ -4156,9 +4179,9 @@
 "puyotikz.doc-1.0.1"="0wikdmv19kj62vc5bd0n2dl91cqg44lwlfs41nw808hnk96a02q3";
 "pxpgfmark-0.2"="0mkcc99fwi8n63fghw3mz2alhgpakc3hqyd40s2fpwisvh15rbbr";
 "pxpgfmark.doc-0.2"="16sapygswd6mr0pr04c86jzngw6gdf62bgv2xlrfzfpq7cnjafxb";
-"pxpic-1.3"="0mi08364dfwns4jvmlady09k0ib6r6a3g6bb7q30j6bdh09mxijz";
-"pxpic.doc-1.3"="07mf6sl6yjz2w5jxs0a7cp7f9kxr509gnj5c6q0cvxx9b3mxbq82";
-"pxpic.source-1.3"="010g2nrvlvx04grbc537cnnmd8wb2xy0s12civqqksk3xvd8jgdq";
+"pxpic-1.4"="022gnd0qd2qh24j7hsznfknjffbqds6j0n4gymzdkzaal6f8arly";
+"pxpic.doc-1.4"="1v0cwa8dnh32mzdgrhdbd7fj9a6jk4qgdp96p5m0zkzga640169p";
+"pxpic.source-1.4"="0xqziqgyaqc4vfp3idikr6lri31ihljd775rbx5f3vysa8zxldps";
 "qcircuit-2.6.0"="0vxsppwbmhh03mq9k3zb2hgl3628q4i51dz98j2s73z19693266a";
 "qcircuit.doc-2.6.0"="0571vlvpvmpjhjbbrd1ybzckhfy7ymralr017d09kf9p5gk0y677";
 "qrcode-1.51"="0vs5sg5hch0c2rxy27yiy1c543l2fnqinr8nvsyr288fja0pfrig";
@@ -4185,14 +4208,16 @@
 "rviewport.source-1.0"="1hijca49b0cvh3w8dqwng6wdssmg2fjjj7ga9ifmziznb2k4qng6";
 "sa-tikz-0.7a"="1hmxifd6zkq4scfwybz0j4za911r76v56pczgym1shx8lqadsjcx";
 "sa-tikz.doc-0.7a"="16yjn7zpfwsnwg0mpqzwqrlz6v2bf1gf7qd9hhj28kzp0qgdnka6";
+"sacsymb-65768"="0s1w8975ihjffw4mi44x91m8z5cmv7vpwvbai0n5sm9f21mwgvmq";
+"sacsymb.doc-65768"="14mnvqqpac30qwjld1vsa6ky1qni968a9kxlvi8nqhn2n12ng3bf";
 "schemabloc-1.5"="0bpcrivkkwqb6kg09rkwhqzmc101c64g1j5kicfp11r9ha1fbwc5";
 "schemabloc.doc-1.5"="0cvbwk285i01brrbpalclm0bfhxs4hnngrmn9aw42ywdi44ls624";
 "scratch-0.41"="1gd2yq2w2v7n3kfsid71qv2v5q1rvpfm49rsk4815pk4k16kxhg9";
 "scratch.doc-0.41"="0jhy08h2v2qf3p8dvh8mz5yqqrdzxnzlx1p50ng7xn88d9ihpqdb";
 "scratch3-0.19"="1in71jxpq9mljn7gvaslsnaji21d43yj6ckzim42fyd9zk48waz5";
 "scratch3.doc-0.19"="0yr18cyzdfrdz6vs0slbgzgp82gklrmxh34k1p135g7255gw8k0w";
-"scsnowman-1.2d"="0991pn476g7pqhj6njgyal21fn0k5ig3c0bwzv2vfric6v52nk9g";
-"scsnowman.doc-1.2d"="0kn1dhgq8qkfvfhg4ip2zsz6x3w31ax92nwypcg9scd1p5s125r7";
+"scsnowman-1.3c"="0xzi49kpfq3n37ryn8p0z8h86x1328az401pmv6iviyw3l4ri0ap";
+"scsnowman.doc-1.3c"="1h472n0ajfc9my3y6ggnihd0kjpiqhw65c7442aidmkwmxqi5lln";
 "setdeck-0.1"="149m9s33isx98vkl3498ywjy6f9q31jkw8schc16hxxm1z0jadnh";
 "setdeck.doc-0.1"="1rp64i0nrrxn7l2g6dlcmfvwbq3rg62h2ifxrzfp3k5ifnlkhpz1";
 "signchart-1.01"="1qg1r76v1llj68iqk5imp7f63774ky68sv64xa6j4w52jkkswn1v";
@@ -4208,8 +4233,8 @@
 "spath3-2.7"="1w91n8mq9bzf7fwfwwhpqn8j5w7plc4366a5pw56x2212n75pzh5";
 "spath3.doc-2.7"="1gy8n6rhxbqf64gh4xbjvy0dz484vm53ld3i6graly3qzdrwkhdq";
 "spath3.source-2.7"="1gy5p59n76lh0k961cysc3qpnnhppbcd7dmspjijca4fx2v3ckkl";
-"spectralsequences-1.3.2"="0jdpaq1hyvbgh6nc5d9355cfj7qya97326x0gq7ivhl8riarh6nz";
-"spectralsequences.doc-1.3.2"="07w30pf47mlr36z6wliz53ncj971fy7i6zi4d0q56h1yrkvcaymg";
+"spectralsequences-1.3.3"="06v0sb1xa28biv5ak6nprdcjzjdm0106rmlgm4if0jgmax0hiqpb";
+"spectralsequences.doc-1.3.3"="10limf15cp1bv933m45s3vdvxwzbpd5hard4lqff2x8ay1h0n1wd";
 "strands-1.1"="0i2k3b3kb570k5h7yag83gchk9ss971v8w1xqr2kb448f1yqkjr3";
 "strands.doc-1.1"="1clpm1i4a0477zbrixscwpg6qyli0y5vp61lblgn4iqgw0sndhlz";
 "strands.source-1.1"="0ckf9ipirn8m795df5za2qd5w96cxzxmmv1kcn0gl4aj3ypia6b9";
@@ -4260,8 +4285,8 @@
 "tikz-lake-fig.doc-1.0"="14yb48ylr5rv4n6ikqh704vvzxx8k68l8ww2vnv9lx5nl2nhybp7";
 "tikz-layers-0.9"="1ym859l9bzzd2rack9kcbckzbpmqxyglaa0jggpf3hlbsgzy33h6";
 "tikz-layers.doc-0.9"="1lnlfl8k4czvxz1vyfmnqk3k1arc7jpw7cbgrnh5xbanhvyjfzl0";
-"tikz-mirror-lens-1.0.0"="0aqijj9gr2f75ij9lzhr60959rd3f4svbx5142x191yjab0r8xyy";
-"tikz-mirror-lens.doc-1.0.0"="05aa8r6nvhgjnzda1nzx1qapn4wbhd0fdai47wcy8pdcj1gir1gp";
+"tikz-mirror-lens-1.0.2"="0lpb87kidq5lrl79hzjss78qy5hvag2maddvwkh8idnccr06awbi";
+"tikz-mirror-lens.doc-1.0.2"="0q4rp929pq600xi78yp0siagzxbrhx0cksqplr0h7xgn74yldrs3";
 "tikz-nef-0.1"="1i1l0rk7k6kc9vyx9jbpj25bkl77ml5ay1wvwff7a51rr8c87s99";
 "tikz-nef.doc-0.1"="1nsbycqfai72xbrzy6vz7lzpywdavbcyz7x3h1kfhby10s2h136k";
 "tikz-network-1.1"="1mf196mmkg097slc5aslpjlpih2kdq5wkmcpznsyhg7s20mf11yy";
@@ -4336,6 +4361,8 @@
 "tikzsymbols.source-4.12a"="19jcl91qn62hr4j6fcw6a6dc0qhpqqfpzqb1d8mwibn91dzad00z";
 "tikztosvg-0.3.0"="1gpkypg9j6iz0i0f77drk0p373x2vx8z5v6j9wsb3bggnf00f0yi";
 "tikztosvg.doc-0.3.0"="03f324pxiwyxgnsvw83wi8sh5ya633a1d6833kq2zl8z1f51vvfd";
+"tikzviolinplots-0.7.1"="12vmrv3hp4b3dflhn7c2gida4j7m6ldmw7j18kagvzw69wml3wsp";
+"tikzviolinplots.doc-0.7.1"="1f5nfffjm1473zzvfnmillkzy0d3b48lcnbqxclhlbrkxp8hiqq2";
 "tile-graphic-55325"="1l87pqfzgyr8apcs9f2gssf5rh1mvknkr5jim98zj5f93ca5mjpq";
 "tile-graphic.doc-55325"="0rq35cpk9l7rc30l1hk55r7x07f96ishr3dzdi7x4d50gv7675ah";
 "tile-graphic.source-55325"="01xqc704g5pqwmlfifzvv61nypgvnabxv6xw7ljgv9vvpyvfh0ni";
@@ -4348,8 +4375,8 @@
 "tkz-berge-2.0"="1c9kgzsagh5ww0zlwywpddwn3mx0wrf8yc627gjap3f7nyyvixn4";
 "tkz-berge.doc-2.0"="07bsfmh9qyn8q9z4brd4si1clmw7sn2vh2nr8idqnm1z1jqdnq40";
 "tkz-doc.doc-1.45c"="00awi2m8ak949r6bxzw1l69fx8gjcn4kmrr0q0yp8qghga40c6n3";
-"tkz-euclide-4.25c"="1gkgykh8xlq9rnpd9311f8dl1f2gifcgpib414csm842a34jy89l";
-"tkz-euclide.doc-4.25c"="010hvq95mrgj3l89p9bwnrb9fd6l1z88s2hb0q8q1mrnxcpa2xrq";
+"tkz-euclide-5.02c"="01yd3jrdlpynf6qjknrdi1nkrnzmzhwg07gq4abb2sp52l0d1xls";
+"tkz-euclide.doc-5.02c"="11kq025mid9phizfknq0yb49kykkzrvv4z3rpp93cfh3nc10qgbb";
 "tkz-fct-1.7c"="0hlcxnllmkhmxl5dwap1sb2jg822bz4glllqcv59dx7jqab5bv8k";
 "tkz-fct.doc-1.7c"="1bjkya9ssr6m4aw6rd64nniwffgz57ikz16ciba2x149f39pkcx3";
 "tkz-graph-2.0"="08kfjaniwrlw23vmz24yq9gbdks9fwcf0g4jyy98ikfqh9phhhs9";
@@ -4402,8 +4429,6 @@
 "xpicture-1.2a"="1z3hbmqlamcm9wgwan834hggks2b73s73h3r2pppp00a1sz3g343";
 "xpicture.doc-1.2a"="0ymdwdspdhrhgyxw7h7f8nal6h0kjw6i8zicmll5vj8vbmi44dv6";
 "xpicture.source-1.2a"="1yjvqrpp7a0d3nldqidqrk2xk1lp5vbla865l3lxw1xd5b08y40r";
-"xput-1.0.1"="1yk8aq0gn9ijg16w57hbjv7422zl7z84jcj6wvv6a469nl5fzzla";
-"xput.doc-1.0.1"="1rvcksc0lfqbbl4k88sznygwbws40m05iycg0v00mnh1rcsp3jah";
 "xypic-3.8.9"="1srvrq5biqczvyi7k0ilbray7ilzi6gsmvk3b2hmf5qmv8hk0cs1";
 "xypic.doc-3.8.9"="1js0fkhn60fnxgbgviri58c4q63a0ycq37r4hynxhyix17h51kff";
 "colophon-1.1"="0v8q22qxjrbc1mpsmfvdp13iwkjxp11cxs86h2b7b9rjs0cjxy6s";
@@ -4483,8 +4508,8 @@
 "cool-1.35"="1lakvsarqhicdcfx306xp94m4hsypdabr0fggakqv7adcwmd734j";
 "cool.doc-1.35"="00mqaavadqb2m2rf8j00z3dclflk191gd70qb1674pyd0a82z2qv";
 "cool.source-1.35"="12r4d15nzd3r1dxnwz7vzgmxgpl12gkq88hdzqwnbpan4y90p9zh";
-"coolfn-1.0.0"="0dj9xv1aqm5b91zlik1p5wjgnyb12asy3hk40hbx3w7yskj4n6rz";
-"coolfn.doc-1.0.0"="0swgm466yh7vc58pxd01pz77nfjx84s2v2bjq1a9wgr36lfki8xs";
+"coolfn-1.1.0"="0iwgh259hsxyp6353djl77cv30bxbsy59qaimbi8d6arr86i8lqs";
+"coolfn.doc-1.1.0"="0m2zwx99hfydc9ksbf26nbziv4v5c26yjg7i8xdr5j800b95iw59";
 "coollist-1.4"="1lvlji0qsa1bmr0737ngdkqdbvdxfj3cb7kg4lhy9brgjn229a0m";
 "coollist.doc-1.4"="11p2s7wjrjdpzpgyhn4jnx4d98nbmbccbn6q1b8g3gr8h4mqvdnx";
 "coollist.source-1.4"="026mczfnay1w8m8wspj4013bxd5xqis1ny6g6ifsyl1gb0665gjr";
@@ -4527,10 +4552,6 @@
 "cprotectinside.doc-0.0.0"="0m7hhy2wlagymkq0ckr6yhiav02y7b623gd47wkk75f48rm0lbdc";
 "crbox-0.1"="0ni16ldwni2gyzlivd5ii2fdq15h6np4mv73raa5g76i5rw42sbb";
 "crbox.doc-0.1"="1yk96bajna3ihvyhx482jrwiccbmqdr9852w11x00xkcvvc6azfp";
-"create-theorem-2022-08-08a"="0jrrf47vp7r5alw9lq1b0hi0zpdkx1hlws8lva2jkhzavyapcmmq";
-"create-theorem.doc-2022-08-08a"="1j4m710kzvawd4zvppq4cr0y3bzmprb7ps0rz37g8spcf78c9x1m";
-"crefthe-64498"="08x2xqdw5zf7kbsrhjhg42m4dgins138r3fdx9jjm55smlz7c68d";
-"crefthe.doc-64498"="1iax200inrsiq5xpxh3mq6za6gqgz75zbnbqy8iirp568ylb1nxj";
 "crossreference-15878"="0xc8d3g8j86dzpfxzfcildiyk8zi2apc9af88v2zg6zjra6vra1x";
 "crossreference.doc-15878"="1iahzjwns9zapa5y7z6yy2wjdcy6qiqrqvp9q9v4ky2zgsf7n5pi";
 "crossreference.source-15878"="0yajk2dxnsfy74r6a50zs4lc064aha0lzfqp26gpgnsx2h0bvpix";
@@ -4758,8 +4779,8 @@
 "pdfcol-1.7"="1b5rzfx5lf0v3k1kb75j364jfdv4wg910qhv0218dp4mxwn985z3";
 "pdfcol.doc-1.7"="1qrd28c9z0x2jcvcp5041s6qbkcvham8m06xmjsd31kwnpr4f4df";
 "pdfcol.source-1.7"="1bgpg70150ifvrviwwbhzr1fa03fhnfa4agnhyfyp6y393i6dcc6";
-"tcolorbox-5.1.1"="1jcd3z5pbch6ni1pjx4bc18li45fqzk3pxc33xmssxr1zr55sjl8";
-"tcolorbox.doc-5.1.1"="05qnshbm1y81w014773apy0d7r43zb7fghrld3y1y3wh81ix5sh7";
+"tcolorbox-6.0.1"="0sfn6j0829b418fs6zry1xnjkmw69vcifgnql8yg5gwypixrq6w3";
+"tcolorbox.doc-6.0.1"="1469w97dj43gb4110sx4aqn2j1hhwa615b1gybhb9i7cc3jigd6q";
 "decimal-23374"="00byxbhi2pqccd1vd6hsh4ri0vzvq1mwjnvqmqqlrbr3qfv05zla";
 "decimal.doc-23374"="15v078s3d3aawihdmd0l1ndqinlsqz11xxbvbw0dyh0arw6d1rc3";
 "decimal.source-23374"="1k88s0r82livblqfb140npf2p7lvmsqkpasbr93ihwjj9vp54xb5";
@@ -4856,9 +4877,9 @@
 "draftwatermark.source-3.0"="1k66347n1cf3ap8406dw2qa21k6mazwhv6brr569i0khsxypfw0a";
 "dtk-2.08n"="1nwvdw7id285w8anscp7i8ksab3b72gldi4minhbd1k4pvdb4783";
 "dtk.doc-2.08n"="10ymqh434a8bjfyi5rj3fj8b62lj79qcyl96ir6visdm6v8fzrmd";
-"dtxdescribe-1.06"="0s06dp5g3902izd21hasg0s9xbzjwqc671zscn6kn9k9sgzxhr1w";
-"dtxdescribe.doc-1.06"="0iz4pmvs361xplg0z3xwdvihd0qmlw1009ggg7gqxln451dg4w5j";
-"dtxdescribe.source-1.06"="0fj9i551hf8ijjmay9pxd9a4ivsi6pbskh100l241dinxs04m3lj";
+"dtxdescribe-1.07"="1q8ycxs1dxq4d1j76n3p16z812pm5fs3zw9z2vb2l6s92piaf1ag";
+"dtxdescribe.doc-1.07"="074wq1f7cq9lnmpbssyyj02da2wwrnjdci8r591f2fp9cq9lgwms";
+"dtxdescribe.source-1.07"="1wx009hi6sicz0xvb6r6jr8rzwbx94p1w7rkgq4zjj25k3a7s717";
 "dtxgallery.doc-1"="07c403zbx7sxkhhrwrfw3np20xlqhdk893b4bd6r8lqb0zipp5b5";
 "ducksay-2.6"="17ihjvzz7rx5zra8lwb72vyq5i27psvmlg22sihy2lxkxzy3krx0";
 "ducksay.doc-2.6"="0ydhgp11hc7hl3ikwf9pgfwf5p7q5g6m1rmfcy2h6svv398zcg67";
@@ -4926,16 +4947,10 @@
 "egplot.source-1.02a"="0qsyqhmx0gcl13hlhbia9rq82kkkhc6mhmzp56g9b62qy2wl1ss8";
 "ehhline-1.1"="11db4dh948g744bynf1ydlg6jk562picrzfbh5pszxvfdag91kar";
 "ehhline.doc-1.1"="18jr25hnp8hg3dbjgf16cskdhm6kx9nxliiggqixb7c1ii6mmn2v";
-"einfart-64280"="1w7r6q5fzq2y4394qrnr01ya60qg97s7fkr6hlf4qhwyj1ydjxv0";
-"einfart.doc-64280"="1vwv1y1dg8ixcwhyfzjc5wpn517g227v5pn9wqh1wrbflhdqnkxw";
-"minimalist-64280"="02la3v6g581gj7bjb6c0ghxbmxi0ql3fvzlq5hjv1g32v3jdcs9x";
-"minimalist.doc-64280"="0sgn9a1xgg8g6s6cnnxxnawyc2wwmi67m86ywc83qbclcapadsdv";
-"elegantbook-4.4"="063zwncwbjalr6li7c6irvl8k7w76d9nak7vlbqks89d2w7jclsa";
-"elegantbook.doc-4.4"="1079izmyxywgyqabrb9768anhmb6y9l3mr2nlvislns82jga8aaw";
-"elegantnote-2.40"="1349lrkxa822bd51n67h59n1ilh5p0pzx2iz81vq0jmwqswv41fm";
-"elegantnote.doc-2.40"="1d9yna24s22ddznwbh7ibksxlvd84v4vigrc68j5zli0pi17wfnf";
-"elegantpaper-0.10"="07jsf54lxlyfciznlvbx2f25x1g8w5j9c96f58ddgka3fgcxk8i5";
-"elegantpaper.doc-0.10"="0b4sq3y5g72b08qzrf5hl0mx9a4jqv2xfvbvnjm7pl4rk2csi634";
+"einfart-65475"="0s2ywhhs0349xw120agj8sx7fy2npdh4gk8f8hrrbibn8iz0limv";
+"einfart.doc-65475"="1b9h43r1qa6fp6qzgm84iwjbvnimyk82dz287j9vrfgyddqi0r3w";
+"minimalist-66447"="1gbv41z0kzfg43qvll1mq6ri92fjz2al52sxffmn963vwkl5awzd";
+"minimalist.doc-66447"="15x329zawlajh05lxx2gk7nngk7g4mas80qvigawkc6psixqi01r";
 "elements-0.4"="0a3dzg3d1wz1zni57k8gibrxczjg0k16vqqkbwcd509blwxgps4r";
 "elements.doc-0.4"="174467pvz1q4d72z215pni50084ywddfvf8c36ibagijpdvrym08";
 "ellipsis-1.8"="1zbasvm792cghiji6gkg27ixjx7ms46rgqbi3wphpm9dix9296ap";
@@ -4955,9 +4970,9 @@
 "embedall-2.0"="1078qszq99jdcy2vsaxmg1fbnr9fdbd32y5lyxl4bwl0ja62m459";
 "embedall.doc-2.0"="1c17d4bpzxws6j9z5p7x97zfggyzyadfjygbhi7ykfiy55qywhdd";
 "embedall.source-2.0"="02vdmjb6vqvqmfq7fhn5gb09x2lzpmrfhx6dspv33wmwzv99kzr0";
-"embedfile-2.11"="050xldq8z85rq6ma1bk2acnirnfbjn8yx3v3x1s2sz3qilcxmdha";
-"embedfile.doc-2.11"="0mmq1yrhfjhbna9g8cpywrz76jhv34mrxhrgnwvwlhac2krs7w4d";
-"embedfile.source-2.11"="1dshj04gn4krv7fvbi5yxbirc0di5v326hn6ij19pcmjj9afj29v";
+"embedfile-2.12"="179a168b71h8zkdcfr7krcm2addbin9chckaczj8a8ayy6xr294l";
+"embedfile.doc-2.12"="0iqg1lbr1fb6ckdqbzyml5qwpdnr606fmhfgvxvzb71kn239cg8i";
+"embedfile.source-2.12"="1kc65i68h4nd9q1fj2sl094n6q0js47h6bh00677a89kgjxvpzr3";
 "embrac-0.9a"="0n2ll7mxgw228qb3j0x111yyiaa4ikq4797g5k8xyakjmv0w3sv0";
 "embrac.doc-0.9a"="1lqapcz7iv8z7df7cyddg6ylh2b61ndgbfhnfa8abzgsqz1h8sjy";
 "emptypage-1.2"="10h1mlhk0841wgc70hp51jnah14si7rf2mwpkp8lfc1xr7jwwvi8";
@@ -5047,9 +5062,9 @@
 "etl-0.3"="0cg7ppbc7nlgmcnri2iz2is8c5kj03jn0crw4m5wmxvqkkcg2217";
 "etl.doc-0.3"="0jqpybirslqyk7g9g27qbbvz3k02m2k352fxl2w1p0h7hhgk12a2";
 "etl.source-0.3"="1z244p46j7hkzry4n1xdbzcszjgwrlxd2jmjblbrldj2ba9sq9nd";
-"etoc-1.09i"="15c020pak3i0rfwqhd3gwscp1x1abanfj7f1n8cv4qy2fjvhsvb2";
-"etoc.doc-1.09i"="1axjlq0hv3zn4if9cjldc1gf79kb758m2222pm3lymz0jmqmazy5";
-"etoc.source-1.09i"="0vj1rsy9c7gq121fq99a7a1xnz41z2cka3fbn7man2gs6s887ddw";
+"etoc-1.2"="1i36wkad8kywhnvfang4y4h5zcwxbc5lis73z40czkfkgrdvmk1y";
+"etoc.doc-1.2"="0935nk69sz02xpsrl694zxhzh70yzz1sbpqd80akpbbq6yi6wwn4";
+"etoc.source-1.2"="1i9gq9fcgzpvd3fjpgxggq80jqnrgn26v5nzh15dkdagmnzjx163";
 "eukdate-1.04"="17r61096angayvbdi9r3d7ljb1a5z9q9r093kpgdsi11ahcgsr26";
 "eukdate.doc-1.04"="0071bi5m6v5ak6g5pxjxzq5y5353mpdjx4f2dbznkmfd23wp8j7d";
 "eukdate.source-1.04"="1p6vg8nj8qipj59jwvp4izf2dv0l8490773h6j87wlclnnnlh2gq";
@@ -5064,6 +5079,8 @@
 "everypage.source-2.0b"="0vdi8yd0r33ajnym0f3j42ajkc2xs8b5yn3kmklmgx19kpc93ln5";
 "exam-2.7"="1ybbxy46wn1xz4b6vd6g7y01ijl8a5yrgc6v48jilnhwdh25yklg";
 "exam.doc-2.7"="0n8jxbi774by3mwa06yz7s2s635c2hiizfyhspq7lyg1v7qhid8x";
+"exam-lite-65754"="092wb5wjk452i252g4chnjzxysmbhy30q4cxir32mx54z41yf0dj";
+"exam-lite.doc-65754"="197mlnayyzgr9v4yf3w6m72k8fqavdy4k2q1c0v7slsvqad320f6";
 "exam-n-1.4.0"="0j4bi7j167fkaz57wfav9ybv5b5f18ql0gscvdxyf9vh1czk83n9";
 "exam-n.doc-1.4.0"="17jj5s75fs0sxpak8ywd6lmss3iq290316mr5gyxm3v7r26ji8ii";
 "exam-n.source-1.4.0"="1lvcxbdwy7xxjwzbxzrykym96j1qa7caqkdqhhx4qxdry9czpl43";
@@ -5089,9 +5106,9 @@
 "exercises-1.1"="1yvdj03hr40732swfsg2br9f4wx9855n7a3whlqjdnczp6545lvi";
 "exercises.doc-1.1"="137g1gvwfxm3gid5xvikrqk0iw75csrkqgrwmh0hda28dd4zbdwg";
 "exercises.source-1.1"="1lryxm36phhp7p269zzf9a200k9k0v8zw8qyqvyk784vmvyilv7z";
-"exesheet-1.3"="0953243fq4zw6mwgdnwk6dzdza2blp5r5rwwjnqz2qry7a6nfk1y";
-"exesheet.doc-1.3"="0x6i7s0mdsbx2ijnn8kxnnsq6rxhmdm13xl0qm7frfq43hypsa6r";
-"exesheet.source-1.3"="0jv4cdgb6y2127nn6vihmxfgyl3d4af7qx0vs32422xfw5qibg23";
+"exesheet-2.0"="14baq3lx0yk02bmxjq6dd0b5y55b121m46w2nqg7nws9hf6sh0mf";
+"exesheet.doc-2.0"="1hq91m1jawysk3c38xvps2fnfxypxkn6b553hm0j761k2yizavjb";
+"exesheet.source-2.0"="1cbi2saxgjcyq8vj0j3wxc6162kvd6ndzscz21vpjxid8amilf7y";
 "exframe-3.4"="0sc11jk94l0nmjjd69k6nl7j68szdkihim194pdxlyiybwqf9bbh";
 "exframe.doc-3.4"="02s61k5lpjw121cyxkkhlbm5d6wv0gl009abkjbidpgxbnd5yl4z";
 "exframe.source-3.4"="19y20l5g814cvn9z0axpkynxp0vwkay782dmn05g6a6qzjb49i0j";
@@ -5167,8 +5184,8 @@
 "upquote-1.3"="1zglh6pb1fq0ipsivhj0knhcwcg04mjkxca5s2adbbfk2xs1iqgy";
 "upquote.doc-1.3"="125756iaikya3v0wk9a712klp39ndw7i68bybnrif2klm4c695lm";
 "upquote.source-1.3"="137lbzacpmkm1fdmp548m6r83mnhclsrcyqk1s0rkp558fpnqpp1";
-"xstring-1.84"="0b8n65c18grhzkjnps5g5grg6i7pc5lic137w0axq46cd5vizihy";
-"xstring.doc-1.84"="1gmik9slrwynmq2i71hqrvx2mnd6wk43phaydqg12jn3al16cvxk";
+"xstring-1.85"="0vpbi2v7kvlm6w541sk1jdi01ws1dp0cff2k2nq4yy9icrb4rl51";
+"xstring.doc-1.85"="00gdmsg807cway1y30q44ivh6azjzg67rfw2jz70h1hcg9kbvfcb";
 "ffslides-38895"="1mpfpawdhh16rl6pnvxnkj95gf9hjs49gj7cwfyngmqkjc2idi8j";
 "ffslides.doc-38895"="0z5kpim798zxj20p70dpcgmwg4vx9mb0zrmq620sprxxdr2gd059";
 "fgruler-1.5"="1x0pqrwwbwf7qi64wlcg8d73sf5r59jcqhhm3l30qk1ymfwirzvm";
@@ -5199,6 +5216,9 @@
 "finstrut-0.5"="148pca47nggxv9dyg5n0p40ri1mqz5chj4ir49472w62c8zh83fk";
 "finstrut.doc-0.5"="1jrxyksw0bldvf5faykbpcngjfx06y83q81rs3k3m6vldm3rw23d";
 "finstrut.source-0.5"="179640qn5swml0wrc1glvbf94ia5y6s1qlyf3hf2vmr3vih7k2mh";
+"fistrum-0.1"="1ypzwh9a7lkb5b6d9796hwzarlsm06nyndl4clk5ss7nh9jdia3f";
+"fistrum.doc-0.1"="1zyyrvm4vmd1fy35clf4aizb810mhr2xzsyzwmpcgsbm3nf7i2ng";
+"fistrum.source-0.1"="048g8x5q882668lbzz0ji1hndfkd2bd777s2zyyq59bcw0gmavbl";
 "fithesis-1.1.0"="06r4qkkgmvak5z624vhk2gl7vnq538ixjq6v2v4h1zz2863kicck";
 "fithesis.doc-1.1.0"="15dnysdjas5a2a53g295f5g4fvi4rii10w72w5z9libxp6h93nmr";
 "fithesis.source-1.1.0"="1a35viafyrxh8aqx9n6gy4j3kk4yjz5cjgwrfyskbpvk014y84n6";
@@ -5272,8 +5292,8 @@
 "foilhtml.source-1.2"="0zhva600hf43h01n9ycjcjair84y0wzpn00z6ihyh8s6g199g428";
 "foliono-1.000"="1k91x2yyxp7n1akm8wm4kgynl977gq7z6pf439aaij9r0zzic2pm";
 "foliono.doc-1.000"="0f92kpv6jvvmr9fh24c7iki37y8ph53n3ixi3qjk8bb55yldyz46";
-"fontsetup-1.3"="1769ljdy501i261686zwfkqyvpc02dziw0cj0mzgk20k0xnm5lvl";
-"fontsetup.doc-1.3"="08455mxmdql6ysln0a2zqkcqs0qi09krjrldklpcw6plm4y4caz3";
+"fontsetup-1.4"="1hdfjrav3nscvcjkfwqziaw0gn8wzlqpq4d0zi7vs6hh7m02y1f5";
+"fontsetup.doc-1.4"="1x8claj166zwzl285v1yvx4kmp0mychzvpnh71hghmqqg6c443kr";
 "fontsize-0.8.5"="0614lcl1cxc7a6irrjinp5x1rx2cbzns0al7d9f3njyyayp13qhq";
 "fontsize.doc-0.8.5"="1c6p4yz000rdcmjkn7pgz3ckw3p42xkz4clk5dz01fnxifmmlf1l";
 "fontsize.source-0.8.5"="0lvywzrc56rfkkwipwhqahkm8a70cnff0r01rpl92d6n6znl278d";
@@ -5285,9 +5305,9 @@
 "footmisx.source-20161201"="09w5bfx94533q36z3k0a1sf9jx6acz85qgqypgn6b0b5mkhjsmar";
 "footnotebackref-1.0"="12vxch1i8x0k8d760vgq61i7j3kkylgbcxj6ggdv8wzd20h4izyc";
 "footnotebackref.doc-1.0"="09dvvnjvika3617zx438ca8z3fmdkqbxx9y73pdhn6gaggfmzr72";
-"footnoterange-1.0c"="1k5xz3xjcgr3a23yfyw3zrh28hxqcr5djl4g3zly5ackq7q2m19p";
-"footnoterange.doc-1.0c"="05rwaqpnfsmgcyx9f88vw766iz57g8vy1il0vp6cky787lr047zd";
-"footnoterange.source-1.0c"="15asynssisdgz6py0f024g7fjf1rpsv9v0k1v4l3fjw8ppp5ddns";
+"footnoterange-1.1a"="0z2v5diab3xpq7x63n0w71r9yalnypyv70syh5n4nr79ahyxcmmx";
+"footnoterange.doc-1.1a"="0gg1sc5dv9kpxavrdkc2865fcwkyc9j24bvk34l06fr7ib43bja2";
+"footnoterange.source-1.1a"="09qa9gp6pv37kcck55c9zv3ky79xdw2ivkwf94nzbw475ryw0zv3";
 "footnpag-15878"="1qdl7lpfy5nn6qx026b9aqz8nfs958grh443lkqyxnrnws0n2nww";
 "footnpag.doc-15878"="006w2w6aga9zazlk8sv8maqi4s1rdzqyphp0lpa8qv5q23vcdhl6";
 "footnpag.source-15878"="1hh2754as2yrmfz4hiyyl8nlshsfdhpgpg3ifhs6h5s0xz947rw0";
@@ -5333,8 +5353,8 @@
 "fullminipage.source-0.1.1"="16q6f9nss1jx3pw1xq0j82y4gn70hdjaj9m7pq3947m6bkyz92vd";
 "fullwidth-0.1"="1kis1p158phkwxdfhpb4ihfs2w7wywj1lighc44sfkpima9c4nmx";
 "fullwidth.doc-0.1"="056k7w66rh0z1kxf1m91sbjhg8kdy9jvfkwm3jmi5mkclil5ihi9";
-"functional-2022H"="0xyd2sr4galzh9bc0dff7l22klh09mf7bw011ayx1lpyacrhfd7m";
-"functional.doc-2022H"="1bz6jlh1halz463w446v0aqdld76y2mb2gi46491djw086l1n42l";
+"functional-2023A"="1nzjb56bngv2h36vlww234fndanfi5dbmbz3y1vjxxwvahhqn0cg";
+"functional.doc-2023A"="0iny1h6fd23zws5r53kqbb126rcphdkns6w7afzwb7n5hk414jq6";
 "fundus-calligra-1.2"="1rnrqblg06qkwcy7f460pd1hnh4bwl47zyswa1iv4iknx00rd8a2";
 "fundus-calligra.doc-1.2"="0jvbvalqyj0kyf6cwr6zf18ylckh3fwpshwhmnv7ldg5r1ylia9j";
 "fundus-calligra.source-1.2"="14a0d7d8mlsw7qwpspqc2rmcdyhnfy6l7f57bk9v9jc8pg9fxb6m";
@@ -5462,8 +5482,8 @@
 "grabbox-1.4"="1w9gmzwzy8dmk5rymwhn75rlciszk2wyx9yiiqn3npz872b55sf2";
 "grabbox.doc-1.4"="1h4fzi0199gfzdsx3f4pz76q14lv90sgad8ixfixn4kq6zywg4cs";
 "grabbox.source-1.4"="0sg5ahgxmm6vwa2ng0w8dmgxb4d3x14929i8apkm21bainhaxg4d";
-"gradient-text-1.1"="1rvqkqkyja12ilqh690106pykvj8gv1yj34jxb7pxwcx2cynjqk5";
-"gradient-text.doc-1.1"="1i2jdihbc25r3gidb90i044hpl3g0h9jxvl6vskm6w1lfykn5gbm";
+"gradient-text-1.2"="16ry27061szxa7krcpi739r57vj00ryv94ja3xa7j1dcvj6fn5sl";
+"gradient-text.doc-1.2"="1fdf06z2n7jcbj1rby47ylrxq516nwa4qa67iphxhdn5maf1d884";
 "grading-scheme-0.1.1"="1cbprwzwz019nscz0j3j0cdxkrmkqs9r220qvfms1vfmjs1j9dg4";
 "grading-scheme.doc-0.1.1"="1fc3i5h4xs40z3ndcipyjl7vz36vbaqd9zcw8nlvw746whf4g2lw";
 "grading-scheme.source-0.1.1"="0kidqf4l7gy9qg1i01ghvb9rqm9ygjk0ii22sff3n1jpbc2vdvh2";
@@ -5580,15 +5600,15 @@
 "href-ul-0.3.0"="1x39y3x1x12w4c1ikq7cy4d7m1gbkbswrn42wpqjv3ylvn1vg8a1";
 "href-ul.doc-0.3.0"="1xc476rl7ym0j6xxfmdm10jw09i7c5zcq8gqcfrvp58sgi3sy62y";
 "href-ul.source-0.3.0"="1mj85ci63gb0mzy9a58j0320nja6ikvkz3jzwilfzxaszz4h1kq0";
-"hrefhide-1.0f"="1b9p4qwbclsgd61qqnifqaid1s93r0yqkwi95f24snvklm8gw7zk";
-"hrefhide.doc-1.0f"="0x3md2dm04kvnf4dfs2i6gpplpsayjcw4qz9qwayad7nbnpr9i61";
-"hrefhide.source-1.0f"="0jcf8pvsndvhqa77bi4i8wl5lvgca8w0h74pmaqvs1d0vc8nlja8";
+"hrefhide-1.1a"="1lbfx61xyvnm1r24h6vrp3pnmci4j5abxlaanhni19j8gvqkri3c";
+"hrefhide.doc-1.1a"="1sf697hjryz1l82ag8h2kpxgmwa4fzmwb6ki1wsnl0y1qkl9m1k0";
+"hrefhide.source-1.1a"="0p4vqr3cjnbdsrkv049jdd6yr54xz40lvgdyx6z2wf79k5fj4z1q";
 "huawei-0.15.0"="1zw5z5nwc071cv9s419hw9fwiy0f9j7g3x6f4jrkya0dc1qwrz7q";
 "huawei.doc-0.15.0"="1mzkdgj8js508b713j1lr3i8m5lclwha5h6al106abin7j45470q";
 "huawei.source-0.15.0"="1py9k0pa2987xm7bk4i0slkycn51v35xw63w7vvlff6h50ljy0d5";
-"lastpage-1.2n"="0d4rc44jpi4bck1am3fc2hrs6rl7yd8cza8d8qp53gdsr5piiabf";
-"lastpage.doc-1.2n"="0xv27wn76zh5nhh0ml6qv1k03ygb3i3xwngavvlw5g6frqfj59sc";
-"lastpage.source-1.2n"="0zndsmrg7dnygfvw5g0zdvyzb5pmg0bq1dj9srb2fmz46xjf95wc";
+"lastpage-2.0a"="1jd0cwj1f26sc0va0n1r3ggwanlq0iqsf6ydhkjmyr38q393sdcc";
+"lastpage.doc-2.0a"="0myhgq7si08p8fwnaz50frl9g54q4px7j2zwvhiknmnh7hnq7gc7";
+"lastpage.source-2.0a"="0rgdnf2avbfjznvsm1mqfpk3h8f60ls3pyg0c8gmyzi1lpsgismh";
 "makecell-0.1e"="0238il37zzshzl3qn50hav3wa6rd25k7rp5l93lb9g7r476sgvrj";
 "makecell.doc-0.1e"="0mf4jc9rv66qjnm3ldrpx5lbfw1yfqy0jsvg8d3wdcwvlxpcrvwf";
 "makecell.source-0.1e"="1vkfkfgjnhx5byipkrzb202w9jvmnjc2z3zjih6y61yizccwm543";
@@ -5603,8 +5623,8 @@
 "titling.source-2.1d"="1jdgyn9zyf5rwbaz004g85rr2jpd5gi5iyn111s0r22ml41ci3hk";
 "wrapfig-3.6"="1axad52pzzsx9d32rivasl5d49dj51adk5kcnb1rr8mz59421rk3";
 "wrapfig.doc-3.6"="1c3xd0ja4063qzag0v07mxkk52yczlcwdbwn84gsfp5hdmd5cibr";
-"hvextern-0.32"="1qgbs23gdklrmq26j8rwk542fqvlviw112fqlp3zd5wh00dajr1z";
-"hvextern.doc-0.32"="1w58bjpkvg7pvcgr0556lds4wbdx03ngdfbp08rdnn750ncpvvha";
+"hvextern-0.33"="0s3lg0vy2d7jwikhzqd5va1b0jy9xpiyxnrvsgyqgnl8ji14bx4q";
+"hvextern.doc-0.33"="18vnzswi04c41pxrp6zz5qs7qz7i00pcyx33ka1dqy011v78fa5j";
 "hvindex-0.04"="1wk4q29iyqrk83kafwhah5gvvj2ywpnqzvnza6cwrkb85fd1q2i8";
 "hvindex.doc-0.04"="0vcdmn3xc4cm3rkdkzi0qvqakgkc3hrgy8nycr5c8vcb6xaiw0gr";
 "hvlogos-0.09"="07c3ia9z2xbgaks5czp7bha3v3614y5dvncv74m013vbgzi5sl4m";
@@ -5617,9 +5637,9 @@
 "hwemoji.doc-1.0"="0i18fcfbvyv4k578bn00w7ngk5lxp29n1j1i52vjwc4cp25lfgys";
 "hypdestopt-2.7"="1753c7vjx3smnhl1iylg4x0sdcqfg6gb0wdbwqmlass4qdn494w1";
 "hypdestopt.doc-2.7"="07a2dpvvyj2r2691v8izjnqjksna1nm00za4sva1npcrhkc2qq1q";
-"hypdoc-1.17"="1qcivy70kk4n3krr9sxvw366qr9hyjppaxmg7x4q3xpa0zfnhv22";
-"hypdoc.doc-1.17"="0k1y1ibjzhmfwksbnm8ls2crs957wlm936kh0hvjvigq8i64hjia";
-"hypdoc.source-1.17"="09q66x3fisyqgyw59d1anwhbmzz8dzwmr3kjiin8yzm2bx78jacq";
+"hypdoc-1.18"="1cdvlsv1acnjsr6kwqg58r13nynx7bpa00m3dhv521k10cms4ph5";
+"hypdoc.doc-1.18"="1h0j48i7mfdb4cb5cd667h2v0xnf85vhk0pmrrj1xxflv4qlycs3";
+"hypdoc.source-1.18"="0ilkc5bhvai33f0n4yhbzg48n0l7f3x9icnw798lyqba4xlvy523";
 "hypdvips-3.03"="0ax6n7ki47jyzp5g8781c7rv54hwrl0fg7d1bwzbj9bmqi39df4v";
 "hypdvips.doc-3.03"="15vnypyl6g50d4mycz3s41h8ccpmknr0vh9bwacr6nxbzlyyykrk";
 "hyper-4.2d"="12737gd2nmnalkgl4d2sh45r4d621zl6g2zcih98m7dw8qr38w2v";
@@ -5630,9 +5650,9 @@
 "hyperbar.source-0.1"="19x81f6bki5mnx1nblrl0ji663q0pzkacy5lbjsqyr7krdc33fyh";
 "hypernat-1.0b"="09lnsw7ycwkk71fyjk8zwgzdjv8ff3k028q7hr27dqsiyg4hjg7a";
 "hypernat.doc-1.0b"="150ayv12ym9h68a09h1xakdfzccpix1pff9blkzjq6iz5imzzpr1";
-"hyperxmp-5.9"="1p3pj50iq61bdbqvm4bijj48bwg2n6sn2dhlq5xgp04w8jxc29v0";
-"hyperxmp.doc-5.9"="1sqsss76f9mhxv8vlp1dh8gnjpv8i4mzy74146hhfjwvaf5zygmk";
-"hyperxmp.source-5.9"="0n7xzbq57kaqnm1aafrz58am7s6wn9pcxbgfiqdc6yniz8680jl2";
+"hyperxmp-5.11"="1c8y6ngajicjiymlxal675dmq6sp650cz33kk18yvnmc5yl48b0m";
+"hyperxmp.doc-5.11"="1if1jjbkyk8dq6y8ssq9pa2ccxm055bd3b6hbnbcigbzlx9x1zgh";
+"hyperxmp.source-5.11"="09wyhpqrx95dabgadr9hk1j41w0a4nmqr07a7nxkjzkq35yk9fzx";
 "hyphenat-2.3c"="0ckfvjxdv4rb8156x2vmwl15mk9057i2lyg9xhqkmvqh1ani4lc4";
 "hyphenat.doc-2.3c"="1lzpdz05dw5m8ljxf5f846m1x4nv5yrqbg3sixf7dgyhsmpfxnls";
 "hyphenat.source-2.3c"="1ddwv26nfl4jwz8vxs4fwc9qw8gds1sg275g2bg9ci8dfflk16k7";
@@ -5755,9 +5775,9 @@
 "keycommand-3.1415"="062i4fr9h2sc1zy3ybyqrq5hw4g3g54gx708rrznkl4zmpf93ppr";
 "keycommand.doc-3.1415"="0ls9fbm0815aar19hg40p91n1iyyfhn68ndhvapmwfsxhi6f2d9j";
 "keycommand.source-3.1415"="11blfbqdn1a00bfdv3nwd7501pd5qrkk7pqn2ffir1461xivz26f";
-"keyfloat-2.07"="045yciyqnwz32rkpvgp2qnqq7s3sgzlbghb9a20npnb7k9jcnwxk";
-"keyfloat.doc-2.07"="1xpxkigsmzsapzh4rnvhcbdi8a7nfrzwsv89275371dfv8pxb6ck";
-"keyfloat.source-2.07"="08igyhw71x263pdri8qdcqd874576f2gply02886rmzqh26wsn0n";
+"keyfloat-2.08"="0dz1bkp266zx3s7gwh0k80irkvh47d86i1cprg9v30b79hjq2xvb";
+"keyfloat.doc-2.08"="194wv0fpzc4yq69x60wsg19sj183v2wm010lhsql5n2s4239w554";
+"keyfloat.source-2.08"="0djqv41i0cjzgzb0vxlg3jx6scmfrx54g3hwanpik242p2nhfian";
 "keyindex-1.0"="0fsszjcw1r3kws565pgc5j7chifbkf3dh1hnlclwwsjpxbji4n6c";
 "keyindex.doc-1.0"="02n7lxz8pd49q9nf6pavhs01410zj9pbszqqbmk5c1ld077276x7";
 "keyindex.source-1.0"="0k3img6kb6v853wzmhsrrhx7lrh275ssx57b83vk3yx9m831qwmb";
@@ -5770,9 +5790,9 @@
 "keystroke.doc-1.6"="1ig565mxjnji3ng8vsc2wa3jyp6mrhma4hnb3shwnrj9g2kvj84w";
 "keyval2e-0.0.2"="05ssgrl08d55in1wkam99bfdfkjhjrda6j96b6nmj61sp97yg3ig";
 "keyval2e.doc-0.0.2"="02ajr27zgfjk5hwmqm05gdapkg3d3rk1k9k3nqm4nbvwhx5sahg5";
-"keyvaltable-2.2"="1wxrxa1qfk9c18vnd75kvw62w3jcjyw8x7z5jbr3854v2s7dr8xa";
-"keyvaltable.doc-2.2"="19262vqgi7d5lyki08rqznpx0442i8z280grs0l8y04hdivlr3mf";
-"keyvaltable.source-2.2"="1j14vyp20r7wnylpmik8zfg5zcbva4rzxckazk21xjapgpy9w951";
+"keyvaltable-2.3"="0r8y69sbis65hdalck66n5hxww7nk5z2psb5qzx13dx6qhnqknz8";
+"keyvaltable.doc-2.3"="1lhk840aj1sxj6pwybrpg9gd3lm9gs06q1dhz399my6cds1b9bk9";
+"keyvaltable.source-2.3"="1k749a0smf6wdcsb6cswm0adq98ylg7cq9yir410wkxyxdfwj413";
 "kix-21606"="0w5qaq50wki5b3s3j7p11akx7mb8z1khchhy6093pzzrny0hd5c0";
 "kix.doc-21606"="1jblprmz9vfriqdmi9ihh3ihi7pc9wf9cp8qfli89iir2xy7lv3d";
 "knowledge-1.28"="0459xp20v02awl3h9ada0j9p0nasaz4fwv4whc6p4hwzzw86052j";
@@ -5791,9 +5811,9 @@
 "ktv-texdata-05.34"="1md2iv0csmr5f2mcdlb3lacccwifd6iv7yp6123gra5xcp06k4y0";
 "ktv-texdata.doc-05.34"="14sk7x2va8ja65a65fpksj2nd16v6rc1f0828gmm8j81d13cci6y";
 "ktv-texdata.source-05.34"="1ws256l59plnhmw1rycfznwpndni5i47liqhazddwbg2hragfahh";
-"l3build-64987"="1d58c1y8di9dymxmvvz0xzc1rzgk3dgi5mgcxg5pd2pfc8s8wnq0";
-"l3build.doc-64987"="14wwh8cmmhq54ask2crjm0wsz3jf5m44r67af22rc04fvs206crj";
-"l3build.source-64987"="1a4bfwvrdjmip1yw2pxyiv2s4i6x4dc9iydvyw6ajifdxdjw9sfa";
+"l3build-66476"="025shd20j7qkh53gfq9l45pxd6s8c6zrp1aqnm1h0fx2d7xxkkdx";
+"l3build.doc-66476"="0072imbggffnbmfmms9kdygdkwa15krkl6s1pbli7zbn3h7b0vkg";
+"l3build.source-66476"="1fvjhg5qwabn7iv6416f3lcrlv9z1mfng7vksaiskw3yfihr13qn";
 "labbook-15878"="1qh16jjmpyqdfndfs91nmbfhwxif5ygk35zlsailngpgnp1r2x7s";
 "labbook.doc-15878"="0za4mp2zq9s1z90sgqcvf6zac7w0wqbf8y5w1qrwmlv6r6kg3s1s";
 "labbook.source-15878"="0w7nff8c2ffrn2ywz1dahd8n4cb959b6zf3ka0s913nv04ifdkgi";
@@ -5818,9 +5838,9 @@
 "latex-graphics-dev-2023-05-01_pre-release_0"="1jnrdrc8ppy39n6nhyxfavb1zxqcwpyhm6gsypzbj51w6p0ya04m";
 "latex-graphics-dev.doc-2023-05-01_pre-release_0"="16j3b7s501gx18fz0b3s49vrmgfwyxdp9k50h95ssw15fw82ybwh";
 "latex-graphics-dev.source-2023-05-01_pre-release_0"="1zr8b5y0ff313nlk7z7yimxpxckg9x2i1kik08y3l9mig2w8vcx2";
-"latex-lab-dev-2023-05-01_pre-release_0"="107zpgr1y32xjpshbb96k20p73hd2p9v166zi5ckl4g7rpll29rw";
-"latex-lab-dev.doc-2023-05-01_pre-release_0"="0a7camkxz606jzs9kv28d42sh0asciqx7g4w6mv9pdbyr59z3zjs";
-"latex-lab-dev.source-2023-05-01_pre-release_0"="086bhcl5m277vhrc8fbh1in0hi9jj80qkwb604514x96jkc7n59r";
+"latex-lab-dev-2023-06-01_pre-release_2"="1hh3hap84g3b2air1xqk2ijsr5mzqdxqwfgz16didc2b2h8xfkfz";
+"latex-lab-dev.doc-2023-06-01_pre-release_2"="1jcq35wy8i9jy8lgasxkdlq13mg9lqd0gn843lvxa3wv4m6mzhs1";
+"latex-lab-dev.source-2023-06-01_pre-release_2"="1an3nk6kj610gwx80y88mvwwlx547xj0xa5r84cac7cp3w013m8a";
 "latex-tools-dev-2023-05-01_pre-release_0"="1kn5kzvqfbv3r7b7w77vyx9j02ks697hngbwj60rzkv6glvg2qv1";
 "latex-tools-dev.doc-2023-05-01_pre-release_0"="0qd2jnxw7a193qqryzwycwcywr7h7l9fwklqbbs3sngkw82nr1xv";
 "latex-tools-dev.source-2023-05-01_pre-release_0"="13imfahxw2i6si0xhbdrghyic3gydxiqjr0r0k32q29fixw5nmgv";
@@ -5855,8 +5875,8 @@
 "leaflet-2.1a"="04fvi31wwpsnkpsni3r6f9m3vr8b6h71f2znb79aban9g1qvnyh6";
 "leaflet.doc-2.1a"="0f82hm37i7w547jpmxkl8a2k4f92bw29vdzq4ywwllk2hdcq3sv6";
 "leaflet.source-2.1a"="0igkl1rjl14raf3xv631c7sn0mc1smyc44mldwgzgnzxxkv5kzzf";
-"lebhart-64280"="1m3g18gsibvxdd76dycmmfyjfvncmqhlxbbjbfklhizv1irwcwji";
-"lebhart.doc-64280"="1qcy4j705kw8f1v6k1gn5mzfpl57pbi1680s6glniaib2g9kr8z4";
+"lebhart-65475"="0pxv47x55z5f7xwjxf1vgch6f9ffj9h23diqwrxj70i86ma39b8y";
+"lebhart.doc-65475"="15w1pka1a4njw4n4wq7j8mssgs2rg6h6virgkycgbnwh44f9hzd2";
 "lectures-1.0.5"="0qdhkf7z1rnxm2ql0ywfk11y3aqp8yr1p9202d4ha6729n5pyima";
 "lectures.doc-1.0.5"="1xakcm4mmhl4ahnvcpn7k748v4j2m8p6d4p455claqhf7xg4jz15";
 "lectureslides-1.0"="1x61bpgp5ddgld0v05qb5sg2lwb7lzqn6r65imshvcjz1xbwpvdb";
@@ -6030,9 +6050,9 @@
 "marginnote-1.4b"="1vyv2n265y8j8r9ch7h9qjhwlmlzmqx62gc4zzm4zxrk0mvigpa4";
 "marginnote.doc-1.4b"="1cl1xrb8d7dpr4mwa56664wdkabzx8zr8cn6kxcn9bgl543ka3bc";
 "marginnote.source-1.4b"="152bwxhnssj40rr72r6cfirvqbnc0h7xnagfrbz58v2xck53qhg1";
-"markdown-2.19.0-0-g80fcf20"="0laagdaqmww65lfz5wsf9jgkg3m2jk4jp523xvzcpl6vxqm8zg8b";
-"markdown.doc-2.19.0-0-g80fcf20"="0c2zwwrwvxxy71z56hcpbfl5gm1gsprji869yl0z148nnzcwg04b";
-"markdown.source-2.19.0-0-g80fcf20"="1az1n5w2qbr0mcwap2hlsfzd1vhvp5cwhx2hrj92rgrx2svslhjq";
+"markdown-2.21.0-0-gee15b88"="0zbpykyk4ymrd293k8qr5hw4kl437y7ypbgh80ginl5z3is94fwd";
+"markdown.doc-2.21.0-0-gee15b88"="1dlhsa0sprxc8fkdkgc7rsx6icjd5wsa84bkif22biw47r7ywznk";
+"markdown.source-2.21.0-0-gee15b88"="0r9f21sc4hvr7gvv5d5i1g127yxzmkh0l0pgx86pqbac21b6yvhb";
 "mathalpha-1.143"="12fsn6wsgixbpnay1szkmv16a2wfsl60nkcbyjksy1j06gr0yf5p";
 "mathalpha.doc-1.143"="0ryvikvngpgnqbcf5mp4g99cg0r72x53p7q6h333vd3s2qjah7x2";
 "mathastext-1.3y"="0lwjqqbkjzgf8lwmzv41pygi81jr6a3v5lbw2ymkjlhm8lcjy0ip";
@@ -6089,9 +6109,9 @@
 "menukeys-1.6.2"="0039xx0qilmji8ch0i488hx5rnhf1brk6n5k0c7vg7jjs4xylq7v";
 "menukeys.doc-1.6.2"="0a6fnclh6gd1n0f11dg23gykhsr399qmplq3a43wqqgichsn2k2l";
 "menukeys.source-1.6.2"="1na3y08blykp1bs4bqrjx1lmmbiykfly00n5in8x6h0282q031i6";
-"metalogox-1.00"="0imfkjfk1fbcpxsa3hfcn9f7i3dq9vmjzhl82v1c7i9h36y60jsm";
-"metalogox.doc-1.00"="04zvsg40zj93399hdn7w5cf1vavdwk2pzji4k647hrp4klcqv94w";
-"metalogox.source-1.00"="02yd2vz2m4iy6ndcibgvpxvfsq8hncclrf9ggfkb376h8x6vcy34";
+"metalogox-1.01"="00511x2mp991i2saykw9lai57dkkhq7rsz04691lragcqwpixkji";
+"metalogox.doc-1.01"="13jixny6b529c1hvjav033wclz1z34mwgaay7rvnglgq9jv7m1qf";
+"metalogox.source-1.01"="13nmr1swjpqzzdzb53v28h7na53fhlalp925vdd752lcq17idc5v";
 "metanorma-0.5.0"="17vg55m4yj3xcfgvmm2kw8a81fblwykgnbcn65drll10b89wx6xp";
 "metanorma.doc-0.5.0"="0z3mr4aw6gqdj4621dlghb4bsc5i44mlg81w81by98783fn4xdyl";
 "metastr-1.1.2"="0ci2qs1iyyn55zl6n12yn20xsff42dim744sjkxml7xad38vpnkz";
@@ -6164,9 +6184,9 @@
 "monofill-0.2"="0kpzszxph3bx34flvhz746xkdpcc9mj0srifki9y8fa6vgsk2rz1";
 "monofill.doc-0.2"="0czdlvrwav8n3p9afa40icddh37md6g39kmy02vcnwmn9k3izp4p";
 "monofill.source-0.2"="1x5raychfhcjibln59x01fay8r25fwxba4lwi0bnd51drvzs76pn";
-"moodle-0.9"="0j7xxp92c4j66h2bg5f6pkcsgqskldbw5d125iahiy5hm3p4lq4q";
-"moodle.doc-0.9"="01cwv06w4f06ykspidm03mbqr97x42gf1qysnrrcxgs3hpfj1vdz";
-"moodle.source-0.9"="108fvgc2fvlqwjabvbky7y8sqwi3hn0f5vc34mi9lzsn2y1j8xr8";
+"moodle-1.0"="1yr7laz12x1z76aik10dsl6rpqgwbfvy65k5yhbik5iq9z7wrv1q";
+"moodle.doc-1.0"="166489dmj7ysl0z7f6whnkk8ndv5bmb9hh7pjmp6lprvr9vvqxm6";
+"moodle.source-1.0"="00n02k6hskbj8rb6krcv7b681lx24sfyxy8i28rf4c78x4ds0420";
 "moreenum-1.03"="0cjq1a222c813l93yzf9757dcai55vh24r17cv6awv0d1xf6jggf";
 "moreenum.doc-1.03"="1g71dcnbcjb2x8ilhyfbkbb55x8740pz6n9gzdd8h6kyxm879zvl";
 "morefloats-1.0h"="0zdlkd53zl0y69d3manicnd8ch8qls6jxgr4mncqg5r57lqp10kd";
@@ -6252,9 +6272,9 @@
 "nag-0.7"="1l31y7mr00s6md7a68cz51yv0qfd26xaj04ax1ph6dqc97r3fv1w";
 "nag.doc-0.7"="0gc56zgva7kziny3ridswnp8rscqi1mg51d8x580pidb11mp7dw2";
 "nag.source-0.7"="1fh9nfjbkvw907ra1crqfhm7hl4k703g80w3c8qvd18r86wmn2i4";
-"nameauth-3.6"="1p4jrwadp6hiv0z3ql92nc7n9qxc9fgg5nig6l6lpk9pd2z5b04b";
-"nameauth.doc-3.6"="1p4nw3w39p6l5mzkb9mz31hgbzrnx2a48vgrnrq5gjwdh8kggwz9";
-"nameauth.source-3.6"="03zn8f859x0dm8jx6cvnzqfm9fvsws62xvpyy1ls50kwjpqyf88c";
+"nameauth-3.7"="1zahfi4vsv4s43p1bvrbcd330i4z6x4pf3yy7vwbjdfgzmq39nx8";
+"nameauth.doc-3.7"="0map4kf3r0pydsllp1fggcj9z9rir3ipnx7dz2g5asw99dj4dlz0";
+"nameauth.source-3.7"="1w3qladdlwhxx7yzsjl17p0ykswg4phri0wadni4s953s04l1i3j";
 "namespc-15878"="10sbvwc0r3lm90qdxds13iyfcddq1vjx2p8vvs4g3sav4fk8p02k";
 "namespc.doc-15878"="1z34xb5s5fgl4rag0fmc5i5j3jb810f543096mxpq46j98rcp5mz";
 "namespc.source-15878"="0xjcnrrrrw4032sd6wscxvar9y3kd4547rsd79dpkbb0ksmqbqrx";
@@ -6291,9 +6311,9 @@
 "nextpage-1.1a"="1p9dvw7fqspkg6hk6rdmsb5k5m9mkj0kz5a47wg5dgfqgrqpixf8";
 "nfssext-cfr-43640"="1qp85vnmzsn967iqvzsf7yzsq1a4zxvyim7r0xb8pncak805fs61";
 "nfssext-cfr.doc-43640"="1jac2k7nldxq11rcf53glb5y3haqdsxzzxmgmvyzhbrzmnx0bsms";
-"nicefilelist-0.8a"="0iaqvwk2vqr1l6agjz2awdhrnjdb8icl4laz5zq7vyka5ip59zpl";
-"nicefilelist.doc-0.8a"="074n0w9mp44m7yx5py9g3i53ksw501w2kk5fk1yy8s3afzaxmff7";
-"nicefilelist.source-0.8a"="1jzjm6sgag4j1w0gwxc8b4s9279vbp51n5xr5sa3r65f9rc8ind8";
+"nicefilelist-0.9b"="1pjpffkhwfrayh6a5l57j0szaz63cn83mw53v17ibxk8dj4ls0d4";
+"nicefilelist.doc-0.9b"="0dqpx0kkgj4vcfvlyl96mllpn3kqz8qh2476kpfw0imrp8klsq7b";
+"nicefilelist.source-0.9b"="0q740bd8igcdy11nmpn61sb1yy1kfypvif2s62ym80p89qf8v74c";
 "niceframe-1.1c"="047y9dh0p51lyrrq5fkvp4dpiszvf2nmx53hccl8hzgr2bs3kbwi";
 "niceframe.doc-1.1c"="14fapa38pffkj1hs58b7r1zkjn3dql9d98jzh13cybyfynd5crjp";
 "niceframe.source-1.1c"="095frb90nryk4m2iia4sq3kfrcfg2k3nq079770xlp720zqy07rc";
@@ -6382,8 +6402,8 @@
 "opcit-1.1"="1g54f5sv05rg1xxpydsakjrlckmh1wq0p15w4q0935iw0aq7rn8g";
 "opcit.doc-1.1"="1rx3ap93f4570d006qci6j6qi88zwxc8504gg554aak1lffazw5m";
 "opcit.source-1.1"="0242ajp415h3y20dyvi2lrp38saq10dgb6hpnmadzs7wrwxhma55";
-"opencolor-1.0.0"="0r3wg50sjwxy91ylrhl209g2sahm22ylr910imspj23vdcqq3hfn";
-"opencolor.doc-1.0.0"="1zxfh79887742y9i8q0dma5csnsr6qscgra77zh00hqlh2li2lcr";
+"opencolor-1.0.1"="18a6vha0n4mwgx9lnm3d4j4rkf72qx88fbzgs164arzpx4gp0ypy";
+"opencolor.doc-1.0.1"="0n7myxbkijvqgxsvf9c2llkwhqj06i80sv81vgkxvx16974z0mg3";
 "optidef-3.1"="1jvalzi2gid20wn253swvhil05m273x6685n0b5wbrz5kbvzk212";
 "optidef.doc-3.1"="0sdd6rsdfx1fcw1493b12ww5llww6mv0rij3f1ik290c6qbmyr3w";
 "optional-2.2b"="1mv65cqcrjhykpl565z96s57z05635q513qr440crbh61rp93chs";
@@ -6412,15 +6432,17 @@
 "padcount-1.0"="15p8g5hjwlm80xnm9py3ss6afl6c8rdq8f92z7518hp0yp7d3zfw";
 "padcount.doc-1.0"="1crpv27a9rfmh4dcliqvi7aa4h4lvkv48k5zk0kx6ahhxa2zkzaa";
 "padcount.source-1.0"="0vkk0c7gvzihlmw3f8ni4awj9r6xrysj9rrsbqk6dkngrg02x4xz";
-"pagecolor-1.2a"="0fpzxcx6dna83zj0npgf0scdfyyspfqjy173s2rl85yvg4w9j44p";
-"pagecolor.doc-1.2a"="0lgz1mng1ilag8ldchz62dc23nirfzis02zax0ixalgm1x36cniy";
-"pagecolor.source-1.2a"="1020k63dnlp5xn5makg5aihxrlqc9v87y01wdl8p97fl9jzw610m";
+"pagecolor-1.2b"="0kgw5jr8l77cxb7xq53pvkyfs15lq4wxyv50pbd849fjm1rjlii1";
+"pagecolor.doc-1.2b"="07vjcfihij3w2258id0zgrgzf8znzmasiwyinah3h6snpfg83kg9";
+"pagecolor.source-1.2b"="11iyizwd6gyzaz0gzi4n401wqabkv7dfrsfrbz2vpx73fwnnf72a";
 "pagecont-1.0"="1fh6bplg468dandbyvmwf13sh27r6x4dmrwslldlc9580h8jv02k";
 "pagecont.doc-1.0"="1vrcr5l1facyyf9p8977q0i5m7cn7y40dbmiv99314iyawa3rr1g";
 "pagecont.source-1.0"="1qc105f5v0jiahk8gpgr77lqfaladba4hmqnfizbblzbjhhgg05p";
 "pagegrid-1.6"="054yaxr2q8x82dii8bpy3y1nhc1drvwm98cd3asaddh4lzrpl9vl";
 "pagegrid.doc-1.6"="10rsrkdl9bp04kxxl2g3rfscf0hcw122py25x2jbq6lgz76780jm";
 "pagegrid.source-1.6"="0fbzd20z106cgzknj98ryzmwiixmbpvnx5p8v3ns6yjrwrcng3lj";
+"pagelayout-1.0.4"="1izl4zm4jpcq7qmia75apiz368dxq1zahqxn4cbhg932f4f6lv1h";
+"pagelayout.doc-1.0.4"="0cfy6lc1lgsqwfy1cyi66cfg3jhjprh1259iq666kv0ljyk06fdf";
 "pagenote-1.1a"="0jd80dz0jl2gmfr74lw6jy1x2hj6zlji9az956gkj8bxxc6zir54";
 "pagenote.doc-1.1a"="1s7imj4fi08487xmcsicsa4cknpsgd10dbcyn6vkggm95qn6119w";
 "pagenote.source-1.1a"="07ngnfinv2mki203in54l4gx7r4qx9rm8k4x7856gr7jy1wkw16f";
@@ -6432,9 +6454,9 @@
 "palette-1.1.0"="0wabk4pw6gr9y309dsh11w6gygayzglh0jabqi0zsvy0ikr7wri0";
 "palette.doc-1.1.0"="1dp867fydnxdw82z4gxp1sbz5w5q9jfnls6r9izylrzy242rd52l";
 "palette.source-1.1.0"="0iic125v6j1ljgnm7d0qicckxwmgdg7cz568556257js942ldyxx";
-"pangram-0.0b"="1q2pcb2wn77rs0gq1ay5gk14mk3w3c0rgpwqi2zkvrp3l3cwz9li";
-"pangram.doc-0.0b"="1vwlziwm9rc2avla23jvzqx872lvq3h0b6v4q2hhf383d7vrvsf6";
-"pangram.source-0.0b"="0k7kpgj3ia1n2478z454qcjyaaam54yf7nr2h2m2dl8fmbshx7yh";
+"pangram-0.0c"="1x8jdn8j3dgzkm7zv23529gr1jdmh15wkwkljzsc1dnviz0ppacg";
+"pangram.doc-0.0c"="1y7lakwbh58y7mvwfqp6m4r9ad0kblsls53n7ciq994hfa6gx07z";
+"pangram.source-0.0c"="0xq10764gznwqf7nfaqjjqd6s73a9h13970bcrds7jiyq1s8l382";
 "paper-1.0l"="1d8w8aicx5drrgqdcrsb7vdy39xh6xmnnpympy1db5i2mc2nkjca";
 "paper.doc-1.0l"="1r03wy4harxplfhqp0dsqfpp0s4j5gn6k2p43fpw7wndna8lnhyc";
 "paper.source-1.0l"="0c1iv6aynpfi37bg30q235zdpbyhj83rkir4kdg4vl8q27c8gpwg";
@@ -6575,8 +6597,8 @@
 "photo-18739"="0d9mkavi2x4wha1c9zi2fswv7vsi4hr0588gj82vwmwlrb6v8gsa";
 "photo.doc-18739"="0xnxkv1rkz4c7wh7dm8rna2g2zf9i97aaajlfqsr6ls1d9by4zn2";
 "photo.source-18739"="0vxja102ajrygarqfg0y7bmmhx2my66dlnfp7rsc4kldi1g2fs3j";
-"photobook-0.1.5"="1pnkcs5mhdw18pxkd8wmlna9c5z4jb7cbmvr97dbld9j1wwxkzbk";
-"photobook.doc-0.1.5"="1y7x5pjfp3p2am6ybvkg2xqibggzzxzgx1bhdc0gjb4calw6x0dy";
+"photobook-0.1.10"="0h1y1nk3bn4ch1jx5k4y3bwyaag737svkw5bamc25f95i3nknfzd";
+"photobook.doc-0.1.10"="1jacbv16ijyh3csjfg9r8v4kvfg60cclxk0jpapdqz7fyv93y003";
 "picture-1.6"="1i2775x39n5vxspy555rwn86384yyapl70kcfir96prp1846rfjd";
 "picture.doc-1.6"="09gid4bb2wbmaqday94qj4r44cpk57rxpzg6grdcjg4y1dkjph0b";
 "picture.source-1.6"="150wv3jb6hspwhkjnbxff5izskvqfvhvqxbw773qikjjxsaidqgb";
@@ -6607,9 +6629,9 @@
 "postcards.doc-21641"="0cvhgz34mplpjzzdpy2bxblmz6qxxlshadj8in810g3y22v39khl";
 "poster-mac-1.1"="1b1zq9ay8fxqn9593f8n10zlkirw2b0piic71b9fx6s9a7x82w7a";
 "poster-mac.doc-1.1"="0wc0194ixbrl722a0djm704fmbf49p7vxk5fyv6d3gyznja54fxz";
-"postnotes-0.1.7"="0q7dmhqqv0fxawrkrfjk6pz6z1bb08npas8cfgab2gr4ibj0ciqp";
-"postnotes.doc-0.1.7"="1d8siay32vpfihd97q3lvkww1am735nbq9sdzvx35bkyv6h1477q";
-"postnotes.source-0.1.7"="0zf3z2qnrfap1xhvyzdz5yfkzckwk8qbjb6lsw7a8b38yr8lm1cd";
+"postnotes-0.2.3"="14ww41vw8ralwq2ajcb3fg7l46nrl1kjjpipd36hn83a5a5949nz";
+"postnotes.doc-0.2.3"="1qmch1b2wcs2rgna1dcpaa5hib2fsb4bgcyk9d7y9fc69klrrr6r";
+"postnotes.source-0.2.3"="0swky5d52qdxgbhrsp0ryvamk6z2b9n8nb8jankayx5b27p9zk5m";
 "powerdot-1.7"="18ii2qxz7c0wal5xqddyzd2j933lg4z7xglxsxn3vgp8ffq5kr3n";
 "powerdot.doc-1.7"="0zpwjmvlckp46ycdldf049s7qvgbpx8cx5zlvzh81qhgdlgximhl";
 "powerdot.source-1.7"="1v7pxr134kndndk542f7bs34c5kj85xy0cwvwlhnav89ff2mh5hg";
@@ -6656,9 +6678,6 @@
 "progress.doc-1.10"="0r303dr6yf1r5kk38c1njjra7vgvp9qrblxj7zd8fw1vlq2sc7fg";
 "progressbar-1.0b-4"="1d0d6dy9ssiij19s259d2ns2k5v2ccc45anhz1qm7iqli12ij0m3";
 "progressbar.doc-1.0b-4"="0bxsgvql8hqv4qw1pv18vdxcshphdpbb29mqp3pbbsd4crp4qb5z";
-"projlib-65023"="1iscm78rn59gb7gxrbsa3kagn0k8xvx3930z1h94gmsq3im2kh2d";
-"projlib.doc-65023"="0njdxan1wvkwqlynspy6yxn4rv1khhxrklhv0a7zf5krq2v4ld0l";
-"projlib.source-65023"="0jwr41gfhzrdbjf1x043jn2h7azag1n9x26bc52qrq29kvb04cnn";
 "proofread-1.04"="0gnn7zkzrszglcqcwz8c4i13apildg7s93rkp1z3h5m2gr9w9v42";
 "proofread.doc-1.04"="05g3k77vczdqk19gigs9b6w8rccvcr0d382ysqn0yg6cgd70bi43";
 "proofread.source-1.04"="1mggrm4cfji364ylra3ffdhwbx6phcxwfzw2mwls00msk7jdzpsg";
@@ -6685,8 +6704,8 @@
 "pygmentex.doc-0.11"="1ppayblsdpmrd9sxfpf0kqhbsxfd1fgq69g48zj9jzbhncwx0lhp";
 "python-0.22"="0brs0hydf9vqwlvxipfrfxqjblazgb8ziy4brp2bi16bnsz59ykm";
 "python.doc-0.22"="0x1nfbv7fmyhzhgy6xsndhd9nja8xbip436kg7ygscjxml6gibgh";
-"pythonimmediate-0.0.0"="1hwav442ykfcw6x0kgr85xy6w6910mhwmmamiz3y9cnbi2smgchd";
-"pythonimmediate.doc-0.0.0"="1ncdadn0vsd6jabgm56cvwbaxnkp2hsm9ajil830qm9ng4nh57bv";
+"pythonimmediate-0.4.0"="02p0gnlbkfb2x0d502d2bmi5c4hz3ibmimns7r2bdzqfvx7ynkhn";
+"pythonimmediate.doc-0.4.0"="1v2h95ixg3fdpql2c5sk71g76j8v9244gcjfzsilwl77fxd125xg";
 "saveenv-0.0.1"="0j100cr2w7qii9q1inmmsyf5xbk729qypnyrin0kwf12cvbj2b3x";
 "saveenv.doc-0.0.1"="1j5zi0qvkwx4a1099ydx0hwb93cdmf7y2q6sa28p3gpsh0fph8wq";
 "qcm-2.1"="17pryjm0r6w559lgkf03aws720zsap95azfbixm7p8lr1gy5nwlq";
@@ -6778,6 +6797,9 @@
 "repltext.source-1.1"="1phbwgyvdm6a616wzvlc24jm40k4hbyjsnim5g5jr15phlsa6r2f";
 "rescansync-0.0.0"="1qdcw7zi965khz3n3xrwg9x84hi58iv8sg9b3dwn36cjdrxvvx83";
 "rescansync.doc-0.0.0"="0szxkc0bpj0in2mlms1m381hhrajvwhp4yk17daihnyyxx6m78i9";
+"resmes-1.0"="1g0gqmx21s3y5h8ll5ymgd2k78mdhw3nrzc3xnpihdvh4gjqg9zv";
+"resmes.doc-1.0"="1qpmlhw6rxc8jmp44349x428f7mrs6dr07l5q20v2qj3xnnicjzx";
+"resmes.source-1.0"="0s5w0cf3a3106v029yndv5hmx5nrdk27dwbw18wb5q8m49gn6pz2";
 "returntogrid-0.2"="0cfik8imjgrhgilc7005cgy31h1azjk15jrcvd4vpf3g5ml1hpsg";
 "returntogrid.doc-0.2"="1plnz793nhiq9y89x7i51bgp9d18kbi0bpwslg982hf65yklmiwr";
 "rgltxdoc-1.3"="10wpra4vdjvjsq8n6iz33mnl69b13jbslp6ccf5b61va4v66z78l";
@@ -6823,8 +6845,8 @@
 "rulercompass-1"="0ky611n65rvaii9b5ic498p7divfm71h843bv9h70v363mki9a0q";
 "rulercompass.doc-1"="0wqgnb9czbmymzmv7j48lgdv8s280id5sh8mwv6p0jqn69zcpdd8";
 "rulercompass.source-1"="19943zfp2rm3gdm6w5db01w6r1nl0kn4zkrnnxg4ic4n3gvv76px";
-"runcode-1.7"="1241lmw6gqm9y7hj58z8j2lf1j9n3xjmd8wz8lxm1hlqrwzv61hy";
-"runcode.doc-1.7"="1mbdxv630qqfp0bmydz36a13dc38qjjkdws5xcxlmbxinq52q44n";
+"runcode-1.8"="1vanvfl5v80zrddm9757khwidrmxyfl2w9357nrham7mlv9p3p2z";
+"runcode.doc-1.8"="0gqsxq7v23pc9iphxd2b9d75bsq4w4z3277byra0df26r525jd66";
 "rvwrite-1.2"="0gb5j3hn1s28ar9d30g158xfc2vaavhm8cbmivr1ba32njdmmqcq";
 "rvwrite.doc-1.2"="09n9p9q4pjil70ydk9cjh2gqxdslnhrg9avfhj0vvfacknbmh312";
 "sanitize-umlaut-1.2.1"="003cav6j6sqrcy40xx8djg959mmz8jc7hr5vvkwnk7y4vnljay0v";
@@ -6849,9 +6871,9 @@
 "schedule-1.20"="1p36glmixr7qadjj91j9rlzph03rp8hfrrfdqcg1ayyzkinr9a6i";
 "schedule.doc-1.20"="198yxgq4255q9bqjj141d5rvzjxq4rw1363gcwy40yagqs4xhxs1";
 "schedule.source-1.20"="1gc4zpw7ylnnv9k9kbqjf8r83srxbiqmqyy10xnp8gx7xrnbmnyx";
-"schooldocs-1.1"="0j8s5mcwgc0xgbp5n0nhgf4v8jdzqdi0iamz8nbny2makz2z1gab";
-"schooldocs.doc-1.1"="1rmjx23s5r4xz3szpq4jhapg18cjmpzmad8whgyzw7hxcxd0cl8s";
-"schooldocs.source-1.1"="0qkb9912i062g7a1gr22d1dhzy05sr2g513sa07h02y1kblcf3sh";
+"schooldocs-1.2"="0snddqcm935ym1ky4sfqm1br0rcbv4kfl4q348lfx865c26r8gjk";
+"schooldocs.doc-1.2"="1sdnkshpdwi3dz8h5s49igl29s594kbbi1kcx4czq1hcbhdca2nj";
+"schooldocs.source-1.2"="05nvr5j1y5s97yg722drrk0df87l75khm6ld3wnwdhfgarsmw5i2";
 "scontents-2.0"="0hl8sr63b1z8slq47z4spl0sikxdyr0im7zf0vllspaxqfb4nh6a";
 "scontents.doc-2.0"="1gapcq60n48byiv81czq8h93jhhmhx41iddynl1mq5j2icq5g6wr";
 "scontents.source-2.0"="09n4i1jqp8pjdr9qrk956vr335cc54kr5fjlcdavxxkrwdbzclhr";
@@ -6888,8 +6910,8 @@
 "selinput-1.6"="13pxqr1mzkblniv9rcrr5aslx887xjahjj9f27h7hpx6r4g7hk17";
 "selinput.doc-1.6"="0pbqch586hfwfjbm68g7i56d0jcgg6w26k6g2qlfdbk8mjpc4r4v";
 "selinput.source-1.6"="0na8byym8s2y2jyi1691cnw46izri0y6ybf3g0pmil2hpxy544ry";
-"semantex-0.523"="1r3dl5fi1y5fvcbdvgrmaixzlapwjxx912i9qsswhx7afnngbyhb";
-"semantex.doc-0.523"="1lp3blr1svwzkc755wzlwvsqwmjsvmvzipxlxblsi693s56wwg7l";
+"semantex-0.525"="0hzp5i2zdnw30s5kn797bwz0hi8ldz6x10x6bgp157n9hvipqaj3";
+"semantex.doc-0.525"="1kd48bj4w4rjk8zswgxgjxj470zxnicr7mbq9lb7crra6ldprp15";
 "semtex-0.45"="151sfla597g5n0nv676sbv5m4kfpmjli7ddhd1yzsiqa3axw7vhm";
 "semtex.doc-0.45"="1mm9ya9ls0ryfxzkss3lfmslw9wrbcq9d5abf022ifbs5184rgnr";
 "semantic-2.0"="1vf341vlmgc00d6srdwjm0a2spad674439ml9k6ir24pll39ia73";
@@ -6948,9 +6970,9 @@
 "showlabels-1.9.2"="0v3azvk9minc28bs6n7g75c0bimnf2ilw1379fd8hic59h1vgqja";
 "showlabels.doc-1.9.2"="1l46xsay07ysg4d63x7mxkavvd9cnjwmfcmgnsh1pg4icpyhs055";
 "showlabels.source-1.9.2"="0vmh36ia7s85bx51hddga0mxb4lcfrmxk31zidqk4kkpqmf20mj9";
-"sidecap-1.6f"="0ars40rnriqyqiakw7fcd7fq5xz0wmhwgg4m255fawvyyyq5d0n2";
-"sidecap.doc-1.6f"="0873j451nsgbh4jvzjs5ppfyzmrskn7rfh29m7p8la0z686driw8";
-"sidecap.source-1.6f"="178l2mniiniwp5irg31m47janniv182m30llyzp5gplv3vfv93pp";
+"sidecap-1.7a"="0g6j4mh0nxvdvqyaz0b0756y1xx55zxwrn761xz39mmw3sca3yzz";
+"sidecap.doc-1.7a"="0yynp2qmq6df47fzns8jq5hkbhkj8p3il3prq4l7pg1129278my0";
+"sidecap.source-1.7a"="0h0s7hpmx4ha318zkz6caxq2ckvwxxv2fbkjy7a3pfs7q2x9fal4";
 "sidenotes-1.00a"="1ip6ybhfihbbzflafcqfhspr1d1x44285msahf7f9ilmhd4536x5";
 "sidenotes.doc-1.00a"="0f4nqbw2y36ymgcj7ywy9gf94pcg09aqk4kjpankksgwmvyjbsxg";
 "sidenotes.source-1.00a"="15kz5d5038vi03siq6lbbf97nng1024hx8zzgrasm304sf2c0ggl";
@@ -6960,9 +6982,9 @@
 "silence-1.5b"="1zixww8d87jymdvxjzjhvhjjr5f8fxhbjwqyzivki2rhw6dpsp2v";
 "silence.doc-1.5b"="01qb2z62da0ji751i3wbhq10rfin23q20r7wr0fzvqv163niy93v";
 "silence.source-1.5b"="1m5xiy5j8l0xy9731mf0jvk4f6bh7d22vbsgpjpvy5r0vxafgxwv";
-"sillypage-1.5"="0dyj3v3jr9hicqdnm1mf0cv16cqz6zr1y9ng6571z7cp43x59g73";
-"sillypage.doc-1.5"="12m65qrpyg56h9hvllj4j0b19mdrhm897dhyksm9ghrr91mxmrp7";
-"sillypage.source-1.5"="0rlrvx27531c3pd9v1hvh7wsm0z47771xsxf2174399jsb06k33y";
+"sillypage-1.6"="11r22wb3701sbkdwcz1bhmiaw5xv0bajzhfky1yld05w5phzh21x";
+"sillypage.doc-1.6"="1cdahbjw4p317iyr0drpvqw317cjlmzkpjw9s61hv95297156cl6";
+"sillypage.source-1.6"="0ya6g5jgpip7b18av75ifia998z5pz3r1sixa44f5f1vjmbxvy4w";
 "simplecd-1.4"="0d6gw59xd1mqc991yy6k5jva88j66pd69k5sl5jrysl4rw1mxxng";
 "simplecd.doc-1.4"="11fzk8p911v1myphghzpmkj7k62vk4sdicirys1jh8rd2cpnnwcl";
 "simplecd.source-1.4"="16g6fcsr0nw7isqimjq29g0zyf72z11qx9xz36zq8z4khxsl09ln";
@@ -6971,8 +6993,8 @@
 "simplecv.source-1.6a"="05ikxmvflqz5m3qallwgyncda49dzq4fibllgc1j77pdh99cy3vq";
 "simpleinvoice-45673"="1mdc6aij1id1jxlbkwfdvdv87yh55v5qyazfciffpbf91qm87z0s";
 "simpleinvoice.doc-45673"="0lvk87l3xafl4s303rhmksfajnw77qd90yvzhdk126dp1prh7i6p";
-"simplivre-64280"="1r4k6mnhsmsm8rmjqk2qyabgzyddx6kr2qna7r1sdiqv6shigfwk";
-"simplivre.doc-64280"="1yry311xr344xvxys97ndwwn6f2lsvxr15dmybwmz3y99pcahn49";
+"simplivre-65475"="08irr0irj0hnrmgv7xfab3dbbl87s7anwawnnbraj5l3d6p9qqhk";
+"simplivre.doc-65475"="0ar4pww5dn3q39yydm0bv7jwlcf4dp0h23rx1h0kk83sivgsj19r";
 "sitem-1.0"="19z6zmwriwrlcpgdgn5yl2bzbz0fkn3p8g5hrwd368bq7wyfc8mi";
 "sitem.doc-1.0"="1wwnqhl3ffqnp5qxddicqwsr7515g6j53rx1rgi9b5z3cv42f5qj";
 "sitem.source-1.0"="0y249krv2h241wy8xbi5xjrxypa56zipi8fbmqbziw9cjjnz993v";
@@ -7014,15 +7036,12 @@
 "snotez.doc-0.7"="1v82nn2y2kk8h34j8gidrzlx8nwah5wmdk3qigw8aa1q7vrkj5h6";
 "soulpos-1.2"="033c0arpqhrypwy5grpc8c6dnlc7k86iq5wglm6r02bdk4mcw7hk";
 "soulpos.doc-1.2"="1g99lgnl1m7nffwdfhmmb4zgjwpaiq3pggbgmi19p24z7qc1sjlz";
-"soul-2.4"="076n834lx41qw6p661dgq6massdxycq8b3gl4564pkh5c1s98ggp";
-"soul.doc-2.4"="0rgd9ij3hd5934gi2m23hj8rxgqamprlkb3gj921kslx32rixm5y";
-"soul.source-2.4"="03ggiykhjpxnklnzyhc36b3pf83nfa6nn1swxygkn6jnyqcypf8p";
-"soulutf8-1.2"="11phsqx1vqm41d8cvasn53j1zyl4lkwsqnbpk1hmhn7pd6ypv9yh";
-"soulutf8.doc-1.2"="0fkzw127xjxx1z3q9ixqrx93i2j0mn85h7xbfdxkjh6f9k52s333";
-"soulutf8.source-1.2"="1k4xal0bk73z1zkgnfydjh0m8x92s1jx36nqqddfmykycxij7ypl";
-"spacingtricks-1.4"="094lwcn8mlzkkq31m0dwvmn279zghzvy8bd1x807knsw3zx95n5v";
-"spacingtricks.doc-1.4"="18p3m3q4imavrf8fcb1gvqjvps2fnn88b5w5256sg08kra65jdcf";
-"spacingtricks.source-1.4"="1vgg4h9qwgsm2c9iy6inih5fpa19flv887c8cqafd3na65g5g9rr";
+"soul-3.0"="0x1g88ayix00axma92sl1lyqhj955pvkwp3iq1372kx4pacln50c";
+"soul.doc-3.0"="1z1936dq34x48rpfh4fymdsp5nm555bcvq99j7msxshphkv5p3ip";
+"soul.source-3.0"="1c5g5bryj31vjfk88aszcf938zmm7n84aa6s0ll7k555fm5s3ks5";
+"spacingtricks-1.6"="0a98ca45sl8r4k6x69084p2nsz2yj06x4zvki3fmzhpsr97xypnz";
+"spacingtricks.doc-1.6"="06lmv3qcfngdrm32h703qfq2s91spakxbj0w0xc54xf32gf501ab";
+"spacingtricks.source-1.6"="0p0qh3wapfigl8hjpam2540svqs680vkbadh476zmyvxacvmbjqx";
 "spark-otf-0.05a"="1z9k0dnahkq2nfqs3plpyb3fdj48x8vcav0ahykd554fygv5h4x3";
 "spark-otf.doc-0.05a"="07pq90xx911rdjdyr0sxg4zqfg1yb5kn43xc5l6hn0y81m9j151d";
 "sparklines-1.7"="1mb6c3mial9ashhvmjhynczjpb462j18qyy2an4ckgwgc46pwhp3";
@@ -7184,8 +7203,8 @@
 "tabularew-0.1"="0g9pbr0vhhjj2lz9bbgwvm49wl8bdwvv1jjggq2dnwwqbr4vc4p8";
 "tabularew.doc-0.1"="1ff62dxvnhi4q1gy8f7qhc0zz1jiayl6f8j96dp0rz38l2is7m86";
 "tabularew.source-0.1"="0sfpx5w61xrmmgip0c746mghhj06r2mn2jmj56zingymm2djiad1";
-"tabularray-2022D"="19jvrg6mj66bclsj2fy9minb0aafdr1wnibnpp8i6xspmclyb24v";
-"tabularray.doc-2022D"="1ypr3ddvcwg6xryjbcwnab35ympxsvk5g91rw2xx39rjsqzw0ih4";
+"tabularray-2023A"="1alrp56nra7pcxg1km7p8km679dkkqcsj7m85r5wm091qk7gxhf4";
+"tabularray.doc-2023A"="1jkhrvq0xwr5qp88zxj888j0grj904vljvfahd5azys05n3ahv33";
 "tabulary-0.10"="0z57030pg4pfvghjii8bgqba589cabnj8qsr9w1abpwp3pfy4zbs";
 "tabulary.doc-0.10"="08r21q2h7sjrk875x84lngcqgiy5ijik56ly7g7wyzhq3jyxds0f";
 "tabulary.source-0.10"="0lsdypidawyhzj73c3yjs8k4xy2sds7gz8gazxfy460zndsz675m";
@@ -7193,9 +7212,9 @@
 "tagging.doc-1.1.0.1"="1pv7savkzm6jhaliw5ilb7qmhlj3iyiz2w6kxchanwrg4pnqabx7";
 "tagpair-1.1"="08qjcwyjs90sg8agmpmm3122h20898hy6dwkm0lk3dba1j3w5drj";
 "tagpair.doc-1.1"="1dkn4gq6zxfqw9h64h7ggkbyrk9vzyax8gmnk9qk8dccdvf5n2sv";
-"tagpdf-0.98"="0q7fiyxsfv4i7vjji9qplx9mr65h8k4r503v2lpz0nyp12lzmk4z";
-"tagpdf.doc-0.98"="16mai6wlp6xgqk25wwf30mid05rimlwn8z2wrp3k40r2h9lvzlvr";
-"tagpdf.source-0.98"="0sla238kq284y01h2ligz6358nbzsrgrd7hd79wa3hi2bf6x8bc2";
+"tagpdf-0.98e"="0199pakl7j6992x1f6l8r4mgnjglzjc2gxkvf4yh680ciq0hl2cw";
+"tagpdf.doc-0.98e"="1z3ryhmr6rkj9v0sq6v1pq1q5hvajvl2akwy4k9rsfmyzyy2fnws";
+"tagpdf.source-0.98e"="1z82dzv40hx86fjg79x6qs1hjnc7bb9pgji3jmriv3ihsi5w297c";
 "talk-1.1"="0i9whk49bahsm2kbj53pjdh3fpg1ixfyxmfvcp563ylr8j2ibimb";
 "talk.doc-1.1"="0rgil00i39p2agz9fybg0h3xmpq0wxcpjcqpbpzjw5lcf4mpcni5";
 "talk.source-1.1"="0kdrknwwivyxiyn8xqappf3k5l1brkwkkhjqa0l5n0abzafkjcy9";
@@ -7270,9 +7289,9 @@
 "theoremref.doc-54512"="0zs8q0xzinp2ih68c75yj9mbjh1pmpqc77xg9hmj8n3gpf1kmmi5";
 "thinsp-0.2"="19d23nm17nybk0dda4l05dsbs1695fk0kl86vc713l19mzw4l7fw";
 "thinsp.doc-0.2"="139v4dmnbhsd3nqlp9qknml0glfmh1f9dg0nnixggf19lsayn27p";
-"thmtools-73"="1jcwzs5xh94q5s4cj8pgbwccswlbhr14v7j8fs1x47yim17ldypv";
-"thmtools.doc-73"="1gqg963q1n2jjq7268rrwpra6ggakssx0ganv4ggfz9i1l8xnb8i";
-"thmtools.source-73"="05pac5ybrzinw42n837pmq70bbq9bhmgq30ml2gg4pgppy45d09n";
+"thmtools-75"="1nwiv4b5mz42g4x2gi41n02q8rxb6mqc7g84p297b22j29ppcxfl";
+"thmtools.doc-75"="0vr05h3lyadhca4wnhc4jbna5mzpm5pblfccbl66y09g35mf784b";
+"thmtools.source-75"="1dmw6rj7w97d64g8fgi3qgmsgy3065d6r6bmd30vj57pqhb5dm37";
 "threadcol-1.0"="1whvgb3901wciijafawy5pgnr4adpix2a6ph2v52kwglg68s2ixa";
 "threadcol.doc-1.0"="0dky94vqbqrba5hsvgs1sllwy6cxmr6mlr6zv6qgn1yrrmjxs0by";
 "threadcol.source-1.0"="1qd96xl0h8bnp5mqbh8mprdfbw1bhvp60dhj46hqyl4w7f61jj20";
@@ -7290,9 +7309,9 @@
 "thumby.doc-0.1"="1v1934z064ar7zgjpnpxvmc7bkaq080h0hka0snkj7kwqm6sfry7";
 "ticket-0.4d"="0qpqzff2hj01g2k8nq9vc91l4zvg7kx4p7nf0gd6ji9lf0q5caaw";
 "ticket.doc-0.4d"="07xa7nf2qgvjq5pzaj7k75wzg2ldcpxb47ypx53swssz277ixvp7";
-"tipauni-0.6.1"="0dnkvp8sl16dazkqchg6f3z10rl9i6b79syflwn2bzq2ysk98kyl";
-"tipauni.doc-0.6.1"="16zf7fzgy4czzjgnn7dx2y2fg0pmkvfkpljs0qwyndsq0qf31lpg";
-"tipauni.source-0.6.1"="18ha1l0pq0aqhybsqpff5wrg0vfxz0sdvg55676s2sl363hzcmg6";
+"tipauni-0.7a"="0qzwx1rd5wqrqwlqrgd7c8czsvr9hy5bb2dljf2xqnm0c1c05496";
+"tipauni.doc-0.7a"="19azyp11a949kqkwph7b47128fdh7k80lf9ia34ik7a9qw1gri73";
+"tipauni.source-0.7a"="0m5kfcjk6c0mm40mqbsfnp1ddha617d4sl44dv62nj3rkj3shqvl";
 "titlecaps-1.3"="08cy0cmrp27iqa081q1y3ibif6lv2c83lmvn9d7r920f13dpmy7k";
 "titlecaps.doc-1.3"="0gmajngp9cgi10b9kgc4ra020drmm58f00vh1yv5qj3x8bx5hihf";
 "titlefoot-15878"="0c0nhhxhb3hmvg3a64lr5npbqsmrmprqqj9pic91j007k4s1in4y";
@@ -7308,9 +7327,9 @@
 "tocbibind-1.5k"="1swxyai6gqlz8zjah2qnz9c5dkd1smpk163b56rba0kx7zcmvzc5";
 "tocbibind.doc-1.5k"="189qi2qyp1nasg9w902ydk7rlzxl2qww9w3p5s3p9ywchvm1l9cf";
 "tocbibind.source-1.5k"="08sr335sgs7hrhd6cbdc4dh3f8m9fpplv72fk54y57rx59l8wxbs";
-"tocdata-2.04"="0h5j04ycxrzycc0wa6mrzh03xlg4hrqgqnbm749q6wd0qzx3ic2n";
-"tocdata.doc-2.04"="0m5r2livan96g4p489qrgh3jf7k6fsn551hapj5qv796lljzv1rk";
-"tocdata.source-2.04"="0bwcv3hq5ldjx3bx88sw1ls3svrgql8zrngp8bqfj181b96fcms6";
+"tocdata-2.05"="02kjspmrr0wla123az64wxrfzcbyxwp8v2kqpk8c9j045v3vv625";
+"tocdata.doc-2.05"="1lqy5qw88n2w6hjgl4q0a47zfrv0dmzipb537skw8xgh50ckkda9";
+"tocdata.source-2.05"="0x38b040ldxyirmg8pxpjxry5fdjc91pnldhjhyp13v24514wk1b";
 "tocloft-2.3j"="1vp3s7q0fcyfj2ksk61gxdjjnwhd62dzfd94yp7y3qfy7x8hyqxq";
 "tocloft.doc-2.3j"="0zjs0ldib6hm3b9msb5x7r64ddknqwf6kkc9cc82hbla9wshq4qq";
 "tocloft.source-2.3j"="1764cq3d9ad5gy3qag6f6wxgnna0dhk3rx186jqjpqyqli8b4lgh";
@@ -7320,9 +7339,9 @@
 "todo-2.142"="0chmi45gcs8y2zh24072y37g3z62ixpv8cg7ck7knmkzwfzv5i13";
 "todo.doc-2.142"="0n6dy738cj08laf4cg4y0sadzzzrz9wa9m87hwkya6c95znl0091";
 "todo.source-2.142"="06xpbraybhf1wbl979653waznvgq697jq61xcpz29gn159li0pdb";
-"todonotes-1.1.5"="0ij5yplrqh7c25rcqspl3hgmxrj2z7pagnjy6lciwhqjr64y312k";
-"todonotes.doc-1.1.5"="12i10s4p5nn6xbqp60m8h5n8rpywkl9n9nznwqnchcg3lnzcl27i";
-"todonotes.source-1.1.5"="0hzq6kr02kml54hlzbg0jm19cnhhs1b8lnp4ckmg9d1hkfq55zvw";
+"todonotes-1.1.6"="0r56xifccy26k5xghfsrx2jrywpwjx4hnirj2f1h6j3qhkycdd4d";
+"todonotes.doc-1.1.6"="01p6diqs6pg1xxn2fx4fs2vczjjnlwrb6zlqibin2qazlnni3cxb";
+"todonotes.source-1.1.6"="0sn25wgj0wnj50n4d6ybv1wnphchj00lxdb1x8yrj0i2jxgix195";
 "tokcycle-1.42"="0cl2m00pl40pi6ycw1c1kndaqinrqml5gl88kh5d00dr7g9p50rd";
 "tokcycle.doc-1.42"="0yy8m10q7pzwqbf371w7r2x1x872idjlrh842vkxk51ijb1441a7";
 "tokenizer-1.1.0"="04b3jy76qdvbq9c6yc0lmq99jqcprmcfd602zm6xsr0lwmxrp1cd";
@@ -7343,6 +7362,8 @@
 "totpages-2.00"="1z6brrn4kb6w6an8iz6das0yykwj2cbaswa9wy2p3rfc0w95x0ms";
 "totpages.doc-2.00"="0nm7x3rv5rxg40k0xls5d3s5dqrpc8vw9g93sa3jkdn18xkxh2zs";
 "totpages.source-2.00"="1b0glns220jsmn1607d5f44k2lijjp95cd0dkxabdc3p576ipmmv";
+"tramlines-1.1.0"="1x4mgl4rpfijka8bww4qhv3ascqn4plm0qlzpyhz43frmnfwip6s";
+"tramlines.doc-1.1.0"="13zwximglba27mr2cxs2srcb6hwh9jcz3na1jgqh6z6wf2s5x7m8";
 "translations-1.12"="0cs8wvvcgmzsnx2bv1qhmcmcswpj6kbk79573yr9vmiws43djng2";
 "translations.doc-1.12"="02z9ggyi83hiqmvc53wgvkxw7q3jn8sb5vd1pzxmw5kvhdgkzy2p";
 "transparent-1.5"="0rq67j8rxjcxp8kwzfzb3ppxbb74sybl58yzq318b8663g65jws5";
@@ -7401,9 +7422,9 @@
 "underlin.source-1.01"="1mczvxrhlipisffdi9jv5m3d2i7h34jpm6vi4dbl58cg9sasc4a4";
 "underoverlap-0.0.1-r1"="14cknh021b4qsymflf0mnv8q2vvhgsf2088s1g6pm8ckpx7diq0r";
 "underoverlap.doc-0.0.1-r1"="1h1qvk9m04sp0nm4acj7kfib5cfpch1mkpvs55mnqqsgasgnymjn";
-"undolabl-1.0l"="0arbapmf5dfxaiakj12nkca4qbyyhc3idjjhsahv8brj886jg8zz";
-"undolabl.doc-1.0l"="1sx0q3084dkfx1hkbjfc0cwhj4mim0gpwr448iafs11czi316x6r";
-"undolabl.source-1.0l"="12msg1fh7f978rw1mjsrprqrr1wbvlfai3vg61dzl329a1wc39mq";
+"undolabl-1.0m"="0arfny56vh389m89jz17mr0xbdlmf3mf0wiilmkdia4sbnbv3g7z";
+"undolabl.doc-1.0m"="0802sqkxir6gdkxkaxh867wjc12m8apvlhycl19fmlbivg6pfla6";
+"undolabl.source-1.0m"="16ymhmx7by5pi36z6l4l27z1x8pkpz314jfibpc5azjmcphqhjq5";
 "uni-titlepage-1.1a"="141wbn588pjavsa3d7v1c32gqgkl1rpxacn3w6v4nxb3vjw2mizv";
 "uni-titlepage.doc-1.1a"="1g90i5kdikdxffk2lnxb9a446hbx67fwv7vba5v5f63rzjjqn2xv";
 "uni-titlepage.source-1.1a"="0vzxcindsr31b2bdyi3zddh42l62a7nfc8lih51h69ycp8r80har";
@@ -7450,6 +7471,8 @@
 "verbasef.doc-1.1"="1rd4mhi7w3nsvvx0zxv43nd4ldw7if1zadh0xxbzbjaljypmshi4";
 "verbatimbox-3.13"="0sc53aigy5jx7yvxpms4f0s9msn6szkqmy2jm2ydh8ac02f2lqpb";
 "verbatimbox.doc-3.13"="1gbli0qqgff2ph1lc6nhykz3bh8f0sl18rnk39jqs4xpzr7m641d";
+"verbatimcopy-0.06"="07syldn58zwnwxwdsmq63qgr2nb0bkl9di09knska9jk0c50ql1j";
+"verbatimcopy.doc-0.06"="06awpisb1y773xsijrifh0121pq6fdzp2ai0snxny5vrpmyp412n";
 "verbdef-0.2"="1dy1h0vcknnizm2f3zggga85slga5p77aw3ll5ca3kx5qxp1xqhl";
 "verbdef.doc-0.2"="06zh9v72ywrg84wlb96p0y28sn9919pn2xjgqhaii6irdf3hmlma";
 "verbments-1.2"="1iv716hb41cy7bc7bk2420lwdykpccyg6wxvbxb8vk904fsgdk2a";
@@ -7503,9 +7526,9 @@
 "widetable-2.1"="1k1jnl3jbrbcc55cl34wj3znfay2wnf8k8sgdslicvnan2j717zm";
 "widetable.doc-2.1"="1giy0gvhngsmfwc87j9k2p820j6bm2mc2r1kbcl4ci0c3383mify";
 "widetable.source-2.1"="0krkcnxzjrn7lqd0qh8lgjixfpd3c5glvj1ilqhak9ifd3lq8r4s";
-"widows-and-orphans-1.0e"="08xklnxpvnb3sq08hlivkwb4a9893lrfk2hnli03g2db7xngry1q";
-"widows-and-orphans.doc-1.0e"="18ibb9qlyb3wdrgzqxf9dip3i5h819wcf80r0c54zsdxvivwwfkn";
-"widows-and-orphans.source-1.0e"="154i57zgqcps29j976hbwzqmx19h2n0i1vghk41a0c0k8f5c5fgc";
+"widows-and-orphans-1.0e"="0q7125vnly2ky6w2187dzhga2p6bdbsv7ql785ns4n7frnqz9g11";
+"widows-and-orphans.doc-1.0e"="194imvr58m34r3lbqzgws1g8wlhwczgs1wwwlp7gpj2wd0bicxxn";
+"widows-and-orphans.source-1.0e"="0cxvqcccgzskczp7n3hp1jwf1qklwrnbfb2g7ikdirzblscbc4i3";
 "williams-15878"="0pbij6hwk82pmddl199sxin34fk22wzvgfj0dpjsg0i5qrsg0qcl";
 "williams.doc-15878"="0vvz6fsh4vlhwirz27gyni6xnqinhl6iymgmfhlcc808y7fawcvq";
 "willowtreebook-1.03"="1g8v5am9pzabiq5l5306q0s3a9zmyrdx5s7pjbpph08bhqfhxvvj";
@@ -7519,12 +7542,14 @@
 "wordlike.source-1.2b"="1azirdir33aixw7zh9ps9npxy1v8ckgsdjb96ri1ma0cy2z5d1ij";
 "worksheet-1.1"="1rsh38fx4ayai0mlakqgpzxpnwp6ckzjcpiwy7aqlpia0504jgpc";
 "worksheet.doc-1.1"="1hagdjrf472ip4jjkrjv6mgycwjlhbggval7kkk449i0xd9kiz39";
-"wrapfig2-6.0.0"="1l8w1w709vp66pcr59qvynpygq031rkq4vhc3f7xnmqahpdd35gq";
-"wrapfig2.doc-6.0.0"="1jv3zc4afzl54fijc273mj017xzv420608vm44rsaxi0nghznpap";
-"wrapfig2.source-6.0.0"="1fm3a22bysh83b67b4h34lj5d2slj8mwqgghsac1imc9a2h1sabn";
+"wrapfig2-6.1.1"="1j9shv3mgxmi4kd6jak97kcis7282gm1s9d173059iq6z9iz4g3y";
+"wrapfig2.doc-6.1.1"="1bnkqmdcmjywqm6qkl25lxgvbk5l50c3pyx68zx8g7jjy954s5iv";
+"wrapfig2.source-6.1.1"="0w46ld38i7acv0464j1ipmd9kdsigyldijy247rmgk05znzpadaw";
 "wrapstuff-0.3"="1w5bnl5w2shar2qg2lm7768n8h4qvgzhxaacphjhqbx9zb1r20w3";
 "wrapstuff.doc-0.3"="14npfsqr8wp1bgq9az4x23rmkkgpn37w4cr6c43wyqs7cvizz0yl";
 "wrapstuff.source-0.3"="1x34kkbv8n8c89x21ikv2lyzlk24qbwcpcxwgv13lqqlcqxfz2ix";
+"writeongrid-0.1.2"="1fc9s2xac259lc9i8hhmxr3abpvbj620mk0izz50b33j80211ipd";
+"writeongrid.doc-0.1.2"="1c2kjcdw8lscbysqnxkicbq5smzpg9584zvn7psfvnys8qc4kwm1";
 "wtref-0.4.0"="118ajsdd1d1g1fr23pnq1zrdczl5qgdcrqp4ly6kp8w2iwjhqdn0";
 "wtref.doc-0.4.0"="1nk1w4w8x9xfyr8wdr68gx24vw3arf89ak72rbiwjkspzjl1h9fa";
 "xargs-1.1"="1r4giz5gp4pcnxw12lr8hnsa45yv1lm1ddq6g33rkgs1qjzkhv02";
@@ -7621,6 +7646,8 @@
 "zebra-goodies.source-0.8.0"="1as545i691hxy3kqnn72gksgqc9hswz7n48zzhmaz77q6ilnkpkm";
 "zed-csp-17258"="0wr6dxb5ks34x8rzr7s2cnanxc5jawqcq0zhkmxrh8cjqcfkk1w9";
 "zed-csp.doc-17258"="05gm4s4svqa4wds0ichfm6lk39i0y54y33b96bnycrabggqfw77g";
+"zennote-1.0.0"="0sawds55l9cc15b3lvr5zswg5ybsj8v22kx8h5gn65g4j0zj79aq";
+"zennote.doc-1.0.0"="0qwl9f1c777iim45xcl00b3zidzs4192hyv6vv14a8c57h28j7zr";
 "ziffer-2.1"="0nalr6i8yqd1iq713gigafnh1k0h8kgiml1zwpk8rjyya606capw";
 "ziffer.doc-2.1"="1cr63lkqi9kpkbpnrwmbppipsmw6wy732wsaha0y9y5ia2934nck";
 "zref-2.34"="07xvr2jicmlsr6mlahf4vyh3f91bm94zay24gaqfj48ph9pakzkb";
@@ -7629,12 +7656,12 @@
 "zref-check-0.3.2"="1z8735nq12ikq8ldradays9yyz97mp91ah33j5dhp33wv4sap32y";
 "zref-check.doc-0.3.2"="0d2xc6xak46b10j61d43vy4vdq4pspjr5p65aqy1jppljcfv671d";
 "zref-check.source-0.3.2"="0xszpxfvxjrlm6ybyrh214kha3vw3rlvnb7c1ivvahmczi70n48j";
-"zref-clever-0.3.1"="0xbc325p5n97i3n9sqqadjfl86bxpbzycs02y7p9z0kd53axgfga";
-"zref-clever.doc-0.3.1"="1gyb93b9cddqgf7w4qbx6shi70ky2pqjnmhnd8j03l38z562qayy";
-"zref-clever.source-0.3.1"="1q28pwjwwym63xkbcscx4362bn34dxhvf2kngbr4pac6bzcyp1ia";
-"zref-vario-0.1.5"="03bb9sjv4haf0yrc8852vjswqi0wkx4rfs4jab2ymmvfgj41xsl1";
-"zref-vario.doc-0.1.5"="0k1ascakws0d9r5ic52n8n58fxhn2iqllh5bc6c3p0jlpqcr5049";
-"zref-vario.source-0.1.5"="0j752r487jywy35sfiis8hd0ji4psy6lf93z7j02arjx7l3xliay";
+"zref-clever-0.3.6"="1bi2xgsk44l8y829cjpwnmwnaakp6pc481mn9145gscxybx2h5k0";
+"zref-clever.doc-0.3.6"="1h1qc1lmfimkbcdcp6ca310zyybp0jb09jrmxnpxip7h0fl3w14r";
+"zref-clever.source-0.3.6"="0y1nha6631ai3k2pwc0ai2w1p8dxpf2xws6rswbmr1pm90n0v3kv";
+"zref-vario-0.1.7"="1fbdnv9rvz0ypdglq645rsmgjh195z9zkl3gqlgqbb2pppgjz6c9";
+"zref-vario.doc-0.1.7"="0xnq1gq1kjxilyl3cck3f5ppkbvzwc4w2p8z7hkjfwq1vjma8811";
+"zref-vario.source-0.1.7"="1kxgjnlh6kasgadrnyxcgiqipvmqwzlah756m2lqpj4879nj8vw9";
 "zwgetfdate-15878"="1fgz3z1f9ifcbrwiq166hnff23gmlgp5vn0djm2znci26bcip4s9";
 "zwgetfdate.doc-15878"="0gda7xd1sbiaaspb253xgl47jm6bcn8hj101m6ih69mxrka6sz60";
 "zwpagelayout-1.4e"="0xl2qyq9037fjxwc6v9hz9gbb5fggqb2x93bibvhdb0bik6iw5md";
@@ -7647,6 +7674,14 @@
 "barracuda.doc-0.0.12"="0sknnb78wbiysvz537i8cay2la499y6xnvn5q5xb5my5pxadjwdq";
 "bezierplot-1.4"="0iz8zsifxrwbv35jlgq3qb4hdf2sqgj7smcc3bfll655zq0hqmab";
 "bezierplot.doc-1.4"="070nxd9n0i9r7h195lkm45zfpdbaqz4lf0k69qg6qj5adwrdqbvr";
+"blopentype-0.0.0"="119n3y7zq8fhyxjkigm84h0p4v5b3iy0bifls3vxac2cs8qh9syz";
+"blopentype.doc-0.0.0"="09r91y7pqn1lvhfa7kjh7pgvdk7nv8zz2r53c0imhxffj1jgc7v5";
+"gates-0.2"="1vxn3j957za9j6ryf3nhy5r744gr63m78xzvlh0z10sr0bpw46v9";
+"gates.doc-0.2"="0igxfdxyiz280ryivffq6c7y84c16ip1av8wn11j6x62dcsrm58x";
+"texapi-1.04"="09cnhqn4gxf0alkx0276jkpcsd0myypbn94jzsavnjq8jknp6850";
+"texapi.doc-1.04"="0529cncxbw53km02pymj57iphgziri3d9cj54pqmjqjx9qmgwfmm";
+"yax-1.03"="058i478l85ilq0asix6mkdn1kfzh2abqn9ngar6s339db4h81lxy";
+"yax.doc-1.03"="06i376649jszpwgvb0bq8wxchjmhwjfvc78pl5q6q1ic2jpkq5pj";
 "checkcites-2.6"="137biq2rvvws5k7l5knzzhkgr1bnw562bkkps8xv2d57fnm2m86v";
 "checkcites.doc-2.6"="0zi9ffn3f0kzf3iqf2940f9zvmz2s15pgka3wngy9bzw8f0snxbg";
 "chickenize-0.3"="08qxlyxghdzsbrqk9zhj6wr2ffbzd3nq7299z3q7s39z9azrr1z7";
@@ -7679,19 +7714,21 @@
 "kanaparser.doc-1.0"="0y7j8qp9j33hw80dypc10nr28x2zn174sq1rbbbr8gc7vsvz5pyw";
 "ligtype-0.1b"="0iqwvjvg4vl801pbv31vijcq4yn5dxkbrhcjy6pqd6ix93grw8fi";
 "ligtype.doc-0.1b"="17wk5ryjcnsmljfkndy3s884yh73fpv6dwfzq0a3f9hhpxak4pf1";
-"linebreaker-0.1a"="0c3g9hf365zgm0q33jzfywb1hkbsw89cdqnq3p6cvr46ipgrp376";
-"linebreaker.doc-0.1a"="07yf14fz60hjb6bxxr9v2lhm2rbzagj2j1kynwsj74rn363s76gh";
+"linebreaker-0.1b"="1xmwcx267xfkz4car7rdda4fh7xj2m7kg4iadxrr2hdp53l8lpjy";
+"linebreaker.doc-0.1b"="0rk3hkbnfvqprd91mkakap6fslcrrs9x0yr4bmh06ql5w0axbfwh";
+"lparse-0.1.0"="19zvsmv6p650qrblallq9krwajdabwrkhl45723226nvrszsw0r1";
+"lparse.doc-0.1.0"="19j769yldcx498ycy0q8vkgpmaj8zyn9inhix6cpsrg42fz3ijjx";
 "lt3luabridge-2.0.2"="12j7x3r286rsj54h6l0nz3ilnf5fnnpw51dbis20bsgnabpia55m";
 "lt3luabridge.doc-2.0.2"="04k331s04qgh5hg007fs5rhvg9cq0bm7l9dcmkg1yj60h4rpcnim";
 "lt3luabridge.source-2.0.2"="0hyv4jk59l7b1lrxcvkxjqbp1sjpkdig5926lj3nlx0ih39zbwpa";
-"lua-typo-0.50"="0myd5mvbrf5kfvhm8x21c8aqv0mpmxhvhdb4bhzrqqpycgzdlmai";
-"lua-typo.doc-0.50"="1c6ayx322m9j0z7j9lbj9ciar52y5kiil14flr9lq4frvs5x3nhi";
-"lua-typo.source-0.50"="1azqjaa75gs7l9apzprz4cw313qapkizyjxzmlwnsba7aldf5v4j";
+"lua-typo-0.65"="1nv8pm3mixk8msapvzp39rv7rshx16c83d1d9lfb0mfz00kkdkq3";
+"lua-typo.doc-0.65"="1rhxqjhvfgi9psjhqmc3lrvp71ppmrfw0fcqq65cxnz2a3490smh";
+"lua-typo.source-0.65"="0205hkpa8j4s1jbg134v2p38rly54an45gz580z5df8d607hisil";
 "lua-ul-0.2.0"="1yj9044y9xk5kswl7vb1h5fl55pfmjrq2qnb2caym405pw0pn8pq";
 "lua-ul.doc-0.2.0"="0757s68bdvbaqjs0a9wds4x1sxrdabgi7s6jx1ibljb2wndxvw60";
 "lua-ul.source-0.2.0"="12x006v3z95ygpldh5x394h2igfn0d67bgmqqh40b5zall17achy";
-"lua-visual-debug-0.8"="0qnp6zvfdwc2jy642a42npwjwzlz5nl0kq67zc5ajylc8pvd9xbb";
-"lua-visual-debug.doc-0.8"="0iac45h1d6szsgm8xj4nz9xcd6gwz6c3d7bn2kxifyh1lpxnq7hw";
+"lua-visual-debug-0.9"="1yby9rmhq63md8cb58qvi4dzlvw7hnfqicmkrap0c4qamva1aal7";
+"lua-visual-debug.doc-0.9"="1g48dm1is12zj2ncp5lxf9cv9anq31wm3n99kjw9m1fsygjfsz1k";
 "lua-widow-control-3.0.0"="022g3aff6xj47wk9kgmc7l07n66milxyxdjpxhp0a5s1wcppf3y9";
 "lua-widow-control.doc-3.0.0"="1az40nki14y88hxk44lfl7czvfhz9lkr3lfikyf2bnjwl2pdmc13";
 "lua-widow-control.source-3.0.0"="1cdpa5h4qd6dc03pjyisib6hndgbr6rxy2ngicfaqwkk25ybrf1r";
@@ -7708,6 +7745,10 @@
 "luacolor-1.17"="170b7537yv0c8g2raar6yf5npnbf21blp16vc75v1x1196mblz18";
 "luacolor.doc-1.17"="0vcjrmxqc67j9kkgm3yqs78qndzskqnbjlwgrshdmdms6lij47qj";
 "luacolor.source-1.17"="0m4hzd0rhp9vychlixr46kx7rahqvrrfi2cx5jl53gr0w9gp1l7i";
+"luacomplex-1.2"="1vcygnx4x95g1zcv3p6lj69p3r33qpr734rp59bzy4ll3gziarw4";
+"luacomplex.doc-1.2"="0nwlz1587z0cmnkdf00gmbmy0wrzf7cfhrcj6xqs64fy6hisj3yf";
+"luagcd-1.0"="1amdvgfh1s2sz9v6kg8h53jv1pzc012yl27jy30ybjwx7g49i3jk";
+"luagcd.doc-1.0"="119c49xkynwxznynn3vyx2v1vicb0ilk6vgsm7jkc1qx8lfr84xw";
 "luahyphenrules-1.1"="0msfn7s35xhpacx745w0zbr6g5pbhhm4pccd5cmqdhq6dh0fjw2w";
 "luahyphenrules.doc-1.1"="0y2rxs5mqyw6cyrmgsqqibsw45qjlzsrcwpd74m9l9d4731nyn37";
 "luaimageembed-0.1"="14xmb1cjqvpqwl33qx7376ndsbkql48v6094r66ksr7vlyap5hgp";
@@ -7719,8 +7760,8 @@
 "luainputenc.doc-0.973"="0h6wjb0kjdqfrmzikvbddq4w31d55mxlcl5n3phr56fa9i49qmgm";
 "luainputenc.source-0.973"="1yps04v6fvqspq3rip0c6pw5a5y3annwfaij7w27i53419h83lbd";
 "luaintro.doc-0.03"="0xab7yymknvhsh4c30xnhrlvk798mbnl9fbf7njqx8mbmnv869bi";
-"luakeys-0.11.0"="1vqgd0xn994vx701s2c5qlln314vl7kpkvwpj29fdn2wq64k41ns";
-"luakeys.doc-0.11.0"="0xq0sn45jfmxvh5ci62ww8r19n6nih6v377xrlavv41s40hngijh";
+"luakeys-0.13.0"="1p4hysck00vgpdnba5jnhaslcbq5cpyw89f1mdn2201dr0nj46sc";
+"luakeys.doc-0.13.0"="1s46w0knvc5k7d5nqvycqschsf60p0qdgswwf3bs987m5vi7jmzi";
 "lualatex-doc.doc-30473"="12kg6l5lrq791qnh9gzmfbqn693fpnbp1nn8fddd5ybw6gr61qr5";
 "lualatex-doc.source-30473"="0q34k7x3lwhx2m7n0xl3c0jqv3hzz9zpx6hi5dy06k305qjr2lv8";
 "lualatex-math-1.12"="18m4jab4yy3fvwkn6fyb1qajsq4nl45v06l1kdjimcws5vj0wbv4";
@@ -7729,11 +7770,15 @@
 "lualatex-truncate-1.1"="02plqfp0xi406wya3c6cdgj0777m11fzkbk9nbharima6zhsc1nb";
 "lualatex-truncate.doc-1.1"="0gkgbliv8bzpdk27mkff02v1d03vggyq4nk50yawrimz0k7q64bn";
 "lualatex-truncate.source-1.1"="159wcqiyb5rs9a7wfm5mj5vcqh4kr9gv4pv6w0d7vfylkrlh76nf";
+"lualinalg-1.2"="09jv395dszfya5pzz7ng470yc9q8ncvanazlgwzjynma0hc8jdjr";
+"lualinalg.doc-1.2"="1kr6c0b86plylk1xj6bvpm4dql1kfgwxq7w7bmf3dq8y8j1hsz64";
 "luamathalign-0.3"="00j2vngg8sqbagyhmjv8lr8kzfsllllmm2gijhxbm8xgf8r7f01y";
 "luamathalign.doc-0.3"="0b2zkyzy0rq2cfbk205nixvflqcxgc1sfxiqbiqhz2yhai5y87i7";
 "luamathalign.source-0.3"="1svawaz0lj4zilykjg46av8sky18pwzqfnyli8qldpby4zmnqgvi";
-"luamodulartables-65354"="02wc9233vrfzy0v8km0mfv2lalw5gqwcvglc3km02cw880wpqwaa";
-"luamodulartables.doc-65354"="0v9lghv7ajnaw7sfm2j8bi58aw1qrznp7carmc68avlq0x9d5k1s";
+"luamaths-1.0"="1b1v70z8vz7z0ic74badjywm4a87r7izxryi8dsdr71apv2wv2id";
+"luamaths.doc-1.0"="1ba0icnj7hpb4m240ncy6xypr88ijpz1l471b7mv4lsij7p8b53n";
+"luamodulartables-1.0"="02wc9233vrfzy0v8km0mfv2lalw5gqwcvglc3km02cw880wpqwaa";
+"luamodulartables.doc-1.0"="0v9lghv7ajnaw7sfm2j8bi58aw1qrznp7carmc68avlq0x9d5k1s";
 "luamplib-2.23.0"="0x6r6jiv2i8mapsxaymz3l2avjm0c3swhfzvwl0z0pqgh2m4wlfi";
 "luamplib.doc-2.23.0"="1dq5bdfxp7iv403dvc6ggw96v4ky033qgw002x4nr18snswax06w";
 "luamplib.source-2.23.0"="140ghg5l9vndgx62zfhs7cx93ibph6hjghy4267f6h4d45bizk2n";
@@ -7743,10 +7788,12 @@
 "luapackageloader.doc-0.2"="1fn9kqab5hyvscjqmd34vxjkdcr7bapgw7w3ckwvlsslxrv22rfs";
 "luaprogtable-1.0"="16jmy3cvn7rmzf5i03x51yp5l90kmrdy0iqg8ji4z3xwrf0iq79x";
 "luaprogtable.doc-1.0"="1d0k83dyiml9abnfc3b9l4n6w18lgm37bijr8xj3chyv04v85392";
-"luaquotes-1.2.2"="13rhbyryrp4g6i10n1hnx1g6y6q9dfmgrkk42qhhhx8wlcilnqs5";
-"luaquotes.doc-1.2.2"="1cnbydgg7fai5hnnig7zdbxl26hp2xlqa9sib2bmlmbxldand5id";
+"luaquotes-1.4.0"="0cjikz6739jiqadp28zll72i58s20dm1i0q9kbd3q2y69l3l727r";
+"luaquotes.doc-1.4.0"="19597kvgz6ggjfzbdkg9f5rg9qag9mrq83v0xk2w6f2k0n179d5f";
 "luarandom-0.01"="08pmalwh5w1gih9f29crnwqx40x6npizpr8vnjmjfw3iy442gbhx";
 "luarandom.doc-0.01"="0kgwqk2mh8c2hkv2x1gzl3a04q7azi0aqcv6ab3nf60ipmq81n1s";
+"luaset-1.0"="145lprp7lf46izmnmhnxja1qpr29imzx90fkl20bc4rbs6fkvsgr";
+"luaset.doc-1.0"="152k6zdgafvyis3zw413hrnpmq0xw5hks5irmiai2d35j34nqr80";
 "luatexko-3.5"="1q6i5mhyf4rl6idh7x3pk3yzr8367nw33vsyc2j69iki8nyp2syv";
 "luatexko.doc-3.5"="1zqsn867rwxhd96jgq19vpncbkpc7716xid3hpwjwydbhc64760l";
 "luatextra-1.0.1"="1dx2hc1md8csvb37lckxj4987zaldfd73c86y0ni8fzd4zg55s7z";
@@ -7758,16 +7805,16 @@
 "luavlna.doc-0.1j"="1q9gkn7z48jd6h6mh6k4d0qwyq9b2ksyihraflkr9akmy88x9qbv";
 "lutabulartools-65153"="0faf62krjf2lwjizgnc6zrpkvi510pgbdg0wyl2v16qgb0gnrgl1";
 "lutabulartools.doc-65153"="124ys42c8l4ibs2drn8y4pps94n2010dqvyg8yjrqh8x08ga6h9l";
-"minim-2022-1.1"="043mj17b7nk1i04j44rgv1ybaqv3cxdhyn0i01k9jxn8q28ddw4v";
-"minim.doc-2022-1.1"="03cvmakq76l56aa76xph6ph6pzmxy8a4cy3xnw5913hapzj8kd9w";
-"minim-math-2022-1.1"="1d1ss22m002rb105x10l5m5nd1s8g5qrs4agxpdyq0f87k380khn";
-"minim-math.doc-2022-1.1"="0ks8lkfq0bvsl14nc8xdv3p6dvmrysd3665k63gbpq8xmkywsn7s";
-"minim-mp-2022-1.1"="1jh88678bxffpjlb68lg970jrzk5d64zxc20m7g742x9lysxm54p";
-"minim-mp.doc-2022-1.1"="1j48v08zdlm01a7nhmwiqk0v3xs464i52gq1i9s5qh4gc8x4nb59";
-"minim-pdf-2022-1.1"="1wy6izypvvyc5kpgrbn8vzk4d067q7v902hfvs09ickz6p5c0a08";
-"minim-pdf.doc-2022-1.1"="09h4jh4hj5gpc47yy0kfd1w21imfffijxfgn7qb7iv1ha4w50vi2";
-"minim-xmp-2022-1.1"="0km534w8w7l945nbnd9mj24c8j94mxpbz17wp08hk96q42q169k2";
-"minim-xmp.doc-2022-1.1"="1gmmh6an8dh7fca7w5q7s2nknsabnh3np10qd9rckfv9k78zpyfg";
+"minim-2023-1.2"="16nv9vgr49ixq01ai74wv744x3pzpr3b3wv7qcdcw4pwq8hp97s4";
+"minim.doc-2023-1.2"="082zlxjrvxrpgxpih8127iygm44wrmhlpl2hxm2ayvq5wckizyva";
+"minim-math-2023-1.2"="07hfmdq9gqk7nynic8yn9yp67g09h8pj24l9iabqxihvzhcqj2v8";
+"minim-math.doc-2023-1.2"="0xabrj2xc7vd3ic379pmbnc3rfs4c4j2fq87r8ynx1zbd30xpiif";
+"minim-mp-2023-1.2"="1i6g9ll873gipb70jgbxr4gsi3fg1jvams8iknjsgx048algk08r";
+"minim-mp.doc-2023-1.2"="0m8gvdnf0bpih2f8vmp2ixpxmmsngd3zj6zyqvk5823dax64148w";
+"minim-pdf-2023-1.2"="0cb6yv165zvg665hh09sc87v4v45zc8jgqf8waiik08x8a1p71mr";
+"minim-pdf.doc-2023-1.2"="09nm0qs5a27jcx6g27112vvw6bwwir87xpygc6s111vij3vk0x0z";
+"minim-xmp-2023-1.2"="104w7599qfvynh0l0hvm88nh0mq2zr4hzgjmnmf9f4as3ab28z25";
+"minim-xmp.doc-2023-1.2"="15z2r82mabdahgv6wbrap2pyqa9clhnq4al3qbyg1ks77pj00izp";
 "newpax-0.53"="0l7pfbh0cm3giafn2wljwqjlp1nk7xncmmcvzs7jxzcsnkrzhnda";
 "newpax.doc-0.53"="12jmi9a9xndwcvniwnsf1gpa9aadx4k5z98qgm9l75fbrl7wwbf9";
 "newpax.source-0.53"="0mxc91hfljjzmby0r13d5isjk3i36rfgkfjmf6nfmwylcgjzh8zd";
@@ -7776,8 +7823,8 @@
 "nodetree.source-2.2.1"="149ga4ih26c4zhdw51s557kxc21ssm74vinwm3iar9zdj66g486q";
 "odsfile-0.7"="1zszlwr8aklijlwpqm91wmmf2fv1frmq1mf0vw4c754s21d61a6r";
 "odsfile.doc-0.7"="1vk6q98xbq4zinkpjklq4pgw9ib4bnz346pbza8fi3v9q2szzz35";
-"optex-1.09"="067i7c9k7z39mxzfzh2a9k9i1c8kdjaf5a1gs9yn03fqrv62l5gi";
-"optex.doc-1.09"="175sdj2zfqll134dpm0h8yy112k2srb28c2j0i5a5ywl9iki91zx";
+"optex-1.11"="09wprhbdr2m7p1hp46mbkwi6cc8w9d892z1qazhc80cgwy0ysfxj";
+"optex.doc-1.11"="18ni5w0rr3as0cpb065myzvf4rqm2vx3wz1zblv11xchvi10sxnh";
 "librarian-1.0"="1rri0fb9ssj413w1g8c7p79hn72gqzncihhhg3ws3ldl9s3nm54d";
 "librarian.doc-1.0"="1i4m0gp38f64y59zcsyg2j7bb6zycyf9z5yr5wf86l6kh40cc2fq";
 "pdfarticle-1.0"="123b9f0nl8wyyxfnbs5krr5ayrgl02hg9z8w87lj6g0lxch7dfhf";
@@ -7786,16 +7833,16 @@
 "pdfextra.doc-0.3"="1cam2f5byw6l7rk8hb1zsw2l7qk52sv83wkx6qzgkhmzqbsh6wck";
 "penlight-64811"="1k0ddyslhg68jav973s2wh5p4mgmy636iwf5m02sv4p1n616j61x";
 "penlight.doc-64811"="0mn8q9fwwxsgjjzbb6gqq1m122y4sw0zjq307fybi8pg7q4nzz3y";
-"piton-0.99"="1d8jdkdwnbi90kvwdn1mj6mmhc2h49r9ha4df83invpgdav89zs5";
-"piton.doc-0.99"="1bb2gbxzm1h2n11908zcppwn3dgzjvy057mcb31sr4cywj3blx99";
-"piton.source-0.99"="05abwmjkfzjrj8x3ak18f9p3bpm0ndqf3a63rg7klls5vjab71yj";
+"piton-1.4"="0bqi54s1vw4hkvjv8zr1x58mfg58sh0fi429s6ryqlb8cgv9y277";
+"piton.doc-1.4"="0b0py0g5gdqaav2qdmy0nx1l8cqprzgnlhw9vfhrmy5s6sa9m28g";
+"piton.source-1.4"="09cvyin8bvqxrwlq3fvf1vpz9fb9p1074n7x6chkvnf85lvc18xf";
 "placeat-0.1d1"="0vmvw0k1s023siwsrl4hr32wyla5xmkvz449p7vlfv1n63383c1g";
 "placeat.doc-0.1d1"="0j9xm75xv0lqkqzm4g8aqxy6cs8vxydmm50vsjj4g4aah7n8jygk";
 "placeat.source-0.1d1"="0118s2p8vfam65fwynf3vabqj4kz0kkw9kbq49k7akwwj1wpyd7f";
 "plantuml-0.3.1"="0pr3i90wdf440x5pdxn695xjz4cpc17y12mkvnyd1rxpw09003jr";
 "plantuml.doc-0.3.1"="1z0pgf56601gyhmqqq2mcil4rp1n6r6nsrvxpw0kra6lnvkppisr";
-"pyluatex-0.5.0"="1cybi9ylpnsygd23x8zkblrdjknswbym5l2zdzzwr1sbhj182dm1";
-"pyluatex.doc-0.5.0"="0h8r8617val26h5vr8lgmy0wyzl65x868vx95h77hggg7z7jj10a";
+"pyluatex-0.6.1"="0sqd70f5x9c5aa7r55xr1pg5wz5ipw9fv45ry93929imxjvb8i1f";
+"pyluatex.doc-0.6.1"="120pdw5kblk6p292vwswigwqy61dmf728d0gjx1661yzyskd42a9";
 "scikgtex-2.1.1"="01ssfgixh4x60rzl3yawvsyv6nlgz6qsnhil44vrmgpvjrj8l1bg";
 "scikgtex.doc-2.1.1"="0k9pv4g1969fxnlql3y32yd5q9mngca0hnqnpzclpmf0mwgy47i0";
 "selnolig-0.302"="1xrndff5if1jbk5vzycj2alj72r123xjwmyr1lrsjkpkp6jqjg0y";
@@ -7838,8 +7885,8 @@
 "algorithms-0.1"="1va2ic75nf0dfh0dr576lpgqhzqv5203frr37079q648871zqav5";
 "algorithms.doc-0.1"="0fqif0nb9ypd4sw2i9qsxl81h3g4h0gm0yqq67d5n9wrpic8dnjg";
 "algorithms.source-0.1"="14jgc7vnww5xhnd76cwix5c599sfdjil2i916cfpmsd5yn5qqdx3";
-"algpseudocodex-1.0.2"="1jl3149f8hxsdv2p0dla63sgqz2xph49hip2w060xqxvr2jhii08";
-"algpseudocodex.doc-1.0.2"="1j02z2qnjxngx0vg9b3rfb4f8x63m4lcfaflrc56a3kl88wsl46v";
+"algpseudocodex-1.1.0"="0n55hw5548664zgh2g8p3qw7n8la0vq5i8a6xnnixpif3bpql5z6";
+"algpseudocodex.doc-1.1.0"="1a9bz8hpm67cgpdsdqxq1ad11sywzczd7vqw7lvb3z2jgym9q6pz";
 "algxpar-0.91"="048yw7nk0bnc05swjbmncrrlns3gij9a4851fbj9civlc8silpby";
 "algxpar.doc-0.91"="13r04cc5d04ya1c6cm2h9a1f5c62ln5b7zlidiw51zg6200rrl2d";
 "algxpar.source-0.91"="0bl51gdyi1i44j2cfz432z5cf63mp4yjr21cc2hwihyfd9vas3z1";
@@ -7851,8 +7898,8 @@
 "amscdx.source-2.2x"="0jg2qk0a9y15hl4w753yhjff28w9wc2vbmd564lkikvg60b9yiqi";
 "amstex-2.01"="0l078b9fkaai7kn2szn5hblqp3amlafr7ha0hjcn48657wsjq4jb";
 "amstex.doc-2.01"="025sgjii3sq0qar3g2mhkc9m3ml4swjy5fzxxgrp7wsfsfvpsym7";
-"annotate-equations-0.1.0"="0j3i8pj2iyyp43avq0fiac9bjhp6a93gs2slvpw4aq1mx8qyvyg9";
-"annotate-equations.doc-0.1.0"="174dx74j17q50z6a4505gz4mj2mvqlq0xplvygmzl5bnb1ikcf0v";
+"annotate-equations-0.2.0"="1n1dgjk6y8rki0qkjy8h0xkcl3ricszwagr9ywmlag2al551awnh";
+"annotate-equations.doc-0.2.0"="0amfh6zay85z604qmvv4vrv9ambmdv76c7vxi6rmrn58j1lslssb";
 "apxproof-1.2.4"="1v42g8hr93afz1lr1hbvycgws92vg6pzig1qqjmrpff11irwfa0h";
 "apxproof.doc-1.2.4"="1043sl948r89fzgzxwn6n4sjs1jl7mxr12hq9y4ljgm6264kw0d9";
 "apxproof.source-1.2.4"="0wr9vjn9vmljsx5gyccjzcqwx86hza7idrq84f7b9jl1miwgddbn";
@@ -7905,11 +7952,11 @@
 "cartonaugh-1.0"="1s10sc37kg3m9hvjcicgc9i3wkk40wxi4ncswspn9a599kkhf829";
 "cartonaugh.doc-1.0"="1y287gshxvdy4chshpwa328gfh36i3cs1g0giwga12afmkaif63h";
 "cartonaugh.source-1.0"="16clmcddxp9a7ybvgpx7w6mf45lcqq1vzjb4r4ndggbpwawkhvlh";
-"cascade-1.2"="1r5dvh96lybdibq4lspxl939z587hdk7l51xfc8d4jryz1xc45vq";
-"cascade.doc-1.2"="17wc8w2wwd9d7nqwwkdwzih7gx8x1m6qlhl57rw8rl2x81a43v68";
-"cascade.source-1.2"="1nz1mcybb0zpdp2626pbg1raxryhzpanbwq12kv8rgzri6v5rawp";
-"causets-1.3"="1nzpfzalwxnx705036kvkn9d7r6qdz30n43n0yjkj2ncqh8cwzlr";
-"causets.doc-1.3"="1n42zsj9q3h31fjk3j449dq8c3bnjwzz8rhm3lyzmxsvp53vsf69";
+"cascade-1.2a"="13xf7135hjf363d9n1gx41m7awbr62pp6y1j77qmc7x6xi7vg85g";
+"cascade.doc-1.2a"="0d2fkdrrbh5lj6jmvixgj7v4g3adg6s6rrrj8wxilr65vd1d8p6k";
+"cascade.source-1.2a"="1vh912sp0ngr4mq391m8cdggxwpjdm42d2qwv5m4mlqhsadald7w";
+"causets-1.4"="1m2gjhs1v7kaagqqzppdf9frhlfshy74j39n8r4phhpxjpjflar1";
+"causets.doc-1.4"="0zw9imm84dph6dnajj8ap50kr5h18j6sd12xfd1d2asb35h5lvac";
 "ccfonts-61431"="1rwzpbv0vaf4p77k4hf9ac14l9sw8hsvvqx5diq9dirsfq2js0rb";
 "ccfonts.doc-61431"="1pbc945s3xjhccjm83y721xx1zrpqjbrirbf469anq9r892g33av";
 "ccfonts.source-61431"="0avnik79dw3p1wvrg5rlqcaxr3w06mr5jvyms54ha18l2d63yw7q";
@@ -7952,9 +7999,9 @@
 "clrscode.doc-1.7"="08wps3rkrx4isg7abr6icfj9pcnhpnpylnk3wvwb42pqah8975xd";
 "clrscode3e-51137"="1f7p04gaccyynqm0wzfz8jinsrrwn6i4amc51s835gxkjv2d8gwv";
 "clrscode3e.doc-51137"="1kryc0ay3bx1maydfha6wm4qw2l9xprnhs3901qbz904l21yawhg";
-"codeanatomy-0.4-Alpha"="00p5rnl1xcyv1bp2db8a5r9ch00iyimdcmqaj7knrgm73i2cvbx4";
-"codeanatomy.doc-0.4-Alpha"="08qh0xd50snbrr92wrd12w3jdingv4ryv6bk5n2sfxk8mcada2ag";
-"codeanatomy.source-0.4-Alpha"="0h4xj1sqimnkk2bdbhayxdsm8qvqsv3qzzpm91acb16ra7kqw1wz";
+"codeanatomy-0.4-Beta"="0pi4w20k4qcm3sbzpd2dsdpq6r0nblgjm2s3m2gclpmsybzmflp2";
+"codeanatomy.doc-0.4-Beta"="1z9w6llgjnlmiwkz6ghv1cf2ilrfvj0r1k2c6kilsz4jcc457y3z";
+"codeanatomy.source-0.4-Beta"="1vag4qaphfw0xrdl7b082iwj4z89x77sh62y05xs0f2bib9qlcn7";
 "commath-0.3"="0k3s00r4l8bypv1166p8jkdj1wrx4ar4w0y1fggmpzivqicc02g3";
 "commath.doc-0.3"="1n2929g5jhkrrp7fs237h80571m31dd9x0n2dhnqfgynnc9vasrd";
 "commutative-diagrams-1.0.1"="08jd1dzi1y72dhpwng3p11vw8jl98n9h9npyypgc58n2djla8nb6";
@@ -7996,8 +8043,8 @@
 "delimset.source-1.1"="00hp5f5pfad36n4lkmra8mc2n0ynnq9ynnspqfb9378cx3m81cxq";
 "derivative-1.2"="066h32py620pvwynlbw2jch67dpx4j4xjzrcs9h7ciqp31izkn4i";
 "derivative.doc-1.2"="0jhb18pd1h3cgh64f5fy0zsla80sv1hficd2ip1s4x611412pg0i";
-"diffcoeff-4.1"="1pfy0fsybqdgnmi9vs80dqfdy29ck2i24aakrkhwmj3g1lvhr2xz";
-"diffcoeff.doc-4.1"="0zqvbywfvanqlncy4vzwrdwl32kk0x3b1bnqzdxw58m55i9bkg1l";
+"diffcoeff-5.2"="1fzndpfr5f234f6zdh7m8kx5v8lzl6mmqyi2nbl8rb43x5pq94qi";
+"diffcoeff.doc-5.2"="1fffhqqngnwmanb2lfjniramsrcp4rdninkfnphnr3c8s4q5h7sn";
 "digiconfigs-0.5"="1irv3jc87bpnc289r5zh7pgfdgk4bvfwbyv6666kyq8f8yl7m1kh";
 "digiconfigs.doc-0.5"="0fnibq45xgwrha5vfav8lylnb6p2i0brd2k1yp8jm8id6xdsxmq8";
 "dijkstra-0.13"="134qfpb0sqyazfjyc7mid1rydyszc6gpqms787vq2fd2157zksz9";
@@ -8026,9 +8073,9 @@
 "endiagram.doc-0.1d"="1gz8ri82sx9nn2adb7sv434im46cb0ld9r4j9fz07kqn6gxzzr2j";
 "engtlc-3.2"="14lz7dw8wgksbihdvga2yyqa3qxbs382s5pzrfycx9z7503dfy0w";
 "engtlc.doc-3.2"="04lv0x4psfpivxfx5asf40pn0d80cwfwc1pwl21jxihdvc6jhihf";
-"eolang-0.9.1"="0bjcsrcj5cy2835vksz1qm8rjdmg06n5x640i80b7kffks1q6cza";
-"eolang.doc-0.9.1"="1v4bkwdp81fvdy3abrddqlabgivyr85y3f8qchvpdz723j0k5cl9";
-"eolang.source-0.9.1"="1zn38n5pk7lrap11fxdjcr7iw4ivbwd92fj48a7ci83vrgg4wxhb";
+"eolang-0.12.1"="03zvmjbn60s1cmm5b2saz4vqpyjhkq88p5xb90d73znv87vnh426";
+"eolang.doc-0.12.1"="03l8mr9z7vfdrpypx68y50dj443kknnv6mh7416p56i486pdvaxp";
+"eolang.source-0.12.1"="0rm07sra8mg580higk28skqwsl7x9nbsqcsa8xqyfgcpcssbzgvp";
 "eqexpl-1.1.1"="0d97dysvgyk2cr2w9xaq5ipgkx3i33jq5x4mak8pq65bgbpl5dhx";
 "eqexpl.doc-1.1.1"="1nkg2qp7lg282rpf1ds5gm43gnnylwf4df3ziikssjf9pnamp7pw";
 "eqnarray-1.3"="13vm2xqfm36a1fpljchnmjnl6m4fia8x5bia0h0yxh7yw740vbzv";
@@ -8050,9 +8097,9 @@
 "fascicules-1"="0zlkjn8kg6vb58xp2xh7jwjk6dmk6knzqh8v7lrdbmzhw9j28vwb";
 "fascicules.doc-1"="1jkhj04gpwcckp9zqanaa9zhplgs2a5xqnn2xf6ir6qifiv3403y";
 "fascicules.source-1"="0d7crimrdcxlh8hd24qfwqnadxfjsfrfnjr4hx5rrj75mm946zmj";
-"fixdif-1.4b"="1gwpsdhyis0ym4r443l0wawmnpyr502clldpyvlmiklva249xvs3";
-"fixdif.doc-1.4b"="14pcmjhm3p5zj29sijkxrwlyv69rbx1hsiqnvmv8gygcqkjylx83";
-"fixdif.source-1.4b"="18c9j23c2hff9ksl587qjisv0qfffvcbqj7kxsa9yrxbss8a3sf3";
+"fixdif-2.0b"="05hzw1jq98p8wvxxymncx2m2l4ghlp6qy2dmhlf3jsvhld44j4wk";
+"fixdif.doc-2.0b"="1j4s9fbk1ypn9k8zcvx9myirvqg254ciagbaj4b9djd00wf87lzh";
+"fixdif.source-2.0b"="126fafi9sz66z4j2yp4jlkmnmiim70353rzzbdffa5qaipsxc37j";
 "fixmath-0.9.1"="1513gzvwpddwhbaiaw2jw4qs0c4bbiym0dmcc88vzypqsbnjs13l";
 "fixmath.doc-0.9.1"="17y6wwiq3b8l2p3nsfwm50g7lzip8aqls5ysgr4gvz1l8aydl26z";
 "fixmath.source-0.9.1"="0pzyg8k41rlj5gvqq86i9jnys9plqbxb3qvas8fv7k5kvqc43riq";
@@ -8102,9 +8149,9 @@
 "hepthesis.doc-1.5.2"="1cql3rp42bb5c33sdfip69g9rd06107zg6wmsmzkv8c019xwg4y7";
 "hepunits-2.0.0"="11szf1jiralk8jdp45bzksgd76bxcf8xgdk707spbyqf6fzafrz9";
 "hepunits.doc-2.0.0"="071xs04zgnw5ir33qzfn0wxxfsk75d9di0ssl394ksmrm14ny3vi";
-"ibrackets-1.0"="1hfyzdcjm6v0fi5i0ajf0sbxp8n7f3kn4s0yjldlzg1567jnfr6j";
-"ibrackets.doc-1.0"="02ikcs24dfvrrywvk9l63hmmv3jxvvqhwkqlarlyk0sq92kbj3nd";
-"ibrackets.source-1.0"="09xa5xr74504k0lifdpqx6yglkbnzd2h9cmph5845qmf37a63svm";
+"ibrackets-1.1"="18c4zyygzs0ghfhk41cw2bdd46ykhqrpf5wjp8lykyhccvg07gjp";
+"ibrackets.doc-1.1"="0dcsgc7y4zbp19qbivjjv6il8wfzg7cq23gl4wi0xffk7a46dwvm";
+"ibrackets.source-1.1"="1insjy2s7dzz95jcvfs6hj6hhqwkgxqby2p8npym810cr9d2y8gw";
 "includernw-0.1.0"="1w51v1v8x7wzibcy40ss7ldra83wbil8w1p978yvs5kzbky3vw2f";
 "includernw.doc-0.1.0"="1zl5fsgzb7nm1wi6ddc3cngqj3apmjwn1wkmsz785nss56vk9f7w";
 "interval-0.4"="04rj730lnkgj4xfm3mldyyf6bb6rr1f3dhms0rnaiq2pzv77cqyw";
@@ -8191,12 +8238,15 @@
 "miller-1.2"="1nk31l9g231c3dk70fqph444z9x5rdjy6g7wazy4ygl3q4gfh6fj";
 "miller.doc-1.2"="1vvxnbbjn325y9s5h7qp6v2z1xy6wwppwqv6iwdak7mf47gww2gf";
 "miller.source-1.2"="0jpyvjpaqz1x5avqy1dzf22qwss7ksbp917ncmgjdxhj82jhy2d7";
-"mismath-2.1"="16xljz871glw21mn5sdhzf2vmfjkaqyrzn80q6a7dsz7d2rbvl1k";
-"mismath.doc-2.1"="1f3snh5j1zff1ga4cx3x7qksan1s8dbdp122788q8vad1qdz806p";
-"mismath.source-2.1"="0k4cs9xsvhigk0fx2bzfqfw6la9941llgw0skkgnadmliijv9l9p";
+"mismath-2.7"="1hzw4v0my4ajg4v4l4mfk5gbg1w1c9amml2a43syasirrbdnkird";
+"mismath.doc-2.7"="07qsn69rzvnhwck1cmznpdz52nwh7025m6yhw3iz70ibw9pcbdzn";
+"mismath.source-2.7"="1f16dsz5qvqjypidwifq0hilhkzjni128is5s34hh9vim9jidxnn";
 "multiobjective-1.0"="072zpfc1achwj0b1dv8yskdcbg92a2imnmn9z492l7xxyz889n5x";
 "multiobjective.doc-1.0"="161nkl1q2kc91is8y6h2j71hnbly6hv1fjfmlhb50xypjgrv1ibs";
 "multiobjective.source-1.0"="1nps6rl8di10mr5r1hd71svlj0dxd51bk0plszk094a3r3l6z4z4";
+"naive-ebnf-0.0.5"="14vm282d65pahq1j2g98fvfnp293kdqxc5yfdhipdviv4kfmgvga";
+"naive-ebnf.doc-0.0.5"="12yhz1rhis11kmnqjag9z46qg35chaszqpah2fvzc3ssbjaxmbmk";
+"naive-ebnf.source-0.0.5"="0vvgc2ymhsv4j7ppnkd32mb8p6lqnpy7qyvkiqqwn1s6x3v9cndv";
 "namedtensor-0.4"="0jvcqdqnvnjm9z1jcdsa86cvv4f4hq94yi6r688j2sny2700q7a4";
 "namedtensor.doc-0.4"="0cjbz9g2b8cg2wm97vdgwpqby0jbc5l2d7j2cwx0j571hchlijim";
 "natded-0.1"="1vxqyyfrmrkwyzil0a3xvlrmfzyfxdkfl10rlfzgwdwd63bb99kk";
@@ -8206,9 +8256,9 @@
 "nchairx-1.0.0"="0nv33zq3gyda9cxf4q7ixw0q73aabjm47mjxqipl9cyp1wv3r0kz";
 "nchairx.doc-1.0.0"="1pjnazl84w4bz7lydhy6lklh3kjxri12gswwffw18a92jff88acl";
 "nchairx.source-1.0.0"="1gva51szjww2qr33mizyxsgd262xcw4116nn1dm9z0dg278hwy8l";
-"nicematrix-6.13e"="03h4jzj8rf14aazdrfk3b6n81gimfgy243520b53ck06kiagp02f";
-"nicematrix.doc-6.13e"="0x6yigh56nq1rqf3l4jppy0kz8wqjn7fk51zgpxlzml80m4kixvb";
-"nicematrix.source-6.13e"="1pm0qinm2ba9ma0c8g2khrv71ihrhm5gpnc1bqx18lr40arm5vwf";
+"nicematrix-6.16"="1fiz0knbw33adjh9i2wh7bk9kynz156xfjy48j2pr2nrzaclkwyi";
+"nicematrix.doc-6.16"="0gpa7lwrn1f94z8g1lh3mxwprq9wp005ahlqaj9ssxmfvlz9rdsp";
+"nicematrix.source-6.16"="18irk6n5y7kvzczlbnfgqsdw27b8jp0bn4k6s8vhrv2cghi4yniz";
 "nuc-0.1"="1918fk7bh6pz1grm1655fag16i0ir67ywcx28jsggsly6641nkm9";
 "nuc.doc-0.1"="0r4345bpjdb9f5gmcdjf6zav64gab5f9i4nfql01yg7b7mhk487x";
 "nucleardata-1.1"="0rrxpz66rf6g9cp6ix4rrbjqj9s357qsbv87dhri62iy3alw5bv9";
@@ -8229,6 +8279,9 @@
 "ot-tableau.doc-59318"="0sj78f1vgr4zy0pyjqf82jf0xyrmrj29xn9a0zgzhn15rgh8wdyj";
 "oubraces-21833"="1rhavggv1c50krafvh7lwnvarh7lh59x7lwkipw24qakq7l2a6mg";
 "oubraces.doc-21833"="1bw3b54cn5dk0j4diq8qxfba0w3p0f78h4kycb2bqd2gq7258vyq";
+"overarrows-1.1"="176w37bvjjc8hi2a48138gj77sj1ibfnc71355lpk3vh2whhrx4y";
+"overarrows.doc-1.1"="06v0v79kcqakhkyjnp6c9rvqryiy8rrim82p0d9m98dib48h7h3h";
+"overarrows.source-1.1"="0nmh0rrsbbcl842lc1zl2dhj5r403phamfbfxmn0qs0f1kqd2awn";
 "pascaltriangle-1.0.1"="06gbr5jgfbms6p7ghdkq2cs9d6p8yr3mvhb0h811y5rphrfzh36g";
 "pascaltriangle.doc-1.0.1"="0fch8y78vd7ykwn9qdgl6m787m89ff3h1fpj0vvzj5vbxmvw6cli";
 "perfectcut-2.3"="1hjppa3dv8a5740nr5jya445y5nb0nb2z1jlkqh386bnvgby8393";
@@ -8240,6 +8293,8 @@
 "physconst.source-1.1.2"="1qvhif2amxfqvwj6vd82f9mjgrk79crnz4sw5v19v02xzxv66fsj";
 "physics-1.3"="06nwz84201w9vky4s877fsiw4pk1kf6iq9yp1jcap7j57nb4l23j";
 "physics.doc-1.3"="09zmpxkrrv9j2ip034vqwblazl4kyprvp24k0f2k0xgc4fja2pqn";
+"physics2-0.1.1"="1scbrq7jzmzlxg92skb02ag7350y4jj1gf075czy8d8y2lp3qii0";
+"physics2.doc-0.1.1"="0hbrrr9ci2c5gmpjgdqarjyx2mnmqaq1rd2qj1g3v58d0lf1izxh";
 "physunits-1.2.0"="0fzx8c7sgd6incgwdbzyd3pb9dmdajb3qdfd3mj8sascilr0c2h4";
 "physunits.doc-1.2.0"="0ha1zp0lzx2q10m0wp492sf45pw5cfd98s9pnzn2wxx3k970agf8";
 "physunits.source-1.2.0"="00p7p4hh49i9xwnfd8y7nsgxajjcpdlxw1asyxb8q20x1w1wy2cs";
@@ -8262,8 +8317,8 @@
 "proof-at-the-end.source-64188"="0x04lrwhhbnm511rbbccmf3p0wzp7h1rxd1kcf8xb03pdhvq1adz";
 "prooftrees-0.7_svn_8641"="08ijsd4gfkgczfgz3wmlyk6pb61cqdc7f36v5131xv12x6s2kd4l";
 "prooftrees.doc-0.7_svn_8641"="0ldhmf22q3m3nhxw2m1z9f19xzw753qrm0nw8hch6wzk419p29k9";
-"pseudo-1.2.1"="0pqahbfwv5s36x91rgscgvax70bf1c0dk8vq8s7xpdrmx6ihli1k";
-"pseudo.doc-1.2.1"="1prv6ggba7rcfxm7sy6kghb6mh3czbr4q4gca1njnddxkxb80jmc";
+"pseudo-1.2.2"="0by3a3xxcx6rw6bh8ias41r0xrmkn6hg4jwpj98afzvlkmwh17m5";
+"pseudo.doc-1.2.2"="0gxlnbp7za981syaz7k64i81gza7jm2611kjwpkii2saa0qmhp66";
 "pseudocode-54080"="0x2p2bq7cqajrn8s03dgikxg2nb94hk7mzmi7l911xdgdprlg6qb";
 "pseudocode.doc-54080"="1qzvdp0qmmlljahg6hqn7c67sszvjvp3v8zvg7nwam58by39l3k1";
 "pythonhighlight-43191"="1bf3jf05zyggcbz5c6hr06wd8dhf0q5m1i4i7p026s1b7dxxq1qk";
@@ -8277,6 +8332,8 @@
 "rbt-mathnotes.doc-1.0.2"="1ysaqvli3gy777a5g1d7q5brc245qqfr1fhzj0a4dwrj1gcnw4x1";
 "rec-thy-3.8.2"="0pr0k26k66dqaq4rppgqx27f6km6a7r4zk6cj4yjl5l2ac19vvim";
 "rec-thy.doc-3.8.2"="0rljkcq2vgppc1lhc8mms0qxbqiq7yxhp19xbshscga86hxd0l5q";
+"resolsysteme-0.1.5"="179casx77warx76rzmfa8h2rvb8z77g7dp3scs6kbyc3s8j9x7gj";
+"resolsysteme.doc-0.1.5"="0q4adkm495rn91aq96baxf365ygaq286cds25wr6hjfg9yj5bhgb";
 "rest-api-1.4"="04y8xai39hlhj6y78cxq2fqy7fis7mbpwzyk4jmgqd3365738615";
 "rest-api.doc-1.4"="1w33inmwr66p81g66zxqiqccks965060034sx8rmjnjfgwqqgcgn";
 "rest-api.source-1.4"="06c06pbqa8m58r0lcr2xc6zahf6gjdc1r2zfgs3q1b6czy6rns34";
@@ -8308,8 +8365,8 @@
 "shuffle-1.0"="0laiw8v6izp53c8y0jf4k1nb8brvs36gd937nz2i2cvnpghz98if";
 "shuffle.doc-1.0"="1wd46l86h8vlxpasvhnvjimsfrhrbs56i767v2h7bdl8yp751ycl";
 "shuffle.source-1.0"="13qz2jc0f084acxdsf99fj22kbsjkr6i3y7pqzh1g2jd4d8bbw8m";
-"simplebnf-0.3.1"="0ckn1d3ffd36clcx1vg8szl6rlgj9b3lmia0cmc7h9b807w1sd89";
-"simplebnf.doc-0.3.1"="0nn59cwdrrgxq8fp8ajb3cy88ly811xwn6xmc578gnmbrmrzj0j6";
+"simplebnf-0.3.2"="0rn155jbx869rcfr1s66wqssj87krxhk9i3iqr60sqaihjsck0lq";
+"simplebnf.doc-0.3.2"="0jyiym24m8l4yjbskl0ic1kcz29lajndxd4qxcqyg7ynw9cdizyp";
 "simpler-wick-1.0.0"="0lm22wdxiwasv4igfsyjfi338qc7m985da7a9a6q8cm63hks2alm";
 "simpler-wick.doc-1.0.0"="18hmx8b6zpsc98mmjvimdayqpkffwjjch4sjajbz4csjpza7nl98";
 "simples-matrices-1.0.1"="09kmqq2si98yg3ddnlkddn5gjlvmwd8w78r9d2xvd7g28wm1hjbj";
@@ -8324,9 +8381,9 @@
 "siunits-1.36"="06x797504p5lzb3xlkri1sc9whyjjz6a95gk8kvpympglm8fmpxz";
 "siunits.doc-1.36"="06saapj9rh5gbrj0npb9rm60xrww8rl1y5brvx97gj4qvc3i2pic";
 "siunits.source-1.36"="1clhfsmydg2xjajak0ssa9v5sd3id957si5zvyq3njgl9cpjwi9r";
-"siunitx-3.1.11"="0m8cipxikmyj4krgk6i8srdkdam4m8kz5j21bihwp4m2vv5wyb45";
-"siunitx.doc-3.1.11"="0lqvq4yrhpv4mnj8qhngza3hr5zb9wnmlrln1kar93gmbqplic68";
-"siunitx.source-3.1.11"="1878yx8rqfajps2mai9kijzmg420rlvg31rmnyffglf0qfknb638";
+"siunitx-3.2.2"="1szqn5gp71hmp5k1nz5w54bb1dc56yzksvsisscc0m4035q41iqx";
+"siunitx.doc-3.2.2"="0rxybaxx8k20yhlh3qsgvx0m3m1bx4m0bf5v9gfyjmjy97d6br0a";
+"siunitx.source-3.2.2"="1bhcximmicl68k3rhqs103l5pzkivkxm7c2gybs341hjc8pxssfr";
 "skmath-0.5a"="144iwn9hv4d71420878y7dzygmyyyr2l12gsqrbb44mdal68q58p";
 "skmath.doc-0.5a"="0an8w64z7dvbxgagga33zar0m2l44327q4lpz59n75g7c6qswnv5";
 "skmath.source-0.5a"="0finxgy2sj5wpzmjh5zfcq9l3dzka1mlffbgmhzp7yk57rrz9lr4";
@@ -8409,9 +8466,9 @@
 "unitsdef.source-0.2"="07v6xpwkag6fp8p331gcfbb0p1ca36rvrs9kbkayc986k6nds688";
 "venn-15878"="0kfq2wnjsbvk0ciwrm4923fpr7whmzyv240r4zps41vzpc4mykiy";
 "venn.doc-15878"="0izj8qsnxj9jgslwzz37xwr9n812y3cxmfs52yd7p4638qid50im";
-"witharrows-2.7"="106vb0ygl4i3d67sdj88vlf95s61vwh9qwvj2yqa7cyxdyb0flg8";
-"witharrows.doc-2.7"="0hzddfi51f0slvbmh391faszp726fyy4rrkxrszn08mmr80kdaav";
-"witharrows.source-2.7"="03cgqwi8cg7yj4c2rjfwznrv76535ghzz2gdq40fvd4nv67rjhph";
+"witharrows-2.8a"="045wa8y7vfsdgsqrvcr3yv8qs3hmjxgzmqkq3zl48pqd0f70slbc";
+"witharrows.doc-2.8a"="1656ksizv7lvbj64xscrcyi2zbqyihzjxhphmys79a6cvcrr1nry";
+"witharrows.source-2.8a"="0h8bwm57s9n0npa66k3lf4in6q2mfzr9kwndqyip697ij9zhr8ws";
 "xymtex-5.06"="01432q9vnzbxzli9bdkdsd7ccvw3ksc76cs3568lsr35bkq1yy1n";
 "xymtex.doc-5.06"="0bx00qsgnndw8kq59nbihlzlnwvdf6gncdl3ljckcdn07i4mhl7i";
 "xymtex.source-5.06"="0gxi985kgkfyybg90f14y2w068ysy5vk4irc8lfvdgil3y8jwi4l";
@@ -8421,8 +8478,8 @@
 "youngtab-1.1"="18h6a4b4psbm0hjxq2xnk4bkmsa1wd2fvarrzfkhcj01hgn8bz17";
 "youngtab.doc-1.1"="00jkdw02iary6s5szh7hf4qjlr7r8y9lfmvlnrpqkhh6pdhsy3jh";
 "youngtab.source-1.1"="1hjqkj12jx9imfqm7y1mqdvp1knhf69kbixr88varbh09d6r9p66";
-"yquant-0.7.2"="01p5hraii7k8gb6zlga296574sq8y7x1sg0xpkwmxqm202mqvjjb";
-"yquant.doc-0.7.2"="1fk4h2afld6r67jm5381252f849f7nar1f0d7ia9h54gl5l1z1m6";
+"yquant-0.7.3"="194mnyclwr0nxmgyigfyw82fns4b0kq7a2sizppd4mz826cfj1w9";
+"yquant.doc-0.7.3"="0vxjrj0hffrpkrdsqy00gndlrsh8qxqmn6jh89xgxsj8m1m2n5z4";
 "ytableau-1.4"="0gfpxbvar3m21pj74j19qnj8qakbknhvssyvfyw61jwdd8ygdxkd";
 "ytableau.doc-1.4"="00k10759qihk3330bwfpzmrm9bfb8513w3sak9jlfy5inay59rbd";
 "ytableau.source-1.4"="05pxlbj3rdgr15cqfdxviyp2698b7l44rzgssx18yv2a8qnaxylh";
@@ -8471,7 +8528,7 @@
 "hershey-mp.doc-2022-1.0"="0xh4a41lfds3yrj1am613c4629kvgvd9dfdfzmss9li3j5pa6jwp";
 "latexmp-1.2.1"="03rgabck8mcxnbg1avl638nhxdk6smvyd21v2ns61hx3jn09cpv5";
 "latexmp.doc-1.2.1"="1ad9axqv8h2s2xckrdxcnl8kazpgijrgpxmbwsb3h0hqb3liznsg";
-"mcf2graph.doc-4.90"="1gxgjx9wwb3mf2nn9yqimxppyzmbic7pxd4zi9mf0z1291xqkgpb";
+"mcf2graph.doc-4.92"="1pji3d2mllfi74kalvs11h7yy3hkm5g5nlmcpq2vn7cxjbaqk9sq";
 "metago-0.9"="0km18bf69rf3rs42b0azc7i8bypy14201vk13yf5ahsypcjcgqns";
 "metago.doc-0.9"="1bx240q75pq9v23gz82i26vrp7z4cb00f9nb3cvvknbndk8y7hy2";
 "metaobj-0.93"="07p2r8975ps1ricqralyw2qz1zq5lmaaf50xqd68qwxmgrs3541z";
@@ -8506,8 +8563,8 @@
 "mptrees.doc-21.11"="1f0f1j99aj46f9sd8kjs0kkpcrqib19gh4k7v114vvkgbjlvykjm";
 "piechartmp-0.3.0"="1sl8mz26cglbsqmpd8qz0l9yycxgcimi0yhkgnc04n2iik1xc6b3";
 "piechartmp.doc-0.3.0"="0g8sh91ki495mqv7zxxz2q40bk9dl150a9hi7yv0kbpiy45h3af4";
-"repere-22.07"="0vfvszwjvpfsr5npd75sc4pv01zv10ydzbxa4v1mf0zmvs6p6wcv";
-"repere.doc-22.07"="01i6qar7rrp3ygnc4yf9g4c2cs4ffpgnffif9na9in66481i359h";
+"repere-23.02"="13p5xqv306jhxg1kcfjhrih4vl8blpjism830ih38cq9454yqmmv";
+"repere.doc-23.02"="1vx1ja9c629iivm1cz1h0dhn0bk5691fsndxf43mxpz81kcsi9hh";
 "roex-45818"="06mry55hqrakkc7yb7b174cx45n0frk3isxw96p4v77n9pyvlffk";
 "roex.source-45818"="0fwcb1fgz4kxbgcqm34s5glswj43wzg5j56ak5an39lsw0wirs94";
 "roundrect-2.2"="1xjfigxkgcszkcja58jd2w1rhhnccsl665p0k20lssb97wmdzjxg";
@@ -8563,31 +8620,33 @@
 "lilyglyphs-0.2.4"="11mb49rcsi051k7yd7s02k9ca5g4mmifdjx1nqkvs6rl922wcyki";
 "lilyglyphs.doc-0.2.4"="1wl5ppgazb27s3wxgmz1xw8cwwmnnn0s582k5swx8qy91qdl08r0";
 "lilyglyphs.source-0.2.4"="0657barhxkzh3jj3b8rk5rl9i47k2h0p1wa2vxj00fdfqfdjn161";
-"lyluatex-1.1.2"="14ljzaas5ynjf2kdqmnd1ybk90yp1268s6c922d6fswj6wnk1q3j";
-"lyluatex.doc-1.1.2"="05zih2mzbb5imfrgkld92xqk37z6r81kw9i70gq93xb1da8hwxi6";
+"lyluatex-1.1.3"="0y1n2xjgyvima3f882axqgsxyf289vk8r2254svq4fjbjp11y3x1";
+"lyluatex.doc-1.1.3"="05k4i190gi43s54mrzcbcdwr4a4kiazckxqwa486kz98w3h45ccf";
 "m-tx-0.63d"="1znv3xc5462jmm3ydrcnfj1nj7dld9f617xw3fl2gdwn083ivawh";
 "m-tx.doc-0.63d"="0svgf4a6rgisj614py6l9hm4ij7b4x75jn84s2ydbxzyv61bmmrd";
 "musical-3.1"="0rn4b1m1c58phyj9zzvyxdxbilma1bnncscwmxc8sdgb9iiwmlzm";
 "musical.doc-3.1"="022s1z7d5ins4gpklg9hadlp1gqxpr6862i1g4wp036db0457l78";
-"musicography-53596"="00kc6wq05k3vz07dn2hchq1fgnvmkj4as52v19jjqzakp3a7j8fk";
-"musicography.doc-53596"="0b43y731m3h29j9b9mjijrjs3hf430cc9big7b4jqcvm0kaxsq6z";
+"musicography-66119"="00kc6wq05k3vz07dn2hchq1fgnvmkj4as52v19jjqzakp3a7j8fk";
+"musicography.doc-66119"="0b43y731m3h29j9b9mjijrjs3hf430cc9big7b4jqcvm0kaxsq6z";
 "musixguit-1.2.2"="02cz225x5s3spj0wf9c51ka0i1ysmcrvlpa2b8vxd59f4pwz36am";
 "musixguit.doc-1.2.2"="1g8hay5rdkpa4pjj0lj5gfs7xmqwzmzxnc8k023ahlz38gdczgnz";
-"musixtex-1.35"="0rashc39cb9gzva6a71niri5l6ar6r5d7kq0jvvwyf9zj9lyrp23";
-"musixtex.doc-1.35"="1bk96m31k73885qpcm3q4lvxv4pd1q4gmrfvd5j0gpsqavvyr4lv";
-"musixtex.source-1.35"="0ari7nwxlyj0lnqhzcpq4vh9xn0kdzqn9c1a5ih5hp1q2zwx2m7l";
-"musixtex-fonts-60381"="02x72f17lf4rfv3bwfs529jhfrx5x9mlsk2kja9gscbvmshdsc19";
-"musixtex-fonts.doc-60381"="16iimzzmcc3q4h7wcw8xhy2dg4cf24bkxvnvfhkxx0p4y65i9yh5";
+"musixtex-1.36"="00lbc9vzbd423f56ig6m5n6npprnz5zbmrnjxq58msfbra272199";
+"musixtex.doc-1.36"="1hrwqiyglrryzdn54in9yz31c6wj4kdncsgz57w2p1x4rg8wmfw3";
+"musixtex.source-1.36"="0ari7nwxlyj0lnqhzcpq4vh9xn0kdzqn9c1a5ih5hp1q2zwx2m7l";
+"musixtex-fonts-65517"="1bq3nw6zig0grmmgnz7n84cvxasq61h2mmvm1j6mnyv69yhssm2s";
+"musixtex-fonts.doc-65517"="1pqr7h0r7cr2clzn5x74r2z78rlbczxmdwc7bkpb5a0k002cc9ga";
 "musixtnt-40307"="0g2y52s0151br5vr7hjv5dfcyr96cjxp4n9ya3s1jj81q6q01jjq";
 "musixtnt.doc-40307"="1y933975hv5vzwrgjizq315bkgnhlky21blv9kbnzf6kadic8ys7";
-"octave-45674"="0sw5r5gqvpmrn96rfz8y8hdbrwasv751p7ga5dary1v1kp4brcr0";
-"octave.doc-45674"="1r9wywnqhgrg2jjlzyafhdnyxd3fa17zjbbw1bj2a3r2jzd201h5";
+"octave-66119"="0sw5r5gqvpmrn96rfz8y8hdbrwasv751p7ga5dary1v1kp4brcr0";
+"octave.doc-66119"="1r9wywnqhgrg2jjlzyafhdnyxd3fa17zjbbw1bj2a3r2jzd201h5";
 "piano-1.0"="10gfxklfwf60p54wcbs4l1jpwasxvvbnkjhjpiygnk6mvzjx7dyl";
 "piano.doc-1.0"="0czqrjlfx1i6k02aa1r1crvkw7k2fl17vzqzrkc97msprrymxwgk";
-"pmx-2.98a"="1dwg3v91z6q6hcbv8imrddncxcf9kmyfsra589drnjldcxcl5629";
-"pmx.doc-2.98a"="0z28521xwbibzg83frxy1c5jzgb5w5h9aysfj2hiiyjispxx128m";
+"pmx-3.00"="1dwg3v91z6q6hcbv8imrddncxcf9kmyfsra589drnjldcxcl5629";
+"pmx.doc-3.00"="0z28521xwbibzg83frxy1c5jzgb5w5h9aysfj2hiiyjispxx128m";
 "pmxchords-2.0.2"="0yv1c0s3zjy5w65cpv9gmdr13wkfg04jc0g7b1f0mh8ychhdab1a";
 "pmxchords.doc-2.0.2"="0n6g5f4szxsr6zqqp2czi29m1dncfgib1pd90mbrjprvwh0filf2";
+"recorder-fingering-1.1b"="0ppzaj6zsh14gvjxy4gk3hz4qfdxka3akh6nrddx1w9ryq6sk40z";
+"recorder-fingering.doc-1.1b"="0qxw8bbd37yy4vib56j22fxpbwymq6pdb4s4m5dvq55z2ja05qsg";
 "songbook-4.5"="1qknajn3s4vpw68hwn0mjf9zllhba035gjgiwj807nifhgm2bvpv";
 "songbook.doc-4.5"="08p61v1jgw0s2bdfwgmb1zw5pyldfsy61d09n6qq93wclgaim7lk";
 "songbook.source-4.5"="1xzx3jxp4791imxw6h7gs1ach94k1w33f4p8pd4rvlcnwglnv9s4";
@@ -8625,8 +8684,8 @@
 "chronosys.doc-1.2"="1c120hcadb7xpkspmixhfrdlcmhl79jrf1wc0vsjqbq3wxjq1p55";
 "colorsep-13293"="0nf72pf2bjn8pcps45sn5dcjf1dkrww9wlpp1xbzl1h9i68p3h3h";
 "compare-54265"="0isr7gmskv55cr4f1fa7s478v6fh65q9ijxkmbpxj0448g9817w4";
-"crossrefenum-1.0"="05vk2amhm3b8d7gqys2il6wbfd92qg1sp9hi28q7w9sf9n3hlfp9";
-"crossrefenum.doc-1.0"="1046f5wy5mj9vnyknmkn2hhs3prpv46a2wlndf81gqh4a0r7hchy";
+"crossrefenum-1.0.2"="04zx8gwgzc76fsq6kmqy08gak2fqjl5h7d0d80lr5yvmq6aj5a4f";
+"crossrefenum.doc-1.0.2"="1lsymlry86jnzjifjsnwz0swmksbv9hfdvjhy2i476i2ayvpdv7k";
 "cweb-old-49271"="0vx235zpflqpnrfa9kqq7wmc1rylg5bw1r26knfzvh3w1swbp4ai";
 "dinat-2.5"="0m040ib86lk9ccd4m2r33k8rgdi7dgga80skv2qif43ssws330r2";
 "dinat.doc-2.5"="1hvc4f56mi0drmdqr7qlab68b9dqkmczhj28d3lpyn2l2hx4dncx";
@@ -8649,18 +8708,9 @@
 "expex-acro-0.0.2"="1npdnqd4m66jjcnrvgan3lrx211lish3kgadv1n8hnlpwn54hc8c";
 "expex-acro.doc-0.0.2"="1pgqxf04i0sdcyk89biikzar68lhqr6j13av163iyijp6d0c3dgy";
 "expex-acro.source-0.0.2"="11a2q0lhm0y1bcgipbmdi6568qpnxyghh0lqgp33r8rx9g7s4byh";
-"expkv-1.9a"="1mvm8xzrgvpmypvyf15yba8hbnw8hb738gvkhx62qlpxnipw063f";
-"expkv.doc-1.9a"="0r6gqpsdwvkxq48x9rgsha9j4mcralw0kd3h8pfr52l6f2jjiff7";
-"expkv.source-1.9a"="1j1rr7138fhxb4h3sdsz7iqnrgzjdfq4y7sc40ikq2z5zvvg35kr";
-"expkv-cs-1.2"="131rg0km4iwl3w22mgdsgm27c0g2d8w8zwmpz4406w71b0ii0gvm";
-"expkv-cs.doc-1.2"="1w4szgfy0lm1mi6pqpq5ksxrh3h375xq5d0n7wghl2k006l54r7p";
-"expkv-cs.source-1.2"="1n08zk7k63cx1nsvyng0dq6vq3mqca8ivg9zmd9bbdxbxy06flj6";
-"expkv-def-0.9"="16fmma7rcw4ggyd3p02ccsv85zp5g42rz7qsg1nqal50jvws8574";
-"expkv-def.doc-0.9"="19pi7qjg3b81w3ypmbgkmbihhkqk1rw28c4jz6g29ml7qv309v9z";
-"expkv-def.source-0.9"="1k2ip1w7fk5c6vz8jlfmiibvf4z2wyc4jf63n5gn60xas6sys6pr";
-"expkv-opt-0.2"="0qxk3nbwizvczjrqkch6r1d53bxrnnjxkjyakj0rrlbaqpyw4859";
-"expkv-opt.doc-0.2"="05r8p2k94fh4fs6bmf75g4njpppqya51kvqnznzlhf17b82lf5iv";
-"expkv-opt.source-0.2"="1z8plih94z428g95avckmpd29g3byq1r20d37sw379adwfzdcwci";
+"expkv-bundle-65623"="1mw1cdl4phkm29yxb747whkkd81g9a3sbbnkhzgskbna2zcjj0l4";
+"expkv-bundle.doc-65623"="0cwydrq8k5z6j62wizgg6n1n8r0h0vi4ijky59vvz8f7b95j2xz0";
+"expkv-bundle.source-65623"="0cv1r3daz5lscdqyjgmy6xj00b4i280bg1c93b2kd9x3svv179mg";
 "fenixpar-0.92"="1l79py58dih05c4kjb8cngzs3bzpbhc72f4hnz2r7nfwmjp86c56";
 "fenixpar.doc-0.92"="0fbx9wms2n0ff1cdpfavqhjg56przd7hr515vh81g8jgnz68s24l";
 "figflow-21462"="1w2wccxfjbas2yyp8sscxfb875kz3mwqjlma46v4328sd9vw4pwc";
@@ -8677,8 +8727,6 @@
 "fontch.doc-2.2"="18si3pz2crkyx075cfnz3ddwbgyccgvyxfzqd70njxqspz8xwf23";
 "fontname-64477"="0ylpryn5wnjnf6acjl6kp67i0vl1dz59xk2xbxb0fqhx5ib1gdgy";
 "fontname.doc-64477"="08vfa7n2bzjsay7b7zaigkq7imlfmq92f4firwc3rx9hfm7hjbn6";
-"gates-0.2"="1vxn3j957za9j6ryf3nhy5r744gr63m78xzvlh0z10sr0bpw46v9";
-"gates.doc-0.2"="0igxfdxyiz280ryivffq6c7y84c16ip1av8wn11j6x62dcsrm58x";
 "getoptk-1.0"="0rh7b66fn37nkcy2y6q8h3j7i8njwdmizn68iy1bg2l080ns1nw4";
 "getoptk.doc-1.0"="0dmjwgv0qghhs7fa0a9jvk2mqbg4m3br1dk2x7q5mxyjzk9878da";
 "gfnotation-2.9"="0n2g1kjig7rg9bkry1hyq9jap95jb9crzxh4yd9jylgrygva6wr4";
@@ -8738,8 +8786,8 @@
 "nth-54252"="0716sd99xjdkplm7jdmg4lx8lpfnnx6mxjp1l1sp2bfqcg73p4hm";
 "ofs-16991"="0g2rxji8g1nafyg1nzpy18vzk20p4p6r754m89naygs1qn5n4h01";
 "ofs.doc-16991"="1v1z08m2ha071kb8zia1wlgkflkzj4hjws8rqnq7asvhi1s2p1rj";
-"olsak-misc-Aug._2022"="13kixnh85x2qzzfgdhhdk417hjz3aid2q678adlar2ha8a6vbspp";
-"olsak-misc.doc-Aug._2022"="1jqi7dyvf2h75v4x56s2vsa40by5zvs28p6242kyykgr93pvm5jk";
+"olsak-misc-Aug._2022"="1gm01jvlj8vcl9a3v53bcmg604dzf4immd39dj6n6c692r38hhzr";
+"olsak-misc.doc-Aug._2022"="1afxiazmp8pvgfym1i2bj8k5slfqi81d915d7lax59ib0p05w4mi";
 "outerhbox-1.2"="1867xhxlbskiysifmwlr10lay8khragzi36fm552cwc4vjz2ybcz";
 "path-3.05"="14k9dqvcc2nazjysff0s1jrass14d2r9i9cgfx46ss09cw53h71s";
 "path.doc-3.05"="0kacibdjhmz39klvxr244n42c5vlaz1z71a8vnssmwmdzzwfzs5x";
@@ -8789,17 +8837,12 @@
 "termmenu.source-37700"="0fvv10j1s49swvif5prjiqvk699l82js29n09scv0x1ixcy40h14";
 "tex-ps-15878"="0i35b4pp38d1l5rac059znlkazrcqa62qm8brhdmx7zzkbhyysi7";
 "tex-ps.doc-15878"="0kgf7y3nxkw8x42wpc1g5mmmbz28n73vgwd9d6rf6fjpzrycc2zx";
-"tex4ht-65368"="0fnbbc5z7sqryl4r3crjakm1pln3y3xbxrgd74v8kf64k12l3mb4";
-"tex4ht.doc-65368"="04z1bsgy3lisx7ifskxzna5jcbjkbwwjlqfwbfppnmjp5rwphxdv";
-"tex4ht.source-65368"="07qi35x6n2v46nhf45708siwmcxv9b95rdlp5nsxyif1ix385v47";
-"texapi-1.04"="09cnhqn4gxf0alkx0276jkpcsd0myypbn94jzsavnjq8jknp6850";
-"texapi.doc-1.04"="0529cncxbw53km02pymj57iphgziri3d9cj54pqmjqjx9qmgwfmm";
 "texdate-2.0"="06bqyfl1vnj4gadqsx94lj8cm1ia3w3bmlsfjwwfaad0al3ncxdp";
 "texdate.doc-2.0"="0kks8hswbwhp8dpjdbwr4nm55md4wgabl5ypzpx5arj41x8halhl";
 "texdate.source-2.0"="0mbcap5nfj5ap8gxn4pyv8w37hcfnq4bm5m6jx43cwkzf2hiwar5";
 "texdimens-1.1"="0fny36zd88qkcz7k3hdxq2qr41dmk9j88skihls4vwf350fy8j98";
 "texdimens.doc-1.1"="1qls1hqs6ypmsg4rqa26dp98m6h7zq18wdg9n6g6895jrmj10qdz";
-"texinfo-6.8"="0cc7sa4ydck5p9xshpk7c1jyf8gmhv0v6mmwll0mwxs9w203i8w8";
+"texinfo-6.8"="1wdrqwksbhxxx275mzhcr3mc67f76nbflplqs4y1xx67iw724dmx";
 "timetable-15878"="1lnl8gi2rrzcy688qb8b1ff9yivwxdqmbcfx2ph49aymkxfym97b";
 "transparent-io.doc-64113"="04zfmk25qw2cnja1zqhafabsy26zalxiawf6pm5zqx4x1jl47i6j";
 "treetex-28176"="1gl79r8h5brqmkw5paf26vm6s5ipa0f7g7cxxh3v68qg5cm2dink";
@@ -8810,18 +8853,16 @@
 "upca.doc-22511"="07gsza0vhs52qjj8im4i1fg2v2lch9iwk424ik9c1xak1v7s9d23";
 "varisize-15878"="0sd1znd4c2254fsj6i2snj3ys1h5vss2wzylqcp2pv31kbgpfh0r";
 "varisize.doc-15878"="19w6h5w08iyc2kg61h5q4j4djwwm2x0bhhp6k60kfxnk4glccrmy";
-"xdvi-62387"="10aldzxy02d9phqr9qwpxxwci7vf5q9z7sgxcz50kf44asa28fcm";
-"xdvi.doc-62387"="0n4v45wnzba23qpv5nmx87rdd09wl74jjfgpy6z66xp9jsdlja4w";
 "xii.doc-45804"="19jhzv5hqzj59wrfcr1dsj6z56qfckax694idgf8arri5lnbkdd8";
 "xii-lat.doc-45805"="1nn54xv71kcmn9jbkcslz6a64cvjcay9x96rrxnakdj9qcqd27r5";
 "xintsession-0.4alpha"="0p28r81qa93r9hwsaib9jbg252q76xz1hxlaf6q0r2bs3i8a4hbr";
 "xintsession.doc-0.4alpha"="1fzyqf14fdk6mjvgfxg43mx2gncj1c7m0h4fid88z7ffsa6rq1g5";
 "xlop-0.28"="1clpl22vxgqjpzs0ypgak0d6z0sr6hw3gj18r7sgs2q0jf5m6715";
 "xlop.doc-0.28"="1acnr4yfcakpnr8pb8g26qh7z9xr4dms4nfy50ig7r7azmdpz9py";
-"yax-1.03"="058i478l85ilq0asix6mkdn1kfzh2abqn9ngar6s339db4h81lxy";
-"yax.doc-1.03"="06i376649jszpwgvb0bq8wxchjmhwjfvc78pl5q6q1ic2jpkq5pj";
 "zztex-17.7"="0qh6a0jgrf1b2363dw66m8v8r0yq2sab2qm3wk008pvvlajdj45w";
 "zztex.doc-17.7"="1agivqj1mqnhv3w70a292pypm2w5xcbf67wwfz3ywaaaq5amjbwq";
+"xdvi-62387"="10aldzxy02d9phqr9qwpxxwci7vf5q9z7sgxcz50kf44asa28fcm";
+"xdvi.doc-62387"="0n4v45wnzba23qpv5nmx87rdd09wl74jjfgpy6z66xp9jsdlja4w";
 "auto-pst-pdf-0.7"="0f212m856rdfzflq1bw3vfpy38d8qylaa3vqnfs595h3x5r0dsx3";
 "auto-pst-pdf.doc-0.7"="1f7kj4rga7x14w8v3cjn7lh95inliy2ms0q9vnfnv95jvp5a7kh8";
 "auto-pst-pdf.source-0.7"="10l3ld4jvpg1982f2a80ssl4hkdzi9szxv3y8l1i13pdfdhirv91";
@@ -8829,8 +8870,8 @@
 "bclogo.doc-3.1"="0vf9fvm607fzw3rvc93crxjg9ilm6d7x7q5n1qrfmkzmkm5mjj89";
 "dsptricks-1.0"="074z88g37hq9xjlvbncmiccq5klr3x8ffprps8xnzvhk7cdwld2f";
 "dsptricks.doc-1.0"="0jj47j46l587hr11n764wl167rkp7w8q9z16zwnnb63dp0gi18s2";
-"luapstricks-0.6"="0v2glbdnjqpwa03nafv736102jy6aqqgzyg645cv0cmj0sk19k52";
-"luapstricks.doc-0.6"="0qixjp0a272h1sa7661skfqx9kazshwsdyq4v38gr4inr4cyc9ij";
+"luapstricks-0.8"="1qbdm79in0jlifww94kfl8f50bbj1qfvxwnaxkaja0z69sljkmrl";
+"luapstricks.doc-0.8"="0qixjp0a272h1sa7661skfqx9kazshwsdyq4v38gr4inr4cyc9ij";
 "makeplot-1.0.6"="0qp0qgcli40hd2dxgbd8fv9s03r81dlhh48pb8la9sh28qrb9i51";
 "makeplot.doc-1.0.6"="112chsx5wxrc7k4w3qzf23pjgr0np1ip1ylqs2igdcihchz6syyd";
 "makeplot.source-1.0.6"="1zksg7iqb9g6my9zyyrmwkhx04qy0118lxf60cm00njwmsi8w1pq";
@@ -8911,7 +8952,8 @@
 "pst-fill.doc-1.02"="0p3c86vmlx8h504vb603yg321dcf1lwfyfvlc7qmlzmh1c2flqvl";
 "pst-fit-0.02"="1sqdysxpzdlaph42725hvdgy672mzdmhz7scizb0jr5wnq3rn9x6";
 "pst-fit.doc-0.02"="0lvvy353s1py998a7vr01pgvkl29qp60w2gyrxxwjig7j7ihn5lw";
-"pst-flags.doc-65367"="1rfbqw45kz8xc1vcqd04ljcqyad8v1qnb72hh65yrbmcv97j9vlg";
+"pst-flags-65501"="0p89whiwccbsx15jv7krji6fz8br7d4k3ag788dv2cyjids8v25g";
+"pst-flags.doc-65501"="082hffz14vjvrz3pgc6pb4xj8ljyj1igvwlk9q1gw48sd0rgrib0";
 "pst-fr3d-1.10"="1m0zz9bqdqw1hzwp06s4hma68wwm5mmswrp9jj3xc9r5xjyq7fk8";
 "pst-fr3d.doc-1.10"="1gpijw1iv0pg30kws1vclsy5yjd7rk0j3qspcjlmkj1bhq3fjrgh";
 "pst-fr3d.source-1.10"="1zvssd11fg4hf53rz4c6imsgi77kfcc7l9hh0ni8jnznlgmdjkf9";
@@ -9000,8 +9042,8 @@
 "pst-platon.source-0.01"="1c4pmwrfk9yxg8jshhy5y4bwvlwwm6xn39lgr3xdvsl9bn5pfz2b";
 "pst-plot-1.94"="1xq4l3psjh3vb5ilhjwrwyjil0i4bdy4pc0k0kqkpbab76p9i0wi";
 "pst-plot.doc-1.94"="1h016y4gfy9kpd33ahwlqvi93c3z5gsxg1b2jayiazzd6fi376gb";
-"pst-poker-0.03a"="1lbrwf66hsk6pylp0cij3yxzn6y9z7m8wrsjwpz9xgshwqqjffga";
-"pst-poker.doc-0.03a"="0rhp30incxzsg7xv5j5isb6z79xpsbyv1qp1i1ihscwx2xd6iaiz";
+"pst-poker-0.03b"="1h7piafybws9clj0gn4cbsm5z9gxcmcv07xswx1njfkl319yj0hi";
+"pst-poker.doc-0.03b"="05gbabajcli6p3k5m4hkq2dxl6lf8wij96dczxalisrr3p9ddkhr";
 "pst-poly-1.63"="168ydw08wgqsy642w7nf8nyzlmxccpcbdvyc5h8vqc6i8xwrlzyz";
 "pst-poly.doc-1.63"="0ls2nf4h4p1dc00mmplc73bv5vanddvxkmxv5kix9b471xx0y696";
 "pst-pulley-0.02"="12w7rcb0z564xlf17258dx1q290i3p79bv4vhqpq5pp3wxf46c5p";
@@ -9080,8 +9122,8 @@
 "abnt.doc-55471"="00m174q9gxsm23j3fla7m7lj5fbr7iqfw02dz9s6481nfsjh1wgy";
 "abntex2-1.9.7"="1q7r2j7c5p1f0gbrc3sjd5gjq2mhljf1nj5n5760snhwj3qblr66";
 "abntex2.doc-1.9.7"="1id5yj5kh0qgjywbiajaf5hf9ix9jq8178fv2kvp1yslra7r20s2";
-"abntexto-1.2.1-alpha"="0zyj73q5cnk4gc1f9qp6k57602l5b5yjpcm5k8j9yr6ywxj5s2g5";
-"abntexto.doc-1.2.1-alpha"="00839mgm9p058fli7cpv87ybl8y3nb00lgg9k5ylx4kwhfcljabb";
+"abntexto-2.0.0-alpha"="0chm63y8i7fawll6c83ydq62mzmnmyzivg8jgns2aph3vsys45xz";
+"abntexto.doc-2.0.0-alpha"="0spy4chd8z2qff3sziwwfx745107szzjgp33q43j54yja0hzyaw2";
 "acmart-1.88"="0h5m6wjy31aid2kyqwkx034b7mzzf6pb6g4xqwg1linajq3377kb";
 "acmart.doc-1.88"="0w0f59fr9nlmgy8f46z7z69gfmsdn0wy7x9g1n47hh8zhr4n7z32";
 "acmart.source-1.88"="04g0byyqwdrf5kc8jrfwz9nswliimxsgn065g895nr0wcywac0s6";
@@ -9130,10 +9172,10 @@
 "asaetr.doc-1.0a"="0whp9d9pas44j775i4vn7zh5ss0yr4q5vbx51kz768zwgs5x8222";
 "ascelike-2.3"="039w1lm3bpfrrb5inrmzklmr9yic7x1fs0lpjl8z49mijvqsv1df";
 "ascelike.doc-2.3"="1hb732idc36m86qgss7wwsyqj6zgirh9qvf7ybpmqz6arwsml46j";
-"asmeconf-1.32"="1afshlzsysma0z8nspqkhnfjkncyy30l0a6hsqcb6fmxybjdq28i";
-"asmeconf.doc-1.32"="0dglhbaysandx5przqyqk8za707vngrkyf81x8xmicxpiq90vr8z";
-"asmejour-1.19"="1pw3a85fhcr0jj5nnqgn9phjjg312d93mpngli6k2dzilv0ggf1s";
-"asmejour.doc-1.19"="073rmn7lgvkmphn6sf3c1bbwkgd84qjjqxpcpaf4syg7kvx9631w";
+"asmeconf-1.34"="01k9yxdgsqvwbv4ydyk0v2dzfafblb98s4jllbvj3xxkjpzavzac";
+"asmeconf.doc-1.34"="0cyj6an3m1wpqy4kvgppg532fa1hrl3n0g08xi4fj8hzpy46pkh6";
+"asmejour-1.20"="1k2vygq2cnzwyqynvs51wwh1iq18dk56ldjmqd5m1sk5nbp3s9si";
+"asmejour.doc-1.20"="0v1dp9h2sp1bb0bkzq6gyy8r41hb54rqdi4pgi2qcdbks1a4j6j7";
 "aucklandthesis-51323"="1zlsa80vbby0jp46jicygq2fn64f1mgppbw6bq4qm9ncsapdz92j";
 "aucklandthesis.doc-51323"="09n2pdviw6xvh9ymka32pyscn16vgcxbij79nq0hxn6b6msxnlq1";
 "bangorcsthesis-1.5.5"="1814fspfg988qg7ihx3rwfxk7c79avd2fxwyxcs8pp0pk38lg15f";
@@ -9152,15 +9194,15 @@
 "beilstein-2.1"="1xh2955zfnss2n9g8rsa0m1kad4b4xpsdrjj891kj97hhgd9hpdf";
 "beilstein.doc-2.1"="0k78mwjqqib6hx7c6lcxkzrbg3gfw64a68fj32g0wpvdyj406ssf";
 "beilstein.source-2.1"="120gcmpz53l2pzagh40nsji9g86fq4xvahzhwqqw7p01r03wc0cl";
-"bfh-ci-2.1.4"="05456a2qpxvw1ds2mk5w5fkbcl020adjzxlhl7m22360hqlwpk5q";
-"bfh-ci.doc-2.1.4"="1ab55nbpkxi8x2hv2wa32kvz8d2rlwhp4yyrrn5skkls8rh4mx8w";
+"bfh-ci-2.1.5"="0r5sj2vhkpnz66xfxx72sam5y1a3y7vrvqbkh8slsypif5dx0yls";
+"bfh-ci.doc-2.1.5"="0qvh8h22yx28rb5qs1mkj72qkp7lh04lai5xnl23ig1n5njvgbic";
 "bgteubner-2.11"="0a8zhnl1nxzg5r525sn8sz44crjdm5fmy09glp8cjj7nic5xj32g";
 "bgteubner.doc-2.11"="04nh6c3q2w984x7kmgj023dbpjq9mqciyg4xrypgc4zv8wvcgv1w";
 "bgteubner.source-2.11"="11g65q55cv4s72cpraxw7yj4qskkhqhc0mz0sfy6c8jrq7255ils";
 "bjfuthesis-1.2.1"="1gmd1fjwl49h98mh1bqhlxw63bcpy3p6ri33642p49aypj9iyk80";
 "bjfuthesis.doc-1.2.1"="056iczn516aqi3n04qn4q86w06q5xb3cz07sdb9lr4yp35gxmfzh";
-"bmstu-1.0.0"="0wjmndhd1nv6rwzgql74a463cnpzj7nkci0p9mrg89s58k6hay1c";
-"bmstu.doc-1.0.0"="09d3sb46rjfjjwksk2cl1mj04mfqxgi9sb6jw8rmadfsnzqclklr";
+"bmstu-2.0.0"="1x89sc4grkk3b9mhi4y1gkxm9pcbhg54j8v11mq2bx4nyl0bgrll";
+"bmstu.doc-2.0.0"="00950rlqysn7faapvg9z3knb61f8l5hyy9kjxisbs80z99mxh5rn";
 "bmstu-iu8-1.2"="0xvxli6na2nc03qwn4x68sq4jdr2x830yvfb507j1990pni1y01v";
 "bmstu-iu8.doc-1.2"="0kimc29vl79ib5xmrlb1ipfslq2y4i3hnabxcaisrb54z0y3rp1p";
 "br-lex-44939"="0pdhzadajg5vx5da6ildn9k2nfvf1ks4pxjgm32ajpcpfxbjpwk3";
@@ -9260,6 +9302,9 @@
 "geradwp-1.1"="0dkn2p0hbsx7f6nzyvvg55qcy6n3c48m7cf88r68hw4l5kcm2fk4";
 "geradwp.doc-1.1"="04hj6j7zpbhsc4gzs6lb7vnmsqzbhfwirp8pzlsrjp8m7388y3ii";
 "geradwp.source-1.1"="1xxmhqiivybsk9kqmmjzcxdx6iqcpbwiq5dph1l4jkgkpyfkmmpa";
+"gfdl-0.1"="0mdvjf5xgjk0gbz5x32pgavxw7s8inf5ahmg25zs3ffj1s5nmand";
+"gfdl.doc-0.1"="1ybyixpc8k73jv7dl6gmanc7k2n4j09z85a9sx1a2fmfmijngspr";
+"gfdl.source-0.1"="0wz586ljmff9j1irwqzvb6lqadzr6q382j2wxahnlymm7a4q4k6r";
 "gradstudentresume-38832"="1i3rbv9ixnr60yrjzbj31aaq758638k5xvlarkaqsjvacc3wx88f";
 "gradstudentresume.doc-38832"="0nvih6lkbgc7jkkj303119fyxnajl4iha2baz2yhy62h4mq8lhd0";
 "grant-0.0.5"="1whd5f3fc72balvgifnb37583v0882xq51qa0fbb92b0a0c71nid";
@@ -9273,8 +9318,8 @@
 "gzt.source-1.1.3"="1ffji9j3lc6sd013d7ilkm595j6k6f5n64db57969p4mhdf4lskz";
 "h2020proposal-1.0"="1yz8bz4nmccv0v700zz7x11fjdqhs4hgkz8cd6bnqr3v0n8k4xrf";
 "h2020proposal.doc-1.0"="0yd0iffrvahaci04bmnd20bszgshx28apsij1i35l1wjr1hlnfcz";
-"hagenberg-thesis-56798"="0zfp35s1mmi3qa3r7xwlyynncbrqbgxr1mxbcpf01fszyx5y3lw3";
-"hagenberg-thesis.doc-56798"="1brvzchb8zxnhrz2mksy9a2h0wqsa7k7w6bymi20jrzq3kgblln2";
+"hagenberg-thesis-65819"="1sz41ng6wpr0zk0bdhfp6iqnsis2bpnr4k27hw5c94384vxa1w9f";
+"hagenberg-thesis.doc-65819"="0czc359n4h5v83idvvn7nzl7azzwcdndbinssdvh35ygy68v04jy";
 "har2nat-1.0"="0zaqsnvg46pdf98gzlxa8l6z8v9l3fd7jmf60nbrfba7jrzpy1bh";
 "har2nat.doc-1.0"="00n5qcljlpw2rq8x921vhsk7xvz8z43gxiq41qfzin696ysn7xj5";
 "hecthese-1.5"="17yd5vkgss1g8b1hq34pvawcqlw494yc2dwnidlykm94jgqlzfz5";
@@ -9283,8 +9328,8 @@
 "hep-paper-2.1"="1bfz5j06jhycv3nsc1fhwq832kp94n9bsx0phpky6f88q4n4c70v";
 "hep-paper.doc-2.1"="1wcgcaix5qm8p3ikazm26y8x8rzhs0h35a68c8fclvaqa6dy1ji1";
 "hep-paper.source-2.1"="1xs8bz5k1zznadai7rhpikxfr47bsxc52ysirq3x9130fgifrwh7";
-"hfutexam-1.6"="0kdj89bg772zar1csdi2wyxlsl2hi44bbkvbgf2xvlnwnphcn34q";
-"hfutexam.doc-1.6"="0r0a6xzhq3rr27msqm9w5lrq0nrcv3qfcqmddafb2g9sjbng87z9";
+"hfutexam-1.7"="1n92sfdkdv5dwp03x4fqrrv2fff98mzcwp5mzd0z93ahjffml52j";
+"hfutexam.doc-1.7"="1v8qrh4p7ngxr826z69pnayy727qwfc5lqfgvwd4zxl2v1aj72by";
 "hfutthesis-1.0.4"="1wr9qa2zhx1py23q9r7wigiwy2ik4gicaqb30mc6m095flk5ms6i";
 "hfutthesis.doc-1.0.4"="00fvnydr7bcyf9ij674whpgxizcn2fpwizqdnh0srxm03znw8cfi";
 "hithesis-2.0.11"="0j0fsblj5k3jpxqgjxh7abynjqiz09hgvywrvqi0b4vv2fm8ccpa";
@@ -9341,6 +9386,8 @@
 "jourcl.doc-65290"="0x6jxx8ckf9rmg6qidypqjy7kpi0l30npb96py62imyx4cfypr8x";
 "jpsj-1.2.2"="0yv7lkv7sr7qhqv0rmyislf0a5rcd125kqwbnfj3696cwhm5aqf4";
 "jpsj.doc-1.2.2"="1bmms10hgyl4gs91i2kpds2mn9x41ks8fjrislj2zl8y3vqdkc81";
+"jwjournal-65480"="198vv0bm78aqzy2h0zw3zqbgwi33a1lsd8d7r36a7mnpwwwm684n";
+"jwjournal.doc-65480"="04d97vjv5l7garhm04smwb7459mn61dr4ynspd2j9k5jdm3ml32d";
 "kdgdocs-1.0"="1p1rcb0lzcsmgyqz5750pl2r73fd18k76gry45zfsr7750kwx7x9";
 "kdgdocs.doc-1.0"="0b2j3mw8z0f3d4pffqw2r9zxpmyvykd36sskkhfg7wa4q521nf3d";
 "kdgdocs.source-1.0"="0sipsvbi9254zpg0bmcfin60szx9q0vnx07a9bdm9ma11qb1djpb";
@@ -9357,11 +9404,11 @@
 "ksp-thesis.doc-1.0.2"="01pbmmwwjzd5cq4xxmx3fknk8d4q3fda3680g344g5s6ra5i45nj";
 "ku-template-0.02"="1f45rknbzb3d3h72vznfzspg7vx9im59w5s5lwv4z0b4sk7n1d18";
 "ku-template.doc-0.02"="04gpy6a0mpjhbl9h2rnflvhxsj5b7x7fwll8z211fl10cnvalcxv";
-"langsci-62061"="11rqrmm9l5a67x6ar6kla45a378srki54pib476dg5d7l4arx4c4";
-"langsci.doc-62061"="0gg8f7chgvliwq7v6flhqycc1fg4i7kz9mg1j38fr9p2zg4vjydh";
-"langsci-avm-0.2.1"="1ayf5xbplhjgf2fcpxzhmdz2sz9bcjdnn64x4pc1k2yrk7zrva89";
-"langsci-avm.doc-0.2.1"="1b780ydqh0v0phapnjk1p044cn4hs4ww9ahx0fm2d0gj77fqsd31";
-"langsci-avm.source-0.2.1"="0rkhl4pkcs6cjvrd3f14l18rwk0ylq15kfc8k1n97bvhwy7azk5v";
+"langsci-65793"="1hf6q716lasc30d72z60ry74xz0gwabp34vm9vk33kaf705b3hxh";
+"langsci.doc-65793"="15cp4ab6rr0zxggrdray06yj8szpdjr6fc613j27wpbjmqjzbb67";
+"langsci-avm-0.3.0"="0xnprm5fcy8knxhldl54c5vhir4klgsmmy8l9306hmlykmphwifx";
+"langsci-avm.doc-0.3.0"="1s5bjwhdz1fwnkvnrx7f4789cy0f2l0qkixdd6va6zjvylihzl4l";
+"langsci-avm.source-0.3.0"="0ifsjndp9lf06anqcl79kp7rhx9gc56yw5xsr4lb4fshzzg6jwnr";
 "limecv-0.1.12"="1j1j3n86gvvv8jc8wycmjmnx9ci9w41w38fkxjsmx2mvc8frsi2z";
 "limecv.doc-0.1.12"="0d9gg2gf16pynh395sfqyr1bzj664snv54x9bb5a3zck3b9kbga1";
 "limecv.source-0.1.12"="0m0li0wa9pk2p5m3gqzr7n78qglz68akw7f5nq69iddqwh5r827b";
@@ -9399,8 +9446,8 @@
 "mnras.doc-3.1"="1ml220k5md4hpj6lcmx297pbmdbyp1dj1j9vb55dcl5ypc6jr3sy";
 "modeles-factures-belges-assocs-1.0.1"="06n2871v6jx29r8qjgcpg4h3qbnc6kw24kfk2f08wbc2rg2xdkxn";
 "modeles-factures-belges-assocs.doc-1.0.1"="1509xrny3xvy7nii0v1rga8ip18g8bv3d6vf8a3qn0cayfa9p248";
-"msu-thesis-4.0"="17b73lqsgqhy2k41z4rxsxmq4z95wg1sbdwb9mpfjcs28ypzawnb";
-"msu-thesis.doc-4.0"="13r4cy44cqx027cxiqp6vawpq1xrzmak4lgds3nbrfgz003kqwyq";
+"msu-thesis-4.0b"="016f7cwkpz1d5hayifp9zfsvlbjc6ans4npxgjwm9gjllblqc1kw";
+"msu-thesis.doc-4.0b"="1fifb54bm3mb8rw48fq88di0pqmswpm83ws9j1fjawp71izhfzfz";
 "mucproc-1.02"="06x3hqdp6d6nm3n296wnj4j4w93cwgjpz0nlw5qj0z44zlghs483";
 "mucproc.doc-1.02"="0y33jak5lzhjp4v5d4pzfj7jlrr87dl6wdnkqcc0p9fr4fd2h1z1";
 "mucproc.source-1.02"="0xzv1m01rj74gg188snznshir510lj5myckfjx7am6sxwlfni63i";
@@ -9437,17 +9484,17 @@
 "njustthesis-0.0.1"="1ar359ssgan8pk72bbvd4lp2yg63ww6g2ymbjlxbv63qh6czvqrr";
 "njustthesis.doc-0.0.1"="0s7dwmmhpb4qr2nnzr7jjh1zfk5fcvk51nxrf7i7ikq8jss0ic7s";
 "njustthesis.source-0.0.1"="12lq39rhj0z6msdpshagqylknn31dd2pl6ymk1lfagm2bq8mvx30";
-"njuthesis-1.1.1"="0kdiffp05gm57k26q9x2mn3z9lawqnncrbfdn9ajliwyzw95zwvx";
-"njuthesis.doc-1.1.1"="0x1qgmjh6grf0bq9i6wa3fxdmlmrbydq9rb1bw394b7abi2bq24g";
-"njuthesis.source-1.1.1"="1zbh64kxkb32lr4kx94hi6md8dbakhvf6l0dif63zvmc88w6dpir";
+"njuthesis-1.1.2"="1psizvdympcv2xl8s8f8ld3hb2n8x26c10nq38x4ghnpqjvpbbal";
+"njuthesis.doc-1.1.2"="1v2by2by6vrjqrajqaxm0aba77vv84w98jxr06ils44rhygxxrls";
+"njuthesis.source-1.1.2"="0bzddlr990s6qs7xgwnsm4b5gybbffr0xpdz7fii651kq2cq8wha";
 "njuvisual-0.3.0"="0qgifkahh13dkc07dx32i3hn03rd14pkajg0yw7wx8l0la6nxsy1";
 "njuvisual.doc-0.3.0"="15nyzfqsrsvmqg39vidycw3agdy9yhgj7wlfjw649lykbwbqqlif";
 "njuvisual.source-0.3.0"="03ywgbapxldv05azn0s5xh9c7a7imq9qwxg90969as3fy5cjbl98";
 "nostarch-1.3"="181a6pjdr7ffsngv7j84ddps84csv7ir3wr49qjax3lr5fhiw7qi";
 "nostarch.doc-1.3"="1sjd4yz3j70pncr47ryis4w4459lbs4jpbb75wdzvgygv9qxz3w2";
 "nostarch.source-1.3"="0f6qrlydiajnla9n4mqnv8f1iyl0f8ip98hbx6dzmmjz0k5i9bhj";
-"novel-1.52"="1xlglq5lifj088v3skmvzpsg44s0a3jnz6y3j4mw92wfbmzwnzhp";
-"novel.doc-1.52"="13pbk3amwpxzrhnsv779pcyf2aiih2iqicbp1ajc5fyyr3mr52z2";
+"novel-1.80"="1c8l8x00awbvkrn2g9mxq3wkgvblcshfbywg867915fsva5hvcsf";
+"novel.doc-1.80"="1fiwj3gjvjhybplbsml8pg1gfaklwpc7pp6q9hm5ji9c2d2hd4vq";
 "nrc-2.01a"="01pczvyzfc2vnrfsab180fg0nz13cmry0dvdxmq3lxzp75ji5aqj";
 "nrc.doc-2.01a"="0l6lpvddg25k8dynqr26gj7fnaq7k6zbzp5p62684sz9351pvz6c";
 "nrc.source-2.01a"="0lzfw45m3mw7yd9sx6lya6cvan696p74wrxgvmqa73prc2lhmbv8";
@@ -9487,9 +9534,9 @@
 "prtec.doc-1.06"="1cv2knhl8xrsyzcywypr6dqgdxqss0r9mxl6wv4clpzpsyvmfzbg";
 "ptptex-0.91"="1p3bahmdkxbdgczvx52qhyn2w0wmdzr8061idf0kpbwvl0nkw75p";
 "ptptex.doc-0.91"="1ldg6ljwf0iivd0cxb22sld2q2afwfb83ac5r6jxjcfr5ac7dv0q";
-"qrbill-1.07"="0c4wpv53l1xi7ikni7fzjdk77052vmfmfibphjpb39z3ignwi4s1";
-"qrbill.doc-1.07"="1iy2lcmvyf7zfdwiz34hsks3lxjqnn5hgdlz13srvbp0mikc4w6m";
-"qrbill.source-1.07"="1flh0isb69ag2cjjj9n25h5rmrsvmbjvq76gnvh0kff3dnzq785k";
+"qrbill-2.00"="02z1ij2jjbd7gls7igr8xk42kd2pvncprqx8j2wqjkydasq0bgjd";
+"qrbill.doc-2.00"="0chbcmfhs9ngjfcap5mknays321lwnk7vkairrfir33yrx8zwy3d";
+"qrbill.source-2.00"="0hvgl5ygrmnvcv2506jzi01vbvkp8g15lqvrl5ws705iivij125b";
 "quantumarticle-6.1"="01w948cabqlnwyv0n1wzs97hhfknspx2596w79ipjy1aka4w6304";
 "quantumarticle.doc-6.1"="1k2xwacvm6sks0qj1psskcfm002haa734fqysr4cggckwhf6n7wk";
 "resphilosophica-1.35"="00qqwp5n5a8hpz4zpcmh3avbm0wh2csdwdf450hmqnhpv2hn2z18";
@@ -9525,18 +9572,18 @@
 "scientific-thesis-cover-4.0.2"="1ggghh7w9grb1l1r7xg1igdw79jswcanyn49rpnwiq5rj4a09r2j";
 "scientific-thesis-cover.doc-4.0.2"="1slsn30sbhxlvr73fk9infwjkw66p5sgv0ydkmarkp1ncybqzr6s";
 "scientific-thesis-cover.source-4.0.2"="1qlxpsy3rdb10xxv1nsn817srdfywq6z1zgb4vb0hy3qnbd2rjwv";
-"scripture-1.2"="171lmn6q1sc36vdkiyvrfjcwxqkz4n65vzkk6wqsnqr95vgya1k3";
-"scripture.doc-1.2"="0dl16za2x2s24zgv2whszr0w29629n1bfq8q2jpyjhg4jw4qrh77";
-"scripture.source-1.2"="0g2qgv1z2liiiswrlmkclmp1rwmzzm7yrhcrr57yrs7j2ckx3i29";
+"scripture-1.3"="1kzcc5lnfyvlgq4vz8p6sx7w7a5r7srjvh66vy555rsfj5sgs2dw";
+"scripture.doc-1.3"="01hajlnq2x6ssz8dxqf7nyiz7in635l5ndna3l38ajjdh25llfk7";
+"scripture.source-1.3"="14am8mn1nra6am3qaqkcpkbih4mqmyb3cr8wlyjfiipyf282y7if";
 "scrjrnl-0.1"="1p858dfbqas8x4ddpw81mf59p47iqj30yban2g70rims1wqy4f45";
 "scrjrnl.doc-0.1"="1rfx2x3kir9qxp74halcwrn9zg8c4lm72jljspw040gpvjpiydm0";
 "scrjrnl.source-0.1"="0b48zv36kn7bg2n94yl2dzwh9ba1fx7phpzljqpn44ybj1ng966w";
 "sduthesis-1.2.1"="1i8rdk8m8bc5lk35p7qd4pqddi3knpq1ylbxv67ij7g8sgrl9xwg";
 "sduthesis.doc-1.2.1"="0i7f9zjxs297hx3hd6cm70hkkc50wb1pcr83xk54cy72yqiq119p";
 "sduthesis.source-1.2.1"="1j6asblirf0x4f5zp8zbmpm7ak5nsilqf4ksxr4bgrca70vfava3";
-"se2thesis-1.3.1"="18jwvazkn5s29dhlqwhg6smzzc3dcgb0l48gdacp0xkajdb6l0qf";
-"se2thesis.doc-1.3.1"="0qi3jssqf6sasb6id85cphkjfsmml52jxjdz2d68xapk1gvg2pvj";
-"se2thesis.source-1.3.1"="1w1nir0gpac6yglwbdsihcv1qsvjm99q3m62z6xlbzqi01031k8h";
+"se2thesis-2.1.0"="0r5x7rs3jdsgymlnm6aqywq4kb6fh6v7v1jb00w77qicz35cy1yk";
+"se2thesis.doc-2.1.0"="1znh3apfh31az7kxb7cbhd7fm1257hml4qvrvqb1gv12vx3k5gck";
+"se2thesis.source-2.1.0"="191sb3zh4gax37fyv88x8hxccfbg1bydhliagjfj1ld813f2dwj0";
 "seu-ml-assign-1.1"="1cz01iy83gvgg3mk54vkc373smz4r47i8084jgcnr24c0gwr4h3v";
 "seu-ml-assign.doc-1.1"="0f780ydm3ww7q2rar32lxadzda4mz8bccgman9j5ibwfsdnc1jch";
 "seuthesis-2.1.2"="0yfan3cpx7h7hrnqncn152ccawlrsaccj0c53kzza0wnkr3hc9rc";
@@ -9598,6 +9645,8 @@
 "thuthesis-7.3.1"="03x6rrxhf3nwyy6pdn4382dspvgkxr67yyjvym7ww0v0l16iij16";
 "thuthesis.doc-7.3.1"="17pwhwzmmhhn6skn7kalx0jb4wddnljmnq4yfxd2nf6mpvcd2nq6";
 "thuthesis.source-7.3.1"="07d9ibfnkiigylz5b11fb6f57ciw1zazfagcj95n6qwghgs54zxa";
+"tidyres-1.0.0"="0pkbch6z2c54pmadc8f045zggz4rjpbnf3aqr25lwjzkcys6y3lw";
+"tidyres.doc-1.0.0"="0ip2s1f4mm959dm769a14xrnfjgr9y10ihf0213smagxa2lr4xaa";
 "timbreicmc-2.0"="0inffnb824kv9lswj46b8p0zb36f4s3pfix4m7x7v0d216xa75pw";
 "timbreicmc.doc-2.0"="05x699cyrkfnygbwfifzz4ih0g5nm7pzlj6ygkh6pysyzxkb5w94";
 "timbreicmc.source-2.0"="0hznll8725wbjmayxilg0hvjw2vf63wj4cxmznvfly9lk8z5zh5m";
@@ -9614,9 +9663,9 @@
 "tudscr-2.06o"="0l7m9n8n6ikd9f47jc1xp8b1ik2vq58samd3g1v0m7f48jvf36f9";
 "tudscr.doc-2.06o"="06g1h7l2bbabg87y97zifxn6401hf0j7ia86scgjkpjbx7p2dj2w";
 "tudscr.source-2.06o"="1s4y8cvn1iw77b2qklbbnpm1jkjc0sjnkvsa3savvcb7zhw4asa0";
-"tugboat-2.27"="11xapwc4zi08rwy9wfs7kbx0i98asczn63gfg0my0wpg2wz4rskl";
-"tugboat.doc-2.27"="1qqb1mbjn7w24yrma4qysfl6hrqbs4cxzfn6i2xi3znc6q99yx0g";
-"tugboat.source-2.27"="0n4rjj4a7ws0r1kdjhdx0i0a7bwv6vd1kfmhdxds81y9siqj8j46";
+"tugboat-2.29"="1zili0n3nrn0370c3xcyi4iwjwj3d1ks1s1gmgzr36md3fi45p4g";
+"tugboat.doc-2.29"="1y5n1pqaz4j5xjjf74ld2nvqwz5sqa216l9fkkpv06i8sj5jx62v";
+"tugboat.source-2.29"="1lr1wwpid03isi1gck91f8d6h2gqzgl42axf1lb3g3j0zja4hlr9";
 "tugboat-plain-1.27"="0km1a0vaynd4afjf6p18xsvgnd1g25nypsdvaz6gr2jpm747l31a";
 "tugboat-plain.doc-1.27"="0jiq0jggz7x6vgq5szssq1nmphhypa4zicq2n0x81di86fpnj785";
 "tui-1.9"="0liczx2jcdks6r5040r7dqcyrcj225xq0035ccdb9kjmp0rmc90b";
@@ -9648,8 +9697,8 @@
 "udes-genie-these.source-3.0.1"="185226vgpf1wyc29cr1zsf259w67hi3aa2mvrba64pf2k131vb4z";
 "uestcthesis-1.1.0"="0dsdzhf9pp2x4xbprii9rvl0h0jwwwd03va8mg7c3cjgr2nvy1dl";
 "uestcthesis.doc-1.1.0"="11z3ac2pnxg8qqy4shmdks7h33257nbkgj4h1rq49gc2ssqmp8pc";
-"ufrgscca-1.0.4"="051x3y8dq2ymffj8qc139pvrg8nyfpmb15vb2yhzci03026mc81k";
-"ufrgscca.doc-1.0.4"="0i38wm4lah4njbqxr6rnxy6bnqm1ck553z4dqkpj96a5li0addfz";
+"ufrgscca-1.0.8"="0lldcnj85g2n2na7aq6xilw9sp747p2vv6651cd6f5f4c4snqx2k";
+"ufrgscca.doc-1.0.8"="1dar07m3mycp3pllimqa2hjv3b049k5mz1lnjdxw28m6pf8p7xff";
 "uhhassignment-1.0"="0pb7hw9krpri3ky7hfshjkkbk36cilf31iv00l5iynsnrw70lwyy";
 "uhhassignment.doc-1.0"="1106wbx02mbnkgzwwiypfz7fg1a3rmwyhlgnsxf4z081q891p3fm";
 "uhhassignment.source-1.0"="1ck8c7jx3qkxnm0a82qfql92s05bg5p352fw1yv3y7v86z2kh6ad";
@@ -9684,12 +9733,15 @@
 "unigrazpub.source-1.00"="0mdcp3f8by29abbclsy9ndydgslpybcs5wqbiz5aiy5blp8d8abx";
 "unitn-bimrep-45581"="0vv9vc9cvw3bjfndlfyr69kpziymlgalyvc11av9kq2x5b4jlc5b";
 "unitn-bimrep.doc-45581"="1wyiar6xjhsjcfnxhlz8y1l9xvlcpgmkh360am85llfqlnar5w5f";
-"univie-ling-2.2"="1mdyk19p36ljfx44arv7hlfvn4q2hr3kklwvfmjy0c798q7bla7a";
-"univie-ling.doc-2.2"="1qlihlgfvhbqhzrd7lamhrmrj12cmii9z33xcb39dzjjd45axs24";
+"univie-ling-2.3"="1ffslx4ry1aiipp4bia6idfkf5l83bk9i47768wr4kja8lih4rs7";
+"univie-ling.doc-2.3"="0zy7cj2d00jl4acvwr7cvynyrwlk45j00zachlxg05cfh3g24i07";
 "unizgklasa-1.0"="0clwxzngdy6n7iwk9zrn21i1frmahdf0s9qq2nqlhk4h6rxwb8jb";
 "unizgklasa.doc-1.0"="1q7q2fpgpjdsmbfj9zijccqpl2m6n0dch72wl05a64hxg117jbl4";
 "unswcover-1.0"="05nkk3xgpjcdlsk8xrj0mn5r3kwzi15awish2hd205v1rnbjiaz6";
 "unswcover.doc-1.0"="1jsxc55wrfczcc9mnf5yl2yqbbzbk10jcdly5z5nyfvg51427adw";
+"uol-physics-report-1.1"="008iix41i3zxghxmxiyky0cyfn2rzy8q64f49dsj6nvixp6zlf9d";
+"uol-physics-report.doc-1.1"="0pbl7vx7xvmvi7fx7l0mn98hff9d838n19zx7izg3xgrqalygpgp";
+"uol-physics-report.source-1.1"="05rd3ss59gcfa9i3lpzfb6f8rhnmx50868si3hys13pqhwb7xkn0";
 "uothesis-2.5.6"="1wgs3fxg01cxcpnhk43ik12sjdip77fkxdaik6w4w926i8z0np7s";
 "uothesis.doc-2.5.6"="1zmpx6biaxlm7fys5a3qahglpbqgn6ml07z6q8vplyqgn213hd6d";
 "uothesis.source-2.5.6"="137c9av6i6b6hg97wmqd2iwqzd1dq6lvg2992wnbm2bp2m9r20zl";
@@ -9701,11 +9753,13 @@
 "urcls.doc-2.1"="0axb3cpbqbksrixhksdhbjyqyic0176lyxxk5di268jbr58203xp";
 "uspatent-1.0"="043az1c7bs194w7frr768pwaliiaikfibxh6zqiznc85ax6q3d94";
 "uspatent.doc-1.0"="1q04i3q9693ykpgsx1fl11w0y0kxffqyljns1qy04935s5b8vskv";
-"ut-thesis-3.1.6"="1x8zavqvaqnbwgd8nzwv9dn65iq7337rv1pyssvy5c0f8b49zm1g";
-"ut-thesis.doc-3.1.6"="0wairvm9pcp1300bybnarsd9didignvp9wy4ws52fnizgcnds9br";
-"ut-thesis.source-3.1.6"="1zzk5zh2vmjih4c0w19cqnypwhxk36hmcadxv0afdwn1mr9capk3";
+"ut-thesis-3.1.7"="157rirfa3bi7pg1x6641r0j22ycb4vq1pv6b1pf0cadcfflh07dy";
+"ut-thesis.doc-3.1.7"="06pkxz4kyyxm6pf34jdwm21z72l4ry7891508yc0hic89fgjlcl5";
+"ut-thesis.source-3.1.7"="12xprwfmjxwcf4mpghcg0hsxsa8bd5jkg7pvp485da3k4pgslx0m";
 "utexasthesis-1.0"="0j8jjy8i5i9lgy7m9wnvj36ms597amnvb9a0ac2a2wh7vqf3dxgd";
 "utexasthesis.doc-1.0"="0131pn2531bwmsv3ak1kf9nc4v86icxjg19d28sqfmlnfvl73v4y";
+"uvaletter-1.1.0"="0d5g993axvin6lvhqw9w9zkyhpw9vm5qi9k3mnsdgawhxzziyib4";
+"uvaletter.doc-1.1.0"="0w96kc44y0l7vg0229cs1wy4s5gl6z0lwl3lr3xccyfw3vyyfaih";
 "uwa-colours-1.0.0"="0j3yywmr4rb011062gwaz4q56jcizblah0a4s3xi2gh0jycdfd1v";
 "uwa-colours.doc-1.0.0"="0pa7a1ic7am0w1chl6cx778gv86pf38m12s0xdpz3hp2krkrjxwx";
 "uwa-colours.source-1.0.0"="0h59r1sxqsgsl79jvm8q015mck28z89c595lkpilymahfn3aqi88";
@@ -9728,15 +9782,15 @@
 "xduthesis-1.00"="08cxhw5lhklv7vxl30fhwmlgq4kmv53a8qppcmsap1v8jc8vjrdk";
 "xduthesis.doc-1.00"="1j8pqz4l85qiziry85w7a23i6s577nb2cpbq4v5jgvp5l8x8lhzk";
 "xduthesis.source-1.00"="0zdlq46z2l3y5zydal9nsawv7nhhp113hdia15d9fd23j8gq4jdp";
-"xduts-4.0.1.0"="1b8d4yw6xd1cqgzhyc4hnixcypc8bxsi9bn55s9c2kbjhd72s22b";
-"xduts.doc-4.0.1.0"="15km7dh1xsmd91hrch61cga2hbnnalxv4j5b82vnc4kgm0rrhl2j";
-"xduts.source-4.0.1.0"="0kshbv2832gymm16l07hr3rv8z8ccv1gc8akvpd1bxm4dgwdxz9f";
+"xduts-6.1.2.0"="0l79ks9j99alp43nia6m6l1wd4r5a4x9v161l25c9zzcjg6xb29n";
+"xduts.doc-6.1.2.0"="1p9q7g77rbc7f3pzvnry8xhb956pzfcys9358lhxkvf3wh76rar9";
+"xduts.source-6.1.2.0"="07cn29j9y5aia67q8ja37vhql5yj49jravanz27sgizdzqp5sf5d";
 "xmuthesis-0.4.1"="05z3pbc9gqfnzp4y4a5p6bmprsr1r63w9l442hgk3pshswc2dflp";
 "xmuthesis.doc-0.4.1"="0dqmbdz0ydlq1hkz0s3lr12sia1qj7p912carwq4pjg9rrw98z7s";
 "xmuthesis.source-0.4.1"="1c3a90gpb2siww65yc2l3kf91bf5xvxk9iq1s9cnx1ngxjbs7835";
-"yathesis-1.0.10"="02rz0a3bda3gv6yv039bkr1r2yr89shnfrq7j6irxp9l9ziyi44q";
-"yathesis.doc-1.0.10"="1y1llns772gv2wnb4ivq9qg6wxx4apdjjghyj85xfddnasry8bd1";
-"yathesis.source-1.0.10"="0hrdz19037c1yr0ajnfsfpi9wbv70bjkhwyacyk7z3rz53iw1cy9";
+"yathesis-1.0.11"="1kbp66x3rh5mlfpakgfyfk34aq5wq7dbg3dqpy3g3cvlfjm5anwm";
+"yathesis.doc-1.0.11"="0y1v78cy20i042fg02qq7ipqzrfn82hrgzfdxz6p68i10fmzpmi1";
+"yathesis.source-1.0.11"="0q47z4k7k55n0wxabh3sjlfdd68nm8bmdy8hdkl0b5mfa5dh35z0";
 "yazd-thesis-0.3"="1bhjqd6k4lqk4sypssmrsjl9lqrbha9d0n42qbaq1mg5whpl2b8x";
 "yazd-thesis.doc-0.3"="0krsm9s3ym6f3d323scvxn8cf1wjqppglhmzbxwn0cpjq5nl01pg";
 "yb-book-0.2.0"="1fy9f39kbmlsm0fwgpkm89s81bs17xqvhbgmhxf707bl9jni1xb0";
@@ -9797,8 +9851,8 @@
 "ucharclasses.doc-2.6"="1l6pv743lzdhnxpd8bv1y40xhfg82421jyri2c5h7j4ahlcnnvic";
 "unicode-bidi-0.01"="1prl0i2a9dg5yc2yl1x1k0zmz9lww051w1zwy8cbyvk3rd765a72";
 "unicode-bidi.doc-0.01"="0ab0gym9sjllmqdclkjfbc4fh9n20999mv7z2gylfybirm0n7i7c";
-"unimath-plain-xetex-0.1a"="0vcx9pshmnl50l95m1x4crj85j93v7bz64a8vi06x0gp42xjh2pw";
-"unimath-plain-xetex.doc-0.1a"="1x27qp7l45wn1ay854mq2qcb50svixwdv42qwc57mnqlznj3c8r6";
+"unimath-plain-xetex-0.2b"="0h81w9pzy11mnq63401m6a8nbmz11xxvjfawqmnyzzgpx0v0n7r5";
+"unimath-plain-xetex.doc-0.2b"="178slwilm2klrln2q7zm42xf6hanc16ksvrn6hzfzsda46f5mrsn";
 "unisugar-0.92"="1dx088b21apj2rpij4pxa9srx29irzsfmlp9vn8fjpm1ag60md98";
 "unisugar.doc-0.92"="1mnpbd68i0112hhcgiwc2j5jkwffrfdqlrdl896ybd0cpwq5d8sp";
 "xebaposter-2.53"="1kdrjvdzsn9jwb6awcj2g2cr5csrhzds4w0anb8wm9q3532hcw58";
diff --git a/pkgs/tools/typesetting/tex/texlive/tlpdb.nix b/pkgs/tools/typesetting/tex/texlive/tlpdb.nix
index 222d56b4f135..a3d0f48c9224 100644
--- a/pkgs/tools/typesetting/tex/texlive/tlpdb.nix
+++ b/pkgs/tools/typesetting/tex/texlive/tlpdb.nix
@@ -101,12 +101,12 @@
   version = "1.9.7";
 };
 "abntexto" = {
-  revision = 64694;
+  revision = 65705;
   stripPrefix = 0;
-  sha512.run = "c6372415c572e62aa4b763439d3b073fa1338f4d9d0ccc0c3e10f577625b1114a87ca1ad2656d938f4eeeb3d4665b092248cc5a2e7588700cdcc803d06e4ae78";
-  sha512.doc = "3cfbfeb8036827fc143400900b9e04b2f4489819339db71d264433724470b0174d3b51a6b6ade53a2d24e41959565aed8a85e7d861abc058cb5774e4d868d31c";
+  sha512.run = "e238ffc706d7902fb782c9f97cdc3dfd0492fb2b33ce1a2e3b6839d128fca3a9cbbe0f89e71ed456eb2bbbf00eafe2139e9bd310146af082d33f7f6cf5edd80d";
+  sha512.doc = "21bec45fca68bb40227ed64a2893f65b526e19ac635fd521bdb65409b41ef2bd5dab25977e9ca1eb4df715691fed3fc0eb4c2bed200398588997be5cc9271a87";
   hasRunfiles = true;
-  version = "1.2.1-alpha";
+  version = "2.0.0-alpha";
 };
 "aboensis" = {
   revision = 62977;
@@ -370,9 +370,9 @@
   version = "1.3a";
 };
 "adobemapping" = {
-  revision = 51787;
+  revision = 66553;
   stripPrefix = 0;
-  sha512.run = "1dd2c4a813bbcd8063d42c1872fd14427bae2e5ce9698ddb0825770653d17798c037da511d43a0939cea1a607f0a7bb7ce974bff72a2ee88c6f56f941cc7510e";
+  sha512.run = "ae5dc34fd64804c8429cede14efa25223c6ce0408ad13fcf44f5d6751174ba72ca72cc99b523837173d9ec92d7574088ff0169a40dc83dace188e01d1269625d";
   hasRunfiles = true;
 };
 "adrconv" = {
@@ -502,12 +502,20 @@
   version = "0.2";
 };
 "albatross" = {
-  revision = 61175;
-  sha512.run = "8c3556c5c59c049a295790042f72b929484962b622a00c3a3dd39817978fe1cb2f56ddee9863f65429b507350c197740306fd0e28be322d26d6f30ff8d77c10f";
-  sha512.doc = "beef301cbcccedda3b3a625a87a572fda75d8c28a6d76d45bab4333b17a1a581e1fc42abb169b6fbc8b461334f9b83063f6fd26e445ef42f56904c051b65d311";
-  sha512.source = "69b966e2cc59ad0f5f46500c4b2a21e3ea4e627f03b2b7b99e5e313dbdb35c5758762821cf3d776a39a9cdd930a80b964ff70bb956b8fc528113c354a88b9934";
+  revision = 65647;
+  sha512.run = "3ca4c3ff3fdbb1b865e62fa96e984f94761bbce1de24cf09d7e5bdee3b4361c6536cfbd2119aeb6aa5df842228004cb78a27e2aa9e5e957cff59ef82b9fb459e";
+  sha512.doc = "dfc9cb6a72ec80fe5f240a8c50c8c98167d069cf13e3502ba281991deadccd094e369a2ef2ae6b089064de77d937c45ad3a3dc70c06fe6fc5e39190b7d652189";
+  sha512.source = "93b72dbb855302d42faed5be48e2e4f11ba7b91212a296eac0cda3f13c0eb89e857decff834f7cf05b9164d2ee2ef8eb6174f077026b285dded75e10c1086a2e";
   hasRunfiles = true;
-  version = "0.4.0";
+  version = "0.5.0";
+};
+"alchemist" = {
+  revision = 66557;
+  stripPrefix = 0;
+  sha512.run = "705bca949b8f95dc5a5981155bcc5b8bd2d0d36b2f7a7ce4d6eb4f0e6ba8a453171c76752ced654f971305df1677ba5361b04bd3553da0c189d78fa9ce8e6765";
+  sha512.doc = "d19c79d3e54fafae33b2dae0d3024955cc3e63a7968f0f3cd71a44d8ad570e27459ddf4dff4a470120141c6fd179d13a902aa83a70fab5471b6ac2bf0ed3ead4";
+  hasRunfiles = true;
+  version = "1.00";
 };
 "alegreya" = {
   revision = 64384;
@@ -597,12 +605,12 @@
   version = "0.1";
 };
 "algpseudocodex" = {
-  revision = 64654;
+  revision = 65860;
   stripPrefix = 0;
-  sha512.run = "bd31c62258b5f61afa6155b8c1847031c40c1d1dac7ab7f32f8a365191edc2db80dfac84cf47661003c8c00f530158e850660cba0a1b46558195d4bcd9c9352f";
-  sha512.doc = "5a1b9403fbd8eb8620e658cfecffb2ac7313bbca29a798318b462720f109d5d75bf11919caed09e2e90e7f9b86faa5654b5079bfdb39d4a071c57a707bd87d65";
+  sha512.run = "7b69eddad12567fb6fea17a3205c56e695ba73015143239def94e56adde3194dc847ee049ccbdde15e5a402be02c0aa7459f9ad20b1c2e0a1150ac06cc3f24e2";
+  sha512.doc = "2ea383e6427973ae31d54d8f04cb45e2ffe649310c66d8d9866160ac7f71af786ab0899b48bc8f7c704fc8b54063df3a5e786d7d808aabc371eea96dc00fdfc6";
   hasRunfiles = true;
-  version = "1.0.2";
+  version = "1.1.0";
 };
 "algxpar" = {
   revision = 56006;
@@ -664,10 +672,10 @@
   version = "0.03";
 };
 "alpha-persian" = {
-  revision = 50316;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "9907067b5353b62bb2d25833231c3152974f7f0826237e6b18007043a420018c7901505fcbec45414ba67ca8f90f0213c512b16cbd342413ec000144b5fcb1f2";
-  sha512.doc = "aaae11a4d64fcd05b9a98d324356c9b206bf22d5a744f6d9bd124e1c53f2df3ffd7f2901dd63a8dc2addd9783212792e2e3bbc789b1376e8f5f1d5fd28ea3ed3";
+  sha512.run = "c353e33c402622cac42e00bee21193cf9ae7d6f1f2480d3d81a1392b199a3c211613d3ebdd79d031630514005f7b0aeb308202f414df5ebf9fd09163acdf351d";
+  sha512.doc = "112458509e26a515fdd67f9720473ade30376d2b7a69ee1c335fdcd6dbba443738c098c94742479753fe68538fbeed9ddba031b124a771d1354f4ce0f46ca3af";
   hasRunfiles = true;
   version = "1.3";
 };
@@ -860,12 +868,12 @@
   hasRunfiles = true;
 };
 "annotate-equations" = {
-  revision = 62932;
+  revision = 65851;
   stripPrefix = 0;
-  sha512.run = "b4e7665b8285509e8fc603dfc3284ea37f862a26aecbcf9f85e4d2a9e2298192bf5dcd97437e31c2b54f8abee2ec02f60d5426e8f7b00caab99aa6afae9d7b03";
-  sha512.doc = "6ef62fc560f51a3f34233f4d4fa4d5685b81461d6f1530b1df082b2e06bd57a96e3ba7cb89e7f56ac58c9f41e3fbe830ade1d87bb3d5d4dec29854516a9bf523";
+  sha512.run = "bfb32b21539e4565bca6e5ac69bb1503e5265e21b0a9b70227849b0c803fec10cfe480750d2e95eaed98b073e33b8e0de7efda42fc3f7be6166d6d40caa4530a";
+  sha512.doc = "a52c3caf249012fb980cd8487b648452616545b31516bd03aeb2e09fb5ffd5f9930bd31cb52b9b026c193f5de3a39b737bd068a40f3a176ee86fc86eb47eea4d";
   hasRunfiles = true;
-  version = "0.1.0";
+  version = "0.2.0";
 };
 "anonchap" = {
   revision = 17049;
@@ -1029,10 +1037,10 @@
   version = "1.2.0";
 };
 "apalike-german" = {
-  revision = 61719;
+  revision = 65403;
   stripPrefix = 0;
-  sha512.run = "46f79d5e0b95f9a89611abeb1797f08be355524c4d28f66e18aa3bc267f76d80b6ab74fcae68a7ade731fbb454cd10334107b6c3c293937f806d891812c37a00";
-  sha512.doc = "dd0d69c76c6e265cfc18441bbc391d98710474d40d4c9e282ef6dc9aaf8a51e90458941e9208c3a8e01ea026d33b5a10b7c57d147fc3f72c30ea5fec35917c9f";
+  sha512.run = "2d9094953893182276e88db622b68750a5f70a9314ae5b88ca33c8b04a3e4dbb68fa01de9e3f44cc13b41b7bd7ef9c9b618af7c1cabe58045dc03b15277da5bd";
+  sha512.doc = "eae2fa13afb28c51926a1fc4aa8e8e39da35d9a6b3297eb2a1b42bd39580daaf45a782c4cbba16dba6c7a4c315873d6ad1a7b6dd61b4de06cf5628f8d381c63a";
   hasRunfiles = true;
 };
 "apalike2" = {
@@ -1390,20 +1398,20 @@
   version = "0.2";
 };
 "asmeconf" = {
-  revision = 64435;
+  revision = 65413;
   stripPrefix = 0;
-  sha512.run = "31f5688bb7aff1357e21aaa4d883aeaaa6055c56dca8ed7a12aeb8fd5cbad746d48c12b9633f7337dbfb20e6891e6eafbe8392292ae96163f957c64eae936d8b";
-  sha512.doc = "9a77c31532fb1a7e8efe51d84773ff3b9815efb3c8002bad5395b78bda52822388ce9e23b1f5e7a20143ef054b102d9ce4aed1ae737a726a9ef696989b6e982e";
+  sha512.run = "e2545a50595a8276de018afb6037f9d05a5e39ca9bda61b893ba75c61237702f4cb310df75b8c2daca88a4e46683f475e1ad7a1dac5641100f61d25202e952d3";
+  sha512.doc = "1f8587342100f63b3918ff5f11845f9fb10deb193215abbddf5f08ecff232889bbc28ef0f80287fe66420ce5bafa29917c239540ba1b0c860090564c5b3910f8";
   hasRunfiles = true;
-  version = "1.32";
+  version = "1.34";
 };
 "asmejour" = {
-  revision = 63736;
+  revision = 65405;
   stripPrefix = 0;
-  sha512.run = "73960398a0c3f7b29550bfe881c7c155662cecc0cfc70eb618c802ddbd20fc83416aaeaa5cfa16910b6dad106d362deebf73db803111a7520433549367ae1cfe";
-  sha512.doc = "510bc20b673d32b8d6831f21d22564de26f14318f4adcbe7dc759a2cc3e77089c06be0133d4f76b05cac0854592ff8f1b8d65487e5356078125307d986141cc8";
+  sha512.run = "ea16b3b9d8852248ea87cd9da0ec78dde09c1da8af233a27a837aba266a6dadc3703cef6be5e0b5185cf7581076e4e8d7176d06215c2848f1637bcf24ce68195";
+  sha512.doc = "2c9e630113f8870cc0f78c31194754ef2d572534a599991ad16a301f85970cf8a437b719be6afa79711515d10d089486f56024504fc7af24989edcde4b656c70";
   hasRunfiles = true;
-  version = "1.19";
+  version = "1.20";
 };
 "aspectratio" = {
   revision = 25243;
@@ -1462,11 +1470,11 @@
   version = "0.1c";
 };
 "asymptote" = {
-  revision = 64491;
-  sha512.run = "1371f2d7717f22ba7693f22637a25cc4ecf24dae7fea8e4e30165d51d10457e92122b67a1f4b275c465d72bb76e0ea9948dfcb59392a8a473e8c2b178763803b";
-  sha512.doc = "6f89d7339e2dc79c173e8be371569d3637de044f8ec645c1469c2a466d32a0a778152dd75aa2e93054d154110b103087a834b5177c0f3691732178e0cea76ed6";
+  revision = 66119;
+  sha512.run = "4f97d0d87d1f29985c83c99629fc52e8e18f6eabf95d77aa888429187b49ed9525661d9c06b46a9b2295b03df412778ede1490fa9cd8ec680c3209a4ca6d0be0";
+  sha512.doc = "940297c3d69de7e01caa09ff44483f7334aba14705bdcdc83661ca9be2210133e094f99a8355b4b88d076355bb4f13f64c21700bff57f452dd5dbc8d2fddb432";
   hasRunfiles = true;
-  version = "2.83";
+  version = "2.85";
 };
 "asymptote-by-example-zh-cn" = {
   revision = 15878;
@@ -1602,12 +1610,12 @@
   version = "1.0";
 };
 "authorarchive" = {
-  revision = 63146;
+  revision = 65777;
   stripPrefix = 0;
-  sha512.run = "4be3f2ed7bb2ff49c77377ec80c595109d5e4735141c0d9a3247361611f4f1c82a896d3f513fa6f63297703b05fb4901da6044c4e40766d99bdf0caa66aae2c1";
-  sha512.doc = "5c6a4e4acd74493fb2e6d266607caf877e473a1ece7dd0a8d20d310fbd9a0e168e656fec3e83db529b9ecd7049a26414ff484e1bafaad869663f071f64fed951";
+  sha512.run = "d5695336d18c4b84ef2b611b9ebcf502a974ed884625a2296666fdcf54a757f6682c0f9689713d134c033b1a9cf743218c02b05c0b2217c5c2ad5eb5d29f21bc";
+  sha512.doc = "e8ca021be201da6cdb5ec980f3724d38d3cf4c5fa4be8fd08b286ed9f0ccf2db1f0b8e3f14e3cf6a591afa4c71ca4cf3f962d7a09466000377d51745b6600501";
   hasRunfiles = true;
-  version = "1.2.1";
+  version = "1.3.0";
 };
 "authordate" = {
   revision = 52564;
@@ -1777,13 +1785,13 @@
   version = "1.0";
 };
 "babel" = {
-  revision = 65366;
+  revision = 65823;
   stripPrefix = 0;
-  sha512.run = "0ca65b27764337da447f3f76ab39d10cf4fad62998fd72032c8c8e5ab6401f4d1ac03c17424231656a62635f87927e62ec1abda31690fd76ffcb4182d7a72de0";
-  sha512.doc = "44fa3b8265ef78e8b618e3d4b5d6a5f8b0b66b7aee5c7acf1d4f48e5fc3f85669dea3080956819cd7791c3f9e551d93cf53ceb36c407099e666a60bf4eec9296";
-  sha512.source = "6dfd5157844412e08d9adc87e2c4436d4e12a96a509eca3737c331788229bb720f5e60e3aa9224141dba9bc60e3e59f59a1730325608d798f5911e560fafae37";
+  sha512.run = "ec773d88ce631b47cce6543a6211d14c76568f5fcc0c52e1a4289784816eced7391b64d181abfb514102c304299fcdb72e47e8c197ca06ca2ab59aab62993635";
+  sha512.doc = "c492f6d2da0a55d4de187f578279c9ec4c7dc2570b4c129b3f031f6b0a5475cabd0b528f6d53bae1c395ea875790ec1ab9fac8364d7b618012365ac057a1e0b5";
+  sha512.source = "c2ccfd558da2768009467fdd9bce3f676038c4b405a227a71cf2e49c5f6dbc9524b23806e1915adf8a3d8511b7478964b0e41cd51b22d208356e5b64a2177d8d";
   hasRunfiles = true;
-  version = "3.84";
+  version = "3.86";
 };
 "babel-albanian" = {
   revision = 57005;
@@ -1930,13 +1938,13 @@
   version = "1.3s";
 };
 "babel-french" = {
-  revision = 65000;
+  revision = 66516;
   stripPrefix = 0;
-  sha512.run = "b91309912e25c323989deb4878a08327709ea25b6f9708b10c3bef712fcb29069c91c8df7829569fd94e943abdc756a8219095ef2a7c29da376c3c03aed72b94";
-  sha512.doc = "a06a1a4a4d83910a42d6c20dfaab2ebcf746a3e4a336d0fe38ecbda39479a435445f007c22b310b6c6fed7253fc5ce9263558f35a81603d4a7e1ab791b07b3ea";
-  sha512.source = "fe6de0df3b3871d79b64b618cd09be498c4cb720f060fb5eabf595a88265ba2f2047ffc039f714f7607e255af7e25c17c1c8ca0d650bfd83a99f05d7100ece39";
+  sha512.run = "6cb9355ae6dc0a1ddd6ccd12be767fab6d8af70d8c4d884b314bca67a20a165b55a49b4feab12ca8387d5fc4b9553cb13c2166a2a60cd4248cb755e512774a96";
+  sha512.doc = "1e5b9a8ac199167fa33ac627acd5501d9f0bb992c3cbe4175d141511830647623797d343bc8190273d09341e36e0171d00579b9fd37b77cbe8badae6399aae35";
+  sha512.source = "257f5fcf47fd7959647294e6ee240b7075410704836fa2308118fee99f3e9802d6c4481685d1998933a01a957aecb9901d9ee9afb0ebfc40e07754479d92306d";
   hasRunfiles = true;
-  version = "3.5o";
+  version = "3.5q";
 };
 "babel-friulan" = {
   revision = 39861;
@@ -1974,13 +1982,13 @@
   version = "2.13";
 };
 "babel-greek" = {
-  revision = 56904;
+  revision = 66347;
   stripPrefix = 0;
-  sha512.run = "6b0ab839f2e8a9562c8292fe8f7661a73148754ed816088be25d06537a58ba95ac34d9440bc4f3f35c3b720188b261b432887f9867ff94b51261076f9d8e0160";
-  sha512.doc = "965dc1293a90ed4f7c777d32887186febf28f7a174a00af26c19720493605291d1b17a5790b5541547f9265d8a1a3d102d9a4fae79aba43780c384b7385e06b3";
-  sha512.source = "907493b19b16ed7a0c6377864a4b8266732065e2330c746d118dfec14a6a4976115eb48bd6b4286ce48cf6823e30fd3c9f06551aba2f52ef4a8ccfaf3f800810";
+  sha512.run = "eae0105f5f1a637677387065b8cb941336da2c4440ebeceef26f6c0e25bfc0b92089140d47332da372f31ed0a0b1e1e976092d636f142a21e1d27c61959ca189";
+  sha512.doc = "a76fc17e43dd86da4a05b3eb515167c436cd7c211ddc84f3b7fe37acf42a971684e09ea3af552318bf896b9fb5f5d75a461db6fd598df434e17e63fdcd80abdb";
+  sha512.source = "2d7ab1f4f63f437f4988cc7572ee3eaf9fdafec0fdc9d88cb132ae3daa83bac33a9149a9fb9bd92be7ab6958e4bdd787a23c815771ca073453f7e4baa0e2a6be";
   hasRunfiles = true;
-  version = "1.10";
+  version = "1.12";
 };
 "babel-hebrew" = {
   revision = 30273;
@@ -2079,6 +2087,15 @@
   hasRunfiles = true;
   version = "2.0b";
 };
+"babel-lithuanian" = {
+  revision = 66516;
+  stripPrefix = 0;
+  sha512.run = "18dd55b766a08088c49bc263560f5d3ae9ef0c644a3bc8cb70ef3496ae86bfc15eb4f450de6627ab1bd01365fd2d98230a46f92aa866d7eced55eb2c21e116b1";
+  sha512.doc = "f48446baa2e78cf8e5a730e06f53797b90d04827aebd36d2d66a3dc9c7380abab92b0ffc87d59ba28f4b0d603a77a75ba6f315c90ab3509c067243a05d8681cf";
+  sha512.source = "6fbcd3b900ebafb10f9b83591d28e5d61bce8c954ae064e6e215db77d9ba3a670687f2f133459866a5e12c5be7b6116b5608a83131dfe2e5752b0784e395d101";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "babel-macedonian" = {
   revision = 39587;
   stripPrefix = 0;
@@ -2336,16 +2353,16 @@
   version = "3.02";
 };
 "bangla" = {
-  revision = 60159;
+  revision = 65786;
   stripPrefix = 0;
   deps = [
     "charissil"
     "doulossil"
   ];
-  sha512.run = "adeed1b1f42ef1c76406c376d5f672870feedd4ccdc8db382b057dea6dceecca6e53de7d2c0ca154def6b0be67c05aa46e959c89829f564a3acc6805462bb4bc";
-  sha512.doc = "d62d6a72c268421033767b3d2c131583e62e0c139ea3e101094752616498111badc5f0544294e836715dc7b3fffd5da9d9e4d3a4103fd2090f38e7ee31afe5be";
+  sha512.run = "1559fc1599e2586c660ab544a5d7e279240a966da677fb658162e8497e17b574308f90f51823ed861d52c2d0f4c0b836316866b2d5cc1b0c3ebfa82caa9334d0";
+  sha512.doc = "dfa23cced9bc203d87f4ad344f3f4448b1950418d6a01c72a9b56e64cc7b5e959ba6845e55c592628f11bf677b93aa68218023e32116efa8580938b503639f50";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1";
 };
 "bangorcsthesis" = {
   revision = 61770;
@@ -2535,12 +2552,12 @@
   hasRunfiles = true;
 };
 "bboldx" = {
-  revision = 60919;
+  revision = 65424;
   stripPrefix = 0;
-  sha512.run = "4414cca525a587cee177ad7629b5ae3ab0317b5ca9266c49da852bab595c8f076249908ef071c91f398e2f1441904393b0d0baad3a92fb53da5a34fd729136d9";
-  sha512.doc = "85d590c60b708bc35924259bbf6e670d70abd48548f02ef1520e83be9fecfe3cb34c2b6e3f0c4b72384d062829aae7b4255c15e0f35a9f0e98f8dbc28882795e";
+  sha512.run = "b75c9f544bc0c6d1c046d614a6e0ba52a9cf920d73e8066e2d5e656e1a8774d42677c5a5bc9848e45bd4892e3ed19f6c3c281333f437b541d30d3410be2618a8";
+  sha512.doc = "671259c208ea744654b82f25fddc3589fdda650c2121c71763ca4fb4c0ebe3a99906763c5adc354f49edec4beec59897445f5864a37640f67e47c8df6473f2fe";
   hasRunfiles = true;
-  version = "1.031";
+  version = "1.032";
 };
 "bchart" = {
   revision = 43928;
@@ -2559,7 +2576,7 @@
   version = "3.1";
 };
 "beamer" = {
-  revision = 64388;
+  revision = 65975;
   stripPrefix = 0;
   deps = [
     "amscls"
@@ -2574,10 +2591,10 @@
     "translator"
     "xcolor"
   ];
-  sha512.run = "27118c5f5dd76a6c7cd0fb74fd8420c5a0b30655ffd57a1677f7e92163f81992ecfaa13cfbf9e2a0d47069980d0364848bcb0c24b120163833fed09c589f54ba";
-  sha512.doc = "52512e5966c4b6f6b7d4660c61115d8ec3fea2b4e3dfd065fcbf4ea6bb9fb1895f48a69f092482932a73c74004b14026fb844ab3d358af706ead011a63053339";
+  sha512.run = "e74d15c057451bcd3aa915ddf17412322dbb71885661f7bd6ca30c0fefaa3451ed7bc519b78099594614bee126ae72c110d035924b8db2e23a9e535408fdee19";
+  sha512.doc = "bbe680442b95b9d953e9e82e439b2885fd9830b335aa8310cd1adcb6493cdfdc67c61fad887a44704bee96ccfb743d8e101a8ace5807babad88e083fed17cffc";
   hasRunfiles = true;
-  version = "3.68";
+  version = "3.69";
 };
 "beamer-fuberlin" = {
   revision = 63161;
@@ -2588,12 +2605,12 @@
   version = "0.02b";
 };
 "beamer-rl" = {
-  revision = 63668;
+  revision = 65725;
   stripPrefix = 0;
-  sha512.run = "8038171ba1b002a018cb7c2f821513f2a02b17f7861e15504b5cac113db63090376b9e67f6beec51eef1708c8047c8970e917c8094660a4d2089255a6ed271f7";
-  sha512.doc = "51cb2cf3e295d48a7f447632a3e86eb9e54da01938a0efff43c17c5f13309d20f8c88397e50023656a8663cea942e2dad94e4d0c718b69299c427c85319cb965";
+  sha512.run = "116da52bba8c3e49784d4cdcc50e1326b9e2455741fa1187d51c0757dcbe8ad4e27300e26143413f5e5868cdb845ba044655a263a6a709268ead43f0398425f9";
+  sha512.doc = "2acce2762763518cbe8bc0342c2b742efb685bbc83159a4b3ae9ae254f5bb8326aa0dd83691e4115b9c63ff83822bbabaf461cbe5385aacb4ba7a31782bcd440";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.8";
 };
 "beamer-tut-pt" = {
   revision = 15878;
@@ -2686,12 +2703,12 @@
   version = "1.9";
 };
 "beamertheme-arguelles" = {
-  revision = 65234;
+  revision = 66373;
   stripPrefix = 0;
-  sha512.run = "ea4a68b807cdacc06a642e2cf2ae43c73da67575feba266f88890180f387d23ff2891c3a659b4c42f34e6bf3edba0e25675ecbeda16f57e65f68648e6e28ca83";
-  sha512.doc = "6df955223c1e301c24bcfda090eabf345cd292a5c0c815f2f4f45343d7f6b13f3473281e3f4b02545d7c12a936b699012136d17cd333e060821e826bc9c34e2d";
+  sha512.run = "3f80674087810ba9904fbd6278059010df99d4c3583043efa2a8d09e1bdeb88c1e116c537eb621196a5abda921531ccf406c6d694e4e3773493afc1a05dbe2f8";
+  sha512.doc = "bfe9877c96c8930a3e9c2f36ff09b46e698d2756ae99ca5bacfde4c0b86a30af7320860cdaeaa0f841da228489109f2ca111bb6e5bd6de6a0cdb4c4ec019d75f";
   hasRunfiles = true;
-  version = "2.0.0";
+  version = "2.1.0";
 };
 "beamertheme-cuerna" = {
   revision = 42161;
@@ -2798,13 +2815,13 @@
   version = "0.5";
 };
 "beamertheme-trigon" = {
-  revision = 63270;
+  revision = 65974;
   stripPrefix = 0;
-  sha512.run = "8d38781dd8477a1dc94db08d1461cfd5ab433ea98bddfe80d91cefdaff6a08a071665db7c5b3fc26cc1593f520a5229ebc553f5391c3b62c48af53db1a89a7ea";
-  sha512.doc = "b820c682a4a108eb574fec3e89d1ee9869ea195de6396f7bbe5cf9683b1510d17ea145d70b53755e0459f7f7bc302fd092658c75d233e9bd1b8ec0ca99fc6ef0";
-  sha512.source = "0f565fa258de145c488bc2f9da0748120bd43c8d0044721c64dae7a912a7abb8abd0df7c4829ac256e36f517bbcce77a9dd620e8b2eae6ac6fe57a175be1df69";
+  sha512.run = "0f8c9af1c1dde891be6d8fb924276c72742a8d45fad9bee7c095c20e62576b65162178f9d6a11fdfe97a86d7ff3501f6b21ce3eb404f29bdb7224fc41428bfe4";
+  sha512.doc = "91c5d076b2814a6d4c0a57b9e2d91419ee50bb57ff38ef1e040d2e227f68a5a68668b35c9a24e3ece8d3936c2bef49786da6bc93e1594ce83ebb314058b670e2";
+  sha512.source = "f770036c49ae0c8e875a02ed2350d6ec9526bd8a576077799b4839a723c26b3961a3c98e2271507e787b5c6a27f0d62ce37e0d062dec4ff1a4d54719b86eb156";
   hasRunfiles = true;
-  version = "0.6.6";
+  version = "0.7.0";
 };
 "beamertheme-upenn-bc" = {
   revision = 29937;
@@ -2815,12 +2832,12 @@
   version = "1.0";
 };
 "beamerthemeamurmaple" = {
-  revision = 64346;
+  revision = 65698;
   stripPrefix = 0;
-  sha512.run = "66c91b00956623f61b8c20da8dd975d7ea3feaabd20e0bd978b42dadc76f6cacaf4d9fcdf0d86344ad32b6e637424aa28ef5dcea9452544e9e9b3a9ff72ce7e1";
-  sha512.doc = "67f5a188ec848df624246fc283ee50949cf1e9d0f43338142d58615bd4905f8d83a780d968e7a90e1f78a356522a5e52e3dd98c8f2944928222fc12142758751";
+  sha512.run = "d3ca653e4d21c08077e6957d2a2ea56f988100aee0c443428328506bd5cee2a739045c99c7373a8870693d76f844dc5ea192a1a69bae197c09eee4ac212501cc";
+  sha512.doc = "92c71d9ce3a124009ad3d72e4b46c8ccb3e49d4eeb193d53080a08f3917c065da44bbfe2ac1ec80fb9105cdf1e3a840e7df065a7b28151771fb5acd33ca66174";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "beamerthemejltree" = {
   revision = 21977;
@@ -2863,19 +2880,19 @@
   version = "0.2";
 };
 "beaulivre" = {
-  revision = 64280;
+  revision = 65475;
   stripPrefix = 0;
   deps = [
     "colorist"
   ];
-  sha512.run = "7fa9fac71a151bc1e100ed3ad4261cb4d76df8734d424ba5600f73d526f48183f3d7024426be5c35114b20e6ff341f3cf735dfafaa96d17a42a4d7fc0e54179a";
-  sha512.doc = "d489dadc440661b8c8ceb645a5a2ffbc50c5461d9fb1ac9964be76907aa250f657a1b6bbb7a4f8674babdece60958ce1f089a953e6597af971ace22184eb2d1a";
+  sha512.run = "cfadd2e47adc0f4fbe6eace5ca12f2e4dcd42a5efa681d4e0dc2f269957a582bb463c6230671ba1f4c35bff7299f4764f8f3dbab75d35c54a7e7594f6a9ad68a";
+  sha512.doc = "f72326c7d83bbf6c4ce9cda132efac84e5ea1cce1f4a64842c6bd5b16c8a393e4a8e7fe15b064d49597f9b23a81bfc40bc4c43bc07f30558042d8f0f97cc484f";
   hasRunfiles = true;
 };
 "beebe" = {
-  revision = 65356;
+  revision = 66287;
   stripPrefix = 0;
-  sha512.run = "2b1091f13952a6c784936e0e7bc34eb91bacdaae2b711c30e4c99f8ff4ab8aed98dfcbf9d7dedd66b51e66ef03d14b866f4c58f8b2a8ff7468edf26c0cee56f0";
+  sha512.run = "3f470175ef075692f753d8d758e8a94ce01ef181610b267ad09e2e50c51d51930caa32f298e27a9f127f74d0bd672c6e5a7453178c30a893a9c535aa8d47a5cc";
   hasRunfiles = true;
 };
 "begingreek" = {
@@ -2905,11 +2922,11 @@
   version = "2.1";
 };
 "belleek" = {
-  revision = 18651;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "cdc7499ec32c26ac524caecc6b5c1f30f3ded83d78756b198b918d321696f378e6487f528cb3781a44f3485110dfff14a14c9b3306e22ae79a8d262c1f1baea4";
-  sha512.doc = "e974e00c2e43d01d598c18f664e8ca3ca9259ca55089598c77468d6f50d0cc9a64d4fc23154bf9ba7acf3b9b9ca406beff24623eae5b6c3ce4c167904e5fb720";
-  sha512.source = "27ea3f4dd1ba7919bf06dfcdcf7b1ca4fa609759a58dffd91fdb2a55662e58e14e19d855d93ec932d176060ee332d89e02c9d2965ec545adfb10f3f486f8875d";
+  sha512.run = "05824940255b84f080261bf4cc2f192a40b6f53fe0620da486106e5904062570ce73035f710fe56405eae6c0e99f03350109f0f784ad524840527a2047b47fb2";
+  sha512.doc = "16bc074238cb02f0d08c1facecf01d4de9994e4f1458f32a0a62616d31e204971af6ee8a64e2e9ad473fb87c98fd03453896c3b1d85505b8f0a46d08b3738189";
+  sha512.source = "617c3011075b005d2c56b093df07edee8f1538e1813d515f0fb71f6b9d3e5d78473630d36e33315f725998891ba043cd301badaed6017b8028e69bc586652b03";
   hasRunfiles = true;
 };
 "bengali" = {
@@ -3001,12 +3018,12 @@
   version = "1.4";
 };
 "bfh-ci" = {
-  revision = 65019;
+  revision = 66465;
   stripPrefix = 0;
-  sha512.run = "527bf57a7992c341afc2ea0bed421d4898350882d58ddb19da3d8520a41b654f7a589f4eee94b8af2b4847232cc0b5af07e5039082aa666ddc225e9612d270e9";
-  sha512.doc = "19aaaf5a56db5110254daccd516c8d41bc2ea4f7e63864ef9e0a3220e7c57a74e4b62fe655d515dd675ee5feb4fa906dc3edca5567a10840c80949f9eff8d3e5";
+  sha512.run = "f17076389ce9b898e20d38768bbbd379c7dfcccbc8f5cee99b155cc68b0133369fad4198ddfd337916d4ee0ec12ca40bb3ee4e7d68cd6fed7b1f2f6a5096323a";
+  sha512.doc = "8efa11a2c8193fee4d10219309f8587b08f18514c966bf2034f62e05cb1581067597412e073d1a2240e62f0ebf7519e0c8aa97ff254ce9a613b23352cf11e994";
   hasRunfiles = true;
-  version = "2.1.4";
+  version = "2.1.5";
 };
 "bgteubner" = {
   revision = 54080;
@@ -3063,31 +3080,30 @@
   version = "2.5";
 };
 "bibcop" = {
-  revision = 65306;
+  revision = 65816;
   deps = [
-    "fancyvrb"
     "iexec"
-    "verbatimcopy"
+    "pgfopts"
   ];
-  sha512.run = "d0b510a55ba24daf97727cd7b81174839276c4c8d467ec2ca1ea9729341d214fedfdd0b05650e33525e67f0c29b46e5e5337d8e08af8d07ba208b91b5ee526cc";
-  sha512.doc = "1d36da4a989a59a1a044f310232207a9dd2d20a9cbb55dd5b0f2c52674d1a3ac54cba16de2e634e520a1a4e1e186ceff871ef701165313b4dcac615306700dff";
-  sha512.source = "66dedb1e1cebd4cffc1aa411caf621b819c3a718561d899bc144574afd84313205bb14a0966838e0ddb77ad9dd7ab5fdf3570e1131bcb6138d4b27a9189ba4d3";
+  sha512.run = "a035642f1b1827f0b6b4d15b4115054b9ab3ff49d7d369f3e304cab5964a707b23865b837c6b156b913e33fe8ae5589941e6ff284ee0b62454a9eb8ec77f3442";
+  sha512.doc = "93abe6f0a97138237d7546d132385069f8ff8a638a31cf9be23619b812fa578af808e6f9ce04c06778a4559b1eef98b7d24a0ce5ce6eb5ca9680fc2ddbf7c4b8";
+  sha512.source = "42a5b9a9f058afa6a1460a3a7c6f7dc9ded6abbd8915529f8366d2df9c2871727bc766a407d2dbbb6716420da7115af5bc2795b343c974f2bf0e1d673d8e96f3";
   hasRunfiles = true;
-  version = "0.0.5";
+  version = "0.0.9";
 };
 "biber" = {
-  revision = 64367;
-  sha512.run = "826f83519c0ed6b59217da068ccfac7c2506ae646bbd109ccbbe94f325acf6bc78a983322856625e905dba904dad8c282f4725ef7b6f9710998fd5a63a7daaac";
-  sha512.doc = "84222f96d46c0cece4dbf4218ef8f90ef263177a3761edbd42f5a4aa42484f2786a4221012ea509aee942e440a48e19aeeaf7ac76b02e74885b3ec928064f7ee";
-  sha512.source = "30573b6b75af6c59c6a21703d947394e1fbf9c4e7f8f67e701b4514acf4a561e95590d8e199d459d3e1098fc39b36789a24d31530a826b00d8a36cfc1b1fef08";
-  version = "2.18";
+  revision = 66456;
+  sha512.run = "09e6751c129a0fe21ed251d191fb0e0e4a1b7896e03b925a024f19eb8c7526b9134e9fd5fef7a02e525dadc589976a8744b249a9486b5367303b6f830e0d3eb2";
+  sha512.doc = "d0ffdc4417cf646c8b8b22af56abc0258987943948e314c194d2d1cd17c2124936d9a8a2e5c6db6da2de3d6c67d36da2b01e5be07ea83e16b06c465cc8a9eb12";
+  sha512.source = "46f654ff68533544bed787de738e270f4c82a57867603831ef9cd1cd3704a2ce3c052509835334ee0e8bc476b13b9521fa71af62777e26c044ecda7923b43e44";
+  version = "2.19";
 };
 "biber-ms" = {
-  revision = 64213;
-  sha512.run = "d9786beaacd2b6f2a726d9f5c81879badac030810ed483b614e3694a96e47f5d90d99c70fafb5048705c283e7f318ae5567790a1fc652ec286ad6b33bd3b6f46";
-  sha512.doc = "4eab219d327bdde07b90b9d2a14137a8d461cff2b3bd81a2dba61beeeefc13d67e9b3a0c1491fb1ccc36fbab24e54a6c7da4936ec887d9238feb334213f575e1";
-  sha512.source = "bfe12e12b49e6859a3d183964a55b1f350bc0267db77b8ceea56e23af581d68124bf84c50d2113d7763128cda71ab917755e4afbb66cc51192aa2bb4943e9893";
-  version = "4.0";
+  revision = 66479;
+  sha512.run = "8a0bc3d5e6d4cf3991ee7b0090d62358e3d691af9e901a1cc91396a0a01cb59ac2e707b941d32d18c35345987180bf60c9fc0ec259dfd9d25fd18dbe216f8bb8";
+  sha512.doc = "5cfd427c1324b83b33a5a5a93c727e9f6551b292d63e5e7659d8bcf2d1dc4c323bb58c40017977b9545930624ce1deb92ced28ac80a5a91df80d207a4f1495c1";
+  sha512.source = "9d68fa2f2a1e28c12b34e21c08211de8582c613c35693ef59bcb7f592a650a043ed81719cad6764952403ce19c435465b990f6701ebd7127c3c8fcb8010b4b9e";
+  version = "4.0-1";
 };
 "bibexport" = {
   revision = 50677;
@@ -3106,7 +3122,7 @@
   version = "2.0.2";
 };
 "biblatex" = {
-  revision = 63878;
+  revision = 66405;
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -3115,10 +3131,10 @@
     "pdftexcmds"
     "url"
   ];
-  sha512.run = "a879c80e266b55d653dead15774e5b08ae827a5bbd8a17d7a6e2f9bf240bbc5be88a0c01df9d4b1ef7ccd3a55d0c7e4ef9b65018bcfd13b209ea370c951cb539";
-  sha512.doc = "c941c5c976981fec48a86fafec6a7e8f80d36d1aa766f1b8fc798a2ed934f2f7f1ec17467743afc3e9e4d8fce21d0cd95bdfd378be35c7cd4ef239e49872ff7c";
+  sha512.run = "7269a29d39552dc9041644c186917662f874ca70f70240b57b00c5a3de9413634ce8fccb82a04a9fa63f0a884bea6eb8d2ae61b0d8263b237c3a335d7b5aac84";
+  sha512.doc = "bdc1836751a1220539bee8f4a59f2afa072d452ec09cda9b69c8f2c3bd1b6df58d972af73ea7b8ae3cdccb512c5adbe3b74ea32ab7edbf9790ce0d40b5113c26";
   hasRunfiles = true;
-  version = "3.18b";
+  version = "3.19";
 };
 "biblatex-abnt" = {
   revision = 49179;
@@ -3257,12 +3273,12 @@
   version = "0.01";
 };
 "biblatex-dw" = {
-  revision = 42649;
+  revision = 66534;
   stripPrefix = 0;
-  sha512.run = "faa43e5f4de281747e5cbc22fdcbfb7d03c5c04d68245340e084c4e34f1ff9917c6ccf22a06ae4eefc41f7a5315db15aa8b51f2a8c3ed7c68cd033308fbe99be";
-  sha512.doc = "d29c64dac41255066a844639e4330193811c62049e4b38600951346d4c126a495fab78458bd322fb3defc4352b765c1a7e7a73b7c64bdfde3a90f3e5a74e4e4c";
+  sha512.run = "e45780eab8c3c19e129193dc83ab34ff7d0ef2636c1c9ed89bc9302fa3763448a701dc4cd9ae2d7ea17c18730b7daed22397a91469c8d50461e660d8486c2f11";
+  sha512.doc = "ab8cb148e87de3e8f9100f60d0dd6da56b0ee3cdc5107c02ee29dd0f14938181b2ca8e2138745f2e68a7107399090b2b0b308708a613a649a89e2683b519482f";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.7a";
 };
 "biblatex-enc" = {
   revision = 44627;
@@ -3297,12 +3313,12 @@
   version = "1.1k";
 };
 "biblatex-german-legal" = {
-  revision = 56939;
+  revision = 66465;
   stripPrefix = 0;
-  sha512.run = "a82cb2c531e5f3671b0ec29ae27f9df9ea375f9dc616286805e8ff2a8940437427c23c51d09e477703e60c7aa70645430ed98890efbcaf9593b1747800a9836b";
-  sha512.doc = "d4108ee1d625301ccc32ae4202002d9c33c1cd9817b2d26430eb1acf902386817aeaeb6af518b67669b2542a3eab91e0f513bf1ad5ef8ba2572c5f5d7b813382";
+  sha512.run = "b28eda940fe50d51227a2dc069599766fbb6828b083b2b5220390371c5e640492de6e78250ac81709fa4c22720c1d81532bca2d3e2b20daa8a7633f5fbf50134";
+  sha512.doc = "a5e5ef04ca52c42becc0bd610cdb75519e5c783acfc6dad010d8ffc220e8062155478492601300c192a06553703cad34d1258f88f4133239df2f0ec4ca810e19";
   hasRunfiles = true;
-  version = "002";
+  version = "003";
 };
 "biblatex-gost" = {
   revision = 59135;
@@ -3417,7 +3433,7 @@
   version = "1.3.1";
 };
 "biblatex-ms" = {
-  revision = 64180;
+  revision = 66481;
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -3426,10 +3442,10 @@
     "pdftexcmds"
     "url"
   ];
-  sha512.run = "cef1cecae6fa89d761f5eda158e495e40e0e77500eec84e4a08df7bacfa3a03fffe1b8e50b27e9456cbd6f393fae6293e61df69faa21e5a245e18c2b13722d86";
-  sha512.doc = "9dce37ce0bc21b81bfbaeb2855b81089fb32c3a8b4547ec8197638d1063f2b126f4e94e3dab6164beab71abb66f8a2cce9e4f7efd5494295556156c55679f586";
+  sha512.run = "5bbf3e0d88a7bb26e141329fd6347736d27236156b999d362d4d23c42260591f01921f5bf269697d273ecf74dc736a79d8e4780f408b867fcc5600ab54f94c48";
+  sha512.doc = "837b364abe2c9c5d496014a099c6cf077ad3135e007b17e1f0cf3afb931223dbbe7b51aaf78719f209d632f9ed3d2f3afdc17188a9e82a4da7f369a4a75826f8";
   hasRunfiles = true;
-  version = "4.0";
+  version = "4.0-1";
 };
 "biblatex-multiple-dm" = {
   revision = 37081;
@@ -3481,13 +3497,13 @@
   version = "1.9.0";
 };
 "biblatex-oxref" = {
-  revision = 57513;
+  revision = 65707;
   stripPrefix = 0;
-  sha512.run = "77451258efdd72939a8548452c28b442250db97a4d9b88e59c463036ca0ff32b9153f87b870f7b0ebe490631e87863a979fde7b75fe11993bb2a06ee949c104a";
-  sha512.doc = "3b01e5eefbd78025442150f94de4d87959449b8eb77ee94458eb3eb4edb36fe4c1ae7c9a3320b3165122f0adbb2dd850e09e80619d78069e69d7fde3d8c9f192";
-  sha512.source = "7d7bc8d02dc4e03e76d4b67a06d41a450b818d0675c2ab710e9305d13cb922bd23663c77e8e9dda9fd27b28e7b331dad15a22c6bfb94cc33e13b36ccd979331b";
+  sha512.run = "c9839c0a69065596b6d36ca61ca23fbe3d3d8d147bf7ecae0db22f24a5db9cbe21ae67563f929868ba39f8cb0c1d8040f4bf20d134aafd26cfa0dadf2cbd9d78";
+  sha512.doc = "f0fc6068778972b96a61414285c3371b77f29aae0ca7e31c225b1ccebf09b659b2ee156278b582a46a14b4ab20255f179c2ba4d269c53be5c85e9a0ceae44429";
+  sha512.source = "636b0c6c97c76ff15214145685d768c20d44cb1b17527cae743265f94b551aefb4610d63838e0f4bbfc34eb39b11b3a06005f9710e2503fcd4c6f6547665d0d0";
   hasRunfiles = true;
-  version = "2.2";
+  version = "3.0";
 };
 "biblatex-philosophy" = {
   revision = 64414;
@@ -3507,12 +3523,12 @@
   version = "1.1b";
 };
 "biblatex-publist" = {
-  revision = 65182;
+  revision = 66284;
   stripPrefix = 0;
-  sha512.run = "11761f4889c33ff9aed8eb830ab955df18f4470ea54a371164d235d53f581dcde2e00a642461eceaaeef58954c78a05130ed24df3199f16b97ec68bb433c5844";
-  sha512.doc = "da0060d86fda9ed22e11994f8ea146a7e0b71e379b000ee3042b0a880972795d9eeb88d333d80891556bf317a2f864bb32d6c6b66098ef35375b38aaee862d5e";
+  sha512.run = "1fb8c2ac0bd7067609d42335997eba7d4c4ac91b9342cdaaf574865a18695e7471b2d08b0792ee5869f3fcbdc8c2915a993b6b5726d8d0abeb7a2276925d7015";
+  sha512.doc = "4a29986b3bc8b493bf1ceadca8f4ce2d7bf8c625d21f64b3d1c23e833f8d2217c5d38b783cd017c52caa880c4936cb73a5e3bffd7b05b8e5708b4d2a571774bf";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "biblatex-readbbl" = {
   revision = 61549;
@@ -3769,13 +3785,13 @@
   version = "2.2";
 };
 "bidi" = {
-  revision = 64967;
+  revision = 65572;
   stripPrefix = 0;
-  sha512.run = "197627dbb9090b49d95aff7f66eae0f1865998ed7956f325a173becc59a1ba7c7afceb8794f5da92cac3c139d007ea4a7fd9816d4d94089685e4dbea99670d32";
-  sha512.doc = "8b51aa7b92e43fd02718983b71f8cbb0d54de893db131421eaaa13e5c806f13b9cafa9af3d01d39950081ea1f6681457f2b81eafc2ad586fbf86511ac5aedbae";
-  sha512.source = "92b9722792b502aa3e6d110c43e231aba233a9ec4526d64477e66276752595320e7a0f51021a453a0687520cb17870193911f714aa5c8cc26cec361ba69b9e68";
+  sha512.run = "b4d94dc0e539c0c0e4d91586ff9d121fe58af5c4729c603d6eb22f16a19e5edbea722b7576faf2b56a46f6fc68fc3e1cdc3c2f1941bba51a60337f091a248045";
+  sha512.doc = "002f65b1fff0798a2bdb87999910c848d94ce1e03c5dd4e61fd173cde8bdb5e153086616274cc1d97b711ee9a2d0d11b06e11de303d03e38ff577c2f941e1caa";
+  sha512.source = "e43b88ae4423bb1075a432f9034bf51ebe403bf5e5b8c0ab899e49a46257e45228b65ea4b0150542748830c74e3d9cbc59e9df49d75fdaf2fabc0b33b0a59714";
   hasRunfiles = true;
-  version = "39.6";
+  version = "39.7";
 };
 "bidi-atbegshi" = {
   revision = 62009;
@@ -3892,10 +3908,10 @@
   hasRunfiles = true;
 };
 "biolett-bst" = {
-  revision = 61719;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "1a26b364b958c52727b4bbb75430e8ee3a685eb543f6a4fea7e6b2e37b044b97685139f5f26e74c434e9a5b2b11089de1125fcd18bca2707b153fffbc9e1f924";
-  sha512.doc = "df77d5919f3777c6748efe50b974f3ea6594dc91fdb3d8d44e781d2fec88ddb1ec34c3e7dae8f4fe0200a8704847933c00a27680b8fa9a276ef20156e6894fe3";
+  sha512.run = "3251e508797afa53db159f156f030f2397f6e5a3f36bfe50254d3abf0ae637c976a293d21bb63bf57f51b5e0a863be69b2aaf751695d311e8353c7765105d236";
+  sha512.doc = "df57edc9a738f7a2e054600dd11a3e6567eccc4b5b00ba9bd7c9b29ec1b8404d92ff25a2310cb9012697bed00adc52587d16bb900aba062dce420343b435fb6f";
   hasRunfiles = true;
 };
 "bitelist" = {
@@ -3908,13 +3924,13 @@
   version = "0.1";
 };
 "bithesis" = {
-  revision = 65314;
+  revision = 66369;
   stripPrefix = 0;
-  sha512.run = "1b0a2865a18c35faa3ff8217c3ba17b01b768bccd3d251fe17c66793b582eb9a3a0f05a7bfe313e080694d1117d12628f0924abffc48dadb47cbf1111a51aaf5";
-  sha512.doc = "b3bc8858dc185ccbb7358df7c178c5fda3b9b81e8f4ac1adb4b0f34c73095c4941dfb3d6476bb9fa9bcffa882c88f1702a2f741004e5c0f7d3aded880c4c1766";
-  sha512.source = "7f71cb57aefd838a2faa7c2e9312e986997b32707be663f8aecca7b88a0e8633f7e872b64e4d49de4f062f3bc9038a03ad4f803a38dcaef56ebd6e89c296d6a2";
+  sha512.run = "9fe6b1865bd60fc3a96217e060350556adb5fc55710560f068e2f156ecfe995d2c8ccfad0cb872440b614c1c646f331a71b8e961ec502b6b7bb45af9222232e6";
+  sha512.doc = "3d5b881564ced892e22d0121e06fcca8cb77346ce429b07c527e1ed1d6ee34514b749caa299f78ed1119286d65354bfbec9aab3016a9fbad6f52d6c56fcec470";
+  sha512.source = "445c71e6683e5fc2337fc3d88b491289eca181632e2c76f33eba17c8ea63864ed185a3403f1b218e42dca946f2ca380a95c398ab359a3951d5e660566c921554";
   hasRunfiles = true;
-  version = "3.2.1";
+  version = "3.4.2";
 };
 "bitpattern" = {
   revision = 39073;
@@ -4008,6 +4024,19 @@
   sha512.doc = "01fc4226a952c76b52726d1217649d9d98ec708163e4a9b997e36f505b385ed145182bca747a2b5334cfe8b4663d010a699664728c5be05cc4daba63ff1f3c00";
   hasRunfiles = true;
 };
+"blopentype" = {
+  revision = 65441;
+  stripPrefix = 0;
+  deps = [
+    "gates"
+    "texapi"
+    "yax"
+  ];
+  sha512.run = "a58ba583f2c9cdc9d262f2ae60704164e4aa1ec9b6a1b7f5df97598cb3cef0b85badd62b641e5b388822d8ab84bb993521d9fec08b0be71088ec62f069bdd856";
+  sha512.doc = "521b2c4897aee4e0ba07fb6bfb490e186a90218fd6d5972db83c42278a5212c7aacde54014cd6d2a9e321138e5e098eb14e746d6f114e84ea252c4fa67073353";
+  hasRunfiles = true;
+  version = "0.0.0";
+};
 "bloques" = {
   revision = 22490;
   stripPrefix = 0;
@@ -4035,12 +4064,12 @@
   version = "2.51";
 };
 "bmstu" = {
-  revision = 62012;
+  revision = 65896;
   stripPrefix = 0;
-  sha512.run = "38587c3ef1eaabfb6ad0148ee3442d6f2a5e5402b46b5ae4957efe983bf24afde2a7f45cc422a1504c3548538c46cc08c9e346875d09700ed366747855537e6c";
-  sha512.doc = "a07bfade77db170c2bff6292895f18f98253a57fd3ac75f1d867747c2ee91fd47e680759b0ccbfc3e5d56fb831d7def6261156de9044106ea390b5d020ea8e84";
+  sha512.run = "7a5dfa6bc3c0661cf27fb5faaec603a6b1877478381a7b63a0ada08dceda69e730e1be69a24195a105909a9bdec1d37320da3694ae23bff831de9bd33a6300e8";
+  sha512.doc = "ae4c8893460bfde38fcbc2b1c9130b4da20a9f3ea239b73409d308a032dc648f2b4ea98daf3ed204dc5bd78d48a3e4770c6a9d28a97bcc88d818ca8e056a0ca3";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "2.0.0";
 };
 "bmstu-iu8" = {
   revision = 61937;
@@ -4142,13 +4171,13 @@
   version = "1.1.0";
 };
 "bookcover" = {
-  revision = 64078;
+  revision = 65394;
   stripPrefix = 0;
-  sha512.run = "af79196bcc9e1f828b9307c7aa384bffe5bca3e1225d7178733beca9403a944933e57145d771d823294a489d679dc5d53b25610f60dffe48becca0548d126bd5";
-  sha512.doc = "1654783a2396ba39a5751741ae51220d58e08d73f082e19defc446fd5369ae23a897a5fa0bd240e91090484c7a68d92e102f78afd72cacd08abebc2c4078695a";
-  sha512.source = "ed2023d47e07af37420b5094f6efa336d0575d64c7e90d99821e1b711b24c1a9c2f26fbe1fbd29bf70e20a783c89cd53afa074ec54eab54f27ee0378517142c0";
+  sha512.run = "83a7b06e32e082d810fac22a842f646b692e75a4e0ad67ba59a1d39d0f0931970b615708900b139c7e11f05bb012797d2664808929ca7ba8bcfc37ae75c878ac";
+  sha512.doc = "f58d3796696fd576fec15770cbe04d14e659a1d8e6570ae39c17760686b75cc941ccc2dcacb923fca4c2ffcf671a9ee1d63f348d8fe22058078eb22c5a1fdbf4";
+  sha512.source = "7e40a0b41b7f46570925c6fabedddeea2b52cdf8a4844db4c9df48f12029424c08d8777227ce119dc46bc27dbbefe43284d581bf5c7f2aeb2b6d24ba2c83e401";
   hasRunfiles = true;
-  version = "3.4";
+  version = "3.5";
 };
 "bookdb" = {
   revision = 37536;
@@ -4487,12 +4516,12 @@
   version = "0.4";
 };
 "bxbase" = {
-  revision = 56528;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "279018d86ea2c933ae8106678b1fc3164439de59e74ba2244104951b352346e51d6a5a78591e605e25d2dc5dbfa15b6481d5b2f637517dd4e19a53da3d0fc179";
-  sha512.doc = "aa76f5acfe7367c48219eee28635bddc4655fde3e91a7eae5ff8fd03baf0e2732c0f3b587b7518f660cf58fd124a8c021ea495b57520347c4bacbd5246cc2a99";
+  sha512.run = "c60e8977d31a2868fe5ce91a27944a9e27708bda09800828b760accb166413902c57a1999fad09edcfdbd6463e6e5c248a4f1f13de50762a762ccc7de8e31a24";
+  sha512.doc = "97032b46c6bada17d81cc9b167f4f180d1cd9e1fe04b0e73f1bc958f9cc72e678bff482ebf522f01d0e0a27a79b4edda867faab01d139a300e3e1add0fc05b68";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.2a";
 };
 "bxcalc" = {
   revision = 56431;
@@ -4543,12 +4572,12 @@
   version = "0.2";
 };
 "bxghost" = {
-  revision = 63354;
+  revision = 66158;
   stripPrefix = 0;
-  sha512.run = "aad0d3f278c32a4699339785dd28b6ac7dd626a53659aeffe77414dcc8d22f96a43efcee41bd77354f57a2702f610bff4742bd8dc558d2494e909b3ad7b1062f";
-  sha512.doc = "0e4af87e981c02415a13bd6d1be74552c1ab039acfca35736e8cc51b4c4f442c9e0073070fbd002050749d59a69eac64ad1e264e16281f4dd399e9f0ceabafce";
+  sha512.run = "ea52e53228cb79a5f3aa5dea1c85bbe19a4fb1d397d6da113b360b5a6fae384174a5ca79f4f00bca2f011a484e529991c9d7c4856060fe47b9ff1d42edbba20f";
+  sha512.doc = "a158433c89401dc345997e9a29ea0eab432e9ed22f5a150025371ad2d7d038073cf49371415443c7f1dea7d48b1506208461bd6d46d502e4c630385486dde509";
   hasRunfiles = true;
-  version = "0.5.0";
+  version = "0.5.1";
 };
 "bxjaholiday" = {
   revision = 60636;
@@ -4559,12 +4588,12 @@
   version = "1.1.1";
 };
 "bxjalipsum" = {
-  revision = 43369;
+  revision = 66033;
   stripPrefix = 0;
-  sha512.run = "fa8f096023f86fe53d09ef1e719d1930248981f4a9c4f762ceb00eb7e42ae87a876857f03b8210ded78798c4ea18bc44486a87876bd5f2509a9270f09d56a53f";
-  sha512.doc = "551385ef1ec3aed5d21cef7f1f66254f937c1a7f979db2ad083411580a64cd152b16b9629bdeaa8c2a14ebdc8566278e7a9533ea178b953b033b2637a5f29df4";
+  sha512.run = "2c591c8a821d993c7ba3632b4794c19d067b7702a8999ebb611becd2c4492c238817a9ad60f4f04d70bc2f69980a2972b18388755c33f60dd74ffef44c3a86b6";
+  sha512.doc = "a1247ad8a66e357de1e67837d4ae916023e6003c29f43d178e25be938c10b43f100a35d944311c49c8099a4199c999f89b0eaf4e97e3229e1151789c3b699963";
   hasRunfiles = true;
-  version = "0.3a";
+  version = "1.0";
 };
 "bxjaprnind" = {
   revision = 59641;
@@ -4776,12 +4805,12 @@
   version = "2.4.2";
 };
 "calxxxx-yyyy" = {
-  revision = 61463;
+  revision = 65426;
   stripPrefix = 0;
-  sha512.run = "d100ebfbd0b52945d0cf943995dfd2cad8f8bbfc8fd7260ce288a3f164b1ffdce9b4b604900bcb9f69e95e4a302c574746757c79b7af9e7d5fa20d349e7ce107";
-  sha512.doc = "cd1be496767b9817978e9baacb7a3edf6c1d025b6aafd701772a289318fe86998904863148e8e2e807f74207fb089e27a1e3e60100587c4179fa91363b85864a";
+  sha512.run = "f76d0a8a225582fda0c9b93549de8f091cbe5bb7db4cc20ffe5c5237126162954504f9748c75b8ea90805daa1b0b3bce2bd67fd6a9cea0700653c46206b27c9c";
+  sha512.doc = "418beea5ff9b534d9cce8a4b90ee930c9df6e6c109fb045207899c823deab6e10f284111ff57aa8d5d7eed7a03f6073afeff2eccabe0303f566d560f59c5fc39";
   hasRunfiles = true;
-  version = "20.22a";
+  version = "20.23a";
 };
 "cancel" = {
   revision = 32508;
@@ -4880,13 +4909,13 @@
   version = "1.0";
 };
 "cascade" = {
-  revision = 60310;
+  revision = 65757;
   stripPrefix = 0;
-  sha512.run = "261849263f2e07077ce67daa2ac5f7e1b05245a45386473e91867e30f071d7d0c103fabaa04b02b8033aff42169998193b56728ea2bdd98beb1851ba010c1f79";
-  sha512.doc = "08f630b077b01b3db0136446b65ca5dbd53d7814187e792e86e6f678663c2bd204db3f92f9e4937ca22645933fea851363a5bb897f6d44072d02a48f9f27d8a6";
-  sha512.source = "7c8fa6fcb3a1543cf7b5ca000c59eeab7924f0a68178b0825abc4d720b09e0179087299bde63540bc3f5faf8664234a1135d32b4f7b7b19b005c63a991101182";
+  sha512.run = "7411f24d41aae23f52a2d611cc76ae4f4e6895c8cf0d038b7e4561f355d00c21a6164f0fcb866599b5637fd9cb5e4fb34e6507638a5fa7370ade5fc1df1ded15";
+  sha512.doc = "dd52dae9ec2eb88f9c8db29eb633e110132795e4c995cd6980bc68e009205bf76c5cf513a47df1391e300c886f3aed78f5ea6187dacadbeee44cd985efcd749c";
+  sha512.source = "42e021863fefc55b730c35bba7966f2858567efa2ff3b0222b4bd9f2e47bc3ce8d44d3f2f01405e76831c2af99feb96d30c2a5f1974a18c2a1e84326b72180c4";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.2a";
 };
 "cascadia-code" = {
   revision = 57478;
@@ -4965,12 +4994,12 @@
   version = "0.2.7h";
 };
 "causets" = {
-  revision = 63366;
+  revision = 66375;
   stripPrefix = 0;
-  sha512.run = "8267e2f0e88cd7eccb54e90e00b97e574d3e7324c22d2b8e03ae2aa60b6c37a6575dae488f3e51deb75e0058dd19f8dfccc656f1acc08eafddeaccdfd5bedea9";
-  sha512.doc = "70c75b5aebd25a036ba3dca639afae2529d992062fe66f3771fd989d85f07257045ebc914bb12711085ac44775c7710224628e356866713328507aeee4b0c61c";
+  sha512.run = "af547d00813a1e22809f11b465e0a17076895ed6b7c3a51da0a6e14adaee54397f8650e4d1845243f494217e80f5b22726af04fb719353a9cd07a8d98792d3b3";
+  sha512.doc = "add04d39687d5dc1d6ffc37b889cad1dd75aaa515d5af912ceedee3df302495512163e1fd9a8b014ca3615c166a2201d15f3f68b2a507f4f68c3481f0a3af7c5";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "cbcoptic" = {
   revision = 16666;
@@ -5188,12 +5217,12 @@
   version = "1.0";
 };
 "changelog" = {
-  revision = 56338;
+  revision = 65861;
   stripPrefix = 0;
-  sha512.run = "f91facbc1ee2f959fb9d4ea679b0d2f9b740664e7b7941a02a87c1df23545591e0f355713f35a7c01504105dcfd33820dfef266529be4965b606bb1647c7c503";
-  sha512.doc = "d3e62f5756bb5c0159523bb23d9c3c9f05725b2756913747410f6e58d41924b88aeb9746faf1bed8847a51295963d30cdfa8d6bb72df423ec2af899f1e399e5e";
+  sha512.run = "9b3fd70ebd0563138e2811ec8d8748dce3d04b18da636b884887424960ee69fdd30902b85b968ee9f545d57f8dcf8f6f137174b8ea9a7049308cd778f52afbe2";
+  sha512.doc = "c729c19b2a80eca9735e2caa46832da20975c89810d3f669c93e66ee4a768877c7ff30d71b2f887dace78303773eaf549ed32a001124304b82d4d51c57cc100b";
   hasRunfiles = true;
-  version = "2.4.0";
+  version = "2.5.0";
 };
 "changepage" = {
   revision = 15878;
@@ -5335,12 +5364,12 @@
   version = "1.0";
 };
 "chemfig" = {
-  revision = 64529;
+  revision = 65901;
   stripPrefix = 0;
-  sha512.run = "c624ff344325972751c8035292c70896765653d21186b9b64d011f352d8d2f2c6c44f4b291f9e5332e9bd0a73f738118e71766e18c2f4a9c6db280eee2d7ce0b";
-  sha512.doc = "c37db65f561f78e6e24e0880803afd34f825d6231119a3fc7cf79f7c18b6d0ff9a8587101dec8846d0b296d4edf8c790c60ba14d23f6e6eec4cf952536272864";
+  sha512.run = "3d7e49943a034ecb25c13015c3c2e05078ccca1cde53ca4aa1496dc46372fc182afa48275b29ab87e6877307a595735329cb5a1aad8db7fa43f8582fa18e8ebc";
+  sha512.doc = "ee26e23a8409cfe2a3e8efb888734f93f4d5b727420fc057b6963e344565ef56c1385fd0fe02f299ea009167ce1de72f448784368cd8fbd4cc45f991863dc564";
   hasRunfiles = true;
-  version = "1.6c";
+  version = "1.6d";
 };
 "chemformula" = {
   revision = 61719;
@@ -5694,20 +5723,20 @@
   version = "1.1.0";
 };
 "circuit-macros" = {
-  revision = 65149;
+  revision = 66556;
   stripPrefix = 0;
-  sha512.run = "e27048bf7c5e23ed329c385f5e735758df15dd06bc62b5065c86d37abe93ee740beb8beea09587a6eefcdbd5ab84c10e6756e26591b6a9f8d67e9656ec3a16ed";
-  sha512.doc = "1fd5dddeb73098cbe976710584ae81f62446b0529c9ec2f624d3aaa7bf37a073c93e0abf6a8b085cad5a6558d45c7b20175bbfa9f6bb7cd9457507f917851f45";
+  sha512.run = "8879518a4ad41942651c04f4372f354e231ffd121a8c8fe7ea7a517ddd33765910ead0251a8f82b3a0a5d77dbae7c997d01d4fbeaab82fbda112952d1a6a1a24";
+  sha512.doc = "5d8e5af2d8cb8998147510f72dd1a2be31566708c000616989c48593b98f86c8302970345d7d9f1bbb383f4798b66ad624f9e1a365fd072066ca8f3286713b7e";
   hasRunfiles = true;
-  version = "10.1";
+  version = "10.2";
 };
 "circuitikz" = {
-  revision = 65240;
+  revision = 65785;
   stripPrefix = 0;
-  sha512.run = "c51f4fc88c355d24da88105d93ac0acdf8988226288f82946a861a203f55bbc9c0eb0cf26c79c1f4c48c24d48abf77cd005617c1bb9ff74402f622471d03e769";
-  sha512.doc = "d681d72bd05ff8f02f7bffa1851875b8a549d5d5fd8b47fe8be0a54f505c020642d1005a8608f8472d7682b7599085c2179c7ce5c11601eb64b6d2b035372963";
+  sha512.run = "c7fb0d07045efd8165ff3e15f1d92dccab8ffb91cf383a9617252386bd2fe49bf570ad74100c81115ac609403546865561f61a64761e728354179da0a19adf26";
+  sha512.doc = "d1c09c6166c3d0a03da892e45613bc15a8176fb7646f0a893a60cfb84bd00a8c9475c4be98067cd1c3b4ce855621053963607ed963eb20300588d4c2657c6416";
   hasRunfiles = true;
-  version = "1.6.0";
+  version = "1.6.1";
 };
 "citation-style-language" = {
   revision = 65357;
@@ -6183,13 +6212,13 @@
   version = "1.077";
 };
 "codeanatomy" = {
-  revision = 51627;
+  revision = 65648;
   stripPrefix = 0;
-  sha512.run = "0f7613af5e91d364d0c8cc3978ce5251cff4650bf5e187ef03606b9cf5294eed82751b8f7604583af5187b62f40688733a39aaaca6a022ddd0087ab610f8c978";
-  sha512.doc = "877a827dfd0bb9e79f80fa0a9cd7275a647fc4f0451af5c5a5253caee306f202a419f0164b2878c7a780176e018a2f1a3f8e9ec37fd8245997da537eefcd4e7b";
-  sha512.source = "9cbe9969e777ccbe711f68936798bdd28e570e6ed772ba3aa8ad54f083792cd725c97055859cecc115bab420f3a929d707eb49584c483a9f223d7ea7bb5fe388";
+  sha512.run = "59f2c1b91875a69434595d435eb905265c9e114bebb8a94edbe07f597518424add7916fab565caef11302e6c31537c54e5885f3320ec0e515cd0a207c8012e00";
+  sha512.doc = "4595189bdcee5788de92793b54e8a3dab0215057acbf7d9d575af6e9fb67a92ec1985d61d415bd44bea2d8ae7084de0676e121c96be2262c93eee78116f50a86";
+  sha512.source = "27c57ca05dd82f9810e63a0265658174dc3a9dfe21033c70bea65db5543648dc51052a8b72bd5f2d89e7ad9806d1cf1b0bf1e9c9ca543589afef2dc07184114d";
   hasRunfiles = true;
-  version = "0.4-Alpha";
+  version = "0.4-Beta";
 };
 "codebox" = {
   revision = 61771;
@@ -6208,12 +6237,12 @@
   version = "0.3";
 };
 "codehigh" = {
-  revision = 63175;
+  revision = 65787;
   stripPrefix = 0;
-  sha512.run = "7e14b55357db61c06af88b77c15d03babc86eec0166f99b4824769f8f3d6197e56f0334b90fbf1917df2c8c93d10a08b8471f801f4d608a302ac736642755fa8";
-  sha512.doc = "ddfafc50ae9ab6b79046abf05454d06f718ec695f1463d205f417a00d853dd8972fde5424172edf5455f4e11f14413557c00289fa02ffa77f13166ec45c88701";
+  sha512.run = "ca33d6cb84e716357cb18d8448f8e047b4bc049cca8e77aa80525a209c66ae4b93dcd453f91672cf15fc5305ce1d62768e9851edd6fb07214153100cdacfc884";
+  sha512.doc = "f689cede2e83dee785e3b83094f5897a8d7af4e39e3c33779acceeb7ed0c1226d094aca64c222f4b1488916e7ad78ed1a6b8800070910d4e0daf6e6ccd24bc5e";
   hasRunfiles = true;
-  version = "2022E";
+  version = "2023A";
 };
 "codepage" = {
   revision = 51502;
@@ -7101,7 +7130,7 @@
   sha512.run = "6c7f0a1829789edea6a42d45f13f482abc0aa1ecc66b0ba4b70197efff349df75c9a89a98f21537cf6f3751b608fc3ee10ac842613deaf2aa21005374a23bab2";
 };
 "collection-games" = {
-  revision = 64827;
+  revision = 65631;
   stripPrefix = 0;
   deps = [
     "bartel-chess-fonts"
@@ -7129,6 +7158,7 @@
     "labyrinth"
     "logicpuzzle"
     "mahjong"
+    "maze"
     "musikui"
     "nimsticks"
     "onedown"
@@ -7140,17 +7170,19 @@
     "reverxii"
     "rubik"
     "schwalbe-chess"
+    "scrabble"
     "sgame"
     "skak"
     "skaknew"
     "soup"
     "sudoku"
     "sudokubundle"
+    "tangramtikz"
     "wargame"
     "xq"
     "xskak"
   ];
-  sha512.run = "0ea226457c553c3db93d7415f1a9e33721b7a41ac17ef049aa52aaeb27a91169769f12532443c34664ccaf4cc76a26761a5d5d0b0a7fa1ccbd2f0142e8d29d67";
+  sha512.run = "f7508dd7b59f4137260fb3a9c74037513e4722539aa8460dd7f0917f47d42cbd1575077880a4e6af49351600c8b9d316437132113c33737a253e7db3c3c1076a";
 };
 "collection-humanities" = {
   revision = 65216;
@@ -7291,7 +7323,7 @@
   sha512.run = "d10096b2d83dc0378361184a64c347918e75dd51f48d962893371534c375dd8880e8febb1aaf1207e5ce04e59860f629f10c99bbf6304239e1147a5072194137";
 };
 "collection-langcjk" = {
-  revision = 61912;
+  revision = 65824;
   stripPrefix = 0;
   deps = [
     "adobemapping"
@@ -7302,6 +7334,7 @@
     "cjkutils"
     "collection-basic"
     "dnp"
+    "evangelion-jfm"
     "fixjfm"
     "garuda-c90"
     "jfmutil"
@@ -7312,7 +7345,7 @@
     "zitie"
     "zxjafont"
   ];
-  sha512.run = "6b00955359e063df2a7c02f2d44f88e6190d65834b8e5c77e9c67e44b8c9de9cee612cd298e79fe3cd598fd58996ace0829d3a5463cdc25b543e7565b1455e31";
+  sha512.run = "bee71f9df25db567c0930659e5037d1b6144d5c157e0870e9144f82c6dddbd9df156e580583c65f1bf5f54a70c9fcab108bd117e74af0e28d72a33f6b78207d1";
 };
 "collection-langcyrillic" = {
   revision = 54074;
@@ -7392,7 +7425,7 @@
   sha512.run = "719c321173ca12660891080dae509080934f72d13a9417b2c40a22add963c7c5a1ee95d3b306f0d6c26b0db97d69979c27fbb15d1690849aa03b06d4b0193a67";
 };
 "collection-langenglish" = {
-  revision = 63184;
+  revision = 65496;
   stripPrefix = 0;
   deps = [
     "amiweb2c-guide"
@@ -7458,6 +7491,7 @@
     "texonly"
     "titlepages"
     "tlc2"
+    "tlc3-examples"
     "tlmgrbasics"
     "undergradmath"
     "visualfaq"
@@ -7465,10 +7499,10 @@
     "xetexref"
     "yet-another-guide-latex2e"
   ];
-  sha512.run = "94b1ee572454d4a791ab0637cf272f97a35dc5284c8a97a68715fcef36887eaa92ddb78f95722a6281d35c70fa6e5e4b6548ba8ca79fb69d9734c480383bdec2";
+  sha512.run = "2c2f75491a801f71fe8a4a64d798c40f66dc71dbae32192089757a6881fd14299fe30a95eca65c75a9901c82c033a327f7d9a91080dea51f6679239d6660b2fd";
 };
 "collection-langeuropean" = {
-  revision = 64723;
+  revision = 66452;
   stripPrefix = 0;
   deps = [
     "armtex"
@@ -7487,6 +7521,7 @@
     "babel-kurmanji"
     "babel-latin"
     "babel-latvian"
+    "babel-lithuanian"
     "babel-macedonian"
     "babel-norsk"
     "babel-occitan"
@@ -7541,7 +7576,7 @@
     "swebib"
     "turkmen"
   ];
-  sha512.run = "4a234c1f9b66d04df7f897ad38e6af56666917106e1a299e00dbccd6a5ba55c635beee78550c410cd4c631c3e91ea250adc79e8e3b29bc473d3e721c5adf75e4";
+  sha512.run = "4ba87445f080bbe7446ea2f1e4b8f2abdbf64770831db43ab1b4233f35a12c362e5e43b60706ee2400f1070362b949a40b8147547acc5a8b8429879a3fc64dfe";
 };
 "collection-langfrench" = {
   revision = 63147;
@@ -7995,7 +8030,7 @@
   sha512.run = "c73220abd1545907a1d8de37cb534d2c6bd2534f1b55f03c069f39f535c326d4b1852f8415d9876ca52645db939ad7a11c55f550a2096ccd4b8dd8be6a4114d6";
 };
 "collection-latexextra" = {
-  revision = 65353;
+  revision = 66557;
   stripPrefix = 0;
   deps = [
     "2up"
@@ -8021,6 +8056,7 @@
     "advdate"
     "akktex"
     "akletter"
+    "alchemist"
     "alertmessage"
     "alnumsec"
     "alphalph"
@@ -8398,9 +8434,6 @@
     "egplot"
     "ehhline"
     "einfart"
-    "elegantbook"
-    "elegantnote"
-    "elegantpaper"
     "elements"
     "ellipsis"
     "elmath"
@@ -8453,6 +8486,7 @@
     "everyhook"
     "everypage"
     "exam"
+    "exam-lite"
     "exam-n"
     "exam-randomizechoices"
     "examdesign"
@@ -8499,6 +8533,7 @@
     "filemod"
     "fink"
     "finstrut"
+    "fistrum"
     "fithesis"
     "fixcmex"
     "fixfoot"
@@ -8978,6 +9013,7 @@
     "pagecolor"
     "pagecont"
     "pagegrid"
+    "pagelayout"
     "pagenote"
     "pagerange"
     "pageslts"
@@ -9117,6 +9153,7 @@
     "repeatindex"
     "repltext"
     "rescansync"
+    "resmes"
     "returntogrid"
     "rgltxdoc"
     "rjlparshap"
@@ -9214,7 +9251,6 @@
     "snaptodo"
     "snotez"
     "soulpos"
-    "soulutf8"
     "spacingtricks"
     "spark-otf"
     "sparklines"
@@ -9345,6 +9381,7 @@
     "totalcount"
     "totcount"
     "totpages"
+    "tramlines"
     "translations"
     "transparent"
     "trfsigns"
@@ -9423,6 +9460,7 @@
     "wrapfig"
     "wrapfig2"
     "wrapstuff"
+    "writeongrid"
     "wtref"
     "xargs"
     "xassoccnt"
@@ -9464,6 +9502,7 @@
     "yplan"
     "zebra-goodies"
     "zed-csp"
+    "zennote"
     "ziffer"
     "zref"
     "zref-check"
@@ -9472,10 +9511,10 @@
     "zwgetfdate"
     "zwpagelayout"
   ];
-  sha512.run = "15a6199c93d8a3b2dbbde8761f9889ea8d8ea3720500a9718e405a6146a8d460828e6c1010a3436c547e1bcb28e98fb7ac964c1facad4ed6c2b843b372e9bd89";
+  sha512.run = "ff0de06445cf602f2a3d7b2c759e5214c5ca2ee00bc596416eb201d23bec87f5d3af6acd2cb42b2860ac1e0486a8682a628e67958afbc472c73d5b692549985b";
 };
 "collection-latexrecommended" = {
-  revision = 63547;
+  revision = 65512;
   stripPrefix = 0;
   deps = [
     "anysize"
@@ -9525,6 +9564,7 @@
     "newfloat"
     "ntgclass"
     "parskip"
+    "pdfcolfoot"
     "pdflscape"
     "pdfmanagement-testphase"
     "pdfpages"
@@ -9551,16 +9591,17 @@
     "xltxtra"
     "xunicode"
   ];
-  sha512.run = "4e445e9830476058f6b878f306516de2fdf1b174011dd79e6a7d875adf104f2a15cdceefc7045a8ae404399d3a08d8cd4eda8fc5af317ea043b03e6c648a73b1";
+  sha512.run = "952fe1be5136c0fded29381fe58935dedfe2c0f338f38d280c2a69bb718e2b93520f6f328f98d98a9161bbf106bda77cbddc4277e401a4f33e480dd3a7316483";
 };
 "collection-luatex" = {
-  revision = 65354;
+  revision = 65791;
   stripPrefix = 0;
   deps = [
     "addliga"
     "auto-pst-pdf-lua"
     "barracuda"
     "bezierplot"
+    "blopentype"
     "checkcites"
     "chickenize"
     "chinese-jfm"
@@ -9578,6 +9619,7 @@
     "kanaparser"
     "ligtype"
     "linebreaker"
+    "lparse"
     "lt3luabridge"
     "lua-typo"
     "lua-uca"
@@ -9590,6 +9632,8 @@
     "luacensor"
     "luacode"
     "luacolor"
+    "luacomplex"
+    "luagcd"
     "luahyphenrules"
     "luaimageembed"
     "luaindex"
@@ -9600,7 +9644,9 @@
     "lualatex-math"
     "lualatex-truncate"
     "lualibs"
+    "lualinalg"
     "luamathalign"
+    "luamaths"
     "luamodulartables"
     "luamplib"
     "luaoptions"
@@ -9609,6 +9655,7 @@
     "luaprogtable"
     "luaquotes"
     "luarandom"
+    "luaset"
     "luatex85"
     "luatexbase"
     "luatexko"
@@ -9646,10 +9693,10 @@
     "uninormalize"
     "yamlvars"
   ];
-  sha512.run = "44e1041adf14954f5da71342247dd8863057ff52db1a05525c01caa87a4f27084580aab0b375c96bdb05e4ab718afebfdd2254146ed1cd69b2abccfa975e0330";
+  sha512.run = "49f722cd1dfa2aed5c47b61ac393c1ba2c4c9156090fe05a2e079185c6d619ca020d08ac2c4644fac2a8ebd3aa4ca95481e500bba83e39ad260c4d4b7cfce628";
 };
 "collection-mathscience" = {
-  revision = 65312;
+  revision = 65753;
   stripPrefix = 0;
   deps = [
     "12many"
@@ -9803,6 +9850,7 @@
     "miller"
     "mismath"
     "multiobjective"
+    "naive-ebnf"
     "namedtensor"
     "natded"
     "nath"
@@ -9817,11 +9865,13 @@
     "oplotsymbl"
     "ot-tableau"
     "oubraces"
+    "overarrows"
     "pascaltriangle"
     "perfectcut"
     "pfdicons"
     "physconst"
     "physics"
+    "physics2"
     "physunits"
     "pinoutikz"
     "pm-isomath"
@@ -9838,6 +9888,7 @@
     "rank-2-roots"
     "rbt-mathnotes"
     "rec-thy"
+    "resolsysteme"
     "rest-api"
     "revquantum"
     "ribbonproofs"
@@ -9899,7 +9950,7 @@
     "ytableau"
     "zx-calculus"
   ];
-  sha512.run = "30620c4a12471f0b880cb45857c52e2540984852c5f17753ef5dde259e92224fcad2f1c3dcae357c8475aacf4552b6704a67e99331edc073ffbd595e47a533b1";
+  sha512.run = "0d15380e672b11509f8ff78ae57cdf5f75b862522d9287e5577a33bdad5901ad85646d4d4c573653b3f838ef9469b86218a98bdfc5ab97e00c618eceaa1e34c3";
 };
 "collection-metapost" = {
   revision = 64878;
@@ -9956,7 +10007,7 @@
   sha512.run = "c17510f676b4aec1887893083e00438be77d879e44e52aedeb040ae1eb593d1d688fefc8eaa48939db0f83e8d1743cea3030490e73d8c3d65689b3e4db21f016";
 };
 "collection-music" = {
-  revision = 64966;
+  revision = 65862;
   stripPrefix = 0;
   deps = [
     "abc"
@@ -9989,16 +10040,17 @@
     "piano"
     "pmx"
     "pmxchords"
+    "recorder-fingering"
     "songbook"
     "songproj"
     "songs"
     "xml2pmx"
     "xpiano"
   ];
-  sha512.run = "5d416eca3382c36a869959d850de6ffb4606c1a15c5adeae2ed0f8800c4a95cb068b4fbacb8d835ba4b0b4880b05f603b4e0ba36b98e357ec5ba637d0fb59100";
+  sha512.run = "951e172129275fa2cb7ccea6bf23f27484503533ebee4c3bef7d2f4ddda5940c15713b104a584704a0b9ec710e2ae363b6ec130747a6e169a7c461e509714a77";
 };
 "collection-pictures" = {
-  revision = 65359;
+  revision = 66377;
   stripPrefix = 0;
   deps = [
     "adigraph"
@@ -10098,12 +10150,12 @@
     "nl-interval"
     "nndraw"
     "numericplots"
+    "outilsgeomtikz"
     "pb-diagram"
     "penrose"
     "petri-nets"
     "pgf"
     "pgf-blur"
-    "pgf-cmykshadings"
     "pgf-interference"
     "pgf-periodictable"
     "pgf-pie"
@@ -10124,6 +10176,7 @@
     "pictex2"
     "pinlabel"
     "pixelart"
+    "pixelarttikz"
     "pmgraph"
     "postage"
     "prerex"
@@ -10142,6 +10195,7 @@
     "robotarm"
     "rviewport"
     "sa-tikz"
+    "sacsymb"
     "schemabloc"
     "scratch"
     "scratch3"
@@ -10210,6 +10264,7 @@
     "tikzscale"
     "tikzsymbols"
     "tikztosvg"
+    "tikzviolinplots"
     "tile-graphic"
     "timing-diagrams"
     "tipfr"
@@ -10235,13 +10290,12 @@
     "worldflags"
     "xistercian"
     "xpicture"
-    "xput"
     "xypic"
   ];
-  sha512.run = "cad55c99deb26ad1a6f12c60d5a7a0b35f250bad69f982e74163b9bbf027483104914989540c8169a05cdf0f5a853259c00c816ccddf858d0a970fc8b3eca9f9";
+  sha512.run = "1bf5daeffd4e3df80a028af026bb39789ce9e2174b7d0d7018b0285bd5f55eb84adf45f456282daa29ed924ad9f67949301fc9c6bd0f0696634c15a1020a8eed";
 };
 "collection-plaingeneric" = {
-  revision = 65277;
+  revision = 65622;
   stripPrefix = 0;
   deps = [
     "abbr"
@@ -10269,10 +10323,7 @@
     "epsf"
     "epsf-dvipdfmx"
     "expex-acro"
-    "expkv"
-    "expkv-cs"
-    "expkv-def"
-    "expkv-opt"
+    "expkv-bundle"
     "fenixpar"
     "figflow"
     "fixpdfmag"
@@ -10358,7 +10409,7 @@
     "yax"
     "zztex"
   ];
-  sha512.run = "6a6e3140f67c0903ba5a50cb0a127c3e64e0b9d0c55d2e732e5906ca6572f1122d8e79787da7c19326bfb4839782178f937775dc562b39fb9d11c8dac9c3b0bd";
+  sha512.run = "848081f23c64b1dd159add9a4756c0fe1f7176727b9665835a1eb1c1ed5765e119f71ce23ce750b87a33ed091be944316f35b3db70ea89ef56801aba04d06b4d";
 };
 "collection-pstricks" = {
   revision = 65367;
@@ -10482,7 +10533,7 @@
   sha512.run = "508276fe37018f3d9773fc7cda0cb37edcdd28e9cf8ab54ed5be16b07c2066de4626a561bbe387c7bba0fb82d4102be406efd721a4b5dc90110b8560083d2b07";
 };
 "collection-publishers" = {
-  revision = 65221;
+  revision = 66335;
   stripPrefix = 0;
   deps = [
     "aastex"
@@ -10563,6 +10614,7 @@
     "gaceta"
     "gammas"
     "geradwp"
+    "gfdl"
     "gradstudentresume"
     "grant"
     "gsemthesis"
@@ -10596,6 +10648,7 @@
     "jnuexam"
     "jourcl"
     "jpsj"
+    "jwjournal"
     "kdgdocs"
     "kdpcover"
     "kfupm-math-exam"
@@ -10697,6 +10750,7 @@
     "thubeamer"
     "thucoursework"
     "thuthesis"
+    "tidyres"
     "timbreicmc"
     "tlc-article"
     "topletter"
@@ -10736,6 +10790,7 @@
     "univie-ling"
     "unizgklasa"
     "unswcover"
+    "uol-physics-report"
     "uothesis"
     "uowthesis"
     "uowthesistitlepage"
@@ -10743,6 +10798,7 @@
     "uspatent"
     "ut-thesis"
     "utexasthesis"
+    "uvaletter"
     "uwa-colours"
     "uwa-letterhead"
     "uwa-pcf"
@@ -10758,7 +10814,7 @@
     "yb-book"
     "york-thesis"
   ];
-  sha512.run = "550fb7f9dd937a7ac66772d7a9f733c9ccd07b79a18d5faa333c66db823528848c8d1f7ac726ef97c4d5df3a87ae807646d5b932ddfa82e256ce3c6d1e917d3b";
+  sha512.run = "1d14f37712edc04d5000091f2d8fc04bc4929e057bfaffafc2002df21cdf1e1d8c4a9d25ca9e0d3a295416f06a8b59ae8554dc5c01272d3d066dcd5ad899d0b2";
 };
 "collection-texworks" = {
   revision = 54074;
@@ -10884,10 +10940,13 @@
   version = "0.2";
 };
 "colorist" = {
-  revision = 64280;
+  revision = 66450;
   stripPrefix = 0;
-  sha512.run = "89062170389eb40c86d084e499d5219899a658cf4a9f8798745c33e009737ab156ea3f3c1350ac75f29b2fa3f2751298378e683a7efea5ec0b2616377a9bac3d";
-  sha512.doc = "dca8db1417b6451878cf79c6524c2ae791c58a11c2023deeff1dbaa86f66a3147bbf2dad5ec691ced4ba747e968dd7003e77cfba4910fe83690d547d5676b5dd";
+  deps = [
+    "projlib"
+  ];
+  sha512.run = "53024afd887ad7bcc94e86db7ba7468003cf5f78608e5fecd1bb685a01fb536465efc6b8dcb1b8d970de710a4fe4410ef374a9912165800aac321aa971a5c358";
+  sha512.doc = "4fdca0796938abdbb773fcd2d689b493c5c6f31100c1ddaad61ad7729b19121e42370de951c953f2734d3ee07eb7c3408b868068692658518679f192cc7f606a";
   hasRunfiles = true;
 };
 "colorprofiles" = {
@@ -11138,12 +11197,12 @@
   hasRunfiles = true;
 };
 "concmath-otf" = {
-  revision = 64924;
+  revision = 65683;
   stripPrefix = 0;
-  sha512.run = "0d6f22025552df9c9af0221912d55c85d1a477b33572e50be1be0d6c4044bf1976f85e595a31fb86358cfa7bee2c891aed1a9cd97a198889bcc1005077eecfb5";
-  sha512.doc = "a95fe63c92fdeb65adbcb530298900dcc87e10e0d7aea53eaebffa17e153548253eec786ebd390ac41e1afee0e6575c2e72684220a01b9ee9a8d2b4309114b1e";
+  sha512.run = "efbd04812e5c617adb4caac1de59caf11eabedb2f145dc069e49c572d14f4dacaadb0de112235c29b5f12f3c54a2d4f66a4e5e7a6928dd178be9b127d5ef550e";
+  sha512.doc = "3ec3b3a39f21895413fc05e1fa54a3896b2fe6b32fb390a5ff9691a54c0fa39f2a532da58edfba4f2c34b020495b8c673d107e28abb7fb6d86e6246188567374";
   hasRunfiles = true;
-  version = "0.24";
+  version = "0.25";
 };
 "concprog" = {
   revision = 18791;
@@ -11635,12 +11694,12 @@
   version = "1.35";
 };
 "coolfn" = {
-  revision = 64639;
+  revision = 66234;
   stripPrefix = 0;
-  sha512.run = "43962cbb49ee5c5aeaaf972bdf3b39cf17d3baca59200e2e95a8208903ca6cfb83ace85d86dfe710a50b9b099f8794f09c70636aee0fbf74d6482e57844920bc";
-  sha512.doc = "20ff20914b16b3c5b9661efe65c063b382dd2b3dc13a3fb6e6f81ee5264fb5685380dd02f4e20a16ca3a38e8866be7b5e3c4604bb7cce79e748295e4b108f66e";
+  sha512.run = "7cec637033598a8d91b5e284fed608a0369314ee2971de64bcb02e5f7b72702958da8b81e64ced9894ef8bb27286f2b1547550d6b11ad43f6111ca8459cdc3d7";
+  sha512.doc = "e35e455eb1be787777629bd1333c9130f4fa272ef808ce67c9b7c18eee93ad059794588763f81779a4ffe1cdb8cd1cb283f65ce05732e5d03f4fc5e7b2c1a74a";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.1.0";
 };
 "coollist" = {
   revision = 63523;
@@ -11898,12 +11957,12 @@
   version = "1.10.2";
 };
 "crossrefenum" = {
-  revision = 65016;
+  revision = 66032;
   stripPrefix = 0;
-  sha512.run = "4f4beb4360906e2b414e3ef02c4d6d20e360bbfed257379155a3597fb2bd30c42e570c5fbc0de6b7a5d5f7530cc0be6f939ad8842db8f94c2ccb28602c9e91f9";
-  sha512.doc = "e435003261c0650dd07757183b6d79e6eaa59284929b64e0d9ee532d5c270ec7685960f6f6a9be1891e3cd87d2f1d98a7addf77bdcabd7ee40ef6afcd80148ab";
+  sha512.run = "35b59fce84e356e5f72d91bea2de582b75fdbfebe1573e3e23321743a203b258ce186bf274dffa3ce09bec034d8a52b2a7275c4452ea63162f71898bd1ca9ea9";
+  sha512.doc = "77675af4bcc279317792089faa1571c5f2a7f9b20872ba0a919850f1316ac17e4110d57266555b3d2bc8804ebd9d393e7245e62023445791d6af9cd2d248b9ef";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.0.2";
 };
 "crossreference" = {
   revision = 15878;
@@ -12132,11 +12191,11 @@
   version = "1.0";
 };
 "ctanbib" = {
-  revision = 59782;
-  sha512.run = "e885d005007314c5dff56e8e3c96eaf2d4eaaf9ab87722a882ec4fe8752e3c7f909f58d3b92b58ff3f5b0c439f12e82f5eb76f90424d5696dddaf6e5a70d9efd";
-  sha512.doc = "237371b1483922498bcc41d0730f7e707f97154044d20c3514f11aecd6b82e1d796602d67a2774a019bc5d13f7790016f759d50a9f1a17e45843e5770c198a48";
+  revision = 66069;
+  sha512.run = "5cb965c9b387d5c733204663f5f6496e4ff8033ece3f6063513bb8890516e8e96b4d307ce830ac51f15796ac467e3db0e27eea668f14b4da8b3446623b6767fa";
+  sha512.doc = "e161bc466807c7697cb7232874c0d7daf14d82677d25a081085dce91461826d2aace842f599cd27cc0f6491d31028d3253e8d9dbf237f9e97444dda80490e5ba";
   hasRunfiles = true;
-  version = "0.2a";
+  version = "0.2b";
 };
 "ctanify" = {
   revision = 44129;
@@ -12153,7 +12212,7 @@
   version = "1.2c";
 };
 "ctex" = {
-  revision = 63891;
+  revision = 66119;
   stripPrefix = 0;
   deps = [
     "adobemapping"
@@ -12194,9 +12253,9 @@
     "zhmetrics-uptex"
     "zhnumber"
   ];
-  sha512.run = "eea93d70d6c7768d8157841db4d4aadc3077422dba7b9cfa9bd4235dc547a43f694c9d3e0002fc2aefa3d8b8823f2478bee712a46cf62742bd30b7cffa7edcdf";
-  sha512.doc = "9e23c44358c6060f071a5233ec81efa1efad1f280ebfbb025b7d4c5f6070d4480ad34b961591af429637dc2131b2147051a191e7ea20aa52ec6081bbdbe057fc";
-  sha512.source = "1c0033fd3ee4585c3f81490e89c24f2224fe49966068b30fea229dd9c84b6d0b54e5ab2abbd6e500d211c9403fdaf418c3c7c04dead4cc2119912ac8c8000d42";
+  sha512.run = "d118a114f1f4df64f66d3a747042e3fd2409d96322e3d6118d5326bad22eec9fcf957e9e0c89a2a3589f24eaa0f10e96580e3b80b2490ef4c372014503d0a5d2";
+  sha512.doc = "c2917675879646b56dcc3709e87194b862c6ae1a2cb3a58691bc587f4c72d520abefebeee256460d797eef1c7f9aebbd20c7c54c4276583b2be89dfda6166599";
+  sha512.source = "64c1af74f09b3aa1d859a5c37c88d92c22e72e25cb9f7fedda8941b4ffcd92c7eb18ac36c9f3927b70ac5d27a8145d9eaf1dc5953cb489b6155f0a097cf3b9a4";
   hasRunfiles = true;
   version = "2.5.10";
 };
@@ -12281,13 +12340,13 @@
   version = "1.16";
 };
 "curve2e" = {
-  revision = 57402;
+  revision = 65469;
   stripPrefix = 0;
-  sha512.run = "9346fff324a93225d271a2bce1a038888a1850c27ec090832740c22538342192889098ccdcbff1c5034d48c41c479b131b1fa7a401e0db684ba01536f3eb7ef3";
-  sha512.doc = "bd84b3122aac83e5584921c4c8484430b546012bd5d93f49a1387acf6476636bdf6f00f77b90af53252acb3600ae75c7038fed4d213b76e71543df3b5900eb09";
-  sha512.source = "c64897e4f2c6c2705b5093b2a937d2cf2dfa8cc2d0c9290775d155f733c82e0b7f11d30b8c58e21416b0f4a1e0cd4b29f1bbac5cdb665e821ec11218767865b5";
+  sha512.run = "0d2e5e851136e73d205cd87fdd22eb2d4513c4f8d1f510c1adefc6a278c9c47e148ca6c45d7cbedfc5e51543f06301f7960bdc704fd4da3dbc2bcbbd68e506e3";
+  sha512.doc = "d7c0dad1800cc12ab3908036a8f59d87a37c6a2218a6fd6b0280019f98d34908b080499abebb1976ecf16957d9290cadebc93c90c766d467b6452f6a8b7c8743";
+  sha512.source = "4767deede52b6c3a31168f37a41a8f127ad6de0208b6aa42ca00ec7ed2cdcddc0317de2920ccdd5f1896b6b007ebeabcbd5aaf8211f798584ff64f960f63e5da";
   hasRunfiles = true;
-  version = "2.2.15";
+  version = "2.2.22";
 };
 "curves" = {
   revision = 45255;
@@ -13038,17 +13097,17 @@
   hasRunfiles = true;
 };
 "dehyph-exptl" = {
-  revision = 62734;
+  revision = 66401;
   stripPrefix = 0;
   deps = [
     "hyph-utf8"
     "hyphen-base"
   ];
   hasHyphens = true;
-  sha512.run = "13c7fe78927fb7e85155284d47fe597e173647efea8d7077e06f55c358b2b851e3b65820829859d4d770b81af836f308a2b9e0e5c3ddb17f1644d1cf803adc63";
-  sha512.doc = "812af78620465987b65654b1b0e270ac911a18019106c54d24622b4f146534f9474b691247e8cde140c1101bf48d843fb1238e5713f9a59a79e969b9314ae895";
+  sha512.run = "278e3c30cd1f107075fec4cc4d9301e97a19500398d2c4e87cc9df43479db5abca70cd3fe9bde3c3ff7545d0674bfda799dcd4211137a54cca22851ef1f31ffa";
+  sha512.doc = "f4eaa2fec9f9df21cac411f000e9a797a12f264b335daeb4f8a00f2f43d903948f6ad52bc544acc1e5ea383c948979f5505bfddf97ce7a6a2ed7732d046ef5cf";
   hasRunfiles = true;
-  version = "0.8";
+  version = "0.9";
 };
 "dejavu" = {
   revision = 31771;
@@ -13214,12 +13273,12 @@
   hasRunfiles = true;
 };
 "diffcoeff" = {
-  revision = 63590;
+  revision = 65676;
   stripPrefix = 0;
-  sha512.run = "3ef1e285d44c0f83a7d7645da087b8ccc65efcd7f994769c55f601723e0ea477f37f63e8388acadd8975f5468e24bbd2d6c3dfe9295930cf5678ee64db166c90";
-  sha512.doc = "3d59588c095bf88b714e67454035088a98aab9c608bc03e568963861bf51e478726124044fd94db42c6dc2ae4b058bac4f790b8086ca16943913036d832e54e5";
+  sha512.run = "3f6e304dbe15deee61f6a54f8d9c69a06bf1ef48e9a0583179bbf5afbaec8364fb3a974f47ab6d6f350c6ea7083095854109e1d4555e2395781e40774ce46f67";
+  sha512.doc = "c742e1e8679f3ebf58f2a189acb695af893231c922f5659d9c586f5c684020f30368cf41def55dc1537b25eb05a8b4d8de771d19129dc15df64cdab7b3986ca6";
   hasRunfiles = true;
-  version = "4.1";
+  version = "5.2";
 };
 "digestif" = {
   revision = 65223;
@@ -13739,12 +13798,12 @@
   version = "2.08n";
 };
 "dtk-bibliography" = {
-  revision = 64297;
+  revision = 65444;
   stripPrefix = 0;
-  sha512.run = "6326449e9672a57261c76308abcc69581ec60cd7ab99ca905c7c5b1b8dcd9d21c88377752c79ad0d2e552ddb0286355392fa6875f6953bf39da0bcfd4582bbb6";
-  sha512.doc = "55446468000f9e406e2146bccf6ec2afd0ae497188aaf5b8010b343a6718512909a8cb87b7a205548cdb80ad14514c62cf107a127e83bdb2bae501fed6d31890";
+  sha512.run = "417e5bbe812750ba4832939af9c9ed8bc6595049985554c53e49bf48a9cd66aae575cdfa3c49b6593a2116bc6aff44c771a17c91a2d233ba8550ab862db1ec97";
+  sha512.doc = "b48549663c4478a20339ad9c54a2d458b1472f231ae90a13a9cd35c0ff6ac6596ea8246ee97838bd462828a346082675294f843aa16f44f31d48b1ce2df16f5d";
   hasRunfiles = true;
-  version = "2022-03";
+  version = "2022-04";
 };
 "dtl" = {
   revision = 62387;
@@ -13753,13 +13812,13 @@
   version = "0.6.1";
 };
 "dtxdescribe" = {
-  revision = 65223;
+  revision = 65445;
   stripPrefix = 0;
-  sha512.run = "5ce0602db290cc8885b559a44a1e8d6747a74bb967c3e9a992838f35349013dab95e8f9417aa95d4eedc9981a3ddb2f33e67520505e53c5731a8d14b6eb32145";
-  sha512.doc = "26f4f10766b8fcd4b8a54e7af2b15622b002c1532f3d1309d79578ae995e12167482580c56abf0abb26e23702e5d627c5e989ef41c3041576fb13352a1de3db9";
-  sha512.source = "5ecb5a5aceb0eb01cbed749c36278f0bc3dd1cac42a26faadb36b8288fc2c93886f20aa4ba43dcf6068ede226e320887c0c72cb5cd9403727eb3733128c4eee8";
+  sha512.run = "cfae5c15bef8b3d75d31f970c47ccc63cb261820d4d19e55c48de6e13e0133e50d60713e2e691856b0fd803834190bd76fd13e47094b0e8f7a74901f882093dc";
+  sha512.doc = "6390904b004eec6a9293b31b8467bebd4910702c26a270de573ff9bd404715d27d6bf12ce7f039a213ff545ca2667fe6a568df967b79f8d9142c58d87ed708d6";
+  sha512.source = "88d81f7d55bf3e5bac2811b7f7f9c00f68de32f307e0fd7c6d2e4d6537caf46fc60f4d14b0c5fd46b94155d2884b48a8222ca4c86fa05dd316952c78e836ed93";
   hasRunfiles = true;
-  version = "1.06";
+  version = "1.07";
 };
 "dtxgallery" = {
   revision = 49504;
@@ -13930,10 +13989,10 @@
   version = "1.6";
 };
 "dvisvgm" = {
-  revision = 64182;
-  sha512.run = "2d491a901e151b23542aa956f7587fa36f93e43f25199868974f8b4d785d2ca1a5f4a1b92537764d28514e1919d18becf9a5cf5aa5c8eadc0637452dda93eb8d";
-  sha512.doc = "6abb236d807295d2e367a7589bbc64e42c6f8bf35cb7998487038acc17b50cc00d49bf4d22f8f061a77e604c3063d598fb48836085cb7b759fbf9479f49d4796";
-  version = "2.14";
+  revision = 66534;
+  sha512.run = "503ca116be0a87f2606c9e898a591dedaa7a078713e30673eae5dc748fa4c4f13ce8c81852c959e84c3c45766daa565222db59a66315b0238e716e762e19eb31";
+  sha512.doc = "faa5efd79a8cf665cc502825ea185e1abe8ce5e466b5bf485f90fc2a21a1df564ce7f9c91e6db42e67acbe78bbeb683dd9a94231044503c8082f68c33d9f8ec0";
+  version = "3.0.4";
 };
 "dynamicnumber" = {
   revision = 38726;
@@ -14361,13 +14420,13 @@
   hasRunfiles = true;
 };
 "einfart" = {
-  revision = 64280;
+  revision = 65475;
   stripPrefix = 0;
   deps = [
     "minimalist"
   ];
-  sha512.run = "0038664f40f0cf5c940d44d618876e98f1419058b7bfe27e741d536743c4ca208bd728aa4a193544956efa30c0e970ffbb04559e751b116037c8760d34a615f6";
-  sha512.doc = "89cb6a140802ed0395bbad43c3bdaeca5879e4564d0f9ae15f333f243490788651bdef214d2aafa5c44c0d720e8fbfc66f3dd584b544d80ad3058015cb883553";
+  sha512.run = "b9a38014bc6169a750e4880048792f8c4d2e1904528207214254bbdbdd3cf140c1e3bb6bc8974001c32edc5f93c5a9a07b7d839d578cabd9d4ba3f5e5ce4c374";
+  sha512.doc = "30d509c34925f252d55e47255c7deff36d1b922545599fa35fdc227a4a5dc5588649486d10d083a4602dbcc99a1fe953ea66d46aa6b566399334b33b45ff57df";
   hasRunfiles = true;
 };
 "ejpecp" = {
@@ -14441,30 +14500,6 @@
   hasRunfiles = true;
   version = "1.24.12";
 };
-"elegantbook" = {
-  revision = 64122;
-  stripPrefix = 0;
-  sha512.run = "94aa945b18f42ee388a5d13fdb29d433cd11099479578d3537593927a85cca1e14c9ddbec36f2c54922472acad1c674ea64eb13ada14b10a1fc1fb7880c64a39";
-  sha512.doc = "222a7e1d39a8c394aab7b9923e5f5df9c03671a505df66dbf76c2b4f45f7dea6adccabab014386bc3c0229b471d30026765c0614847b516ac98ec201ba6428cf";
-  hasRunfiles = true;
-  version = "4.4";
-};
-"elegantnote" = {
-  revision = 62989;
-  stripPrefix = 0;
-  sha512.run = "1a9a64b8129ee9ef01c01447d62344adebe17ff5ba143b9ef4cf5ba048b2f2e9985f16438a7c261d6a079dd36b84f3c6dea8990c1a15827a3e06b34b5d19d848";
-  sha512.doc = "75909518bf134585fd9965a5373c5827a5f6e45092453dadbb5b5fd961cd00e4445858619b8eddbc12bf304ac746a16b25764cd7424cd7056e9b13e85a490686";
-  hasRunfiles = true;
-  version = "2.40";
-};
-"elegantpaper" = {
-  revision = 62989;
-  stripPrefix = 0;
-  sha512.run = "3bd9f2672985ab8689d0af08228e2c765fbc67bad898ae84787e68ac010ad7bdb521bf18531c1a653a4fdc9c765ff83e7457eae0ed2b0633151f3d030a611d95";
-  sha512.doc = "460e77e3488e412d989739f6ffa8284a88af29aceed7e9da9e8869c09c6fec82a66f678f37bad5f71294e915b301aa5121af6e20f19a709acc45b9479b716cab";
-  hasRunfiles = true;
-  version = "0.10";
-};
 "elements" = {
   revision = 61792;
   stripPrefix = 0;
@@ -14585,13 +14620,13 @@
   version = "2.0";
 };
 "embedfile" = {
-  revision = 54865;
+  revision = 65528;
   stripPrefix = 0;
-  sha512.run = "f42311a4f5488c00f33cd43af03da9fe6b1912c27b7ce9f40e488f5a4931a5c57fe637d475cfca750e191c1b605f532a32ac83476207a49543fd090e932cecd1";
-  sha512.doc = "19925356dfac7c2fcd06d2886c8ffc7fda202f6639e98e993b8ddba3570223db0f4ad98f8ab51b096790e73e4c23946846ffaeaa2a847085d4d95abdaac06833";
-  sha512.source = "e660fe1caebb232b3c7ab761ccbae1fb58535002e6f4825c00c33f3d19a2b9b2a7a8e5e4b5a63a929b2a03bbae161ffbb25113a7f6fa3c46477b0c0773c97b5b";
+  sha512.run = "5fe36b7666c58f676b48fde16ca5f07296dfd2f6d28cb8861ae3d341020552a509dd79695afa73fe20c6a5e6e87d3557f89f66902e8f02f39665efd9fac8120f";
+  sha512.doc = "bb2e63963298b2c3a35c71b83eecd6464c7e4841e1098177ee78e56d15e072a88e6c58964e9292d70d495cce513b46d7b542d30574a41f4d0643df1f3b6842fd";
+  sha512.source = "6a8c7c8ccdaa01f7e36ba6fad9e1d1f3873e77523d4c8b6b1de222292515016ee9aba5df53846d1367e2d5be90f7c912eb4828c4145575e38cb940db65e62e9e";
   hasRunfiles = true;
-  version = "2.11";
+  version = "2.12";
 };
 "embrac" = {
   revision = 57814;
@@ -14817,7 +14852,7 @@
   version = "1.2";
 };
 "eolang" = {
-  revision = 65289;
+  revision = 66283;
   stripPrefix = 0;
   deps = [
     "amsfonts"
@@ -14828,11 +14863,11 @@
     "pgfopts"
     "stmaryrd"
   ];
-  sha512.run = "2c98181e8dccb936d3f87812a5aa7f3bfb1faf5796a790f3d41ecf94f0331a5069341c2843c81f058c4374a0bc4e31b316e7e30045d0e44f729579bea76f1308";
-  sha512.doc = "90e0a7e29708b4dcc79e9f7492bd218fa84eb0860bf33651fad77eda0e161cabbba20b1bf57aafbaa1077da3335a78436ee9ab3f33965e5e091eb080058cf2e7";
-  sha512.source = "197fefc52cb241227dea65c14d11a427f0190c6ad6fca97ea6a330471d44c736ad40578338d342c3ace689739e861cc380198c5c05f4648dd0ad423e5ac60da2";
+  sha512.run = "992fa67344e812c7eeea80ce93f1bc7327bb0eb1782e65fbc8a31b2dbab33059532a2ee6445ee5768e15cf5ee7945123d5e3eaa527e72dbeb1a2a16afc2ecabd";
+  sha512.doc = "62a7b5a9a922649a035ffbad8dff10e2e1b97e3a3ebaf94b222142d94b9d20106d492b1fc1a2f349de1fa782b3bac1aee5a9ad3d563f51fbbf46d8037a81e07c";
+  sha512.source = "652e1a38b1639805a4c980585c8424cf3f501e9a22fbaf52738b21b8363741d013474158f8866334e335aa839c519070595d318421cf29f4b60756e11dea58d6";
   hasRunfiles = true;
-  version = "0.9.1";
+  version = "0.12.1";
 };
 "epigrafica" = {
   revision = 17210;
@@ -14943,11 +14978,11 @@
   sha512.doc = "7965e6094535d22b04193619842bc0bd090c2b47139e65498dcdf428f4ce2ec54e7da5edbdf9015c9d8f2013642d11347373e625a3884c629d9d807af2a9880a";
 };
 "epspdf" = {
-  revision = 53472;
-  sha512.run = "8464aef2f11712c124b2fb29eb448706007f8b4825ba09a7579b4b8a6cf31fc3ea4b98359ecb588e6886fbed9b59d1da155a3d69946bcb99f90f39043aeb4eea";
-  sha512.doc = "6de1e86931bedc481f2cce725c58e83a9bcb8af10938ba8d5701f325ebc0e98824cc472b32e95c9f319dbac7c49ca849e368d431dd79c5d1d0fceca81da3cd35";
+  revision = 66119;
+  sha512.run = "f155834a9636991c8ae752f61f70bdf22ab3172270c85aebb05462cf26e44f6e81fb83842c8515bfa54e632a3beab8bb91cccf2b5eef459d77738443c77df56d";
+  sha512.doc = "5d06f8a4ef295e0fac8cd1dc73ff98e266dcf4394ed76223c92d20758fa8195ef5bea9bde49b1a247acfdf67aa7717092f978b55fc4fbc8665922487d57985d6";
   hasRunfiles = true;
-  version = "0.6.5";
+  version = "0.6.5.1";
 };
 "epspdfconversion" = {
   revision = 18703;
@@ -14958,11 +14993,11 @@
   version = "0.61";
 };
 "epstopdf" = {
-  revision = 64439;
-  sha512.run = "fc695e156b57303dbf603e79efb1d935e857aa1551f35da4a603f9c5a70386b1a430e38a2dc0f5543e11af0313b9d43266125520984730ffb6a870da4f004591";
-  sha512.doc = "080b6ee18db0d7d72b1dc2a04e830bc065d12b3ba506fee32d7857ccbce190ebc2e2a0565312d6aac49892885f176444f06cb85517890ce6637e3545ef6f824e";
+  revision = 66465;
+  sha512.run = "7640431f06879ebf5f557ec298f57dbedfa8f19d332cd05302bc09b69a0eb676f89597fab7f2d7d6358d023bcd3888e6007944f3cf66a07c6a852fe5b064c800";
+  sha512.doc = "eb66e71ad2ef95d603f48bc70a997fe17579e57c9e0114dc33dfa30207f3babc28989f59f8cab2299ec03d1b3665cecf53e3e07750539906d4a2c374c3424d49";
   hasRunfiles = true;
-  version = "2.30";
+  version = "2.31";
 };
 "epstopdf-pkg" = {
   revision = 53546;
@@ -15064,12 +15099,12 @@
   version = "1.12";
 };
 "erewhon-math" = {
-  revision = 64925;
+  revision = 65684;
   stripPrefix = 0;
-  sha512.run = "fb14c63ef33ad5497639b2d47611bdc1ae7cd5d54fa7456dbccb29436a7bd5b52587ab2f5bcba72f4eb77e7d8a02314f36af4a26d70e707c9bf9fd5597e5e5a5";
-  sha512.doc = "908a186ac753ff68519cd0ef1e381a7b313a81e780540313ce2eba372076b446135139513f2bc99f295d4f05af1e2d87f336866308aa82453357761c57b3144b";
+  sha512.run = "b836d20c767218c485853f4f83516bfebe97d54adf37f031fd5ca04813b5cbdf40ca7586bb0725d7c893475fbf849d8183fd5f22ef9bfbd5a4f22642e27e2f88";
+  sha512.doc = "8247747d74e7ead936ab648358f6c52a539777828fb9fb157bfe22cca3191f467709a4a6264a3d3c55a0731292ec010bcf71acdb542e95998fe8f521d4364bbb";
   hasRunfiles = true;
-  version = "0.55";
+  version = "0.56";
 };
 "errata" = {
   revision = 42428;
@@ -15299,13 +15334,13 @@
   version = "0.3";
 };
 "etoc" = {
-  revision = 65068;
+  revision = 66351;
   stripPrefix = 0;
-  sha512.run = "973e624e837672b5166817a46547d8f73f73dcae12b22e3a90dc8a4e2031cba464c8264f69d380226cd083d2863b3ea14761acb4ba8f9604b1ae0c8db81c7266";
-  sha512.doc = "d3119a24c5572ac6dfc6f035b56de6a811970237f04ffa2fd8e9e5a8e74d9d6b49d21acab58ffa06d3d5a3aa25396f40c196961cb1f9b10d97911221c6b85fa6";
-  sha512.source = "efcc86dbbd61d4cdbb61c3d5ca3c89e1df947de5837740f25d8612c3718a5936819171dcb8ae22728ef3942b2a1592bedf572968619f52aa0835582e0e3aecb8";
+  sha512.run = "09d7dfaff6ef2ecb45d65603fcfab0e4fa7810a91d8b27faf313167b763979dbe6ef14ab8fe75c22f978ad5e4ec32240eefe58ed13a85a7c186b5183de7163df";
+  sha512.doc = "046215c38ee4006e519d23ea58feca30b00fb3961f713ac49e0b5743af775d4379c9642d019a0e537874902ad6f0a101d5152365ec5d283a2411ea9a024d1161";
+  sha512.source = "3885e247d5872070c6197e3875e716d9c6bcec91656348ec06678c5def05f02add7440ae253df1ec940cb5205e7bc6eba398ac4b1b312b0da7a7b7f705b2ae80";
   hasRunfiles = true;
-  version = "1.09i";
+  version = "1.2";
 };
 "etoolbox" = {
   revision = 56554;
@@ -15376,12 +15411,12 @@
   version = "2.5";
 };
 "euler-math" = {
-  revision = 65010;
+  revision = 65685;
   stripPrefix = 0;
-  sha512.run = "cd2ea897c0707980d30143b5c96632835d0c84aaab86a71fd0519d16610aaf969ade2ea558c4fa7519b6d82a75d1cc43ebee1b4dc6b801a893b68d289bba25f5";
-  sha512.doc = "9455ba79bbe1c8c02dbdfc9fbd9eab60882cf0d104e6eb2c1e7c7cd6350ca6827d0f460bcd32d0c965cc216bb4d99a9ccc6de7caa8b74736b37ce9639c133fa0";
+  sha512.run = "912d06b33ec56da0103fe7a13ba2f3e95b602842d83caf6d4fee6a55fd47f7134f70b7bf7b07736f531836378a9dd60eedd7a0297de19388b0f6ea997a140464";
+  sha512.doc = "c197e59cbd9035e915649f99605f9165c7eac55143a96b942e43a718d7237aae14db3db3afcff0b05d39651a3d81a544259d2d435ccc8895be9e831e29e18c36";
   hasRunfiles = true;
-  version = "0.30";
+  version = "0.31";
 };
 "eulerpx" = {
   revision = 63967;
@@ -15445,6 +15480,14 @@
   sha512.run = "2f786231f801ba9a9c5f5176bfbd01f8e952c33c722c7508988628afa66d1ddd55c4de02c0ed9cfbaa35a8764833e822046f7125330145995433b517f7051bd8";
   hasRunfiles = true;
 };
+"evangelion-jfm" = {
+  revision = 65824;
+  stripPrefix = 0;
+  sha512.run = "8f65c7a0bb9731cfa5294015fef8936a83e5cec017162997aac76cbaba1ca215189402f3c8387fc55b569395f6c7b8289a6bdbd7cde235d89484722ea257a2dc";
+  sha512.doc = "2d2d92b7189c69ce30b5ca00900a135fdacff50fb9bc5ef61adb879bf744ea52b3985f948b8c8582169acf577034790436ab606f947c943b2fd5ddadc495bf13";
+  hasRunfiles = true;
+  version = "1.0.0_b";
+};
 "everyhook" = {
   revision = 35675;
   stripPrefix = 0;
@@ -15489,6 +15532,13 @@
   hasRunfiles = true;
   version = "2.7";
 };
+"exam-lite" = {
+  revision = 65754;
+  stripPrefix = 0;
+  sha512.run = "f1f16566eb49d5514bff3076f1c1837cc933278f3b0e8b1d6541f158ce4922daa43585057666e66ef80366d36b4b28793b930421ed8901d456405e52469e0e43";
+  sha512.doc = "a1a2ea02e4ed3d846e428f5ae43f25150a982f2d490d9753071345d53e640f3ef05b43e812ff84155a44f369ab49e294050bbc53823da4e899c7e1b6c2d1f36c";
+  hasRunfiles = true;
+};
 "exam-n" = {
   revision = 64674;
   stripPrefix = 0;
@@ -15587,13 +15637,13 @@
   version = "1.1";
 };
 "exesheet" = {
-  revision = 61061;
+  revision = 65577;
   stripPrefix = 0;
-  sha512.run = "921af4a07943074940d311ca75afc3949a3bcc2d01584874a0d1fa4e98d830b35f0f100f335a924a99d3f046c64a14100c4a61878c54bcc346641274f369cf24";
-  sha512.doc = "aeb8ea670171118f8acd381544b736321c6b9dfaa9e2b5ccae61caed1ad664b78118fe56b766964bd0466c05f2d7d7e30485117e9d84a619da09c57587b0035b";
-  sha512.source = "de56a65bafdc5f26278331e4ba2167d163b90e544a476c4ee4c97a66ff9e5154ab249bf5bab7cb5b4868ce1bae5c030d1e40de5a4d1378cd050e0ce0ff6e42f0";
+  sha512.run = "955667020291c3ca7417689606734e0d7cf0b8720e704271e46a2e466d8d48c37dee7a675a3dcf2b52b90b87901a5f65294664499b11fee94f0ed2689402bc25";
+  sha512.doc = "e792d34696ad92f186977672ae7bfdf80fab06c53c30e572359ec6402e1f0190484af52af4525f3414bed81d8ab57bccb3cf28066ff5c57a27ff3404ae0d098c";
+  sha512.source = "de1b8dc1f333dc693b240139d3379fc57f5fead1cc90b3a3bb96bec1a5e19a7519df5bd30b15ff9f1458e651dd36193e100e327e19eca8848af4dc8a0f1191cf";
   hasRunfiles = true;
-  version = "1.3";
+  version = "2.0";
 };
 "exframe" = {
   revision = 53911;
@@ -15639,41 +15689,13 @@
   hasRunfiles = true;
   version = "0.0.2";
 };
-"expkv" = {
-  revision = 60573;
+"expkv-bundle" = {
+  revision = 65623;
   stripPrefix = 0;
-  sha512.run = "18aa7282095f5c5f3664b9ff138f129acbebbeb16f5f550aad594a62eded5f08dcfee2efa9b34327c1fb5c6976e782361d2c372088c73b48d934bce1febbe068";
-  sha512.doc = "2111b0638d5954b396b4e30d5a36fd078ee99477c378fb61537c8fb6365b39c1990965af8f1a3435ad088344374de329659b4822756299951585c6e19749d891";
-  sha512.source = "9bddbc840021b8036b180bc8bf28cc2368dd705114e90bc5c511a8e666fc2e182ec3ea6d777ba6f5b712e4aa0cc30c03418a0aa6749ca77bc990a93fef39da22";
+  sha512.run = "969711569e1a27e2b08fb7aa9049413ab55c6799d6e1b6cd1c92a79f82214e36d26608fa0613bc3299385a94919f8f2d0029bd28ff2a649873ba6f5da74d48fc";
+  sha512.doc = "091fa4f7e8a3b321f02c874160eb92aaca0bbb9b0abb895c74f398c879cf52945ff3468f5f9f4f9d5ada750c47c817be3f9280328e6958ad7de470a11ca340b4";
+  sha512.source = "aa9721025f7ccf9091933d95ff411a7fdc763f9d34bc191eb693dd2fdf4e8056e6db929977c89956cd4bbf0804a2c6f1e902b06e26047f55e11e6e2c15fb17ad";
   hasRunfiles = true;
-  version = "1.9a";
-};
-"expkv-cs" = {
-  revision = 62003;
-  stripPrefix = 0;
-  sha512.run = "2d2b736151dbd3df233d848c8b430985491da3e9b5212b34088ad0932bff4fa2e51bc50b9763da2aba76407ce18a085a839d5308e259d81e2d4d2e6e50356020";
-  sha512.doc = "4375db000d07c40d1da239a1abaac2a7ac753f75c36d2bfccaab94f82c067d886395f37c8a4413034adfb3f2f49251dc21b09e5f5dcded9a4fff7d609efc084a";
-  sha512.source = "43078d5499d8f2586be022bda7d77c9a9678686bd633eaf790faf289a3e6bb583ed4f66f65a6f4c64f3d8f594652be326f5a05a5cdeecf43e7d3ed6694d53a1d";
-  hasRunfiles = true;
-  version = "1.2";
-};
-"expkv-def" = {
-  revision = 61796;
-  stripPrefix = 0;
-  sha512.run = "e783fff82e60385cf5f6bf71df65fe7f78e96cb872a1219d5a525583160d5dd1ca04951f9e57fcff5894fb5e81ecb86771cf485df45a528a6437040f4b22345d";
-  sha512.doc = "675f3593096ca214caf706dbd65f8c2a6fc3b334b83ad2e04c3eec562cb940ebe0839108a7c27a4a9d99ab3ce3137d0e195a6ca35f148e1a790d3054f2f4b35b";
-  sha512.source = "52387ba0731a46eaa32792cf1f552116a82357ac23f13235dc3013944435c157736800278047424a6151a47bce3fdedd104af5ab03ca08a097d421e96c75e1f7";
-  hasRunfiles = true;
-  version = "0.9";
-};
-"expkv-opt" = {
-  revision = 58772;
-  stripPrefix = 0;
-  sha512.run = "8b6203aaeb7a2c86c355a67ad02857d5ddacf5e85f04143b0f0225c2fb4a00c1f6e88b6b1c5a872c1c092680ffbfb19148c8a97e8537babe97b969355b63fce0";
-  sha512.doc = "12312e21d7d15e9ba60800243cebe4b7ab2ea52a31c37f25446b6fe0ef413e9d33d4066d139b3fca1375dc9cfe357a65ec58e7ef1d3b28472da368dedac3213c";
-  sha512.source = "4fe886ef42bd181f521015225b92ae15a16d9b2d34001119f49bc417cddead7fccd437b0f4263c1f24525060a7f94f423db38fc8f677212fb330f690eaf9a676";
-  hasRunfiles = true;
-  version = "0.2";
 };
 "export" = {
   revision = 27206;
@@ -15913,12 +15935,12 @@
   version = "1.8";
 };
 "fancyvrb" = {
-  revision = 63496;
+  revision = 65585;
   stripPrefix = 0;
-  sha512.run = "a64093467b50b5fb9452982b575125f2daf863f9df8beee9a3e0613e44cc60f51a00c3cbceca2bea7b88c7b6bcc991ccb88150232c712363f918db710e4593c1";
-  sha512.doc = "e1710447f7187ffb02e4b1d19153d9b8de8df5f26b2e8f610c6e2e73a9d04d7b5e6e26f608b33df021048fbeaf1b20a49f88c9a2d2673e875ae40c90315d2f53";
+  sha512.run = "d0233f179706c41c418134d3ccb42efe6234662373834a18e3ab0d80acb5c77327fa95d52cab0172c92217f3c9ae6b974087fae87bf5be3eb82a624a8ec60146";
+  sha512.doc = "0b9f84e92c1dd9939b2bf7654afe4d379647ce933f33cddcd512601de9599cef5d58aec5c5bb3ec24f0eb7b3218bbe41c8c8433bd21d6c612191b1cfe4e32c58";
   hasRunfiles = true;
-  version = "4.5";
+  version = "4.5a";
 };
 "fandol" = {
   revision = 37889;
@@ -16020,13 +16042,13 @@
   version = "0.8";
 };
 "fduthesis" = {
-  revision = 64288;
+  revision = 66197;
   stripPrefix = 0;
-  sha512.run = "3079cca7db2e84dd25f506c3830889cd99e0da7dafc755be7edbb5988e11f82e3364a29d7f52feec6f11b66f87c512a1964a68c4a8caa4974e5fb9b5a7314707";
-  sha512.doc = "4ebccccd35e097c51be947d6edbda44923d30d359e32e792b9de41362eb05fd6d74181316c272dc3fe0ef4e33b612cb5a10835b425eb76f558237900654ca92d";
-  sha512.source = "4729ca9455b08e79448d6ab451cf8ee0a7593ffb8339f12507914204d52f24ba15a48c39253344c67d4b4cb88927c7d7cf439821aa2fd54a035fd5703b80a567";
+  sha512.run = "2b6ffb0ab9bbd4ede0867bc007d69a3172e7a4207132aede29b4235adcb15d30f914f3a9e64be2c205c9eb5bc7bd8a0cfdda514c34f104d3c9c4a71e7e4369da";
+  sha512.doc = "5ff7d5bb938a06b9b23a59be62b7c89d7be8b633dd43242c1ddb6aae7bfc4922da3d236ef0e09f9287e56218064c9fbb283a61b6eb4b251d38c14ef81ac9a36e";
+  sha512.source = "b5da699a284bfd9ab3641434f257653c3cfb5cc110f627260f209925143387430ca1481dfbb05c362647926c38c6f25cd26b51aa5f9c9b5b6424fe4375955288";
   hasRunfiles = true;
-  version = "0.8";
+  version = "0.9";
 };
 "featpost" = {
   revision = 35346;
@@ -16326,12 +16348,12 @@
   version = "0.3.4";
 };
 "firamath-otf" = {
-  revision = 50732;
+  revision = 65561;
   stripPrefix = 0;
-  sha512.run = "dbbb13d184e2a407bcbc2681bc9c5ff0e83017141792e956013254dcc50815f5b913bb2e40d6c09421883db774e9ce5e5ed17f6602ee902f485069fbd570936e";
-  sha512.doc = "699e10d44b1e36505e872070c2799e1191e995ca6ae26058e7d069c96500a9c0914614750f6af076abd3a30b281409613a846c314a64bef047b3e313b0a4cc97";
+  sha512.run = "32e5eb8a0343b189afea8763a24b74b41adee9b1d5d21aa7e184eef2b402e88023145eb29aac3c7fccd56d6fd0fcffc06c77f937fc28ef69852ee87b1fa1650a";
+  sha512.doc = "fc3b91faa9acffc0f104faa90925f6907107dca2b6c1a5800285b00bf734e85f2463fe262d2ad4f123608017abea64052463eaed6ddee11230b1462261377072";
   hasRunfiles = true;
-  version = "0.02a";
+  version = "0.03a";
 };
 "first-latex-doc" = {
   revision = 15878;
@@ -16348,6 +16370,15 @@
   hasRunfiles = true;
   version = "1.0u";
 };
+"fistrum" = {
+  revision = 66263;
+  stripPrefix = 0;
+  sha512.run = "06d0fe179e16f80a19d9dee4a62a1d4b0f64f6b02c6f5969fbf3cc461a93f123727a8d4838bd6893c0d49c3de6ff2d3897fe3099fbae9f8eb078e97cae3a5adb";
+  sha512.doc = "e751c6fa119c0b1f2e74ba30b157c18f9cfae5ffa27ce43548f2e98e5d163dc71fd3bd658f46cffbec225c48960ec093d3eb1b0793cdec339edbb98a34002b38";
+  sha512.source = "45c088d042e2cca6cc9bc029ffc83506acbf136be9253ba9f01325072f8a1cb4941f68cdc30f62d6b7af2b0068f6cc1e0e8c76bd4200706437aff732ea2d1cc4";
+  hasRunfiles = true;
+  version = "0.1";
+};
 "fitbox" = {
   revision = 50088;
   stripPrefix = 0;
@@ -16385,13 +16416,13 @@
   version = "1.1";
 };
 "fixdif" = {
-  revision = 64835;
+  revision = 66031;
   stripPrefix = 0;
-  sha512.run = "bf27ebfc5e138f0bc1bd3089147c0ba822f46cfbc559e53e1d066a0b764d267de9148d492abb14bbab6d22a54eaa65bb0a7fb8378628b186b12c5caf2edd03b4";
-  sha512.doc = "eb81a3dbfaf3d50f1d6f99f343a92d69eebb23a02a37e09fba804c0e32e794f1046734702ba8f1a202af453e042f405733fccd6fb750b3da1dde2ff473708c79";
-  sha512.source = "165dccd63c11c3eb7541a767a1429f572493041a69e3f0fefc3f491fe3e3d923a473f3592e2d3fcc2297174f29fbe42e474025081c3a0050455f8954a183299a";
+  sha512.run = "e0a4f2b75e80d0378bd65c623f2a43f8bed314ebcf4a4d2aea45a724896e107a1b6cfce4c34caa3b0bc4580613681c7189cd32fe63ef611227d57b512f20ef92";
+  sha512.doc = "47a0f695e145e9c33ba7ef733f2776d61941062179bcc0a416fc9368b5d3d7e8bbd6c00fc20ff23ba70c28e1ebc6d5118ccfcf3a798c5d40702b30a13bea86fd";
+  sha512.source = "a8fe5b80e8e99125859e253e7f7cc2af5af75ba131acace90e885f7a1fffbdd253b750263913e6fa5fd081ff70c8aa3983aff75127f227c83589f3aa3fb47534";
   hasRunfiles = true;
-  version = "1.4b";
+  version = "2.0b";
 };
 "fixfoot" = {
   revision = 17131;
@@ -16806,9 +16837,9 @@
   hasRunfiles = true;
 };
 "fontools" = {
-  revision = 61726;
-  sha512.run = "641f6fb19b69b721c1df9996d5f97e10e187ff39ad57e4827b13640fddd0a93c687157690d3fc51250e90bbeb3ca0a0e3f815d2c17b857366764e5e91fb5b2e2";
-  sha512.doc = "973522d7d88d26559e8692852d6ebdcdc44182aaf6aebe7b3552702f0d239b474c95cbb5db10471bd343f5c00049887939b9d1a586e0b8cdd710dfa79c4e0f1d";
+  revision = 65706;
+  sha512.run = "a4cd3009c98502534f3c54d40fb22d788bcdfd474ba6bfc1b7010aa4d3471f468cd54a5d5c292d5afe685f9e4d99c023b8f78f302792dd1b381418042d96f47c";
+  sha512.doc = "0506f6e9d0e0ae4fe4bb15303e2abde50a076899e4330a7d68f875abeaacff999cbab779bb368da5c717370e7cf885333c1479d6e795da4e387edd4656c30933";
   hasRunfiles = true;
 };
 "fonts-churchslavonic" = {
@@ -16829,12 +16860,12 @@
   version = "0.7.3";
 };
 "fontsetup" = {
-  revision = 62477;
+  revision = 65439;
   stripPrefix = 0;
-  sha512.run = "b6b3819cc3a669d12c103c6563f534918651b639fb80b3ab8ee54a81f5b536813aa3091e7fe1ed628f776a2e37316feca50dd2055755f91e11004c8807631398";
-  sha512.doc = "4dcf30a6d053fe4c57fce0db505de6adea2600bd0d8cb898e39cc8368af1abc85272bffdfd9079ab5bd745e22ba147655770c799914f1ff898feda4a8735572b";
+  sha512.run = "9eac00c84f22ba0409f49d9eb730050d8dde8e9468f7d55ffecd6ccca750aff171082638e52fa6c3e260a203e85c09a64900816d8cf7fcf025b655dcb738f62d";
+  sha512.doc = "bfecb544a2ef7ac57b14ea9fea554e39d3b9549520b1dfa76d2ab1f983eff931ad98da0b970922b262ebc01b148bc3b8d7dd4d89e4ef7c03430ea6707add7ad8";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "fontsize" = {
   revision = 60161;
@@ -16928,13 +16959,13 @@
   version = "1.1e";
 };
 "footnoterange" = {
-  revision = 52910;
+  revision = 66156;
   stripPrefix = 0;
-  sha512.run = "6d1a5ae7982aa9f928d09dbe0dc8cb3fcae5894bd8d0eace4590a7627d476dd32c9c91dd2d68aa9a9428b7258b305b13911421f0834b694fe828654aafcc4eb7";
-  sha512.doc = "eb31ded0bf2112afd6c278456701690a0a7d846af6bd1f28721bb6db4e67b8a83e2ec67b6876fb05315430d9d1d400ae4b5dd7e04f5bfeecde322ec6aa84e30d";
-  sha512.source = "1cd3a85585772bfe701cbd25f45ed5a94e476d48c9c2efe5868b4d7d2a41c3add423a51238ee793c0cf8d4f65767e9c2b9e0c0c19603259f61e221aa40935b35";
+  sha512.run = "f62bcf48415528645d20d9be9ee1a185ce4a27224509c26ea94efec3541e3f3e1e69bfc6b4ac8e7e4d15248dab32e9cfb072dc81c25c60a8179c6ad60eafef25";
+  sha512.doc = "5c69a9077656b3cc81a3dc564bc5049a5783ab0d276fe6b71291f43a99cb94ed199edfba3b56eb20cac698c9a44d812f4b101858f43a1698180bd63175e2c9d1";
+  sha512.source = "b5b2db4c757707283c345bd67a27c1d3def510205d38470f7b4ec08343c6f7faa5b3ef0b2ff7d67d0e3a9d7d55e0db3a4fe04d48e85f375c3a7ec1cb76d8177e";
   hasRunfiles = true;
-  version = "1.0c";
+  version = "1.1a";
 };
 "footnpag" = {
   revision = 15878;
@@ -17156,13 +17187,13 @@
   version = "1.3";
 };
 "frenchmath" = {
-  revision = 65363;
+  revision = 66477;
   stripPrefix = 0;
-  sha512.run = "4cef48d6de4fe0fb33c0ec402ac1587e397d6d793e2599f69701e6ea587603c282e7a045da8002aed6d9f8b1bb006ffdb87f3eb88260f96c1ff3eaeb802decba";
-  sha512.doc = "6cc04bb2f1bd4bbf5405450ad79057d1e3591afb1c4dbafd1b22d450e6003ba47a4a7517534dc0b23f94fc1ea8c70f28d0703e862d261eeb6737debba15c6b95";
-  sha512.source = "a539fa620fe43b8c5159ed7cec25df941a673aa8cb3914d7ecaaff045e7d1b911a3a39ce8cdb30afa4c66b9a9dc4bc85de096c032fa2fa10ee2f7041d9bd018a";
+  sha512.run = "8ab615a8b88c4b09bc2f3a2485d5f07a8ff140abd4cfaf64e3239944cfdcdc123879fcb6146331aa27a17f7a102251dc5f20538302cba72e2ce2b40714af8629";
+  sha512.doc = "a112495f232ec33ddd9f8c942892036029b6ebc3ed18e9a416188ab29907e0455051949a593ddd94efb96f97b71027197e9e3b8288c46c09b3c82fa7c3e80eca";
+  sha512.source = "b881d4858903b8d401fe4ab0e4819d657a2da0fe90df238e19f80d5b7eb250fe79e82f7a16b3f0107c902c4d2cc9b5717a733e922ad1a7d10d20287341584e65";
   hasRunfiles = true;
-  version = "2.3";
+  version = "2.6";
 };
 "frimurer" = {
   revision = 56704;
@@ -17266,12 +17297,12 @@
   hasRunfiles = true;
 };
 "functional" = {
-  revision = 63640;
+  revision = 65485;
   stripPrefix = 0;
-  sha512.run = "8504fb2fcb250f07b37e1f56e98f0aa0fb76827a9c0485bb12a87697b4ec58346b5605472211119422e0aec5cf07c5ac7bc6be662f466b91aded1a4921e87e85";
-  sha512.doc = "ebf2c739170e47d6b12924b2bff2da5442c96bfdc3bc96f09efae647354e9dcb1d6c8110b1bebb3968ad79bd362b64b4214b33d75b21701ce73d55dfd7c8e3c9";
+  sha512.run = "a8fd828e18a6162811bf750bb631240a9e1409e52db682d2b7285c369ce2d425889c7e10e3eca98d8a49b496ff7e276b78af09dffdc87769ada063639f165f35";
+  sha512.doc = "d8ea8ef65648cd46cc8d9b42e0b361a3848078cf2e92abc4d3e8cd2f115320bef414b2a8c762ddcb730ca92204c4c3c33c11d34b804c4497f26c804e53744aff";
   hasRunfiles = true;
-  version = "2022H";
+  version = "2023A";
 };
 "fundus-calligra" = {
   revision = 26018;
@@ -17507,12 +17538,12 @@
   hasRunfiles = true;
 };
 "genealogytree" = {
-  revision = 62759;
+  revision = 66516;
   stripPrefix = 0;
-  sha512.run = "55f04257e02be7960f17d43290370f24d3cf076d06ff28734f43754a1550e8fc7fb66ba1aed02059904c38da897ff4acb3be047f0075bc3c3c3daecf1de11f80";
-  sha512.doc = "792510941e1ad6196e3ea2d2a9294ab5c322f45563ffb22952fa5f3460b3971f00ce5acf665d552479fc0ff24b43ef70cd8559ad8b6c0c626082efd8c8ba7b47";
+  sha512.run = "cbe9d30d487524519153d1cbe8394f9659b8ca35e933fe1f48d22a16ae4b74038c2faa08e0e0ca12b54dbe7e4ba9174960e1d76c13b90a724d7e050590beedde";
+  sha512.doc = "03d9be99bbf1029b6747ada38714c50b805d18c2026856025f9b218cfe1ddf83bf5f412bc88270045b5a9709d724f0e745d1445a4e200dc2f3925f5e70760711";
   hasRunfiles = true;
-  version = "2.2.0";
+  version = "2.3.0";
 };
 "genmpage" = {
   revision = 15878;
@@ -17650,6 +17681,15 @@
   hasRunfiles = true;
   version = "1.6";
 };
+"gfdl" = {
+  revision = 65415;
+  stripPrefix = 0;
+  sha512.run = "d93bba6171e3179b559a26ce246b6de423c06d0ec4e360e33b4d140be07645b90aea070d41d988d0ddb22f6686789e96d9df5e3f1c8ff8cc23829b7be0d015db";
+  sha512.doc = "24034eb02baab28efccb6569425229f6e2dd4a0254c926e9153eb6e8802d0cd18d9af7ff4229dc1f8b39fb5dddff767b33e026b12a3443cb3c62f1f0f5e64ade";
+  sha512.source = "be816d4aa6547ae5e48201b5ec61618f2868422f2a3bb87422543ef4faa1461b8b7368a1dee29d36881e0e051b7d684ad90f5dac4b5f43dda70b5e11540c5b76";
+  hasRunfiles = true;
+  version = "0.1";
+};
 "gfnotation" = {
   revision = 37156;
   stripPrefix = 0;
@@ -18194,12 +18234,12 @@
   version = "1.4";
 };
 "gradient-text" = {
-  revision = 65353;
+  revision = 65567;
   stripPrefix = 0;
-  sha512.run = "a0a74ba09b010a5228b534c3381f95611ac0df3efd88391155f907c47c16eb8f1d846cf0c04ad64be51ccacd346cce63d768dadff305f60f087269425d1160c9";
-  sha512.doc = "cf13b3f1cbbd6223b285dee6c1f6edd8e70537a8403c67ebf0c8702d5a2655e59340f9362638a53824ae6ef7d27e1ad6ca1208732a6f630b3efbb8ba44b280d9";
+  sha512.run = "87ecc935dec50f43fb4079a86c0fce5de8d4222f941f346ba6d9ec67bf3c623351fd42fb88989e4d1de17c36a82259aa61b7baf9a9227eea3f8e5caff3ab8bf9";
+  sha512.doc = "63894d303192ea56d1f29b33ed8722352a83e6fb58f05c639a9b930794ed5e7f2634690c5049dc62989e286464fc9f48d537e77fca234061dfedf755231b59c6";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "gradientframe" = {
   revision = 21387;
@@ -18356,21 +18396,20 @@
   hasRunfiles = true;
 };
 "greek-fontenc" = {
-  revision = 63604;
+  revision = 66516;
   stripPrefix = 0;
-  sha512.run = "d285defce43ebe670acff6473e8f524ecbb7142ccbd979b552815aec9368abdce1bd45b960776c006bae315966ab8fc0caeb1b50fba2dc5bccbdb781f18a3274";
-  sha512.doc = "c6bf45aad51b817d6e5b190300d84ba0ee18b38be241f31067625a7f8e92a9dda3fca037dfaea19a28008525e22c12135bc487de430d6725ba47b1db17195633";
-  sha512.source = "c4e3f837b1630b581d2991e5646e139738726c875a04f1eeaec722b1302887acb73ff64b016649aa53f8b5c567707802a970ff6b511bc7f1e628a5bd7477a442";
+  sha512.run = "fb8c1a71409b90286cfc0bc9be6049fad47416611c1f02a760121f4a585a8a9b8da5c18d06b111a51cedea38165466a3f583a4fe456e8d3b6a3c150d76eef0d3";
+  sha512.doc = "a83257b0205cf4cde35c460b5b06acddc29d7f70a8ac46d8ada195a033ddfbe7385d35cab07fb0bd0c61d627d0c4956babc16041b6ad569e6bff14eacc004eae";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2.1";
 };
 "greek-inputenc" = {
-  revision = 51612;
+  revision = 66309;
   stripPrefix = 0;
-  sha512.run = "1b3ad85dba5955a9dfb17d44a41db3e39c0d33920e1c36157e77803c4b2e402c6f7231c0628ad549c07ce7914f4a05c7da9369950b406270233d28f1a5adac55";
-  sha512.doc = "42cab0f26d944da70ec3397946bf217155534f0def949f2a0fdeaf8c0dc30a5046447c5daa1d8e2d4fa4235cbd29fef2d8e6fa0c4c440c1ea58d1f2c4c2ab81d";
+  sha512.run = "a4846b187b1831399bc4210656aedf232d58e8d96841cf615ae1b5918aef79b27e1bdc695b98cbac6cae8a5a36f9043febfe83101e291d154b2c7561da17a56a";
+  sha512.doc = "9658b09102198d7ae3d58fdeef89c55d88a393a2d8bcc14df82b42a97ba6cfa1a8ef5136042bf09f04284dcfa76d7ce9171b47c5d3a09b2f6015135edb3ee8cb";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8.2";
 };
 "greekdates" = {
   revision = 15878;
@@ -18655,10 +18694,10 @@
   version = "0.1";
 };
 "hagenberg-thesis" = {
-  revision = 56798;
+  revision = 65819;
   stripPrefix = 0;
-  sha512.run = "abfb384663a77bd084a7a4f3026f59015b1cb70a851e25153c921ede1089bf43b6abf3a8a50469a55cfa6598d54983604d395eab8c5115ecefe7250ba872462a";
-  sha512.doc = "78b8f4fff31a9f0a63b6d31e5d07bf8bf76aa6ad5b37e8ab7a28522bb9f9963d0b8e99925681286696d8e6bb688af8ea02788faaa7bff0ab50d2f166b6c9a4af";
+  sha512.run = "bba9dd22c1e4cf082697c555f2bca5b53af2f3684c47c8911cd11af9f35c9e16e60c5d6e7941436f0a584cc98f882f22c5c855194cc71df7e928f105bcecf9a3";
+  sha512.doc = "9e73ee93a231c319ed65a2c23d23d28ad224367ef7773a9d5c1de474eaf6f9d2a402ae1afa4138ec172ca9e07a5fe64c47d57e16ceaf24b203390a0adbf645fc";
   hasRunfiles = true;
 };
 "halloweenmath" = {
@@ -18759,19 +18798,19 @@
   version = "1.0";
 };
 "haranoaji" = {
-  revision = 62100;
-  sha512.run = "4c575f1bdf9eeffc33316f09a9a573669f7fa0c152a3281412fe55e19d0a0a0ff26568acb4c8e1dd2e0a5df47a2c62b5a9a4a8f3702a16d3e805009d1e011fa9";
-  sha512.doc = "ecdde06810b9541f0900dcfaab155ee6beaab10bd7f784ea927b3a78736ebf1849d4a652c66a962ee47ab38bb67befde6656f0f1ffd900c4cfe6bbcbaf5f2e28";
+  revision = 66119;
+  sha512.run = "96100a78ab4292a4dc656fb70e2973f75ece3964f3a0d85d9f9153b7052ea90c14f074b195d31e46465dc52ea0516541a16981239abf552861dbca16fac3ab1d";
+  sha512.doc = "bb4161c95b760c9c103f086c134d7f7528dafd92f82623dd95322ea644b86c35e2baef05170c3c67a7f1c4905dc8a5fd40108db1c65074b558eec69f0e3c6910";
   hasRunfiles = true;
-  version = "20220220";
+  version = "20230223";
 };
 "haranoaji-extra" = {
-  revision = 62099;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "db93e6079cb8793e24b162d1c36d2b464dd36053166209f69b1bedeb70e42be19cab957823888316020b6092e858e56a82f4dd365c5e0477166296b6eea6f07c";
-  sha512.doc = "785b9e852d39720eb52f3fe13094ee44f0f511bf86f69b9fad15ccfbaa5f0ac519ed2d9e4d6eff36ffeb8d2dc4fbf36680937cf5bef516038e4b63095f447bba";
+  sha512.run = "f12b9c3865fbd8c94e6138ab44b8a9ae35b66b3d0e0ad7d07f4ea3c468b84458d335543bce6e1b9c7daa5be622c9a0fea92c585f779a69ed01e952cda619bbd8";
+  sha512.doc = "881a80dfc5646a9e872acf0db968a40f5e151aed459d29045f4e01c714fc7cdb7d51012862ec8a81bb40c81b5c9600a007729a473fdb61dd12c18fa6c41f7394";
   hasRunfiles = true;
-  version = "20220220";
+  version = "20230223";
 };
 "hardwrap" = {
   revision = 21396;
@@ -19106,12 +19145,12 @@
   version = "1.15";
 };
 "hfutexam" = {
-  revision = 65223;
+  revision = 66555;
   stripPrefix = 0;
-  sha512.run = "588d1508c533d29c910fe0d1d22b0b2b4071c9c2a46efa5edd8d0cd7caea1a6376c59b1d081382a9a1fee42a6318a8bc492800ae5989c0bdfc10d24015911cd3";
-  sha512.doc = "e8679db93a1175844b748e107a4797a647219c6481f735aaec17e0578b9ffced861857c7c090c17a7a2d84230f3455ebe7bd7deef0a1a17f3f7d0aa060f333a8";
+  sha512.run = "990b88861c8e7c3701fde44ed4aee85c097ce158917dadfef8bd603adf07af6df3b4dcfd32c423629cf62b5de62e2862ace266d4941d028f73a55d07f4c69d90";
+  sha512.doc = "0a4643a0ee0288855069c8998f26abf4751c0a3f5df4c797e6b0673bfc9a743549b6119fc22606451edf9ddc2ae58560b3a93ba46739fc6376cc6c0fece59a5e";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.7";
 };
 "hfutthesis" = {
   revision = 64025;
@@ -19311,13 +19350,13 @@
   version = "1.1.2";
 };
 "hopatch" = {
-  revision = 56106;
+  revision = 65491;
   stripPrefix = 0;
-  sha512.run = "1658c78cf7671e821ed38825f8b0a0dd96b268c80afb0e64b27129c08e6c9375a7c8e3e5019361e100cb11691a0d27fe533aa2d000306a38b752114a0eac4d12";
-  sha512.doc = "57441e01ba72ed0fe8439da5b41dd7600ae43eab90e06150e58704c9fac5a0047c6ab3f7d581310972b973006d9a98ee52bf782f0f2fca151c59050e5bc402f3";
-  sha512.source = "30537bb32dc82ccba9df85129db856884e2a948cee2cbe500a6208a5c3481b8f55253d86ed744d939e149c784e5aa6d8f843434629dc39a291762df863ad959d";
+  sha512.run = "6c0f9549ce0321d9080cd0dfd3062eab47722bedac79293a14019c25edfdca7afd0cd6bd3b7be67a99a93ea0b347ac798a7b24909886d300e7085ca67d1a5c42";
+  sha512.doc = "4fbf84371053bd67fb3d4b370bc335013cb62042cf9c13d2fc1c63a582a56885a93f73a44aff8986b4c657f7d172a1bd75cbde556633647a1abafb72746f9150";
+  sha512.source = "bd32091e28973236d4de3255642677966c4c856da4d53ab811780536e3c564956ec8299d75f553790f2208ce2ccf9356fead39a5f501f53e91d108782bc3bcb2";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.5";
 };
 "horoscop" = {
   revision = 56021;
@@ -19351,13 +19390,13 @@
   version = "0.3.0";
 };
 "hrefhide" = {
-  revision = 22255;
+  revision = 66196;
   stripPrefix = 0;
-  sha512.run = "6d96fdc550a99ed7f3e4dbee19a589c27b27af16f910a22befb51bfb452d8f9f57cbb27f1ecf96c5604e61eb1cd0343c0a07810ac1519dc51422183d6229916e";
-  sha512.doc = "a8ae0fbbb185ded46cbc1d7550526230de4098bf3a5bc8bf72ec8f5a5b4b93703501da19a4c9e09e08044aea768a01e39dfa36c38c9be72c7aee8e61f58acd71";
-  sha512.source = "ed08bbabfdd78725060f3bac173d2819ddfe494e99d76abe02ffff755718caafc520e0336299c8c1dda0db1492089316e05b1b85c93c866b683703b471e845b4";
+  sha512.run = "a6bcf0a61258769debb09ae41bdfa850137508a4bdae5e44f68a203f9a764fa762beced247aad29e6b643687cb7ba7e554349e96de7a5a428d54486579836a30";
+  sha512.doc = "fbeb8187af9501df6c6263d769f85ff08282c29e6af7648a7b9e4ab35877eb8d3d0d3369e18b9c4ee9a6b37c989394d275f68b68e6ec2aee1486bf45d7b118ed";
+  sha512.source = "55a3e5298a4625fe1612b8fab60e171557e56422a6f70076eb02abecca275d6b3237a62e09442355a9eed75df4e727db07b2075a5b75f6def09038455485c27e";
   hasRunfiles = true;
-  version = "1.0f";
+  version = "1.1a";
 };
 "hrlatex" = {
   revision = 18020;
@@ -19450,20 +19489,20 @@
   version = "0.02";
 };
 "hvextern" = {
-  revision = 63711;
+  revision = 65670;
   stripPrefix = 0;
-  sha512.run = "82d584145855932724f2b5b1dade92f097fb60da21fb856c99b2abeadab911a1855d8429fba30919526b2a69d2f26fccd6c74e8e82cf99d172991f305acf02a0";
-  sha512.doc = "6e6c396285c64ed9767a70b989840330cb15a1ee595537bb7b4be2179814082a2f03c0106d52614444437c9f20815df4ff91a18321ebfa04bf13264b1037bba6";
+  sha512.run = "2a0b0771f99c83fd3e33aa0da43afc51ec32ff3eed45ece76eadbe3c4eedf7ddaec16d4ba32f8829cd16e61af93f5b9be83686262174f07ca863f5d183b5520b";
+  sha512.doc = "0dfcd19c671a4e6100df0b89113d517abbc803e411a347059c44652106b7990b7371b96a6bde85ada1420f2029eeb5d614fae5b44b3c2dc7cb9191d55341cae7";
   hasRunfiles = true;
-  version = "0.32";
+  version = "0.33";
 };
 "hvfloat" = {
-  revision = 65069;
+  revision = 65671;
   stripPrefix = 0;
-  sha512.run = "0471fa0fa232068b67613132f52e3b45162aa87405961d7791e4d3c3527df8a4406a4de328966ed34634070497e43ff1f11b20b1216ee90a327ef231eeae5286";
-  sha512.doc = "4e66d93022aae324ecab00c3ededbec9d68f8fd780f933c56b0a9de60ef8c400410f4a6b3898280f3ff4d3ee35241101e9aad3fd350a361db525fb1cb7ef8c65";
+  sha512.run = "9189c7cdffe77ca6ea69288641453fb057512079dbf59a112de18d6a496a487e928a4ccdcf9ae4b69433ee73b03ab07e4ea6ebe5f881619b57b24be3ee787f11";
+  sha512.doc = "1dcfe143a1b525763a2c4e1c5f9761002cbbf46259eac4d18d8e95033af86f92c9a9d1106070f696500db89feefec6717c934ec310d463cb4161a3497df9d548";
   hasRunfiles = true;
-  version = "2.44";
+  version = "2.45";
 };
 "hvindex" = {
   revision = 46051;
@@ -19523,13 +19562,13 @@
   version = "2.7";
 };
 "hypdoc" = {
-  revision = 63808;
+  revision = 65678;
   stripPrefix = 0;
-  sha512.run = "4548bd373db79c702c18f37c22932c8f06168caf0a3a2504becf9a614670dfe2151bb06ded5697b5f9af950124227bec1b52be899b096698f1855d64b05b1ffd";
-  sha512.doc = "871e666881ae541eed39e7464a151f23b6d4cc89dca269440aa3d813408cc273fab0a93de8e4ddbdd1d232290995388a0a7838a8990874d7640e9140996acf2a";
-  sha512.source = "b1896e5ebdb8fa5048d1645c2d1a067c33314cd9edbf21a5f572c0ec1828db6050943fc7c9f19dc8522fd9ee810e5527304f3503ad8f4b71f378eb46cdcfe4b1";
+  sha512.run = "216c3adfa731d4c18b7072d3fd812065195bd06b849cc2b669650a24d51b93cd5c4dd8b9dbfb5874e90d2b928e32a675d5bafed1f5543b826041374f2d4885dd";
+  sha512.doc = "8ef2afe4f1e69aa9934d80363d206a852444396a7067e99ee9ea33c5ab8648e94997631e657f6eca0d9d65e4c14132d46eac7d639ea5f8ba558e83d17c39a2f4";
+  sha512.source = "a68d3134f4c96ee6edcd3da623fc37b475c5ec7d599e363b2d5bb14bfb74d4906b7831d595cd1e547534e773a0348cd4cd11252f7ebdb64c7ed11ad0a5e2ab9a";
   hasRunfiles = true;
-  version = "1.17";
+  version = "1.18";
 };
 "hypdvips" = {
   revision = 53197;
@@ -19566,7 +19605,7 @@
   version = "1.0b";
 };
 "hyperref" = {
-  revision = 65014;
+  revision = 65758;
   stripPrefix = 0;
   deps = [
     "atbegshi"
@@ -19587,19 +19626,19 @@
     "url"
     "zapfding"
   ];
-  sha512.run = "b0e32f4792039b1e48f4deab6b33a53a0bc32549a6fddada1156880c3ad21bf566d69389c4ae626fc1a844f3b0b94f24a4b1331a9e52b89e4619993bc81c5db5";
-  sha512.doc = "97bc2f11dc6b023347817fb18ff91ce6ed4d2a9e22ad3f17aea29781a0bacf6173f13e59e64229c6f62a9b2e67f7b1fdf513db11fb6759a5373b7a1d38d703c8";
-  sha512.source = "f8d405385e10f1d818c6c97ca7919886e3b520e661e465e0f516a36ed884de8011cf907b72dc49f0437741df096af2f49837af4d31fb46159efe7867466292a6";
+  sha512.run = "c30dfac04cd90487740189dca7bf596c43e6313b1382296b0f5cc4337e6504906cdb247870eb15af1fc1f8b9417dac2872ca82ec490b6e065f8148c35ecdcb21";
+  sha512.doc = "b54fa3cf90ad69d0aa0ac409b1372b438a1b07818d102b01e597f956d9a380fb9e99acbab14a4d87c30b5fd4343536c40b39eb4ff43e1f5a0704f31d38063f38";
+  sha512.source = "3d1637fb8d0149214d308a4c0030f70719a27ce0c0c3cee9c061d54e8607fce12257b08d2b992c6f8de9012615e91e0ae10713d18fa16e9c6dff554257490457";
   hasRunfiles = true;
-  version = "7.00u";
+  version = "7.00v";
 };
 "hyperxmp" = {
-  revision = 57004;
-  sha512.run = "559312539407e1ec8eca1e476d015baa88631b8750249c724a9a99a2bb0644680ddc7b4d9c1aa8cd74dd9ff366b2e1821a01bd6d6eef54a14a72d8877f86b7d7";
-  sha512.doc = "e63bb28383038ca1ac45bf0af92a95e50383b1a9dc3714b3e077a37d92022c4304dd00ab313979c7b7763f2ec6ba8946f6ba71fb09fc0870d02a0ac89be25c53";
-  sha512.source = "8c7aab81881bf79fba919bb752a5d9f5c9653e89755d1c4bff5c076dc24339dc1327de57fb35393c7d80ee0ad46b4c787c81d73cc15d8d3111a580059bc2e361";
+  revision = 65979;
+  sha512.run = "b2520a486ed2451f20b3414b29ccd209c427bfce22d248ba8e9e7b1f0c13e276b35853ed28b5d578e60d7234a1f6755f00023cc3f4bad968e0f22019aa547007";
+  sha512.doc = "ce7269f6c014def7c967fd8782c3ba2e6bcbb2540e9dfaeccc63917d865ea0cc131c28ad2fcd7aff507b560d1dd7f05d4c3ee2cb9e483ba8f6f64e0bbc0dc619";
+  sha512.source = "c97193eda5c7e02f743ccb0dbc7915c6cff7c29facbc1e098b70987aa3a9b35123fd71bdc1d0b5fbf2f0d249dd48a6ace45b73c82351e1b4cf874420aea74871";
   hasRunfiles = true;
-  version = "5.9";
+  version = "5.11";
 };
 "hyph-utf8" = {
   revision = 61719;
@@ -19654,9 +19693,9 @@
   hasRunfiles = true;
 };
 "hyphen-base" = {
-  revision = 62751;
+  revision = 66418;
   stripPrefix = 0;
-  sha512.run = "6257736ec39ede19286cc78edb9e82537d4dd40145940817ce35eea86166583c34ca5fd8da826a89f9250b5d38367c2cc435b6f822fef0b5998fb9c35e9c6b21";
+  sha512.run = "63175fccf11584b6a67d8d3fbeec242a7e087bbcdab44792fd811f023fddee8576fabd4e006897e2ee8b3aa4546a82577825ddcf9ed0e1a15115b48b79120e0a";
   hasRunfiles = true;
 };
 "hyphen-basque" = {
@@ -20326,13 +20365,13 @@
   hasRunfiles = true;
 };
 "ibrackets" = {
-  revision = 65312;
+  revision = 65383;
   stripPrefix = 0;
-  sha512.run = "3e107787249780a3526b6e021fff386356be4000ed552267533a160632b7e28197a79f82d1f262ad2489949d4d937656333f5aaaf8015a41f83ce72aa53bd1b3";
-  sha512.doc = "36ef26523eae1b539babc3ed2f9409296645efd9581208f80045f92653f59383e4749c200087920b6e36649807f6f5819ae21e691da9cf4c535fe7b42a15bcc0";
-  sha512.source = "b60860a99e88432893e716819050fbf4e7af47f0ad43637af3bf46994f617d7044a32e91ca4b26f3647905146d519747598655ebf2d339687103132a7103819b";
+  sha512.run = "96f5a6ee84810035bdba234e23a6b87dafbff602cde6d1f435be1c291e741779133e335d7a8ea7e1a16288348357b16200a7a98751a7a4bed9de2c4fb28dcdee";
+  sha512.doc = "06ae490ac0d5f49c7a2c9f7f2c4a52922717b2f0375162c8a83750cf7f5525eca3e69b1e89a41204b971a85ceed0779ff27ed557192464d0763ce9c0892ece2d";
+  sha512.source = "2ab5897bfbd438ddfc8dbcd32b13e57f32617617529590b5089494bc5533376eef99e68e23a7f695ae5c1cd86c9c654ab40477f104ee64b63ee92c5dd24331fc";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "ibycus-babel" = {
   revision = 15878;
@@ -20420,12 +20459,12 @@
   version = "1.8b";
 };
 "ieejtran" = {
-  revision = 62957;
+  revision = 65641;
   stripPrefix = 0;
-  sha512.run = "e61293c30d05ba10f281b2ddf4455f786c3439491ba6f38dc74b0f91c3769032dbedd84136121f01026fc238e332f4eafc5f38c385066d7c00f21ec7aeac4796";
-  sha512.doc = "612e27f0ecab3c6befb40b5e7ef9cb89a1471b6f8c9c6d4c4555b059b9ec4b6ccf0735cd5230a22a4b96628395f7e352ae2e7d7f45096fa7184ffc7758bcc00f";
+  sha512.run = "16dde97354dd4c4ff2bfbbb9ead8ce7141a253afe2ec5b39cebe3239d40827d73c83ae90e79be77c5e5a799b40dcf5a3074f2659feb5add8b62d4491097a6cf1";
+  sha512.doc = "41ffd8978d9a591c4aa711c4b2f1dc73a4d18a39e67003494c4c9a86d5fd24acf40b6c79dcc139cb46a36dda96d1e0a26a7d5336683c3d7d11eb6e46765c03e9";
   hasRunfiles = true;
-  version = "0.18";
+  version = "0.19";
 };
 "ietfbibs" = {
   revision = 41332;
@@ -20819,11 +20858,11 @@
   version = "2.2";
 };
 "install-latex-guide-zh-cn" = {
-  revision = 64560;
+  revision = 65434;
   stripPrefix = 0;
-  sha512.run = "4e3b31c20a5770f3938ee0be92ec946050b9dfafab6d65167ac35c3688ce1a6709a6fb4fcde8143fb084db2cda95db7965b00c0e5318418f095459be82886b71";
-  sha512.doc = "b2485e1dfdfc373594b890126df0f6cf4b1ba8027b3ff4958f0e5e7883be5dafdb151f44d0660d1b20fc6c24d0664251f21168a072ab8484b72ff0cf7a0b9ef5";
-  version = "2022.10.1";
+  sha512.run = "a091341f588222b1a4301eff95afffe8d89c11818790e9a82a3a3f1e7d75601d9ae2c3ede562449938a32f29ec61efebff97467a5fae5140849d737895335d74";
+  sha512.doc = "2fe37d8e3ba7d4b36e2e8936ba30112422d5ddeacc13861fa47727e17a35466f395b06648b67a9eb54f59ee111a1c8324a8ec41f5cdcaa7396b8867a4636d4b4";
+  version = "2023.1.1";
 };
 "installfont" = {
   revision = 31205;
@@ -21212,11 +21251,11 @@
   version = "1.0.2";
 };
 "japanese-otf" = {
-  revision = 64072;
+  revision = 66102;
   stripPrefix = 0;
-  sha512.run = "47ceb07a567b3244662f7fb8d64da6765aaf2a64a454a1834328c9c2a9ea9cc5a6f867ab565a25b0f904d067c3cadf72724e1cac406d3bf1f54e2e4351b8ea17";
-  sha512.doc = "d1d0ab7db20aef0d5d3ceb9a63dc09f2eae42327654bf44d4a2cd21676be1118f257795544ce73f968bde6ad25e8a7f170ce309fc9f00d05f9ab91db0b95fe0a";
-  sha512.source = "4c43afd08401e00ee97e6d85246d4c72d80581c43f1bfcb40d947fe382aad9ae45e041aba6a2d63d163cf42d235df78c976b412cad07a7dfeb783848a32b76fe";
+  sha512.run = "e83d7c9ec784f25607d86c0afad9e89ccba68528ca37ec0fdee12bed5c97fb4fb7e2b3f1e63bb0f3818811eaf52a8b61cee8c7f9e853f6aec6d23dfccfd94a18";
+  sha512.doc = "f2ccccd9de5908567bbd2ad458288d16f245ac01d9bb29a1b5439e4f427262e6aebaeacbdd6ada4e63c0f59c5f35df1d9c5b90b0067c557a1e4695befd382855";
+  sha512.source = "981b75c8708cf0596ce397043776d9e469e504d0ce33d093409de735ace8e583bedfa94244abb92c7e251eed63e9f1c8c5131298f7a4d998d2e1d195f463cfc9";
   hasRunfiles = true;
 };
 "jbact" = {
@@ -21227,12 +21266,12 @@
   version = "1.30";
 };
 "jeuxcartes" = {
-  revision = 65364;
+  revision = 66195;
   stripPrefix = 0;
-  sha512.run = "05f0844f56f991d8545f127cdfee075ac5a22948649e7286b38729a9e00c9911933eb6dec9c386b9a7398cf475b1ba1a2be10c81ad9fdcceb9c5fcd09fd5f7be";
-  sha512.doc = "de0c1252e945232e7cb902b7dae2733a0559b55f8dab62879418a747cb69a2b239c514e6cf089d16c40888de8713dd31f2fe55686787f8651df991d49acee832";
+  sha512.run = "903c67e8167f31a44783cd9673264d5417134f9201fa3490812e2805f52c41a36fda21ae7ad276b9075891cac0e6211fe360b38c9928b1cf0388a0315af47f9b";
+  sha512.doc = "82946707a25ba6115739be14202c0b5e9f0369a6ab28f74571d756e6d526c9af87d3efaeb10b9cd01680609f07e68df7830854995ad66c3a1856161f8ed2b95f";
   hasRunfiles = true;
-  version = "0.2.0";
+  version = "0.2.3";
 };
 "jfmutil" = {
   revision = 60987;
@@ -21242,20 +21281,20 @@
   version = "1.3.3";
 };
 "jieeetran" = {
-  revision = 62958;
+  revision = 65642;
   stripPrefix = 0;
-  sha512.run = "3c92aeb3c8f4dca2bb7a03a5a8113223fa202a2a9a38d62bb036d57f1e9b4ff0ab0a5ef8c56d15177ee075a5825ab49eb883377e6c1345c807e19f22eb821b46";
-  sha512.doc = "002714b1e8ac29c5b997e5b56ad63c5fdc2138cfa9b208243aea9749cfa4e2be6b28e4a7bc05d65c7d89826268525739a1adca0d319e98d94b69c148501adc2c";
+  sha512.run = "79433835a06c0fe268d90ad11bfe6a9956e49284cb2ea2255c4577883f2087c0c6b823121a563cb76f666ce74265a056f0e0b470dd2542a104894adb0242d083";
+  sha512.doc = "ccdbc9aafd94956f43c7f78c93b02f067defb038ba6b9c649e38d1e0c02647c853ad391a1c2b10b60e14255b38c5d77aae9ddd260c8297e06084236c27d70073";
   hasRunfiles = true;
-  version = "0.18";
+  version = "0.19";
 };
 "jigsaw" = {
-  revision = 63937;
+  revision = 66036;
   stripPrefix = 0;
-  sha512.run = "e4126aeafbbb3153a17a20bae5d0ff32b46b3e01a45200a7273893fd4d3892588e098e7800ae4ce2e507afcb858f3045d343f0996fd406a2cd8c81ae462598af";
-  sha512.doc = "371df2db0ab8eeca347a0c7c813bacdb3d29b2775b155c23c5f46ce43ea3eeb29387a7cd1ec19fb3420535bab7e9a57a433f71abe780a3870827011465b3a857";
+  sha512.run = "1a40058ca0fffde5ab279969ad9a8ddbb84087fa03ed313f2ec027ad8cfacb60cf98251bf3c7bd09e8330d22d7b19fa29750039617450233bc53c83e42b89ce3";
+  sha512.doc = "a959a74f857ba77a33973f03a91c69286b9af2da0de594ee42e8192a5a698e0ec5b3ece1d145ab308ff67216c5ab9e4b593dcd6f2ccbc922c696aa1b32f8ac8c";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "jkmath" = {
   revision = 47109;
@@ -21280,20 +21319,20 @@
   hasRunfiles = true;
 };
 "jlreq" = {
-  revision = 65119;
+  revision = 66374;
   stripPrefix = 0;
-  sha512.run = "12be65431ecb3f1d9ed7730cb6e6004c9a625179d76835a93b6ba6742e2d499a19a4966bc2b4d2e0a0f019551204c5632d55e43ea4f384f15cf37e424edc943c";
-  sha512.doc = "b0c7a295f9712431c8746fa2b22d9722b259b6aaae66058a793bbaaea2e1e3443266a3fab230b2cbb081259ff4c5c455f9f8250acbb465fc35d3dc54a8ca4a18";
-  sha512.source = "bc506c3d6b270718b607112c420255f27e037f1e4144aac12c288321a46056cd2d4ca496395506ef55783db8c74da2f0722a5f1003b6022395e593ef9a9ad5d0";
+  sha512.run = "d70b447ecaf3ed68a2df105928e5786c4425f1bcd8b3d5bd8096671b7e261e54dc276b6fe6417a51bf79efc5ab6ccc19c8862fe7a8f5ed94ca58074f76af6cc2";
+  sha512.doc = "2bc9c67b7b41e6204669a2d2a9cfff2fe3613473a02c8b4c4475ac7f7da1cf4b7f5dca85ca175c2de0cbdeb9b128f4e2b27b97d0b6c63ae5342fdabf5b052a5a";
+  sha512.source = "5597ad2a849889242bdc697a2ae2a27b01cd41797f7b42640b127030c9f1156d7f7abe6dad4973efec459d5200db4f0518d1e0d22fff0843c1094443c80481e9";
   hasRunfiles = true;
 };
 "jlreq-deluxe" = {
-  revision = 64072;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "f728474dc481ff716f1ba6f15c3923c3dd4902869c4c137a79f5c3c6bc404adb524fddea1d7bd04ff02af81f0307e580d6e0e7f3dafc5b95e44122cf218bf4f1";
-  sha512.doc = "0214474638c6d61d901b252003ba28d98536d7726e780fe64dc3f1ad062535dd23c0f8380ec0e1b808a838ab860efba0fbe891ead42b078d402e0e18e8524bde";
+  sha512.run = "2b775106af23d7756ce113ef06e05145612075566338e2880b7af5b4dc65ea9c57b74665238f4c8a3e80faa300068f5a2be53c7d89a9a7e83b6e0dac4e450da6";
+  sha512.doc = "feb125c080513d03a67e89d64eeea9faee01f2d72db5cc3a710b09792c2af330bb6a811067ba5f819eeda10776801d91b4ee931468e732bc7ebf673dbdad4ee6";
   hasRunfiles = true;
-  version = "0.4.0";
+  version = "0.4.1";
 };
 "jmb" = {
   revision = 52718;
@@ -21381,10 +21420,10 @@
   version = "1.1";
 };
 "jpsj" = {
-  revision = 15878;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "70b0e83af5b828e6a783d888adcacc504342e2cbe255d88aaa2fc3cdda629fca8e2fec9c98c73c0673d98d396727025b0a622905c3403c2b568d67597218398e";
-  sha512.doc = "220c28ed6312c046dcb2973e2e22fd47c683460578dbf952d12d52da0aa4c21a5dc5e8195b78d743c093e05772ae1e00a45d3c221e805a452420c435f23b6a38";
+  sha512.run = "ef3fe1333e50b9032021941a5ec965e2704f324e8d354f583f70a521e6595ca8edf9742a1cfce3da6fd9fae733f38f270149769b8b74b50fc9ef2d28bc5349e4";
+  sha512.doc = "6fa1b64cdd25ffecb5a6eb4a163ed9b77e5ee3d01743346b32f636d8d455943edc69df7f602ebf27d4caf30461d2fc1e4c9e3c635dbe51b49d07b6a883f63ded";
   hasRunfiles = true;
   version = "1.2.2";
 };
@@ -21396,11 +21435,11 @@
   hasRunfiles = true;
 };
 "jsclasses" = {
-  revision = 64386;
+  revision = 66100;
   stripPrefix = 0;
-  sha512.run = "2c273a68c9019a63453b618ef729c9fbbc1e2c2b1cce8fa027514d0f10b19442b55a11c3926d21e12fbe3b886302ae78c48d1519fe10e133e2d3a3afac3c6234";
-  sha512.doc = "b1c7b1df0ba216a66840cd454e261d13aa8849666d25537051983174b2ffb46413dd4055b57bb611e41b6c99556577285aef5f9f652c52165db3d8bbf8a7bc98";
-  sha512.source = "497c43a6337f07f6ef57fd2e170fff6e27bb69e3c6b5f42ec23742c2aede421ae69bcf1d51a76863f6f0d5fe7528439ade52ac54674387c4f996ec748179633e";
+  sha512.run = "ef3f39a09c29b9a94acef7041e4c9c16d6b301c926162ef85f7ec8c3f6bfa48f6d86a9a9e2c3246430d94d49bd58a36c37912599a3454dbfaec40ffdfc8b078b";
+  sha512.doc = "9cbd3abb0eb49259c2d008096fcd76e722bae7c14af820adb296c503d6eb3de280c456e16bb40e2795203dee470ce2c598bbeea4584ee1cb2ea3cbc6eb0e7590";
+  sha512.source = "714527b297551957f27c8b33b441caf600e48783183c53ef88b038c5ed97dd2ffc0a9964a68bd4086ade1ae52a23bcdb06b51ce93e43c32fb83de43f38dc71bd";
   hasRunfiles = true;
 };
 "jslectureplanner" = {
@@ -21487,6 +21526,16 @@
   hasRunfiles = true;
   version = "0.7";
 };
+"jwjournal" = {
+  revision = 65480;
+  stripPrefix = 0;
+  deps = [
+    "einfart"
+  ];
+  sha512.run = "0f322a3af5cb47d88a2cc9ec275433e5c13e7a39bb0d1b3dd9513cbf9cf745774a676e7cb5734cc0eab330f78d973742b98287710538eccc5720c5903f534778";
+  sha512.doc = "df9e6f8b942a4d35842e18417d8624c91f4f08fcd8749b2c99513eb51b00c63517fa54c7389166bb78e0296927feba04339ae6a61de9da4281bacc5c60effe36";
+  hasRunfiles = true;
+};
 "kalendarium" = {
   revision = 48744;
   stripPrefix = 0;
@@ -21555,11 +21604,11 @@
   hasRunfiles = true;
 };
 "kaytannollista-latexia" = {
-  revision = 64278;
+  revision = 65461;
   stripPrefix = 0;
-  sha512.run = "14d0f65290b60ac0f4f2c3989893d70bbf74b4a35a38de4e313d76ee21a427348bc988b01252b9aa17d0db4a6387630e3840e01ad6e851020ee2d2a30977074c";
-  sha512.doc = "e61f5c448431f4171bb09f31f22ec36877718c9a8de3ff0cc763cc8d2643d0550a982979f9e20b2d9ac846c6e6b29932d8be054d6d9b32fbadd35b9ee0743833";
-  version = "2022.9";
+  sha512.run = "dd0c2543cb40e8b1f36f29f2be3675874ce4a51538cf54584af0393e74a0acb9674a40433256d8629ceb68acb4d2d8641e97c5f19a3a0709843837a1279a10cb";
+  sha512.doc = "35056d4df46d7a935d600ee6e670a3a3221524c8e4ed1ac6da638c0fe645bd6b2786dbc2d512558c65e6675f0c5e7ca27dd3dd83eca81ca8a1d4d8cc1a18dfca";
+  version = "2023";
 };
 "kblocks" = {
   revision = 57617;
@@ -21634,13 +21683,13 @@
   version = "3.1415";
 };
 "keyfloat" = {
-  revision = 61561;
+  revision = 65446;
   stripPrefix = 0;
-  sha512.run = "76b4cf33604e8bab362a033057a23bc499e76a6845247ba69bc9f37b9601c9fb78838d5c57268928b7d7c9458bd5c906f10ca803bfdce0c5ae5f25073c38b2a9";
-  sha512.doc = "73725614f79e736102836f4b0c4c59daaa7d4b27e978fad6ff0e8c10fbd0531c8722d970b525dc4fd45e8d951e1e4a97279d16a55f051a66a39b0d749a804198";
-  sha512.source = "4ba7353da7caaeef4d419936602d22ff1a818e31abaeb2619951e3ba6601fe70014544a800c3c2ee942d015289096defb7c490dd6d78713718bd9cc7209e424e";
+  sha512.run = "aeb72770dda420e3694b98ba4d9071e814b0fea850ca6876769c44ad4b7fb1b3873db0e2eddebfbc85b11603f301826dc5d04c9aa5d9e250c807d3ffa795de79";
+  sha512.doc = "19a7aa10ea4916fdfbbddd9e843db4b312a2bd5a24192fd980b34bdf5669dfe3dc5553089bb3fbd7a892167a9fa21a0424c7461a881fe2ab16f353b9c0216376";
+  sha512.source = "f0d8d54049cb79aa54d52b6c669104e6c9928e863d70df6dd434f6842bfee3bd653c4249732feb11237c5db88010d4ef0bae7f1238b19ffb807e33d4bfeb0573";
   hasRunfiles = true;
-  version = "2.07";
+  version = "2.08";
 };
 "keyindex" = {
   revision = 50828;
@@ -21685,13 +21734,13 @@
   version = "0.0.2";
 };
 "keyvaltable" = {
-  revision = 54677;
+  revision = 65416;
   stripPrefix = 0;
-  sha512.run = "5f3f337347df00a955dd7d7694a51ecce15027580d2264da3f580cb9ea602f6e1583f41e72cbe39a5d4ffb36640eb26cd39132967e0e5a138de8703eb1651de7";
-  sha512.doc = "7709c3ea7ad6fac4625620bc86bddeda751c6e36accf7b14b3dab2d5280c77ee4b704b2657511c4226efaffc7db79cb8eea068566ae099354920a522975dbef5";
-  sha512.source = "aeab384eab5a414cdee5162ccfea90284e9ccaa96129a2fcd77059abcdf2039350a8f6e17f4d5a7ea8759cf414daa620d12eb85ac42523ecfca70e6424e5df6c";
+  sha512.run = "733d7e2f07b07b1b7f0538f54c0dce33a706210203c9aaeb203c7c4129859d025d20a1afc973f5320102c89bcac78547213707802726367311625ab89566492b";
+  sha512.doc = "7b3cf84548c2a8d997b8cb5ff3cdf77a40ff309220fb6d109fcb8215e78c8b93f44e495f3da7d92a3e144c1635473fe8780cc45acd9e978f12faa7dcbbff9893";
+  sha512.source = "0bed97c004ebb8aa8af13d226c10fa01e00459534a061d5bb9500e7d5376fd379f67310cb169e2c1fbcc0e07f4e5c35d096ef1ab65b92a1b78481fbd7e90e1b0";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.3";
 };
 "kfupm-math-exam" = {
   revision = 63977;
@@ -21839,16 +21888,16 @@
   version = "0.9.2";
 };
 "kotex-oblivoir" = {
-  revision = 64928;
+  revision = 66516;
   stripPrefix = 0;
   deps = [
     "kotex-utf"
     "memoir"
   ];
-  sha512.run = "17a5f52990cfdf57fdc8ffdc3fc417a15ab52e21296a95b6b1698166ac215937bc26db8aeac7b38459cdf3411480045af85aec491884cd89f00896916a7702e0";
-  sha512.doc = "5ef9480a78f216dcf11fe06d8766ba66817a86faa7d0003af77a1fe1079f5e8a8c527bcd333e5fe02153f6ca0b0a82eaa206eb1c5bb7b9517b9ef2865faadc4b";
+  sha512.run = "29d7c6a98c086b7e3b9b857151250bc9e5e1e28b52f5215b61a0b30fe96278d0571a117d245a40e141e7724641a4d5e9439ca960b6888c07f2d8347b67ccae05";
+  sha512.doc = "8ac08af766c6c4b021aef5d9ea7f179f444163b954fc26eeef502e7dd1a99e44952efe91b5129084a1b2606345c854c367875601d6a59655c5e79c189e6ad376";
   hasRunfiles = true;
-  version = "3.1.5.1";
+  version = "3.2.1";
 };
 "kotex-plain" = {
   revision = 63689;
@@ -21886,20 +21935,20 @@
   hasRunfiles = true;
 };
 "kpfonts" = {
-  revision = 64440;
+  revision = 65583;
   stripPrefix = 0;
-  sha512.run = "58ca62b61b8c9498ed3924d775fb19b3e69c5681b2351caccb1b8076fa9a04911d30f7de3fe46e088efe7c56ad19dfe6d3a6d3a835d043f45668d0b0f3a3bb4c";
-  sha512.doc = "539ef193233ea4e80cd49f0ff759742609870940b13cb9fce24c6becc9496e027d1dd0c8a40b6f941e931b3ae9a71f80e08bd6ef49c8b4fd4b34027369f7d527";
+  sha512.run = "d4d035c30acd5d5731a16e144cb45df6a3ce12c06d290f50c9e721ac67aa4808eade4eeae4c91a5093e29c64f91ec4d7a8d65d42307238c472d87d22eb5298c0";
+  sha512.doc = "d030abf78988bc21f0e4afc06f0fda95339864036883877f5ceec11210640fcea8cd0ba54eb4d7b7dcc33b9eee8a0b2593739b4e2260b9db6e23cd480861e79d";
   hasRunfiles = true;
-  version = "3.34";
+  version = "3.35";
 };
 "kpfonts-otf" = {
-  revision = 65082;
+  revision = 65560;
   stripPrefix = 0;
-  sha512.run = "0b5e68f9861c8f78c291290354292c5406f79197f9f27558ef0a1521637e823ba54cd7eeadcde184ecb9b744f6628091956e1c87629e9244a09afd83bc920120";
-  sha512.doc = "0463287e8da8131e8929585dd3ca746c75775a958089efe07a5519e2d44752d3debb35d747cc34a3425a220a8c3e724845d513027b2f1147012cccec66ed038d";
+  sha512.run = "f78d001ca2fff4367338e5b8bfc2adc933daac36168bfa88523cf03379ddf2da12d3c1d92bb3feaeab2eb4fe090aef691ba76c93b5aeb53d4a766fd2366a3556";
+  sha512.doc = "61be2d97b486e1dc330f3e0e16ca1b33c674afad63ddc711996d8126d9157851a2158f0c31e96d1bfb8d968ee5ca73f066714645af8374c6bffe3f8c5442daa3";
   hasRunfiles = true;
-  version = "0.47";
+  version = "0.48";
 };
 "ksfh_nat" = {
   revision = 24825;
@@ -22033,54 +22082,54 @@
   version = "1.1";
 };
 "l3backend" = {
-  revision = 64836;
+  revision = 65573;
   stripPrefix = 0;
-  sha512.run = "d7e14bec575dfb9a728b840703195a33bbcec51d37c6a2a786161f1201c056645b40e066e38d01972e423d62aafa4e8b54aefc98b56f91483daf31288434a592";
-  sha512.doc = "9b28dceb7e2d68ac600b2369450791e5f9d51b8c33d5d6eaa82d37eae31bc54e1cc5e01c25bcf45800b95a13654f44af4dfebbb4feec0ff7dfaa3de96f15d402";
-  sha512.source = "8caf27244981e3da1c99dc4be72780ff5c0e8d24e11417049f352c96001be850f937b76b182a8cd519275cf89723d519b2a5ec6573295fd03132ff020b208888";
+  sha512.run = "adeed96dee5075c022752def063e1602dcc59d30ff032d3da5d51fdc57fd21c881eff95bfb9c027c8edd683a1e33030c72d3dac03fc62d7f2c32f782618ef6ba";
+  sha512.doc = "9b2dbdd99c36f9003dca7d28d578fbdc12d40fdf861c04dc579f9b81ab3dba4c7ba05143ff0b024b422c4d70c068ebecbc76ce1e03edb233e248dae3d5962d74";
+  sha512.source = "fcdc5cd944e68405fed8fcb4e97d5c855de67b00e352f99fe810e5bb61cda8ac0b1c25e7e07596ddc8528177b1277bbf1deecd370a31235edc94e8a0b2235ab8";
   hasRunfiles = true;
 };
 "l3build" = {
-  revision = 64987;
+  revision = 66476;
   deps = [
     "luatex"
   ];
-  sha512.run = "25d5696ec1f33dcb90be757a1b0fe16950c82f1db243b1490ed24b6acd94dac836b163e64f1279a66dbd7496cb60072cd9e6ad631cbb2ff532e8d51cb44fabbc";
-  sha512.doc = "0293c819fad182fdb6928ec2b7a9c3daa20ca53f9e243bea80951645a9ed0f2f0daca095c22dcaca55bb43fff52cca4dff76237d87eff25e6aa0a36215789d25";
-  sha512.source = "051e6b948ebb9f02581bfbe22f07b12148b9dcb0b779ef98deec8c0f613b77b11c8ae9c32c8c59f50ca5cd104e13f2216b979d636867d79db4044b0c7ef2be1c";
+  sha512.run = "448eb99216ab32847ca682083ec700ef04851f3a680b67b6e2abcb7eb5e0b1d705260776f23073e5e8c43ff0dac9bfe343a6d271aaa5b99392c0603538f23bac";
+  sha512.doc = "a1b2a775a1b12937afe34c4843aa6374f6e2bfe3e29004bb2b05f16d81f440921503c6373f7a44f5c72fa1185c7d0e7d06a7a2c5113986fc6b35d66b4b6d6f49";
+  sha512.source = "35f6b8a5c72b5e4d7e019ec7d4954fef929f3958dc0667f554728034c28f2aab63df3c82f5d2101502906534ee02f51a6fbc1e88b49f8da8c017355c9cd7fdb2";
   hasRunfiles = true;
 };
 "l3experimental" = {
-  revision = 63089;
+  revision = 65621;
   stripPrefix = 0;
   deps = [
     "l3kernel"
   ];
-  sha512.run = "aa8f499d84578afcd72e29a48e8c5ff337d2b1acb4cbf3b4b3754925d60e2bf1f2003e82bafc859701c295d61f572305135bb5d078c194fd0d747059ac69f2ea";
-  sha512.doc = "71236121e4ca1395e433802a627aae1689f9b0aa55413d87317a0e9c0d0f9cf0ddd47bb7509160f0956d153b6ef9819362fbb95344e3ccb9fa1c8733ac4a427f";
-  sha512.source = "8aea8b5a80af397443bf3d25c489a02622a63ddd5efbec9335952af310f9888c25e0a18fbdc3694927caf38af63f89bc518e72927fee6343fba48805b25b90ea";
+  sha512.run = "1074091d77bc323d108e27cb08592c895fae20f4cb563734dd69701f1a4ac215575af9425db9eec98e420317325adad434c21dbed50063036715b95d67050c90";
+  sha512.doc = "8b954e90f323646a289de57aa6c1a01c25a948b42d70d439c9921437b01fa489a01c08e50bf0601ee4fa12b32f8b60c64af82cf6a4ac9cd8cefb6ef4b4a22c70";
+  sha512.source = "aa5352e2c74e191baf954acdcbd22aef14a3c7aefef3acef6dbfabf206ed30d3102c29448f4401aa89c820172fb5b892a3af537f4ec605fb0b8e159b61131cbc";
   hasRunfiles = true;
 };
 "l3kernel" = {
-  revision = 65299;
+  revision = 66099;
   stripPrefix = 0;
   deps = [
     "l3backend"
   ];
-  sha512.run = "9cbcf410a7d6aaf5477805feb48e19fd751e418718c261a4cea1305322dc8ac7eb6a14af9337de0393b5c6aa49b6496116b9e10c0a1338511aedb307d196f6b2";
-  sha512.doc = "da9d55dbb019ac88b891ba276c27af91a4747e4c8289804a5fdb52555c81c6a293eaa0adef12157ce4147cce20841902090aed8e2dd58084ecedf1d051b55f83";
-  sha512.source = "37be0d6c2adea6e62c2b24eff707ecb261e7ffed0d9e774ed43095aaadf859fe7b96d992cd5b20870a14737327c903d8b3d80b2983fce730d7ed168ef939ac08";
+  sha512.run = "820486c9e558687307d46b7014a8465c1c64fc7ab6826ad1af3905e43923a2ccc1ab9f49eb788ef789ac066555c459d025d6e20053d3e193ac7472b2c2ae309f";
+  sha512.doc = "0bce2a717b743fcf28063fa5f3f67dad352060bebfce10d4dc82d3c2b691d63d3511a8f216099f8f3ef46b47d02f567cbe9aafb7451052282ae7b0abe1a1bb49";
+  sha512.source = "6b5e60555640e0f568013e28ede3c8b914f22bb623554361a4cc68140b393234ba6cdbe0defb95e81858c0f8dbee43eaaa0e7d863a5794453f3a810c3cafb45e";
   hasRunfiles = true;
 };
 "l3packages" = {
-  revision = 65300;
+  revision = 65722;
   stripPrefix = 0;
   deps = [
     "l3kernel"
   ];
-  sha512.run = "b163a5f7eccdd650faad6ed6d2539f54d7343f9f11335e54cbedddfad9b1ba06899365583ec44c59bb7b67efe8a2f507b8217f52a3f65d194967981521b39195";
-  sha512.doc = "c39241a45eac0e1da5be990bee94b99547b22bec1469aba31a999fadff334bbc701f38ba47b01300da578eadc3778af75c77d3180c970e5d0c22de9a09be2692";
-  sha512.source = "40f19b6e8ef60aead350679a8451b62ec2f833b5413fbc96c706bbd33a020652ed5fcd86b8da6b9b5ee8c812e3aa07371e0e63c7ece51bc21c97e562a5b27fff";
+  sha512.run = "39204e9cd356a5202dddad329cefa5bb47d11e6553609fbcf79a878c524b8f67e868e027015e304fb626d5bb953a69743390174f20f489302682e08a512c26f0";
+  sha512.doc = "3ece8153e345f4678cf5e4c05200033a64fc7e0d9e80d42ad8f32604f8b78a888ab86a98a8c68144855773d96650698af82af3be77fc7523d7cb9ec36a9c5d9a";
+  sha512.source = "8a113832ec4aab128ef471c496a86bde774c9b86f77beef04b8eed03ee8c78c57004786d4606a67e5bfdccdfd41fcf7875fc96f2e03e59b6f0884cf5e03a6644";
   hasRunfiles = true;
 };
 "labbook" = {
@@ -22169,29 +22218,29 @@
   version = "0.2";
 };
 "langnames" = {
-  revision = 64376;
+  revision = 65502;
   stripPrefix = 0;
-  sha512.run = "9e6dd4b04515e0fa8bc3cfb63df30227e457b8392abc45d2b79fc76f81d1bf133a6f26ad3b27cb6eddc721df3114ab8d3ae60fb428ba661d727c99d2f2eb16d8";
-  sha512.doc = "ccdb2e217ec6d3c12ceb1347f3183da793b18fe2597a5142d8adf469af3019a22fcc83f1af6a3443efb21000ff0ba2df93c42c5497379e8b18a5a25e42b5efdb";
-  sha512.source = "1dedbe49ac091c80d49582acbb8a26040696ba52dcb7fa9dc8ad3cbc81017a925e328dec20ca95b5f89fbbebd202b53bdae3d10fea328668807c60c90e40330c";
+  sha512.run = "34942812d0c0a59d9e0515e58dc6517a3e4b9fcbf75a338925f2913287d712b9975aa2c48a5f65d2453d5d2b5798f506e8b5bbcb6351ab92cd7a77a07804e94a";
+  sha512.doc = "0f3d6dc9fcff40e3bbf8d9217629b5c587dd5cca03efa840611d907bc2859f88515e9f4a052fe229d9fbdd3aa2c2d5905a5cfe818b09897688f3e528d12c0267";
+  sha512.source = "0777e5a79ac5dd94ac8a9c7191f877408c5d00de252ee95015e8b8918fc94dd29877f10ee110c082df2309d4c0f057fee6a5c50568259d8f93ef7f55b5b5609e";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1";
 };
 "langsci" = {
-  revision = 62061;
+  revision = 65793;
   stripPrefix = 0;
-  sha512.run = "479c4edce9a18fbfc8ce4ff70c88aa2e1703e8eaba793077636d2f0d78879859391d319494034dfc33c4519f44ae49bbc648dd6aae36642a711334af389fee6b";
-  sha512.doc = "2d397c882f03e7fe130cc42bc7ac2f0b9ad33175469256ebac36ad6e67ab4d3fc49acf3d68736d17dd0fc2e4d527a5d3826a0df5d7dc06a76105734be25c727c";
+  sha512.run = "88f33199c97f3f8a6a8ce174caea01f299ecf7230324d5739bf02d7e5b42db36736d1c17730a2f27f6d114490b5c1770a6da368ec1dd983791b8a67962136fa7";
+  sha512.doc = "b7b18248eb59015cdbc489b1ff9c992493e5a4453b4703223586367787c5648c640bc8946d25e665acf88ac376953f2e22f61cedc9ba53d9d8e4a47ce89e9b33";
   hasRunfiles = true;
 };
 "langsci-avm" = {
-  revision = 55846;
+  revision = 66030;
   stripPrefix = 0;
-  sha512.run = "45e13bfd02059c610e29e486effc0fd6b2b9f3c6ab2ac12dc52de45f8ac564215141450619c6d10021f649114c9faf84ff7b6ccfd5c2ea29d0cefce188b71615";
-  sha512.doc = "d1430be2082f046538d035ed3aecd3be47694ed251a51e542a26b2206686d08594d443107fbb019732d06152d97724359b8e42a3be4bdcdf6ec778e80116df9a";
-  sha512.source = "4f7432db385da2317e11a7c41d90d06f47ca0867897db38c14f91a138d6b671fe808800eea40736266cb6b49c1f7ae30c62be84af64cfb47d986672bb9a27a16";
+  sha512.run = "8ad343adc02963f16994f9e2aaef7cd1f65335493779f78b2074b9fd633cdc1503a1f0132af5f883bf922c7ac3bfc0e31af498dc374fb2bb6b1a863f94bf1a76";
+  sha512.doc = "fe54e7fc550904ae835d49bc628a99361cbe08b979607992dc134157e466a7afdde35a01e2664a0f7f8ef822f00b1a6726aedbee49c2597f19d8b8ada8903591";
+  sha512.source = "d6f6e468c729715295c1f4f9d9a784cc5924a2a535c108bdbabd2e4dfefe6458a2ddf66883dfe91db8b68e8dfb72d77b3fbc05d2d07c2b22cdfc079ad2f519bb";
   hasRunfiles = true;
-  version = "0.2.1";
+  version = "0.3.0";
 };
 "lapdf" = {
   revision = 23806;
@@ -22211,13 +22260,13 @@
   version = "0.1";
 };
 "lastpage" = {
-  revision = 60414;
+  revision = 66465;
   stripPrefix = 0;
-  sha512.run = "0184a80cc33e2b067c97bc9be2bed20881d841f2ae1213fa48ae5b67c16855217a166f4c35a1dcb16fac5cbf0aa807c5a5fc7ada7a5ccbf3af77777719b14711";
-  sha512.doc = "ac28e1fb9ae05bcb78e825356ba6be73b52c5f06926c446193be9af8ba7e8e7adee7c51284a797d9872e66137bf96cb2ef3dba41cc9624d25155a1ad069f5307";
-  sha512.source = "d3ef6af7acd8542a3196b24a9e431907a56a46e96e5d1245ead73cce8b00addddad07acf9e9db656f62e9d2745d557b79da696a6562da2c62f975a9a5ade0f2d";
+  sha512.run = "481f889f29cd7111d4696ba5a5d7547bf76270bc269a55f039d6c14ac43ec5168f8876288c22aa1282d74db32c39f52250aed23b904a1a6244af0e4061df8a9d";
+  sha512.doc = "86282d58c1d12cb32a73005bc17eaeb2c92bc378981a9a0225bae3e9689324aa0f3b705aae774eab1b1a7ed262965a241f336ef58a69bf395bc8d09fffa4cbc0";
+  sha512.source = "82cd6613a3d12677d8303983a42cb55dbead822c6b001d7c2a76effb59a2ef5c9bd9898652eee0aea9213d2ef16739bfed520329c356974800c4893863f15569";
   hasRunfiles = true;
-  version = "1.2n";
+  version = "2.0a";
 };
 "latex" = {
   revision = 65161;
@@ -22244,13 +22293,13 @@
   version = "2023-05-01_pre-release_0";
 };
 "latex-base-dev" = {
-  revision = 65180;
+  revision = 66516;
   stripPrefix = 0;
-  sha512.run = "b10b12af6d6f2f062f37dc9a24fb1df7079816306abe383dfd82292307879628d37cca997e002ffcc6a032ecafad8d2326b21180bda8fc28b5485e39c2883d51";
-  sha512.doc = "83c394e53ac6b7f3cab81210ab92820b5fea969c8d2f5463f8cbfbe1308fd5103dd14a81965da720af0f3ac62966bc427dd7db7220db74cc67e9f88e7c4e55da";
-  sha512.source = "48f09833a75dbad355e1fdb3cc63b173471d54613b16efff3661efa6666e5dd10c3180b44cfd9bd11e990e35bc8410cb9a89571e73ed2061eb3c39a43f4bb423";
+  sha512.run = "894c02aa5d251588d11d4598bce8a824b443e3f00ea6a894f8df0810c2cf2becc06cfa823cd18a0fc9f508415e852e0e7b5558d7738ae33bffd9592980ffaa95";
+  sha512.doc = "9602fb4c57701bf649796964675a7835de5525b876e9e2dfe76a8db9e09bc5dc239380c1bee4e80a514f02b1a0172d13dd8474c54ecf8b855924b6b65555b0cd";
+  sha512.source = "ab535b52c57dc9bedaacf5b4dc54e31e4338f87f31e855f28a6161407cd381507dd8c1638a4aa850cdf67e5bac746ad77f7b119243e07d06a95da95d4bd31204";
   hasRunfiles = true;
-  version = "2023-06-01_pre-release_1";
+  version = "2023-06-01_pre-release_2";
 };
 "latex-bin" = {
   revision = 62387;
@@ -22392,13 +22441,13 @@
   hasRunfiles = true;
 };
 "latex-lab-dev" = {
-  revision = 64899;
+  revision = 66516;
   stripPrefix = 0;
-  sha512.run = "901815c64860b5e599db95fbe58bc2268cb3fd9d7ea95e493b78c665f966172285fdd3186968101e2e4669e7c2e160a706fb4c0223523621b6eb069f2ed30a49";
-  sha512.doc = "c317dc1a9424d8769039ef6ab4f6083c096a9b6a10bfe4fd7776e807a41e5201c948a565502ddc4cd34bdf4135390ce0793357ece0afbc06c0d2e1b44ce56463";
-  sha512.source = "b58c16d10e49208571021990af3058a0997d21e4595a49e95bcad8942483b06bcdfec714d49ea63f777ed338e905e8d07f664a71a33d4732b4b7cc185ad778e6";
+  sha512.run = "1832e440ed5b6d6f1dd2a9e143095b68062593bd15ace928d9dd74f2e0aae90cc285c4313651dafcfa21d4a897cc2784f0eaf1e43d82bed2c6d28ccd863fe609";
+  sha512.doc = "e08b6311af8aded0f6e3f2bd6ab13459057692adf17351166aee16b88490a70e970bf22b981700a0b1952e46c0c8028fb622ba0575fa9d872f5d74f10764d8f6";
+  sha512.source = "551dfbb6613ce4f268948ec7e432bca20d4e4cc2ba5c50f4c10e4c3192d5f9837b26a05268b559b593b6141a41529b014a2d545965dd71adce5fc1cd5f758ee5";
   hasRunfiles = true;
-  version = "2023-05-01_pre-release_0";
+  version = "2023-06-01_pre-release_2";
 };
 "latex-make" = {
   revision = 60874;
@@ -22475,10 +22524,10 @@
   sha512.doc = "a972860f65d763c6fb45e9726e5dd7b8234509b90634f45b8b25e090da92d0ac577bf8b33ea7b0a0f91e4e5639bf62c07086dc36708ae697c1e16e644acc83f0";
 };
 "latex2e-help-texinfo" = {
-  revision = 61750;
+  revision = 65552;
   stripPrefix = 0;
-  sha512.run = "e6d91ee9cf4503166a49038903eacee609a1e2c494f945d39aa60c1b530709de70155fed1e7d17e815363e7be74afbc7472dbd6e02e6286e5d467e358c10318b";
-  sha512.doc = "56b6f667484858ee4da9e3ab6e01e5d3f2169d512a8b4cd897114cdbd4b6737ae39726dcdaa2ee1e35265e4753bdbb3cbe04fe834fb7eb24a4419d818a1fb192";
+  sha512.run = "34b91b19e1b71b1df6d0f57dda4d6976a93b16afac259656c9d4e331b0c23a9b0550563c1a10dd7a95640e3740b3b15597c1023f6c2721bf2a64800466b9cd09";
+  sha512.doc = "d4584d9259f3c1867e7445d4a219e4decc5ba3b305e20d1e780180a47fbad8df4d55552726d8288e78c8388823a2b652b81080c8139b00f4ea3ca10e5789375b";
 };
 "latex2e-help-texinfo-fr" = {
   revision = 64228;
@@ -22487,10 +22536,10 @@
   sha512.doc = "52f6aea9ac2393a73d7dc7ce8ad4d6f08e0a224397199d5def97412502026717e8cb966552368899c50718a1049b1ad4610d2d23150a45bee55cc2c776003db7";
 };
 "latex2e-help-texinfo-spanish" = {
-  revision = 61937;
+  revision = 65614;
   stripPrefix = 0;
-  sha512.run = "30d0f3b0d2f7ce86b7c6e2bc69034a7776403951aed97e0a3d9bf3c5ed0b22e7a448153e40145b429c72a9b8f5908fbd70a683f60fa98339349d0779e9329d6a";
-  sha512.doc = "52960e408e53170648aa3f8978ad0a4cd6e65657e3491f249006114883f7d5f06ef339aa8ce6035815c5d20da1e4d0fbcbd5192c525fe9ac92631642dafae2ee";
+  sha512.run = "870c8f3af54ac42df5f4958669cf730cd16084c985f0b377c5aba9d526b8f7be14b367791d2c0a1f1a715739390ab63777ff2a92e7f9aad09897c8bbecff495e";
+  sha512.doc = "4c751a7305e089dab61bf991436ab1e612cfca0d17e416e21d659c04ef32eeb2d14dbeb09d63649a2b79f842766a218c43ae2c6fbeeba5549f039f991049a79d";
 };
 "latex2man" = {
   revision = 64477;
@@ -22634,18 +22683,18 @@
   hasRunfiles = true;
 };
 "latexindent" = {
-  revision = 65208;
-  sha512.run = "51301d39d7cd49aa7252b6dad2302afe8ffec8dbed19dd26a067e6d1c7abe8cf5daf60aff82f5ca1adcd98ba408d26c93d0bd3e1027b22f17c6cbe877e4df950";
-  sha512.doc = "0cfc89380700142becdd82407f47c6cbee592886572134996c971ba7bec676e33837f80efe9eb2776c18bceab287787acb0f1847b2eca4940c7f201372011c86";
+  revision = 65940;
+  sha512.run = "67b0909afd4abb1f44a83af8d6b907ea63ea2ea4ffed4f5a92935a0612d255c819338f1accf656a9127f41c6c55f7669262e70c7c81f7b954b60d504308c8167";
+  sha512.doc = "989e20858583d043d6cc050ce05028ec16bd7295fe9b126a2cfe780f20bd361d154cb24056484a70ad719305fff0ff3852e482347cbeb8434f2ee3d4d57be762";
   hasRunfiles = true;
-  version = "3.19.1";
+  version = "3.20.3";
 };
 "latexmk" = {
-  revision = 65054;
-  sha512.run = "b6f63097bd69dbbb4bdc519b85d2848ee02db19ed4c02c6404a9458ed58503461bcb32b902dc7b54c481f75744a5df8e8b8c241f0ef3d463e1996be56c68f1d6";
-  sha512.doc = "0aeee08fd576578e0275a3db074b9fb4b462f45ebaddcca4234822344df73dcfd7c121b9769a62df14e168163b3b11c28de7917793fdba62e637ffa8558f1fd3";
+  revision = 65485;
+  sha512.run = "c00227344e815dd558173662022045e2d6d2bf626235aa2b12e637da5ecfe069b4bf74d243eda7d33d0fb9d7c98e67fc33b2a6735d87bae17f22f5e81b1f2710";
+  sha512.doc = "4daa3f455c7396aaff4c7ad0322787621fb91f247cf8da95dd65aebc4d09f114ef226b65c701807b6f4d66777026be2d65ff10745d96832658139f33b315069b";
   hasRunfiles = true;
-  version = "4.78";
+  version = "4.79";
 };
 "latexmp" = {
   revision = 55643;
@@ -22656,11 +22705,11 @@
   version = "1.2.1";
 };
 "latexpand" = {
-  revision = 53109;
-  sha512.run = "ff362aea91f703759157dc810067d39d0d8fbdfd031e993c1a6c019a55d50a3e11745ab72c8abc7bd615f79cbe589cb0bd7bf82c147d12d18d3483ef95dcf4ba";
-  sha512.doc = "63181837edaf48a5bcd842039579e3efad999cf2db1cc3da8184b59f359db0ed7f50a9c706a44f32fd0642438020256283434b95a29d64b184ddd5ca27895282";
+  revision = 66229;
+  sha512.run = "60b6e87b06229abb8e88f4a94a99146b20b2613ddcf74d81d7991fb7fa30f15ae0011d66b191c77d329cf28ded682be9542e37bedf7771f47a884685dc1238a3";
+  sha512.doc = "1f028cec23d8dbdeb098b7025c38159da5a883fd03712a7ebb85bf794744442cacfcf6452bb171a47aeb2fce82f5e4b5837d99413ee515e565b37440338f3747";
   hasRunfiles = true;
-  version = "1.6";
+  version = "1.7.2";
 };
 "latino-sine-flexione" = {
   revision = 53485;
@@ -22775,13 +22824,13 @@
   version = "2.1a";
 };
 "lebhart" = {
-  revision = 64280;
+  revision = 65475;
   stripPrefix = 0;
   deps = [
     "colorist"
   ];
-  sha512.run = "4b1411cfb2cef9639554ef01af946a53d49ae429649af78a9213a79f695d0014cb3c0ef9cb13c3d0f85e0286e27b5ba214ae85ba6f2c94a32655131e4898ddb8";
-  sha512.doc = "06c091c1a7c05c9c8f3de49b1bb0499e7f95273fd048de20aa59cf67bdd100d623735e8c214e81fe4b2ecbc3ef1dc83911789bd4a6f008baf62bfb12233642d1";
+  sha512.run = "9633bac627299b169929f63a2ce5f4e2595bbf58afbc3b6a4bf4bc2ee605242caa8825f0a22ed91b26ba38cd3ba76da527282bc0a8c30a2ffb41bf2ba10589d6";
+  sha512.doc = "5d99e3c77bc95606cc92443d68e119cca9cc6fddd5c0c6bafaa3bf6bb7a647fdadca3ce363847804fef6da247344ca8037f28227dcaa7cccd45368018eeff09e";
   hasRunfiles = true;
 };
 "lecturer" = {
@@ -22851,13 +22900,13 @@
   version = "1.0a";
 };
 "letgut" = {
-  revision = 64618;
+  revision = 65548;
   stripPrefix = 0;
-  sha512.run = "264325a2877ea88c0fda8ad6c0a2e01b0be934a2984edefa332207e056754bb7b04d413613f477c466a194f528fa3d8b0da71fa8b37ae7da5885a8125ebc208b";
-  sha512.doc = "af9f93877b4f3518a7ace027bf0fb4c348725fd8deb73c1249683bb5952f33d7eaef71341be10299cceaf1e14b64d3abed150d29349c472e2ba5af016e883415";
-  sha512.source = "0afd93f00f1fbf0acf7e9f7e61a26ed68058d01d7d185b93e8557070f4804d1968d57ed066b4584356ca1a7cfb9c0af7436893e0fbcbee2fb9ba61c4f057e12e";
+  sha512.run = "848b1c2df001f47239ddb87286baaad56e81b9069d9496bcb6ab7cbedf362f2bfe04dfbc313db4b7bcf4d4b9095a5dc591a0455bba7d815a4b8d58b7308d4277";
+  sha512.doc = "c5ee6f66c2fbc13c85a239f74713b2e9aa7bb0b0d7bfc7c65f118ff5f5dc3561dfe4c1907f1e51bca11eb747491af8639559e1cb0dcf49730371a746813843c1";
+  sha512.source = "a64b94d669315e968fdcdcd43a71d0c3f85767d2c83d121a3997c113f114a867ebc5cc5bbb406234b5d63c21c294030cd48491a3199c1a992cb0ad2cbea17dd3";
   hasRunfiles = true;
-  version = "0.9.4";
+  version = "0.9.6";
 };
 "letltxmacro" = {
   revision = 53022;
@@ -23122,11 +23171,11 @@
   version = "2.0";
 };
 "light-latex-make" = {
-  revision = 60558;
-  sha512.run = "10ebf02409748bfcd1f7d2a202f22eafc309ae8bf0633da7b0fbad84eef7e94cad6f716085e953205b7f6aeefc78ea9a52fd5459582f4fcdaab9020af81d965f";
-  sha512.doc = "9d7c6c8c11f93fe9019e593d6b63983e7b5235c6270d8940e5de6352c31586bf4afb81cd38b9b0c769d26058b150864c6a19f133fbb1a6249416266f03d07dc1";
+  revision = 66474;
+  sha512.run = "e069afa8933cf7389014409342159462d2f04fed07cb9857bbaa828ae7752e89a2c21bf9814cee4d0a7763045986761f41cd92fd0bdf1b697815a37212832a16";
+  sha512.doc = "53b2edb93b66c7addbbb4c8bb98ad7a9da4ca38ad33ccd8d5df38281bcb86ab6ea16aeb3babc3d0d18f8e355d5c678caf82f7bf3eaebd927a669e04274e4d5ab";
   hasRunfiles = true;
-  version = "1.1.0";
+  version = "1.2.0";
 };
 "ligtype" = {
   revision = 63577;
@@ -23171,12 +23220,12 @@
   hasRunfiles = true;
 };
 "linebreaker" = {
-  revision = 62663;
+  revision = 66465;
   stripPrefix = 0;
-  sha512.run = "5c23be73c54a74967ed9b78128f74d0fdd844d97c8df6fee9bdadee99b7003268f66810250cec9ddfcd959432af33f8b28a57ffcde123d6528f896dcb08d0f60";
-  sha512.doc = "1378d9be7847d384a1397ae93f285b2f5f44c88393ffbe142725bec7d5dc2dfab96a37e96f6332ffc53be99527f4e208d4f85894a717bd19f414195f6af5c2dc";
+  sha512.run = "013d648a48d9e970ac1514c8c3443be99d55ea252bbd817955bdbd800a4e9cb92cd44d8b8ece0564c43c9f20b0f7766d06f16f6a30ca6516c6efc89be0df4767";
+  sha512.doc = "c839ddc727b1397c6cc07171a01c6877f6a5da526095149239abd314317178ebd8d4ff9f35a7418177d80338bcc149800b1e68d2e552763a0f0781d67dd91733";
   hasRunfiles = true;
-  version = "0.1a";
+  version = "0.1b";
 };
 "linegoal" = {
   revision = 21523;
@@ -23188,12 +23237,12 @@
   version = "2.9";
 };
 "lineno" = {
-  revision = 65204;
+  revision = 65586;
   stripPrefix = 0;
-  sha512.run = "e4131aa47c2ba99e34addbd4620117df16f54390b3a8d5d612f0cc75fd2e332ff8f593cbf42de0c7652b34ffca58801ff9dbb1df0b421a67ed0dc4f043d471c4";
-  sha512.doc = "80744cfe64b2260e19459a85b4a4cd6aa22b7be63a7a3af49d12ca6683bee079934cd89550780282ab9d8686fe7f4e47346aa945aafe5e545a2b55e0b8a79932";
+  sha512.run = "c1a1ed8480634176c2b375550ddac8d50581d3d3bbd93c98ac9ede07b6289937462d99d35b59cad9bd11f64f14fbefd10043027443c7a8d8e65d370e9bd44dbc";
+  sha512.doc = "9bd671d949d10e3b5170ac3b2afaa9cd42639ccbe152e34a1717d881a200da290c63a7edf7832f88cbd53be700fb7e668582002e1da9f0bf934cfd5991887629";
   hasRunfiles = true;
-  version = "5.0";
+  version = "5.1";
 };
 "ling-macros" = {
   revision = 42268;
@@ -23267,13 +23316,13 @@
   version = "1.2";
 };
 "listings" = {
-  revision = 55265;
+  revision = 66233;
   stripPrefix = 0;
-  sha512.run = "b9e3dc1a3394305803007927e2b9d446801d59bb7b8a62d4fa757b7d42b56c27dcf9ebaf6ee1fb1e7d8e437182df9fbbbcbd7ceb8f42db7d1999cbcd6b9d6f6e";
-  sha512.doc = "0a19a7148ec9f902e7eccb3d65724db899e030d326dd0291ed9fd15a540dcf4e3e61a15576fbb16ebb6736751b484356aa78785108aae44f866de97f56d34b09";
-  sha512.source = "be76355265cfb208ca069d79ae598fd317b6fe3cc1d81f0ce02e4154e3c03c2b298ec91e8e95cede3a8bf301ae1b6156cb42740e38e138c66b451f561ea49073";
+  sha512.run = "47e219c8499ce2928125319d53e996ff51bc3c7ff2356f631fcaca5e3329914309b929aeb11cf222a9024b82a9348f187f4a8119c7d8c5688d85b147dc4ce2ce";
+  sha512.doc = "1b0fde220877fe45313ea5083d986223006226a63a23c2463643eb7f5b66b8df6f66d8fc54d4990eb7fcf87babddc62af7bd21ea3d57e73cdf171742c127ae8c";
+  sha512.source = "0bd38d23ecb65ced94f18360c96323916b86ce9b503fe547dc7b490dbd37379bb1744b2f1b56288cd39a1513fdc264d7bdd33862e1a29be747b825e7fd77d7df";
   hasRunfiles = true;
-  version = "1.8d";
+  version = "1.9";
 };
 "listings-ext" = {
   revision = 29349;
@@ -23327,10 +23376,10 @@
   version = "0.2";
 };
 "lithuanian" = {
-  revision = 46039;
+  revision = 66465;
   stripPrefix = 0;
-  sha512.run = "228fa0f588bb0293778a71a910401575e20aaa8a184d54d51dcf1bebc8bb6b0c0ea81cb1d3e0f2d36b6a0abf830dbd328caa6053fca7f40a83bb292f76b83918";
-  sha512.doc = "e4b01bf2174854d95f348caeb5e5b88ec436420178eb06a78cb9157bad23bcd34584e9bde451e3963f4de59e66162820f9487ca4d166b2bd898b2cef17e63ee4";
+  sha512.run = "86fd543339a902b21d2ec045aa3c0844aca91c14223b03b5cbfe7d612f40dafdd275941ffcfd37d77df5e83abeb36af0a64f6f78de4c3b3fb21129d76a9230ee";
+  sha512.doc = "d26f2732a5da9c320ce359de1b9263969b4ba8b2fa155e01014d12348b916c16e38e6ac0a94ade037a6756e07c0cd03b17686d7073b4dfcac1e9befeac43c1b2";
   hasRunfiles = true;
 };
 "liturg" = {
@@ -23538,6 +23587,14 @@
   hasRunfiles = true;
   version = "1.3";
 };
+"lparse" = {
+  revision = 65693;
+  stripPrefix = 0;
+  sha512.run = "a5f16ff6e4b9ad5ba247205952a1a2b6ec26ea3f307e7e61527b8c9aad860b0d3cffa4166a4fcde56b2d54f3ae1f22bb33bb892c90f896015b0fa4cfc73a13f7";
+  sha512.doc = "0c08dc7cf19169e33ad0c4695dbc2a5ba6f16bb328879d2ab9ffe3cfedccaf65499ec0865783947a7db873b20f573e4443368d39d5ad7ef959b3f24770ec9c72";
+  hasRunfiles = true;
+  version = "0.1.0";
+};
 "lpform" = {
   revision = 36918;
   stripPrefix = 0;
@@ -23920,13 +23977,13 @@
   version = "1.0.5";
 };
 "lua-typo" = {
-  revision = 59457;
+  revision = 66516;
   stripPrefix = 0;
-  sha512.run = "85c217ddc1114990127baae0b4023fc42f2ddf5d59beaa22cf8ab05746d2769699850b60f3623774326265359211597eeabeba304831f650adc1114445bc76ef";
-  sha512.doc = "be62c81f33224b98bdec4e0ba84886d4020a05d4ae18c9a4549ebbd13394867a9d835c36615d275fb5a938158dffc4d8b8f4c4a73508d45040580e3cf2ecf3e4";
-  sha512.source = "ec1c817294ed0800225ea03180e7cd5361c1ac5fb7396b09f18b313e5bb511a626bbda8995d2ae5a61b1da2ee054c053751e4a5048b679db44db4254f8c45ee9";
+  sha512.run = "8303e8b0134b1155dc08b3f9f717721326cca56595f6a5aa354400019b808d9b7fae9acd1307849174ee5513e152dee8e25ec9668b2ad2fdfbecace2a07bff90";
+  sha512.doc = "9d3acf9e93d2e114663fafd0b4ddcfe5a8d43c2bdbfc0a220e31ebfbbefcd2333ab56d75f8ade6adc7d2e8680db3e518d3e09f6f4352b4d722e609511f696957";
+  sha512.source = "02b6e83f7f445a06b7d6b91e59fdd5d388b8014875ebe0d4ea55adfee985b571cd61bc8711fc8d8f0763009c3a5d4ce445f86b595542725b18e50b6916add88f";
   hasRunfiles = true;
-  version = "0.50";
+  version = "0.65";
 };
 "lua-uca" = {
   revision = 61023;
@@ -23955,12 +24012,12 @@
   version = "0.4.1";
 };
 "lua-visual-debug" = {
-  revision = 57349;
+  revision = 65464;
   stripPrefix = 0;
-  sha512.run = "f98f686ab3d03e48e377ebec624297f858be03097ed66b6448e82869942ce87f8d1699e4dffa9fc3294a3a8a79a2f547efe0e006eb132ba77eabb714e31d8b40";
-  sha512.doc = "dc1deb6a514397c745001c5635d5205f03b44cefb43d6618f83a2314453928141ed9591b5ad8539db96998901981f20ffc80f89b4b7d5532abf736cb9ae0bdb3";
+  sha512.run = "4d75ff11873d88b0914545e2233b7f49e6caca18a73aa71b74844ff516e41399c99c1fbb7f3bfcf420bcdb91bdfd10e42f4e8f7bfee05af284cea78e25718343";
+  sha512.doc = "99736a1b08c2eba032d749686d30df9384fec22ae65878162436105ff9edc4c781bee5d6407612edb53edad73cf38aa84c870c612663c5b8e2262b191c526f76";
   hasRunfiles = true;
-  version = "0.8";
+  version = "0.9";
 };
 "lua-widow-control" = {
   revision = 65084;
@@ -24031,6 +24088,14 @@
   hasRunfiles = true;
   version = "1.17";
 };
+"luacomplex" = {
+  revision = 65833;
+  stripPrefix = 0;
+  sha512.run = "621f7f8955c309b31f19a94cfff7632591f5b67b60cdeb1ddccb1076855a49c0e9030fd7abcb21cb7c3c474d3d418e8f08e6d1d4a74fa18f96307bdf8ab96094";
+  sha512.doc = "abcc97af487f24e2fa0636a3bfb069419eb29071e2060c7712c22c5a4dafc97b082e72b27f3e390a74564d1950b1f7158bee90151399ec6c5175513a9c9eb706";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "luafindfont" = {
   revision = 64936;
   sha512.run = "a73bfe0aa1b6a907224cc98f2d5f6344249f79010ad5552c66286eb7c103d5c69851a452cb6eebf39ebd5b6e8e64062efb125bea1c6586ef5117f994a97244bd";
@@ -24038,6 +24103,14 @@
   hasRunfiles = true;
   version = "0.11";
 };
+"luagcd" = {
+  revision = 65396;
+  stripPrefix = 0;
+  sha512.run = "16252382a588687de53735fc215e4a4b6a0036818af5a07ad1df8acb2fa63534079528082c3bf3da57c093ef994a2ee7e8d61224347ede8c5f01697b0de62e30";
+  sha512.doc = "42a5d3732c3aba5e3bb2e80274aaeb33ac99e52b9a65ce4918a8dadc6972f2818a4acfa495d271c4deb64121e57c721481ea92a7b91062a7bc28ef8cdb9b7acb";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "luahbtex" = {
   revision = 62387;
   deps = [
@@ -24114,12 +24187,12 @@
   sha512.doc = "3924029e274913999cf54e2f3a4d3ef85dbfbb4ee93a629b8eeb77c796557c3086eb447fa74d2d7a6f33a17f433f38ceb033f7e1633e240bbb135b4239b588f7";
 };
 "luakeys" = {
-  revision = 65346;
+  revision = 65533;
   stripPrefix = 0;
-  sha512.run = "f16f8334b9b2aa53cd6bf1c981199f8927f24ebdde2b9903c44259ed7332d81a999084a1873584c36c11a42976f1cd6fafcb3ee636dd496a9fb9ccd648165c9f";
-  sha512.doc = "b2b0da37a1fa554b2cf03eb0502014af92000e8941f28828a98eba062e15742cb411bf27bd2f2b14d6b05965218d9e802ca55f2ea479eb61cf2868a8d76d402f";
+  sha512.run = "618719877ab11bb672c319bcc078a625bc92b4d3a783eff8414f6c9597ec8ea3225822afbeb0d1bb04e8889cc3003f4a1ed8063e1ecca410ec6f0170fa55eb00";
+  sha512.doc = "be88aac81b85730c0cd85ab76541b8af01ca85326a4449168062ff80690db7d90669dff794b3f5926f1344a0de03289958fd4d2cf0cd2eb4b593dd052577e01c";
   hasRunfiles = true;
-  version = "0.11.0";
+  version = "0.13.0";
 };
 "lualatex-doc" = {
   revision = 30473;
@@ -24166,6 +24239,14 @@
   hasRunfiles = true;
   version = "2.75";
 };
+"lualinalg" = {
+  revision = 65834;
+  stripPrefix = 0;
+  sha512.run = "18ff75c7153af357e5913b01cd4d9ba8fd5e4225fb503f63dea5d9d8af6b0f13189371d04dc8ced3bfa91d9e25af479391e13ea3f1f4cf30485f51536867cc17";
+  sha512.doc = "eb07f1a76292facef0a93d4d407da76e18c4638ef5a51f44fa71dc7a7e3ee3e368f82bb780b67820547457ec3eaae1b6327c166705966a65f71395cfad4958ef";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "luamathalign" = {
   revision = 63226;
   stripPrefix = 0;
@@ -24175,6 +24256,14 @@
   hasRunfiles = true;
   version = "0.3";
 };
+"luamaths" = {
+  revision = 65400;
+  stripPrefix = 0;
+  sha512.run = "825e0a28dbf1dbc09aa430b25fbac824de2bc2af14ed9d23970e3b1b8178548c11c9822b5c45b1035250e147a5cd1d0288f825f270bbf377c8f6e786c51f8b0d";
+  sha512.doc = "effa366dd57fd545b4f18112ba6798e1320fecb09fb6300873a9b48c318ebe7c07d5af8b5a14ddf6926d24c0ba0a1caded6c0c368113a159c5d73633464796d6";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "luamesh" = {
   revision = 63875;
   stripPrefix = 0;
@@ -24184,11 +24273,12 @@
   version = "0.7";
 };
 "luamodulartables" = {
-  revision = 65354;
+  revision = 65485;
   stripPrefix = 0;
-  sha512.run = "3c2f42ed9888947fa6947419511f43ec219b76fe5489449fbf1ae18fce15765d28169e125965a233b058bf35f9bf33ff13b07bdee1e56019793357c3ade1495b";
-  sha512.doc = "dde5a51187d74b410c2f98bedd3926f6dba09df3ee6d1757fc97f0c8e467a34267e0d8a48b8553f3d56421c43167a15cf343cada50f7f1925ba0544143c550e5";
+  sha512.run = "017f903e35bd6800a89dcb086ac592c30e0bb48078ba50dc4822f8ee949d1995523a6c02eed77ab98beef7c0d08368a252d2c6a629fb27f035c8cd8d4a749b2b";
+  sha512.doc = "380eaa526a3144823b0cd438b13094376ecbb009f11c7e6e90303005b71889b30a1d2e08fb85218913f530ec163b01fb193e4866f6133c16de3501299db86544";
   hasRunfiles = true;
+  version = "1.0";
 };
 "luamplib" = {
   revision = 61587;
@@ -24241,20 +24331,20 @@
   version = "1.0";
 };
 "luapstricks" = {
-  revision = 64345;
+  revision = 65900;
   stripPrefix = 0;
-  sha512.run = "b840b9e7209e923fc92d2a6358709c3ffd61f65558b246e24100f95c55e8d06eac43dac91e9aa6ec152bf507ca1b694683da44b1deeed0671afc4930dd0f5b14";
-  sha512.doc = "bfe7d5ec072d03eaf14b3de93dbddff39a9549cb2055d57d2ce648b4c4bd1c173cde661c7a5fd76185f3f1ac94579fc5d59afec08c3eb7408a4b4db025a23e5e";
+  sha512.run = "aa7611f76648e31c5fa9a62edd005303d00a30568ca9c67aa4b6ce08b4ea36ee72fa29782ac805bfa51182514388c14b80a70031e99c747af408dfeaa170c298";
+  sha512.doc = "370f3bf3b7940cbf15b76c000e95b1e8d72d6339b8139333a4dfba64c8b78332d461c17969b3147956ea3677cc7cc61a13e850b4bb4f7917215fb23d31eedbd9";
   hasRunfiles = true;
-  version = "0.6";
+  version = "0.8";
 };
 "luaquotes" = {
-  revision = 65255;
+  revision = 65652;
   stripPrefix = 0;
-  sha512.run = "20c7f1155bea228f053de29e78b1ca702ccc115f2c261af05dd8fe79ccc0b9e22f0f0daf8858e3532c0a458a5a1649ad0671ea2f48820a96d2b61fa4f6841849";
-  sha512.doc = "854e3a5c6f39417e873128c8c15b3f7ef5e138d21679cbee7e019407025b51aa8ec3592edc16fb790ebb176271023971c43e2e42f478b81ace95a47dbb693779";
+  sha512.run = "20c0c02ec0a89e37d82d6ba10cdd9fce632189c442950f325ebc09f5cc2a1e798238ac9d3e31245e113d4909dd0b37e3a145b471f7facacb285a2a2450bc8998";
+  sha512.doc = "3a9b36054a67ff69ed8dcba75a6d5bb5bd4783ec301e59f491b82954184ff7793e68120762ec95182d6dd00afa1fd4421d2f87fc8294ac39061c88f50c37d803";
   hasRunfiles = true;
-  version = "1.2.2";
+  version = "1.4.0";
 };
 "luarandom" = {
   revision = 49419;
@@ -24264,16 +24354,24 @@
   hasRunfiles = true;
   version = "0.01";
 };
+"luaset" = {
+  revision = 65376;
+  stripPrefix = 0;
+  sha512.run = "5c228ea6854943859d389f3de4386834544c0bf67b62d36078d599d69af286f14263f0feec48eace283e9374caf89bfd67adfc3a98fc1cfbb87d618cc9ddb62b";
+  sha512.doc = "0bbe3457ecf5c872052fa215e4505840a80e026a02baf07ed0394b044784c0c37c00afdcd0fa25f610986f465276c160a9a892a45092e5065818011137c70d89";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "luasseq" = {
-  revision = 37877;
+  revision = 65511;
   stripPrefix = 0;
-  sha512.run = "400e95fd898152e8d8e989084ca9cd115516850edb6e8d102eddaaf278f29213c8a4828dde01ca202db68d6cd2b2685bda71f63ad7a92eb586a4c303d2e9d02b";
-  sha512.doc = "7ac8f5df74cede5734c9c47048cbb3b079155910a89ebf0c7adb169b4b61751f6255b2c07614d44a55e8dad43bb35693bf224d0f750bff28987c7c5f1a8a5bc4";
-  sha512.source = "4946e994a3ce2712e6da73a9969cbf2634726191845332e4464ce8d446c09235e94798c878e9e060e3a7b3bc3a27c37a299b9d30f1da6368b67875b551ee9d0d";
+  sha512.run = "b77936a1b92ec8b3889ec9ba8b356fa235da6eeca98d6a86f315723c64b4c0a7d8db2213cd9fdad4d2b38cfa8af1bc00c7861f15a9f4f1a809ec86bab8a16f77";
+  sha512.doc = "82825043ea6c04a76cbf0440d9de08ee281b843342c6385f11cccf06bd11320138119fb90944f6f3fc5aa8ff9854f1934f7890809f0a8175de389ef5cd448cab";
+  sha512.source = "3a6b4fa48956e2f448a1be96eb9d05f236c9e1b2177de13ad16aa942c9b4ef5d4d4585bdb6f5d9b1a19901375f34cbd381430c629e037be500d84cf626065500";
   hasRunfiles = true;
 };
 "luatex" = {
-  revision = 64839;
+  revision = 65866;
   deps = [
     "cm"
     "etex"
@@ -24285,8 +24383,8 @@
     "unicode-data"
   ];
   hasFormats = true;
-  sha512.run = "3789aa894fa2472f763275ddb045178acb51bbcbfa5f88d0dfee5498932089519b273ca5f6bf413992578638a7331e88b69f976db75cb9aeb50bf7d5f0396a69";
-  sha512.doc = "f7c0807c1b4548666efa133330f1ecae7d85a0465357c5dc90f77d65b34d73e8755fe825155f2688a066f73f3cd9c76cab29a7ab06ce4406854177db4242fb51";
+  sha512.run = "3bac06a5349e13d48ffebee9e78e271d8ea64d0e1b55df018ee1fab2533fbde3d9e9f99b64c3dbd3026c24b61bf6b867684489a73202cfdeb620558522c53b7f";
+  sha512.doc = "ed7298a561425d7e5776ac6555716b2b57f0d16584a871de94c5c341f0d8023bbb341b2deb78dc313e9aaff18659b49f24c41063a5719a43b67e5b074fc0d3b5";
   hasRunfiles = true;
 };
 "luatex85" = {
@@ -24311,16 +24409,16 @@
   version = "1.3";
 };
 "luatexja" = {
-  revision = 65267;
+  revision = 65790;
   stripPrefix = 0;
   deps = [
     "luatexbase"
   ];
-  sha512.run = "6f146fd9d98d931094653b6e2d2357ba1f23c7c539489bc6e21db884b3da8a91dd822f3c301a4fc22168331b9760a96e61c6c0cc5c197585c2b02ffd96d6ca8e";
-  sha512.doc = "f7b5adca5278dbdb05d2bab6eb4c5449c07f4ea6bca6548397bda6a27b73fbe5ce9c6e4dbd9ca19bde9b3b950157d783a1e73040c08ae60f661a486168653f91";
-  sha512.source = "58ec25306a8203494cb029bb9866d847537723acaeef83b5a0899b9bd27e3045291a4aebfd3e094215f99282d4d744799b876cf26bf9a46908b502cec07863bf";
+  sha512.run = "aefbb04f83fcb47060bf540343d48adbad8c06fcadf23a75efa2a0d41149b75ab4dc0eaaba9ee910e6eadbebbf33beec47d751f8c188c4ecbb5adb149e80607e";
+  sha512.doc = "b4dee5a78aa3bc50989bd0ec78eb5cc281104023bc972303a9cdfc3a936e640eb4f1673c033289143fca77faa0fcff06e91097087a21a5ceac49fc6b2125a28d";
+  sha512.source = "3d912d72ae0f9aba3b6cefe21ef74ff8934c6954bd2b5ccee96c66a6038b5b336927d567fcf4fef1594660e6facb8cda739499fff2d187a270b15698c49c036e";
   hasRunfiles = true;
-  version = "20221213.0";
+  version = "20230211.0";
 };
 "luatexko" = {
   revision = 64893;
@@ -24380,12 +24478,12 @@
   hasRunfiles = true;
 };
 "lwarp" = {
-  revision = 65083;
-  sha512.run = "50cb66e8f389b8296a46398de588330148fd6419e34472970bda5cf8a87242d68626bf86faaa82137fff1b79170aa6fd24a0668e14fd7cd10af0827c2d32664c";
-  sha512.doc = "1916c59bbf393255bd8d3b51c13dd3afa3c1f070f47b946bc88cc0edb313189f271efefd8f17748972444ee982e532effcc07c4e254d495142fd29ad4a935735";
-  sha512.source = "15b88b1ad4cc8b63400d87d8219a022c909ac175d8c2192b796f31fa1e8c60cd40d328ab48aee35c291d5070702271a6a6c15ecd1629b2cf9c26a035b8973bdc";
+  revision = 66260;
+  sha512.run = "c0ce55fc1250ea08b05369c4eefc5d79e8f71cdf7a33cb8923622fbbb63730ef0f59031759aab58e0f9acc98c49e274a14a962653ac33ad2dac81f44fbe4e9f3";
+  sha512.doc = "4e25b1cd6286c5ad70153993a0660db10e43bdae2099a66544fda73a6820404351352df5ba6889634d3b000257408cdc15945130a496a58ed52260734308cd57";
+  sha512.source = "756b877b4bd41fea4f11dbb8951ec232ca6b97a3ed5ff197467ab38150cac04c788dfc5b390506d611fc47e749cb78c03fb3db73e191f380b2eed1cc00534426";
   hasRunfiles = true;
-  version = "0.909";
+  version = "0.911";
 };
 "lxfonts" = {
   revision = 32354;
@@ -24404,12 +24502,12 @@
   hasRunfiles = true;
 };
 "lyluatex" = {
-  revision = 65332;
+  revision = 66280;
   stripPrefix = 0;
-  sha512.run = "f75cdf715892b1e5b5d4bb92dfb6684e266acd32311149eb6dfef37bacfe56d28436fdf3264e1d6258535559cc5972d009f4bab2a065061d6243dfc24f68257a";
-  sha512.doc = "ab95d7944b7ac79747e1af2f0d805817ac8183a2b903e7e17c1af89f2406cd6f35532cef0d1bdb6cf43a6d877cf241f31ab7831ac9ea15a1b53b1cbd79c20cbe";
+  sha512.run = "98ed2a64f3cbf78688094917fc455220c9e75c45e17694271babbea79f2aff3b6c5b6cc5d1a645d6b48b64db049ec2b7b25ecddee1fa861beeda3590aca9b2a4";
+  sha512.doc = "7a16e8e6ed2d4c8912f7dc93de1abdb8a0357d2c698414d42a44185872d818593c6c0ef32dd7be766ca9720c5377248c7d617898091add90f01534427009aeb7";
   hasRunfiles = true;
-  version = "1.1.2";
+  version = "1.1.3";
 };
 "m-tx" = {
   revision = 64182;
@@ -24513,11 +24611,14 @@
   version = "1.0";
 };
 "make4ht" = {
-  revision = 62953;
-  sha512.run = "591b69770285fee1f3bd407e176b6e783ccca6d217a0f147780da9c535a4ae7e87e95a8a9bd3a220b342a3397df3845934e229ecf7f2bea0085acf94983461a1";
-  sha512.doc = "b83f6cb2d6b514e4514512f803c916f943b2b915d4a1de02e0f1c304072e41e673317c02e43f777159ff60a775a9ccdff528277885c5305110383c2ac4022d12";
+  revision = 66131;
+  deps = [
+    "tex4ht"
+  ];
+  sha512.run = "c6da836e4cd40bb987d2e15b3cbcc2a650284fc0bbc0c5220ac9b5e03b3ba9177986e013b68e401a951cb7982cd0a359d3ae2819c1ff516b4c6e88dacfe728c9";
+  sha512.doc = "9a802d3a26656f066457d07118bea52c0859d77bd02c6599e572538c54461f577d6ceed5845ef339811bbbf36560c69528cc76b29550e209f021163a2f57c639";
   hasRunfiles = true;
-  version = "0.3l";
+  version = "0.3m";
 };
 "makebarcode" = {
   revision = 15878;
@@ -24732,13 +24833,13 @@
   version = "1.4b";
 };
 "markdown" = {
-  revision = 65346;
+  revision = 66261;
   stripPrefix = 0;
-  sha512.run = "73b3c48da456a71113f7a5bec8f71b639eece596977f1906aaac02772a33aeac388b34198f0a39c1975e5f4543a7a16ff035f0306598247b9a558516aa753826";
-  sha512.doc = "a9d71e179e8427bfc2186a527216b1bd8f059b3f15c227b3c2a429199b0f6218a1342e376765e9caa4bcb207d68068b0a21a585caa6f572a1c82287efb8cc9e6";
-  sha512.source = "2a25ce431694f26ab8a757b7c28ce4d50566b5eda5b4e5b7a4955b9a7e2f4ceb8b54eb30a091efb7917d8f82d69588c761c0ed3148cb61dcdeeaf4e955a95b97";
+  sha512.run = "dd4d0a36ee144a419aca266003376a252bbc1f2fe9d1128db54478ebfa6f126f6f9b46032f914f7d9373774561da6c40b1d4bc301aa2944ce56adfaa3616d088";
+  sha512.doc = "655631fe5856d385434492fccfe9656a90c63d77fe9d0497fe6272fa513170df211a3b14c6d3b51e18374407f6f38635afac860d49cfe81a6e85a4f5c888c6e3";
+  sha512.source = "435d0cddf335654746b1b4e95d972fc559c072ff23609c6e6e9c34423226985578d42b22a1daea2181643f23ec8e7797947106116d27b3c78317098e103742fd";
   hasRunfiles = true;
-  version = "2.19.0-0-g80fcf20";
+  version = "2.21.0-0-gee15b88";
 };
 "marvosym" = {
   revision = 29349;
@@ -25001,6 +25102,14 @@
   sha512.doc = "b0f978f89ebb7f681e7b045d03a9a6e7e9083d7c468c91d52ef417c85d707243fa0ef253b3e2d1f1737a9c7235fefae06c4a8fe2975cf2c13f7f09ada7752f26";
   hasRunfiles = true;
 };
+"maze" = {
+  revision = 65508;
+  stripPrefix = 0;
+  sha512.run = "e09c0b0d00301dc1d90f66e774f6fe0ffb1c4305498f9aa4b41bbf0460940a2570e40bd8359e30d1d521418111ee9c6e6c8e61a6a2efbdaa484d3f8436f44fd4";
+  sha512.doc = "cfa47a5d16d4533fdcfdf4ad19c5560fc897da669c4b9bc5a5f7723a6082fcf1b29fbe410117bab9249a526d7c720cab400afec1945b24868f7b73e46690a2ea";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "mcaption" = {
   revision = 15878;
   stripPrefix = 0;
@@ -25026,11 +25135,11 @@
   version = "0.5";
 };
 "mcf2graph" = {
-  revision = 64999;
+  revision = 65666;
   stripPrefix = 0;
-  sha512.run = "23bc0a4ca9e6625ad3e2f2628c573f16301429363d6d44ba0460bff872e1a3060ebc0006af899dbfa9950859e01601c9c11230ef3c75e3db1884f6fe7a9d3d92";
-  sha512.doc = "465104e39be2d740bc6bbc63cefa320633288852526cf2029518130a87d4ea656610d678ed955ac35feb50c5100a3f50363f3dd42a257e5f5b83ca24a85ffbc3";
-  version = "4.90";
+  sha512.run = "35567c70e718f97974419280f8e68e4226203f1100e450896198ca7cdc8e6b006a1b428f44c2379bfafeb8fcd884845b1dd7c2e54b2a3f9317af054ed7902b06";
+  sha512.doc = "1b8a718afe98fd358cf4fd74acd7e2a1bedd8852adb80efca97e3dac598a5fb6deaa977ba19c137ba086ecef9a50af1408d7bd16924c8137f76909cabc1efb7b";
+  version = "4.92";
 };
 "mcite" = {
   revision = 18173;
@@ -25300,13 +25409,13 @@
   version = "0.12";
 };
 "metalogox" = {
-  revision = 49774;
+  revision = 65448;
   stripPrefix = 0;
-  sha512.run = "d2f6bb89071ae56b0083e5b38a629e6089d5d2c73fc9206181b2aa3071e0a4a350a3f5266997063a011d41e4d369745ec5f246d8f3b723c00c8dfa84452e7cea";
-  sha512.doc = "d55aa00226b6c7773cb275d33ed698e2617b82af5a2b060b58af7468e8be2d9c65bb8b052b66c28a94551fd51867a34e2c6b9d0147161e3df9cd05a03567a59f";
-  sha512.source = "b6354ba439f3514a491c271294436f01aac26f77225455d1fb1a91d55a5353d63f2de6d3814bec21c0f043c95186411353c87992387f2e174d9cb03057ef0560";
+  sha512.run = "14de5e149673db96124b7c3542ccfa253a193e6ea00320665ca6cd024fb055d9bc5e6de770f63d5f7123a85ecb604eaa76e6637f7450b08ce4835fa7a097bb6b";
+  sha512.doc = "0ade0e0562ec5deb0e30e442c3909c27a18a78a9bf6fbe21589cd4d8a615be0c59f27bcab76f6cec6d897c26522c2e5442a9684eeebcfd5ec45a790ba8011165";
+  sha512.source = "6b4de632d4ee28b93f92c270da26badb00eacc425761a3a0a3ee0c296af44f0d152f04f2ed5521729725e1a223d20943a4a7a2d73e1c03e31fe316b5ddfefc11";
   hasRunfiles = true;
-  version = "1.00";
+  version = "1.01";
 };
 "metanorma" = {
   revision = 55010;
@@ -25570,13 +25679,13 @@
   version = "1.1";
 };
 "microtype" = {
-  revision = 63708;
+  revision = 66590;
   stripPrefix = 0;
-  sha512.run = "62da418a9800c5f259ee607218e6eef9aad036f06245d5ae1a9d9bbd40a2972798cc07668d6ae7e518c49c5cf713033a67d7791b5b7a06428dcbd805aa8a9022";
-  sha512.doc = "17175b559b365ce2e83a8e453b16f2b2ebef8c14e8a1592cc2465218bc8de5c6933ee6cf2dccd8ab07fbfe85858edf82d91681d7136943c7c13f469aa6e1b686";
-  sha512.source = "7925ab1f31289d197970eb0532efc6dd66722ad8bd04ce3f6029de32c535965bdfbe58334896c9e07bc7519375fa4584634a3f35dc65d3b3e7ee3f2d93d39d48";
+  sha512.run = "2190b285430f6bd8d69dda7098938cb55cc797014d6db63796109a6f3782a6eee16bcee06e8e9e40888803fc963d2f978e750d6c24dc4c10e938a1a0a43fc449";
+  sha512.doc = "375e41bd0e78ff145996e08f9d3470cd730aa81aa9c8fdfbbf78ab230401a17ad423d11bea35a4fbc7cb8d09eab81d75c57681c72ffe8894b14fe69763fdb8d2";
+  sha512.source = "b126076793ffa4aa6e935a623937709180b24d6b42843107bb42f56caee3ef525dbf8d714561f521bae8809809e180f8428f6782162962d0e2bf0246c787488e";
   hasRunfiles = true;
-  version = "3.0f";
+  version = "3.1a";
 };
 "microtype-de" = {
   revision = 54080;
@@ -25661,12 +25770,12 @@
   version = "0.96";
 };
 "minim" = {
-  revision = 62419;
+  revision = 66396;
   stripPrefix = 0;
-  sha512.run = "dc5473b9dd318ff372636efc3172fc1f5a2619d0ff85ee241f565e6b088a9ee8ced74358dfcf2e905322f76cb1e3c3f59b6cc3f7e22b4532d9c17a83cbdc7645";
-  sha512.doc = "41ae8f863e8e9e65bf8a9adb7c8438f9514bd593b4a10022ca928f39bf15bccf25e7b27c0bba4bf256c44f18ffa74339226e7bacdfff74550338fb8f6c4a9dbf";
+  sha512.run = "7d32f1c11023c9ed7d45e5364fab3a104e689343d67687a232dc8d74b3a1cb4da38fc794debb463b6c2136a6cd125077b22c624f3f1de5118cf6159fede98080";
+  sha512.doc = "368f8950497e3ee5509a977c3958d1d1ecb29bb4f6250a0d723714b2524616ab57c1005359ed418850ad5fec3507afed0454a44e22e4776b085e36ab054c9ba5";
   hasRunfiles = true;
-  version = "2022-1.1";
+  version = "2023-1.2";
 };
 "minim-hatching" = {
   revision = 62395;
@@ -25677,42 +25786,45 @@
   version = "2022-1.1";
 };
 "minim-math" = {
-  revision = 62419;
+  revision = 66396;
   stripPrefix = 0;
-  sha512.run = "242067b2db1fbf62174ff74c81594508d1d99a0029aa28c08af3995b6833f87e1bc2d19d6c825795650584bed96a2211e7d8b554c4b627959b61cbe50bc9c0e5";
-  sha512.doc = "757f52ce6a4d6052cc9b75cd50019a5790a3943568e8d2818ba88a9427a603292ac0730fd361f75c1b5e9c9ab7b197e2f235c2b9348b669828d8b82a6e92054c";
+  sha512.run = "e3591e9a4009c0e30df7c413b67b62af4360e02dc4ebd1cc88f962a636fe48777bec5da664717c60ff3466250545ec98ac59af4760813e824e1f2247a11504fd";
+  sha512.doc = "dda1e6c916ec4d239a3d3eb8ac026b693f8fc023181a441848b7dfe187cf38300ad5ad8ff28ecb510a3ff0b8015bd632744f5be9d72d78241a0696e11af2f07b";
   hasRunfiles = true;
-  version = "2022-1.1";
+  version = "2023-1.2";
 };
 "minim-mp" = {
-  revision = 62419;
+  revision = 66396;
   stripPrefix = 0;
-  sha512.run = "2dc49d3ca36fca5c79836c19a6a8688b7d7ade9d1f70896cf19a336d0962176ea681ccd80469b0961322c696a7efbfcc0ab1b36e61550c2def1f6c73b78865b6";
-  sha512.doc = "5a8267ef4bc6cc94e187233b092101c972c218e7457eb412651700728f0cb4fbbc6cea106ad1d0f99a13d6f3af80b3129138f54bf07ad9b3536ec778c9d478f4";
+  sha512.run = "4281f14c632bbc9e628291473818a05c68bee90bec08e43d04de2379f4813588112aa96c1fa39a8aa75c84459c5a2d7b1eac68d0f629c7b55628cbed6c682b1d";
+  sha512.doc = "2cf551a6c59c9ed36b9ca4b22a057efeff5adaaf0b162d83c51ea043cd0ceda02cdf5e5becc526904ce897376679e863e8f66a80221ee860e97733ec39bea4a5";
   hasRunfiles = true;
-  version = "2022-1.1";
+  version = "2023-1.2";
 };
 "minim-pdf" = {
-  revision = 62419;
+  revision = 66396;
   stripPrefix = 0;
-  sha512.run = "0ccf4ee742b9b0607f9ad9e92e01952701d88417ca7f594d8647c8a7f078216cd073b77df4df8f46e2bc66ff9871ef7e0b215ed65e09ebdf3c839025563bb2d9";
-  sha512.doc = "bb0af6f5dbde616c17fce40140dad0245035386e7b1d8e70eaac0039e1808f42c81aac435765a966c34aaa4bd8d1c45380d398eb55909fa920aabebece9bba30";
+  sha512.run = "8406724dff3fe85dd8dd982ef20063582ca883f4571953e99511e1fea5db7930e7e3012052a0c3201e37c31be2282d7977d3ae38d8a6c71c6391f71605cd25c4";
+  sha512.doc = "e733e10099d2e040a571e0ae9fecb35d56661984403f7fadbd6ea0ef1e000d742a45e9eda96ca913d416c5c0e400e3d0fa723301fcdf9ce17d8ce9e95fb51ad5";
   hasRunfiles = true;
-  version = "2022-1.1";
+  version = "2023-1.2";
 };
 "minim-xmp" = {
-  revision = 62419;
+  revision = 66396;
   stripPrefix = 0;
-  sha512.run = "92f827346ddbc45cb1d62e823d65039628a3099328ece22aea1d53772efb7840655d4a1071b6a34d4fc497aca832f95afa57079921b5218284001477798e0a12";
-  sha512.doc = "24c743aa7db6965731b427fd90561f62d7fc9d4582094ac98e01d42361088da92ece9b1bb4b73bc0fde93cdadc1c175fe85c080de72605fbb548194678962d89";
+  sha512.run = "bc70e2e2fd329896e48954d6035f93a0b8ec029487372313fd8d3517cbddf21135f329489bd179cd68c97bcf4a4eb8fc9be5ef4a95b8644df8ec7dc09784b44d";
+  sha512.doc = "2eb847e45880e23d4412fdbbb8908510ff2f72dbba6cb37b5448dad57c078560e3deebc775b0e8dfef6114f179ad81875ddeec8dd02f59a938ae478f439061d6";
   hasRunfiles = true;
-  version = "2022-1.1";
+  version = "2023-1.2";
 };
 "minimalist" = {
-  revision = 64280;
+  revision = 66447;
   stripPrefix = 0;
-  sha512.run = "ec40043e965a6bdac74fc3a958833d9a74653cccbf65a3726a4d3c0c03751a163729ffe3880ff3ad46d6f39e33bff6ed01caab29e0a0724255af1cba626f4fa8";
-  sha512.doc = "be03f21e00832edf1dd15f76f1f4e52402103f54fd65295a157ee50fdcc865d08e380c7d19ecc45117e70d7e3168109e3d747b52e1d608dab55e720564402d8a";
+  deps = [
+    "projlib"
+  ];
+  sha512.run = "421b6bcf329e94900e278e4db931d96744bc843b6b0088369753a9e34800162d28560fb293004aedb4f1e4af703b63540f1d84cf9999a6fd6a3fe2ba1e9bc15d";
+  sha512.doc = "77d097fbf3e0dcd4c078dde948e60d7a6fe10040fb4b2cd0ba6190ed4b7f971d509dcc29ee55d4d13aa493f9d9f0a53667430235790830301b7cebaaf0ccefb3";
   hasRunfiles = true;
 };
 "minipage-marginpar" = {
@@ -25790,13 +25902,13 @@
   version = "1.8f";
 };
 "mismath" = {
-  revision = 65365;
+  revision = 66400;
   stripPrefix = 0;
-  sha512.run = "cdce554adf5b66f05bfa7873fd1fbf166070d4b680592382291f88dbf92a94a8cba46a6187d18160e09fe5a56ed349aa067d9b65e1473ce38ae16028e5eb1177";
-  sha512.doc = "f279280a8edcca9dad6ce3d865165e6dda720021188172067773c0318a22e6727ef713c303e14657e49400b4b59e631e82398d65089642cff7f5cac021891c02";
-  sha512.source = "6979eec789353a605c06af5e631754648af8be6912aef5ccaecf7053b21de3dd485eaf77f2aa014134cb8d298d4fbf649b9cada894fdbcc4bc11668d6fdbf35a";
+  sha512.run = "0f6ffc40645b440526eb5376cb1933dc174d0605b18fbcb97d73160d927d4fcdc69777a88ac306a313f0f89246b37db4a830bff13c52d48ceceb06a6f160bea6";
+  sha512.doc = "3d258a890bca6cab25f8014e743ffe304a4570cdc3cee7b64ee0f3ae34c991d71466a5e9a61d8c9506cc45f43863aa44014ccab6ddd772bf3f2c5aa5ab17cf27";
+  sha512.source = "df100ef82fa338df877721e2a5e91da5159b16f46020c4c74e375183052c44f4a971c91850c4c8d022a4681cdb27c90a198c11bff18baf32da5b394356843f95";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.7";
 };
 "missaali" = {
   revision = 61719;
@@ -26083,13 +26195,13 @@
   version = "1.03";
 };
 "moodle" = {
-  revision = 57683;
+  revision = 65672;
   stripPrefix = 0;
-  sha512.run = "b2f992d02b16711eb5a79247d0f0b7b590ab21f419f181dcfec33006e08181f035c502f3a4d473fd211ed391f5d6225f2a91946649911db7af851f97d1ba2da3";
-  sha512.doc = "9c609a686d13a8577f672988fa037ec48cc46b4006f7d42070c1411978cce615ace296a10d9a1140671c9972362a4ddcda5ceb80ab35e8b9c0628d90032b53a7";
-  sha512.source = "3dde72eb7b513695ad3d59dc51bb8f5ba93ed3c2d6d8e90bcbd65e6ec3f86c3ef392eda8537f7a096badf0fa97080b5fb2d61831b38339946b0f4b734ac419b5";
+  sha512.run = "0a297097f864ed3dc8c9d263a6a3aa8930732679a585aa34e2e5b31852bdfc3cff40118d3b67566816dfeda0f74282a476ad8b5ad793d2c433cf44f41f7c91bf";
+  sha512.doc = "ee40b07bc0ff2ff75f18eeb9ea68dec0a624a1b75b81ac00ea9c5caae3f6232213e1a5ff7028be28372cfc43685f4004059d972176eaa2b18688f16f8ef2ba09";
+  sha512.source = "02754bd2d6ec9ca07e07b3768855cf100d09de057ad7b3605dd7a97574c7f8024028ca882b3b6a1cfa25e49ec40400690ed7e7e1404f0836a9d6158cfec30bca";
   hasRunfiles = true;
-  version = "0.9";
+  version = "1.0";
 };
 "moreenum" = {
   revision = 24479;
@@ -26232,13 +26344,13 @@
   version = "1.5";
 };
 "mptopdf" = {
-  revision = 61520;
+  revision = 65471;
   deps = [
     "plain"
   ];
   hasFormats = true;
-  sha512.run = "3e5bb2983ea7329e4d3a48a29a5902d0245b0bd07f6cc3d272358701bd7df8bef808cd23810a70ab60209dea2d8788624e98497c6c04c917a59874a84ed94a30";
-  sha512.doc = "7bb6c2bc9dd0bceddb4b5aaa8d7143c40fb41baac2065cfbaf14642acb33bb7f05703d7b8469da0e92453ec10f0b8252d00b05588d7846835d622be097a83f8d";
+  sha512.run = "1d488a0254f5fc2197d3e8e66de4b0c38abefd477cedac511098612e7200ba90f9d81715273e5e24b731638b91d69ec4b86f0ef1b65ebbd115e9d09c6f2772ab";
+  sha512.doc = "ad89851e9f944f18ce1226d6c753a14aad0abe9012b4fc97d5328005e2f758a351db1ddd5ea590694396cab8852b6f77adc5ac77bf1de5277ab224d9470e513e";
   hasRunfiles = true;
 };
 "mptrees" = {
@@ -26282,12 +26394,12 @@
   hasRunfiles = true;
 };
 "msu-thesis" = {
-  revision = 65282;
+  revision = 65462;
   stripPrefix = 0;
-  sha512.run = "0423da62d1da9b79e79c075f50f8d03dff086ddd4c9d71a23ee767c9b2bc2e36ed5113a9ed880f9f5c12fc1b7c39614a8b6a216f95491df18b20fab0f1d7d543";
-  sha512.doc = "e066b37ca5405f20d080b6336b32fe915c1b0a5f9d48dc0155dff4b8009c5b455c29ba2cd8e14a83e0a704578aaf79a92af5d6d930ea4c1bf7682f38247d63db";
+  sha512.run = "918bfbcc2bec35581fc50bdd6e7ef10e5b8fd3f47d9eec896b5a0d18aaf5a953da0e46b20d0d19e03fd2a979a950e34f6956af85b19db2a6de74d1f9d91575d4";
+  sha512.doc = "a58f8c2103da08dbd04ee8310ae349d88fbe86a7126a0dc6bdcf44d2c91c7bb2aa453ea3830d737fb21c99de888453d83e24ba108a8f0fc17f2ec5aaede1d7ea";
   hasRunfiles = true;
-  version = "4.0";
+  version = "4.0b";
 };
 "mtgreek" = {
   revision = 17967;
@@ -26478,10 +26590,10 @@
   version = "3.1";
 };
 "musicography" = {
-  revision = 53596;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "062bd689224a432188b10d53f1224cf915432147db66d93d944fd9fbe9e0ea8928562fb19a6b5f94373db7c6fcc2c23daf7a7fa338f5b9dab53e9eee2a78db35";
-  sha512.doc = "9dda39b912cc766aa619254eba7a7d3d90bab3a24668d82e2d4c9c18fff1bfeb7a09e549774aac6d654da1108378f1867ad1d8e84464f8672b3f5ddf445d5e47";
+  sha512.run = "16a582cb9c03444e7acac7bbe851d2e070b8d474cbfbd71a2cc79a9cc937311100b341e39f0b1cd99fe983e88cab002c78e265e8150fb0434f98c326b76ed7b4";
+  sha512.doc = "e3ef9d669eafbe00b62931062b32617ea22070c5738fd31e24e3378c1e1ed6e76cf8497ef5384ffc1b8d8eb42b005abc21e6b3d8f9a12943936631654b551151";
   hasRunfiles = true;
 };
 "musikui" = {
@@ -26501,18 +26613,18 @@
   version = "1.2.2";
 };
 "musixtex" = {
-  revision = 60382;
-  sha512.run = "907dee947bc659f456a43d668f750a38c20afcbd011591c703564aed9bf8567079b9597fdb2b0fb413b09377b1f711c6404e25f93f4c6b2fb5edadf229603629";
-  sha512.doc = "b56296675a479c485ba7f40015e6dda625214958806e338dc3fb6c6fb687e801e6e42ab7cd98b5d532c86fcea3e6c08a9fd4f216ad0c80212c8ee57ae1164f3c";
-  sha512.source = "a90c3becf353f617dfa0550136038c3ef0f4dbbc15cdf593a0bc89db7585cd1764d307823ed535f5dc7f84fdf1b6b439e386665dd6fea03f3a3364390c4fea0b";
+  revision = 65519;
+  sha512.run = "85ff6dae443655c320990517debd59c2d3b3cf79ae795fd27836704af1ead716da34521e254a201ee8cad90ba0b5d1c559157567adf3e7142aa5446e91af0147";
+  sha512.doc = "cae619ff0b16f557537ce3d28fd8df938d9297aeb37ed47713934e3a6ee41e4d8007e4e798b03221df6e958db93e2a765b9854576381eaacc924433e4efaa362";
+  sha512.source = "e81c23471fa26ef887aa5e16eefd562c5f133619557e734c7b36de2dcb9b1746c04263e7f3c300ccd90e85cdbfb4146496448a31909403631510645d28e39608";
   hasRunfiles = true;
-  version = "1.35";
+  version = "1.36";
 };
 "musixtex-fonts" = {
-  revision = 60381;
+  revision = 65517;
   stripPrefix = 0;
-  sha512.run = "fb78a536fb7e5527472af46d89d97c6f932f2d72318d285039b7ce8cde842cf5df0e4ab780433319fb65b6b5fb226efa7634e006cf5831a22fae7dee6e9a2f05";
-  sha512.doc = "8a102656745eeaed5542a95f5c3c16f4bb4d83353cf7898941c776cadbb40330ded060e7e6558ab47b1fb1a2e1882ee413b60aa73924740d21144b5a1d779334";
+  sha512.run = "53c6f1b80b789608ad1187a2d593474c12d71b27ce9bd8c9c0cc7d2ba1bf3501c2dbab6375f51eb4841646b1f0dc7ed1c641efef6bc32dbaae3cec56f6583e09";
+  sha512.doc = "eff2e4596dd426f1f57003d6441eb0632f7b9bbbb216ab4e2b069a1a624e77e06f032f191ba13afd2e55b472f5a719936f34fcf2ba6997336a3c3716c4d936c3";
   hasRunfiles = true;
 };
 "musixtnt" = {
@@ -26641,14 +26753,28 @@
   hasRunfiles = true;
   version = "0.7";
 };
+"naive-ebnf" = {
+  revision = 66029;
+  stripPrefix = 0;
+  deps = [
+    "filecontentsdef"
+    "l3kernel"
+    "pgfopts"
+  ];
+  sha512.run = "cfa82893728524f15e26758cfd25b42cce7499ad48fb5362899cbcd8717e57e3f8a18d680d5f4493b66e9de910b3c16b251ba23a11401b83da03f88a8d15940b";
+  sha512.doc = "42abbbe4b5746b2ad4ad3b49ea6bfaa35741702735078d48759e8da95ed207318fbe5d1e12fec46b0d6b934c63b43a094a733f34e70dd27405937da9b0f96b9d";
+  sha512.source = "fa1601c7f9a79371b757342cb8bbca14f29de401f3944e3c7d393cd120413bc2fa38296220d5cb56cf6f63797dc4f8374b2c5396df33b6503bf801e17be423b0";
+  hasRunfiles = true;
+  version = "0.0.5";
+};
 "nameauth" = {
-  revision = 58026;
+  revision = 65738;
   stripPrefix = 0;
-  sha512.run = "7557d11e5f8c46aeab49e45d0a52c0bfe4b8754e4d24b4490a4912bbb7208a4f178320fd40530eb79e251c493129f2936982e3cee4212c05c295f4346b43b091";
-  sha512.doc = "1b22c9593ba4eaec9113d4fa7164a14d130a4b436ae082c9b9e5fef523df2b1a26f27f15d503e956ab75f5d75b5d7a33a4ddb27c90c79398195126bf54fb1131";
-  sha512.source = "363d6cc0cb052a3fd6e5c2df1725210b1a0dcadff08c272764e32d3125fb29c02321b388c43e1cf520f6362a2ba92d26e780b5e1beb3a99014ba053af94d95f7";
+  sha512.run = "1f81c68299508534a64a91465478bea75ced09ce66be903e3fb21b228a575124f63101dfdaa66d9410e4395689706c9e09a2546715006710bad46d496a884daa";
+  sha512.doc = "7f490b2993516937693ed04a240b6e16bb366897b638cbff52c44f95d2b965bceea064e0e6d2064442a28417f8f1adb3ead564d8c30106dc0b36adf8d550c965";
+  sha512.source = "8ce8976678bf079cf929ad97d19d8ac0e7cd55d745e4bfbb7ad70379f952024d1424841ea0eb750fd9135caecc5d6cb8a32abff5e1c5331e7b1153e5939e41ad";
   hasRunfiles = true;
-  version = "3.6";
+  version = "3.7";
 };
 "namedef" = {
   revision = 55881;
@@ -26853,13 +26979,12 @@
   version = "2.0";
 };
 "newcomputermodern" = {
-  revision = 61310;
+  revision = 66338;
   stripPrefix = 0;
-  sha512.run = "98563a172632bf69930afcee577c5d4807677d0f700483818a02bc53f79dd142bb20065d1e10f982ec395270dd13335855ef95d521514263056473d9481e8aaf";
-  sha512.doc = "e67e678f37108d9029ddc3a5daac567d1e9dbdc8869e1806361512cedf3478b0de64a7d091a71f595b49cdcd8c2c7e85d57ce47f9f9c6828518333446c1f30e9";
-  sha512.source = "3da5168bc378e569742fc66d7264afda91f141c573ada94354e52fad420a8c0643fcf3609f514c43b88a01a32c46301c9df12a209a1ca975ac3ba2c2ada97cd9";
+  sha512.run = "e5e31361c266052bf765ee41371b548f6c85a857e0cd10f2cac2ea00e90c1e47da745f3dd2efdaa8614dbc4e09b65e4b174e82141eb27385c166ee67d1e52aab";
+  sha512.doc = "065b5d4344015754875b31b55b3ed2b1c6c891a38a5db40390a2136af390285d0b422c9843959501d7e1c68b9d76ae21792ebba11edebee4c2b69b2cc209c5b6";
   hasRunfiles = true;
-  version = "4.1";
+  version = "4.4";
 };
 "newenviron" = {
   revision = 29331;
@@ -26998,13 +27123,13 @@
   hasRunfiles = true;
 };
 "nicefilelist" = {
-  revision = 65235;
+  revision = 65842;
   stripPrefix = 0;
-  sha512.run = "0ec87c8804a36197bf01fe34124951e4a164943b42faca849031625594b00de570cab6b06c732211f2e9d65e3c26b3ef74125181d1a90fa14b02da2c5c45518a";
-  sha512.doc = "ba316d6d61521915b24b8b7e2234adfee417302fede3226343f35189d2010b8ea913a0d65eb776aa5a1382f6003d00cb1a0e7139772e4591e29aa4ad9d1dd117";
-  sha512.source = "19b55d17758a459a6994b5d94c3994966a6cdde35272de322b0747aeba252e667fb64a2fabab8e0ecd5ee6c2eba6fed8594f7f00144240cec15a1b7b450570ba";
+  sha512.run = "deaf84bd004172584e0437f3f15dacbed3d49ef6bfdba15e77e0c888bc03e35a634107469ae979b38d1e5519f4c8236cafed71c0ec46b9e7735041f234c03f96";
+  sha512.doc = "efbc5965c9658e1f44182bf92f695b2d200cbdb8c5c70e23631b31603682168c0cfa5e114615483f7d897fec175267ef9d7fd0040f653e75defbe88bfb395bc5";
+  sha512.source = "f520f4114d7f44b3361fead74f19750a4765f0397b158d2cf8c0076dff4689418bdfa0f731dc9383a74da6ff6e36a84f9658432a271352b904cd816409b026e9";
   hasRunfiles = true;
-  version = "0.8a";
+  version = "0.9b";
 };
 "niceframe" = {
   revision = 36086;
@@ -27023,13 +27148,13 @@
   hasRunfiles = true;
 };
 "nicematrix" = {
-  revision = 65253;
+  revision = 66465;
   stripPrefix = 0;
-  sha512.run = "d27cd52b920a1a0f16ef01f838d3033b21e64112bfa5df2f5e18099885602603ffc416163f39f19e696ee2b0ee5c93f27318af37c20827d19a9a6373dec7317a";
-  sha512.doc = "a2cbec5c55a410bb36829b449f7ecc09f7103afa728a734d0512d0eac763214db6d80b62a3e13572c9e944a45de17a5583decdcf1c6571cf74ea9aaf8bde59a3";
-  sha512.source = "67acb8e3eb9da82ec26261a9f532aa2874f1bd3c329385f806834dc3280368508a6314336b01f7e01a4cb3c4899ba363702dbdca5e9d794a5eca250221b2ec53";
+  sha512.run = "a0dfc9243c15cf42af0b74d6a83f48e427d0f0897732857071b62e1f267d534cc5be434ca4f0cebd5fafdc0db4646e0c63fe01ab2f0944a0619f663d5a3f8bc2";
+  sha512.doc = "a2a78ef8fa041da42e049a7f0044e385c6df994655e47d9821331ceaa48e6737770c9745dde9da64a23fc5f70571e0c49b71db2882590155281a7e6d3fb6019a";
+  sha512.source = "8a0a945961d6691733e60255a431fc5e3aebc0c0ddb49f1b2d76c226ab719ced77c48c47ff3c93e3866aa0847beeaf98dce56453f6cee4c3eea087b9902f39d2";
   hasRunfiles = true;
-  version = "6.13e";
+  version = "6.16";
 };
 "nicetext" = {
   revision = 38914;
@@ -27109,13 +27234,13 @@
   version = "0.0.1";
 };
 "njuthesis" = {
-  revision = 65196;
+  revision = 65546;
   stripPrefix = 0;
-  sha512.run = "bb1516cf8dd5d6e7d826aafa0b6dbcb0559a68c0956cbb09cbf64a2479a9f2fe762521de9aa897eb22b3dd186449f4cc5ba743cda9d6f67655c4fe73b8b882e5";
-  sha512.doc = "af215f99592fb9f655eb2c240924ac8c019139f8932913e23f3d2c13d3e7f56c94b1b05bd9311fa672708bfb1c675d18fab867498fc87a2506694e367165b418";
-  sha512.source = "dc789087b30c1d56075258c1999bba6d4761cd6f23990de735466117d93e6bb2af690eac4db3c8dfa8b533548261a6bff83e90f3003547ea14230ff7d4a5ed82";
+  sha512.run = "169c4f42c03104b2edcb20abcfff38fa8160c3d5058149c43d9773d52375c0152d3d99271ad49f2aebe995fabe30238407463e76e7b1d399482bb43b600ff0e6";
+  sha512.doc = "c68890f2269c0e353cfec67cf822285b365875dccfac9664877ccde0c084860f6888f3657a7780ae775b564784f55c25e95e1deebd23f29f00df3eb2dc9d438e";
+  sha512.source = "ca35eddab7239b1cc1ec60ee42a497dcdbc68451eab8dfa83965bcd4cfdb223e84f0b47bffd560781e2115a0217c52b9ebfe746f1d3357857dc88f83aefb1d2f";
   hasRunfiles = true;
-  version = "1.1.1";
+  version = "1.1.2";
 };
 "njuvisual" = {
   revision = 65261;
@@ -27364,12 +27489,12 @@
   version = "1.02";
 };
 "novel" = {
-  revision = 54512;
+  revision = 65848;
   stripPrefix = 0;
-  sha512.run = "967ca49cb355529bd6c3435aff389ec5b72b5d715c50a86f73b2cfe8209436046f25e1471967259adf8592fec317632193af00c7fe18dda967bdc510096580bc";
-  sha512.doc = "22b489764736c8fe428a5860c7d19cfe4a7e222d4e69005235da6bb6acb9aaa3ba4a66648a29f6a8c07fc39e72b73aa7044f60d2cfceaa0b78ef520e0291a10e";
+  sha512.run = "1b35a599c2328edcba93e37dbb30e19c3e2211688a5c3525cf7da350113955bc421cb33239679f08cf9ab55a4858fed68ef5ca2731de3cdb1fb4d32adb975ef8";
+  sha512.doc = "5ee87a76cb3de38b44c707799d3d72405b3602a98026e96664eb08bffc30641e45d9802355a91a6fc8a4bd8aa0319597d111efd9968094bdd3718472bbd3be28";
   hasRunfiles = true;
-  version = "1.52";
+  version = "1.80";
 };
 "nowidow" = {
   revision = 24066;
@@ -27405,13 +27530,13 @@
   version = "2.01a";
 };
 "ntgclass" = {
-  revision = 56959;
+  revision = 65522;
   stripPrefix = 0;
-  sha512.run = "bb1cd3532f91bde7768a027d51216bd56c8401cbcec4996587760e3289d892d2f1d4efe834d55146026ecab413b04d1f4e8e132a53e3b6f925f4aaf0bc1124f9";
-  sha512.doc = "a58debb1c6a07c63dfb45ea6647db75bb09217a2c7680318cd6ee56575dfde985ae88ba361ea9ed1adb26ecea430e851599ccfa900292e4847b70e02eff65887";
-  sha512.source = "989942960e4cc5320f3bc877cecec195dca4f8263b3de1b0d2a233adedef0380cabc5d017cb256ff8c46889df8878bc68a855a754cdc8b9dd0cd6a7b05242c08";
+  sha512.run = "f0bfad104459f2740712d186f7f9aab20e9860ccf75f8c552a4c80d8b14ece4d503d2aabbd7d3000e1bf05203f41ebd49f2c693b4d36478b631cd27ce71c9c0d";
+  sha512.doc = "c6a6d7302edac0aef33d1747900c3781683c2a0deb4d9dc3cafabda375e9cc92d9b57b6638442c164b7435279d43f208d2ebbdacf944e96c71ee368087d70922";
+  sha512.source = "60cc5982eeabb092b53f1bda76c12e3c090d9777d6a39ebe7b675dfa5dfab27450edac8da7e44539a67af1cf737060e0e52dd80116b8b7f784f46efc9fe7df82";
   hasRunfiles = true;
-  version = "2.1e";
+  version = "2.1f";
 };
 "nth" = {
   revision = 54252;
@@ -27559,7 +27684,7 @@
   version = "1.0.5";
 };
 "oberdiek" = {
-  revision = 64463;
+  revision = 65521;
   stripPrefix = 0;
   deps = [
     "auxhook"
@@ -27570,9 +27695,9 @@
     "kvoptions"
     "pdftexcmds"
   ];
-  sha512.run = "b3f9d5918b24d6191515b459709afb9364a28f44a8b1ad3adc98c2d10c9a4f10316c80070c575fe4a6a06405bcead5bed312ab75553a32d254b2a80b2afbfb8f";
-  sha512.doc = "b7f756ceb7dc619bc1941dfc56c5dd2f151e33c57c51444a11dbe74280a23ac27886da05b4b8d0f33dfe9839a5538cbac5e9d506338c89fb223d82867a3f839c";
-  sha512.source = "688768a47cf782c817cc23e6e527e41c1893fc084702c2ab85e2e4b7df4b3d515033dbae0ea26bf904f6fae77dfce41d21a7b59415fbf67449a3aacc7047afd0";
+  sha512.run = "a07473833a8eb833fa1b149ae6f913219c48ad9ecf9671196774d9b0ea7ac06ef110e3ca18a2a53d7a875ca803aff6e07cf435ef1e6d2020a353df97c0cb7046";
+  sha512.doc = "73a422dd8009d191a24790f5f68b9ae2a5046f3e42e3c360faabb3f7c7581afdf9bf2b20da8609e8d3513135ee1de98329cd4fb1713fce23c5a03fac28c976b9";
+  sha512.source = "ef0eeceef6d0f4d1cc804350fae483d464678397e9832e3bb17214dcff3f789bd930af2e9784bac89a53a39a107a76f88682a93a6323f4dfc18fdcbd1df98f8e";
   hasRunfiles = true;
 };
 "objectz" = {
@@ -27646,10 +27771,10 @@
   hasRunfiles = true;
 };
 "octave" = {
-  revision = 45674;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "f7063b207152ebdbd29da1e93db1b65796dabcc1eee1fcf36a470c6074b7abf239c87f5e4e765f08ec70d8ff7f2ebc8fa29a5590fa9a9d6740a5e74c0e3d719a";
-  sha512.doc = "0fc6b228fff15a4dc90973339f2b155ede7051ce69066e24d7dcdb9c9d5ee162c8d684298c8ef7fae64274dfc4f101dbca8fc38ca68200c36cf901153fc461f9";
+  sha512.run = "bd2876b39a108a398c0b449f4cfe67e52709a4c51be6e9506244e82323735274a748d5e40e6c6f109143e64b0b260d1a2eed350d5ad6db0d09e9d53a307fe285";
+  sha512.doc = "9ba7181b2c8d21f6c478600f702de184ae0fdb7f624fd6501f57fcded9164ee57ab1fb653ee533bae55e552e0a56ff232e1606372cddf26f8f904b7d9e9fd190";
   hasRunfiles = true;
 };
 "octavo" = {
@@ -27725,10 +27850,10 @@
   version = "0.2";
 };
 "olsak-misc" = {
-  revision = 64042;
+  revision = 65631;
   stripPrefix = 0;
-  sha512.run = "b6c44c277127f34be77363f5cb9d270f13e02d6e4685b6d84dc6105c9ae2e83e38b50f31795b9cef75036a217378e8de38702cc08d0cff86ab788b9b2fc2bb2b";
-  sha512.doc = "91977e75eed26f6e615a35bdcdf4d5774a1f001b6ac063587b290fea760aa0a00e1d4bcb6e5be4bc1e33db272e46e79776f5d40f6d2f19b551ba8b3f4d8994c7";
+  sha512.run = "f2bd1c22a294c89c171d3df5ff9fc77d2c4476c7e44e7f0e26b07780467570ef852384e510a959f75b9226d4962b6163d890dacfc9341a8657d9b9d5d6e76834";
+  sha512.doc = "856c8ff6d539198f7057e45d5da22bd4120bbe1915fa11b5cd6dacf6b13354df49370dee55d024ed8ff8be29ab83dcc0a786db5fd1f72857bcef7f47d3167f8a";
   hasRunfiles = true;
   version = "Aug._2022";
 };
@@ -27780,12 +27905,12 @@
   version = "1.1";
 };
 "opencolor" = {
-  revision = 64403;
+  revision = 66372;
   stripPrefix = 0;
-  sha512.run = "25b6195c30c6104b845910418e935b5891c09732bc0cb1c70421a5d2c6e0bf276937f6d2231bf8e58133102b489e0fdf8d19041393bb38fbd67e540438a6bc3a";
-  sha512.doc = "2c42910210c95a3c9cd8dfc667fb09e7ab152b4e02fa34b20243cb8cef4c7a1fd8bef9c76e9038dca960a7d26368bc3429700ac8375e8bf10728e27723ced25e";
+  sha512.run = "dd2765b31c111fb3c254e372c2ec59b65ea578859ae9b51a0da2c69950436d170173c66ba7bd2c51ae00c4b6afdba8fc35f48639485610bd358bea30d5efd4f4";
+  sha512.doc = "fc563574c13ba82dc3e39d137da510037b568b755d67b7046121e342c47d90e4519301dcbe6e8e52e6188854cac432e54d3bd4adf04ce6f3c2ee142bd1dc073a";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.0.1";
 };
 "opensans" = {
   revision = 54512;
@@ -27812,7 +27937,7 @@
   version = "1.0";
 };
 "optex" = {
-  revision = 65185;
+  revision = 66516;
   deps = [
     "amsfonts"
     "cm"
@@ -27826,10 +27951,10 @@
     "unicode-data"
   ];
   hasFormats = true;
-  sha512.run = "a30b58b6dc9a1e06c3bf2fe196532ca88e5bf9ebae5e36f5ec2b9f146f95f18a70df2b15698bbcfc51300cef2c1b25c28521885c2ac1a44c6bb8cc485eed8739";
-  sha512.doc = "8b7b46ab7984a0d1f590adabefb99085734532dd0dede6c429fdaa2bcaa3c2dcd1d0e70d37ae3cf9a109ab018f0fd29a7bc36250b8bf5d12c41ee4fa21bf9ccd";
+  sha512.run = "6bf9c1fa24209cc10b624d630010c18225a7034e9f146f557b5ae7e522260094767a4e81c1b8b4d9b01a3acf560a4fd8991796b386e01483e6908b7357efaa6f";
+  sha512.doc = "31dc2e58e6aa17460f2cd26001fd94e0e11b0b9522a3d0c182ca9048909c0262d97f6fc25baa74af6ff82bda8798d9df49374bfba1787852186c5c7b8d2a3a68";
   hasRunfiles = true;
-  version = "1.09";
+  version = "1.11";
 };
 "optexcount" = {
   revision = 59817;
@@ -27963,6 +28088,14 @@
   hasRunfiles = true;
   version = "1.2";
 };
+"outilsgeomtikz" = {
+  revision = 66465;
+  stripPrefix = 0;
+  sha512.run = "b85975fa408dbb46dc8117fb21ab7362b2015f528a01a98a70297eb84420b717811f49f58270a6bc1fb87e744c30350332b3e1cd3284296addb0de8c3884b001";
+  sha512.doc = "39b97b238d339513a2644b2d2720d67cec5ae017b5020a9fcce50e4289fcbb7c4144a8a2d8509869e67869ee2fa3da89ad4927a576d110cfc4e71c14236278cc";
+  hasRunfiles = true;
+  version = "0.1.1";
+};
 "outline" = {
   revision = 18360;
   stripPrefix = 0;
@@ -27995,6 +28128,15 @@
   hasRunfiles = true;
   version = "0.1";
 };
+"overarrows" = {
+  revision = 65853;
+  stripPrefix = 0;
+  sha512.run = "5c2d386bea3d2358e7c6baffcabdbb00411895a45b0500f60f139435b55fc86e6c2c7d7bf96a9bf38300f4d217606ffcc4f212523dc5a7fa1e35b7eb4358fe3d";
+  sha512.doc = "1e5c39621f3790fe752c8785f5264b842ad00d7eb3a5fa91c41fb8f3c0a84c85d8be00b553a74f1750bfaebb6f97f7c462d9181c7b6afe9547a38b9d3f431b5e";
+  sha512.source = "57b1da2b639cd7b2abcfd8b98c8e73a704b5a247b78ed8373aa3059744eaa127314abe34fbca474106b5a3fda4bdc6dd8f2d399e082eb7a6e6396f77b35309c4";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "overlays" = {
   revision = 57866;
   stripPrefix = 0;
@@ -28045,13 +28187,13 @@
   version = "1.0";
 };
 "pagecolor" = {
-  revision = 65120;
+  revision = 65843;
   stripPrefix = 0;
-  sha512.run = "301700908e2cc2d089526feb7d10e64477f682a8a7870715e367d6a072d3edb7ed799b428232e1a09645ab1ef0a2476947352be904efb6cb0f88bc21beaf6b72";
-  sha512.doc = "3240ee5099559386d9f54e0a1101f0bfce8f30422aa432ba1e17c837d40211c05aac5192133571a31304c749389bbecbd51779003e7ac2cdf0546f3e08bea70c";
-  sha512.source = "c7c4a27330ce123361526bd1fbc2f3a341384660c18c3f8b58b52e1dd754bc5ea4183cc54f1fb029360ab941410109bba7cd4c3b9811ec69b199fc88c7aeee82";
+  sha512.run = "126ed61dfaed5f680d4055c6a19c4a1842f7b5d49e09e280f2dfa36886211881ea1b94197f20268aea6f0d4a3237366eb8b6eaf22e46934b59c4462ffbccc264";
+  sha512.doc = "963f381fb9968d613c5a1ef805342111c423dfbbb7700761085eada847aa526170342c7751e5f20d5784fdb4361b1e4631f875843dd7559fa435372a74987bf2";
+  sha512.source = "f693f0b418ecc9a7bd70e33f5ec497d4cf91cb5baa1f6aed92e11b94bd05185bad6c5362d1c3fb227aa7f533e7c69db082eab9ed7f59d49115e56400f11cf97f";
   hasRunfiles = true;
-  version = "1.2a";
+  version = "1.2b";
 };
 "pagecont" = {
   revision = 15878;
@@ -28071,6 +28213,13 @@
   hasRunfiles = true;
   version = "1.6";
 };
+"pagelayout" = {
+  revision = 66399;
+  sha512.run = "062652a39fb6aed7efcc700f4a47a94d2d7307be4c79a700ddbd7a40247eb3dfb0373611469a6e624f8d24e355dca539ad822d7b41d81cad6475ceaba06ab2c1";
+  sha512.doc = "4f2d2790ea9ac43457b07b510eb95d91c5f17b36cf65953ae4de4fd0f483fdf7dcfe9f76c4e186ba3d55fe48c396d220a5a6e05b3306444dc16ed0339ce70abe";
+  hasRunfiles = true;
+  version = "1.0.4";
+};
 "pagella-otf" = {
   revision = 64705;
   stripPrefix = 0;
@@ -28130,13 +28279,13 @@
   version = "1.1.0";
 };
 "pangram" = {
-  revision = 64783;
+  revision = 66305;
   stripPrefix = 0;
-  sha512.run = "1c761e854ce0ace3e2f1283ea72687ec015d06dee28ad8d8e27cdae33aaf792f8c95373536b41d4e095adfba225ca4d29ab0c7d89ee00bcdce7cf6a514f7a2bd";
-  sha512.doc = "e33b3d2d5e1d705e79e6a4ec941cbeb2d9ccda8957f58a7e0388af2deee41910f025128865e8e313f8792491d568a6293d69093917d85c599749bae24b3e95e1";
-  sha512.source = "6d614865247acc52186429f108a8a2f0f5c2b6a5a6a070422ec8254f63ca7d4916d5bbbdb0265c64c1c0e51a8cbcd2eaaa675acd84df65637ac2f745fe2ef8df";
+  sha512.run = "6416585df4c53b96d43098c5cd1b7652ebd671f0e23bdd0a3a35f4adabc74fdceb5612c9268072bcd825eb612d9b6e9d160b9fc20f66c56733b273ed72297fc7";
+  sha512.doc = "2f9e562cfd2acfc429216e481af0527665d244d011a548ded1c92d08d20fa8c42fa62020dccf67c5af3b3dc1f6ca79b5f856d5ee13afcc19935096dc0dec4d18";
+  sha512.source = "f4612d1f8f58dd8cff8143ce59f4976038d075b771860ea8b11210933862413f2f48977c02ca89f56e168ff64448cf414a0442fdd9c10a4507059eb2d8b94022";
   hasRunfiles = true;
-  version = "0.0b";
+  version = "0.0c";
 };
 "paper" = {
   revision = 34521;
@@ -28463,6 +28612,15 @@
   hasRunfiles = true;
   version = "1.7";
 };
+"pdfcolfoot" = {
+  revision = 65512;
+  stripPrefix = 0;
+  sha512.run = "40db84311e460e79e6627bb3692afa56abe6c0f335f054955fa4f75c11b4c2a4f65c9c77ca225e1ceb37b3dae6727f27ee4b6e27a155eb1fdf9b053693490537";
+  sha512.doc = "afd7cfdef3e0290360251ff1de1fee17053229d89dc88e2275a3b94df8a9b5235ba462cb66eb741e541e8d59a9d0eece345c521c87f33fa5fa99e5d69d139ac5";
+  sha512.source = "e857b9d671a5be1737ea4d3a002aa89d6155aa6e89fbd336ee77189fc61a85b8a3713a631efa8078894261748d39ad029e2ac40a91ac1b97ba4b82f6fc054b3a";
+  hasRunfiles = true;
+  version = "1.4";
+};
 "pdfcolmk" = {
   revision = 52912;
   stripPrefix = 0;
@@ -28536,13 +28694,13 @@
   version = "0.13";
 };
 "pdfmanagement-testphase" = {
-  revision = 64931;
+  revision = 66534;
   stripPrefix = 0;
-  sha512.run = "100e0975abefea1ccb9ff4eff625d943a1076d22f61117bfdf6f3e0d496b37f8ad719d1db8f7ff117230d25745090636293e5f1bbf394ec2dbe379c4107b8664";
-  sha512.doc = "38867f8ef9ce941ac59557e51fd9338d9c5113d0b0c9bb4e591085e7d40b84d45b66c5cad0236059cf07e40b56e527892cdcd2f3680cab27f2f3f7d68cdc49d0";
-  sha512.source = "26c2b7269babdedd4019da3336f52cdac8c047420b560e9b17c8d88ac270e19f8d6a94d0aa587a7fc8b4f86f75d611744fce989ba86861c360b281de6b7f30ca";
+  sha512.run = "917ec60e918fcf8f23fe44eec39d9f31e8edecf2421b3b2c4c4e015691d13d568a33b4290d0db6318362c51bd67cd64b329c3f6c8a755c35609a02b908d15be0";
+  sha512.doc = "b4359b695dbc834aebf827b91b8042f9cd57a3f1ae67459e2ad1dce882fcfb1d9042a781f24faaa13bdd7bf1547cfe693cfa422960fc1ce90d09138de2e11da4";
+  sha512.source = "08783e1c58f595dc5efc13ba4660de5dce1660615ca51b3e5404daaf99f2fa17c5c2e34cfc4d9954a320358bc770eb005a6d9127132a4e0add5ed189dce49e7e";
   hasRunfiles = true;
-  version = "0.95t";
+  version = "0.95x";
 };
 "pdfmarginpar" = {
   revision = 23492;
@@ -28649,7 +28807,7 @@
   hasRunfiles = true;
 };
 "pdftex" = {
-  revision = 64690;
+  revision = 65808;
   deps = [
     "cm"
     "dehyph"
@@ -28662,8 +28820,8 @@
     "tex-ini-files"
   ];
   hasFormats = true;
-  sha512.run = "f35a908deb539efbcab7f7db6b8d1c0aba08f1e6aa1fe39c4f7235d2cfddb61e14252fb71f90df1023a6a30809240dfb45905ff21a0d899a5c480e1b007212ec";
-  sha512.doc = "018e860e5fc2222cac7d1f00498d74f3ccac00a10d0d226f2b2dd49d9941381ffc5341dea728155c3c0a4b39482b5b7c08e94c26cda99cb561b5044a6098beec";
+  sha512.run = "a7b4d8672355fc3edaa1fa0b31ea4009c7dfe33d779c82dd5c2182c1b136f745c9b3fae6089b14458f0ac5d5491f0070c9232eca0fbdc27320ccd87d2f34f50f";
+  sha512.doc = "021dcbddbe4759731e9411be407a5e2f0c66b04fe22fc5331420f0dad295d3d28109352a962f6d83966ee7b7236bc1bb5aa2455074c19e032f01af415437efb9";
   hasRunfiles = true;
 };
 "pdftex-quiet" = {
@@ -28828,7 +28986,7 @@
   version = "1.0a";
 };
 "pgf" = {
-  revision = 59210;
+  revision = 65553;
   stripPrefix = 0;
   deps = [
     "atveryend"
@@ -28838,11 +28996,10 @@
     "pdftexcmds"
     "xcolor"
   ];
-  sha512.run = "c02a5b4a0f3aab13d39166c30bd456603de012ce6089662ab0b7c091ac906eb5c1719543246db97ac49cc109ad05c1b1d59330a64a43f82689cddcc86a465d06";
-  sha512.doc = "360aaf8f3a2b2f531c9f24c777fdc687bae4a40b2d03f99f081765690a94711f63902abc3e9a602fc2d2d5bf93d3611cf40e7082fab7176fc0fba07876485238";
-  sha512.source = "f2779d8172a81882263bd1ff7ec17766fe1273cb824e7fdf695704dfb4575ff0aa3a77ca264e4c57e4c4cb232bfc87782532dcdb69de00eeb1ea3cc23392bb7f";
+  sha512.run = "d7fbf0dc83f88a2f6d2de3117365d3f4ac2379ecbc530e343bc3e02ac8083e9a9843d479d375d086e39b6377b21d2fcba22883485e040fab1601642ba80128b9";
+  sha512.doc = "e3be45f63b46124218592ffb8083998b9d25e81dbba7ec8ee58d578335247b05ecc46c145f5de8b859c72dd54cafac58ee784f9aa33888fc129817c66a819568";
   hasRunfiles = true;
-  version = "3.1.9a";
+  version = "3.1.10";
 };
 "pgf-blur" = {
   revision = 54512;
@@ -28853,15 +29010,6 @@
   hasRunfiles = true;
   version = "1.02";
 };
-"pgf-cmykshadings" = {
-  revision = 52635;
-  stripPrefix = 0;
-  sha512.run = "8634e486cc07bcf10af1abdd94bdf543f11bedc7fceac2f154a8a579920a7467635eae17cd62524b7ba7b2345f26cd4c4b50f8098b01b4f30eb15a120e480b92";
-  sha512.doc = "e3e301f4979f47e16b9804a50d23575302ee3abef1c5a4dc8ea9aca3d94502c378f805ae54c61d7be9ccf78e236dc0a6c0bb54de47a515cc3a5350381768cfa8";
-  sha512.source = "77e6713be90d2555db73f19588493718d390878187d8d0452ba571f2d98c47f3cdaed8ddf423a8c277688107f62f38654c991e17b820b9af45a6c05aa27ca30d";
-  hasRunfiles = true;
-  version = "1.2";
-};
 "pgf-interference" = {
   revision = 61562;
   stripPrefix = 0;
@@ -28871,12 +29019,12 @@
   version = "0.1";
 };
 "pgf-periodictable" = {
-  revision = 64974;
+  revision = 66035;
   stripPrefix = 0;
-  sha512.run = "ef841e298978385e4391fd990ef2b02705962146c0bd4f3c500a826176d970178b431a0d4c102f7e6048c5c8ff6b26d5c5c09a96575b66034d6171da20a009a3";
-  sha512.doc = "11bf5d309843fa711e15f67f655aa7963ca9ed51a2cc3fd4f0623b6b4966515abae8754773c9c15688c95b4a1b7852ee37a604d0c45be41920d92b12802d88b4";
+  sha512.run = "10457ba244a86028ce10e39ae6e04ef560b9fb1a90d67222a212d292812407c33d38dced4123e37cbdb28ab38c576e0ae95a6fcaa000edfd70013b9fc005f60f";
+  sha512.doc = "72559f777704db3b4188dfa74b74e00dad12dbc90dff4843cb56c2f73cea4acb35a87692682f7acf83302d0f7ebd1e86289c084ce2ce939efb0bb388e7e68165";
   hasRunfiles = true;
-  version = "1.0.1";
+  version = "2.0.0";
 };
 "pgf-pie" = {
   revision = 63603;
@@ -28900,12 +29048,12 @@
   version = "1.1";
 };
 "pgf-spectra" = {
-  revision = 59827;
+  revision = 66034;
   stripPrefix = 0;
-  sha512.run = "b706196e5f4e3a17f1a7ed4c6d28774475da146a9fdea9896ffd668cdf102e32715c3d5163524181735a39e941cf9ca3252d2acba6a926f90fe06ef2db2f4b48";
-  sha512.doc = "bbf129ca41d040a9c044f533f948c2e9a750f4a3de3366dd30bec525b3f87f5f185da596952bd92a13f116cf94edec61683236145644fb91033a9c32e26eff0e";
+  sha512.run = "77417ac12e5f167a8da17ecf89faf05e0a62350f1ddbe98bd646beefa0789082949bf52da226e2ecc6d8f3a0a98c879e19bf981c314d0201f21613ac7cae8049";
+  sha512.doc = "aec16a4bc139e5b4167a4d9fd13c87848100ca09c7b6e2835c3641f46c4f383dd4de11504bda82d27657770fabc74887a0ca56c22231f4c85d51000a679e517a";
   hasRunfiles = true;
-  version = "2.1.2";
+  version = "2.2.0";
 };
 "pgf-umlcd" = {
   revision = 63386;
@@ -29164,12 +29312,12 @@
   hasRunfiles = true;
 };
 "photobook" = {
-  revision = 65022;
+  revision = 66554;
   stripPrefix = 0;
-  sha512.run = "cebfa489c38b7c68d113d537a5ea813b41dfd5eeb6b6f26100077e5f71812f2bf8dce407f14907eecc1d2444b42f7a204ef3b1845877d1d785556e2a5c71af5d";
-  sha512.doc = "57bedc5dde3ea8872b88beb369f4780793d96e077d61dc2e3cf934df6ed39b739b1e14df9e5a7378a81d6a1530895cfa11d48ec25cb73207110234868ff53dbf";
+  sha512.run = "b923c2f7fc85ff5a24d55a697b67a536ce688cd2ecc9e2c50c8f6492f9c233faacd59b3d5dc2362ad6ae4c9714a7ed6a6d8fc2d3f24e6558420f59b342e93b59";
+  sha512.doc = "50f9159efdd002da22ec5c969193997213b6226b710ac86e7836d58b2b874cbd87ed5ef2429f2a7d7ab1f88700ce86e81dfd64c903979aefe4e7b88142bf6166";
   hasRunfiles = true;
-  version = "0.1.5";
+  version = "0.1.10";
 };
 "physconst" = {
   revision = 58727;
@@ -29188,6 +29336,14 @@
   hasRunfiles = true;
   version = "1.3";
 };
+"physics2" = {
+  revision = 66119;
+  stripPrefix = 0;
+  sha512.run = "bd5630f6003229600f47ac8c5a03a1481707b7293a358327307e8dba582155953e0f29a58b8a4aee53eb403be9b98f09d0cb0a653ec63603b2c694d9e83d050c";
+  sha512.doc = "05179baef4d5f238fcf817007c7acdf9be9b8701283eaf7207fc7626fde9982841bb668f5faf18560ea500e39f7a7fa2cce09653572bf854ac16f79f2cf5a999";
+  hasRunfiles = true;
+  version = "0.1.1";
+};
 "physunits" = {
   revision = 58728;
   stripPrefix = 0;
@@ -29298,13 +29454,13 @@
   hasRunfiles = true;
 };
 "piton" = {
-  revision = 65143;
+  revision = 65835;
   stripPrefix = 0;
-  sha512.run = "da83c35df29919fd8297fe7aa1039094157c33f3fef2dc3109875f50b6e0a78d415adf7737d5edbd91c0b94a80017cc625a9de6c0c0d873cded8b070c0af2966";
-  sha512.doc = "cd8b3b8adc41b66eb511bc5099d6f36321c33950ee89e270c0ec5f9bc90f74a6cc413d247c9823669d459493741b6f7ae512dd5df6a3573af38925d8571bb790";
-  sha512.source = "32c7b8afd14cdfe8d317c56821122f1a1f8de2ec6947b7b44d6402db42b81e04a46d049a76f26002fa1e52bfda1caa3123ae9bc7204a3c0073790ea626a58354";
+  sha512.run = "431d6967b4825b4e36b2251d59571f57ef3f20d231c4f215d67ba34ac5a105de25c8f2044b4f7a5bd774a906bca4d98bc77b76e3b678b80c57aee4d1c6d705b3";
+  sha512.doc = "ef3dfcdcfb807135535f52859c6fff5bc46e78e979c07290b96c50fa1f1ffd3fea1a17a619c23f4aeb1fc4d0b21313d841b323799ea050b38b9bb1575d974c62";
+  sha512.source = "137f87044f7625fd7db4c4fd43957f929ada766248d262c883c111592e00e63f613201c0641a50917bb663adb6c976af7e91f10193cb9cd985eedf5f27d9f52a";
   hasRunfiles = true;
-  version = "0.99";
+  version = "1.4";
 };
 "pittetd" = {
   revision = 15878;
@@ -29316,12 +29472,20 @@
   version = "1.618";
 };
 "pixelart" = {
-  revision = 65075;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "8591f3b2223f06aba4d1366f77ebd4068edb125773e86c54202cebfe6a0b66aae55db11f4da3085e2f4068bf82b2149c79524274db3e02910f560bfb0ca920ba";
-  sha512.doc = "231ae3ced6626612dbe75ad2e0fc7128c7b8fa34d2485709fbb2bf274a5b86fc71f17750777303d8c70929b6c7763c3c51cc90607816fcd04203c2d29fbcbfcd";
+  sha512.run = "c8a6d0d595040564878cd8ed633c9cc807667bb5da63b38002595dd20f6eb9134930f3cbf6382eef3cd5c760c9357ee6d1020fcd8ed3e2f268ee3d7e85eba847";
+  sha512.doc = "700cbfd670ffb02230b8b1b595efe8e7233fec8a721be6b957130ef64acfdc60a2d61b8333a8b99bd3c77d643a72872f851bd2b69e5c76b416b1b2a39df24544";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.0.2";
+};
+"pixelarttikz" = {
+  revision = 65649;
+  stripPrefix = 0;
+  sha512.run = "a22bc217cbb20081d44684180f40da9883a17f133f8214ef141ba25924657f51517189d567c08f71e76b6cd3704eae4050d4757479925f23a9e5b5a8faa90ff2";
+  sha512.doc = "2a3e6ed9f865fb75a3ae7089e00e3e8cfb4ab5ad20eca21f697022af5342f292505de24814b6137a31d6aa05f204618cb94f1628d8bd51e64530d898b6cba5a0";
+  hasRunfiles = true;
+  version = "0.1.0";
 };
 "pkfix" = {
   revision = 26032;
@@ -29446,7 +29610,7 @@
   version = "0.1";
 };
 "platex" = {
-  revision = 65305;
+  revision = 66199;
   deps = [
     "atbegshi"
     "atveryend"
@@ -29468,16 +29632,16 @@
     "unicode-data"
   ];
   hasFormats = true;
-  sha512.run = "53a9c0137d35110ce5b1875875f2b5e20d9db884b62bf25eea4a9d9c2724ff6e779680c060ee2aad5ebf36372045b3ef7d711658f6d50af4999e409f5860c09f";
-  sha512.doc = "7b47db806f6a79ab99c19833f3cbbfdb2bae594f370ccb51288df95c262680a7a789888952edb542321d899f6efa0d4aaec6b9d00adec8826b8a10c4db2d3c27";
-  sha512.source = "d5b1ff717faff473bc51ca22f088d6430bf7dcadf85644f2e9f468950e0f2069fd4019e61041efdb35f8ea686ea85c20bb48594ee115e016e5edf11d9755efc8";
+  sha512.run = "f5fbb5629bd73cdd7eb69917526528b10c905f603ff2a5c2cf77445f7250777e34d3a374e6f26ff4fd8fa2a362033cd6bfa11493501cd8120c47a351bc611f51";
+  sha512.doc = "2b3751cff2502ddb862774f58919ac98f9a233f02ceba6f2756de3659ac4555831d4af03276798cab9b02ad0152f4a9f0c313ad3ad9af58f429ea54d23fd131f";
+  sha512.source = "e78fad3ef13b2289e88b0844528c0ecd25f1052e2aa443f79a7b25aa72a7645ad576a20e4dcd16412abf68fbf50cb5f4763dc18410813371d9b984afadea9fc6";
   hasRunfiles = true;
 };
 "platex-tools" = {
-  revision = 64072;
+  revision = 66200;
   stripPrefix = 0;
-  sha512.run = "c226a65e82d5b032b8c35efa465e40022a2dbe12c3b63206fe941eb6bf1c544de58a101ec70efe3b511f9db4c3b5a761a17155d29eaa9a1da61a21b8b9c3bee9";
-  sha512.doc = "ab47f50759ac76935e45894cbb6dfbf6ab253f3ad597c04410aa3b3fc791b4638b8fa9ee110d7f283328301790d48df17f118fd5835ac2a20857b40de49777fb";
+  sha512.run = "4fa016b2ce5143df289c770740ef7e9e36afe68711fdb6380eb92e093c0731a994cdfc4e7e199d529865c14adbda5854ef11487d8d60023d4c6f87fdaaf80a0e";
+  sha512.doc = "cba939ea44e75600efdcbf0e9254d0e76c36e69f4dbc1944e5fa048ac967fe99a08fb5a68f1a806f8666e04d1d5fef5bae72c84f3379b3e17522d81eaeeba881";
   hasRunfiles = true;
 };
 "platexcheat" = {
@@ -29594,19 +29758,19 @@
   version = "1.0";
 };
 "pmhanguljamo" = {
-  revision = 64361;
+  revision = 66376;
   stripPrefix = 0;
-  sha512.run = "1c70bdc0703abfb72865c6f6578d0f4f783a8bf5e22b9adf090c8ceecd209905cb49f9cd0dc240ed76cbef35e06da4d0077257b200c035f7e7953917049929d0";
-  sha512.doc = "1c44249db48547e8fa69264a3e240c6bf353081bdfaa4aa29bb96de73161b1886ada47d0057e1e10c19f1f664a5671b7e746be66d86026fb3847dc911f134bba";
+  sha512.run = "953d62ddec3948d6904b9a5fc9d37207fbf9a67a44c243fef164ff60660bb5539a5e110b436510cf7ea74ef5ca1a2e07797cc14667af0bd598e5f2f4a96f8bd4";
+  sha512.doc = "2447a1cfb7b8c1ded0db1965d342162d8a13aca6df8f0827c33475abe97ce3cc80e921ac5857f49d960fe83500f5c323bf6f8241dc089d4e35daa7155bb99079";
   hasRunfiles = true;
-  version = "0.5.2";
+  version = "1.0.2";
 };
 "pmx" = {
-  revision = 62533;
-  sha512.run = "b9eb6d7a007fb88d4a5c3cc429954ef26910d287f201eb8bdb474df171d9eda7761772b64421ad35598ed9cda8c5d2eecfaab499bf5115fa47da6341669fb10d";
-  sha512.doc = "c15f25b353edb048bd1b04a82240d2fe3b49a5556678a6a5f771f2fff3b4840786d42161769410e0a34aa0e361dc9635bc2d3e7c6d2699612f9f4ddd518e39d4";
+  revision = 66119;
+  sha512.run = "90a0d9a2782885f90c361fe99a5c20e761eabde7b79140f8c8cca25bb6e731a8bf16988328166aeddc80c37a45cf9d6ff71e177f85338dab6953276462625346";
+  sha512.doc = "15600a9b81fdc4e7be4581cc035b6b75bc08d6858003d092382637304393946e1b38d8d693e4b62f86707b29c37a1dc9ad0665ae69f16cc8ee672bd2f537f650";
   hasRunfiles = true;
-  version = "2.98a";
+  version = "3.00";
 };
 "pmxchords" = {
   revision = 39249;
@@ -29686,7 +29850,7 @@
   version = "1.101";
 };
 "polyglossia" = {
-  revision = 65144;
+  revision = 65792;
   stripPrefix = 0;
   deps = [
     "etoolbox"
@@ -29696,11 +29860,11 @@
     "makecmds"
     "xkeyval"
   ];
-  sha512.run = "65d91b180f748592c2eb7a98232b7b438c762a56100294995454e54d7759ef00076d63d90660fcded3d0ee5aa03d1a4b328ff3706db1926be2546140325e8e96";
-  sha512.doc = "88867dbf5e218720a13e0ffeaf0ecc3784adbf5097c99cfc193f35be1c99c82c459e0e27b1e1d72cee1020549bc6131b8da03a47beef42f59d53b4fd4fe036c4";
-  sha512.source = "e037d2a8c0bebf37a8ed3dcdae764dd2cda3d780379ba70a67eb46447936816e8c43122d691bdf58122fcc7a96f2bcf3d6710d71bf5bb378cf0418efd40ae37f";
+  sha512.run = "c6d044ae7de7893de975d7bfc36c7f793c22cc91436c614d817f6328017223e303581ca3d870b0c6698979924437370729542c3e03be059eb90956d25eb7102b";
+  sha512.doc = "430c57ca35547c4b90abac56e46451ea9a86e95eeb0dc9a5a312d441088d07c54606369e47d69ff163884a95f371902050e6880b4a2a037d2b75a3700536eac2";
+  sha512.source = "41fc852cd9f1ac77b4bd0aa4bd57a9b55ad9b96111fd81dd1fa743a56679a6c4e8ceaf34cbc16dcf84a5636499d35923318cc1ac37e66f4ad6594c4c13d257c9";
   hasRunfiles = true;
-  version = "1.59";
+  version = "1.60";
 };
 "polynom" = {
   revision = 44832;
@@ -29762,13 +29926,13 @@
   version = "1.1";
 };
 "postnotes" = {
-  revision = 65007;
+  revision = 66027;
   stripPrefix = 0;
-  sha512.run = "f1d4b783c1e434505d6704df585867f1408b166c932ca0c7ee569f8f052bccf11e5d373883e6be6b33d21b3f733d1f17dba2f40dbc53606bae88b1e7c561e604";
-  sha512.doc = "ac6a2a9da1b26fe0c22cc983e960a206f910804e8f42b817890523561ea76a79e9ea3f7d6be933fb6d4a26f99c17be853ea08c94ecc5a4321270c22ecbe8d5f5";
-  sha512.source = "78c1cf9bf3385bd01003a20f93a102ea2254c55c8c0cb239d2237369dbc6ba3b4593df6c530f38194f3e330e5643b8e2e6523e4c0a101d85b894397889f25506";
+  sha512.run = "2a70e5ae0142e9741c7163374478b75ce18dbb9fc637122defe4fbffeb288e78804c16ed86a02328d8c44807a35af46bca6955dd5307421bbec9bfe5be963760";
+  sha512.doc = "8efde23d1358c10b508ee8ce544a6d41d690803469d7159a6db16c1702b82352ebe62291d50298231bdbc848ffb60c5544ea367c1d9be083806ef097e50b24ac";
+  sha512.source = "1d4ba4872e3b2cb7583cc2f718b8d459e82716b63f986208421a869c3daf2d722925b1be716b7232f0b30e097bdeeea9e8dd2cf49643242149f54cfb135fcc82";
   hasRunfiles = true;
-  version = "0.1.7";
+  version = "0.2.3";
 };
 "powerdot" = {
   revision = 59272;
@@ -29990,12 +30154,12 @@
   version = "1.1";
 };
 "profcollege" = {
-  revision = 65122;
+  revision = 66371;
   stripPrefix = 0;
-  sha512.run = "1379f829d5667aba6c3c95970345aa1b8bc57d729ebd4f8c8ebaa796622bfb8e31b3e44edfe1f03c29792831dd21ac40bc9dac199b51bd510021c7efffb901eb";
-  sha512.doc = "3b5c93a0827e15ef82aac2563a35bca7a340ed4cb772b3477ec1b1b61c993ce52471de2bd4eb506302b28908f694c25c56122c33e0bf219db1472eba4636b99c";
+  sha512.run = "cef2b7c2e971f3a5d8424e447c4eec6c7fda96ab2483c832922b7094e98a0c4f899d11e4c1b9c2c02be5114107fd6ab803459e6062fa728d57784f1d7492a82b";
+  sha512.doc = "c99b666e80fa5220b982dc490f7396a630b2038fee9c0edecaaf36686fa6cc7f3bdd38ef187af3862e1e7a68a8daf9732375da69a2a7b3737bd7c53ae509c729";
   hasRunfiles = true;
-  version = "0.99-z-c";
+  version = "0.99-z-f";
 };
 "proflabo" = {
   revision = 63147;
@@ -30006,12 +30170,12 @@
   version = "1.0";
 };
 "proflycee" = {
-  revision = 65313;
+  revision = 65977;
   stripPrefix = 0;
-  sha512.run = "396442231cf95e99fb768938a61541dc580cc1b7fa74d2b165d89f812b319a7b0327e148c06fe2a9929f125ebe2660d0965bd397718b906f963da188946f185a";
-  sha512.doc = "c2ce91567fd11089d9338c832b61755ef76407dc1f57498c945e9167a294d255273df58b8c3e0a945c8646cb7c2994000dc2fba81d81e16c92157de8f967c237";
+  sha512.run = "362f7d87e5e29d06ba4e08e31fa27dc125051c712d4afdae1a50f101af5d7b0c277d79b503724ed89e66ce499d6540b7af81c33ad9d008859b8185b040e4042b";
+  sha512.doc = "8127d993f10c8be4b12822f7fb337564a0a02d7f4008d492c4dd59e7f22518877987f767ab06b3fdeff32e24da15befbe465e6e8d018b9daff3e5e2f77bf9ab0";
   hasRunfiles = true;
-  version = "2.1.0";
+  version = "2.5.3";
 };
 "program" = {
   revision = 44214;
@@ -30038,11 +30202,14 @@
   version = "1.0b-4";
 };
 "projlib" = {
-  revision = 65023;
+  revision = 65475;
   stripPrefix = 0;
-  sha512.run = "4a0ce2a8b3a299761588581c4047ac63533b99dbf22c9264b1e3d6871073da65dea8a8b0d1e64c0956eaea7592c1570d94d0a3f5ef21926a3693c74e8b701a5b";
-  sha512.doc = "24a5212684294f94fd15466102badf4819df6a8bb3330e79089a302adf763664252cb279116033b78a25a3ecaea8745767bdd83235653171858ea2b5cbe28adc";
-  sha512.source = "f8352de2bf21cac12246173c1d29d14f3f234937b9a549e34ccba4f02f61e470bf5eb94adcf18a726825a9fd33530f8f0f55458e79a50f4dda6c706c56d2c68b";
+  deps = [
+    "create-theorem"
+  ];
+  sha512.run = "6daf672c982bbcaf73fc726aa6d3a475c3b0673f22d6f30156daf1235b9d2798d7359134347f1349a557586f8ce592c421bd536766aa7246b2eb07c04e102339";
+  sha512.doc = "7be28ac70142ba767138164c98240da1a9e37b864b01ad3c4f71ee3adf1148e5059e5bf4cc87456baa2109160de9ac698657a749a1859ef5a1333101637fc1ee";
+  sha512.source = "20228363e654a1329cc5579094fa4967534e7a07d7b385763531b90b2f436e688667880bf962025110a0b693c2957585d3cdd8ee98344ea3b26ba791d572d73c";
   hasRunfiles = true;
 };
 "proof-at-the-end" = {
@@ -30146,12 +30313,12 @@
   version = "1.0";
 };
 "pseudo" = {
-  revision = 64182;
+  revision = 65690;
   stripPrefix = 0;
-  sha512.run = "f3c6e0596180fb9a44540a0da8565af8495f94c9d2d7880ace0420adeafa0f273838134e81c6ef9983991a6efb21eebbe590be8d24e842c2abd5df51f78fe25b";
-  sha512.doc = "67f87f3f4df0232c41961dea8115a48f13b0ceb722b4011e4fc2417580d7aafab80557494fe91cc53443caa8baae958fc128608c251aef86f4f2158fb5b8e249";
+  sha512.run = "553146a32653fe020c708b3b3a05285f3be5e8b9ff97e6c6e1593986438bb5e7ed4c094f3bea4c2774ad3897a44cd5b4a7e6a864e7423da351400058db64ef62";
+  sha512.doc = "c32b1f5de9d13099b4eeb2dc9b3036e7199ed5ddbd90010de0846f077373bd90fc6ddbe188d00bfd6a7b8f4f421907281a7152c8a09a8a8c03b820f95e9247e8";
   hasRunfiles = true;
-  version = "1.2.1";
+  version = "1.2.2";
 };
 "pseudocode" = {
   revision = 54080;
@@ -30487,10 +30654,11 @@
   version = "0.02";
 };
 "pst-flags" = {
-  revision = 65367;
+  revision = 65501;
   stripPrefix = 0;
-  sha512.run = "4d966e2a26c559009d2f89727954874c74193948f7ba894926faf32fb97eae9e0b7975d7103e40e7b6b826692eb2d93a8059d0b8dfc67593c64c015f97cb344d";
-  sha512.doc = "49c1365c701fd013107c0e86332b5bd2844923cb194f4d1dd62d782e8a88f4ae9876030a33512cfb23091a14d91320c9cd054831608333a265e33356485d7b56";
+  sha512.run = "142a1d78f1423474a935bcc977964eeec310f0e8d8037149f4f5fbf691789f0a9f2986630f629cacf319e34ee640902556b0b59145ef2a763006618c65e21f49";
+  sha512.doc = "4c8bed4fa6f527fd5e0262692cf4acfd52d36bfe8461acb97615c127ab54336ada7a274ed9e5a7a75d26cf764c2f63734aa75d5bc45ec833f3b77b6179fa74fe";
+  hasRunfiles = true;
 };
 "pst-fr3d" = {
   revision = 15878;
@@ -30808,12 +30976,12 @@
   version = "1.94";
 };
 "pst-poker" = {
-  revision = 53482;
+  revision = 65818;
   stripPrefix = 0;
-  sha512.run = "6995f975d1c149f5b67126e6a01c076802a5a40cae3f7376a25258b923397d61f021af19822df4e4a522b3648d3a0e6ad1e5d81e38527c7468e753b0fa35c525";
-  sha512.doc = "619a0a9576c4cd17f6bdac1c2e0dad6b42084fa8f8f2bb1f38a8a07d0a0e7195f79edae841e79f80393165b2671063f6e8388fc2c5b9c12d063f1421a0a4a0fa";
+  sha512.run = "850b8302f7754e90559ba43ff3cd7440866b23cdbf7d3d577a75a232533d750917d3dc7ee9554ded07e6cc38346905da82e49bb90bbbe4de0f02c40fbebd111f";
+  sha512.doc = "d021da1775a7f91968490bb4e2ef5fc8eac114fe33810d069882e72e381ec94e0cb81f4ea213edd394b5919e07873838996b3aa0f043fcc41814969e59db8a21";
   hasRunfiles = true;
-  version = "0.03a";
+  version = "0.03b";
 };
 "pst-poly" = {
   revision = 35062;
@@ -30915,10 +31083,10 @@
   version = "0.91";
 };
 "pst-spinner" = {
-  revision = 61719;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "097ab0b7667cf8da530627a9fae05afa183148b90ce928880a9522f79b4a7b9dff7135ac4d9a5a32462cfc9abe9702a078326ee272f2d17f25c70cd805067068";
-  sha512.doc = "67b34a250079f8844ced0349b1f4401439619a58854a3ab65e52e3075ab9375bcbae30f1a6780ced92ebee447b3b809606a27766584ce3a98f72b476b413da1c";
+  sha512.run = "0081d28bdd4ac90ee3070f2b07d08a4a547d3a82351c33dd6ba8379d6bad252224f40f6e718727a1b284eaa08b4fda252751d9f923bd10a46223b459b7f02f28";
+  sha512.doc = "612acff35b8953827125590da90f31bd5ef0a6a81f14ba0976ce7180b6a24e42e27077b5d0a4ec6737217b8891f399b37536123baebd5c04df2da05310a5102f";
   hasRunfiles = true;
   version = "1.02";
 };
@@ -31204,20 +31372,20 @@
   version = "4.8.1";
 };
 "pxbase" = {
-  revision = 64072;
+  revision = 66198;
   stripPrefix = 0;
-  sha512.run = "6723a8748f4cf2ddaf6f2a7d83b81666de0f4136806794d37a2e8032bab819f9cd6d2c8be4477fdcded60daa2e0218099ef60e7436659dd4733db46b052e35cf";
-  sha512.doc = "017474cb2ded46a0cc69b28d706e70ef700f93fb30e66c5a413b911ea35c57a4cd04b5199ab802a2bc6e9b269ed2e84bc0eb7ad6bdb039550f9723cffacb341f";
+  sha512.run = "0c4d3dc297e78c373e9bb5cf6e5161b1607b693c924b77c05ca362e7791f2fe92fb50774121d85717adceb42732e877ac88c2200ab1b2b97deaf07f2ba54a3c2";
+  sha512.doc = "24e8d7be5a6799b712cfcb752082229929806805ec4005e2c05506bca77a4309b046a38ecca5b5115e248de2418e5c9a368aa894c4a8ae7bc36e8b9ae6b921d5";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "pxchfon" = {
-  revision = 64072;
+  revision = 66073;
   stripPrefix = 0;
-  sha512.run = "e173d15747567b79ff4d2161ddb17196db74211b98abe520dca132012ee648b05b64b18c96c62b3e9ece10cf2d3b2adaa143fbdd4cff492ce3e6102c9586c0e6";
-  sha512.doc = "08e9557572783c16041aa03a674ac163e56d7017505c0e61436325a451da8e34fb1e22b4fbe06c7805e43e9d706a69f1247693f2fcc6a360ecbaf3c3f9cc33fe";
+  sha512.run = "79d73304aae1071088110c5b22dafa6c8b0a4dc7f64758152846c37f4df89695432106ee7f07bf6c342ecfb4ff89e8ae67cd3178625aeccdab9f52fe83a3c999";
+  sha512.doc = "50d2573e8502fa4e492793d163027252d597bca376f36b12f7bc9411331187544efabf4e30a1ea77fc0e4f1efdfc83f06fe8b663441d84f9360a4da501187214";
   hasRunfiles = true;
-  version = "1.9";
+  version = "1.9a";
 };
 "pxcjkcat" = {
   revision = 63967;
@@ -31244,12 +31412,12 @@
   version = "1.0";
 };
 "pxjahyper" = {
-  revision = 64752;
+  revision = 66285;
   stripPrefix = 0;
-  sha512.run = "a9344e9e65ad31cb2b5a837f9a9ac9c7da2a21624e973fc7ada5d1323e6e24b13d9490140b41d1d63f001ce85b32bfcf2aaa11f490fb783aeb8662ace199e5f9";
-  sha512.doc = "9221a5a445b55a3a996afca60296a77bc9fe16f56f40c0065ae0a20a0cc7477c34846ae13c5bf4a36f79144fee3d91afc533f2a569c3a6d22d79e2f2ea748314";
+  sha512.run = "3ac06bfc5be7914356d10e53574c23b417ac1792b75f0d8d2bea9542046d0eba66b505db5bb0136c79b21419e61fc18d0f128c29441e40e764608dde3835cbab";
+  sha512.doc = "e367cba02ff9debabba58923e1b706b9ba2ef7b06416f7e39473ee64b253cb08c1bc60949e505ba416c7d1de85c6de481d9ade102e9c33a59bcebaa68967159b";
   hasRunfiles = true;
-  version = "1.2a";
+  version = "1.3";
 };
 "pxjodel" = {
   revision = 64072;
@@ -31268,22 +31436,22 @@
   version = "0.2";
 };
 "pxpic" = {
-  revision = 61294;
+  revision = 65803;
   stripPrefix = 0;
-  sha512.run = "efd2fcb2d28a3fbf3a10cbc4034c50fb35189d8896c13caef8b82ff8d62206d663de02d552116f692d3bf9c399e87f53580acb30ff0fad708c45ce3af5d48727";
-  sha512.doc = "b54caafece80a6e233e5f19fed0896e0c29b2ad8ac03d712431cac90ef3b159eac148aea6b36dbf55bb771b89c5eb4595130e4805809e1f399e4ba4aedfd34dd";
-  sha512.source = "ee66f6f447671ec4fdad29648e16409885b046a6824f85cd6d01009281566c3083318e528ed8c8bb965659bb66d9d842463f5b2958e3c62e96d78155e24d617c";
+  sha512.run = "549dcda0e4667fba7d7ab6d34a46fc890f1c9c7ec168b015e8ce07d2cd6531880433dd657dd46ce63fea534d87f9597be365813446d9ea524fcfff61f139d6a0";
+  sha512.doc = "4bb203443bfd227a7cb1d2aa2ae43dd69e3c52c7a81bb9a94fdb6ed41cc93d95016c33801bba28324a02b8533395f0affd90c9dbf07054def888c26a3aaf3425";
+  sha512.source = "7a68bfc2fb2e2dff88d0515c050c32ec4fa13745efd9bad20a216a9425bda688a31a881b955e2cf94eac1fadcc54dd6df0d7968c90acdebad4101a871d3cf40b";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.4";
 };
 "pxrubrica" = {
-  revision = 64072;
+  revision = 66307;
   stripPrefix = 0;
-  sha512.run = "2a3009d485a3132232194cb380ab1f2a3a2885d8f11e520c3f07d2e019bffa69ca1c954da6af6b3e5c458676d78abca18f617bb3af7c9ba5bd9cdd937fa713bf";
-  sha512.doc = "1cd47c2676ced19827cdef570f2970ac677d2daab027690b58f5c9dfc668f9d248ba0effe9c6ba94ef9728f46a14dbc4a4944b57c4d7346673b0b3325ce2a56a";
-  sha512.source = "ac4783ce035f520cf9e91a0a530cf850128b4be99e47976eda252189238a14eaff29777f971e5cc497c634f403fb77a567513c60309811979c8f707a44ae77d8";
+  sha512.run = "f274e1bd151de3159a415287e6a97b5f3035119b799a45ae782377c44e73010b69f6e7f1e491149f4a884041bf8696c767cd8779731afd8cc1fce62ccce1fc9f";
+  sha512.doc = "91cd5efc54e6c8dd3327a16e722386ac12d66e695f2ccdcb951b77199bb64b081645831c3db6d0c9192348302b0fd8ad63fefeef6ba6ecdd7f1547a38ab28b29";
+  sha512.source = "0b14787df1d93639d4d07d1edc9d0b2c73119af858b59ce816a17646f5295d96d7716d288996eb685e3ed5ba457e185d520426f3bb88b7d34a64404dc10eba74";
   hasRunfiles = true;
-  version = "1.3d";
+  version = "1.3e";
 };
 "pxtatescale" = {
   revision = 63967;
@@ -31317,12 +31485,12 @@
   version = "0.11";
 };
 "pyluatex" = {
-  revision = 63491;
+  revision = 65855;
   stripPrefix = 0;
-  sha512.run = "001a6aae1e9cbf0ea95609128e440c7c26c2bea74f7d6d48e11957ecf84f410789f808a511a9a45bceae8cbd5a5fb80dac242a9662087a7a91ff4e53e7cbe038";
-  sha512.doc = "14899b03635cf5c6841dd7d3e035f0ec76f3d57388031c08d7be899b5bc608d1285c1f3baeeb9d2d6868599e6106c876925c09391b2515be1853fc7144fc7dec";
+  sha512.run = "be9b33158b87cbd95d2fd4eb15bf834f1c828bd58e4f6b8ae58f64de1495b83ae79315311789aaae3266b9f171c4d5ba156adca28735eb9f628b86f45f2f330e";
+  sha512.doc = "86623a834885fa548a6aa84f6e471134c4200ed4cb2b915f6aa7540b38bd91b2daef85c9b8a60a92b63e23b20ea8ed47cdf0cfe3b0e7f30c369024bffe59d959";
   hasRunfiles = true;
-  version = "0.5.0";
+  version = "0.6.1";
 };
 "python" = {
   revision = 60162;
@@ -31340,7 +31508,7 @@
   hasRunfiles = true;
 };
 "pythonimmediate" = {
-  revision = 65349;
+  revision = 66465;
   stripPrefix = 0;
   deps = [
     "currfile"
@@ -31348,10 +31516,10 @@
     "precattl"
     "saveenv"
   ];
-  sha512.run = "970cd28032c551271f97fcae614a03f012684b0f1a09904284ff35e9461195a1e5b8a6f51c12c4e7dc7b54720d13a34d9bbe471469a03c0fd00ddc49d8462d9c";
-  sha512.doc = "68068245368180f4dff747a18abdc068a2f0fddcc5b3cf3e63403d99ceaf56ddc5ee17bb32ebefb42f92268d3b681c5c5feb94aa76823b90478d77f0b3e511bd";
+  sha512.run = "f9e984788484a7fbc839a31c2d410d3f0c91408a67079f0c9557506e31e61e9359de25ca00b27d1c1cf875a8a618c0d3e4ad966d8520c061ad3db6fb1c78dcbb";
+  sha512.doc = "5b7dc7087a01317029d27c9d8ca8eb5e517a8021b837b990d5cf44031ffadd461855694ee4fe419e7a715c5a62a0abd8410bf1e4730ec5403fcae9e2a32e28c3";
   hasRunfiles = true;
-  version = "0.0.0";
+  version = "0.4.0";
 };
 "pythontex" = {
   revision = 59514;
@@ -31393,13 +31561,13 @@
   hasRunfiles = true;
 };
 "qrbill" = {
-  revision = 64773;
+  revision = 66304;
   stripPrefix = 0;
-  sha512.run = "a296ab624435cc5f4923d5bd7808ad2f4c5f5e58c7c9198f78243a09ab151634b5945ab8984ce48d1033680bf3f5ea456e50f50c66cc3d32c0b8d3fff7bd5a33";
-  sha512.doc = "95b9099f64dac38989089515aeca4636bf7382c6a2ff54b8b0ae2747facb0593e4802e5dd6120dca44b962478b87d1db16798ef794799f434c66e004a986e520";
-  sha512.source = "828735f7096485b1d0cf4de96dd99651cb60bcb0c23aff8745b2f29d50bfe067c247e5a9d799b86ef2746fc19ac3ad70da369071d90776aaa1f7147b57e0d4e0";
+  sha512.run = "384aedf221e5a2ada24487f85968f209636c8026939844ea41c7ca2616c4b621430b1cd5c726715c652510471700c1092730634529794f746b55bc7989d257eb";
+  sha512.doc = "a60485e65749fca433eb95fd99bdf96e92bd297c9d5fac7339d9ba6a7bc82d15e1f18f1cc154beb70e04c7e4a02c962b33d7b7d1d42154aaa5f782c526c08d39";
+  sha512.source = "6f14d0d4f0976b3b1977baf3bc383718b41fda5682ddecebaba2f5ef6dbcea758046ccc1517cc8909d2e51c9af55a0ece5e0b55b6ae40f3e14d9f2fc869cc92e";
   hasRunfiles = true;
-  version = "1.07";
+  version = "2.00";
 };
 "qrcode" = {
   revision = 36065;
@@ -31565,13 +31733,13 @@
   version = "1.3i";
 };
 "ragged2e" = {
-  revision = 65008;
+  revision = 66153;
   stripPrefix = 0;
-  sha512.run = "a213d7622d089c6d9d369f427ba0abb69b79a6bfcf7ef132f210458116bd64466e65cf7d2132260062a151c80ec45282909cdc875bf30657679f28821f7aa385";
-  sha512.doc = "c31b8a935c1ab102c43744d743f1a456dcfbe9ac5e8342045685a081d1722e6826b4f96e401fb0754ac57ad995d249fb0652c8bd84601f1c3b0ea82c7ede000b";
-  sha512.source = "4b49cbe737758ed3b7a9c95d33093e54ec3c33553e990f90f9ef634dc967f07e5fe81bc1dd23817308ac9491919f9cf219a28c8694ef7610a02a59335b2f129d";
+  sha512.run = "df8a7a358d8529123ce5c4baaa0f2a49d39a7a1846c5cbfbd96a3f13e56baf27a84a7fde148cf58dd2ae0b353994b53188aae747e3fe41d565d19daa1e779d80";
+  sha512.doc = "0520c2eafc27a21639ea1d8ea11871ff609e43804d6ecd1acb43fae9a214aece0c1cee8aa30b42ca110898cdb2ebecb133e1b6fd704b1fb336d892e6b7006a8d";
+  sha512.source = "08550854e8aa13a0e29f2733965e730af339591d94942941d986f6b70ebad74b13b6885fae2d1809dd9397f11be352d6eceb3b127ec323df81cad4febe5e2a07";
   hasRunfiles = true;
-  version = "3.2";
+  version = "3.4";
 };
 "raleway" = {
   revision = 42629;
@@ -31766,6 +31934,14 @@
   hasRunfiles = true;
   version = "2.0";
 };
+"recorder-fingering" = {
+  revision = 66026;
+  stripPrefix = 0;
+  sha512.run = "da0c6485ec331faf0468d46bd4dc10214b63df89e281c059db8c3f7ac213ae6cfd1b7227c6286035c69c7748ef26efcb4163d85274c1773e5e1a6b86a3d2a4e5";
+  sha512.doc = "400b107b54474a973f2a0c7efb9e97940d5c8e76b26ba29985e72e9362cd8aa892694c1742acd19d0e7ce44c737c6537165e331f80af38c6200fbb4143459fc8";
+  hasRunfiles = true;
+  version = "1.1b";
+};
 "rectopma" = {
   revision = 19980;
   stripPrefix = 0;
@@ -31910,12 +32086,12 @@
   version = "0.01";
 };
 "repere" = {
-  revision = 63836;
+  revision = 65769;
   stripPrefix = 0;
-  sha512.run = "4b8b54423bf97695356fb26477bfd51a8ef779bd56b309dbcf7db8f8f9718723b2f497a19c8308c4928221d07d336e3466e4e0f98b90913a65bfb7c6bc65875d";
-  sha512.doc = "d0613f11cb4f29121b5c6b03b69d35319f37657f1233be3a123c4b717f547a20335d0f8ae3ede3da65eaee50ebf9401cd9e747073f8eebaf3773723d0f85dcd6";
+  sha512.run = "75b3b8cf2ce499f7443626afc30615c790d0edebffaa604fa38d05970ec84957e57eba4d2cb1b16b53aa9d162ee922ae38e7271848313f2771c27f4cd5ae9a7e";
+  sha512.doc = "04ad845cf7a32a6f242612caf9b53230220c73c7854f46db0b3c35ee2533f6a0a6115a931d73a76e5c33f119216b3b75632454bf7b07992e3f38b4f2419726f1";
   hasRunfiles = true;
-  version = "22.07";
+  version = "23.02";
 };
 "repltext" = {
   revision = 56433;
@@ -31947,6 +32123,23 @@
   hasRunfiles = true;
   version = "0.0.0";
 };
+"resmes" = {
+  revision = 65375;
+  stripPrefix = 0;
+  sha512.run = "b55b0ed4883dacc78d7d4406fff05ac80421259e85297ae8050b6a77539fd38655caa6afe6afb7c3d8654d9da0d965d7cfe52cbbcc6ed9f7be4d87aa9cd6abc4";
+  sha512.doc = "f2faf70d393cead42f20aeb5fef487870c69c8fb557fcf6dc3c589fda448a73b2ca0a0a39e4d963e67a0b38f976cefe410b2c983f820dfe7aca2c255a24f4bbd";
+  sha512.source = "67d88b13822d35065708d68b57c2013fd19276bed7cd433235f94b9af0c47b92c13307177c78cd16e3a87a6db634a3c93a1d8e8b30e8bca1babdece0defc8a0d";
+  hasRunfiles = true;
+  version = "1.0";
+};
+"resolsysteme" = {
+  revision = 66193;
+  stripPrefix = 0;
+  sha512.run = "db1db4e2eb14033272fa247149398a99dd1821f4da602752c1fb91afd240d9103fa68b224daeff6f82183c0bfe5fce951412b7ab5355914ba8cd26abd3812fc7";
+  sha512.doc = "976dd0a21378474a919fd6212275046a4d9e056f16e0ca99c516de15eeae65fb538abaadc8e1ea89dbc9192435e1b063c2de8b473e47e0c22e35395d73f84650";
+  hasRunfiles = true;
+  version = "0.1.5";
+};
 "resphilosophica" = {
   revision = 50935;
   stripPrefix = 0;
@@ -32313,12 +32506,12 @@
   version = "1";
 };
 "runcode" = {
-  revision = 64161;
+  revision = 65588;
   stripPrefix = 0;
-  sha512.run = "35b6c1d6e12b118378549ddcc34a1ad5d1e57de847ef8263487f1929628c063949f00e31f4eb11a03d4760b700c007ba00196620b53e025ee11e67c72202807e";
-  sha512.doc = "a1e61e38028ce1453fff4ceb7812282f708f0cf32cf036e021b34b612319648a3defc7ad833b9f4372779d16871f68fb7382473804605984bfe1863237253ae9";
+  sha512.run = "a16f61affff0ab5d58df300b638d62fa0e48a8537ddfead3d7e76113e54f31c0f0c8424ef183233d109be014701ba57b78618ec131b5bd3c526b10645e1f35f3";
+  sha512.doc = "b48827b01c986fa1e11469a36f9426255f45699e11002d2826002d1745915a3e36a9919f901ca1a6b9d7a04a86aacbfbcf934732dfdce8ad20771b1b027b3e55";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.8";
 };
 "russ" = {
   revision = 25209;
@@ -32378,6 +32571,13 @@
   hasRunfiles = true;
   version = "0.7a";
 };
+"sacsymb" = {
+  revision = 65768;
+  stripPrefix = 0;
+  sha512.run = "59c61767c7f9cc782ca1a9cff78c0226f7860080453a772172f8dfba0c1deebfddba701704d15a2d05cfd010b4baae553d30207ff4701056a263a51f5a4e03e8";
+  sha512.doc = "135724503c2c646bd49ad1e434f5e4c20335f23605839847b3c6729945e4550b6f855ea015e5020ff9de7ca4bc5a46d70e99dc9f372e6fbd2cbe8aaf55683984";
+  hasRunfiles = true;
+};
 "sageep" = {
   revision = 15878;
   stripPrefix = 0;
@@ -32920,13 +33120,13 @@
   version = "1.033";
 };
 "schooldocs" = {
-  revision = 61719;
+  revision = 65650;
   stripPrefix = 0;
-  sha512.run = "41c980670fb57b6758aadf3f77e9de1795060bf667e74dc20d6fdc1d0dbab801a8e7d5c75fc303c28f53b24cd42e80ff580e8b79c329d4440011cbcfa7425f73";
-  sha512.doc = "aeb5a6485099437bc556d3a78d900b48013082a4948d903d797e594161f22c705bb5225a31a2b12e3d5ca3d741566c3a30c081b988ed8eb92ef0af9bd584cc7e";
-  sha512.source = "d9fb7e94ee08c48bdee1f8344fe9f632876cc17de8d4505c1aa899774632e3ea8eca80889cad3edaaaa1a5672861aded9a9d2bff0255a8bd1d2f1ccf00861a63";
+  sha512.run = "1ae2af9d9f3a281f9d180bf75534f29990c9060322d65200344250651f71c43a1b854c6dd32f6a8c9c2d2e7238c44f76fd03d814d731d8c3faebd91160a6e0a9";
+  sha512.doc = "253c22c65ef87537866c2162cf9a455123b90456e6581ddd1a5edafcd5ec2a52502c0d57f9626dc8ab0bb8781d41cfe806481c3a5fa8d387797aaf7240de5ba8";
+  sha512.source = "09f1ef0dd304c229a7c5c6ce4cf841ccb50700b9af31381f4a4bbf32c8d8579d3cf2f4dc9397044428d1b4eff318541045c7698061d5c49997705e2988982957";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "schule" = {
   revision = 60210;
@@ -33004,6 +33204,14 @@
   hasRunfiles = true;
   version = "2.0";
 };
+"scrabble" = {
+  revision = 65507;
+  stripPrefix = 0;
+  sha512.run = "df992081a34554d1e26ec6eb227f2ac5beddb7fd88a4a8377aebdfebd9fd200d053c4e43db96450f20a7c23cac11d235f1acde3e4dc40a3c30b83ad2914eae5b";
+  sha512.doc = "c61edf946eef82a7cde0af391eaca776784870be6a235e9752821f565b187a2a286ce1c7d7a7d5bc902550597e2a0906f25581bd8295b7dc5a546cf7bd8ee73b";
+  hasRunfiles = true;
+  version = "0.1.3";
+};
 "scrambledenvs" = {
   revision = 60615;
   stripPrefix = 0;
@@ -33055,13 +33263,13 @@
   version = "1.1";
 };
 "scripture" = {
-  revision = 64910;
+  revision = 65493;
   stripPrefix = 0;
-  sha512.run = "63bf6976615449cff705dae9d77ef767a99d08a6f676690cfaf4a21bd56cb38776e25ea7f82c4906fb08a997b4a27634ff1fb31f59b29ff7981ab3d5bcd217e3";
-  sha512.doc = "1e927b2e7e8edaad9956837a0bec49ccda18829a285740e480702e550639779204e59af5544c13dd01723762499ef4e5da281c99c30c15ac76a60248b88ec38f";
-  sha512.source = "3d2974776eb95249389d5879a17a1ee138b5809532f6062f2dd1aa5a183ded6d7c55be918bf89f00d428923c0082c4a4f1feb9ab600d3ff03755f3b162458bd8";
+  sha512.run = "3def680960181d2204bb7c99012af17cb6685a8c9145d5242408b82e9f30a84e0b922dd89cd26c36c0a08e820b09c5ee886cb0ec928c83cd68d4221519d011d7";
+  sha512.doc = "f4b54666759f4fb691632ff501f9eef1619624ee5b8c8292be6cd1cfb5c9f02ed68cb55239c55da5e4f80e8334ec404347747427eea6622515a2933d4fe80d68";
+  sha512.source = "b74f83fcbf83baab55a37ca39165265ad94dcdcfe30db94b7684352648b55e0953464e9366a958517539c90b38bb468f3b2f187a557a8fd4a2d55bf6ea69bdd1";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "scrjrnl" = {
   revision = 27810;
@@ -33090,12 +33298,12 @@
   version = "0.3a";
 };
 "scsnowman" = {
-  revision = 54080;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "61d9ae5c1632d4fcf5058fd1bb004cadb1a1becfe75d00335509c68624a62cae6780528e2633c89e9a742ea885b207efe5e36d85c402bfd98825dbc8630f200a";
-  sha512.doc = "542deda691600da9cbea070436c5eb8eda2670cdfee2ac5d46d241a50de87ee6d89062c9f5c0e55341a5ea0224e44472fad867503470c3b52b6729f470b09972";
+  sha512.run = "9eabbc090311210bf9d557efb9d901d9da900fa4095e37bb26be51bff6dcc73584e70f455fe5ce5183859738dac8c06cb94224d816cc23bda49862d7e233efce";
+  sha512.doc = "c2efba627208a194381f92c893093da16a3eb9cff498e3b80b5d9cc90f34f96425ce94733bc6e1326cea5932da7c136555d6a5413d2dcdbda8bcd36eaae6d562";
   hasRunfiles = true;
-  version = "1.2d";
+  version = "1.3c";
 };
 "sdaps" = {
   revision = 65345;
@@ -33132,13 +33340,13 @@
   version = "1.2.1";
 };
 "se2thesis" = {
-  revision = 65093;
+  revision = 65645;
   stripPrefix = 0;
-  sha512.run = "d6edaecb318b4a613adc2b3c418691272259d94f40a6590c3f6a577c1b82c5bcf71ad8c32afdc0282a7293d05c3a4a6e172c0a896ebbb1a06c2dedea92213ba9";
-  sha512.doc = "fe3b0af57fb8cbfab21230e908c031be15308c148a23a11e6de150308ee3c29584c0818cf3e87781f12902b66f2fc93a2c1e347db83e4c7ab6e6643204f1666c";
-  sha512.source = "29ad9db3f136f6001957e993cc0a888bf5600fd826ae7151ed2513fa6fca2b86cb6ba74feafc1f6ab4c8ded20857f0ffa5c46324d9ed3b10300e41a37caf8052";
+  sha512.run = "16a351d895fd84b9d4a0aea1ab2ac51c2cb1bf6eb19a837ef2a856be79b5ffc03aebf40671332016e1c5475871eb508720703d40b9ad8035850225b07e0cf47a";
+  sha512.doc = "88745bde86537fad6895372d9ac1ae8a22df42fd152a959314c059604bbf2604f9fadf5b9f96ea8528e7800e6159f6703f4b32f65c524ca0e4257f6465203bbe";
+  sha512.source = "d6051f999ef046e52d15716d3f9a594683a9203b3c3811238f1f8f7b3b1b332499a8c6259750d3e5593abfb2fe2fac0f37f18498a5a8592b420c9c11eb07dd68";
   hasRunfiles = true;
-  version = "1.3.1";
+  version = "2.1.0";
 };
 "secdot" = {
   revision = 20208;
@@ -33228,15 +33436,15 @@
   version = "0.302";
 };
 "semantex" = {
-  revision = 65183;
+  revision = 65679;
   stripPrefix = 0;
   deps = [
     "semtex"
   ];
-  sha512.run = "057b229640da956b4c36653cc1e4057317d9fb2123a69aa144078b52192a2aa8d43660a41124fd91b147ebba5473ca43c30a70fc55881daa52f6b7ded05666b3";
-  sha512.doc = "6cddaebc42ce355e536fc515b726cc6344f885efd67041b564a4b8c2bd297969aa5aded0a989c5a4b3a30d574af977e44880e2ef8be8d3fae052ef44c9d6b2f9";
+  sha512.run = "156ef55009e52bc91bead46963d5f383c9b760d4c72a45097de1e3ce3fcb1aae4686386efbf8a3abc2f18d16f59d02f297acd825a9cfa21e544ba2dde9986c13";
+  sha512.doc = "1f94edb17be3e148a913e98ce020f5273085507537b51b4737c5c4d1589e415aa361cdb25264c412af8b93025b6dde204c625180c5182d319c199d5e8e591757";
   hasRunfiles = true;
-  version = "0.523";
+  version = "0.525";
 };
 "semantic" = {
   revision = 15878;
@@ -33676,13 +33884,13 @@
   version = "1.0";
 };
 "sidecap" = {
-  revision = 15878;
+  revision = 65618;
   stripPrefix = 0;
-  sha512.run = "c0b775c16ea9acc7de952c6d08d49f57ac4517d5a78e822255176ee1f570c17d584b34821a255ec10e7fbb9334fc7904147bc4d613ad4db9553a3917f737b924";
-  sha512.doc = "5bee3d448386a2bd508dcae495c6fb83806542680db7c5fe8cf35ea09a955df01e5c01fa64c28b64f0bb9a3dc0411fc68a835e1b0ae9d46c1387f544538d26de";
-  sha512.source = "b69fcf81ba9d05c20c64b7d71369ff25a0cc8185c914935cc986635ccf1ca9ce709cbe2f12f5e671a5b946f121950b3f6c6edb9d28e736959c5ccdf7fdbea405";
+  sha512.run = "3133ceaf7db89d57e7dbdabc016491795b2dd67ecd614fc4125f41dfd08ba0a03371c446d1fd7e22d1c491ac3ba6ced2856c6c3c9497304f4c041c21c0c7f558";
+  sha512.doc = "2ecf3e41c8840ab87b49f771d590f8ba0d05d205bd435571dd71f2ad1d1aa727f7151b9bd913c4d33ec16ccb5cbf513bb170e59e600bf64b7c69a08273580eef";
+  sha512.source = "e961f8965d2f28da04a8c5369370ae6d07e54c1091ec28da87639c6ca737f028010b85d93943fa84a0472f6f42d52d0254fa3e916acada22358e06c420a60d57";
   hasRunfiles = true;
-  version = "1.6f";
+  version = "1.7a";
 };
 "sidenotes" = {
   revision = 54524;
@@ -33728,13 +33936,13 @@
   version = "1.5b";
 };
 "sillypage" = {
-  revision = 64034;
+  revision = 66350;
   stripPrefix = 0;
-  sha512.run = "51c7bc990b31950470b3072044f5458844df5083fd42d5f1701147b1246e144837875b7c59b69480a0ca8f16d6c1585d862c5b779d4bd669c369cbc4e9bf5834";
-  sha512.doc = "1ce76821f6f9ac961c8e53b6be3480c1458248aa8df3ae9635b2fba4160fd26ad59506e421bec061fa97d514ce5f4028821044d4052aec6b78a3d79f40b8c8cf";
-  sha512.source = "72d4ca266835dc3cb902af1de9e3336c1d79b9f421df05c00eb1f5857e9fbae8f106f45f6ba0916151af30a70a2bc44a2879324ebe7c7edc95a3ba323be88603";
+  sha512.run = "a44430b5218392825604c9370fc01bdb177b91431959f55b33e68b834803e1cbe3fcae1b72f0ce09a984709f16770358ee8a0c43d5b94cd9244aaff78f8eb6f1";
+  sha512.doc = "c0c26e10ba5d17a6e45af4e00e900bb22972e88fdc999c70762290106241e6ecc535db6ce71c654b6ad31c21d456b00fba1aee66e87450dc38e6433e4fc7fd54";
+  sha512.source = "250c32997d1917944b8e248e312bd99be090da1115644f73e04c0194e53664d5080441774a08478e412be5a6345a35520c40e1ac686f232abc9de8e398ffd92f";
   hasRunfiles = true;
-  version = "1.5";
+  version = "1.6";
 };
 "simple-resume-cv" = {
   revision = 43057;
@@ -33751,12 +33959,12 @@
   hasRunfiles = true;
 };
 "simplebnf" = {
-  revision = 64091;
+  revision = 65485;
   stripPrefix = 0;
-  sha512.run = "75349aeb69f860016e5cd3e90f987faf922e8a2c77ea26287547bea6035f055e59783e24441686c2586ea21ab9cd11a44d34f3018a79e36aef987500f6affb70";
-  sha512.doc = "b52237bcd493e131d698843f55dc2955ec6e3806d2a618102a2cca78e4b8864bc781fa88c6008ea5d5407842b13d7618bf463280fde046fa0493ed6e0fea22ae";
+  sha512.run = "2f78a17109b817eba036c52e924ba66c0bb1f5f752660b968270c5decd39c1e19aef50e83617247db1b94064d46f5c774e0acbcd444c8d03ddb8f133c6a667ac";
+  sha512.doc = "7ee5f4b33fc0739a9da0bd8e3d488e1bf7e71b798b6665535d18821377b76752d5a0183b8f2d495ee0285381594a5e53aa1090676bde84c9afc2049a29bf8ca8";
   hasRunfiles = true;
-  version = "0.3.1";
+  version = "0.3.2";
 };
 "simplecd" = {
   revision = 29260;
@@ -33777,12 +33985,12 @@
   version = "1.6a";
 };
 "simpleicons" = {
-  revision = 65288;
+  revision = 66337;
   stripPrefix = 0;
-  sha512.run = "91e818a4b631e7c6de33320ef3dace597c44a3d2bfb2c258017f6582841a30483a4ac1a5dc9c2d0b7818adee14ec04adbde34c189809e861cd7ccc27e3243cd4";
-  sha512.doc = "e7a9dc8c9f3fe9feb6ec657412d8a00e049782a79fd50270e9a95b17d54437ed623032fb47065702e26c7dd712882a0c901b3eb95efd1ca0f57aa7038e5e29d9";
+  sha512.run = "70ebcd312faac3b2c9294300012ce27da51b9059ad8802179ef5b9553bcc9d6a1ef3274efb38eb6c4e07830dfad4ac923e88ad513bf4d00c5dc402aba4ee8d81";
+  sha512.doc = "b66f59fa80dfbf4c938d17de290172d9fbd9d1baaf2f02ab193564ecf7010499439ce6f0c844d95c989d6ab887e2ef07a175cfd1c187def7860ebaaec01c078e";
   hasRunfiles = true;
-  version = "8.1.0";
+  version = "8.6.0";
 };
 "simpleinvoice" = {
   revision = 45673;
@@ -33847,13 +34055,13 @@
   sha512.doc = "f5bf92ed89cfc83f306cd4b2599446a11b73f73a0b82afbd0f441e26d837e6f436913bd2df18585c5e215fa0504bfee3d5d4f5ef4da8925161f85c70c14045e6";
 };
 "simplivre" = {
-  revision = 64280;
+  revision = 65475;
   stripPrefix = 0;
   deps = [
     "minimalist"
   ];
-  sha512.run = "9ab406b3c577d9f683d5e4ed8303f4791f9b2a75200ab9cd2eded6699a580eba2cacf6da16b0848f407d7bd04c1fc6afe3881552ee0f4d57b1fb5c32154174fb";
-  sha512.doc = "4167bcb50e182f7eeb163b5d3ed4e53e65599aa3acfc7ce4bbb20db5d185bace58e28e24f9091e172fa6c516dcfaf948c1fae93efc68398f0708f42b67e5990a";
+  sha512.run = "45fd5adc80b471310cb81961199e4565d40e6302c4069a19016f46367013c587b54ae7af58bed5d2c37812d9aed9deee9b9ffde0762cd2927b96ce311598e7d0";
+  sha512.doc = "507ae125225f775b635a9762369083b5de38a7790b959d7d5c6d0f993b350bda97081e26a4377633ca1a609e1ae2759f34598714de32e31dba17b6c7f54a7f9b";
   hasRunfiles = true;
 };
 "simurgh" = {
@@ -33892,17 +34100,17 @@
   version = "1.36";
 };
 "siunitx" = {
-  revision = 65207;
+  revision = 66370;
   stripPrefix = 0;
   deps = [
     "l3kernel"
     "l3packages"
   ];
-  sha512.run = "6116eebfaa5f9b0ae3e63f4c0b26c91c358e48b62651c215c25ac5352385c01e06ff28fcd5422085de0330bdd6ad6d79b5b4ee5cb9a200ed8ffaab515ca261e2";
-  sha512.doc = "77eedc2cdf10ab386728fac623ed6d0ba895b4bb70c0934086251d96679b38eeedddb7408adcd6005289a20f3bbd4ec7811336509197c51d6be19e5a0cfc9b4d";
-  sha512.source = "58faa7f7a5809a935303a7e9a779453cef8a5dcc43ded0fd16658e32f170a5052095c8f24d44542c80310cd24463583f5136a6d4986ce559ad3cd92ae8446c6b";
+  sha512.run = "6c063dd7eaf851733aeb69d82ab38b1f1f894bdf5c206e62233887c4ed62e699b7a349358ec39e1287842bfc7f7509e51bf8bf5b5b9fd7f1071eea9493677416";
+  sha512.doc = "d52b75a7cc431b479e80a4ebe90daab5697550035f3932a0f0e2b5a6ce503fb031778fb9e893dc57157b678f37c39a8729057156e292fa4135f28b7941329551";
+  sha512.source = "cab618b0b5e8f380f440fc5b4383c8bcb20e7143ab8693576eb3ba3af6c9cb65190be272154ec7038e55343f582117d9dddf5e714c1b44d0fc79202d9f5d8a8b";
   hasRunfiles = true;
-  version = "3.1.11";
+  version = "3.2.2";
 };
 "skak" = {
   revision = 61719;
@@ -34129,13 +34337,13 @@
   version = "0.1";
 };
 "soul" = {
-  revision = 56495;
+  revision = 65906;
   stripPrefix = 0;
-  sha512.run = "91b2f65fa3cc1ead06d4450c273d279c8d3428a71fd895beb8b675b76b02139ed8db2d01f64352ed26bd13428c0aef8b0e542d39e8ffe6afb31d05d0f63bdd72";
-  sha512.doc = "282fb6039f870e869f650ad2c4523dd4222c9d5c01359c6242c33c2b4d29b494e0c047e67ec44adc0830043ab0594d49e9251c6c9b256ff9709e9764d7432e19";
-  sha512.source = "0dba1d0c988a6e66b34b897337480588da1466c672e9423d2370a18403cdee587916c969b04169f86a1818be27574aec3f26111b8b431338ca93e51436471bf2";
+  sha512.run = "cde236f51709569bdbeafc16b3a49d20e78659d268faaf8dfa059443dd2d432328cac46ef88c8e8dfff74b6fa9d2ec1342d7fa18a13ba183091e5f39a03a0a24";
+  sha512.doc = "da5b11bf84185337572672a04589505363add2a17395c27eb40f63677ff60f146a4765ab31e1acb011e7d0667fb0b4b969127558000207b7fb6c86552a9f0ac2";
+  sha512.source = "b12b43abac05834ceaf6c3caeddd72393625acb6932b088dd48d15561e3599ab20adaf0251d0711c1f00bd0992cee976a1c9a3bcfc0eebaced5b12b8774064a9";
   hasRunfiles = true;
-  version = "2.4";
+  version = "3.0";
 };
 "soulpos" = {
   revision = 60772;
@@ -34149,15 +34357,6 @@
   hasRunfiles = true;
   version = "1.2";
 };
-"soulutf8" = {
-  revision = 53163;
-  stripPrefix = 0;
-  sha512.run = "777ebf7b4215b9a6e31ec284d27345de2ffc7c5d303db0e21bd31376692e528688deac59c2b49b84bf2088ab42523523adc284dd1d8fd5aaf7a074923bf7be9e";
-  sha512.doc = "eb3c81518312b6c0cc5b622bbf2b7ae954e42b2a813097d8c3fa681daea0a24c9df14d189ca5d5f2adcbfe479029bb985c3d85278beb6d9694bd61aaefd32103";
-  sha512.source = "a6b804099f59c6d67b5abe4146577f608176569ca4cd92fd27d43878ee012165ac65acdbf462f8a84d4e6a8d6e61c5bf7f0f5d0dc667ff97656a5d7fbf159997";
-  hasRunfiles = true;
-  version = "1.2";
-};
 "soup" = {
   revision = 50815;
   stripPrefix = 0;
@@ -34200,13 +34399,13 @@
   version = "0.1a";
 };
 "spacingtricks" = {
-  revision = 60559;
+  revision = 66398;
   stripPrefix = 0;
-  sha512.run = "0b8c685eb4ea6748e00b3bd2d23bf71a0b5309fb5b89a0e02d767beacb8b4a29eee5d874453a57461ace4d9c1d2e3f7f376fde00b12564e8acdf2a5bc1b968c8";
-  sha512.doc = "fa91577ffd949619f19deab17f6e9d1d4949aed4477b2ff870642edc03b5321eafc50efbc046308d664f1a391b0f414d1ecd542b6a0ace210a32b6dab1f9f44c";
-  sha512.source = "b40a242ce6fa0b425a5a9ee0acbae8ac407fab0def30a9783e72fd4c8c3841931d21d773cb1569eb8fe662c51a441fed59c58849bd2a2b827854a3d1670be486";
+  sha512.run = "d0b102faaacde58444da330086d97d4fafcef02b3a6c59282e4fab3072152035e3ca02fcd41fa6cd3cce22c77b8e2c9de8c29e108efd7acceb3c3979d60ea352";
+  sha512.doc = "d132b15c31916efe44bd5b21ad4f8bade3e9bb2fe59a7920d37c7f49f11d025d81618f9a947adb77d652e319ab646bba3c1672f1fcc1a824a9d51486e5b300e2";
+  sha512.source = "6a46c1240ea71f5f6e104f14bfa79183e67ad162757667538b3ea981869e9ec10ce8c4c6a179b667ba3a389345805b540fb607bad3ce839463e3cb4bff9ea74e";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.6";
 };
 "spalign" = {
   revision = 42225;
@@ -34257,12 +34456,12 @@
   hasRunfiles = true;
 };
 "spectralsequences" = {
-  revision = 62261;
+  revision = 65667;
   stripPrefix = 0;
-  sha512.run = "217ab3a1d3823397947f2b3f449591c5d173f1a2a0e39be553cb6c0ae4f6b36bb41ccd6ba237f643123889a85ddc991145d4911ae7e8b6e5660a388ca4bb684b";
-  sha512.doc = "7b4d803b3fa2994a127d0af48dea655fd4a16c589f3619c4e0ec1a978b8aeff7636db4fb12be46e359495ee24076da22c0ae265893db63e6bdf22a33ff84a185";
+  sha512.run = "797f7ded1824a025337a12b47a8b85d16d69b8e0f7999015c0b8618ce639f97a5883f1a694a22b56de4a237901e1a43b7cb0f387bb02f567301e59203b16d31b";
+  sha512.doc = "4c876bfdbdb40b6d1b58d1640aa39f02a29097f0ddc1015bbd6b415d0d7aa88c90c0d45edc444c69baeeb68741320745157466bff3242daa48526a1ebe21eaf1";
   hasRunfiles = true;
-  version = "1.3.2";
+  version = "1.3.3";
 };
 "spelling" = {
   revision = 30715;
@@ -35221,11 +35420,11 @@
   version = "1.4c";
 };
 "tablestyles" = {
-  revision = 34495;
+  revision = 66465;
   stripPrefix = 0;
-  sha512.run = "429d9e66e9dcc06814e75b08d1fcc9630de6cc614337c73fdc06588479e47e7df72dfab33a91fb7cb230f9e1ed0bade3d8e56fa423c1f2fcf0bac6f246620069";
-  sha512.doc = "43c5dedd804a0aec1b7ad289d8113bca94d6fac7e9b5b8628880e2d7d7e4f0e29cde12864747cfcdf24ceeee0e143652c2acb2b448bfce0630b6915e2bed237c";
-  sha512.source = "26b5e4b276a202ba2b351287ce310b52a256659c55f88f68259ec358636c117d36dd8834542d385450c531d4db1d5e42e053a11e2a9c21c43fc72ce38c453072";
+  sha512.run = "bd486860c47dab832ee90a863fae09c0aa2eff5b2a8ebc77ffdc5299f8b163bf83aa427d82023ba3c67ed82efb86db386b55d4f745681626b0c0816ee5dc6d53";
+  sha512.doc = "53555f5ff0c1634d763b3e1867f67f3f4ee9dbdb4e813c5e01682ff6256b435a0b3706ab1869531932bc42c523007cb8afd96be380741c640c2d585af890ae78";
+  sha512.source = "a0da15a75d9b5ad4bde561092f677553150302feca788f4d5496448f79de198ce631950cc57a32453272a2dfb7555cb1da421ea959c77c82610bb1aac52efc26";
   hasRunfiles = true;
   version = "0.1";
 };
@@ -35332,12 +35531,12 @@
   version = "0.1";
 };
 "tabularray" = {
-  revision = 64891;
+  revision = 66281;
   stripPrefix = 0;
-  sha512.run = "6cd0455fc1008dd97c539b3c860e03b9a9128cf4815a3d68da1e062d01c9d46b004d00375f85998c5db2b6fcdd40b4904fafa014e6189e670c114be0c03e64ed";
-  sha512.doc = "2ae44c7ad140fb958caf91caa8321760a147c09eb7229123f3de085c191649819020debab0eb2434ea4ced4316065f04a70693770165f2a9c8b72dbb483e650c";
+  sha512.run = "3f2b122a8688288946e9fb891f6b4e6166bd7544d9761414da1429e2ca3c84ab7f2488d4aaf3680d77bc6e1a43401305235b825fd4b92ad00c92575cab51511e";
+  sha512.doc = "7425c669a3cecd77a2795f730797b2dd14a27673326219a7c03bdbbdaf89ee08a69b179ad13787b98ed1b31a29c0d36a4d0ecfcf9ef75462bfceb806a71c80db";
   hasRunfiles = true;
-  version = "2022D";
+  version = "2023A";
 };
 "tabulary" = {
   revision = 34368;
@@ -35374,13 +35573,13 @@
   version = "1.1";
 };
 "tagpdf" = {
-  revision = 65346;
+  revision = 66465;
   stripPrefix = 0;
-  sha512.run = "221bf50a331d0851c472a1854565ff6bc5b3501563573fb224cef6ce1b47cf055bfea6eda1c51e11343f9fee8a390e8008e9a405ec4325fe4aab6911c6946fa4";
-  sha512.doc = "43e01b5f7f8577d357ab1b3043dde73cef680d907605fe6a940dedd0b697a62109c49a6b37b5a105a7213b39c1428bc8e7d8f929f24a5c7767d67bb9b5194a5b";
-  sha512.source = "7a88afaf61a46c44d078ccb5a91694a32872acce75b5d648b322d9d9ba74e38fb8474cd7c6477c21f968bdc588046d3ccb35fe5c219e35e85b3660427b21fd4d";
+  sha512.run = "4444749d11674a8ca4f74ebb26c721bceb7f11e8e01dddd3be109dea403957e95aa436ae4034764db7b85cb2905f2f458c55a7d264c895f47a38c85af88be4c7";
+  sha512.doc = "2b17fa52385be61794a2b382a91312fdc101c498f49080d0073b4d3060278068fd9dc24fd94c9aaa174d880bb985d94977bad3746810c898022cd78003c430f9";
+  sha512.source = "ed535ad10d7cca507f4cdaf8ee63eae4f6a7b86bcd6f92ff71a2b611125e2145bdee0fe7b0d42020895964780b990aaacdfa60a2a58f1a5516ef7860d560a95c";
   hasRunfiles = true;
-  version = "0.98";
+  version = "0.98e";
 };
 "talk" = {
   revision = 42428;
@@ -35414,6 +35613,14 @@
   sha512.doc = "0df79f434714deefd60b9b9d32dfbd47ac7e560c26ec0d02465538eefbc779f0252aef235ae2e0a2d2d634d618bb52c73b31c229b5245866239776c742ebe69a";
   version = "1.4";
 };
+"tangramtikz" = {
+  revision = 66201;
+  stripPrefix = 0;
+  sha512.run = "45a176bcc950088be660fd9d2a591c4cf116686374000ef703fd1b303f678fca3fb74e109951f2de57077de4045d2936858e46eb98ebb3dc179badb22a9d3bf0";
+  sha512.doc = "cf7902c8d6628499b56cccb73ab16276d00d99d92aad84f53e0ad51dfe3c6bc31fba329ca64ecce0a9ee1b64ba24d86bdf643e412ee6052035aa7d4a1fd6950c";
+  hasRunfiles = true;
+  version = "0.1.5";
+};
 "tap" = {
   revision = 31731;
   stripPrefix = 0;
@@ -35448,12 +35655,12 @@
   version = "2.40";
 };
 "tcolorbox" = {
-  revision = 63713;
+  revision = 65800;
   stripPrefix = 0;
-  sha512.run = "ab33d6e208fc2624f3956ec2fc1f29f55906245e07fe20105208838a125c4d9295b71f94ccf4bfca794c2c7e114fb990fb340293a07fff0fe7e0c0ca1deb63e2";
-  sha512.doc = "5a32c0ace3fadb9ab8d108096ba974b641ccbc07dc86f9c1fe293288aa3cb1573be732727743d3f6e8f04e28f93849fbaae44cdbccbf56c26b2baa70717711ea";
+  sha512.run = "d5e985b0a8f9e7756579b92268a3b9a5a5ce0169b1b8608996c3dbc4264dcf23f17256789cce7db712cde014cdb9a024e649fd3ac6ac53ef4d6131599d49fb55";
+  sha512.doc = "96cc807a6130a741b861a738639e24dbb31e7194065e2e62b2ebf17bbaf2de0a38b7b9feaca948e9e36eb9bc6736d963aa1db33f82187759cab384f31966c924";
   hasRunfiles = true;
-  version = "5.1.1";
+  version = "6.0.1";
 };
 "tdclock" = {
   revision = 33043;
@@ -35756,17 +35963,21 @@
   version = "2.1_June_2022";
 };
 "tex4ebook" = {
-  revision = 62076;
-  sha512.run = "ce9a19544d63fdec5e37fd129bfc87c6fa7c35ebfd719a703b9ba59dfd4ddcded42d03d075f2fd80730a5f295b2393c083098e5782b3a0ab2cbace335bb78c50";
-  sha512.doc = "08bfe7b1ca1b245174df6b4e4a1640ba0cf7c5c821ed76cb9b85b512055088354ab0d59383b5973720fd83b298efae795f46a61c7cc95c2816edd57408c4efd7";
+  revision = 66333;
+  deps = [
+    "make4ht"
+    "tex4ht"
+  ];
+  sha512.run = "5ed55a074d557cc433780b838fa0a53a3bd8428a192ddc1bfd71c306a110041663ceb0d6931b580e150ebd7f5f07145796ebd12bfd7d1c986e7feb74803dc104";
+  sha512.doc = "964824dc432799c57af3d69dae35b35e1f327dd57d245a6c392d434033bc627d8c93682c1bbbb1b099f71acde25c10f7cca2d3b72cca02e3f9c8d94de0dff807";
   hasRunfiles = true;
-  version = "0.3h";
+  version = "0.3i";
 };
 "tex4ht" = {
-  revision = 65368;
-  sha512.run = "459de1307160c0d24f875d483a03bb8bc0e3fffa569acc6cd5d6ef6ea8497dc413a5d05cdd99fbfedf5de3b71119e1d76be3a28aefe223bf134634e13f759743";
-  sha512.doc = "b8cf8a1d424d57df315aa48e6c1e92865331418c177f6fad194e98598ff876b9152eee58ab827c4a1e0c4f56c15032df87076a16762fa3c02eff5ab7f91d78cf";
-  sha512.source = "861759afb54d62fa2e8f9da21f79ee35d1b92c2c5c288f29ddd33e8d4c203be99375dd7cf71a57039dc9112ba6a126895f7a1bb4f68e6fea4a4e18b5025b6fcb";
+  revision = 66531;
+  sha512.run = "44ed16da1e774edb33b68c478ba8fa70eb33b03094c87cfd2c17068786c93bf4c083e85046158aef30353824d1458f0c5646ee71446f22ed991145827fad5f4a";
+  sha512.doc = "7c831eccdb5d303b756799bb28fa962593eec8a12e5ee1c763b7c614bab29d27fc507ebd86637e920581a4dd3a89d9e7acdb0aba2798b24048b9b0bacdcd1dd7";
+  sha512.source = "777422dea0615764a824f70ec7a85d4fbc824c25587935bfdf514420c2e0c61243dee2a84861b2290cec1fb444f64bd9754ce6334fb47c9ab3142d8e083fed75";
   hasRunfiles = true;
 };
 "texaccents" = {
@@ -35838,14 +36049,14 @@
   version = "1.3";
 };
 "texdoc" = {
-  revision = 62815;
+  revision = 66228;
   deps = [
     "kpathsea"
   ];
-  sha512.run = "eda9f9c138191f73487c5da101898970cb7f268eade19a7eb44231d05d819b23b182a9ca15e61c23f172c9869659c3bb5f45f35d2590d7da79d10021195284be";
-  sha512.doc = "0d4ad9b75b0c9f209bed3a5c816bbfb49a49667ca31b59fdf98caf42b60c9e618d6daae5fa9b3bd288dc6dc5fe2c6dc3a4cf7a1348f06006b9f60618d225a639";
+  sha512.run = "3d10ce6a38e3b676bc7495714962b527e2c78d5844b184eade200ad55cf07b44945203019315f1d6e2ef825c8093f0fc60abdf67efd641ce3777c32f0680c10f";
+  sha512.doc = "85e16d57fd1f89364caf38a714756a31c4a89dfdc0313e11641593df2227a7a17df861ef34d109a5737ce463ca1016653635499186d9f99a1e75d9225e2c66d2";
   hasRunfiles = true;
-  version = "3.4.1";
+  version = "4.0.1";
 };
 "texdoctk" = {
   revision = 62186;
@@ -35866,11 +36077,11 @@
   version = "v2r3";
 };
 "texfot" = {
-  revision = 64507;
-  sha512.run = "852e86f7804e44348a608e72f8097dbd2a8085e54b0bf6304fb83263fd0db520fb966b05b6cb9b282f56e5b8224bb726a1cc40b7cc880cbac2b1d018ee5ed086";
-  sha512.doc = "2a56fa38fcd5c70b8c4f2d390034f8ecc3ae07e89599497dd712db5eb071e3fca0eec66845f7c621b0ec61bb78011c9a742d15b220a201c3a509214b666ea062";
+  revision = 65545;
+  sha512.run = "e7553ab1e2368f1ee54cebe94ef1cc6675a6dd6f76f1bb94b1d79a742ddbbfb30215c97b7aa08165ec0e94b4468491d6cbbe6e1d8d77c24e37f3ec46104cc12f";
+  sha512.doc = "07cbd86a5f4731257804a8a62fab247a5a091fbdb51b5f618b42200c06ac8293e809ba19fc98f844dbfe6321e733aae5671b5a8318892608687a454cac15bd10";
   hasRunfiles = true;
-  version = "1.47";
+  version = "1.48";
 };
 "texilikechaps" = {
   revision = 28553;
@@ -35887,9 +36098,9 @@
   version = "0.1";
 };
 "texinfo" = {
-  revision = 65323;
+  revision = 66356;
   stripPrefix = 0;
-  sha512.run = "297bd20b82af019511e3b602b8cff1ea9ded9ebbb5c1ea3f6abf1cc446f312d078e5b69d8f7c618a9ed6c139e37c68ec1a69ac0dc53d9ed9bf8e77afe230c0be";
+  sha512.run = "1cc62bafc6e086aa722d74e0b92496568fbd68216fe57eec98d0f2c2d6cf32b6b05f26e2ea59aa345f4df2c0a7477d19719e2d7772d2fbb773428eadaac1a55b";
   hasRunfiles = true;
   version = "6.8";
 };
@@ -35912,16 +36123,16 @@
   sha512.doc = "050d284c195d95d53e0070499be687ffe7497082a894676a6221111959fd50a008c6286b58e020043475f262510d5323ec327e4b20808c9adfd9116ea98497bb";
 };
 "texlive-en" = {
-  revision = 65369;
+  revision = 65770;
   stripPrefix = 0;
-  sha512.run = "16720d3d0c0e83682deb08f35716e6cbd8ca0252c6dbcb1323807e0270efa1be93a0b7e0228fac559923b3cbdfee62fb0ff93d80b4b28347464a16babdc81013";
-  sha512.doc = "21e4d120d1fafb036eb882b5b5b427c2421902d5e3b53b2db2d6d85133c0c95cc53625124b4352f76c29bcba14a21cabf0cc08c2bd029500781ccd00b72cc32c";
+  sha512.run = "f790f2a94e67573635afb5b4c2d375bede61eb3afe271169078fe905d326119234363ee896ecc93a9892d26e0a394fc350edbda810e218b0b06cc30681fd9cf0";
+  sha512.doc = "48ffb3b9053250f4425992c57869c6153601e9dfaa4931ac4ff3c12df44b148dce08496acbae495fd5f9fe37e11044a3fc0669c713515d2cc99506fd6be59859";
 };
 "texlive-es" = {
-  revision = 62677;
+  revision = 65640;
   stripPrefix = 0;
-  sha512.run = "2afd522a31feef709bbf4fa7f30a3c515146c99ee31c67d895965a0c493389383930dbdb7e45f47dfa99e97778448c53ac22cb97abd31a9d5aab7185490f7233";
-  sha512.doc = "9fceb5a912ea3f9ca60fb80b296eea414a73303182cbc6b073db2e651a9cb86b08ab6e826d62cdb0bcd056f132947cacc7883d3fc7eec0037ea09acefcbbec87";
+  sha512.run = "53d96d2f8b0d831f125add3101790b3af28e475244800fc7df204e3710d31910ab497400a67561aa424ebc51aafc3f75ac9b15d651ecd4bda56a5d24710909e1";
+  sha512.doc = "afb6460747b08f6da09efbf2fa368e5fa0bc58c7f759a7c776fdea8ce66fb6821649ae222c1af9ac5ce5cdadd5d13e7d34f1b572d2efd160fa19dc2aec7b1e95";
 };
 "texlive-fr" = {
   revision = 63071;
@@ -35942,8 +36153,8 @@
   sha512.doc = "e355ea9074d4b96a352867ccd51e4d83a9e67a8917621c66f88acf32d295a30125824007d5c07efe0352d489ef8a12265337ff7448f179f36640add38c2616fa";
 };
 "texlive-msg-translations" = {
-  revision = 63700;
-  sha512.run = "addf6bfe4b82012f3934ae408111f42e7533c5ec6b8a788b69463cac7dd9deaaffa2815cf7824c8bbb641b647e9d7b5efacadbec6924f5f34f61fa5833c27160";
+  revision = 65889;
+  sha512.run = "03c0445d0cb0bb3722a691fd94b93c7fe9d046dbf5945ecadcce17a2333878ffc542f0b7f263ae09bd0537a68c1a59d6c04b873ce8cdc6c8b57f7ded5b6681f9";
   hasRunfiles = true;
 };
 "texlive-pl" = {
@@ -35959,9 +36170,9 @@
   sha512.doc = "40e8b29f29ed61addc2b9e7ce4b73d12bf2e59f1c50c65e59e9c8cac5e6c3ef264ce2071b0d54e15f5029c101a51d0efcda0144e113aaedc714eb1300aa9635d";
 };
 "texlive-scripts" = {
-  revision = 65361;
-  sha512.run = "d5fffebb3270289ce3b3bcf1357732b10150fa6bc8c263afb61d5a6f3d2be75d9f9d37e45e6e7d12a2fb0685b51556825dc6b7d7a5391b75f5d32b4ac67b7f91";
-  sha512.doc = "f9dc2e1436d976443cdc08d4572f503de8af0c125d586d2092566fbb7e1d57a8eb320fe4d775e291afbd63a7e5caa30754e3ba8827f47ebf799945533fc3eedb";
+  revision = 66570;
+  sha512.run = "3dbb2007ae7b80862265d6196f77a9d796f02f6914871f4dad094f8419040fe7064daf6ecf5dd611b5764dd4148d034a97d82aa22671199e8a3dc79373859c67";
+  sha512.doc = "6976ba00c8ee50664aaa1f762231f297f01548a94d6a632b386845e7fa43b20b63342d58874e87869a73a9c23bba358f762f5cc3814690f870c6216679471a89";
   hasRunfiles = true;
 };
 "texlive-scripts-extra" = {
@@ -36356,13 +36567,13 @@
   hasRunfiles = true;
 };
 "thmtools" = {
-  revision = 63477;
+  revision = 65863;
   stripPrefix = 0;
-  sha512.run = "775348f139fd085f27aa635db62d5229094bb89b3e8ae4a98b69b07be45084bdd3491ec262f432361ba270906c1c50cbc937b39aff5c1331927ff54278a1dc40";
-  sha512.doc = "d325c1d315e6267e5077a19764e99c43572c91814b669676260c56dbc86264be4a284ba1e9e04e91e6c80abe69a38391df745c3078c6fa42a7ee34f424783be7";
-  sha512.source = "88cd5680efe1c2564290139899021c125f225591fb9d316e01d4ca739f6d4423c371032f28381be02b7f0912e72a6800a715af4878f95af70bd974de89f6eeb7";
+  sha512.run = "371801b9ab63eb0ce401bbb56e9b2b52cebf927e7d433d10e94c60c3649187b88957cbe05f2c9995d9bf687a6e6708f8a26f02596dbdd2759107ca61171bcd6b";
+  sha512.doc = "753143eda92a887d6217f2dd3b727e78ff7441b109e8fc99eb0a672674a4ce0e3d7a1efd10f3252c2a14ebc87a37687511589e0f91cd4bd79a8298edfc7ad299";
+  sha512.source = "1114b1aee91c98ec2fa19858cc108ec264e717b525cc86a19e985abf74eb29123c0f7d3f9a0e5bbee9984c062adeb1de95344c579e3675d6181d125b7db69bf7";
   hasRunfiles = true;
-  version = "73";
+  version = "75";
 };
 "threadcol" = {
   revision = 28754;
@@ -36480,6 +36691,14 @@
   hasRunfiles = true;
   version = "1.0";
 };
+"tidyres" = {
+  revision = 65789;
+  stripPrefix = 0;
+  sha512.run = "092cc495292263e9e87eb3253d918466ab80b1d9187361a73c01bae0131848488876145747753dbf6129db129bda881968200102e16fcae5456d48f3524ccbda";
+  sha512.doc = "94a5c27d8ef9abac35f97f230964e305b24ac50ea5f30491db828f5675ad3128a8b75b423573f6c9f6d273f14b2d244b364997c5d75cf6e19772b0c995af22ed";
+  hasRunfiles = true;
+  version = "1.0.0";
+};
 "tie" = {
   revision = 62387;
   deps = [
@@ -36638,12 +36857,12 @@
   version = "0.9";
 };
 "tikz-mirror-lens" = {
-  revision = 65359;
+  revision = 65500;
   stripPrefix = 0;
-  sha512.run = "bd5a7425b2b623241771f80786f87632a77ecc836eaf1d8810ba7d677c8df04760e1cb829b628b6e942bc2052603175d0cec08b13863feaaf2abbe68a827aab7";
-  sha512.doc = "23083ff201590ca388867209825db0875ae7d48a7be9f95b2ffccad286f0c00193f8049c0f4c4a108b10cb66242675a2a897aaa677d7691be80ae9d9de67a2c3";
+  sha512.run = "133199223a6b40d9f07dfffcf842bf3cc5b37f58858aaf96fc5304f72d590f7ea4c45349455fb41ecadcffbcfeb8dae2fcea79cc282038d2bedd589a3a7cceeb";
+  sha512.doc = "6515311c8514384e205bb3f3f0859e33c05f3b4b1815c56d84c6c01aeaefce2fa9b4d8a87a882ab38afb6fdde7aa236966bc6ef775d4a29aa35fc8c1611d0eae";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.0.2";
 };
 "tikz-nef" = {
   revision = 55920;
@@ -36910,6 +37129,14 @@
   hasRunfiles = true;
   version = "0.3.0";
 };
+"tikzviolinplots" = {
+  revision = 65687;
+  stripPrefix = 0;
+  sha512.run = "f77d790c2f2c7df0d60f181430d06e731186d87de12b941c9e3db3e75a94844737d1ea2e7af676c4be7af752abc16e25ed2ffa8afcca67e7b61ad7d57c7378f8";
+  sha512.doc = "686ccad0fe4a07003eb0c73a18a7858c2489a203abab33fe4a51b285a6f887be01893c1c6247c773432371fa70fd4517acb1900d98105006351fe0840126dba8";
+  hasRunfiles = true;
+  version = "0.7.1";
+};
 "tile-graphic" = {
   revision = 55325;
   stripPrefix = 0;
@@ -36969,13 +37196,13 @@
   version = "1.3";
 };
 "tipauni" = {
-  revision = 64774;
+  revision = 65817;
   stripPrefix = 0;
-  sha512.run = "8554b4b8be18a1bcd7aa9dd7f3cb8bdcc074234ed761a9cecaec07d845bb8b7a70749360c0e8386fa7a70f17dd59da3378eb16541f7dd544ab815a4502d9f65a";
-  sha512.doc = "a6d7b83b295a84c00cc58184ab42550ff07f3ad1e6c2c420a339807627c84efcb057e4b7500af89b3cff311e78f9101efc98764aa55f1cc629f18b8333d9c6f9";
-  sha512.source = "83553b1cc5ab944b1da2632de9e69110f290532ffab3d99d464afa3e9ae0b35f8c16e8c54ba4b2078cedeeaf3efdb9664a85d91571139b08e4266e8db0a6e9f9";
+  sha512.run = "4e628711f3f1efcf96787bd1ce489380a699c4f800edf79523c8d5929339db8ed2b7c2ba49a456bf71b8b280e006fc672ec186b92c35b83934adaa561ce9f296";
+  sha512.doc = "9b4f7c48f48797bd4b40e3d823a0cc25f4edbaf1983067ec60ef1df6be58553c10438bca825c4315bee1098d57c8255e988b784660ab6c8ff9d34b11a42d3430";
+  sha512.source = "c7e8ced6797fe52d534c30e216bf1f8a1a6154a60623201ed13aabae07ab68a67b1f3bd62c7651e36a059db3742fad364a8ed4eb26f72b1846090f0887f25b06";
   hasRunfiles = true;
-  version = "0.6.1";
+  version = "0.7a";
 };
 "tipfr" = {
   revision = 38646;
@@ -37046,10 +37273,10 @@
   version = "2.1d";
 };
 "tkz-base" = {
-  revision = 63906;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "76699c858692579d33dab40e0ff6ef29c01ce83285a1d6bf01029c0b80b10c506fc4bc7083ff5bef8b39acf05ec2d3e09e8570a40d6e63b3b71a93ea9654cc9e";
-  sha512.doc = "1c68d5a509691a941b026fdd4994e35ff87fdfed6a31777bac4b66c44bd1b7d8869f0d284ab4d9c787c84e24bc90891f3abef1ec86064bd8fd4570b6fc7ed760";
+  sha512.run = "d2829abda926573af15d318274f8d495479d251a1b93947325bcce9d07e80ae7a42e89c450a67e7205ef392349041bb1e3a7119045e7b4941fbc3a23420e11a3";
+  sha512.doc = "06fa91e06ebf9a244af61d2c02eaaa3a8db072e7485f5bb06ae1be980402eeae9d492c8d52ee5a3a37f6248e38136c393445eadec1693e93fd36d69d93007c35";
   hasRunfiles = true;
   version = "4.2c";
 };
@@ -37062,19 +37289,19 @@
   version = "2.0";
 };
 "tkz-doc" = {
-  revision = 63902;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "426d23b04f1c94d17eb25218032fc2b65e80128801ff23e7daf6713c0cb0db41473b585ac904b90128e7149d568e618cc38ebc29209280ce3c4f5bc0fd6bd773";
-  sha512.doc = "fefd24b5553628ae4346eac3da2e3730bdc97bb63f772152014717126d30105e30f7731100734bf760283c19ba8dadfe8249399ca624147b1106c4d9a356d8da";
+  sha512.run = "4acfe795b7f75417520795676596dabd9fb423b2a369e4150946cdeb6e0a9dfb1cb440a5cb5b7a9551ec6fd80dd1d900811ba571ac227abf0c1334de39c1e043";
+  sha512.doc = "c88b01d19f5ed2a24ebb56c1e7530f046fc0bc429cf792b2a8cf64984473acc2d574c5956ec6f0e1ccb534957b2b7f83c872b67c6001acf570b9ead3cc13f77e";
   version = "1.45c";
 };
 "tkz-euclide" = {
-  revision = 64491;
+  revision = 65724;
   stripPrefix = 0;
-  sha512.run = "2361529e4dac444618e2ec83d76631ea2b5b601de6e2685afd7f3d92f4b656a970694630ddf177da86845e19dcc959ace5d339bb377944f7e04f9fc580efb3c5";
-  sha512.doc = "4e9a14b8a7c8e5e3420a0d5628262314b97f0c05bba1a9cfb2a9e94e3663909c35b4a2c52fdaf8908d8feb4a669264501ec94d22442ce26a5a1c3a8d33a713c7";
+  sha512.run = "1abfcf9212823d7b739822a91a62bda260b6aa0d0293c6f67978796ef25e45c218743a1743388e2ae33ac7c7b9215ba9ac9cfcd7295a9a697f078842149f66bf";
+  sha512.doc = "75b121c2634200e580339ee2266d6b6931c34d4217dfdbb146ecbdca8a4625c95348df8d4cdcfbdc69cc838cc0763e50a080f0945d714a42e8a8bf2caaf1976e";
   hasRunfiles = true;
-  version = "4.25c";
+  version = "5.02c";
 };
 "tkz-fct" = {
   revision = 61949;
@@ -37101,10 +37328,10 @@
   version = "0.1.4";
 };
 "tkz-tab" = {
-  revision = 54940;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "1ba023dfe79db404930546277015a9fbdfcb9165d74548cd0d0d590338656913327d949b3d35f9325a5c928fc291f3e6c6485b69b6dc753aa633460e265b389c";
-  sha512.doc = "eb941cbee957896dc19d4e7269f78a0d07d86b20cd0f0756241376da062386e3a99675b3fcd451aa153eb89668b98b486fa7d5b904a125a4e241d45b40b745ca";
+  sha512.run = "f2471d8fa3864bbae6cf39abc2ea289af637f3f4d5307d718c0e26d8a66de8edcdbc0d4fc5a21e3fefe2be453f4b30333f64dc0b21a13c52782aebc7a8b40164";
+  sha512.doc = "8e574876591d2648aa90d39ed78d4f5b122593ae5fb18ef5437650a582e8c04ae39f8ae81d85b09d7e5840a171ba6884c4eab2ee539049a92258d5887d08299d";
   hasRunfiles = true;
   version = "2.12c";
 };
@@ -37130,6 +37357,12 @@
   sha512.run = "3ac7d28285b15d7e97839619a449c870b3f96e1c557470ba4bf680016c9834af9f09715e09525b00aa2b951bbe20e5d3b1d0a5e5f957de99c13fdb39f4267e3d";
   sha512.doc = "79eead14f268eab643f676c36b20ba89828928fb3b418956277304ac6cf7145d53b4f97c30605690cddce8660361614b58ac65e8454b7740dde17ff82a053818";
 };
+"tlc3-examples" = {
+  revision = 65496;
+  stripPrefix = 0;
+  sha512.run = "2bdb38f294d1737c73068fa9d768d9a8f96ae858d400f1f8b651c4c51427bdb0e4d623fb8b9b0c0ab2adfe8d55fe472ffa4a27e7064b51528f3eb03ace111a06";
+  sha512.doc = "b5bbeccc60b9754e888a0ce457cb88f5c86a6b20c3cdc7850d28c85c409057391355551a97e49bc964521c3b4b498927b499e21bfdcaf15b8b8266c7316ebd11";
+};
 "tlcockpit" = {
   revision = 54857;
   sha512.run = "50817d4c68d4e302cf0f4075ff9321bde2fd26336923efd2fb39bf097090b617a2a67ce75d1a14d562939514acb17b2a356bc388f72049dbe52a868ff3d63ffd";
@@ -37179,13 +37412,13 @@
   version = "1.5k";
 };
 "tocdata" = {
-  revision = 55852;
+  revision = 65451;
   stripPrefix = 0;
-  sha512.run = "d09c92d7be720882d53799e8ed8b392e8ce20f1ed78ec995918dbae80fe99e58b3d6b74264f5cf47c146b6f2adf779c97f5e4f98060bd704faf58959c7ce1dd7";
-  sha512.doc = "a67eb751bced4bf18dd734a7643923062f30d1dd43e1ced5f161312950d4313eb2187cb1e85cd16835ece11907bbb58bdadb0e922aded123c5d024e390b035e8";
-  sha512.source = "4ed7570fe98eff95fea9f9bd30b772a45fb38f83f1bfe56e353b4531f65b06cb859fef310310654acf42ecb29dd78c78042971ff7957480962d86a4307c2a7f1";
+  sha512.run = "7a8cc901e669e552cb3ece2f60add154c15443cd875eede2c54b90e89ef9c97149aea4e9b9134ba1606aa5ce7ef24941f4850023222e7d0d97f59e8d7f583da3";
+  sha512.doc = "6ee4234813c1d4730fd0e8041b1182b9e570ea986a33dec32a786a6fb88fe2cd99b31163dabb154202d1831fea372ac4fa76d0774f322300930f88edcfd12ab5";
+  sha512.source = "9408c8f9f951b4bb39f00a51ea73e5c5f5bc379837ccb9794e64a72bbc3ced295b50fda2a082af1aee69f53c6d2a0550dbf55a1cb8171a8d5bb399eed35871b0";
   hasRunfiles = true;
-  version = "2.04";
+  version = "2.05";
 };
 "tocloft" = {
   revision = 53364;
@@ -37215,7 +37448,7 @@
   version = "2.142";
 };
 "todonotes" = {
-  revision = 59465;
+  revision = 65699;
   stripPrefix = 0;
   deps = [
     "pgf"
@@ -37223,11 +37456,11 @@
     "xcolor"
     "xkeyval"
   ];
-  sha512.run = "78f84bcaf613003f694dfaddff2631cfe34c081ec5aac576a267f99940abcca1c8c71dc801e8df295c585a4db06517e5cce4671aef4188b81feba4be1ed6eccb";
-  sha512.doc = "89b61bb5630846a7cf739f39cc43a4e08890a4b0af06c884a60d9ac30068044c89cb99578aefe3b08c5761a412e524dacd79b028e69430d87ec17493b42ab7eb";
-  sha512.source = "e7bf0b61f1ce386b727f54288d1c6486fdb784fb7d7fe42e5a86f0815766df33881214579051c57325d6963fa7e073469ce488aeca816f7566275318e171fecc";
+  sha512.run = "c3430bf32562d19a9a9fcfacf5f61d10bdaa7cc00d6fc271338b9a962bb16ad372290c401da9b8428dc0528ba185f38d94e1a07cf096f34b3d835b4474729252";
+  sha512.doc = "030972617d7a381c497ea074fb817e3f8d5ec4831579ee5ae632331a139a288a4d124ff2a98b563b78dbf79ad088773def2aa15a81435569a8f512682b358141";
+  sha512.source = "d63d3d5aaf3751fd7ed2a8c9f09fc10ff34753896ea8f3301acabfd038e84d06fd436e2665a2428beda20c77d385202df184fc39e7cf7eba5364d6d588abe1c7";
   hasRunfiles = true;
-  version = "1.1.5";
+  version = "1.1.6";
 };
 "tokcycle" = {
   revision = 60320;
@@ -37379,6 +37612,14 @@
   hasRunfiles = true;
   version = "0.2";
 };
+"tramlines" = {
+  revision = 65692;
+  stripPrefix = 0;
+  sha512.run = "d30a7a7ee30f933163f5462ce00b63e82bbe65b2d08b2b530004c22f7fdd884c99d44423aa98ee4176f0d7cab159799984a399ce26315d0af6522babf7b3f646";
+  sha512.doc = "209f4af2dbc0993c3f3b454c2d030c2f69e43403d50721a2c1e7159c1ed1cd95a01c76bd1821d1f281c4b1fd516b3084799d5877acb500453008c3e7e1b15b5b";
+  hasRunfiles = true;
+  version = "1.1.0";
+};
 "translation-array-fr" = {
   revision = 24344;
   stripPrefix = 0;
@@ -37638,13 +37879,13 @@
   version = "3.5.2";
 };
 "tugboat" = {
-  revision = 63386;
+  revision = 66516;
   stripPrefix = 0;
-  sha512.run = "b99910e38a79205a10446588f1119b288111d763311f01fc6ef73b6a6282be59d19bd13e76eaf59785d8ffa59bfcb33fc9bffdda4fc1fbfa205ba437bba029b4";
-  sha512.doc = "8e6080dd74a9f9f5defb096c5e221ad812c80e902774056b230ea315aa9c1dff9099e2c2d6d8fdb7805f69511a8dee46cd9525b5f75e8bfbc3614883a2dbec0f";
-  sha512.source = "e6d841a10bb5d8283ea43a83e6e9e382e4c44ace3b88605fb3d3f3fecf5d18a93b8337500788ecf3e32451a23e9ca97d82fb3dfa925b4bf558c3eb55c05b3580";
+  sha512.run = "be0b4af6a00b52f62d513188cbf8e8bc090a9caca2410fc713b2a4b244f078b82a09cba477adde391e988b53de3c8a66f75f3131d9c4e0395ce98dcfe4322b90";
+  sha512.doc = "bc5e7086372d752978d47f66cb486d27f531116c38b7b08c926aa314325d7abb8905cfae50d487a5acd822f4e7601b4258ba8c3d500a1e7530e3befd1ae89dbd";
+  sha512.source = "5aa5fe0d70603c337ae0395191f13354a8d932b10a763bf8d0909321a2fad6a26bf3775823feda74e0198c27496ad90fb9998201055bbef9ff1ecfa8d5dec155";
   hasRunfiles = true;
-  version = "2.27";
+  version = "2.29";
 };
 "tugboat-plain" = {
   revision = 63386;
@@ -37986,12 +38227,12 @@
   version = "1.1.0";
 };
 "ufrgscca" = {
-  revision = 65284;
+  revision = 65661;
   stripPrefix = 0;
-  sha512.run = "f931c0bdb05dcc7eeee913c40c4d5a8b15d575e423c7851cda3f1a54a46284b4fe6f92c097817214f294d3be5893a98d4d3172667f16d59bc33f6dcd93c97e2f";
-  sha512.doc = "b9d3b83dc17b05314d4f8c012a588f1dcc87cf47caa6a884e6bd1a6faf7dabdb32a7f74a3aaed0e83ef4216bf3dcb10ec1bd85d50de46a7d2ecbe7fc30de4164";
+  sha512.run = "a3e59608e4db63d9329dea8d1bd3dc7f934752abab97fb3d2eb717de2d039c2df5c5564b35e3311497b97c42621ddb988a323bf18718b71e6a42eece28f5f6cc";
+  sha512.doc = "b02e19ce8e275537a8aa59d8f5f66fb467b2aefde325279f0e05c0c19d5f6cf51089cc76f2c0b6bf8990ab4584a27393eb086bb738b305f96dac5c4a54a0130f";
   hasRunfiles = true;
-  version = "1.0.4";
+  version = "1.0.8";
 };
 "uhc" = {
   revision = 16791;
@@ -38036,10 +38277,10 @@
   version = "2.25";
 };
 "ukbill" = {
-  revision = 65266;
+  revision = 65485;
   stripPrefix = 0;
-  sha512.run = "23944a02a2279d6c37ce271c9ecbaca85bdf1fe61a2463d354d0716449de3e383ab425d749019e76a929a4ca27f6f3fef14f81b72a0e434fc7265d0d6623f1eb";
-  sha512.doc = "77675012a3ada712335c5d2f756bf819c31407d81d02c0cfdd57cac1980cfaedf9182dcb65360fae48e30b97878bf6044a6f1774b8860ba1ddc0e572f870e94c";
+  sha512.run = "54b8ce31488903e75012baf77c7fbcf3bce777794123c3274e4eae890606991ae5de875acde85def4c3757ed54f78beb6ad1d3b331704371cd0ff5198dd91ccd";
+  sha512.doc = "7ff4421360231f084977382b06677a3e103db4123fc001f7c63e16ed5e40289630312e331c5628ec8a714b9cf5ad53207dfbe2b363bb9fb3e1610d007c1ca800";
   hasRunfiles = true;
   version = "1.0.2";
 };
@@ -38194,13 +38435,13 @@
   hasRunfiles = true;
 };
 "undolabl" = {
-  revision = 36681;
+  revision = 65846;
   stripPrefix = 0;
-  sha512.run = "b753a9d8a4809118a76b9651c5c7994aebe5c95019b408c59b356135ab34fe4e463099280ea43fc4e47692e32af9570be929999a661fe80ce993f25b85547e10";
-  sha512.doc = "d7aa3497adacd6a5e10dfc9ac19762ba3fdabc74eb1d50c22dcd05e8d4a02d0723efe3c7e297050ab607525ad3611cddf87cc50d640394c4489d765fffbbe8b8";
-  sha512.source = "dbbfbc331830b1d006d746a7ad0a7578ebeb805f7c8b1fc54cc5a502c878fc8b026ff781e05b5510b2331be529eabbd6b0308811b5471f9e4571cf1172a011b8";
+  sha512.run = "7a2a13c7cf9a5920278bfcc57c6670a3abe704ffe01f3d90e253dc974c601da9a65366e7dc49785c398e3040771f45fa67365ba4e2b32426380c70556e4337a0";
+  sha512.doc = "dff0446c4efbc3ea2a8e379718ec977c53aa54c46c6703cc774db74e9e3d85c49dc83cbe0f1d8cd6450899af5929480968fea873333aea321d8742cb328105e1";
+  sha512.source = "b5c0b41e71540e0a0b5cd7baacd702403b4611446a208186caa8f98eb840ae093b852e7b64451488ab7bdba4f3f5bcb8fadb79a9c81015de4989ffed1ea1a743";
   hasRunfiles = true;
-  version = "1.0l";
+  version = "1.0m";
 };
 "unfonts-core" = {
   revision = 56291;
@@ -38242,10 +38483,10 @@
   version = "0.2";
 };
 "unicode-alphabets" = {
-  revision = 54236;
+  revision = 66230;
   stripPrefix = 0;
-  sha512.run = "e75df935a1a0895f5bda9854042a38c92627240f1318bdeb1e39428f50133dbe0b606e66b1bea6f73681fb40ed73220c5e26a60eb4ad10b6106c3e16d778e4be";
-  sha512.doc = "317ddd08268f38c197136d2755fa00738270a1e179eb8ea92ada50edc69da61fff17359f38fe33afa1e30fafff23117bf98895b9218bffb7b2242099d5f5aefd";
+  sha512.run = "fb211aa65464c8dba87864ab440e28ad5ec862a9172102447f865da4aa5d1cc814a2389c9a0a8ead45f44162df9f7e03551fa5f5c6a4ef58cde60c58cd996a6e";
+  sha512.doc = "99dedd786aeb570a3d62d52e5655c7577904ba9404682b5a575398bfe89bf6cb41e751a0272d73437984b21919bd6eedd0f33aec271ecfd76151709975673851";
   hasRunfiles = true;
 };
 "unicode-bidi" = {
@@ -38304,12 +38545,12 @@
   version = "1.00";
 };
 "unimath-plain-xetex" = {
-  revision = 65334;
+  revision = 66397;
   stripPrefix = 0;
-  sha512.run = "83f0f7da87b5b672f6e160a74dfd7b560892b0b1f9b6ef345c0d91a9e42be33343c7eca833a0860b79bad6a46f6747fdd8ce4ad355830e184931c379e861dc37";
-  sha512.doc = "b31b59d76e344e9452caca09b4c85196181cff773430c65bb43795c32947d99cf2509630da461b41950742a46949853b9f31ad0f6d6ae54c9ffad4162cbc0b54";
+  sha512.run = "2e44ecbcb30cdfc77e4d69b6416f556305700da50c459f17794020ae413d8bdbaaadc367bc4f1c39e4776d2cd2ce6663a699627102471ef5be5da17f10d839ad";
+  sha512.doc = "c30fbd082f8bd6bbc7e3fbdef8d20eecb73a0a3ae55aa48f8bcec635d84f90827f4a8f3be027d2c810b030bca067af66758f5bdcbec2229a3f4421822c8713ed";
   hasRunfiles = true;
-  version = "0.1a";
+  version = "0.2b";
 };
 "uninormalize" = {
   revision = 57257;
@@ -38395,12 +38636,12 @@
   hasRunfiles = true;
 };
 "univie-ling" = {
-  revision = 65214;
+  revision = 65651;
   stripPrefix = 0;
-  sha512.run = "8ec28a74bd59f21cbaed28101d2cbc22d9d32b32e70fb4d8441219b22cbb171e09b9d0b9fd3cbf656349192316c67549046576ef3cefafdb25f609a7a20468ad";
-  sha512.doc = "0ad4d8128dbbbe604884121dd5165763ad4fa9dd1e8962deeb7a036f36a18f805225a2068b8e6157de5741f964c73e436b5f6a101af91cf1fedd669a4059317e";
+  sha512.run = "179200352c593096ac82a3711b01d622b1ae06b0756f14861e1280aa6e59b5d2dbe5a834e6bdb5601f212a57aa2bf37309044acee88380264b53d0c65bd21269";
+  sha512.doc = "aeeb0a42e787c6d00843f89d4d26af6c410f6167e10c6f132fdd7e859c8dec25f94407870e2e917a7dc7b9ec175e15fc190ad5892d602b248f4be50b1d833a82";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.3";
 };
 "unizgklasa" = {
   revision = 51647;
@@ -38420,13 +38661,22 @@
   version = "0.3a";
 };
 "unswcover" = {
-  revision = 29476;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "e51938d3e31bb75abf7b8af27a7cfc47efde49b1e569c2d9b5d170bd4e7a29479571717d9932de22907e2f23093e977959112d4c1c42687fbaecddd6fe1b990f";
-  sha512.doc = "ea443054c6c89bac4ead8218e12a4a8020fbcea1204eb12f237f0a58f4f303797b27bb45585b78167d0a43a6758d257da0b140deb563de7cdc9497b8df56f329";
+  sha512.run = "f7e41b1d8728e081d6864b0a902d7229ebe0f826a602003549f8140dfd9a4e110dca4f3f2e74b8843441a67931fc7b0a3da927ac26e483a77cf1ae7ae1fb43b8";
+  sha512.doc = "32e0db18af54bf09defda012f0b43e97d8ee93fb2ed4184dcf7f8ade14bad31fb17dbd3b22d5696e0ef76165b59bac9a37dee7cbab846b28339156b081c65f58";
   hasRunfiles = true;
   version = "1.0";
 };
+"uol-physics-report" = {
+  revision = 65761;
+  stripPrefix = 0;
+  sha512.run = "ed6b2af5ee9c0ff53cd282b0a7c8cd26e07a5823f00abaa03471707f116f14e04c874548ccfabd2858ebb0c4bf56fe55d19f09dcf865521277cfa04491d3ea8c";
+  sha512.doc = "117ed58415a3502e75d10d2f6d6a34d43180294ad9b3a33d12e971ac20e4092a4a50f815390c7f158e79b7f5cc246616cd84a07eb76a04be1286a54a78378883";
+  sha512.source = "eca0d3706ae7428a72da99a7ffb123f471ba731f26d3260a5aa7f55b843d25c3ab837ded478263b78fb3530f7f64077488b52160806b248968f46981496e5ab3";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "uothesis" = {
   revision = 25355;
   stripPrefix = 0;
@@ -38530,17 +38780,17 @@
   sha512.doc = "2a9d880635afb3c848893c371d3aca7796e6aafb11949047a21e9f0df73d06b69d3cc84cfe28438f0424722b41b795be913e79cc01b16dacd5370ec5d1e9ac5b";
 };
 "uptex-base" = {
-  revision = 64072;
+  revision = 65802;
   stripPrefix = 0;
-  sha512.run = "b30f83c1d888d30593dcd28946301f5fd56e8045610e83538c1945b812824ace7909e84f433e163194b65899b597ee81bf3995a53ba6d3deb95be781c38015ac";
-  sha512.doc = "69db0c951a7976cc4986484f02f0047ac5c76b752d529084d91881338d763fc2f42b7f6c48b65ae66c04c3ea213372ba52c9ed490424e3bab00f699c91cc420d";
+  sha512.run = "30a8e0cb5eb3721e4bd5b8e3f04ca40a1aa9eaec442b77c9d8c06d2cfac01d63a1f44a785e93f1ad7b0af45008a112e6cac070406d78494f7970dc85db096977";
+  sha512.doc = "87b22290d4cad4fdc34a7315930535a4b3dfd92725ff76407fb1e679c70443cb5ef2273f37e5d7e4674142f9d482e1c2284dea976c7246eff9233a2e3b4c5fea";
   hasRunfiles = true;
 };
 "uptex-fonts" = {
-  revision = 62592;
+  revision = 65657;
   stripPrefix = 0;
-  sha512.run = "0de9812d26a0357c9eea01c84983750a807fd410425b92bbb08c5a400d013f9b47966cb01003b1b63a182d5cf39e131e2c3b9600ff02f4d7b042923989ac316d";
-  sha512.doc = "043f440bee3992a3bc4c518e39a0c137a3c60a7142bd715a5a2e833271f05cadee5221ae687148c9cd01e9e69c05d8e8f887f447256a7c8121112b116123100e";
+  sha512.run = "c5afc2563064da4f84ce962ab09966a4907bef73d776fa8c2851b7fff7de2bdcf0616c88dc75310e41c163ec9ce03fa737d87ae65cce41116f63a89be07c9033";
+  sha512.doc = "7ed628337cba71518e3319c7c427f0eb6f825a3173d29ce217d48e8d49e5ddae41ac2aff43da9563f326341b650ef05e4c1f779b76e2203aec5b282cb4e30309";
   hasRunfiles = true;
 };
 "upzhkinsoku" = {
@@ -38577,12 +38827,12 @@
   version = "3.4";
 };
 "urlbst" = {
-  revision = 65190;
-  sha512.run = "526c10cc0ad73b630a21edbf8863c0e52e89918e65500d48ac9c60cba230e0a4286afc4bfd637f025b5737022120bb7386ac48eb0834a0f8cd157829f8f84c7f";
-  sha512.doc = "5db32993bf3a07299d6961d6f42747e676494ad8902228deb7530a3e4f1d1abfcea0ad75b883e42296c47b9f46658f59ccf2e6b0d0cab48cfd8084fe86826150";
-  sha512.source = "5b78e14af18a2e011a13fc9172223b1a7e2a4e68a06d64d9bda1c783f5dac14f26e99e6815a7c344d23b1b7eadca29cc184d1c5305555b52fc3d945fcadca372";
+  revision = 65694;
+  sha512.run = "25d5655fc01f98a1414aa962d8ad924464835aaed993e3bb5a749721034aacb559a4ca1590d353615734535ac91d31abf7b99004f6298525ac618f35bfcb0fd0";
+  sha512.doc = "897c866ab03bdd5ab741537182788c5f484009681d6fb98f1149329068be707abae7ef012c0bd0170e2b4b673eaa63b46f5d0d55714015e8a451457f5a6c540c";
+  sha512.source = "5bbad9719daeeb8c03e7db6ef956881994bc17d7ced9b45165ad45899a7230ea8c0ceeb23d209d36535d2081b6b611d46c19b1f0f03e8fbae1788f31ab09e7bd";
   hasRunfiles = true;
-  version = "0.9";
+  version = "0.9.1";
 };
 "urwchancal" = {
   revision = 21701;
@@ -38627,13 +38877,13 @@
   version = "1.0";
 };
 "ut-thesis" = {
-  revision = 64491;
+  revision = 65767;
   stripPrefix = 0;
-  sha512.run = "15636c1eba5a74e62d557f43e5e71944c2f1504c3e90cc81c60847ab5c946a6517f4c94239bf6016e0d0b40e8311c6d3a8f586cb2603b5f807af80c9a5d1c057";
-  sha512.doc = "f5620bfed104db8d125f600c99b53f25d8fa834b9d83e491e80e838e72aeb93dab122ada10effff459b20e58ec5376c87ca00ba751e829b202fa743371b41255";
-  sha512.source = "c22a2498e56a81075ee328bca94d404fe143d363e08881fce9f10fc71ce99b12e4a0333fa28054b19e797fac1aea9107b7b1240126b878bc5f4e57ae3b90b373";
+  sha512.run = "a5a9c3028582fd2c379f00adb5d6abc650d0d89c3a802726c6e4c0e86f9083c445a9a431bec9be956ef242a0b3051f32eb5b63387e2fa380961195cca8d3832a";
+  sha512.doc = "d1e28a7d927620e259caee4c4affa8af9aad67089a0886f098ff85d96bfa473863aa4c9f6ef225629fe3c97b7505a9bb73802ef861c4198002ae1af4456b1cbc";
+  sha512.source = "0ed214fa702923f6a9599bcbadd0e670545d308c32502ffeb4381e64d2f5aec4cba6b74f44e208789d9626d160b111409b5b70c46b3bd9d311d9294a4b57df80";
   hasRunfiles = true;
-  version = "3.1.6";
+  version = "3.1.7";
 };
 "utexasthesis" = {
   revision = 48648;
@@ -38672,6 +38922,14 @@
   sha512.doc = "ba60eaf55cc08378560048ebc6f735e743449a18d2822e6027a86e595a9634461713ceb37d15b9f0c8239f1935f910bbdbd9a0d0d6fa1683174739f91c16a504";
   hasRunfiles = true;
 };
+"uvaletter" = {
+  revision = 66335;
+  stripPrefix = 0;
+  sha512.run = "81cdfd20ebfca553098a9b7cee7fe726bd3bc77ee61624d199a094e7876155a9ef9e9284e543c1adffd092e9618babab5ae896b2f56d8e2864808b5dca0776fe";
+  sha512.doc = "c07988a7466c3dc96c51412ffca508bbacf392824ae87002e618a9b1de0a79497e11bb6c604a9e73762bcf5be8ffafafeb49c09655c4ae9f35a58deb0db6669a";
+  hasRunfiles = true;
+  version = "1.1.0";
+};
 "uwa-colours" = {
   revision = 60443;
   stripPrefix = 0;
@@ -39192,11 +39450,11 @@
   version = "2.1";
 };
 "widows-and-orphans" = {
-  revision = 64212;
+  revision = 66534;
   stripPrefix = 0;
-  sha512.run = "cc930d6184eb358db304723c569bdc05c001b99ef871080e119c172f240758d83cd9e783061ee521a4f0dbf8466542cae7ba84de26129c9cfe98f1b19f883f38";
-  sha512.doc = "05afb64de8aabe837f1cb9b6e6b420815b407bfe31703dce7bef3c467d634b996c64f1bfea7d624917d68d8a9bf6a95b6a407f4c69420dea47720f1c52795730";
-  sha512.source = "ccfd4b442df7c061eebf68c736c3ec8f31cfb1307c2ef09e27990e1d321259a3b4cf6c14db461fc36563f1d983ff45e44aa96a371bf8c9388dfda6cebffaacec";
+  sha512.run = "df6534b55c029166cbbf91dae1b19b083093ad5c694b8a9dbe50c724fafb7f9ada320b298882ef3faf6069d9218d0ac70f6a0b0ef95a62f707232107efa2840c";
+  sha512.doc = "6a415e3068a378cb94f9b2f07866e2e515248691628ea838c7be8b43285b7832a49fd1842bb9b6767c27ab62f694b76998396cc51079da46584a2fe17c1cb6cc";
+  sha512.source = "bc1ab6f2c3bb52b25e9e1a39b0f59341710ef02e1a20e456d09a53230f3a312e7eea64998481c6063dabe97cc91cd5c97c51ba907fde9818046acfd2fd1cd30d";
   hasRunfiles = true;
   version = "1.0e";
 };
@@ -39231,13 +39489,13 @@
   version = "0.3.1";
 };
 "witharrows" = {
-  revision = 63087;
+  revision = 65841;
   stripPrefix = 0;
-  sha512.run = "20d58b9ae97290b79044cc2a12431a219d26ecbb32d5256942db37f4fc6c4699d9c1fa79ef2080444e2981c865e34eae889cb9113ef5e314e9caedcfcfde1b3f";
-  sha512.doc = "da7e282f57cfd0ccb8fcc55a4e746dfadbd1629e416207a1fdc59e9c00f2dc8815bc01dce29eed5aba98be465a670f301da99be15388a9cd499646ca19a26353";
-  sha512.source = "4800609a202f93f25fd763db0b6b95c1d59ab7fa722f375b4994ae85d8a66d8fe9e5cdc76387ecb9e1c7c02b2723f8d29a5b560e24c23d60a053e8a62c268646";
+  sha512.run = "ec6cc4905751b7ec8fdee871ad72851241db23552e59bb0e66e931d849c6ba3d99d78b93a13aa96359588439b78534065a90f786bddaba5d243cd400438be710";
+  sha512.doc = "3ea2242ad99d728dba6d5171ff2277686f6f5402900fe80a6e84c3b6e3847d5070f31f68482e0f2de09b10401d07c2db60892bdf8bf4ebc450daf2b21203edf2";
+  sha512.source = "511f6ec6a396298e004b7943040adf71d8b1b8974bbc8650e6921c064d38375e7c01a978a851ac52fc5ee93834e9c5db0ced7f468cd03126e16e90267a497d40";
   hasRunfiles = true;
-  version = "2.7";
+  version = "2.8a";
 };
 "wnri" = {
   revision = 22459;
@@ -39295,13 +39553,13 @@
   version = "3.6";
 };
 "wrapfig2" = {
-  revision = 62039;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "5f8059f2aea539f11946e4433c2bdb41530076109e2758f13a289f9009e972ce730cb7d472ce831c7567b0f4281ff54b29fb8df5d6c7f58b98030096ae88e35e";
-  sha512.doc = "b390941a37f348545a319359d216ea9eb4e44f8a1d50b25825a7288f77d3e3dab8e183efc19ed1382420083bb8b7cb940b175057462e88761149ea8611d0488f";
-  sha512.source = "dca40cd88a8650cb5b77de58b3be4c484b2160862e5dc19609237702cc0e71abe0e86b35cf0661e6f61c28948e24b4ca67da3ae710ebf1c0b6786734e1c48cf0";
+  sha512.run = "af17223ee8582f8dcd3b30a91db66aa4ea590f2b0d588750cf751925f055c5c06c101806578f0f9c775b22b666c72fd9e8189f0f56461c0e2a57a6eb387eca52";
+  sha512.doc = "5fbcff625c8ab40a21b88c1f3e4c4b692a6b99e2d3e932b0094fddfdc0650a0bc6b30f25a069db005c93b6a8fea09ec8198be3505b0cd576ece361d3e1220b4d";
+  sha512.source = "70341613c62346a66aed788284c7388ed34f052dba648fae70ade8fa1901bb95781b6ac365f281212b0b7a226fa3b177488bf7b9ef9d3747319dea20c084800c";
   hasRunfiles = true;
-  version = "6.0.0";
+  version = "6.1.1";
 };
 "wrapstuff" = {
   revision = 64058;
@@ -39312,6 +39570,14 @@
   hasRunfiles = true;
   version = "0.3";
 };
+"writeongrid" = {
+  revision = 65700;
+  stripPrefix = 0;
+  sha512.run = "b65d0b5159fdf6c9f84318770c765507b832d70e9646eb85456f3917988ba0b8d67add019a993f7ac6e58276a06dff263155b0d2759de5bb04ee4982f2c14187";
+  sha512.doc = "d5ffefb363efb6736112a99db98a27aa4e7fd0ccc6168a0fe6413443d7854ae9e157e660973fc9deec074362e8faff4285f28bc89cad1d19c7e8d9a02814bc92";
+  hasRunfiles = true;
+  version = "0.1.2";
+};
 "wsemclassic" = {
   revision = 31532;
   stripPrefix = 0;
@@ -39370,12 +39636,12 @@
   version = "1.24";
 };
 "xcharter-math" = {
-  revision = 64927;
+  revision = 65686;
   stripPrefix = 0;
-  sha512.run = "552c473140f49ec64e6bb6e42259fe9a292e966b827337b8e3c9c0fde21e9b51af16abde3e2449c32d4d83e1439ce2258e38cce9c2f616c51c4079ffa65bf999";
-  sha512.doc = "bbd3ad62b4cc737dc753f7537ec0a60a11ee0c442c1cfc37a36e08b270b317c239e20a11d527865ec92ebca175d7eeb6ffb717377655bd9eeb8022922a9006a6";
+  sha512.run = "099096013f0e6875e879e5f0c5a646df374c718199e0a8394d0d1db215e2e65aea7b484818ecdf1be72064d8460fabcf46918b5326516c3b887b62ccfd7bcfbb";
+  sha512.doc = "c6b64e8ebe5d0aa41aea6e5cfdabb2cd62eeb924e8de0b4b2b29dca4f8a4970e643b3c81fcbdda52df3a4cc1220413430cadde6caece7db3f6312fd65814b3d7";
   hasRunfiles = true;
-  version = "0.35";
+  version = "0.36";
 };
 "xcite" = {
   revision = 53486;
@@ -39475,13 +39741,13 @@
   version = "1.00";
 };
 "xduts" = {
-  revision = 65243;
+  revision = 66475;
   stripPrefix = 0;
-  sha512.run = "c94b4bef5e31d1a86f1db3995a21b6f102e4b17771a288cc594960f2879f93a91666ee7144bdad6dbf1458c1f1cc60d64b87a2ccc6e2487d61111b4e16669fb1";
-  sha512.doc = "7b9c4b4b5b5d514e4d7df6009c9e646a9a127df815fce84fd20b2812473ac9a6d967cb0690ef427d3f4b05aee3ba881721574d6916669889fe171959ed14344d";
-  sha512.source = "1622b179b7f049d11aab9bc6002d12b006982d8c49940dc8bb910e8d3d309c813c70c7786372d6de122376b9f65f680c880057a2ded0db84f822220d968bd6df";
+  sha512.run = "9d658106d7967f25be235aca3421d20d601b3d8c642a1449df714ce2ed22953f78bdd43158628ce51793428b5d6c38f75beacf20e06d2f076b2c6a2393280831";
+  sha512.doc = "9d4d2bf5936a686053015f62a77de81948ff391f498c9a36d0ccda0da49722aaadc07c4b58f92d1ce16de3e197a8763fc345f543edde65c7dd2b53cb68408dc4";
+  sha512.source = "c52367e3fc873b50a8c919f1492392f731d9770f8474319e8e5aace94a7c96a7d84036722b3580ed323fcb7f450a1280c3d1ba448a30f71fd0a0fa056384fb5a";
   hasRunfiles = true;
-  version = "4.0.1.0";
+  version = "6.1.2.0";
 };
 "xdvi" = {
   revision = 62387;
@@ -39700,10 +39966,10 @@
   version = "4.2";
 };
 "xetexref" = {
-  revision = 56291;
+  revision = 65972;
   stripPrefix = 0;
-  sha512.run = "5d2610deed12422bdcd7e177c339d3aa701887ff12bab214ce0b67f87abd70c569a0aab85f59f877399d440c75c712a4ec8ecf12f6059152d0d0c70f40f2b1f7";
-  sha512.doc = "24d62e618217ec5454bd23662711e10637a7f67cc11880288bfcf301ab89ab22d87a6d65af8c37c99d924a4dc77b95308ef38eb8ad6bb81cf2900cbd3ebeeef8";
+  sha512.run = "4cf111fbf6a7df52e8131dc5c0fe4f868e8fed89d8b54f05b426d9860b5c1666d6dc7e2239b58022f2d5cb9a271d5f953ddaf9b54e64d510a12d7749e6ce2156";
+  sha512.doc = "e73a28268e351a736b7baf132a1028ab9c44fc0ad5d7dd2ad3a65f830318a47bc2118d415f7e24b38fcef50bd967dcdfcee5a1b9c5dde40ad81cbdf9747a285a";
 };
 "xevlna" = {
   revision = 43864;
@@ -39771,11 +40037,11 @@
   sha512.doc = "50322d89f494d07793d964fe515b8a0bacb74bd5706a6da80f6860771a8e3cad35c7d06bf398217a7e4364594d54f4dc490f39980194804a04460047ff5083f8";
 };
 "xindex" = {
-  revision = 64453;
-  sha512.run = "970eb846d6e1bab2ea3f9cf643c67721f0e38d7c4fd4bb4d3f67593a9984d4ed2f13313bd523a2f4c41bd3a098d01f7c9c51417e7cf05b244f404fea6639ea9d";
-  sha512.doc = "ae0fb8b09ab3f6df43e756dd37c503021e00670ae430656a05cc91a47abf9c9674e0d561a83a4259f0eafce3e318596532252393d0a28c8494fd2b21f0d474f0";
+  revision = 65597;
+  sha512.run = "c88e7d602c741db871ab6ec5895fee5455b954c4487d57be812b172369c5d973a8fad4b9fdcb60179562d04ba4105ecfc1228ae7d414a7d90df9a9723306de07";
+  sha512.doc = "3d36e5f8811c6df621717a7077bb49bec137a5bbc3c6593078644811d915c720d41c2e1a6e5be6e3af95ddc64879582061f7aba6113e2b3a1ee5d7b3f63064d0";
   hasRunfiles = true;
-  version = "0.45";
+  version = "0.47";
 };
 "xindy" = {
   revision = 59894;
@@ -39988,11 +40254,11 @@
   version = "1.2a";
 };
 "xpinyin" = {
-  revision = 63897;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "e5a0464b1741793d439cd8a88d6e58d3032d236471180a5aac5f7fab9af04aa5810cfa1690c19eb5e44e866608e210b40b859eab14d36b661dc5ac80148df92c";
-  sha512.doc = "6208bcf0e66611ea73e17ea0bf04bc0186d0c6a1066a559abea1240f7c6c5fffcaff2d00cc2c92f33c7696d40e898080f9a5e3435e4274806f737de6bd17cb01";
-  sha512.source = "d0a2218c77bfa2c3fb3ed48efc48a8c5fe9e40f8a01ddf11d4dfd7af7e09481e6b9f24835e75bde94ae90f6ccbec6f78da8ec64728c428c6bd08fba547b5879e";
+  sha512.run = "082ee68b118f20d74c442427a0a6e25dd1c5e0571dcf4ee1bf9eab214b0a4773075dc9cf43f2e0a4b02299800fe5362c8fcf09c059ca0b52bc9d0d5651b7d141";
+  sha512.doc = "70966d857aeda92fb727119d064e99f8c7c68f538619cafa5e00fac06b66ad4d9a05d827f31b6ba97ad7034eaa296e6f4b92064501b8ec5251c5189c30206548";
+  sha512.source = "3f6d646d90b058cf6415195885ef9622a0d3ec598215117ea5a01adf49301efac5d3baf4c717f8362b77922e1b884d3bfee10ae5bacf1327bb8705de49c03dbb";
   hasRunfiles = true;
   version = "3.1";
 };
@@ -40013,13 +40279,6 @@
   hasRunfiles = true;
   version = "1.0";
 };
-"xput" = {
-  revision = 65325;
-  sha512.run = "9c3eebaa83a67c35ca27b6be68712b7449f3366b84ccc01897545ec866812d7e6eb82949034ecd0ca99ae804658b64b2c1be4d8049c637f9d560540be896996d";
-  sha512.doc = "a847c7472ca3136d9e7f20ccb19fe01171796c231134f9770d7490accc92d3802b0f327d9ecf98dde4609b80921e6a2780ac1effc31fe91f16b36378a7b23eae";
-  hasRunfiles = true;
-  version = "1.0.1";
-};
 "xq" = {
   revision = 35211;
   stripPrefix = 0;
@@ -40055,12 +40314,12 @@
   version = "1.5";
 };
 "xstring" = {
-  revision = 60007;
+  revision = 65551;
   stripPrefix = 0;
-  sha512.run = "d02190c624808e5c5814f2c2a8c8ce9f28197a165bc988c02d6eac6fa8a22e3e1bb5c3b41b9b3a3db38917377097a0f97e65ae41ddd9422a97501c6c7a2d2668";
-  sha512.doc = "dbd3711d0e6ced0346feb8af281779cb3669bb849d8a04ea9d184961f473aefd3910bfbc77cebd9d150a409489fa1db65581f162cc37bdc2b36482474b439e6c";
+  sha512.run = "d747f0eabed48e6d3053b02bca43df476dbaa7f705a1b60c8b9e3e518ecd61af8449122b6a230f2af41966ca0c14c16e7e46b95e124c4dffd898ca4299af7a17";
+  sha512.doc = "a3ad8bc25db266e50fff99ef28def0ad2b68b7c31d382f256b49f90d5fc300800166cd10e255679535bafc2b6196df4ec94df1ab7d82ac42473b51d2226f11ac";
   hasRunfiles = true;
-  version = "1.84";
+  version = "1.85";
 };
 "xtab" = {
   revision = 23347;
@@ -40187,13 +40446,13 @@
   hasRunfiles = true;
 };
 "yathesis" = {
-  revision = 63576;
+  revision = 66159;
   stripPrefix = 0;
-  sha512.run = "f8fc05aae6153e097f3328126a55b0bd255bef6446978235dbac453a0ee34185c7191aa7b9360ace22ef6f0c96dcb9ab67aac2cf479cdac709b4afd68b9a07c3";
-  sha512.doc = "877b7b2fd5e06016b145b66a4d2d0f8a0fb5f39b1efc28e01429a844bd3a06d4a21796015b57eaa6b7a37826831d49faadff4451cb8b4d4ace56d912c7cc2cb4";
-  sha512.source = "a6485ab26928fd8c883654085af733559d5bbf01828b5048788d73e1b34cfaa2b53988f763eadf61b01cca82d2a70ee188fd04d1835530d9a8766b2463e7605c";
+  sha512.run = "fab5b280fe45504c54cd599d5b4e1e99936d3373ded66f4b63d781866271b79f56179668b4bd4c2dc6daf5754ae732737e946da763cb1e7018cd5908a70b3efb";
+  sha512.doc = "70bdd373a8816ec6eed800cc233a407d6cb668382ea05efc1df3f604a9ba266dd8799086e7ed33df80ba4e876cd4c86fe52df1de31cd99a0b88aedfdb54315f1";
+  sha512.source = "0d2c339bec5d3c4d3e2e7bea9a3735e4a5e697df35690ab54333181bf2157706d3989ca590dbd7fff0f104c4776bf80f13c976e0c7e4515de2111aae60f1ca34";
   hasRunfiles = true;
-  version = "1.0.10";
+  version = "1.0.11";
 };
 "yax" = {
   revision = 54080;
@@ -40281,11 +40540,11 @@
   version = "0.7alpha";
 };
 "yet-another-guide-latex2e" = {
-  revision = 63663;
+  revision = 65714;
   stripPrefix = 0;
-  sha512.run = "4be09b826b1d43a002397c6318b184997167ab8395e0bfb7025c7e86286ce7f3d32ed0b3688cbfe1b2858c82957d341e55500082afe38094d292fa9bacb0dab3";
-  sha512.doc = "3bef8306a4a5549115297be93f440a113a4caab12a38fd23f7576356c70cc795a98af2b8e8c4bae6ad4af3a9bfb7f29ba538a31d2797332d18177b5303ce8d04";
-  version = "1.0";
+  sha512.run = "ed532ed8d95cc68793956533f91e331d71618d7d9371d8d7996e1bab06cabc636e2d130e1af2e17ca86ffe4072ed2a8477b33e96451d94c926bfded1c0f592ca";
+  sha512.doc = "cb9817e571faab5dde69dc2e7adbac59cb6437f33444a289e9dc61d4f4db10958e0206e8a369d873667963cfa754f176bb0b9767a12632950cf5e9a4327805d9";
+  version = "1.1";
 };
 "yfonts" = {
   revision = 50755;
@@ -40354,12 +40613,12 @@
   hasRunfiles = true;
 };
 "yquant" = {
-  revision = 65351;
+  revision = 65944;
   stripPrefix = 0;
-  sha512.run = "dc7447fab91140b4c8a12660e4e9335ab83886269467159691e48f5f7a246b8d376515537d43cf2934a826dba4e6dca9664d16d87d3c2b61f5869ad50ced204e";
-  sha512.doc = "9bf0fef2b0e91cf9610232d419a0d04b87854e52adf1963521a4c1b9bc24fc22c73da37cb8cccdd72bc959a2a33aa442585d91983a377c5b7886ec5a6f013ead";
+  sha512.run = "af6e025317de8d354ea6a5f901c56c8966d43d95c0d85902a9c77afae6282d3c54dccf35723cccfa4a825782afa648465e51f0dc6f971488863c328f6f4d8883";
+  sha512.doc = "105f593830056c3d15ffd01a8a812964430c876c9be5a3135240bda323dbd77c4d0345b3924fea693a5566eec3fb7dd010e7301a7b7fbd36ea7f041422c4f246";
   hasRunfiles = true;
-  version = "0.7.2";
+  version = "0.7.3";
 };
 "ytableau" = {
   revision = 59580;
@@ -40406,6 +40665,14 @@
   sha512.doc = "e5e657656e46023e32366ba415f46322f4c9b4fe0e69f03c88d4e5fcdd577e3436be6436424f502c3807278efe3a31ab7cba3020ef3c9e44874de3660dcccd2b";
   hasRunfiles = true;
 };
+"zennote" = {
+  revision = 65549;
+  stripPrefix = 0;
+  sha512.run = "94f1e1a0550005c25206ac3e04216d35bc2b769b735160219ca246c95a85db5002bc74641e45152a31e8148e4d581bdb0024a3174eb735537d39ea1256f34365";
+  sha512.doc = "a2351fa77ebdbe035a60750c1362d6a04cef67be244ff5ce2f6a38cc6b8c3b5b96f4afcb15c43866393911e60446be6f5a4d384852a8a10101abae38bd309fc7";
+  hasRunfiles = true;
+  version = "1.0.0";
+};
 "zhlineskip" = {
   revision = 51142;
   stripPrefix = 0;
@@ -40441,11 +40708,11 @@
   version = "1.0";
 };
 "zhnumber" = {
-  revision = 63898;
+  revision = 66119;
   stripPrefix = 0;
-  sha512.run = "51715396c543d910e0833e1b1b23f54fd27d36b52dc6c368bdecd8e118edd4aedc6dc0d7a3376fdc52f626fe29dfc47b7f58436d1d2e661fd91f7a0e23053086";
-  sha512.doc = "02aa20ae2628a4cc2088418de191f1d800c885810fee40c0fc917644013a144261eeec8f21b00ed4e139850e5cedc97636d7d0ee23699f68dce97dc4d67147eb";
-  sha512.source = "379a52b566e88a14acaf9be5ac6feb68f28e04783a7862fa3aef259532fe180392a9e21551d46889a7e15c9d64bd84a86114cb51b9f0e8127500701bc8aca3d3";
+  sha512.run = "083b60752816db5b85f2a1080bdda2829d373c8eaf89ec7fd12d64b238b11280a6f4ded36142f2e6a08a72977c23907fba17d99d25bd9826d42f6c041c4b2081";
+  sha512.doc = "fcfee3e37ce20ebaa52e3615f4db18ba6d243691b3bc90eadb78376c40b2e9394472e208b7e145cc967e3c7b9b69061016a43c5da20cf326c6f03c29ef1d5446";
+  sha512.source = "215d46d0728316abdc173e933006ab6cda39024f968739c3f2451e3a59442091a9082a0c5a4bb7c3a09dc3175d87dd2f86599b8804479c98bf3d549a4a0e9f5f";
   hasRunfiles = true;
   version = "3.0";
 };
@@ -40507,26 +40774,26 @@
   version = "0.3.2";
 };
 "zref-clever" = {
-  revision = 63428;
+  revision = 66024;
   stripPrefix = 0;
-  sha512.run = "ce32153feecc4cdc5134c9100b5a643353e2c36d32bd1226a90efe14ac51e831de7e3b3d75c43a48cade9ca529657ce3dc6f09815ed554b857c1b870ca651981";
-  sha512.doc = "f9ff97db6e1418f125769e4abd74322b6d3b4a41bc4394f3c58d4a554e4533659a716f37ae77867756dfff9297d28e876cf4cdff43075975be0271279c907307";
-  sha512.source = "e3e3468d5f01578c543325b4c9fc475ab996ebfa32f49525ec8717a8eb15a3f2ea2e3fdda8ce2cb705e0ed63a871688f9b10a02694c0365cd37b73ebaf3a32ea";
+  sha512.run = "4773b3467f6e0874d581941293e771ed8e21746be75bf9d1dc470ec1c8a553ca21d0a507d834a7b7c34dcead4d69ee542b8cbf84186fc14a6347e3f54582efe9";
+  sha512.doc = "438e5e4362a69c83a9e0757a65db76bd301047ab5f5c67ffc983f91d575d1de16b629fe1c81be75af1621d9696b6492126f4663bd531bb785b04ae96af38b9c6";
+  sha512.source = "303c0f18e8510d5ea48017c36ec84e700582406689d418941b072c5135c9ee97fbeaf6709a6c71b104c2e93bda730be23640e97e9a1c6c6b56a9bc393731b08e";
   hasRunfiles = true;
-  version = "0.3.1";
+  version = "0.3.6";
 };
 "zref-vario" = {
-  revision = 63874;
+  revision = 65453;
   stripPrefix = 0;
   deps = [
     "tools"
     "zref-clever"
   ];
-  sha512.run = "a6098a6d02e8ceef899a6dae98af5f4faa4878d450d02dbec9c3d855eacf359d30418ed81b8884b898f2b5b39e65abd7b4572e6797b73050d3f708a73d20f9f2";
-  sha512.doc = "1fe5da87c16231ed058d42a0bb99d041823e8b81471039773338a09e83f650419d7f11a58322101e178f2682fc655aeac8be5d82d1df55da6929cd119c94b0be";
-  sha512.source = "3389daa24248921968989cde9386d438c3bc81dcde8a800bc324437cf8e468f24bf8d0eb24296319cb9da45cf42295e45ae01f47a32ce175ce2dfb2508c4372c";
+  sha512.run = "c3b2965bae0c8354e60cdd8de29cbb45dde04180d4c7955376f1889622d1eac35365fb14cfd79615c5bd98909039c4d4e8bb02bf6225bc6f40a8a95d40137a90";
+  sha512.doc = "1b10b548c3c1455520c2d190330ca996e0799fadf2aab6f9da59aaee62434dac35101021749834f05a9a40618185b430b3071d6951ee2784572014fc885acf92";
+  sha512.source = "fd6a63914cc36ae400da73572c8b7c77991808f6e1e2d5a23527719f087174c881dd7e60357a94eae46a59aa83e7dac34fcf5dde062bcfaa70cbc12a345bdbfe";
   hasRunfiles = true;
-  version = "0.1.5";
+  version = "0.1.7";
 };
 "zwgetfdate" = {
   revision = 15878;
diff --git a/pkgs/tools/typesetting/typst/Cargo.lock b/pkgs/tools/typesetting/typst/Cargo.lock
new file mode 100644
index 000000000000..fe52185931f8
--- /dev/null
+++ b/pkgs/tools/typesetting/typst/Cargo.lock
@@ -0,0 +1,1810 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "arrayref"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
+
+[[package]]
+name = "arrayvec"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "biblatex"
+version = "0.6.3"
+source = "git+https://github.com/typst/biblatex#932ad283dd45dd88d4fa14dc5b9bda7a270ba027"
+dependencies = [
+ "chrono",
+ "numerals",
+ "paste",
+ "strum",
+ "unicode-normalization",
+ "unscanny",
+]
+
+[[package]]
+name = "bincode"
+version = "1.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
+dependencies = [
+ "serde",
+]
+
+[[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 = "bumpalo"
+version = "3.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
+
+[[package]]
+name = "bytemuck"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "cc"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
+dependencies = [
+ "iana-time-zone",
+ "num-integer",
+ "num-traits",
+ "winapi",
+]
+
+[[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 = "color_quant"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
+
+[[package]]
+name = "comemo"
+version = "0.1.0"
+source = "git+https://github.com/typst/comemo#9b520e8f5284d1c39d0bb13eb426f923972775f8"
+dependencies = [
+ "comemo-macros",
+ "siphasher",
+]
+
+[[package]]
+name = "comemo-macros"
+version = "0.1.0"
+source = "git+https://github.com/typst/comemo#9b520e8f5284d1c39d0bb13eb426f923972775f8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "csv"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b015497079b9a9d69c02ad25de6c0a6edef051ea6360a327d0bd05802ef64ad"
+dependencies = [
+ "csv-core",
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "csv-core"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "cxx"
+version = "1.0.93"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9c00419335c41018365ddf7e4d5f1c12ee3659ddcf3e01974650ba1de73d038"
+dependencies = [
+ "cc",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "link-cplusplus",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.93"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb8307ad413a98fff033c8545ecf133e3257747b3bae935e7602aab8aa92d4ca"
+dependencies = [
+ "cc",
+ "codespan-reporting",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn 2.0.4",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.93"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edc52e2eb08915cb12596d29d55f0b5384f00d697a646dbd269b6ecb0fbd9d31"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.93"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "631569015d0d8d54e6c241733f944042623ab6df7bc3be7466874b05fcdb1c5f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.4",
+]
+
+[[package]]
+name = "data-url"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a30bfce702bcfa94e906ef82421f2c0e61c076ad76030c16ee5d2e9a32fe193"
+dependencies = [
+ "matches",
+]
+
+[[package]]
+name = "dirs"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
+dependencies = [
+ "dirs-sys",
+]
+
+[[package]]
+name = "dirs-sys"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+dependencies = [
+ "libc",
+ "redox_users",
+ "winapi",
+]
+
+[[package]]
+name = "displaydoc"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "ecow"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e60e2840fbfc397c7972b11a6e6bd99a0248921cc1e31f293c5f6c5ac24831da"
+
+[[package]]
+name = "elsa"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f74077c3c3aedb99a2683919698285596662518ea13e5eedcf8bdd43b0d0453b"
+dependencies = [
+ "stable_deref_trait",
+]
+
+[[package]]
+name = "fancy-regex"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d6b8560a05112eb52f04b00e5d3790c0dd75d9d980eb8a122fb23b92a623ccf"
+dependencies = [
+ "bit-set",
+ "regex",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide 0.6.2",
+]
+
+[[package]]
+name = "float-cmp"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "form_urlencoded"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+dependencies = [
+ "percent-encoding",
+]
+
+[[package]]
+name = "fsevent-sys"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "getopts"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gif"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06"
+dependencies = [
+ "color_quant",
+ "weezl",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "hayagriva"
+version = "0.1.1"
+source = "git+https://github.com/typst/hayagriva#754efb7e1034bcd4d4f1366e432197edbbfb9ed5"
+dependencies = [
+ "biblatex",
+ "chrono",
+ "isolang",
+ "lazy_static",
+ "linked-hash-map",
+ "paste",
+ "regex",
+ "strum",
+ "thiserror",
+ "unic-langid",
+ "unicode-segmentation",
+ "url",
+ "yaml-rust",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "hypher"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0cf92443ef10ecfc1b8b4b65a93e31d983f020a355699d83874b12a7c797ac3"
+
+[[package]]
+name = "iai"
+version = "0.1.1"
+source = "git+https://github.com/reknih/iai#3f0f92736408ebce6545808b98e0cb2aea89b7dd"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.53"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
+dependencies = [
+ "cxx",
+ "cxx-build",
+]
+
+[[package]]
+name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "if_chain"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed"
+
+[[package]]
+name = "image"
+version = "0.24.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+ "gif",
+ "jpeg-decoder 0.3.0",
+ "num-rational",
+ "num-traits",
+ "png",
+]
+
+[[package]]
+name = "include_dir"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e"
+dependencies = [
+ "include_dir_macros",
+]
+
+[[package]]
+name = "include_dir_macros"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+]
+
+[[package]]
+name = "inotify"
+version = "0.9.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff"
+dependencies = [
+ "bitflags",
+ "inotify-sys",
+ "libc",
+]
+
+[[package]]
+name = "inotify-sys"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "isolang"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b64fd6448ee8a45ce6e4365c58e4fa7d8740cba2ed70db3e9ab4879ebd93eaaa"
+dependencies = [
+ "phf",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+
+[[package]]
+name = "jpeg-decoder"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9478aa10f73e7528198d75109c8be5cd7d15fb530238040148d5f9a22d4c5b3b"
+
+[[package]]
+name = "jpeg-decoder"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+
+[[package]]
+name = "js-sys"
+version = "0.3.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "kqueue"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98"
+dependencies = [
+ "kqueue-sys",
+ "libc",
+]
+
+[[package]]
+name = "kqueue-sys"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587"
+dependencies = [
+ "bitflags",
+ "libc",
+]
+
+[[package]]
+name = "kurbo"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a53776d271cfb873b17c618af0298445c88afc52837f3e948fa3fafd131f449"
+dependencies = [
+ "arrayvec 0.7.2",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.140"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
+
+[[package]]
+name = "link-cplusplus"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "linked-hash-map"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
+
+[[package]]
+name = "lipsum"
+version = "0.8.2"
+source = "git+https://github.com/reknih/lipsum#025427353ab32268daa3d96feda380a96db529c5"
+dependencies = [
+ "rand",
+ "rand_chacha",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "matches"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
+
+[[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.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+dependencies = [
+ "libc",
+ "log",
+ "wasi",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "notify"
+version = "5.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58ea850aa68a06e48fdb069c0ec44d0d64c8dbffa49bf3b6f7f0a901fdea1ba9"
+dependencies = [
+ "bitflags",
+ "crossbeam-channel",
+ "filetime",
+ "fsevent-sys",
+ "inotify",
+ "kqueue",
+ "libc",
+ "mio",
+ "walkdir",
+ "windows-sys 0.42.0",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[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"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "numerals"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e25be21376a772d15f97ae789845340a9651d3c4246ff5ebb6a2b35f9c37bd31"
+
+[[package]]
+name = "once_cell"
+version = "1.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+
+[[package]]
+name = "paste"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
+
+[[package]]
+name = "pdf-writer"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "249f9b33a3192626f2cd9f4b0cd66c1ec32d65968d58cf4d8239977feddddead"
+dependencies = [
+ "bitflags",
+ "itoa",
+ "ryu",
+]
+
+[[package]]
+name = "percent-encoding"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+
+[[package]]
+name = "phf"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
+dependencies = [
+ "phf_shared",
+]
+
+[[package]]
+name = "phf_shared"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "pico-args"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db8bcd96cb740d03149cbad5518db9fd87126a10ab519c011893b1754134c468"
+
+[[package]]
+name = "pixglyph"
+version = "0.1.0"
+source = "git+https://github.com/typst/pixglyph#e3ff0272d6723cdada91a00b0c99cda0e5adb56d"
+dependencies = [
+ "ttf-parser 0.18.1",
+]
+
+[[package]]
+name = "png"
+version = "0.17.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638"
+dependencies = [
+ "bitflags",
+ "crc32fast",
+ "flate2",
+ "miniz_oxide 0.6.2",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.52"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d0e1ae9e836cc3beddd63db0df682593d7e2d3d891ae8c9083d2113e1744224"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "pulldown-cmark"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63"
+dependencies = [
+ "bitflags",
+ "getopts",
+ "memchr",
+ "unicase",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+
+[[package]]
+name = "rctree"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ae028b272a6e99d9f8260ceefa3caa09300a8d6c8d2b2001316474bc52122e9"
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+dependencies = [
+ "getrandom",
+ "redox_syscall",
+ "thiserror",
+]
+
+[[package]]
+name = "regex"
+version = "1.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
+
+[[package]]
+name = "resvg"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e702d1e8e00a3a0717b96244cba840f34f542d8f23097c8903266c4e2975658"
+dependencies = [
+ "gif",
+ "jpeg-decoder 0.2.6",
+ "log",
+ "pico-args",
+ "png",
+ "rgb",
+ "svgtypes",
+ "tiny-skia",
+ "usvg",
+]
+
+[[package]]
+name = "rgb"
+version = "0.8.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59"
+dependencies = [
+ "bytemuck",
+]
+
+[[package]]
+name = "roxmltree"
+version = "0.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "921904a62e410e37e215c40381b7117f830d9d89ba60ab5236170541dd25646b"
+dependencies = [
+ "xmlparser",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
+
+[[package]]
+name = "rustybuzz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a617c811f5c9a7060fe511d35d13bf5b9f0463ce36d63ce666d05779df2b4eba"
+dependencies = [
+ "bitflags",
+ "bytemuck",
+ "smallvec",
+ "ttf-parser 0.15.2",
+ "unicode-bidi-mirroring",
+ "unicode-ccc",
+ "unicode-general-category",
+ "unicode-script",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+
+[[package]]
+name = "safe_arch"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1ff3d6d9696af502cc3110dacce942840fb06ff4514cad92236ecc455f2ce05"
+dependencies = [
+ "bytemuck",
+]
+
+[[package]]
+name = "same-file"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "scratch"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1"
+
+[[package]]
+name = "serde"
+version = "1.0.158"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "771d4d9c4163ee138805e12c710dd365e4f44be8be0503cb1bb9eb989425d9c9"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.158"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.4",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "serde_yaml"
+version = "0.8.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b"
+dependencies = [
+ "indexmap",
+ "ryu",
+ "serde",
+ "yaml-rust",
+]
+
+[[package]]
+name = "simplecss"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d"
+dependencies = [
+ "log",
+]
+
+[[package]]
+name = "siphasher"
+version = "0.3.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[package]]
+name = "strum"
+version = "0.24.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f"
+dependencies = [
+ "strum_macros",
+]
+
+[[package]]
+name = "strum_macros"
+version = "0.24.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "subsetter"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09eab8a83bff89ba2200bd4c59be45c7c787f988431b936099a5a266c957f2f9"
+
+[[package]]
+name = "svg2pdf"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd5736713f3850a24060c3cdd7ac9efdc0c5138779386c6c8975b46d54d2d3d5"
+dependencies = [
+ "image",
+ "miniz_oxide 0.5.4",
+ "pdf-writer",
+ "usvg",
+]
+
+[[package]]
+name = "svgtypes"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22975e8a2bac6a76bb54f898a6b18764633b00e780330f0b689f65afb3975564"
+dependencies = [
+ "siphasher",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c622ae390c9302e214c31013517c2061ecb2699935882c60a9b37f82f8625ae"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syntect"
+version = "5.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6c454c27d9d7d9a84c7803aaa3c50cd088d2906fe3c6e42da3209aa623576a8"
+dependencies = [
+ "bincode",
+ "bitflags",
+ "fancy-regex",
+ "flate2",
+ "fnv",
+ "lazy_static",
+ "once_cell",
+ "regex-syntax",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "thiserror",
+ "walkdir",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "thin-vec"
+version = "0.2.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aac81b6fd6beb5884b0cf3321b8117e6e5d47ecb6fc89f414cfdcca8b2fe2dd8"
+
+[[package]]
+name = "thiserror"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.4",
+]
+
+[[package]]
+name = "tiny-skia"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d049bfef0eaa2521e75d9ffb5ce86ad54480932ae19b85f78bec6f52c4d30d78"
+dependencies = [
+ "arrayref",
+ "arrayvec 0.5.2",
+ "bytemuck",
+ "cfg-if",
+ "png",
+ "safe_arch",
+]
+
+[[package]]
+name = "tinystr"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ac3f5b6856e931e15e07b478e98c8045239829a65f9156d4fa7e7788197a5ef"
+dependencies = [
+ "displaydoc",
+]
+
+[[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.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+[[package]]
+name = "ttf-parser"
+version = "0.15.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd"
+
+[[package]]
+name = "ttf-parser"
+version = "0.17.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "375812fa44dab6df41c195cd2f7fecb488f6c09fbaafb62807488cefab642bff"
+
+[[package]]
+name = "ttf-parser"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0609f771ad9c6155384897e1df4d948e692667cc0588548b68eb44d052b27633"
+
+[[package]]
+name = "typed-arena"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
+
+[[package]]
+name = "typst"
+version = "0.0.0"
+dependencies = [
+ "bitflags",
+ "bytemuck",
+ "comemo",
+ "ecow",
+ "flate2",
+ "if_chain",
+ "image",
+ "log",
+ "miniz_oxide 0.5.4",
+ "once_cell",
+ "pdf-writer",
+ "pixglyph",
+ "regex",
+ "resvg",
+ "roxmltree",
+ "rustybuzz",
+ "serde",
+ "siphasher",
+ "subsetter",
+ "svg2pdf",
+ "thin-vec",
+ "tiny-skia",
+ "ttf-parser 0.18.1",
+ "typst-macros",
+ "unicode-math-class",
+ "unicode-segmentation",
+ "unicode-xid",
+ "unscanny",
+ "usvg",
+ "xmp-writer",
+]
+
+[[package]]
+name = "typst-cli"
+version = "0.0.0"
+dependencies = [
+ "chrono",
+ "codespan-reporting",
+ "comemo",
+ "dirs",
+ "elsa",
+ "memmap2",
+ "notify",
+ "once_cell",
+ "pico-args",
+ "same-file",
+ "siphasher",
+ "typst",
+ "typst-library",
+ "walkdir",
+]
+
+[[package]]
+name = "typst-docs"
+version = "0.0.0"
+dependencies = [
+ "comemo",
+ "heck",
+ "include_dir",
+ "once_cell",
+ "pulldown-cmark",
+ "serde",
+ "serde_yaml",
+ "typst",
+ "typst-library",
+ "unicode_names2",
+ "unscanny",
+ "yaml-front-matter",
+]
+
+[[package]]
+name = "typst-library"
+version = "0.0.0"
+dependencies = [
+ "comemo",
+ "csv",
+ "ecow",
+ "hayagriva",
+ "hypher",
+ "kurbo",
+ "lipsum",
+ "log",
+ "once_cell",
+ "roxmltree",
+ "rustybuzz",
+ "serde_json",
+ "smallvec",
+ "syntect",
+ "ttf-parser 0.18.1",
+ "typed-arena",
+ "typst",
+ "unicode-bidi",
+ "unicode-math-class",
+ "unicode-script",
+ "unicode-segmentation",
+ "xi-unicode",
+]
+
+[[package]]
+name = "typst-macros"
+version = "0.0.0"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "unscanny",
+]
+
+[[package]]
+name = "typst-tests"
+version = "0.0.0"
+dependencies = [
+ "comemo",
+ "elsa",
+ "iai",
+ "once_cell",
+ "tiny-skia",
+ "ttf-parser 0.17.1",
+ "typst",
+ "typst-library",
+ "unscanny",
+ "walkdir",
+]
+
+[[package]]
+name = "unic-langid"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "398f9ad7239db44fd0f80fe068d12ff22d78354080332a5077dc6f52f14dcf2f"
+dependencies = [
+ "unic-langid-impl",
+]
+
+[[package]]
+name = "unic-langid-impl"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e35bfd2f2b8796545b55d7d3fd3e89a0613f68a0d1c8bc28cb7ff96b411a35ff"
+dependencies = [
+ "tinystr",
+]
+
+[[package]]
+name = "unicase"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+
+[[package]]
+name = "unicode-bidi-mirroring"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694"
+
+[[package]]
+name = "unicode-ccc"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1"
+
+[[package]]
+name = "unicode-general-category"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07547e3ee45e28326cc23faac56d44f58f16ab23e413db526debce3b0bfd2742"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
+
+[[package]]
+name = "unicode-math-class"
+version = "0.1.0"
+source = "git+https://github.com/typst/unicode-math-class#a7ac7dd75cd79ab2e0bdb629036cb913371608d2"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-script"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "unicode_names2"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "446c96c6dd42604779487f0a981060717156648c1706aa1f464677f03c6cc059"
+
+[[package]]
+name = "unscanny"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47"
+
+[[package]]
+name = "url"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "percent-encoding",
+]
+
+[[package]]
+name = "usvg"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a261d60a7215fa339482047cc3dafd4e22e2bf34396aaebef2b707355bbb39c0"
+dependencies = [
+ "base64",
+ "data-url",
+ "flate2",
+ "float-cmp",
+ "kurbo",
+ "log",
+ "pico-args",
+ "rctree",
+ "roxmltree",
+ "simplecss",
+ "siphasher",
+ "svgtypes",
+]
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "walkdir"
+version = "2.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.84"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
+
+[[package]]
+name = "weezl"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[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_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[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_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[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_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "xi-unicode"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a"
+
+[[package]]
+name = "xmlparser"
+version = "0.13.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd"
+
+[[package]]
+name = "xmp-writer"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fd742bbbb930fc972b28bf66b7546dfbc7bb9a4c7924299df0ae6a5641fcadf"
+
+[[package]]
+name = "yaml-front-matter"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a94fb32d2b438e3fddf901fbfe9eb87b34d63853ca6c6da5d2ab7e27031e0bae"
+dependencies = [
+ "serde",
+ "serde_yaml",
+]
+
+[[package]]
+name = "yaml-rust"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
+dependencies = [
+ "linked-hash-map",
+]
diff --git a/pkgs/tools/typesetting/typst/default.nix b/pkgs/tools/typesetting/typst/default.nix
new file mode 100644
index 000000000000..783a2bf4eb51
--- /dev/null
+++ b/pkgs/tools/typesetting/typst/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, stdenv
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "typst";
+  version = "22-03-21-2";
+
+  src = fetchFromGitHub {
+    owner = "typst";
+    repo = "typst";
+    rev = version;
+    hash = "sha256-bJPGs/Bd9nKYDrCCaFT+20+1wTN4YdkV8bGrtOCR4tM=";
+  };
+
+  cargoLock = {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "biblatex-0.6.3" = "sha256-TfH2tk7B61HHqpdGY48TdPKelp4+78x+8LRFobAg8QA=";
+      "comemo-macros-0.1.0" = "sha256-zg056kUc8sVLQ8vvT4uOuRJnyrCORsGYUvsjBJEkFPg=";
+      "hayagriva-0.1.1" = "sha256-HGQ+jNAnejxUBQNaqXPw57zfAC3qNXSWUVzDALZTXg0=";
+      "iai-0.1.1" = "sha256-EdNzCPht5chg7uF9O8CtPWR/bzSYyfYIXNdLltqdlR0=";
+      "lipsum-0.8.2" = "sha256-deIbpn4YM7/NeuJ5Co48ivJmxwrcsbLl6c3cP3JZxAQ=";
+      "pixglyph-0.1.0" = "sha256-8veNF3rzV21ayzk9gh2x0mQA8nHGM662ohvh084a0vk=";
+      "unicode-math-class-0.1.0" = "sha256-NkwDzj1SfUe570UcfotmVP6bIEYwiegZd0j8TPEWoOk=";
+    };
+  };
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.CoreServices
+  ];
+
+  cargoBuildFlags = [ "-p" "typst-cli" ];
+  cargoTestFlags = [ "-p" "typst-cli" ];
+
+  # the build script tries to get the revision using git
+  # which overwrites the environment variable set below
+  postPatch = ''
+    rm cli/build.rs
+  '';
+
+  # git revision used for `--version`
+  # https://github.com/typst/typst/blob/b934a2fd83d63fc115c01f959e888c7bc1aa87e4/cli/build.rs#L7
+  TYPST_HASH = "b934a2fd";
+
+  meta = with lib; {
+    description = "A new markup-based typesetting system that is powerful and easy to learn";
+    homepage = "https://typst.app";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ figsoda kanashimia ];
+  };
+}
diff --git a/pkgs/tools/virtualization/govc/default.nix b/pkgs/tools/virtualization/govc/default.nix
index 39aadcf8e384..767f7e31e5bd 100644
--- a/pkgs/tools/virtualization/govc/default.nix
+++ b/pkgs/tools/virtualization/govc/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "govc";
-  version = "0.30.2";
+  version = "0.30.4";
 
   subPackages = [ "govc" ];
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "vmware";
     repo = "govmomi";
-    sha256 = "sha256-Jt71nrviElNj5UjWzdP51x3My59KAT+EtrQfodR3GfA=";
+    sha256 = "sha256-lYiyZ2sY58bzUtqcM6WIsooLldQAxibASM7xXKAeqJM=";
   };
 
   vendorHash = "sha256-jbGqQITAhyBLoDa3cKU5gK+4WGgoGSCyFtzeoXx8e7k=";
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 9598310264d5..bc364eac457c 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -91,6 +91,7 @@ mapAliases ({
   arduino_core = throw "'arduino_core' has been renamed to/replaced by 'arduino-core'"; # Converted to throw 2022-02-22
   arora = throw "arora has been removed"; # Added 2020-09-09
   asciidocFull = throw "'asciidocFull' has been renamed to/replaced by 'asciidoc-full'"; # Converted to throw 2022-02-22
+  asls = throw "asls has been removed: abandoned by upstream"; # Added 2023-03-16
   asterisk_13 = throw "asterisk_13: Asterisk 13 is end of life and has been removed"; # Added 2022-04-06
   asterisk_15 = throw "asterisk_15: Asterisk 15 is end of life and has been removed"; # Added 2020-10-07
   asterisk_17 = throw "asterisk_17: Asterisk 17 is end of life and has been removed"; # Added 2022-04-06
@@ -113,6 +114,7 @@ mapAliases ({
   ### B ###
 
   badtouch = authoscope; # Project was renamed, added 20210626
+  baget = throw "'baget' has been removed due to being unmaintained";
   bar-xft = throw "'bar-xft' has been renamed to/replaced by 'lemonbar-xft'"; # Converted to throw 2022-02-22
   bashCompletion = throw "'bashCompletion' has been renamed to/replaced by 'bash-completion'"; # Converted to throw 2022-02-22
   bashInteractive_5 = bashInteractive; # Added 2021-08-20
@@ -415,6 +417,8 @@ mapAliases ({
 
   electrum-dash = throw "electrum-dash has been removed from nixpkgs as the project is abandoned"; # Added 2022-01-01
 
+  elixir_ls = elixir-ls; # Added 2023-03-20
+
   # Emacs
   emacs28NativeComp = emacs28; # Added 2022-06-08
   emacs28Packages = emacs28.pkgs; # Added 2021-10-04
@@ -435,6 +439,11 @@ mapAliases ({
   enyo-doom = enyo-launcher; # Added 2022-09-09
   epoxy = libepoxy; # Added 2021-11-11
   epsxe = throw "epsxe has been removed from nixpkgs, as it was unmaintained."; # added 2021-12-15
+  inherit (beam.interpreters) erlangR25 erlangR24 erlangR23; # added 2023-03-21
+  erlang_21 = throw "erlangR21 has been removed in favor of newer versions."; # added 2023-03-21
+  erlangR21 = erlang_21;
+  erlang_22 = throw "erlangR22 has been removed in favor of newer versions."; # added 2023-03-21
+  erlangR22 = erlang_22;
   esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # Added 2021-04-12
   etcdctl = throw "'etcdctl' has been renamed to/replaced by 'etcd'"; # Converted to throw 2022-02-22
   eteroj.lv2 = throw "'eteroj.lv2' has been renamed to/replaced by 'open-music-kontrollers.eteroj'"; # Added 2022-03-09
@@ -636,6 +645,8 @@ mapAliases ({
   hardlink = throw "hardlink was merged into util-linux since 2019-06-14."; # Added 2022-08-12
   inherit (harePackages) hare harec; # Added 2022-08-10
   hawkthorne = throw "hawkthorne has been removed because it depended on a broken version of love"; # Added 2022-01-15
+  haxe_3_2 = throw "'haxe_3_2' has been removed because it is old and no longer used by any packages in nixpkgs"; # Added 2023-03-15
+  haxe_3_4 = throw "'haxe_3_4' has been removed because it is old and no longer used by any packages in nixpkgs"; # Added 2023-03-15
   hdr-plus = throw "hdr-plus has been removed because it is unmaintained, often breaks and no longer consumed as a dependency"; # Added 2022-11-08
   heapster = throw "Heapster is now retired. See https://github.com/kubernetes-retired/heapster/blob/master/docs/deprecation.md"; # Added 2022-04-05
   heimdalFull = throw "'heimdalFull' has been renamed to/replaced by 'heimdal'"; # Converted to throw 2022-02-22
@@ -1096,7 +1107,9 @@ mapAliases ({
   ocz-ssd-guru = throw "ocz-ssd-guru has been removed due to there being no source available"; # Added 2021-07-12
   odpdown = throw "odpdown has been removed because it lacks python3 support"; # Added 2022-04-25
   ofp = throw "ofp is not compatible with odp-dpdk";
+  ogre1_9 = throw "ogre1_9 has been removed, use ogre instead"; # Added 2023-03-22
   olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05
+  opa = throw "opa has been removed from nixpkgs as upstream has abandoned the project"; # Added 2023-03-21
   opam_1_2 = throw "'opam_1_2' has been renamed to/replaced by 'opam'"; # Added 2023-03-08
   openafs_1_8 = openafs; # Added 2022-08-22
   openbazaar = throw "openbazzar has been removed from nixpkgs as upstream has abandoned the project"; # Added 2022-01-06
@@ -1365,6 +1378,7 @@ mapAliases ({
   rfkill = throw "rfkill has been removed, as it's included in util-linux"; # Added 2020-08-23
   riak = throw "riak has been removed due to lack of maintainer to update the package"; # Added 2022-06-22
   riak-cs = throw "riak-cs is not maintained anymore"; # Added 2020-10-14
+  rigsofrods = rigsofrods-bin; # Added 2023-03-22
   rimshot = throw "rimshot has been removed, because it is broken and no longer maintained upstream"; # Added 2022-01-15
   ring-daemon = jami-daemon; # Added 2021-10-26
   rkt = throw "rkt was archived by upstream"; # Added 2020-05-16
@@ -1578,7 +1592,7 @@ mapAliases ({
   truecrypt = throw "'truecrypt' has been renamed to/replaced by 'veracrypt'"; # Converted to throw 2022-02-22
   tuijam = throw "tuijam has been removed because Google Play Music was discontinued"; # Added 2021-03-07
   turbo-geth = throw "turbo-geth has been renamed to erigon"; # Added 2021-08-08
-  tvbrowser-bin = throw "tvbrowser-bin was removed because it is now built from sources; use 'tvbrowser' instead"; # Added 2023-02-04
+  tvbrowser-bin = tvbrowser; # Added 2023-03-02
   twister = throw "twister has been removed: abandoned by upstream and python2-only"; # Added 2022-04-26
   tychus = throw "tychus has been dropped due to the lack of maintenance from upstream since 2018"; # Added 2022-06-03
   typora = throw "Newer versions of typora use anti-user encryption and refuse to start. As such it has been removed"; # Added 2021-09-11
@@ -1666,10 +1680,12 @@ mapAliases ({
   wxGTK = throw "wxGTK28 has been removed from nixpkgs as it has reached end of life"; # Added 2022-11-04
   wxGTK28 = throw "wxGTK28 has been removed from nixpkgs as it has reached end of life"; # Added 2022-11-04
   wxGTK29 = throw "wxGTK29 has been removed from nixpkgs as it has reached end of life"; # Added 2022-11-04
-  wxGTK30-gtk2 = throw "'wxGTK30-gtk2' has been removed from nixpkgs as it depends on deprecated GTK2"; # Added 2022-12-03
-  wxGTK30-gtk3 = throw "'wxGTK30-gtk3' has been renamed to/replaced by 'wxGTK30'"; # Added 2022-12-03
+  wxGTK30 = throw "wxGTK30 has been removed from nixpkgs as it has reached end of life"; # Added 2023-03-22
+  wxGTK30-gtk2 = wxGTK30; # Added 2022-12-03
+  wxGTK30-gtk3 = wxGTK30; # Added 2022-12-03
   wxGTK31-gtk2 = throw "'wxGTK31-gtk2' has been removed from nixpkgs as it depends on deprecated GTK2"; # Added 2022-10-27
   wxGTK31-gtk3 = throw "'wxGTK31-gtk3' has been renamed to/replaced by 'wxGTK31'"; # Added 2022-10-27
+  wxmac = wxGTK30; # Added 2023-03-22
   wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared"; # Added 2022-01-31
   wxcam = throw "'wxcam' has seen no updates in ten years, crashes (SIGABRT) on startup and depends on deprecated wxGTK28/GNOME2/GTK2, use 'gnome.cheese'"; # Added 2022-06-15
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 37c573123715..1b72f6026898 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -408,6 +408,8 @@ with pkgs;
 
   chrysalis = callPackage ../applications/misc/chrysalis { };
 
+  ciel = callPackage ../tools/package-management/ciel { };
+
   circt = callPackage ../development/compilers/circt { };
 
   classicube = callPackage ../games/classicube { };
@@ -1900,6 +1902,10 @@ with pkgs;
 
   git-privacy = callPackage ../applications/version-management/git-privacy { };
 
+  git-ps-rs = callPackage ../development/tools/git-ps-rs {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   git-publish = python3Packages.callPackage ../applications/version-management/git-publish { };
 
   git-quick-stats = callPackage ../applications/version-management/git-quick-stats { };
@@ -1959,8 +1965,8 @@ with pkgs;
 
   git-town = callPackage ../applications/version-management/git-town { };
 
-  git-trim = callPackage ../applications/version-management/git-trim {
-    inherit (darwin.apple_sdk_11_0.frameworks) IOKit CoreFoundation;
+  git-trim = darwin.apple_sdk_11_0.callPackage ../applications/version-management/git-trim {
+    inherit (darwin.apple_sdk_11_0.frameworks) IOKit CoreFoundation Security;
   };
 
   git-up = callPackage ../applications/version-management/git-up {
@@ -2789,8 +2795,6 @@ with pkgs;
 
   ashpd-demo = callPackage ../development/tools/ashpd-demo { };
 
-  asls = callPackage ../development/tools/misc/asls { };
-
   astc-encoder = callPackage ../tools/graphics/astc-encoder { };
 
   asymptote = callPackage ../tools/graphics/asymptote {
@@ -2811,7 +2815,18 @@ with pkgs;
 
   audiowaveform = callPackage ../tools/audio/audiowaveform { };
 
-  authenticator = callPackage ../applications/misc/authenticator { };
+  authenticator = callPackage ../applications/misc/authenticator rec {
+    # Remove when GTK is upgraded past 4.8
+    # https://github.com/NixOS/nixpkgs/issues/216770
+    gtk4 = pkgs.gtk4.overrideAttrs (_: rec {
+      version = "4.9.4";
+      src = fetchurl {
+        url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
+        sha256 = "sha256-kaOv1YQB1OXYHjCwjuPxE6R2j/EBQDNqcqMmx3JyvjA=";
+      };
+    });
+    wrapGAppsHook4 = wrapGAppsHook.override { gtk3 = gtk4; };
+   };
 
   autoflake = with python3.pkgs; toPythonApplication autoflake;
 
@@ -3083,6 +3098,8 @@ with pkgs;
 
   cloudfox = callPackage ../tools/security/cloudfox { };
 
+  cloudhunter = callPackage ../tools/security/cloudhunter { };
+
   cloudsmith-cli = callPackage ../development/tools/cloudsmith-cli { };
 
   codeql = callPackage ../development/tools/analysis/codeql { };
@@ -3331,6 +3348,8 @@ with pkgs;
 
   gotktrix = callPackage ../applications/networking/instant-messengers/gotktrix { };
 
+  graphite-cli = nodePackages.graphite-cli;
+
   gucci = callPackage ../tools/text/gucci { };
 
   guglielmo = libsForQt5.callPackage ../applications/radio/guglielmo { };
@@ -3702,8 +3721,6 @@ with pkgs;
 
   badvpn = callPackage ../tools/networking/badvpn { };
 
-  baget = callPackage ../servers/web-apps/baget { };
-
   barcode = callPackage ../tools/graphics/barcode { };
 
   bashmount = callPackage ../tools/filesystems/bashmount { };
@@ -3813,6 +3830,8 @@ with pkgs;
 
   tensorflow-lite = callPackage ../development/libraries/science/math/tensorflow-lite { };
 
+  tiny-cuda-nn = callPackage ../development/libraries/science/math/tiny-cuda-nn { };
+
   tezos-rust-libs = callPackage ../development/libraries/tezos-rust-libs { };
 
   behave = with python3Packages; toPythonApplication behave;
@@ -4935,6 +4954,8 @@ with pkgs;
     stdenv = gcc9Stdenv;
   };
 
+  gpu-viewer = callPackage ../applications/misc/gpu-viewer { };
+
   greg = callPackage ../applications/audio/greg {
     pythonPackages = python3Packages;
   };
@@ -5613,9 +5634,7 @@ with pkgs;
 
   spacevim = callPackage ../applications/editors/spacevim { };
 
-  srvc = callPackage ../applications/version-management/srvc {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  srvc = callPackage ../applications/version-management/srvc { };
 
   ssmsh = callPackage ../tools/admin/ssmsh { };
 
@@ -5639,9 +5658,7 @@ with pkgs;
 
   string-machine = callPackage ../applications/audio/string-machine { };
 
-  stripe-cli = callPackage ../tools/admin/stripe-cli {
-    buildGoModule = buildGo118Module; # tests fail with 1.19
-  };
+  stripe-cli = callPackage ../tools/admin/stripe-cli { };
 
   bash-supergenpass = callPackage ../tools/security/bash-supergenpass { };
 
@@ -5903,6 +5920,8 @@ with pkgs;
 
   bogofilter = callPackage ../tools/misc/bogofilter { };
 
+  bom = callPackage ../tools/admin/bom { };
+
   bomber-go = callPackage ../development/tools/bomber-go { };
 
   bomutils = callPackage ../tools/archivers/bomutils { };
@@ -8147,9 +8166,7 @@ with pkgs;
 
   sbctl = callPackage ../tools/security/sbctl { };
 
-  sbsigntool = callPackage ../tools/security/sbsigntool {
-    openssl = openssl_1_1;
-  };
+  sbsigntool = callPackage ../tools/security/sbsigntool { };
 
   sonic-server = callPackage ../servers/search/sonic-server { };
 
@@ -8443,9 +8460,7 @@ with pkgs;
 
   httping = callPackage ../tools/networking/httping { };
 
-  httplz = callPackage ../tools/networking/httplz {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  httplz = callPackage ../tools/networking/httplz { };
 
   httpfs2 = callPackage ../tools/filesystems/httpfs { };
 
@@ -10243,17 +10258,17 @@ with pkgs;
   grocy = callPackage ../servers/grocy { };
 
   inherit (callPackage ../servers/nextcloud {})
-    nextcloud23 nextcloud24 nextcloud25;
+    nextcloud24 nextcloud25 nextcloud26;
 
-  nextcloud23Packages = ( callPackage ../servers/nextcloud/packages {
-    apps = lib.importJSON ../servers/nextcloud/packages/23.json;
-  });
   nextcloud24Packages = ( callPackage ../servers/nextcloud/packages {
     apps = lib.importJSON ../servers/nextcloud/packages/24.json;
   });
   nextcloud25Packages = ( callPackage ../servers/nextcloud/packages {
     apps = lib.importJSON ../servers/nextcloud/packages/25.json;
   });
+  nextcloud26Packages = ( callPackage ../servers/nextcloud/packages {
+    apps = lib.importJSON ../servers/nextcloud/packages/26.json;
+  });
 
   nextcloud-client = libsForQt5.callPackage ../applications/networking/nextcloud-client { };
 
@@ -11617,6 +11632,8 @@ with pkgs;
 
   rst2html5 = callPackage ../tools/text/rst2html5 { };
 
+  rst2pdf = with python3Packages; toPythonApplication rst2pdf;
+
   rstcheck = with python3Packages; toPythonApplication rstcheck;
 
   rt = callPackage ../servers/rt { };
@@ -13044,6 +13061,8 @@ with pkgs;
 
   typos = callPackage ../development/tools/typos { };
 
+  typst = callPackage ../tools/typesetting/typst { };
+
   tz = callPackage ../tools/misc/tz { };
 
   u9fs = callPackage ../servers/u9fs { };
@@ -13212,6 +13231,8 @@ with pkgs;
 
   vhd2vl = callPackage ../applications/science/electronics/vhd2vl { };
 
+  vhdl-ls = callPackage ../development/tools/language-servers/vhdl-ls { };
+
   video2midi = callPackage ../tools/audio/video2midi {
     pythonPackages = python3Packages;
   };
@@ -13375,6 +13396,8 @@ with pkgs;
 
   wimboot = callPackage ../tools/misc/wimboot { };
 
+  wit-bindgen = callPackage ../tools/misc/wit-bindgen { };
+
   wire = callPackage ../development/tools/wire { };
 
   wireguard-tools = callPackage ../tools/networking/wireguard-tools { };
@@ -15117,8 +15140,6 @@ with pkgs;
     haxe_4_2
     haxe_4_1
     haxe_4_0
-    haxe_3_4
-    haxe_3_2
     ;
 
   haxe = haxe_4_2;
@@ -15637,10 +15658,6 @@ with pkgs;
 
   ocsigen-i18n = callPackage ../development/tools/ocaml/ocsigen-i18n { };
 
-  opa = callPackage ../development/compilers/opa {
-    ocamlPackages = ocaml-ng.ocamlPackages_4_14_unsafe_string;
-  };
-
   opaline = callPackage ../development/tools/ocaml/opaline { };
 
   opam = callPackage ../development/tools/ocaml/opam {
@@ -15982,6 +15999,7 @@ with pkgs;
   cargo-llvm-cov = callPackage ../development/tools/rust/cargo-llvm-cov { };
   cargo-llvm-lines = callPackage ../development/tools/rust/cargo-llvm-lines { };
   cargo-lock = callPackage ../development/tools/rust/cargo-lock { };
+  cargo-machete = callPackage ../development/tools/rust/cargo-machete { };
   cargo-outdated = callPackage ../development/tools/rust/cargo-outdated {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration;
   };
@@ -15996,9 +16014,7 @@ with pkgs;
   cargo-tarpaulin = callPackage ../development/tools/analysis/cargo-tarpaulin {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
-  cargo-update = callPackage ../development/tools/rust/cargo-update {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  cargo-update = callPackage ../development/tools/rust/cargo-update { };
 
   cargo-asm = callPackage ../development/tools/rust/cargo-asm {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -16006,6 +16022,7 @@ with pkgs;
   cargo-binutils = callPackage ../development/tools/rust/cargo-binutils { };
   cargo-bloat = callPackage ../development/tools/rust/cargo-bloat { };
   cargo-bolero = callPackage ../development/tools/rust/cargo-bolero { };
+  cargo-bundle = callPackage ../development/tools/rust/cargo-bundle { };
   cargo-cache = callPackage ../development/tools/rust/cargo-cache {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -16423,8 +16440,6 @@ with pkgs;
 
   angelscript = callPackage ../development/interpreters/angelscript { };
 
-  angelscript_2_22 = callPackage ../development/interpreters/angelscript/2.22.nix { };
-
   babashka = callPackage ../development/interpreters/clojure/babashka.nix { };
 
   # BQN interpreters and compilers
@@ -16568,19 +16583,18 @@ with pkgs;
   };
 
   inherit (beam.interpreters)
-    erlang erlangR25 erlangR24 erlangR23 erlangR22 erlangR21
+    erlang erlang_25 erlang_24 erlang_23
     erlang_odbc erlang_javac erlang_odbc_javac
     elixir elixir_1_14 elixir_1_13 elixir_1_12 elixir_1_11 elixir_1_10
-    elixir_ls;
+    elixir-ls;
 
   erlang_nox = beam_nox.interpreters.erlang;
 
   inherit (beam.packages.erlang)
     erlang-ls erlfmt elvis-erlang
     rebar rebar3 rebar3WithPlugins
-    fetchHex beamPackages;
-
-  inherit (beam.packages.erlangR21) lfe lfe_1_3;
+    fetchHex beamPackages
+    lfe lfe_2_1;
 
   gnudatalanguage = callPackage ../development/interpreters/gnudatalanguage {
     inherit (llvmPackages) openmp;
@@ -17200,6 +17214,8 @@ with pkgs;
 
   adtool = callPackage ../tools/admin/adtool { };
 
+  aeron = callPackage ../servers/aeron { };
+
   inherit (callPackage ../development/tools/alloy { })
     alloy5
     alloy6
@@ -18880,6 +18896,8 @@ with pkgs;
 
   sqlcheck = callPackage ../development/tools/database/sqlcheck { };
 
+  sqlcmd = callPackage ../development/tools/database/sqlcmd { };
+
   sqlitebrowser = libsForQt5.callPackage ../development/tools/database/sqlitebrowser { };
 
   sqlite-utils = with python3Packages; toPythonApplication sqlite-utils;
@@ -19413,7 +19431,7 @@ with pkgs;
   c-blosc = callPackage ../development/libraries/c-blosc { };
 
   # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990
-  cachix = (haskell.lib.compose.justStaticExecutables haskellPackages.cachix).overrideAttrs(o: {
+  cachix = (haskell.lib.compose.justStaticExecutables haskell.packages.ghc94.cachix).overrideAttrs(o: {
     passthru = o.passthru or {} // {
       tests = o.passthru.tests or {} // {
         inherit hci;
@@ -19508,9 +19526,7 @@ with pkgs;
 
   chromaprint = callPackage ../development/libraries/chromaprint { };
 
-  cl = callPackage ../development/libraries/cl {
-    erlang = erlangR23;
-  };
+  cl = callPackage ../development/libraries/cl { };
 
   clanlib = callPackage ../development/libraries/clanlib { };
 
@@ -19798,6 +19814,8 @@ with pkgs;
 
   entt = callPackage ../development/libraries/entt { };
 
+  epoll-shim = callPackage ../development/libraries/epoll-shim { };
+
   libepoxy = callPackage ../development/libraries/libepoxy {
     inherit (darwin.apple_sdk.frameworks) Carbon OpenGL;
   };
@@ -20775,7 +20793,7 @@ with pkgs;
 
   ip2location-c = callPackage ../development/libraries/ip2location-c { };
 
-  irr1 = callPackage ../development/libraries/irr1 { };
+  iir1 = callPackage ../development/libraries/iir1 { };
 
   irrlicht = if !stdenv.isDarwin then
     callPackage ../development/libraries/irrlicht { }
@@ -20888,6 +20906,8 @@ with pkgs;
 
   kronosnet = callPackage ../development/libraries/kronosnet { };
 
+  ktextaddons = libsForQt5.callPackage ../development/libraries/ktextaddons {};
+
   l-smash = callPackage ../development/libraries/l-smash {
     stdenv = gccStdenv;
   };
@@ -20907,7 +20927,7 @@ with pkgs;
 
   lcm = callPackage ../development/libraries/lcm { };
 
-  lcms = lcms1;
+  lcms = lcms2;
 
   lcms1 = callPackage ../development/libraries/lcms { };
 
@@ -21338,6 +21358,8 @@ with pkgs;
 
   libgnurl = callPackage ../development/libraries/libgnurl { };
 
+  libgourou = callPackage ../development/libraries/libgourou { };
+
   libgringotts = callPackage ../development/libraries/libgringotts { };
 
   libgrss = callPackage ../development/libraries/libgrss {
@@ -22360,6 +22382,8 @@ with pkgs;
 
   live555 = callPackage ../development/libraries/live555 { };
 
+  llhttp = callPackage ../development/libraries/llhttp { };
+
   log4cpp = callPackage ../development/libraries/log4cpp { };
 
   log4cxx = callPackage ../development/libraries/log4cxx { };
@@ -22513,7 +22537,9 @@ with pkgs;
 
   minizip-ng = callPackage ../development/libraries/minizip-ng { };
 
-  mkvtoolnix = libsForQt5.callPackage ../applications/video/mkvtoolnix { };
+  mkvtoolnix = libsForQt5.callPackage ../applications/video/mkvtoolnix {
+    stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv;
+  };
 
   mkvtoolnix-cli = mkvtoolnix.override {
     withGUI = false;
@@ -22598,11 +22624,8 @@ with pkgs;
 
   mygui = callPackage ../development/libraries/mygui {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
-    ogre = ogre1_9;
   };
 
-  mysocketw = callPackage ../development/libraries/mysocketw { };
-
   mythes = callPackage ../development/libraries/mythes { };
 
   nanodbc = callPackage ../development/libraries/nanodbc { };
@@ -22754,13 +22777,8 @@ with pkgs;
   ogre = callPackage ../development/libraries/ogre {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
-  ogre1_9 = callPackage ../development/libraries/ogre/1.9.x.nix { };
   ogre1_10 = callPackage ../development/libraries/ogre/1.10.x.nix { };
 
-  ogrepaged = callPackage ../development/libraries/ogrepaged {
-    ogre = ogre1_9;
-  };
-
   olm = callPackage ../development/libraries/olm { };
 
   one_gadget = callPackage ../development/tools/misc/one_gadget { };
@@ -23897,6 +23915,8 @@ with pkgs;
 
   unicon-lang = callPackage ../development/interpreters/unicon-lang { };
 
+  updfparser = callPackage ../development/libraries/updfparser { };
+
   tsocks = callPackage ../development/libraries/tsocks { };
 
   unixODBC = callPackage ../development/libraries/unixODBC { };
@@ -24078,16 +24098,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
 
-  wxGTK30 = callPackage ../development/libraries/wxwidgets/wxGTK30.nix {
-    inherit (darwin.stubs) setfile;
-    inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit AVFoundation AVKit WebKit;
-  };
-
-  wxmac = callPackage ../development/libraries/wxwidgets/wxmac30.nix {
-    inherit (darwin.stubs) derez rez setfile;
-    inherit (darwin.apple_sdk.frameworks) AGL Cocoa Kernel WebKit;
-  };
-
   wxGTK31 = callPackage ../development/libraries/wxwidgets/wxGTK31.nix {
     inherit (darwin.stubs) setfile;
     inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit AVFoundation AVKit WebKit;
@@ -24732,7 +24742,7 @@ with pkgs;
   etcd_3_4 = callPackage ../servers/etcd/3.4.nix { };
   etcd_3_5 = callPackage ../servers/etcd/3.5.nix { };
 
-  ejabberd = callPackage ../servers/xmpp/ejabberd { erlang = erlangR24; };
+  ejabberd = callPackage ../servers/xmpp/ejabberd { erlang = erlang_24; };
 
   exhibitor = callPackage ../servers/exhibitor { };
 
@@ -24762,6 +24772,8 @@ with pkgs;
 
   exim = callPackage ../servers/mail/exim { };
 
+  fastnetmon-advanced = callPackage ../servers/fastnetmon-advanced { };
+
   fcgiwrap = callPackage ../servers/fcgiwrap { };
 
   fedigroups = callPackage ../servers/fedigroups {
@@ -25622,6 +25634,8 @@ with pkgs;
 
   sampler = callPackage ../applications/misc/sampler { };
 
+  scalr-cli = callPackage ../tools/admin/scalr-cli { };
+
   shairplay = callPackage ../servers/shairplay { avahi = avahi-compat; };
 
   shairport-sync = callPackage ../servers/shairport-sync { };
@@ -25917,17 +25931,16 @@ with pkgs;
 
   tinyalsa = callPackage ../os-specific/linux/tinyalsa { };
 
-  alsa-firmware = callPackage ../os-specific/linux/alsa-project/alsa-firmware { };
-  alsa-lib = callPackage ../os-specific/linux/alsa-project/alsa-lib { };
-  alsa-oss = callPackage ../os-specific/linux/alsa-project/alsa-oss { };
-  alsa-plugins = callPackage ../os-specific/linux/alsa-project/alsa-plugins { };
-  alsa-plugins-wrapper = callPackage ../os-specific/linux/alsa-project/alsa-plugins/wrapper.nix { };
-  alsa-tools = callPackage ../os-specific/linux/alsa-project/alsa-tools { };
-  alsa-topology-conf = callPackage ../os-specific/linux/alsa-project/alsa-topology-conf { };
-  alsa-ucm-conf = callPackage ../os-specific/linux/alsa-project/alsa-ucm-conf { };
-  alsa-utils = callPackage ../os-specific/linux/alsa-project/alsa-utils {
-    fftw = fftwFloat;
-  };
+  inherit (callPackage ../os-specific/linux/alsa-project { })
+    alsa-firmware
+    alsa-lib
+    alsa-oss
+    alsa-plugins
+    alsa-plugins-wrapper
+    alsa-tools
+    alsa-topology-conf
+    alsa-ucm-conf
+    alsa-utils;
 
   inherit (callPackage ../misc/arm-trusted-firmware {})
     buildArmTrustedFirmware
@@ -27353,6 +27366,8 @@ with pkgs;
 
   brise = callPackage ../data/misc/brise { };
 
+  bqn386 = callPackage ../data/fonts/bqn386 { };
+
   cacert = callPackage ../data/misc/cacert { };
 
   caladea = callPackage ../data/fonts/caladea { };
@@ -29730,6 +29745,8 @@ with pkgs;
 
   focus = callPackage ../tools/X11/focus { };
 
+  focus-stack = callPackage ../applications/graphics/focus-stack { };
+
   focuswriter = libsForQt5.callPackage ../applications/editors/focuswriter { };
 
   foliate = callPackage ../applications/office/foliate { };
@@ -31210,6 +31227,8 @@ with pkgs;
 
   kubectl-example = callPackage ../applications/networking/cluster/kubectl-example { };
 
+  kubectl-gadget = callPackage ../applications/networking/cluster/kubectl-gadget { };
+
   kubectl-images = callPackage ../applications/networking/cluster/kubectl-images { };
 
   kubectl-node-shell = callPackage ../applications/networking/cluster/kubectl-node-shell { };
@@ -31685,6 +31704,10 @@ with pkgs;
 
   miniaudicle = callPackage ../applications/audio/miniaudicle { stdenv = gcc10StdenvCompat; };
 
+  minidsp = callPackage ../applications/audio/minidsp {
+    inherit (darwin.apple_sdk.frameworks) AppKit IOKit;
+  };
+
   minicom = callPackage ../tools/misc/minicom { };
 
   minigalaxy = callPackage ../applications/misc/minigalaxy { };
@@ -33227,6 +33250,8 @@ with pkgs;
 
   shotgun = callPackage ../tools/graphics/shotgun { };
 
+  shot-scraper = callPackage ../tools/graphics/shot-scraper { };
+
   shutter = callPackage ../applications/graphics/shutter { };
 
   sic-image-cli = callPackage ../tools/graphics/sic-image-cli { };
@@ -34391,9 +34416,7 @@ with pkgs;
 
   wily = callPackage ../applications/editors/wily { };
 
-  wings = callPackage ../applications/graphics/wings {
-    erlang = erlangR21;
-  };
+  wings = callPackage ../applications/graphics/wings { };
 
   write_stylus = libsForQt5.callPackage ../applications/graphics/write_stylus { };
 
@@ -35193,6 +35216,8 @@ with pkgs;
 
   _90secondportraits = callPackage ../games/90secondportraits { love = love_0_10; };
 
+  aaaaxy = callPackage ../games/aaaaxy { };
+
   ace-of-penguins = callPackage ../games/ace-of-penguins { };
 
   among-sus = callPackage ../games/among-sus { };
@@ -36033,16 +36058,7 @@ with pkgs;
 
   rftg = callPackage ../games/rftg { };
 
-  rigsofrods = callPackage ../games/rigsofrods {
-    angelscript = angelscript_2_22;
-    ogre = ogre1_9;
-    ogrepaged = ogrepaged.override {
-      ogre = ogre1_9;
-    };
-    mygui = mygui.override {
-      withOgre = true;
-    };
-  };
+  rigsofrods-bin = callPackage ../games/rigsofrods-bin { };
 
   riko4 = callPackage ../games/riko4 { };
 
@@ -36191,7 +36207,7 @@ with pkgs;
   stt = callPackage ../tools/audio/stt { };
 
   stuntrally = callPackage ../games/stuntrally
-    { ogre = ogre1_9; mygui = mygui.override { withOgre = true; }; };
+    { };
 
   superTux = callPackage ../games/supertux { };
 
@@ -36879,6 +36895,8 @@ with pkgs;
 
   treemix = callPackage ../applications/science/biology/treemix { };
 
+  trf = callPackage ../applications/science/biology/trf { };
+
   trimal = callPackage ../applications/science/biology/trimal { };
 
   truvari = callPackage ../applications/science/biology/truvari { };
@@ -37283,7 +37301,9 @@ with pkgs;
   glom = callPackage ../applications/misc/glom { };
 
   glucose = callPackage ../applications/science/logic/glucose { };
-  glucose-syrup = callPackage ../applications/science/logic/glucose/syrup.nix { };
+  glucose-syrup = callPackage ../applications/science/logic/glucose {
+    enableUnfree = true;
+  };
 
   hol = callPackage ../applications/science/logic/hol { };
 
@@ -38182,11 +38202,11 @@ with pkgs;
   # Exceptions are versions that we need to keep to allow upgrades from older NixOS releases
   inherit (callPackage ../applications/networking/cluster/kops {})
     mkKops
-    kops_1_23
     kops_1_24
     kops_1_25
+    kops_1_26
     ;
-  kops = kops_1_25;
+  kops = kops_1_26;
 
   lguf-brightness = callPackage ../misc/lguf-brightness { };
 
@@ -38413,7 +38433,9 @@ with pkgs;
 
   nix-query-tree-viewer = callPackage ../tools/nix/nix-query-tree-viewer { };
 
-  nix-update = python3Packages.callPackage ../tools/package-management/nix-update { };
+  nix-update = callPackage ../tools/package-management/nix-update {
+    python3 = python311;
+  };
 
   nix-update-source = callPackage ../tools/package-management/nix-update-source { };
 
@@ -38549,8 +38571,8 @@ with pkgs;
 
   physlock = callPackage ../misc/screensavers/physlock { };
 
-  pjsip = callPackage ../applications/networking/pjsip {
-    inherit (darwin.apple_sdk.frameworks) AppKit;
+  pjsip = darwin.apple_sdk_11_0.callPackage ../applications/networking/pjsip {
+    inherit (darwin.apple_sdk_11_0.frameworks) AppKit CoreFoundation Security;
   };
 
   pounce = callPackage ../servers/pounce { };
diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix
index c727db80db6a..9402bd668e79 100644
--- a/pkgs/top-level/beam-packages.nix
+++ b/pkgs/top-level/beam-packages.nix
@@ -12,12 +12,25 @@
 
 let
   self = beam;
+
+  # Aliases added 2023-03-21
+  versionLoop = f: lib.lists.foldr (version: acc: (f version) // acc) { } [ "25" "24" "23" ];
+
+  interpretersAliases = versionLoop (version: {
+    "erlangR${version}" = self.interpreters."erlang_${version}";
+    "erlangR${version}_odbc" = self.interpreters."erlang_${version}_odbc";
+    "erlangR${version}_javac" = self.interpreters."erlang_${version}_javac";
+    "erlangR${version}_odbc_javac" = self.interpreters."erlang_${version}_odbc_javac";
+  });
+
+  packagesAliases = versionLoop (version: { "erlangR${version}" = self.packages."erlang_${version}"; });
+
 in
 
 {
   beamLib = callPackage ../development/beam-modules/lib.nix { };
 
-  latestVersion = "erlangR25";
+  latestVersion = "erlang_25";
 
   # Each
   interpreters = {
@@ -29,37 +42,34 @@ in
 
     # Standard Erlang versions, using the generic builder.
 
-    # R25
-    erlangR25 = self.beamLib.callErlang ../development/interpreters/erlang/R25.nix {
+    erlang_25 = self.beamLib.callErlang ../development/interpreters/erlang/25.nix {
       wxGTK = wxGTK32;
       parallelBuild = true;
       autoconf = buildPackages.autoconf269;
       inherit wxSupport systemdSupport;
     };
-    erlangR25_odbc = self.interpreters.erlangR25.override { odbcSupport = true; };
-    erlangR25_javac = self.interpreters.erlangR25.override { javacSupport = true; };
-    erlangR25_odbc_javac = self.interpreters.erlangR25.override {
+    erlang_25_odbc = self.interpreters.erlang_25.override { odbcSupport = true; };
+    erlang_25_javac = self.interpreters.erlang_25.override { javacSupport = true; };
+    erlang_25_odbc_javac = self.interpreters.erlang_25.override {
       javacSupport = true;
       odbcSupport = true;
     };
 
-    # R24
-    erlangR24 = self.beamLib.callErlang ../development/interpreters/erlang/R24.nix {
+    erlang_24 = self.beamLib.callErlang ../development/interpreters/erlang/24.nix {
       wxGTK = wxGTK32;
       # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508
       parallelBuild = true;
       autoconf = buildPackages.autoconf269;
       inherit wxSupport systemdSupport;
     };
-    erlangR24_odbc = self.interpreters.erlangR24.override { odbcSupport = true; };
-    erlangR24_javac = self.interpreters.erlangR24.override { javacSupport = true; };
-    erlangR24_odbc_javac = self.interpreters.erlangR24.override {
+    erlang_24_odbc = self.interpreters.erlang_24.override { odbcSupport = true; };
+    erlang_24_javac = self.interpreters.erlang_24.override { javacSupport = true; };
+    erlang_24_odbc_javac = self.interpreters.erlang_24.override {
       javacSupport = true;
       odbcSupport = true;
     };
 
-    # R23
-    erlangR23 = self.beamLib.callErlang ../development/interpreters/erlang/R23.nix {
+    erlang_23 = self.beamLib.callErlang ../development/interpreters/erlang/23.nix {
       openssl = openssl_1_1;
       wxGTK = wxGTK32;
       # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508
@@ -67,51 +77,19 @@ in
       autoconf = buildPackages.autoconf269;
       inherit wxSupport systemdSupport;
     };
-    erlangR23_odbc = self.interpreters.erlangR23.override { odbcSupport = true; };
-    erlangR23_javac = self.interpreters.erlangR23.override { javacSupport = true; };
-    erlangR23_odbc_javac = self.interpreters.erlangR23.override {
-      javacSupport = true;
-      odbcSupport = true;
-    };
-
-    # R22
-    erlangR22 = self.beamLib.callErlang ../development/interpreters/erlang/R22.nix {
-      openssl = openssl_1_1;
-      wxGTK = wxGTK32;
-      # Can be enabled since the bug has been fixed in https://github.com/erlang/otp/pull/2508
-      parallelBuild = true;
-      autoconf = buildPackages.autoconf269;
-      inherit wxSupport systemdSupport;
-    };
-    erlangR22_odbc = self.interpreters.erlangR22.override { odbcSupport = true; };
-    erlangR22_javac = self.interpreters.erlangR22.override { javacSupport = true; };
-    erlangR22_odbc_javac = self.interpreters.erlangR22.override {
-      javacSupport = true;
-      odbcSupport = true;
-    };
-
-    # R21
-    erlangR21 = self.beamLib.callErlang ../development/interpreters/erlang/R21.nix {
-      openssl = openssl_1_1;
-      wxGTK = wxGTK32;
-      autoconf = buildPackages.autoconf269;
-      inherit wxSupport systemdSupport;
-    };
-    erlangR21_odbc = self.interpreters.erlangR21.override { odbcSupport = true; };
-    erlangR21_javac = self.interpreters.erlangR21.override { javacSupport = true; };
-    erlangR21_odbc_javac = self.interpreters.erlangR21.override {
+    erlang_23_odbc = self.interpreters.erlang_23.override { odbcSupport = true; };
+    erlang_23_javac = self.interpreters.erlang_23.override { javacSupport = true; };
+    erlang_23_odbc_javac = self.interpreters.erlang_23.override {
       javacSupport = true;
       odbcSupport = true;
     };
 
     # Other Beam languages. These are built with `beam.interpreters.erlang`. To
     # access for example elixir built with different version of Erlang, use
-    # `beam.packages.erlangR24.elixir`.
+    # `beam.packages.erlang_24.elixir`.
     inherit (self.packages.erlang)
-      elixir elixir_1_14 elixir_1_13 elixir_1_12 elixir_1_11 elixir_1_10 elixir_ls;
-
-    inherit (self.packages.erlang) lfe lfe_1_3;
-  };
+      elixir elixir_1_14 elixir_1_13 elixir_1_12 elixir_1_11 elixir_1_10 elixir-ls lfe lfe_2_1;
+  } // interpretersAliases;
 
   # Helper function to generate package set with a specific Erlang version.
   packagesWith = erlang:
@@ -122,10 +100,8 @@ in
   packages = {
     erlang = self.packages.${self.latestVersion};
 
-    erlangR25 = self.packagesWith self.interpreters.erlangR25;
-    erlangR24 = self.packagesWith self.interpreters.erlangR24;
-    erlangR23 = self.packagesWith self.interpreters.erlangR23;
-    erlangR22 = self.packagesWith self.interpreters.erlangR22;
-    erlangR21 = self.packagesWith self.interpreters.erlangR21;
-  };
+    erlang_25 = self.packagesWith self.interpreters.erlang_25;
+    erlang_24 = self.packagesWith self.interpreters.erlang_24;
+    erlang_23 = self.packagesWith self.interpreters.erlang_23;
+  } // packagesAliases;
 }
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 7eda3c5ddca2..5941959a815b 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -475,7 +475,7 @@ in {
       ghc = bh.compiler.ghc944;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
     };
-    ghc94 = ghc942;
+    ghc94 = ghc944;
     ghc961 = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghc961;
       ghc = bh.compiler.ghc961;
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 14767d88c1f3..8ab653c6533e 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -46,7 +46,10 @@ let
           inherit sha256;
         };
         extraMeta = {
-          broken = kernel.meta.broken || (stdenv.isx86_64 && lib.versions.majorMinor version == "5.4");
+          broken =
+            kernel.meta.broken ||
+            lib.versions.majorMinor version == "4.14" ||
+            (stdenv.isx86_64 && lib.versionAtLeast version "4.19" && lib.versionOlder version "5.5");
         };
       };
       kernelPatches = kernel.kernelPatches ++ [
@@ -308,6 +311,8 @@ in {
 
     bbswitch = callPackage ../os-specific/linux/bbswitch {};
 
+    ch9344 = callPackage ../os-specific/linux/ch9344 { };
+
     chipsec = callPackage ../tools/security/chipsec {
       inherit kernel;
       withDriver = true;
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 4015e0013201..d1e599d8970f 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -8,11 +8,7 @@ let
   {
     inherit ocaml;
 
-    # Libs
-
-    buildOasisPackage = callPackage ../build-support/ocaml/oasis.nix { };
-
-    buildDunePackage = callPackage ../build-support/ocaml/dune.nix {};
+    ### A ###
 
     afl-persistent = callPackage ../development/ocaml-modules/afl-persistent { };
 
@@ -58,28 +54,36 @@ let
 
     awa-mirage = callPackage ../development/ocaml-modules/awa/mirage.nix { };
 
-    base64 = callPackage ../development/ocaml-modules/base64 { };
+    ### B ###
 
     bap = callPackage ../development/ocaml-modules/bap {
       inherit (pkgs.llvmPackages) llvm;
     };
 
+    base64 = callPackage ../development/ocaml-modules/base64 { };
+
     batteries = callPackage ../development/ocaml-modules/batteries { };
 
+    benchmark = callPackage ../development/ocaml-modules/benchmark { };
+
     bheap = callPackage ../development/ocaml-modules/bheap { };
 
     bigarray-compat = callPackage ../development/ocaml-modules/bigarray-compat { };
 
     bigarray-overlap = callPackage ../development/ocaml-modules/bigarray-overlap { };
 
-    bigstringaf = callPackage ../development/ocaml-modules/bigstringaf { };
-
     bigstring = callPackage ../development/ocaml-modules/bigstring { };
 
+    bigstringaf = callPackage ../development/ocaml-modules/bigstringaf { };
+
     bindlib = callPackage ../development/ocaml-modules/bindlib { };
 
+    biniou = callPackage ../development/ocaml-modules/biniou { };
+
     biocaml = callPackage ../development/ocaml-modules/biocaml { };
 
+    bisect_ppx = callPackage ../development/ocaml-modules/bisect_ppx { };
+
     bistro = callPackage ../development/ocaml-modules/bistro { };
 
     bitstring = callPackage ../development/ocaml-modules/bitstring { };
@@ -106,20 +110,24 @@ let
 
     bz2 = callPackage ../development/ocaml-modules/bz2 { };
 
+    ### C ###
+
     ca-certs = callPackage ../development/ocaml-modules/ca-certs { };
 
     ca-certs-nss = callPackage ../development/ocaml-modules/ca-certs-nss { };
 
-    carton = callPackage ../development/ocaml-modules/carton { };
+    cairo2 = callPackage ../development/ocaml-modules/cairo2 {
+      inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices;
+    };
 
-    carton-git = callPackage ../development/ocaml-modules/carton/git.nix { };
+    calendar = callPackage ../development/ocaml-modules/calendar { };
 
-    carton-lwt = callPackage ../development/ocaml-modules/carton/lwt.nix {
-      git-binary = pkgs.git;
-    };
+    callipyge = callPackage ../development/ocaml-modules/callipyge { };
 
     camlidl = callPackage ../development/tools/ocaml/camlidl { };
 
+    camlimages = callPackage ../development/ocaml-modules/camlimages { };
+
     camlp-streams = callPackage ../development/ocaml-modules/camlp-streams { };
 
     camlp4 =
@@ -134,33 +142,13 @@ let
 
     camlpdf = callPackage ../development/ocaml-modules/camlpdf { };
 
-    calendar = callPackage ../development/ocaml-modules/calendar { };
-
     camlzip = callPackage ../development/ocaml-modules/camlzip { };
 
-    camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { };
     camomile =
       if lib.versionOlder "4.02" ocaml.version
       then callPackage ../development/ocaml-modules/camomile { }
       else callPackage ../development/ocaml-modules/camomile/0.8.5.nix { };
-
-    camlimages = callPackage ../development/ocaml-modules/camlimages { };
-
-    class_group_vdf = callPackage ../development/ocaml-modules/class_group_vdf { };
-
-    benchmark = callPackage ../development/ocaml-modules/benchmark { };
-
-    biniou = callPackage ../development/ocaml-modules/biniou { };
-
-    bisect_ppx = callPackage ../development/ocaml-modules/bisect_ppx { };
-
-    ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
-
-    cairo2 = callPackage ../development/ocaml-modules/cairo2 {
-      inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices;
-    };
-
-    callipyge = callPackage ../development/ocaml-modules/callipyge { };
+    camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { };
 
     caqti = callPackage ../development/ocaml-modules/caqti { };
 
@@ -178,6 +166,14 @@ let
 
     caqti-type-calendar = callPackage ../development/ocaml-modules/caqti/type-calendar.nix { };
 
+    carton = callPackage ../development/ocaml-modules/carton { };
+
+    carton-git = callPackage ../development/ocaml-modules/carton/git.nix { };
+
+    carton-lwt = callPackage ../development/ocaml-modules/carton/lwt.nix {
+      git-binary = pkgs.git;
+    };
+
     cfstream = callPackage ../development/ocaml-modules/cfstream { };
 
     chacha = callPackage ../development/ocaml-modules/chacha { };
@@ -190,9 +186,7 @@ let
 
     cil = callPackage ../development/ocaml-modules/cil { };
 
-    cmdliner_1_0 = callPackage ../development/ocaml-modules/cmdliner/1_0.nix { };
-
-    cmdliner_1_1 = callPackage ../development/ocaml-modules/cmdliner/1_1.nix { };
+    class_group_vdf = callPackage ../development/ocaml-modules/class_group_vdf { };
 
     # The 1.1.0 release broke a lot of packages and is not compatible with
     # OCaml < 4.08.
@@ -201,6 +195,10 @@ let
       then cmdliner_1_1
       else cmdliner_1_0;
 
+    cmdliner_1_0 = callPackage ../development/ocaml-modules/cmdliner/1_0.nix { };
+
+    cmdliner_1_1 = callPackage ../development/ocaml-modules/cmdliner/1_1.nix { };
+
     cohttp = callPackage ../development/ocaml-modules/cohttp { };
 
     cohttp-async = callPackage ../development/ocaml-modules/cohttp/async.nix { };
@@ -211,6 +209,8 @@ let
 
     cohttp-mirage = callPackage ../development/ocaml-modules/cohttp/mirage.nix { };
 
+    coin =  callPackage ../development/ocaml-modules/coin { };
+
     color = callPackage ../development/ocaml-modules/color { };
 
     conduit = callPackage ../development/ocaml-modules/conduit { };
@@ -223,8 +223,6 @@ let
 
     conduit-mirage = callPackage ../development/ocaml-modules/conduit/mirage.nix { };
 
-    coin =  callPackage ../development/ocaml-modules/coin { };
-
     config-file = callPackage ../development/ocaml-modules/config-file { };
 
     containers = callPackage ../development/ocaml-modules/containers { };
@@ -265,13 +263,16 @@ let
 
     cstruct-unix = callPackage ../development/ocaml-modules/cstruct/unix.nix {};
 
-    csv =
-      if lib.versionAtLeast ocaml.version "4.2"
-      then callPackage ../development/ocaml-modules/csv { }
-      else callPackage ../development/ocaml-modules/csv/1.5.nix { };
+    csv = callPackage ../development/ocaml-modules/csv { };
 
     csv-lwt = callPackage ../development/ocaml-modules/csv/lwt.nix { };
 
+    ctypes = callPackage ../development/ocaml-modules/ctypes { };
+
+    ctypes_stubs_js = callPackage ../development/ocaml-modules/ctypes_stubs_js {
+      inherit (pkgs) nodejs;
+    };
+
     cudf = callPackage ../development/ocaml-modules/cudf { };
 
     curly = callPackage ../development/ocaml-modules/curly {
@@ -280,11 +281,7 @@ let
 
     curses = callPackage ../development/ocaml-modules/curses { };
 
-    ctypes = callPackage ../development/ocaml-modules/ctypes { };
-
-    ctypes_stubs_js = callPackage ../development/ocaml-modules/ctypes_stubs_js {
-      inherit (pkgs) nodejs;
-    };
+    ### D ###
 
     dap =  callPackage ../development/ocaml-modules/dap { };
 
@@ -338,6 +335,8 @@ let
 
     dose3 = callPackage ../development/ocaml-modules/dose3 { };
 
+    dot-merlin-reader = callPackage ../development/tools/ocaml/merlin/dot-merlin-reader.nix { };
+
     dscheck = callPackage ../development/ocaml-modules/dscheck { };
 
     dssi = callPackage ../development/ocaml-modules/dssi { };
@@ -390,6 +389,10 @@ let
 
     dyn =  callPackage ../development/ocaml-modules/dyn { };
 
+    dypgen = callPackage ../development/ocaml-modules/dypgen { };
+
+    ### E ###
+
     earley = callPackage ../development/ocaml-modules/earley { };
 
     earlybird = callPackage ../development/ocaml-modules/earlybird { };
@@ -414,10 +417,10 @@ let
       }
     );
 
-    encore = callPackage ../development/ocaml-modules/encore { };
-
     emile = callPackage ../development/ocaml-modules/emile { };
 
+    encore = callPackage ../development/ocaml-modules/encore { };
+
     eqaf = callPackage ../development/ocaml-modules/eqaf { };
 
     erm_xml = callPackage ../development/ocaml-modules/erm_xml { };
@@ -436,6 +439,8 @@ let
 
     ezxmlm = callPackage ../development/ocaml-modules/ezxmlm { };
 
+    ### F ###
+
     faad = callPackage ../development/ocaml-modules/faad { };
 
     facile = callPackage ../development/ocaml-modules/facile { };
@@ -457,7 +462,7 @@ let
     ff-sig = callPackage ../development/ocaml-modules/ff/sig.nix { };
 
     ffmpeg = callPackage ../development/ocaml-modules/ffmpeg { };
-    ffmpeg-avutil = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avutil.nix {
+    ffmpeg-av = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-av.nix {
       inherit (pkgs) ffmpeg;
       inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox;
     };
@@ -465,25 +470,25 @@ let
       inherit (pkgs) ffmpeg;
       inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox;
     };
+    ffmpeg-avdevice = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix {
+      inherit (pkgs) ffmpeg;
+      inherit (pkgs.darwin.apple_sdk.frameworks) AppKit AudioToolbox AVFoundation Cocoa CoreImage ForceFeedback OpenGL VideoToolbox;
+    };
     ffmpeg-avfilter = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avfilter.nix {
       inherit (pkgs) ffmpeg;
       inherit (pkgs.darwin.apple_sdk.frameworks) AppKit CoreImage OpenGL VideoToolbox;
     };
-    ffmpeg-swscale = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-swscale.nix {
+    ffmpeg-avutil = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avutil.nix {
       inherit (pkgs) ffmpeg;
-      inherit (pkgs.darwin.apple_sdk.frameworks) VideoToolbox;
+      inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox;
     };
     ffmpeg-swresample = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-swresample.nix {
       inherit (pkgs) ffmpeg;
       inherit (pkgs.darwin.apple_sdk.frameworks) VideoToolbox;
     };
-    ffmpeg-av = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-av.nix {
-      inherit (pkgs) ffmpeg;
-      inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox;
-    };
-    ffmpeg-avdevice = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix {
+    ffmpeg-swscale = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-swscale.nix {
       inherit (pkgs) ffmpeg;
-      inherit (pkgs.darwin.apple_sdk.frameworks) AppKit AudioToolbox AVFoundation Cocoa CoreImage ForceFeedback OpenGL VideoToolbox;
+      inherit (pkgs.darwin.apple_sdk.frameworks) VideoToolbox;
     };
 
     fiber = callPackage ../development/ocaml-modules/fiber { };
@@ -512,20 +517,46 @@ let
       inherit (pkgs) frei0r;
     };
 
+    frontc = callPackage ../development/ocaml-modules/frontc { };
+
     functoria = callPackage ../development/ocaml-modules/functoria { };
 
     functoria-runtime = callPackage ../development/ocaml-modules/functoria/runtime.nix { };
 
     functory = callPackage ../development/ocaml-modules/functory { };
 
+    ### G ###
+
+    gapi-ocaml = callPackage ../development/ocaml-modules/gapi-ocaml { };
+
     gd4o = callPackage ../development/ocaml-modules/gd4o { };
 
     gen = callPackage ../development/ocaml-modules/gen { };
 
+    gen_js_api = callPackage ../development/ocaml-modules/gen_js_api { };
+
     genspio = callPackage ../development/ocaml-modules/genspio { };
 
     getopt = callPackage ../development/ocaml-modules/getopt { };
 
+    gettext-camomile = callPackage ../development/ocaml-modules/ocaml-gettext/camomile.nix { };
+
+    gettext-stub = callPackage ../development/ocaml-modules/ocaml-gettext/stub.nix { };
+
+    gg = callPackage ../development/ocaml-modules/gg { };
+
+    git = callPackage ../development/ocaml-modules/git {
+      git-binary = pkgs.git;
+    };
+
+    git-mirage = callPackage ../development/ocaml-modules/git/mirage.nix { };
+
+    git-paf = callPackage ../development/ocaml-modules/git/paf.nix { };
+
+    git-unix = callPackage ../development/ocaml-modules/git/unix.nix {
+      git-binary = pkgs.git;
+    };
+
     gluten = callPackage ../development/ocaml-modules/gluten { };
     gluten-lwt = callPackage ../development/ocaml-modules/gluten/lwt.nix { };
     gluten-lwt-unix = callPackage ../development/ocaml-modules/gluten/lwt-unix.nix { };
@@ -536,6 +567,21 @@ let
       inherit (pkgs) gnuplot;
     };
 
+    graphics =
+    if lib.versionOlder "4.09" ocaml.version
+    then callPackage ../development/ocaml-modules/graphics { }
+    else null;
+
+    graphql = callPackage ../development/ocaml-modules/graphql { };
+
+    graphql-cohttp = callPackage ../development/ocaml-modules/graphql/cohttp.nix { };
+
+    graphql-lwt = callPackage ../development/ocaml-modules/graphql/lwt.nix { };
+
+    graphql_parser = callPackage ../development/ocaml-modules/graphql/parser.nix { };
+
+    graphql_ppx = callPackage ../development/ocaml-modules/graphql_ppx { };
+
     gsl = callPackage ../development/ocaml-modules/gsl {
       inherit (pkgs) gsl;
     };
@@ -544,6 +590,8 @@ let
       inherit (pkgs.darwin.apple_sdk.frameworks) AppKit Foundation;
     };
 
+    ### H ###
+
     h2 = callPackage ../development/ocaml-modules/h2 { };
 
     hack_parallel = callPackage ../development/ocaml-modules/hack_parallel { };
@@ -559,6 +607,8 @@ let
 
     hashcons = callPackage ../development/ocaml-modules/hashcons { };
 
+    hex = callPackage ../development/ocaml-modules/hex { };
+
     hidapi = callPackage ../development/ocaml-modules/hidapi { };
 
     higlo = callPackage ../development/ocaml-modules/higlo { };
@@ -571,10 +621,20 @@ let
 
     http-mirage-client = callPackage ../development/ocaml-modules/http-mirage-client { };
 
+    httpaf = callPackage ../development/ocaml-modules/httpaf { };
+
+    httpaf-lwt-unix = callPackage ../development/ocaml-modules/httpaf/lwt-unix.nix { };
+
     hxd = callPackage ../development/ocaml-modules/hxd { };
 
+    ### I ###
+
     imagelib = callPackage ../development/ocaml-modules/imagelib { };
 
+    index = callPackage ../development/ocaml-modules/index { };
+
+    inifiles = callPackage ../development/ocaml-modules/inifiles { };
+
     inotify = callPackage ../development/ocaml-modules/inotify { };
 
     integers = callPackage ../development/ocaml-modules/integers { };
@@ -589,57 +649,6 @@ let
 
     ipaddr-sexp = callPackage ../development/ocaml-modules/ipaddr/sexp.nix { };
 
-    iso8601 = callPackage ../development/ocaml-modules/iso8601 { };
-
-    iter = callPackage ../development/ocaml-modules/iter { };
-
-    javalib = callPackage ../development/ocaml-modules/javalib { };
-
-    dypgen = callPackage ../development/ocaml-modules/dypgen { };
-
-    gapi-ocaml = callPackage ../development/ocaml-modules/gapi-ocaml { };
-
-    gen_js_api = callPackage ../development/ocaml-modules/gen_js_api { };
-
-    gg = callPackage ../development/ocaml-modules/gg { };
-
-    git = callPackage ../development/ocaml-modules/git {
-      git-binary = pkgs.git;
-    };
-
-    git-mirage = callPackage ../development/ocaml-modules/git/mirage.nix { };
-
-    git-paf = callPackage ../development/ocaml-modules/git/paf.nix { };
-
-    git-unix = callPackage ../development/ocaml-modules/git/unix.nix {
-      git-binary = pkgs.git;
-    };
-
-    graphics =
-    if lib.versionOlder "4.09" ocaml.version
-    then callPackage ../development/ocaml-modules/graphics { }
-    else null;
-
-    graphql = callPackage ../development/ocaml-modules/graphql { };
-
-    graphql-cohttp = callPackage ../development/ocaml-modules/graphql/cohttp.nix { };
-
-    graphql-lwt = callPackage ../development/ocaml-modules/graphql/lwt.nix { };
-
-    graphql_parser = callPackage ../development/ocaml-modules/graphql/parser.nix { };
-
-    graphql_ppx = callPackage ../development/ocaml-modules/graphql_ppx { };
-
-    hex = callPackage ../development/ocaml-modules/hex { };
-
-    httpaf = callPackage ../development/ocaml-modules/httpaf { };
-
-    httpaf-lwt-unix = callPackage ../development/ocaml-modules/httpaf/lwt-unix.nix { };
-
-    index = callPackage ../development/ocaml-modules/index { };
-
-    inifiles = callPackage ../development/ocaml-modules/inifiles { };
-
     iri = callPackage ../development/ocaml-modules/iri { };
 
     irmin = callPackage ../development/ocaml-modules/irmin { };
@@ -670,6 +679,59 @@ let
 
     irmin-watcher = callPackage ../development/ocaml-modules/irmin-watcher { };
 
+    iso8601 = callPackage ../development/ocaml-modules/iso8601 { };
+
+    iter = callPackage ../development/ocaml-modules/iter { };
+
+    ### J ###
+
+    # Jane Street
+    janePackage =
+      if lib.versionOlder "4.10.2" ocaml.version
+      then callPackage ../development/ocaml-modules/janestreet/janePackage_0_15.nix {}
+      else if lib.versionOlder "4.08" ocaml.version
+      then callPackage ../development/ocaml-modules/janestreet/janePackage_0_14.nix {}
+      else if lib.versionOlder "4.07" ocaml.version
+      then callPackage ../development/ocaml-modules/janestreet/janePackage_0_12.nix {}
+      else callPackage ../development/ocaml-modules/janestreet/janePackage.nix {};
+
+    janeStreet =
+      if lib.versionOlder "4.10.2" ocaml.version
+      then import ../development/ocaml-modules/janestreet/0.15.nix {
+        inherit self;
+        inherit (pkgs) bash fetchpatch fzf lib openssl zstd;
+      }
+      else if lib.versionOlder "4.08" ocaml.version
+      then import ../development/ocaml-modules/janestreet/0.14.nix {
+        inherit self;
+        inherit (pkgs) fetchpatch lib openssl zstd;
+      }
+      else if lib.versionOlder "4.07" ocaml.version
+      then import ../development/ocaml-modules/janestreet/0.12.nix {
+        self = self // {
+          ppxlib = ppxlib.override { version = "0.8.1"; };
+        };
+        inherit (pkgs) openssl;
+      }
+      else import ../development/ocaml-modules/janestreet {
+        self = self // {
+          ppxlib = ppxlib.override { version = "0.8.1"; };
+        };
+        inherit (pkgs) openssl;
+      };
+
+    janeStreet_0_9_0 = import ../development/ocaml-modules/janestreet/old.nix {
+      self = self.janeStreet_0_9_0;
+      super = self // {
+        janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix {
+          defaultVersion = "0.9.0";
+        };
+      };
+      inherit (pkgs) stdenv lib openssl;
+    };
+
+    javalib = callPackage ../development/ocaml-modules/javalib { };
+
     jingoo = callPackage ../development/ocaml-modules/jingoo { };
 
     js_of_ocaml = callPackage ../development/tools/ocaml/js_of_ocaml { };
@@ -688,18 +750,22 @@ let
 
     js_of_ocaml-tyxml = callPackage ../development/tools/ocaml/js_of_ocaml/tyxml.nix {};
 
-    jsonm = callPackage ../development/ocaml-modules/jsonm { };
-
     json-data-encoding = callPackage ../development/ocaml-modules/json-data-encoding { };
 
     json-data-encoding-bson = callPackage ../development/ocaml-modules/json-data-encoding/bson.nix { };
 
+    jsonm = callPackage ../development/ocaml-modules/jsonm { };
+
+    jsonrpc = callPackage ../development/ocaml-modules/ocaml-lsp/jsonrpc.nix { };
+
     junit = callPackage ../development/ocaml-modules/junit { };
-    junit_ounit = callPackage ../development/ocaml-modules/junit/ounit.nix { };
     junit_alcotest = callPackage ../development/ocaml-modules/junit/alcotest.nix { };
+    junit_ounit = callPackage ../development/ocaml-modules/junit/ounit.nix { };
 
     jwto = callPackage ../development/ocaml-modules/jwto { };
 
+    ### K ###
+
     kafka = callPackage ../development/ocaml-modules/kafka { };
 
     kafka_lwt = callPackage ../development/ocaml-modules/kafka/lwt.nix { };
@@ -708,13 +774,9 @@ let
 
     kicadsch = callPackage ../development/ocaml-modules/kicadsch { };
 
-    lablgl = callPackage ../development/ocaml-modules/lablgl { };
-
-    lablgtk3 = callPackage ../development/ocaml-modules/lablgtk3 { };
-
-    lablgtk3-gtkspell3 = callPackage ../development/ocaml-modules/lablgtk3/gtkspell3.nix { };
+    ### L ###
 
-    lablgtk3-sourceview3 = callPackage ../development/ocaml-modules/lablgtk3/sourceview3.nix { };
+    lablgl = callPackage ../development/ocaml-modules/lablgl { };
 
     lablgtk = callPackage ../development/ocaml-modules/lablgtk {
       inherit (pkgs.gnome2) libgnomecanvas gtksourceview;
@@ -725,6 +787,12 @@ let
       then callPackage ../development/ocaml-modules/lablgtk-extras { }
       else callPackage ../development/ocaml-modules/lablgtk-extras/1.4.nix { };
 
+    lablgtk3 = callPackage ../development/ocaml-modules/lablgtk3 { };
+
+    lablgtk3-gtkspell3 = callPackage ../development/ocaml-modules/lablgtk3/gtkspell3.nix { };
+
+    lablgtk3-sourceview3 = callPackage ../development/ocaml-modules/lablgtk3/sourceview3.nix { };
+
     labltk = callPackage ../development/ocaml-modules/labltk {
       inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
     };
@@ -733,12 +801,12 @@ let
 
     ladspa = callPackage ../development/ocaml-modules/ladspa { };
 
+    lambda-term = callPackage ../development/ocaml-modules/lambda-term { };
+
     lambdapi = callPackage ../development/ocaml-modules/lambdapi { };
 
     lambdasoup = callPackage ../development/ocaml-modules/lambdasoup { };
 
-    lambda-term = callPackage ../development/ocaml-modules/lambda-term { };
-
     lame = callPackage ../development/ocaml-modules/lame {
       inherit (pkgs) lame;
     };
@@ -777,6 +845,8 @@ let
 
     lru = callPackage ../development/ocaml-modules/lru { };
 
+    lsp = callPackage ../development/ocaml-modules/ocaml-lsp/lsp.nix { };
+
     lua-ml = callPackage ../development/ocaml-modules/lua-ml { };
 
     lustre-v6 = callPackage ../development/ocaml-modules/lustre-v6 { };
@@ -787,20 +857,18 @@ let
       inherit (pkgs) file;
     };
 
+    lwd = callPackage ../development/ocaml-modules/lwd { };
+
     lwt = callPackage ../development/ocaml-modules/lwt { };
 
     lwt-canceler = callPackage ../development/ocaml-modules/lwt-canceler { };
 
-    ocaml_lwt = lwt;
-
     lwt_camlp4 = callPackage ../development/ocaml-modules/lwt/camlp4.nix { };
 
     lwt-dllist = callPackage ../development/ocaml-modules/lwt-dllist { };
 
     lwt-exit = callPackage ../development/ocaml-modules/lwt-exit { };
 
-    lwt-watcher = callPackage ../development/ocaml-modules/lwt-watcher { };
-
     lwt_log = callPackage ../development/ocaml-modules/lwt_log { };
 
     lwt_ppx = callPackage ../development/ocaml-modules/lwt/ppx.nix { };
@@ -809,6 +877,10 @@ let
 
     lwt_ssl = callPackage ../development/ocaml-modules/lwt_ssl { };
 
+    lwt-watcher = callPackage ../development/ocaml-modules/lwt-watcher { };
+
+    ### M ###
+
     macaddr = callPackage ../development/ocaml-modules/macaddr { };
 
     macaddr-cstruct = callPackage ../development/ocaml-modules/macaddr/cstruct.nix { };
@@ -850,8 +922,6 @@ let
 
     merlin-lib = callPackage ../development/tools/ocaml/merlin/lib.nix { };
 
-    dot-merlin-reader = callPackage ../development/tools/ocaml/merlin/dot-merlin-reader.nix { };
-
     metrics = callPackage ../development/ocaml-modules/metrics { };
 
     metrics-influx = callPackage ../development/ocaml-modules/metrics/influx.nix { };
@@ -978,12 +1048,20 @@ let
 
     mustache =  callPackage ../development/ocaml-modules/mustache { };
 
+    ### N ###
+
     netchannel = callPackage ../development/ocaml-modules/netchannel { };
 
     nonstd =  callPackage ../development/ocaml-modules/nonstd { };
 
     note = callPackage ../development/ocaml-modules/note { };
 
+    nottui = callPackage ../development/ocaml-modules/lwd/nottui.nix { };
+
+    nottui-lwt = callPackage ../development/ocaml-modules/lwd/nottui-lwt.nix { };
+
+    nottui-pretty = callPackage ../development/ocaml-modules/lwd/nottui-pretty.nix { };
+
     notty = callPackage ../development/ocaml-modules/notty { };
 
     npy = callPackage ../development/ocaml-modules/npy {
@@ -994,97 +1072,88 @@ let
       then callPackage ../development/ocaml-modules/num {}
       else null;
 
-    parmap = callPackage ../development/ocaml-modules/parmap { };
-
-    ocamlbuild =
-    if lib.versionOlder "4.03" ocaml.version then
-    callPackage ../development/tools/ocaml/ocamlbuild { }
-    else
-    null;
+    ### O ###
 
-    ocamlc-loc = callPackage ../development/ocaml-modules/ocamlc-loc { };
+    ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
 
     ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { };
 
     ocaml_expat =
-    if lib.versionAtLeast ocaml.version "4.02"
-    then callPackage ../development/ocaml-modules/expat { }
-    else callPackage ../development/ocaml-modules/expat/0.9.nix { };
-
-    frontc = callPackage ../development/ocaml-modules/frontc { };
-
-    ocamlformat-rpc-lib = callPackage ../development/ocaml-modules/ocamlformat-rpc-lib { };
-
-    ocamlfuse = callPackage ../development/ocaml-modules/ocamlfuse { };
+      if lib.versionAtLeast ocaml.version "4.02"
+        then callPackage ../development/ocaml-modules/expat { }
+        else callPackage ../development/ocaml-modules/expat/0.9.nix { };
 
     ocaml-freestanding = callPackage ../development/ocaml-modules/ocaml-freestanding { };
 
     ocaml_gettext = callPackage ../development/ocaml-modules/ocaml-gettext { };
 
-    gettext-camomile = callPackage ../development/ocaml-modules/ocaml-gettext/camomile.nix { };
-
-    gettext-stub = callPackage ../development/ocaml-modules/ocaml-gettext/stub.nix { };
-
-    ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { };
-    ocamlgraph_gtk = callPackage ../development/ocaml-modules/ocamlgraph/gtk.nix { };
-
     ocaml_libvirt = callPackage ../development/ocaml-modules/ocaml-libvirt {
       inherit (pkgs.darwin.apple_sdk.frameworks) Foundation AppKit;
     };
 
-    ocamlify = callPackage ../development/tools/ocaml/ocamlify { };
-
-    ocamline = callPackage ../development/ocaml-modules/ocamline { };
-
-    jsonrpc = callPackage ../development/ocaml-modules/ocaml-lsp/jsonrpc.nix { };
-    lsp = callPackage ../development/ocaml-modules/ocaml-lsp/lsp.nix { };
     ocaml-lsp = callPackage ../development/ocaml-modules/ocaml-lsp { };
 
+    ocaml_lwt = lwt;
+
     ocaml-migrate-parsetree = ocaml-migrate-parsetree-1-8;
 
     ocaml-migrate-parsetree-1-8 = callPackage ../development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix { };
 
     ocaml-migrate-parsetree-2 = callPackage ../development/ocaml-modules/ocaml-migrate-parsetree/2.x.nix { };
 
-    ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
-
     ocaml-monadic = callPackage ../development/ocaml-modules/ocaml-monadic { };
 
     ocaml_mysql = callPackage ../development/ocaml-modules/mysql { };
 
-    ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { };
-
     ocaml_oasis = callPackage ../development/tools/ocaml/oasis { };
 
     ocaml_pcre = callPackage ../development/ocaml-modules/pcre {};
 
     ocaml-print-intf = callPackage ../development/ocaml-modules/ocaml-print-intf { };
 
-    ocaml-recovery-parser = callPackage ../development/tools/ocaml/ocaml-recovery-parser { };
-
-    pgocaml = callPackage ../development/ocaml-modules/pgocaml {};
-
-    pgocaml_ppx = callPackage ../development/ocaml-modules/pgocaml/ppx.nix {};
+    ocaml-protoc = callPackage ../development/ocaml-modules/ocaml-protoc { };
 
     ocaml-r = callPackage ../development/ocaml-modules/ocaml-r { };
 
-    ocaml-sat-solvers = callPackage ../development/ocaml-modules/ocaml-sat-solvers { };
-
-    ocamlscript = callPackage ../development/tools/ocaml/ocamlscript { };
+    ocaml-recovery-parser = callPackage ../development/tools/ocaml/ocaml-recovery-parser { };
 
-    ocamlsdl= callPackage ../development/ocaml-modules/ocamlsdl { };
+    ocaml-sat-solvers = callPackage ../development/ocaml-modules/ocaml-sat-solvers { };
 
     ocaml_sqlite3 = callPackage ../development/ocaml-modules/sqlite3 { };
 
     ocaml-syntax-shims = callPackage ../development/ocaml-modules/ocaml-syntax-shims { };
 
+    ocaml-version = callPackage ../development/ocaml-modules/ocaml-version { };
+
     ocaml-vdom = callPackage ../development/ocaml-modules/ocaml-vdom { };
 
-    syslog = callPackage ../development/ocaml-modules/syslog { };
+    ocamlbuild =
+      if lib.versionOlder "4.03" ocaml.version
+        then callPackage ../development/tools/ocaml/ocamlbuild { }
+        else null;
 
-    syslog-message = callPackage ../development/ocaml-modules/syslog-message { };
+    ocamlc-loc = callPackage ../development/ocaml-modules/ocamlc-loc { };
 
-    ocaml-version = callPackage ../development/ocaml-modules/ocaml-version { };
+    ocamlformat-rpc-lib = callPackage ../development/ocaml-modules/ocamlformat-rpc-lib { };
+
+    ocamlfuse = callPackage ../development/ocaml-modules/ocamlfuse { };
+
+    ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { };
+    ocamlgraph_gtk = callPackage ../development/ocaml-modules/ocamlgraph/gtk.nix { };
+
+    ocamlify = callPackage ../development/tools/ocaml/ocamlify { };
+
+    ocamline = callPackage ../development/ocaml-modules/ocamline { };
+
+    ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
+
+    ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { };
+
+    ocamlscript = callPackage ../development/tools/ocaml/ocamlscript { };
+
+    ocamlsdl = callPackage ../development/ocaml-modules/ocamlsdl { };
+
+    ocb-stubblr = callPackage ../development/ocaml-modules/ocb-stubblr { };
 
     ocf = callPackage ../development/ocaml-modules/ocf { };
 
@@ -1120,12 +1189,16 @@ let
 
     octavius = callPackage ../development/ocaml-modules/octavius { };
 
+    ocurl = callPackage ../development/ocaml-modules/ocurl { };
+
     odate = callPackage ../development/ocaml-modules/odate { };
 
     odoc = callPackage ../development/ocaml-modules/odoc { };
 
     odoc-parser = callPackage ../development/ocaml-modules/odoc-parser { };
 
+    ogg = callPackage ../development/ocaml-modules/ogg { };
+
     ojs = callPackage ../development/ocaml-modules/gen_js_api/ojs.nix { };
 
     omd = callPackage ../development/ocaml-modules/omd { };
@@ -1166,15 +1239,17 @@ let
 
     otr = callPackage ../development/ocaml-modules/otr { };
 
-    owee = callPackage ../development/ocaml-modules/owee { };
+    ounit = callPackage ../development/ocaml-modules/ounit { };
 
-    owl-base = callPackage ../development/ocaml-modules/owl-base { };
+    ounit2 = callPackage ../development/ocaml-modules/ounit2 { };
+
+    owee = callPackage ../development/ocaml-modules/owee { };
 
     owl = callPackage ../development/ocaml-modules/owl { };
 
-    ounit = callPackage ../development/ocaml-modules/ounit { };
+    owl-base = callPackage ../development/ocaml-modules/owl-base { };
 
-    ounit2 = callPackage ../development/ocaml-modules/ounit2 { };
+    ### P ###
 
     paf = callPackage ../development/ocaml-modules/paf { };
 
@@ -1182,6 +1257,10 @@ let
 
     paf-le = callPackage ../development/ocaml-modules/paf/le.nix { };
 
+    parany = callPackage ../development/ocaml-modules/parany { };
+
+    parmap = callPackage ../development/ocaml-modules/parmap { };
+
     parse-argv = callPackage ../development/ocaml-modules/parse-argv { };
 
     path_glob = callPackage ../development/ocaml-modules/path_glob { };
@@ -1192,6 +1271,10 @@ let
 
     pecu = callPackage ../development/ocaml-modules/pecu { };
 
+    pgocaml = callPackage ../development/ocaml-modules/pgocaml {};
+
+    pgocaml_ppx = callPackage ../development/ocaml-modules/pgocaml/ppx.nix {};
+
     pgsolver = callPackage ../development/ocaml-modules/pgsolver { };
 
     phylogenetics = callPackage ../development/ocaml-modules/phylogenetics { };
@@ -1206,6 +1289,10 @@ let
       inherit (pkgs) coreutils imagemagick;
     };
 
+    portaudio = callPackage ../development/ocaml-modules/portaudio {
+      inherit (pkgs) portaudio;
+    };
+
     posix-base = callPackage ../development/ocaml-modules/posix/base.nix { };
 
     posix-socket = callPackage ../development/ocaml-modules/posix/socket.nix { };
@@ -1220,112 +1307,12 @@ let
 
     pp = callPackage ../development/ocaml-modules/pp { };
 
+    pprint = callPackage ../development/ocaml-modules/pprint { };
+
     ppx_bap = callPackage ../development/ocaml-modules/ppx_bap { };
 
     ppx_bitstring = callPackage ../development/ocaml-modules/bitstring/ppx.nix { };
 
-    ppxlib = callPackage ../development/ocaml-modules/ppxlib { };
-
-    pratter = callPackage ../development/ocaml-modules/pratter { };
-
-    psmt2-frontend = callPackage ../development/ocaml-modules/psmt2-frontend { };
-
-    psq = callPackage ../development/ocaml-modules/psq { };
-
-    ptime = callPackage ../development/ocaml-modules/ptime { };
-
-    pulseaudio = callPackage ../development/ocaml-modules/pulseaudio {
-      inherit (pkgs) pulseaudio;
-    };
-
-    pure-splitmix = callPackage ../development/ocaml-modules/pure-splitmix { };
-
-    resource-pooling = callPackage ../development/ocaml-modules/resource-pooling { };
-
-    repr = callPackage ../development/ocaml-modules/repr { };
-
-    result = callPackage ../development/ocaml-modules/ocaml-result { };
-
-    rock = callPackage ../development/ocaml-modules/rock { };
-
-    rusage = callPackage ../development/ocaml-modules/rusage { };
-
-    sail = callPackage ../development/ocaml-modules/sail { };
-
-    samplerate = callPackage ../development/ocaml-modules/samplerate { };
-
-    secp256k1 = callPackage ../development/ocaml-modules/secp256k1 {
-      inherit (pkgs) secp256k1;
-    };
-
-    secp256k1-internal = callPackage ../development/ocaml-modules/secp256k1-internal { };
-
-    seq = callPackage ../development/ocaml-modules/seq { };
-
-    shine = callPackage ../development/ocaml-modules/shine {
-      inherit (pkgs) shine;
-    };
-
-    simple-diff = callPackage ../development/ocaml-modules/simple-diff { };
-
-    sosa = callPackage ../development/ocaml-modules/sosa { };
-
-    soundtouch = callPackage ../development/ocaml-modules/soundtouch {
-      inherit (pkgs) soundtouch;
-    };
-
-    spacetime_lib = callPackage ../development/ocaml-modules/spacetime_lib { };
-
-    speex = callPackage ../development/ocaml-modules/speex {
-      inherit (pkgs) speex;
-    };
-
-    tar-unix = callPackage ../development/ocaml-modules/tar/unix.nix { };
-
-    tar = callPackage ../development/ocaml-modules/tar { };
-
-    tcpip = callPackage ../development/ocaml-modules/tcpip { };
-
-    timed = callPackage ../development/ocaml-modules/timed { };
-
-    tiny_httpd = callPackage ../development/ocaml-modules/tiny_httpd { };
-
-    tsort = callPackage ../development/ocaml-modules/tsort { };
-
-    tuntap = callPackage ../development/ocaml-modules/tuntap { };
-
-    tyxml = callPackage ../development/ocaml-modules/tyxml { };
-
-    ulex = callPackage ../development/ocaml-modules/ulex { };
-
-    tls = callPackage ../development/ocaml-modules/tls { };
-
-    tls-async = callPackage ../development/ocaml-modules/tls/async.nix { };
-
-    tls-lwt = callPackage ../development/ocaml-modules/tls/lwt.nix { };
-
-    tls-mirage = callPackage ../development/ocaml-modules/tls/mirage.nix { };
-
-    torch = callPackage ../development/ocaml-modules/torch {
-      inherit (pkgs.python3Packages) torch;
-    };
-
-    ocaml-protoc = callPackage ../development/ocaml-modules/ocaml-protoc { };
-
-    ocb-stubblr = callPackage ../development/ocaml-modules/ocb-stubblr { };
-
-    ocurl = callPackage ../development/ocaml-modules/ocurl { };
-
-    ogg = callPackage ../development/ocaml-modules/ogg { };
-
-    parany = callPackage ../development/ocaml-modules/parany { };
-
-    portaudio = callPackage ../development/ocaml-modules/portaudio {
-      inherit (pkgs) portaudio;
-    };
-
-    pprint = callPackage ../development/ocaml-modules/pprint { };
-
     ppx_blob = callPackage ../development/ocaml-modules/ppx_blob { };
 
     ppx_cstruct = callPackage ../development/ocaml-modules/cstruct/ppx.nix { };
@@ -1336,22 +1323,21 @@ let
 
     ppx_deriving = callPackage ../development/ocaml-modules/ppx_deriving {};
 
+    ppx_deriving_cmdliner = callPackage ../development/ocaml-modules/ppx_deriving_cmdliner {};
+
     ppx_deriving_protobuf = callPackage ../development/ocaml-modules/ppx_deriving_protobuf {};
 
     ppx_deriving_rpc = callPackage ../development/ocaml-modules/ppx_deriving_rpc { };
 
-    ppx_deriving_yojson = callPackage ../development/ocaml-modules/ppx_deriving_yojson {};
-
     ppx_deriving_yaml = callPackage ../development/ocaml-modules/ppx_deriving_yaml {};
 
-    ppx_deriving_cmdliner = callPackage ../development/ocaml-modules/ppx_deriving_cmdliner {};
+    ppx_deriving_yojson = callPackage ../development/ocaml-modules/ppx_deriving_yojson {};
 
     ppx_gen_rec = callPackage ../development/ocaml-modules/ppx_gen_rec {};
 
     ppx_import = callPackage ../development/ocaml-modules/ppx_import {};
 
-    ppx_irmin = callPackage ../development/ocaml-modules/irmin/ppx.nix {
-    };
+    ppx_irmin = callPackage ../development/ocaml-modules/irmin/ppx.nix { };
 
     ppx_repr = callPackage ../development/ocaml-modules/repr/ppx.nix { };
 
@@ -1366,6 +1352,10 @@ let
 
     ppx_yojson_conv_lib = callPackage ../development/ocaml-modules/ppx_yojson_conv_lib {};
 
+    ppxlib = callPackage ../development/ocaml-modules/ppxlib { };
+
+    pratter = callPackage ../development/ocaml-modules/pratter { };
+
     prettym = callPackage ../development/ocaml-modules/prettym { };
 
     printbox = callPackage ../development/ocaml-modules/printbox { };
@@ -1378,22 +1368,38 @@ let
 
     promise_jsoo = callPackage ../development/ocaml-modules/promise_jsoo { };
 
+    psmt2-frontend = callPackage ../development/ocaml-modules/psmt2-frontend { };
+
+    psq = callPackage ../development/ocaml-modules/psq { };
+
+    ptime = callPackage ../development/ocaml-modules/ptime { };
+
     ptmap = callPackage ../development/ocaml-modules/ptmap { };
 
     ptset = callPackage ../development/ocaml-modules/ptset { };
 
+    pulseaudio = callPackage ../development/ocaml-modules/pulseaudio {
+      inherit (pkgs) pulseaudio;
+    };
+
+    pure-splitmix = callPackage ../development/ocaml-modules/pure-splitmix { };
+
     pyml = callPackage ../development/ocaml-modules/pyml { };
 
+    ### Q ###
+
+    qcheck = callPackage ../development/ocaml-modules/qcheck { };
+
     qcheck-alcotest = callPackage ../development/ocaml-modules/qcheck/alcotest.nix { };
 
     qcheck-core = callPackage ../development/ocaml-modules/qcheck/core.nix { };
 
     qcheck-ounit = callPackage ../development/ocaml-modules/qcheck/ounit.nix { };
 
-    qcheck = callPackage ../development/ocaml-modules/qcheck { };
-
     qtest = callPackage ../development/ocaml-modules/qtest { };
 
+    ### R ###
+
     randomconv = callPackage ../development/ocaml-modules/randomconv { };
 
     rdbg = callPackage ../development/ocaml-modules/rdbg { };
@@ -1412,7 +1418,9 @@ let
 
     reperf = callPackage ../development/ocaml-modules/reperf { };
 
-    rfc7748 = callPackage ../development/ocaml-modules/rfc7748 { };
+    repr = callPackage ../development/ocaml-modules/repr { };
+
+    resource-pooling = callPackage ../development/ocaml-modules/resource-pooling { };
 
     resto = callPackage ../development/ocaml-modules/resto { };
     resto-acl = callPackage ../development/ocaml-modules/resto/acl.nix { };
@@ -1423,9 +1431,15 @@ let
     resto-directory = callPackage ../development/ocaml-modules/resto/directory.nix { };
     resto-json = callPackage ../development/ocaml-modules/resto/json.nix { };
 
+    result = callPackage ../development/ocaml-modules/ocaml-result { };
+
+    rfc7748 = callPackage ../development/ocaml-modules/rfc7748 { };
+
     ringo = callPackage ../development/ocaml-modules/ringo { };
     ringo-lwt = callPackage ../development/ocaml-modules/ringo/lwt.nix { };
 
+    rock = callPackage ../development/ocaml-modules/rock { };
+
     rope = callPackage ../development/ocaml-modules/rope { };
 
     rosetta = callPackage ../development/ocaml-modules/rosetta { };
@@ -1438,22 +1452,58 @@ let
 
     rresult = callPackage ../development/ocaml-modules/rresult { };
 
+    rusage = callPackage ../development/ocaml-modules/rusage { };
+
+    ### S ###
+
     safepass = callPackage ../development/ocaml-modules/safepass { };
 
+    sail = callPackage ../development/ocaml-modules/sail { };
+
+    samplerate = callPackage ../development/ocaml-modules/samplerate { };
+
+    sawja = callPackage ../development/ocaml-modules/sawja { };
+
+    secp256k1 = callPackage ../development/ocaml-modules/secp256k1 {
+      inherit (pkgs) secp256k1;
+    };
+
+    secp256k1-internal = callPackage ../development/ocaml-modules/secp256k1-internal { };
+
     sedlex = callPackage ../development/ocaml-modules/sedlex { };
 
     semaphore-compat = callPackage ../development/ocaml-modules/semaphore-compat { };
 
     semver = callPackage ../development/ocaml-modules/semver { };
 
+    seq = callPackage ../development/ocaml-modules/seq { };
+
     sha = callPackage ../development/ocaml-modules/sha { };
 
     shared-memory-ring = callPackage ../development/ocaml-modules/shared-memory-ring { };
 
     shared-memory-ring-lwt = callPackage ../development/ocaml-modules/shared-memory-ring/lwt.nix { };
 
+    shine = callPackage ../development/ocaml-modules/shine {
+      inherit (pkgs) shine;
+    };
+
+    simple-diff = callPackage ../development/ocaml-modules/simple-diff { };
+
     sodium = callPackage ../development/ocaml-modules/sodium { };
 
+    sosa = callPackage ../development/ocaml-modules/sosa { };
+
+    soundtouch = callPackage ../development/ocaml-modules/soundtouch {
+      inherit (pkgs) soundtouch;
+    };
+
+    spacetime_lib = callPackage ../development/ocaml-modules/spacetime_lib { };
+
+    speex = callPackage ../development/ocaml-modules/speex {
+      inherit (pkgs) speex;
+    };
+
     spelll = callPackage ../development/ocaml-modules/spelll { };
 
     srt = callPackage ../development/ocaml-modules/srt {
@@ -1464,6 +1514,8 @@ let
 
     stdcompat = callPackage ../development/ocaml-modules/stdcompat { };
 
+    stdint = callPackage ../development/ocaml-modules/stdint { };
+
     stdlib-shims = callPackage ../development/ocaml-modules/stdlib-shims { };
 
     stdune = callPackage ../development/ocaml-modules/stdune { };
@@ -1472,10 +1524,22 @@ let
 
     stringext = callPackage ../development/ocaml-modules/stringext { };
 
+    syslog = callPackage ../development/ocaml-modules/syslog { };
+
+    syslog-message = callPackage ../development/ocaml-modules/syslog-message { };
+
+    ### T ###
+
     taglib = callPackage ../development/ocaml-modules/taglib {
       inherit (pkgs) taglib;
     };
 
+    tar = callPackage ../development/ocaml-modules/tar { };
+
+    tar-unix = callPackage ../development/ocaml-modules/tar/unix.nix { };
+
+    tcpip = callPackage ../development/ocaml-modules/tcpip { };
+
     tcslib = callPackage ../development/ocaml-modules/tcslib { };
 
     telegraml = callPackage ../development/ocaml-modules/telegraml { };
@@ -1494,10 +1558,26 @@ let
 
     theora = callPackage ../development/ocaml-modules/theora { };
 
+    timed = callPackage ../development/ocaml-modules/timed { };
+
+    tiny_httpd = callPackage ../development/ocaml-modules/tiny_httpd { };
+
+    tls = callPackage ../development/ocaml-modules/tls { };
+
+    tls-async = callPackage ../development/ocaml-modules/tls/async.nix { };
+
+    tls-lwt = callPackage ../development/ocaml-modules/tls/lwt.nix { };
+
+    tls-mirage = callPackage ../development/ocaml-modules/tls/mirage.nix { };
+
     toml = callPackage ../development/ocaml-modules/toml { };
 
     topkg = callPackage ../development/ocaml-modules/topkg { };
 
+    torch = callPackage ../development/ocaml-modules/torch {
+      inherit (pkgs.python3Packages) torch;
+    };
+
     trie = callPackage ../development/ocaml-modules/trie { };
 
     tsdl = callPackage ../development/ocaml-modules/tsdl {
@@ -1510,50 +1590,65 @@ let
 
     tsdl-ttf = callPackage ../development/ocaml-modules/tsdl-ttf { };
 
+    tsort = callPackage ../development/ocaml-modules/tsort { };
+
+    tuntap = callPackage ../development/ocaml-modules/tuntap { };
+
     twt = callPackage ../development/ocaml-modules/twt { };
 
+    tyxml = callPackage ../development/ocaml-modules/tyxml { };
+
+    tyxml-lwd = callPackage ../development/ocaml-modules/lwd/tyxml-lwd.nix { };
+
+    ### U ###
+
     uchar = callPackage ../development/ocaml-modules/uchar { };
 
     uecc = callPackage ../development/ocaml-modules/uecc { };
 
-    unix-errno = callPackage ../development/ocaml-modules/unix-errno { };
+    ulex = callPackage ../development/ocaml-modules/ulex { };
 
-    utop = callPackage ../development/tools/ocaml/utop { };
+    unionFind = callPackage ../development/ocaml-modules/unionFind { };
 
-    uuidm = callPackage ../development/ocaml-modules/uuidm { };
+    unix-errno = callPackage ../development/ocaml-modules/unix-errno { };
 
-    sawja = callPackage ../development/ocaml-modules/sawja { };
+    unstrctrd = callPackage ../development/ocaml-modules/unstrctrd { };
 
-    stdint = callPackage ../development/ocaml-modules/stdint { };
+    uri = callPackage ../development/ocaml-modules/uri { };
 
-    unionFind = callPackage ../development/ocaml-modules/unionFind { };
+    uri-sexp = callPackage ../development/ocaml-modules/uri/sexp.nix { };
 
-    unstrctrd = callPackage ../development/ocaml-modules/unstrctrd { };
+    utop = callPackage ../development/tools/ocaml/utop { };
 
     uucd = callPackage ../development/ocaml-modules/uucd { };
+
     uucp = callPackage ../development/ocaml-modules/uucp { };
-    uunf = callPackage ../development/ocaml-modules/uunf { };
 
-    uri = callPackage ../development/ocaml-modules/uri { };
+    uuidm = callPackage ../development/ocaml-modules/uuidm { };
 
-    uri-sexp = callPackage ../development/ocaml-modules/uri/sexp.nix { };
+    uunf = callPackage ../development/ocaml-modules/uunf { };
 
     uuseg = callPackage ../development/ocaml-modules/uuseg { };
+
     uutf = callPackage ../development/ocaml-modules/uutf { };
 
     uuuu = callPackage ../development/ocaml-modules/uuuu { };
 
+    ### V ###
+
     vchan = callPackage ../development/ocaml-modules/vchan { };
 
     vector = callPackage ../development/ocaml-modules/vector { };
 
     vg = callPackage ../development/ocaml-modules/vg { };
 
+    visitors = callPackage ../development/ocaml-modules/visitors { };
+
     vlq = callPackage ../development/ocaml-modules/vlq { };
 
     vorbis = callPackage ../development/ocaml-modules/vorbis { };
 
-    visitors = callPackage ../development/ocaml-modules/visitors { };
+    ### W ###
 
     wasm = callPackage ../development/ocaml-modules/wasm { };
 
@@ -1565,26 +1660,30 @@ let
 
     wtf8 = callPackage ../development/ocaml-modules/wtf8 { };
 
+    ### X ###
+
     x509 = callPackage ../development/ocaml-modules/x509 { };
 
     xdg = callPackage ../development/ocaml-modules/xdg { };
 
     xenstore = callPackage ../development/ocaml-modules/xenstore { };
 
+    xenstore-tool = callPackage ../development/ocaml-modules/xenstore-tool { };
+
     xenstore_transport = callPackage ../development/ocaml-modules/xenstore_transport { };
 
-    xenstore-tool = callPackage ../development/ocaml-modules/xenstore-tool { };
+    xml-light = callPackage ../development/ocaml-modules/xml-light { };
 
     xmlm = callPackage ../development/ocaml-modules/xmlm { };
 
     xmlplaylist = callPackage ../development/ocaml-modules/xmlplaylist { };
 
-    xml-light = callPackage ../development/ocaml-modules/xml-light { };
-
     xtmpl = callPackage ../development/ocaml-modules/xtmpl { };
 
     xtmpl_ppx = callPackage ../development/ocaml-modules/xtmpl/ppx.nix { };
 
+    ### Y ###
+
     yaml = callPackage ../development/ocaml-modules/yaml { };
 
     yaml-sexp = callPackage ../development/ocaml-modules/yaml/yaml-sexp.nix { };
@@ -1595,6 +1694,8 @@ let
 
     yuujinchou = callPackage ../development/ocaml-modules/yuujinchou { };
 
+    ### Z ###
+
     z3 = callPackage ../development/ocaml-modules/z3 {
       inherit (pkgs) z3;
     };
@@ -1607,60 +1708,24 @@ let
 
     zmq-lwt = callPackage ../development/ocaml-modules/zmq/lwt.nix { };
 
-    # Jane Street
+    ### Exceptional packages kept out of order ###
 
-    janePackage =
-      if lib.versionOlder "4.10.2" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/janePackage_0_15.nix {}
-      else if lib.versionOlder "4.08" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/janePackage_0_14.nix {}
-      else if lib.versionOlder "4.07" ocaml.version
-      then callPackage ../development/ocaml-modules/janestreet/janePackage_0_12.nix {}
-      else callPackage ../development/ocaml-modules/janestreet/janePackage.nix {};
-
-    janeStreet =
-    if lib.versionOlder "4.10.2" ocaml.version
-    then import ../development/ocaml-modules/janestreet/0.15.nix {
-      inherit self;
-      inherit (pkgs) bash fetchpatch fzf lib openssl zstd;
-    }
-    else if lib.versionOlder "4.08" ocaml.version
-    then import ../development/ocaml-modules/janestreet/0.14.nix {
-      inherit self;
-      inherit (pkgs) fetchpatch lib openssl zstd;
-    }
-    else if lib.versionOlder "4.07" ocaml.version
-    then import ../development/ocaml-modules/janestreet/0.12.nix {
-      self = self // {
-        ppxlib = ppxlib.override { version = "0.8.1"; };
-      };
-      inherit (pkgs) openssl;
-    }
-    else import ../development/ocaml-modules/janestreet {
-      self = self // {
-        ppxlib = ppxlib.override { version = "0.8.1"; };
-      };
-      inherit (pkgs) openssl;
-    };
+    # Libs
 
-    janeStreet_0_9_0 = import ../development/ocaml-modules/janestreet/old.nix {
-      self = self.janeStreet_0_9_0;
-      super = self // {
-        janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix {
-          defaultVersion = "0.9.0";
-        };
-      };
-      inherit (pkgs) stdenv lib openssl;
-    };
+    buildDunePackage = callPackage ../build-support/ocaml/dune.nix { };
 
-    # Apps / from all-packages
+    buildOasisPackage = callPackage ../build-support/ocaml/oasis.nix { };
 
-    ocamlnat = callPackage  ../development/ocaml-modules/ocamlnat { };
+    # Apps from all-packages, to be eventually removed
 
     google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { };
 
     hol_light = callPackage ../applications/science/logic/hol_light { };
 
+    ocamlnat = callPackage  ../development/ocaml-modules/ocamlnat { };
+
+    ### End ###
+
   })).overrideScope' liftJaneStreet;
 
 in let inherit (pkgs) callPackage; in rec
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 69b06d6ed22f..a6e747abbeca 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -391,7 +391,7 @@ let
       substituteInPlace Build.PL \
         --replace "gtk+-2.0" "gtk+-3.0"
     '';
-    propagatedBuildInputs = [ pkgs.pkg-config pkgs.gtk3 pkgs.wxGTK30 ModulePluggable ];
+    propagatedBuildInputs = [ pkgs.pkg-config pkgs.gtk3 pkgs.wxGTK32 ModulePluggable ];
     buildInputs = [ LWPProtocolHttps ];
     meta = {
       description = "Building, finding and using wxWidgets binaries";
@@ -26993,10 +26993,23 @@ let
     };
     patches = [
       (fetchpatch {
-        url = "https://aur.archlinux.org/cgit/aur.git/plain/gtk3.patch?h=perl-wx&id=a3776d3747e3767d1e0f6d37bdaabf087f779fea";
+        url = "https://sources.debian.org/data/main/libw/libwx-perl/1%3A0.9932-8/debian/patches/gtk3.patch";
         hash = "sha256-CokmRzDTFmEMN/jTKw9ECCPvi0mHt5+h8Ojg4Jgd7D4=";
       })
+      (fetchpatch {
+        url = "https://sources.debian.org/data/main/libw/libwx-perl/1%3A0.9932-8/debian/patches/wxWidgets_3.2_MakeMaker.patch";
+        hash = "sha256-kTJiCGv8yxQbgMych9yT2cOt+2bL1G4oJ0gehNcu0Rc=";
+      })
+      (fetchpatch {
+        url = "https://sources.debian.org/data/main/libw/libwx-perl/1%3A0.9932-8/debian/patches/wxWidgets_3.2_port.patch";
+        hash = "sha256-y9LMpcbm7p8+LZ2Hw3PA2jc7bHAFEu0QRa170XuseKw=";
+      })
     ];
+    # DND.c:453:15: error: incompatible integer to pointer conversion assigning to 'NativeFormat' (aka 'const __CFString *') from 'wxDataFormatId'
+    postPatch = ''
+      substituteInPlace ext/dnd/XS/DataObject.xs \
+        --replace "#ifdef __WXGTK20__" "#if wxUSE_GUI"
+    '';
     propagatedBuildInputs = [ AlienWxWidgets ];
     # Testing requires an X server:
     #   Error: Unable to initialize GTK, is DISPLAY set properly?"
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index b251be559dd4..a6afb78a7564 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -289,6 +289,8 @@ mapAliases ({
   weakrefmethod = throw "weakrefmethod was removed since it's not needed in Python >= 3.4"; # added 2022-12-01
   webapp2 = throw "webapp2 is unmaintained since 2012"; # added 2022-05-29
   websocket_client = websocket-client; # added 2021-06-15
+  wxPython_4_0 = throw "wxPython_4_0 has been removed, use wxPython_4_2 instead"; # added 2023-03-19
+  wxPython_4_1 = throw "wxPython_4_1 has been removed, use wxPython_4_2 instead"; # added 2023-03-19
   WSME = wsme; # added 2023-02-19
   xenomapper = throw "xenomapper was moved to pkgs.xenomapper"; # added 2021-12-31
   XlsxWriter = xlsxwriter; # added 2023-02-19
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index d900cef9ec56..4e7f2e055eed 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -7820,6 +7820,8 @@ self: super: with self; {
 
   py-nightscout = callPackage ../development/python-modules/py-nightscout { };
 
+  py-serializable = callPackage ../development/python-modules/py-serializable { };
+
   py-synologydsm-api = callPackage ../development/python-modules/py-synologydsm-api { };
 
   py-sneakers = callPackage ../development/python-modules/py-sneakers { };
@@ -11702,6 +11704,12 @@ self: super: with self; {
 
   timm = callPackage ../development/python-modules/timm { };
 
+  tiny-cuda-nn = toPythonModule (pkgs.tiny-cuda-nn.override {
+    cudaPackages = self.torch.cudaPackages;
+    python3Packages = self;
+    pythonSupport = true;
+  });
+
   tinycss2 = callPackage ../development/python-modules/tinycss2 { };
 
   tinycss = callPackage ../development/python-modules/tinycss { };
@@ -12596,20 +12604,6 @@ self: super: with self; {
 
   wurlitzer = callPackage ../development/python-modules/wurlitzer { };
 
-  wxPython_4_0 = callPackage ../development/python-modules/wxPython/4.0.nix {
-    inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox Carbon Cocoa CoreFoundation IOKit OpenGL;
-    wxGTK = pkgs.wxGTK30.override {
-      withWebKit = true;
-    };
-  };
-
-  wxPython_4_1 = callPackage ../development/python-modules/wxPython/4.1.nix {
-    inherit (pkgs.darwin.apple_sdk.frameworks) AGL AudioToolbox AVFoundation AVKit Carbon Cocoa CoreMedia CoreFoundation IOKit Kernel OpenGL Security WebKit;
-    wxGTK = pkgs.wxGTK31.override {
-      withWebKit = true;
-    };
-  };
-
   wxPython_4_2 = callPackage ../development/python-modules/wxPython/4.2.nix {
     wxGTK = pkgs.wxGTK32.override {
       withWebKit = true;